JP2013054787A - 情報処理装置、ライセンス判定方法、プログラム、及び記録媒体 - Google Patents

情報処理装置、ライセンス判定方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP2013054787A
JP2013054787A JP2012278778A JP2012278778A JP2013054787A JP 2013054787 A JP2013054787 A JP 2013054787A JP 2012278778 A JP2012278778 A JP 2012278778A JP 2012278778 A JP2012278778 A JP 2012278778A JP 2013054787 A JP2013054787 A JP 2013054787A
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.)
Granted
Application number
JP2012278778A
Other languages
English (en)
Other versions
JP5510535B2 (ja
Inventor
Taku Nagumo
拓 南雲
Hiroko Sugiura
裕子 杉浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2012278778A priority Critical patent/JP5510535B2/ja
Publication of JP2013054787A publication Critical patent/JP2013054787A/ja
Application granted granted Critical
Publication of JP5510535B2 publication Critical patent/JP5510535B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】アプリケーションを構成するプログラムモジュールに関するライセンスチェックによるアプリケーションの起動時間の増大を適切に抑制すること。
【解決手段】複数のプログラムモジュールより構成されるアプリケーションを起動可能な情報処理装置であって、前記プログラムモジュールごとに関連付けられている当該プログラムモジュールがライセンス管理の対象であるか否かを示す情報に基づいて、前記複数のプログラムモジュールのうちライセンス管理の対象とされるプログラムモジュールを識別可能なライセンス対象識別情報を生成するライセンス対象識別情報生成手段と、前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報に基づいて、ライセンス管理の対象であるプログラムモジュールに利用できないプログラムモジュールが含まれる場合には、当該プログラムモジュールの起動を制限する起動制限手段とを有する。
【選択図】図3

Description

本発明は、情報処理装置、ライセンス判定方法、プログラム、及び記録媒体に関する。
近年では、主に複合機又は融合機と呼ばれる画像形成装置において、その出荷後に新たなアプリケーションの開発及びインストールが可能とされているものがある。斯かるアプリケーションのライセンスを、ユーザの利用形態に合わせて提供することができればユーザにとって便宜であるばかりでなく、アプリケーションを販売する側にとってもビジネスチャンスの拡大を期待できる。
例えば、特許文献1には、アプリケーションを利用可能な画像形成装置を所定のものに限定することができるライセンス管理方法等が開示されている。特許文献1に係る技術によれば、アプリケーションを利用する台数に応じて課金額を変化させることができる。また、アプリケーションの不正コピーによる不正利用を適切に防止することができる。
ところで、一つのアプリケーションは、必ずしも一つのプログラムモジュールから構成されておらず、機能別にモジュール化された複数のプログラムモジュールから構成されている場合がある。このようなアプリケーションについて、ライセンス単位をプログラムモジュール単位とすれば、アプリケーションの一部の機能のみの利用を制限又は許可することができる。そうすることで、更に多様な製品形態を構成することができる。
しかしながら、ライセンス単位をプログラムモジュール単位とした場合、アプリケーションの起動時にプログラムモジュールごとにライセンスのチェックを行う必要がある。そうすると、多数のプログラムモジュールを含む巨大なアプリケーションについては、ライセンスチェックに要する時間が無視できないほど大きなものとなり、アプリケーションの起動時間が許容範囲を超えて増加してしまうという問題がある。
本発明は、上記の点に鑑みてなされたものであって、アプリケーションを構成するプログラムモジュールに関するライセンスチェックによるアプリケーションの起動時間の増大を適切に抑制することのできる情報処理装置、ライセンス判定方法、プログラム及び記録媒体の提供を目的とする。
そこで上記課題を解決するため、本発明は、複数のプログラムモジュールより構成されるアプリケーションを起動可能な情報処理装置であって、前記プログラムモジュールごとに関連付けられている当該プログラムモジュールがライセンス管理の対象であるか否かを示す情報に基づいて、前記複数のプログラムモジュールのうちライセンス管理の対象とされるプログラムモジュールを識別可能なライセンス対象識別情報を生成するライセンス対象識別情報生成手段と、前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報に基づいて、ライセンス管理の対象であるプログラムモジュールに利用できないプログラムモジュールが含まれる場合には、当該プログラムモジュールの起動を制限する起動制限手段とを有することを特徴とする。
このような情報処理装置では、アプリケーションを構成するプログラムモジュールに関するライセンスチェックによるアプリケーションの起動時間の増大を適切に抑制することができる。
本発明によれば、アプリケーションを構成するプログラムモジュールに関するライセンスチェックによるアプリケーションの起動時間の増大を適切に抑制することができる。
本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。 SDKプラットフォームにおけるライセンス管理機能とSDKアプリの構成例とを示す図である。 画像形成装置へのライセンスキーの導入手順を説明するための図である。 ライセンスキーの構成例を示す図である。 ライセンスリストの生成処理を説明するためのフローチャートである。 ライセンスリストの例を示す図である。 本実施の形態におけるSDKアプリのライフサイクルを説明するための状態遷移図である。 SDKアプリの起動時の処理手順を説明するためのフローチャートである。 ライセンスリストが無い場合のSDKアプリの起動時の処理手順を説明するための図である。 ライセンスリストによりSDKアプリの起動が高速化される理由を説明するための図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図1において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、ネットワークインタフェース15、及び操作パネル16等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を含む。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、画像データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース15は、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。操作パネル16は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。
図2は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、OS121、コントロールサービス122、及びアプリケーション123等のソフトウェアを有する。
OS121は、UNIX(登録商標)等のいわゆるOS(Operating System)であり、各種ソフトウェアをプロセス単位で並列的に起動する。
コントロールサービス122は、各種のハードウェアリソース等を制御するためのサービスを上位アプリケーション等に対して共通的に提供するソフトウェアモジュール群である。例えば、コントロールサービス122は、スキャナ12又はプリンタ13を制御するための手段や、モデム14又はネットワークインタフェース15を介した通信手段等を提供する。
アプリケーション123は、コントロールサービス122やOS121等を利用して、ユーザより要求された各種のジョブを画像形成装置10に実行させるプログラムである。アプリケーション123は、標準アプリ130とSDKアプリ140とに大別される。
標準アプリ130は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションをいう。図中では、コピージョブを制御するコピーアプリ131、スキャンジョブを制御するスキャンアプリ132、ファクス送信ジョブを制御するファクスアプリ133、印刷ジョブを制御するプリントアプリ134等が例示されている。
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(登録商標)言語によって記述されたプログラムに限定されない。
SDKプラットフォーム150は、SDKアプリ140の動作環境を提供するソフトウェアであり、例えば、Java(登録商標)仮想マシンや、Java(登録商標)ME(Micro Edition)において標準で提供されているクラス群やコントロールサービス122の機能をラッピングしたクラス群等を含む。また、SDKプラットフォーム150は、SDKアプリ140に関するライセンス管理を行う。例えば、SDKアプリ140は、各SDKアプリ140に対するライセンスキーを管理し、当該ライセンスキーに基づいてSDKアプリ140の起動制御等を行う。
図3は、SDKプラットフォームにおけるライセンス管理機能とSDKアプリの構成例とを示す図である。
同図に示されるように、一つのSDKアプリ140は、一つ以上の機能モジュール(例えば、JAR(Java(登録商標) Archive)等のプログラムモジュール)と機能モジュールごとに付随する(対応する)ライセンス情報ファイルを含む。機能モジュールの中にはライセンス情報ファイルが付随しないものも存在しうる。各機能モジュールは、当該機能モジュールの属するSDKアプリ140が実行するジョブを構成する一部の機能を実現する。ライセンス情報ファイルは、対応する機能モジュールに関するライセンスに関する情報(ライセンス情報)を含むファイルである。ライセンス情報は、例えば、機能モジュールの識別子 (機能名)、機能モジュールのファイル名、及び機能モジュールの表示名 (表示文字列)等より構成される。
同図のSDKアプリ140には、機能モジュールとして機能モジュール1401a、1401b、及び1401c(以下、総称する場合「機能モジュール1401」という。)が含まれている。また、ライセンス情報ファイルとしてライセンス情報ファイル1402a及びライセンス情報ファイル1402b(以下、総称する場合「ライセンス情報ファイル1402」という。)が含まれている。ライセンス情報ファイル1402aは、機能モジュール1401aに付随するライセンス情報ファイルである。ライセンス情報ファイル1402bは、機能モジュール1401bに付随するライセンス情報ファイルである。なお、機能モジュール1401cにはライセンス情報ファイルは付随していない。これは、機能モジュール1401cは、ライセンス対象ではないこと(ライセンスチェックが不要(例えば、ライセンスフリー)であること)を示す。
一方、SDKプラットフォーム150は、ライセンス導入部151、ライセンス管理部152、起動制御部153、暗号処理部154、及び真偽判定部155等を有する。
ライセンス導入部151は、ネットワークを介して接続するコンピュータよりライセンスキーを取得し、当該ライセンスキーをライセンスファイル160に格納してHDD114に保存する。
起動制御部153は、SDKアプリ140の起動及び停止を制御する。SDKアプリ140を起動する際、起動制御部153は、ライセンス管理部152にSDKアプリ140のライセンス状況の問い合わせを行うことにより、機能モジュール1401単位で起動(RAM112へのロード)を制御する。
ライセンス管理部152は、ライセンスファイル160の管理や、ライセンスリスト170の生成を行う。ライセンスリスト170は、SDKアプリ140と一対一に対応する。したがって、複数のSDKアプリ140がインストールされている場合、複数のライセンスリスト170が生成される。一つのライセンスリスト170は、対応するSDKアプリ140に含まれているライセンス情報ファイル1402に格納されているライセンス情報の一覧を含む。ライセンス管理部152は、また、起動制御部153よりライセンス状況が問い合わされたSDKアプリ140に対応するライセンスリスト170に基づいてライセンス対象となる機能モジュール1401(同図では、機能モジュール1401a及び1401b)について、ライセンスファイル160に格納されているライセンスキーに基づく起動の可否(許否)の判断を行う。ライセンス管理部152は、当該判断結果を起動制御部153に応答する。
暗号処理部154は、ライセンス管理部152によって生成されたライセンスリスト170の保存時に当該ライセンスリスト170を暗号化し、暗号化されたライセンスリスト170の利用時に当該ライセンスリスト170を復号する。暗号処理部154によってライセンスリスト170の改竄が防止される。
真偽判定部155は、ライセンスリスト170に対する改竄の有無を判定する。
以下、画像形成装置10の処理手順について説明する。
図4は、画像形成装置へのライセンスキーの導入手順を説明するための図である。同図において、PC20は、画像形成装置10とネットワークを介して接続するコンピュータであり、操作部21及びライセンス送信部22等を有する。
操作部21は、画像形成装置10において利用可能とする(ライセンスキーの発行対象とする)SDKアプリ140のプロダクトキーの入力をユーザより受け付ける。
プロダクトキーは、SDKアプリ140と機能モジュール1401との組み合わせによって識別される製品に対して一意に割り当てられる識別情報である。具体的には、同一のSDKアプリ140であっても、一部の機能モジュール1401を利用可能な製品と全ての機能を利用可能な製品とではプロダクトキーは異なる。また、一部の機能モジュール1401を利用可能な製品の場合、いずれの機能モジュール1401が利用可能かによってもプロダクトキーは異なる。すなわち、ユーザによるプロダクトキーの入力とは、いずれのSDKアプリ140のいずれの機能(機能モジュール1401)を利用するかについてのユーザによる選択を意味する。
プロダクトキーの入力に応じ、ライセンス送信部22は、画像形成装置10に対して機体番号の送信を要求する。機体番号とは、工場出荷時において各画像形成装置10に対して一意に割り当てられている番号である。当該要求に応じ、画像形成装置10のライセンス導入部151は、画像形成装置10の機体番号を例えばROM113より取得し、当該機体番号をライセンス送信部22に返信する(S11)。続いて、ライセンス送信部11は、受信した機体番号によって識別される画像形成装置10においてのみプロダクトキーで識別されるSDKアプリ140及び機能モジュール1401の利用権限を与えるライセンスキーを画像形成装置10に送信する(S12)。
図5は、ライセンスキーの構成例を示す図である。同図において、一つのライセンスキーは、アプリID、画像形成装置10の機体番号、利用可能な機能(機能モジュール1401の識別子の一覧)、及び有効期限等によって構成される。当該ライセンスキーによって、機体番号によって識別される画像形成装置10上において、アプリIDによって識別されるSDKアプリ140の利用が、当該ライセンスキーに指定された機能及び有効期限の範囲内で許可される。すなわち、SDKアプリ140に関するライセンス単位は、機能単位(機能モジュール1401単位)で管理される。アプリID、機能、及び有効期限は、プロダクトキーに基づいて定まる値である。なお、ライセンスキーは、アプリID、画像形成装置10の機体番号、利用可能な機能、及び有効期限を単に並べたものではなく、これらの情報がエンコードされ、更に暗号化されたものでもよい。また、ライセンスキーは、PC20において生成されてもよいし、PC20とネットワークを介して接続する他のコンピュータ(例えば、グローバルな環境においてライセンス情報を一元管理するサーバコンピュータ)においてPC20からの要求に応じて生成されてもよい。ライセンス導入部151は、ライセンスキーを受信すると、当該ライセンスキーをライセンスファイル160に格納してHDD114に保存する(S13)。
続いて、図6は、ライセンスリストの生成処理を説明するためのフローチャートである。同図の処理は、SDKアプリ140ごとに行われる。
まず、ライセンス管理部152は、空のライセンスリスト170(ファイル)をSDKアプリ140に関連付けてHDD114上に生成する(S101)。ライセンスリスト170とSDKアプリ140との関連付けの方法は所定のものに限定されない。例えば、ライセンスリスト170にアプリIDを含めてもよいし、アプリIDを名前とするフォルダ下にライセンスリスト170を生成してもよい。
続いて、ステップS102〜S105において、ライセンス管理部152は、処理対象とされているSDKアプリ140に含まれている機能モジュール1401を検索する。検索された機能モジュール1401にライセンス情報ファイル1402が付随している場合(S103でYes)、ライセンス管理部152は、当該ライセンス情報ファイル1402に格納されているライセンス情報をライセンスリスト170に追加する(S104)。全ての機能モジュール1401の検索が終了すると(S105)、ライセンス管理部152は、生成されたライセンスリスト170の暗号化を暗号処理部154に実行させる(S106)。暗号化の方式は所定のものに限定されない。
例えば、図3のSDKアプリ140の構成を例とすると、まずステップS102で機能モジュール1401aが検索される。機能モジュール1401aにはライセンス情報ファイル1402aが付随しているため、ステップS103でYesへ進む。続いて、ステップS104で機能モジュール1401aのライセンス情報ファイル1402aに格納されているライセンス情報をライセンスリスト170に登録する。
続いて、ステップS102に戻り、機能モジュール1401bが検索される。機能モジュール1401bにはライセンス情報ファイル1402bが付随しているため、ステップS103でYesへ進む。続いて、ステップS104で機能モジュール1401bのライセンス情報ファイル1402bに格納されているライセンス情報をライセンスリスト170に登録する。
続いて、ステップS102に戻り、機能モジュール1401cが検索される。機能モジュール1401cにはライセンス情報ファイルが付随していないためステップS103でNoへ進み、ステップS105で検索が終了する。その結果、図7に示されるようなライセンスリスト170が生成される。
図7は、ライセンスリストの例を示す図である。同図に示されるようにライセンスリスト170には、機能モジュールごとに機能モジュールの識別子 (機能名)、機能モジュールのファイル名、機能モジュールの表示名、及び日時が登録される。日時は、ライセンスされた(ライセンスキーが発行された)日時である。当該日時は、例えば、ステップS104において、処理対象とされているSDKアプリ140に対応するライセンスファイル160の中で、対応する機能モジュールに対するライセンスキーを含むライセンスファイル160の生成日時を転記すればよい。また、その際に、当該ライセンスキーに対する関連付け情報(例えば、当該ライセンスファイル160のファイル名又は当該ライセンスキーそのもの)をライセンスリスト170に記録するようにしてもよい。
なお、図7において機能モジュールAは、図3の機能モジュール1401aに対応する。また、機能モジュールBは、機能モジュール1401bに対応する。上記したように、機能モジュール1401cにはライセンス情報ファイルが付随していないため、ライセンスリスト170には登録されていない。
ライセンスリスト170の生成時期(図6の処理が実行されるタイミング)について説明する。SDKアプリ140は図8に示されるようなライフサイクルを有する。図8は、本実施の形態におけるSDKアプリのライフサイクルを説明するための状態遷移図である。
SDKアプリ140は、画像形成装置10にインストールされる前は未インストール状態にあり、インストールによってインストール済状態に遷移する。インストール済状態ではまず、SDKアプリ140が停止した停止状態であり、対応するライセンスキーが存在しない未ライセンス状態となる。この未ライセンス状態では、SDKアプリ140を起動することはできない。未ライセンス状態で、PC20からライセンスキーが導入されるとSDKアプリ140はライセンス済状態に遷移する。ライセンス済状態とは、SDKアプリ140を起動可能な状態である。
ライセンス済状態において起動されると、SDKアプリ140は起動中状態に遷移する。起動中状態において、ユーザはSDKアプリ140に実装されている機能をライセンスされている範囲内で利用することができる。SDKアプリ140が停止されると、SDKアプリ140は、ライセンス済状態へと戻る。また、SDKアプリ140が停止状態であるときにアンインストールされると、SDKアプリ140は未インストール状態へと戻る。
以上のようなライフサイクルにおいて、ライセンスリスト170は、SDKアプリ140のインストール時、又はSDKアプリ140の起動時に生成される。
続いて、図9は、SDKアプリの起動時の処理手順を説明するためのフローチャートである。操作パネル16等を介して、或るSDKアプリ140の起動指示(利用要求)がユーザによって入力されると、起動制御部153は、ライセンス管理部152に対して起動対象とされたSDKアプリ140のアプリIDを通知し、当該SDKアプリ140のライセンス状況を問い合わせる。当該問い合わせに応じて図9の処理が開始される。
まず、ライセンス管理部152は、起動対象のSDKアプリ140に対応するライセンスリスト170をRAM112上に読み込む(S201)。続いて、ライセンス管理部152は、ライセンスリスト170の復号を暗号処理部154に実行させる(S202)。続いて、ライセンス管理部152は、ライセンスリスト170の正当性を真偽判定部155に実行させる(S203)。真偽判定部155は、例えば、暗号処理部154による復号が成功したか、ライセンスリスト170のデータ形式が所定の形式に従っているか等を検査することにより、ライセンスリスト170の正当性を判定する。すなわち、復号に失敗した場合や、ライセンスリスト170が所定の形式に従っていない場合は、ライセンスリスト170は不正であると判定される。
また、ライセンスリスト170の正当性を判定するために電子署名を用いてもよい。例えば、ライセンスリスト170を生成する際に、暗号化前のライセンスリスト170のハッシュ値を生成しておき、ライセンスリスト170に関連付けて保存しておく。真偽判定部155は、ステップS202において復号されたライセンスリスト170のハッシュ値と、当該ライセンスリスト170に関連付けられて保存されているハッシュ値とを比較することにより、ライセンスリスト170の改竄の有無(正当性)を判定する。
真偽判定部155によって、ライセンスリスト170の正当性が否定された場合(ライセンスリスト170が不正であると判定された場合)(S203でNo)、ライセンス管理部152は、起動対象のSDKアプリ140を処理対象として、改めて図6の処理を実行することにより、ライセンスリスト170を生成し直す(S204)。ステップS201においてライセンスリスト170が存在しない場合も、ステップS204でライセンスリスト170の生成処理が実行される。
真偽判定部155によってラインセンスリスト170の正当性が肯定された場合(S203でYes)、又はステップS204に続いて、起動対象のSDKアプリ140において起動が不可能な(許可されない)機能モジュール1401の判定がライセンスリスト170を利用して行われる(S205〜S209)。
まず、ステップS206において、ライセンス管理部152は、ライセンスリスト170より一つのエントリ(一つの機能モジュール1401に対するライセンス情報)を取得する(S206)。続いて、ライセンス管理部152は、取得されたライセンス情報に含まれている識別子と、当該SDKアプリ140に対応するライセンスファイル160に格納されているライセンスキーとに基づいて、当該ライセンス情報に対応する機能モジュール1401の利用(起動)の可否を判定する(S207)。
すなわち、当該ライセンスキーが有効であり、当該ライセンスキーの「機能」項目に当該識別子が含まれていれば、当該機能モジュール1401は利用可能であると判定される。それ以外の場合(当該SDKアプリ140に対応するライセンスファイル160が無い場合も含む。)は、当該機能モジュール1401は利用不可能と判定される。なお、ライセンスキーが有効であるとは、当該ライセンスキーの機体番号が画像形成装置10の機体番号と一致し、当該ライセンスキーの有効期限が切れていないこと等をいう。
利用不可能と判定された場合(S207でNo)、ライセンス管理部152は、当該機能モジュールの識別子を起動不可リストに追加する(S208)。
ステップS206〜S08までの処理が、ライセンスリスト170に含まれている全てのエントリ(ライセンス情報)について完了すると(S209)、ライセンス管理部152は、起動不可リストを起動対象のSDKアプリ140のライセンス状況を示す情報として起動制御部153に出力する(S209)。
続いて、起動制御部153は、起動不可リストに基づいてSDKアプリ140の起動制御を行う(S210)。具体的には、起動不可リストに含まれている起動モジュール1401の起動又は利用を制限(抑止)する。これによって、例えば、コピージョブに関するSDKアプリ140であれば、カラーコピーが利用できない等、一部の機能の利用が制限される。
図9の処理内容を、図3のSDKアプリ140に基づいて具体的に説明する。例えば、図3において、ライセンスファイル160に含まれているライセンスキーでは機能モジュール1401aのみがライセンスされているとする。この場合、SDKアプリ140の起動が要求されると、機能モジュール1401bは、起動不可リストに含まれ、起動が抑止される。したがって、機能モジュール1401aと機能モジュール1401cの機能が利用可能となる。機能モジュール1401cの機能が利用可能なのは、機能モジュール1401cはライセンス管理の対象とされていないからである。
なお、図9では、SDKアプリ140のライセンス状況として起動不可リストが起動制御部153に通知される例を説明したが、起動可能な機能モジュールの一覧情報がライセンス管理部152から起動制御部153に通知されるようにしてもよい。
上述したように、本実施の形態における画像形成装置10は、ライセンスのチェックが必要とされる機能モジュール1401の一覧情報であるライセンスリスト170を予め生成しておき、SDKアプリ140の起動時には当該ライセンスリスト170にエントリされている機能モジュールについてのみライセンスのチェックを行う。したがって、ライセンスチェックの回数を低減させることができ、SDKアプリ140全体の起動時間の増大を適切に抑制することができる。
例えば、図10は、ライセンスリストが無い場合のSDKアプリの起動時の処理手順を説明するための図である。
ステップS301からS305では、起動対象とされたSDKアプリ140に含まれる全ての機能モジュール1401についてライセンス対象であるか否かが判定される(S303)。ライセンス対象であると判定された機能モジュール1401については、ライセンスキーの有無、ライセンスキーの正当性等が判定され(S304、S305)、利用不可能な機能モジュール1401は機能不可リストに追加される(S306)。全ての機能モジュール1401についてチェックが完了すると(S307)、チェック結果に基づいてSDKアプリ140の起動制御が行われる(S308)。
図10の処理内容と、本実施の形態の画像形成装置10が実行する処理内容との相違点をより端的に示すと図11のように表すことができる。
図11は、ライセンスリストによりSDKアプリの起動が高速化される理由を説明するための図である。
同図において、(A)は、図10の処理内容を示す。(A)では、SDKアプリ140の起動時に、当該SDKアプリ140の全ての機能モジュール1401についてライセンスに関するチェックが行われることが示されている。同図の例では、9回のチェックが毎回の起動時に行われる。
一方、(B)は、本実施の形態の画像形成装置10が実行する処理内容を示す。本実施の形態では、SDKアプリ140のインストール時に当該SDKアプリ140の全ての機能モジュール1401についてライセンス対象か否かのチェックが行われ、ライセンスリスト170が生成される。図中では、二つの機能モジュール1401がライセンス対象であると判定された例が示されている。起動時には、ライセンスリスト170にエントリされているこの二つの機能モジュール1401についてのみライセンスに関するチェックが実行される。
このように、SDKアプリ140に含まれる機能モジュールの数が増加すればするほど、本実施の形態による効果は顕著なものとなる。なお、ライセンスリスト170は、必ずしもインストール時に生成されなくてもよい。インストール時に生成されなくても初回の起動時にライセンスリスト170が生成されるからである。
また、ライセンスリスト170は、暗号化されて保存され、利用時には改竄等のチェックが行われる。したがって、ライセンスリスト170の改竄による不正なライセンスの獲得(ライセンスリスト170よりエントリを削除することにより、当該エントリに係る機能モジュール1401のライセンスチェックを回避させること)を適切に防止することができる。
また、起動時においてライセンスリスト170の改竄等が検出された場合であっても、再度ライセンスリスト170が生成し直されるため、ライセンスの範囲内でのSDKアプリ140の起動を円滑に行うことができる。
なお、本実施の形態では、ライセンス管理の対象とされる機能モジュール1401のライセンス情報をライセンスリスト170に含める例を説明した。但し、ライセンス管理の対象とされていない機能モジュール1401のライセンス情報によってライセンスリスト170を構成するようにしてもよい。すなわち、ライセンスリスト170によっていずれの機能モジュール170がライセンス管理の対象とされているかが識別可能であればよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
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 ライセンスリスト
特開2008−016013号公報

Claims (16)

  1. 複数のプログラムモジュールより構成されるアプリケーションを起動可能な情報処理装置であって、
    前記プログラムモジュールごとに関連付けられている当該プログラムモジュールがライセンス管理の対象であるか否かを示す情報に基づいて、前記複数のプログラムモジュールのうちライセンス管理の対象とされるプログラムモジュールを識別可能なライセンス対象識別情報を生成するライセンス対象識別情報生成手段と、
    前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報に基づいて、ライセンス管理の対象であるプログラムモジュールに利用できないプログラムモジュールが含まれる場合には、当該プログラムモジュールの起動を制限する起動制限手段とを有することを特徴とする情報処理装置。
  2. 前記アプリケーションの起動要求が入力されたときに前記ライセンス識別情報が前記記憶装置に存在しないときは、前記ライセンス対象識別情報生成手段に前記ライセンス識別情報を生成させ、
    前記起動制限手段は、前記起動要求に応じて生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項1記載の情報処理装置。
  3. 前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報の正当性を判定する正当性判定手段を有し、
    前記ライセンス対象識別情報生成手段は、前記正当性判定手段によって前記ライセンス対象識別情報が不正であると判定されたときは前記ライセンス対象識別情報を再生成し、
    前記起動制限手段は、再生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記ライセンス対象識別情報は、ライセンス管理の対象とされる前記プログラムモジュールの識別情報を含むことを特徴とする請求項1乃至3いずれか一項記載の情報処理装置。
  5. 前記ライセンス対象識別情報生成手段は、前記ライセンス対象識別情報を暗号化して前記記憶装置に保存することを特徴とする請求項1乃至3いずれか一項記載の情報処理装置。
  6. 複数のプログラムモジュールより構成されるアプリケーションを起動可能な情報処理装置が実行するライセンス判定方法であって、
    前記プログラムモジュールごとに関連付けられている当該プログラムモジュールがライセンス管理の対象であるか否かを示す情報に基づいて、前記複数のプログラムモジュールのうちライセンス管理の対象とされるプログラムモジュールを識別可能なライセンス対象識別情報を生成するライセンス対象識別情報生成手順と、
    前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報に基づいて、ライセンス管理の対象であるプログラムモジュールに利用できないプログラムモジュールが含まれる場合には、当該プログラムモジュールの起動を制限する起動制限手順とを有することを特徴とするライセンス判定方法。
  7. 前記アプリケーションの起動要求が入力されたときに前記ライセンス識別情報が前記記憶装置に存在しないときは、前記ライセンス対象識別情報生成手順に前記ライセンス識別情報を生成させ、
    前記起動制限手順は、前記起動要求に応じて生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項6記載のライセンス判定方法。
  8. 前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報の正当性を判定する正当性判定手順と、
    前記正当性判定手順において前記ライセンス対象識別情報が不正であると判定されたときは前記ライセンス対象識別情報を再生成するライセンス対象識別情報再生成手順とを有し、
    前記起動制限手順は、再生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項6又は7記載のライセンス判定方法。
  9. 前記ライセンス対象識別情報は、ライセンス管理の対象とされる前記プログラムモジュールの識別情報を含むことを特徴とする請求項6乃至8いずれか一項記載のライセンス判定方法。
  10. 前記ライセンス対象識別情報生成手順は、前記ライセンス対象識別情報を暗号化して前記記憶装置に保存することを特徴とする請求項7乃至9いずれか一項記載のライセンス判定方法。
  11. 複数のプログラムモジュールより構成されるアプリケーションを起動可能な情報処理装置に、
    前記プログラムモジュールごとに関連付けられている当該プログラムモジュールがライセンス管理の対象であるか否かを示す情報に基づいて、前記複数のプログラムモジュールのうちライセンス管理の対象とされるプログラムモジュールを識別可能なライセンス対象識別情報を生成するライセンス対象識別情報生成手順と、
    前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報に基づいて、ライセンス管理の対象であるプログラムモジュールに利用できないプログラムモジュールが含まれる場合には、当該プログラムモジュールの起動を制限する起動制限手順とを実行させるためのプログラム。
  12. 前記アプリケーションの起動要求が入力されたときに前記ライセンス識別情報が前記記憶装置に存在しないときは、前記ライセンス対象識別情報生成手順に前記ライセンス識別情報を生成させ、
    前記起動制限手順は、前記起動要求に応じて生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項11記載のプログラム。
  13. 前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報の正当性を判定する正当性判定手順と、
    前記正当性判定手順において前記ライセンス対象識別情報が不正であると判定されたときは前記ライセンス対象識別情報を再生成するライセンス対象識別情報再生成手順とを有し、
    前記起動制限手順は、再生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項11又は12記載のプログラム。
  14. 前記ライセンス対象識別情報は、ライセンス管理の対象とされる前記プログラムモジュールの識別情報を含むことを特徴とする請求項11乃至13いずれか一項記載のプログラム。
  15. 前記ライセンス対象識別情報生成手順は、前記ライセンス対象識別情報を暗号化して前記記憶装置に保存することを特徴とする請求項11乃至14いずれか一項記載のプログラム。
  16. 請求項11乃至15いずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2012278778A 2012-12-21 2012-12-21 情報処理装置、ライセンス判定方法、プログラム、及び記録媒体 Active JP5510535B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012278778A JP5510535B2 (ja) 2012-12-21 2012-12-21 情報処理装置、ライセンス判定方法、プログラム、及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012278778A JP5510535B2 (ja) 2012-12-21 2012-12-21 情報処理装置、ライセンス判定方法、プログラム、及び記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008222132A Division JP5599557B2 (ja) 2008-08-29 2008-08-29 情報処理装置、ライセンス判定方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2013054787A true JP2013054787A (ja) 2013-03-21
JP5510535B2 JP5510535B2 (ja) 2014-06-04

Family

ID=48131644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012278778A Active JP5510535B2 (ja) 2012-12-21 2012-12-21 情報処理装置、ライセンス判定方法、プログラム、及び記録媒体

Country Status (1)

Country Link
JP (1) JP5510535B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091116A (ja) * 2014-10-30 2016-05-23 株式会社リコー 情報処理システム、電子機器、サービス認可方法及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213469A (ja) * 2003-01-07 2004-07-29 Canon Inc 画像形成装置
JP2006031169A (ja) * 2004-07-13 2006-02-02 Oki Electric Ind Co Ltd ライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラム
JP2007316938A (ja) * 2006-05-25 2007-12-06 Fujitsu Business Systems Ltd ライセンス管理プログラム、ソフトウェア利用制御方法、ライセンスチェックプログラムおよびライセンスチェックセットアッププログラム
JP2008016013A (ja) * 2006-06-07 2008-01-24 Ricoh Co Ltd 画像形成装置、ライセンス管理方法及びライセンス管理プログラム
JP2008140175A (ja) * 2006-12-01 2008-06-19 Yazaki Corp プロテクタ共通化装置、プロテクタ共通化プログラム、プロテクタ共通化方法、ライセンス管理システム、及び、プロテクタ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213469A (ja) * 2003-01-07 2004-07-29 Canon Inc 画像形成装置
JP2006031169A (ja) * 2004-07-13 2006-02-02 Oki Electric Ind Co Ltd ライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラム
JP2007316938A (ja) * 2006-05-25 2007-12-06 Fujitsu Business Systems Ltd ライセンス管理プログラム、ソフトウェア利用制御方法、ライセンスチェックプログラムおよびライセンスチェックセットアッププログラム
JP2008016013A (ja) * 2006-06-07 2008-01-24 Ricoh Co Ltd 画像形成装置、ライセンス管理方法及びライセンス管理プログラム
JP2008140175A (ja) * 2006-12-01 2008-06-19 Yazaki Corp プロテクタ共通化装置、プロテクタ共通化プログラム、プロテクタ共通化方法、ライセンス管理システム、及び、プロテクタ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091116A (ja) * 2014-10-30 2016-05-23 株式会社リコー 情報処理システム、電子機器、サービス認可方法及びプログラム

Also Published As

Publication number Publication date
JP5510535B2 (ja) 2014-06-04

Similar Documents

Publication Publication Date Title
JP5599557B2 (ja) 情報処理装置、ライセンス判定方法、プログラム及び記録媒体
US8601280B2 (en) Application executing apparatus and application execution method
US8613082B2 (en) License management server, license management method, and computer program product
US8402459B2 (en) License management system, license management computer, license management method, and license management program embodied on computer readable medium
US8732848B2 (en) File-distribution apparatus and recording medium having file-distribution authorization program recorded therein
JP6124531B2 (ja) 情報処理システム、画像処理装置及びその制御方法、並びにプログラム
US20110321172A1 (en) Management apparatus, license management server, electronic equipment, electronic equipment management system, management method, program, and recording medium
US20110067088A1 (en) Image processing device, information processing method, and recording medium
EP3502873A2 (en) Method and apparatus for application development environment
JP4969480B2 (ja) 画像形成装置、情報処理方法、及び情報処理プログラム
JP2014142886A (ja) プラグイン配信システム及び画像処理装置並びにプラグイン配信制御方法
US9250840B2 (en) Image forming apparatus capable of executing applications, image forming method, and recording medium
US8353057B2 (en) Information processing apparatus, control method, and control program
JP5644194B2 (ja) 情報保護装置及び情報保護プログラム
JP5510535B2 (ja) 情報処理装置、ライセンス判定方法、プログラム、及び記録媒体
JP2007065917A (ja) アクセス制御方法、アクセス制御リスト管理装置、アクセス制御装置、アクセス制御システム、アクセス制御プログラム、及び記憶媒体
JP6338729B2 (ja) 画像処理装置及びその制御方法、情報処理システム、並びに記憶媒体
JP2007249575A (ja) 情報処理装置、コンピュータ読み取り可能な可搬性記録媒体、情報処理方法、情報処理プログラム及び情報処理システム
JP5458535B2 (ja) 機器、ライセンス管理方法、プログラム、及びライセンス管理システム
JP2005258784A (ja) リソース管理装置、情報処理装置、リソース管理プログラム、リソース表示プログラム及び記録媒体
JP5151531B2 (ja) 画像形成装置及びデータ管理方法
US20220253521A1 (en) Image forming apparatus capable of executing application programs, control method therefor, and storage medium
JP2007174314A (ja) 電子証明書管理方法および画像処理装置
JP5014191B2 (ja) 機器及び操作権限判定方法
JP2010067085A (ja) 情報処理システム、外付け機器、プラットフォーム起動方法、プログラム、および記憶媒体

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