以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における機器管理システムのシステム構成例を示す図である。同図の機器管理システム1において、ユーザ環境E1は、画像形成装置のユーザ(顧客)のシステム環境である。例えば、ユーザ環境E1は、画像形成装置のユーザの企業又はオフィス等に相当する。
ユーザ環境E1において、機器管理装置10A、機器管理装置10B、画像形成装置20A、及び画像形成装置20B等は、LAN(Local Area Network)等のネットワーク30(有線又は無線の別は問わない。)を介して接続されている。画像形成装置20A及び20B(以下、両者を区別しない場合「画像形成装置20」という。)は、印刷、スキャン、コピー、及びファクス送受信等の複数の機能を一台の筐体において実現する複合機である。画像形成装置20は、アプリケーションプログラム(以下、単に「アプリケーション」という。)を追加又は更新することにより随時機能拡張等を図ることができる。
機器管理装置10は、ユーザ環境E1における画像形成装置20において動作するアプリケーションのライセンス導入等を一括して行うPC(Personal Computer)等のコンピュータである。なお、ユーザ環境E1は、ユーザ数(企業又はオフィス単位のユーザ数)に応じて複数存在しうる。
一方、メーカー環境E2は、画像形成装置20に追加されるアプリケーションの販売者側のシステム環境である。例えば、メーカー環境E2は、画像形成装置20のメーカーによって運営される。メーカー環境E2は、ライセンス管理サーバ50A、ライセンスサーバ50B、及びパッケージ管理サーバ60B等を有する。
ライセンス管理サーバ50A及び50B(以下、両者を区別しない場合「ライセンス管理サーバ50」という。)は、ユーザによって購入されたアプリケーションのライセンスを管理するコンピュータである。パッケージ管理サーバ60Bは、アプリケーションの実体(パッケージファイル。以下、単位「パッケージ」という。)を管理するコンピュータである。
なお、ユーザ環境E1とメーカー環境E2とはインターネット等のネットワーク70を介して接続されている。
図2は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図2において、画像形成装置20は、コントローラ21、スキャナ22、プリンタ23、モデム24、操作パネル25、ネットワークインタフェース26、及びSDカードスロット27等のハードウェアを有する。
コントローラ21は、CPU211、RAM212、ROM213、及びHDD214等を有する。ROM213には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM212は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU211は、RAM212にロードされたプログラムを処理することにより、各種の機能を実現する。HDD214には、プログラムやプログラムが利用する各種のデータ等が記録される。
スキャナ22は、原稿より画像データを読み取るためのハードウェアである。プリンタは23、画像データを印刷用紙に印刷するためのハードウェアである。モデム24は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル25は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース26は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット27は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置20では、ROM223に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM212にロードされ、実行されうる。なお、他の記録媒体によってSDカード80が代替されてもよい。例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等であってもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。また、画像形成装置20は、必ずしも複合機でなくてもよく、単一の機能を実現するプリンタ又はスキャナ等であってもよい。
ところで、図1における各装置の符号の末尾のアルファベット(「A」又は「B」)は、各装置が対応するライセンス管理方式の種別を示している。符号の末尾が「A」である装置は、「ライセンス管理方式A」に対応する。一方、符号の末尾が「B」である装置は、「ライセンス管理方式B」に対応する。なお、「ライセンス管理方式A」及び「ライセンス管理方式B」には絶対的な意味は無い(すなわち、特定のライセンス管理方式を示すものではない。「ライセンス管理方式A」及び「ライセンス管理方式B」という表記は、相対的な関係において両者が異なるライセンス管理方式であることを意味する。
図3は、対応するライセンス管理方式に基づく各装置の関係を示す図である。同図に示されるように、機器管理装置10Aは、画像形成装置20Aに対するライセンスの導入等を行う。また、ライセンス管理サーバ50Aは、画像形成装置20A用のライセンスの管理を行う。
一方、機器管理装置10Bは、画像形成装置20Bに対するアプリケーションのインストール及びライセンスの導入等を行う。ライセンス管理サーバ50Bは、画像形成装置20B用のライセンスの管理を行う。パッケージ管理サーバ60Bは、画像形成装置20B用のアプリケーションのパッケージを管理する。
なお、ライセンス管理方式Aに関して、アプリケーションの実体を管理するコンピュータ(すなわち、パッケージ管理サーバ60Bに対応するコンピュータ)が存在しないのは、ライセンス管理方式Aにおいては、アプリケーションの流通経路が異なるからである。具体的には、ライセンス管理方式Aに対応したアプリケーションは、SDカード80等の記録媒体に記録されて配布される。又は、所定のPC(Personal Computer)からのリモートインストールも可能である。
したがって、本実施の形態では、ライセンス管理方式Aに係るアプリケーション(以下、「アプリケーションA」という。)と、ライセンス管理方式Bに係るアプリケーション(以下、「アプリケーションB」という。)とでは、アプリケーションの管理方式(管理形態)も異なっているといえる。また、本実施の形態では、アプリケーションAとアプリケーションBとは、そのパッケージ形式(アプリケーションの実行モジュールの書庫ファイルの構成)も異なることとする。以下、ライセンス管理方式Aのパッケージ形式を「パッケージ形式A」といい、ライセンス管理方式Bのパッケージ形式を「パッケージ形式B」という。
ライセンス管理方式の違いは、具体的には、ライセンスファイル(ライセンスデータ)のデータ形式の相違やライセンスファイルのエンコード又は暗号化方式の違い等に基づく。ライセンスファイルとは、アプリケーションに対するライセンス(利用権限)を証明するデータ(アプリケーションの利用を許可するためのデータ)が記録されたファイルである。すなわち、本実施の形態におけるアプリケーションは、その実体をインストールするだけでは画像形成装置20において利用することはできない。アプリケーションは、ライセンスファイルが画像形成装置20に導入されることにより利用可能となる。
また、ライセンス管理方式の違いとして、各装置間の通信プロトコル(ライセンスの導入等を行うための通信プロトコル)が異なっていてもよい。例えば、画像形成装置20Aと機器管理装置10Aとの間の通信プロトコルと、画像形成装置20Bと機器管理装置10Bとの間の通信プロトコルとが異なっていてもよい。
したがって、機器管理装置10Aから画像形成装置20Bに対してライセンスファイルを導入することはできない。ライセンス管理方式Aとライセンス管理方式Bとの間で通信プロトコルが異なれば機器管理装置10Aから画像形成装置20Bに対してライセンスファイルを転送することができないからである。また、ライセンス管理方式Aとライセンス管理方式Bとの間で通信プロトコルが同じであり、画像形成装置20Aと同一のアプリケーションが画像形成装置20Bにインストールされているとしても、やはり機器管理装置10Aから画像形成装置20Bに対してライセンスファイルを導入することはできない。画像形成装置20Bは、ライセンス管理方式Aに基づくライセンスファイルを解読又は解析することはできないからである。
そうすると、ユーザは、画像形成装置20Aに対してライセンスを導入するときは、機器管理装置10Aを利用し、画像形成装置20Bに対してライセンスを導入するときは、機器管理装置10Bを利用しなければならない。また、ライセンスを導入したい画像形成装置20がいずれのライセンス管理方式に対応しているか分からない場合、ユーザは、いずれの機器管理装置10を利用すればよいか分からず、ライセンスの導入を行うことができない。
そこで、本実施の形態では、斯かる不都合を解消するため、画像形成装置20Aは、ライセンス管理方式Bにも対応可能とされている。具体的には、画像形成装置20Aは、ライセンス管理方式Aに基づくライセンスファイルのみならず、ライセンス管理方式Bに基づくライセンスファイルをも解読可能である。また、画像形成装置20Aは、機器管理装置10Aとだけでなく、機器管理装置10Bとも通信可能である。
ライセンス管理方式A及びライセンス管理方式Bの双方に対応するため、画像形成装置20Aは、図4に示されるような機能構成を有する。
図4は、画像形成装置20Aの機能構成例を示す図である。同図において、画像形成装置20Aは、ライセンス通信制御部221A、ライセンス通信制御部221B、ライセンス管理部222A、ライセンス管理部222B、ライセンス管理統合部223、パッケージ変換部224、A方式インストール部225、及び操作制御部226等を有する。これら各部は、画像形成装置20AにインストールされたプログラムがCPU211に実行させる処理によって実現される。また、同図における符号の末尾のアルファベット(「A」又は「B」)は、図1と同じ意味を有する。
ライセンス通信制御部221Aは、機器管理装置10Aとの間におけるライセンス管理方式Aに関する通信制御を行う。具体的には、ライセンス通信制御部221Aは、機器管理装置10Aよりライセンスの設定要求(ライセンスの導入要求)を受信する。ライセンス通信制御部221Aは、ライセンスの設定要求に伴って機器管理装置10Aより転送される、ライセンス管理方式Aに対応したライセンスファイル(A方式ライセンスファイル)をHDD214又はRAM212の所定の記憶領域に記録する。
ライセンス通信制御部221Bは、機器管理装置10Bとの間におけるライセンス管理方式Bに関する通信制御を行う。具体的には、ライセンス通信制御部221Bは、機器管理装置10Bよりライセンスの設定要求(ライセンスの導入要求)を受信する。ライセンス通信制御部221Bは、ライセンスの設定要求に伴って機器管理装置10Bより転送される、ライセンス管理方式Bに対応したライセンスファイル(B方式ライセンスファイル)をHDD214又はRAM212の所定の記憶領域に記録する。ライセンス通信制御部221Bは、また、機器管理装置10Bよりアプリケーションのインストール要求を受信する。
ライセンス管理部222Aは、ライセンス管理方式Aに応じたライセンス設定(導入)処理、アプリケーションの起動可否(許否)判定処理等を行う。アプリケーションAの起動時には、ライセンス管理部222Aは、A方式ライセンスファイルに基づいてアプリケーションの起動の可否を判定する。
ライセンス管理部222Bは、ライセンス管理方式Bに応じたライセンス設定(導入)処理、アプリケーションの起動可否(許否)判定処理等を行う。アプリケーションBの起動時には、ライセンス管理部222Bは、B方式ライセンスファイルに基づいてアプリケーションの起動の可否を判定する。
ライセンス管理統合部223は、ライセンス通信制御部221A又はライセンス通信制御部221Bによって受信された要求を、ライセンス管理部222A又はライセンス管理部222Bに振り分ける。より詳しくは、ライセンス通信制御部221Aによって受信された要求は、ライセンス管理部222Aに振り分けられる。ライセンス通信制御部221Bによって受信された要求は、ライセンス管理部222Bに振り分けられる。ライセンス通信制御部221又はライセンス管理方式とライセンス管理部222との対応関係は、例えば、HDD214に記録されている。ライセンス管理統合部223は、また、操作制御部226より入力されるアプリケーションの起動要求に応じ、起動対象とされたアプリケーションが対応するライセンス管理方式に応じて、ライセンス管理部222A又はライセンス管理得Bに起動可否判定処理の実行を要求する。
操作制御部226は、操作パネル25を介して入力されるユーザによる指示入力に応じた処理を起動させる。
A方式インストール部225は、アプリケーションAのリモートインストールに対応したインストール処理を実行する。より詳しくは、A方式インストール部は、ネットワークを介してアプリケーションAのインストール要求を受信し、当該アプリケーションAのインストール処理を実行する。パッケージ変換部224は、アプリケーションBのパッケージ形式を、アプリケーションAのパッケージ形式(パッケージ形式A)に変換する。
以下、機器管理システム1の処理手順について説明する。図5は、画像形成装置へのライセンス設定処理の処理手順を説明するためのシーケンス図である。同図では、ライセンス管理方式の種別を問わず、共通的に実行されうる処理手順を説明する。したがって、同図に示される各装置については、ライセンス管理形式A又はBのいずれに係るものであるかは問わない。但し、このことは、各ライセンス管理方式において、図5に示される処理手順が完全に同じように実行されることを意味するものではない。例えば、各ステップにおいて利用される通信プロトコルや、やりとりされるパラメータ等についてライセンス管理方式ごとに相違が有ってもよい。また、前後関係に矛盾が生じない範囲で、各ステップの実行順が異なっていてもよい。
ステップS101において、ユーザは、機器管理装置10を操作して、ライセンスの設定先の画像形成装置20を指定し、ライセンスの設定対象のアプリケーションのプロダクトキーを指定して、ライセンスの設定要求を入力する。プロダクトキーとは、アプリケーションが購入されるごとに一意に発行される(又は割り当てられる)識別子であり、購入されたアプリケーションに対するライセンス(利用権限)を識別する情報として、また、アプリケーションの正当な購入者であることを証明するための情報として用いられる。すなわち、ステップS101の段階では、ユーザは、例えば、所定のWebサイを介して又は店頭においてアプリケーションを購入済みであり、そのプロダクトキーを入手済みであるとする。但し、アプリケーションの購入と同時に当該アプリケーションの実体(パッケージ)が入手されるとは限らない。アプリケーションの実体は、プロダクトキーに基づいて別途ダウンロード等されてもよい。
また、インストール先の画像形成装置20の指定は、例えば、機器管理装置10がネットワーク30上に接続されている画像形成装置20を検索し、検索された画像形成装置20の一覧を表示させ、当該一覧の中からインストール先を選択させることにより受け付けてもよい。または、インストール先の画像形成装置20のIPアドレスやホスト名が直接入力されてもよい。
続いて、機器管理装置10は、ライセンスの設定対象として指定された画像形成装置20(以下、「対象機器」という。)に対して、機器情報の取得を要求する(S102)。対象機器は、要求に応じ、対象機器の機器情報を機器管理装置10に返信する(S103)。なお、機器情報には、機体番号が含まれる。機体番号とは、各画像形成装置20を一意に識別するための識別情報である。また、対象機器にインストールされているアプリケーションの一覧情報等が機器情報に含まれていてもよい。
続いて、機器管理装置10は、プロダクトキー及び機器情報を指定してライセンスの発行要求をライセンス管理サーバ50に送信する(S104)。
ライセンス管理サーバ50は、ライセンスの発行要求に応じ、ライセンス発行の可否判定を行う(S105)。ここで、ライセンス発行の可否判定の内容は、ライセンス管理方式応じて異なりうる。例えば、図6に示されるようなライセンス管理テーブルがライセンス管理サーバ50において管理され、当該ライセンス管理テーブルに基づいて、ライセンス発行の可否判定が行われてもよい。
図6は、ライセンス管理テーブルの構成例を示す図である。同図においてライセンス管理テーブルは、アプリケーションに対するライセンスごとに管理番号、プロダクトキー、プロダクトID、機体番号、ステータス、ライセンス有効期間、ライセンス有効期限、及びライセンス発行日等の項目を有する。
これらの項目のうち、管理番号、プロダクトキー、プロダクトID、ステータス、及びライセンス有効期間は、アプリケーションが購入された際にライセンス管理テーブルに記録される。
一方、機体番号、ライセンス有効期限、及びライセンス発行日は、ライセンスの発行(ライセンスファイルの発行)に応じて記録される。また、ライセンスの発行に応じて、ステータスの値も更新される。
管理番号は、ライセンス管理テーブルに対するレコードの生成に伴って、各レコードに一意に割り当てられる識別子(番号)である。プロダクトキーは、上述した通りである。プロダクトIDは、各アプリケーションに一意に割り当てられた識別子である。ここでいう「各アプリケーション」とは、アプリケーションの実体ごとという意味ではなく、製品としてのアプリケーションごとという意味である。したがって、同一製品(同一のアプリケーション名)であるアプリケーションには同一のプロダクトIDが付与される。なお、本実施の形態において、プロダクトIDとプロダクトキーとは明確に区別される。すなわち、プロダクトIDは、製品としてのアプリケーションの異同を区別するものであるのに対し、プロダクトキーは、アプリケーションの購入という行為を区別するためのものである。したがって、同一のプロダクトIDに対し、アプリケーションの購入のたびに異なるプロダクトキーが発行される。ライセンス有効期間は、ライセンスが有効な期間を示す。
機体番号には、ライセンスファイルが発行される際に、ライセンスの設定先として指定された画像形成装置20の機体番号が登録される。ステータスは、ライセンスの状態を示す情報である。例えば、ライセンスは、「ライセンス無し」、「チェックアウト」、及び「チェックイン」の状態を有する。「ライセンス無し」は、ライセンスが発行されていない状態である。チェックアウトは、ライセンスが発行されている状態である。チェックインは、ライセンスが返却されている(使用可能な)状態である。ライセンス有効期限は、ライセンスファイルが発行される際に、ライセンス有効期間に基づいて算出されるライセンス(ライセンスファイル)の有効期限である。ライセンス発行日は、ライセンスファイルが発行される際に登録される、ライセンス(ライセンスファイル)の発行日である。
以上のようなライセンス管理テーブルが用いられている場合、ライセンス管理部222サーバ50は、例えば、受信されたプロダクトキーを含むレコードがライセンス管理テーブルに登録されており、当該プロダクトキーを含むレコード(以下、「対象レコード」という。)のステータスが「チェックアウト」でなく、かつ、当該プロダクトキーを含むレコードのライセンス有効期限が現時点を超えていない場合(ライセンス有効期限の値が登録されていない場合も含む。)、当該プロダクトキーは有効であると判定し、それ以外の場合は、当該プロダクトキーは無効であると判定する。
当該プロダクトキーは無効であると判定された場合、ライセンス管理サーバ50は、プロダクトキーが無効であることを示すエラー情報を機器管理装置10に返信する。この場合、機器管理装置10は、当該エラー情報を表示装置に表示させ、ライセンスの設定作業を中止させる。
当該プロダクトキーが有効であると判定された場合、ライセンス管理サーバ50は、例えば、プロダクト管理テーブルにおける対象レコードを更新し、ライセンスファイルを生成する。すなわち、対象レコードに対して、受信された機体番号が記録され、対象レコードのステータスが「チェックアウト」とされる。また、現時点(現在の年月日)に対象レコードの有効期間を加算した時期を示す値が対象レコードの有効期限に記録される。また、現在の年月日が対象レコードのライセンス発行日に記録される。対象レコードが更新されることにより、同一のプロダクトキーに対してライセンス可能な範囲を超えてライセンスファイルが発行されることが防止される。
ライセンスファイルは、例えば、図7に示されるような構成を有するように生成される。図7は、ライセンスファイルの構成例を示す図である。同図において、ライセンスファイルは、プロダクトID、機体番号、及び有効期限を含む。プロダクトIDは、当該ライセンスファイルによってライセンスが付与される(利用が許可される)アプリケーションのプロダクトIDである。機体番号は、当該ライセンスファイルによってプロダクトIDに係るアプリケーションの利用が許可される画像形成装置20の機体番号である。有効期限は、当該ライセンスファイルの有効期限、すなわち、当該ライセンスファイルによって付与されるライセンスの有効期限である。
ライセンスファイルのプロダクトIDには、ライセンスの発行要求に含まれているプロダクトキーに係るプロダクトID(対象レコードのプロダクトID)が記録される。ライセンスファイルの機体番号には、ライセンスの発行要求に含まれている機体番号が記録される。ライセンスファイルの有効期限には、対象レコードに記録された有効期限が記録される。
なお、図7に示されるライセンスファイルはあくまでも一例であり、その構成は、ライセンス管理方式に応じて異なりうる。
続いて、ライセンス管理サーバ50は、生成されたライセンスファイルを機器管理装置10に返信する(S106)。なお、ライセンスファイルは、改竄等を防止するため、暗号化又はエンコードされて返信される。
続いて、機器管理装置10は、ライセンスの設定対象のアプリケーションのプロダクトIDと、ライセンスファイルとを対象機器に送信することにより、ライセンスの設定を対象機器に対して要求する(S107)。対象機器は、ライセンスの設定要求に応じ、ライセンスの設定処理を実行する(S108)。なお、当該プロダクトIDは、機器管理装置10がライセンスファイルより抽出すればよい。但し、この場合、機器管理装置10は、自らが対応するライセンス管理方式において採用されているライセンスファイルの暗号化方式又はエンコード方式に対応した復号処理又はデコード処理を実行する必要がある。それを回避したい場合は、プロダクトIDがライセンスファイルと共にライセンス管理サーバ50より機器管理装置10に返信されるようにしてもよい。
その後、機器管理装置10は、対象機器に対して、ライセンス設定処理の結果を問い合わせる(S109)。対象機器は、問い合わせに対し、設定処理の結果を返信する(S110)。機器管理装置10は、設定処理の結果を受信すると、当該結果を示す情報を表示装置に表示させる(S111)。
なお、ライセンス管理方式Bの場合、図5の処理過程において、図8に示されるインストール処理も実行される。
図8は、ライセンス管理方式Bの場合におけるアプリケーションのインストール処理の処理手順を説明するためのシーケンス図である。同図では、ライセンス管理方式Bの場合であるため、機器管理装置10は、機器管理装置10Bに限定されている。また、同図の処理は、図5の任意のタイミング(例えば、ステップS103とS104との間、又はステップS110の後等)に実行されればよい。
ステップS121において、機器管理装置10Bは、プロダクトIDを指定してアプリケーションBのダウンロード要求をパッケージ管理サーバ60Bに送信する。ステップS121がライセンスファイルの取得前に実行される場合は、機器管理装置10Bは、プロダクトキーに対応するプロダクトIDをステップS121の実行前にライセンス管理サーバ50に問い合わせればよい。ステップS121がライセンスファイルの取得後に実行される場合は、ライセンスファイルに含まれているプロダクトIDがステップS121において指定されてもよい。
続いて、パッケージ管理サーバ60Bは、プロダクトIDに対応するアプリケーションBのパッケージを機器管理装置10Bに返信する(S122)。続いて、機器管理装置10Bは、取得されたアプリケーションBのインストール要求を対象機器に送信する(S123)。対象機器は、インストール要求に伴って受信されるアプリケーションBのインストール処理を実行する(S124)。
続いて、図8のステップS124に関して、画像形成装置20Aにおいて実行される処理の詳細について説明する。
図9は、画像形成装置20AによるアプリケーションBのインストール処理の処理手順を説明するためのフローチャートである。
機器管理装置10BからのアプリケーションBのインストール要求は、ライセンス通信制御部221Bによって受信される(S201)。ライセンス通信制御部221A及びライセンス通信制御部221Bは、相互に異なるポート番号によるポートを開いており、機器管理装置10A及び10Bは、それぞれが対応するポート番号を知っているからである。ライセンス通信制御部221Bは、インストール要求に伴って受信されたアプリケーションBをパッケージ変換部224に出力する。
パッケージ変換部224は、アプリケーションBのパッケージ形式をパッケージ形式Bからパッケージ形式Aに変換する(S202)。
図10は、パッケージ形式Aの構成例を示す図である。同図において、パッケージ形式Aのパッケージ(書庫ファイル)は、アプリ情報ファイル及びアプリケーションファイル等を含む。
アプリケーションファイルは、アプリケーションの実体(実行コード)である。アプリ情報ファイルは、アプリケーションの属性情報(アプリ情報)が記録されたファイルである。
図11は、アプリ情報ファイルの構成例を示す図である。同図において、アプリ情報ファイルには、プロダクトID、ライセンス管理対象フラグ、及びライセンス管理方式を示す情報等が記録されている。ライセンス管理対象フラグとは、アプリケーションがライセンス管理の対象であるか(true)否か(false)を示す情報である。本実施の形態においては、ライセンス管理方式Aとライセンス管理方式Bとが例示されているが、いずれのライセンス管理方式においても、フリーソフトのアプリケーション(すなわち、ライセンスを取得せずに使用可能なアプリケーション)が存在する。フリーソフトのアプリケーションに関してはライセンス管理対象フラグの値は「false」とされている。
したがって、パッケージ変換部224は、アプリケーションBのパッケージ形式を図10に示されるような形式に変換する。この際、図10に示される形式によるアプリ情報ファイルを必要に応じて生成する。アプリ情報ファイルに記録される情報をどのように入手するかについては、アプリケーションBのパッケージ形式によって異なる。例えば、アプリケーションBにおいても、アプリ情報ファイルに相当するファイルが含まれている場合、当該ファイルよりアプリ情報を抽出すればよい。なお、生成されるアプリ情報ファイルのライセンス管理方式の値は、ライセンス管理方式Bを示すものとされる。パッケージ形式がアプリケーションAに変換されたとしても、当該アプリケーションは、ライセンス管理方式Bに係るアプリケーションBだからである。
パッケージ変換部224は、パッケージ形式の変換後のアプリケーションBをA方式インストール部225の通信インタフェースに基づいて、すなわち、ネットワークを介したリモートインストールによって、A方式インストール部225に入力する。
続いて、A方式インストール部225は、パッケージ形式Aに変換されたアプリケーションBのインストール処理を実行する(S203)。インストール処理の一環として、A方式インストール部225は、アプリケーションの管理情報(以下、「アプリ管理情報」という。)を更新する。アプリ管理情報は、例えば、インストールされているアプリケーションのプロダクトIDとアプリケーションのインストール先との対応情報の一覧であり、HDD214に記録される。
このように、アプリケーションBがインストールされる場合、そのパッケージ形式は、パッケージ形式Aに変換されてインストールされる。一方、アプリケーションAのインストール要求は、A方式インストール部225に対して直接入力され、パッケージ形式の変換は行われることなく(すなわち、パッケージ形式Aのまま)インストールされる。したがって、画像形成装置20Aにインストールされたアプリケーションは、元のパッケージ形式がいずれであったとしても、パッケージ形式Aで管理される。すなわち、アプリ情報ファイルとアプリケーションファイルとが関連付けられた状態で管理される。
続いて、図5のステップS108に関して、画像形成装置20Aにおいて実行される処理の詳細について説明する。
図12は、画像形成装置20Aによるライセンス設定処理の処理手順を説明するためのフローチャートである。
機器管理装置10A又は10Bからのライセンス設定要求は、ライセンス通信制御部221A又はライセンス通信制御部221Bによって受信される(S301)。すなわち、機器管理装置10Aからのライセンス設定要求は、ライセンス通信制御部221Aによって受信される。機器管理装置10Bからのライセンス設定要求は、ライセンス通信制御部221Aによって受信される。
ライセンス設定要求を受信したライセンス通信制御部221は、ライセンス設定要求に伴って受信されたライセンスファイルを、当該ライセンス通信制御部221が対応するライセンス管理方式に従って処理する。例えば、ライセンスファイルは、HDD214の所定の記憶領域に記録される。または、RAM212の所定の記憶領域に記録される。また、当該ライセンス通信制御部221は、ライセンス管理統合部223にライセンス設定処理の実行を要求する。この際、ライセンス通信制御部221は、自らの識別子等、処理対象とされているライセンスファイルのライセンス管理方式を識別可能な情報と、ライセンス設定要求に伴って受信されたプロダクトID(以下、「対象プロダクトID」という。)とをライセンス管理統合部223に指定する。
続いて、ライセンス管理統合部223は、対象プロダクトIDに係るアプリケーション(以下、「対象アプリケーション」という。)は当該画像形成装置20A(対象機器)内にインストールされているか否かをアプリ管理情報に基づいて判定する(S302)。対象アプリケーションがインストールされている場合(S302でYES)、ライセンス管理統合部223は、対象アプリケーションに関連付けられているアプリ情報ファイルを読み込む(S303)。
続いて、ライセンス管理統合部223は、対象プロダクトIDと、アプリ情報ファイルに記録されているプロダクトIDとを比較する(S304)。双方のプロダクトIDが一致する場合(S304でYES)、ライセンス管理統合部223は、対象アプリケーションがライセンス管理対象であるか否かをアプリ情報ファイルのライセンス管理対象フラグに基づいて判定する(S305)。対象アプリケーションがライセンス管理対象である場合(ライセンス管理対象フラグの値がtrueである場合)(S305でYES)、ライセンス管理統合部223は、対象アプリケーションのアプリ情報ファイルのライセンス管理方式の値と、ライセンス設定の要求元の識別子(ライセンス通信制御部221A又はライセンス通信制御部221Bの識別子)とが整合しているか否かを判定する(S306)。整合しているとは、アプリ情報ファイルのライセンス管理方式の値と、ライセンス設定の要求元の識別子とが、同じライセンス管理方式に対応した値であることをいう。
アプリ情報ファイルのライセンス管理方式の値と、ライセンス設定の要求元の識別子とが整合している場合(S306でYES)、ライセンス管理統合部223は、対象アプリのライセンス管理方式に対応するライセンス管理部222(ライセンス管理部222A又はライセンス管理部222B)をライセンス設定処理の実行主体として選択する(S307)。ライセンス管理統合部223は、選択したライセンス管理部222に対してライセンスの設定を要求する。
ライセンスの設定を要求されたライセンス管理部222は、ステップS301において所定の記憶領域に記録されたライセンスファイルを復号又はデコードして読み込み(解読し)、ライセンスファイルの有効性の有無を判定する(S308)。例えば、有効期限が切れていないか等が確認される。なお、ライセンスファイルをいずれの記憶領域から読み込むか、どのような復号又はデコード処理を実行するか、及び有効性の判定処理の処理内容等については、ライセンス管理方式ごと(ライセンス管理部222ごと)に異なりうる。
ライセンスファイルが有効である場合(S308でYES)、ライセンス管理部222は、対象アプリに対するライセンスの設定を行う(S309)。ライセンスの設定の具体的処理内容についてもライセンス管理方式ごと(ライセンス管理部222ごと)に異なりうる。但し、いずれのライセンス管理方式にであっても、ライセンスファイル又はライセンスファイルに記録されている情報を使用可能な状態とするための処理である点において共通する。例えば、ライセンスチェックに使用されるライセンスファイルが保存されるべき記憶領域に処理対象のライセンスファイルが保存されたり、ライセンスファイルに記録された内容が所定のテーブルに転記されたりする。
一方、ステップS302、S304、S305、S306、又はS308でNOの場合、ライセンス管理統合部223又は選択されたライセンス管理部222は、ライセンスの設定処理を中止する(S310)。したがって、ライセンスファイルは使用可能な状態とならない。
続いて、画像形成装置20Aにおけるアプリケーションの起動処理について説明する。図13は、画像形成装置20Aによるアプリケーションの起動処理の処理手順を説明するためのフローチャートである。
操作制御部226は、操作パネル25に表示されている画面(例えば、インストールされているアプリケーションの一覧画面)を介して、アプリケーションの起動要求を受け付ける(S401)。操作制御部226は、起動対象とされたアプリケーションのプロダクトID(以下、「対象プロダクトID」という。)を指定して、アプリケーションの起動処理の実行をライセンス管理統合部223に要求する。
ライセンス管理統合部223は、アプリ管理情報に基づいて、対象プロダクトIDに係るアプリケーション(以下、「対象アプリケーション」という。)がインストールされているか否かをアプリ管理情報に基づいて判定する(S402)。対象アプリケーションがインストールされている場合(S402でYES)、ライセンス管理統合部223は、対象アプリケーションに関連付けられているアプリ情報ファイルを読み込む(S403)。
続いて、ライセンス管理統合部223は、対象プロダクトIDと、アプリ情報ファイルに記録されているプロダクトIDとを比較する(S404)。双方のプロダクトIDが一致する場合(S404でYES)、ライセンス管理統合部223は、対象アプリケーションがライセンス管理対象であるか否かをアプリ情報ファイルのライセンス管理対象フラグに基づいて判定する(S405)。
対象アプリケーションがライセンス管理対象である場合(ライセンス管理対象フラグの値がtrueである場合)(S405でYES)、ライセンス管理統合部223は、対象アプリのライセンス管理方式に対応するライセンス管理部222(ライセンス管理部222A又はライセンス管理部222B)を対象アプリケーションの起動の可否判定の実行主体として選択する(S406)。ライセンス管理統合部223は、選択したライセンス管理部222に対して対象プロダクトIDを指定して対象アプリケーションの起動の可否判定を要求する。
アプリケーションの起動の可否判定の要求を受けたライセンス管理部222は、対応するライセンス管理方式に応じた処理によって対象アプリケーションの起動の可否判定を行う(S407)。例えば、指定されたプロダクトIDに対応するライセンスファイルが存在するか否か、当該ライセンスファイルの有効期限は切れていないか否か等が確認される。
ライセンス管理部222がアプリケーションの起動は可能であると判定すると、ライセンス管理統合部223は、対象アプリケーションを起動させる(S408)。また、対象アプリケーションが、ライセンスの管理対象で無い場合(S405でNO)、ステップS406及びS407は実行されることなく、対象アプリケーションはライセンス管理統合部223によって起動される(S408)。
一方、S402でNO、S404でNO、又はS407でNOの場合、対象アプリケーションの起動は拒否される(S409)。
上述したように、本実施の形態における画像形成装置20Aは、アプリケーションA及びアプリケーションBのいずれのアプリケーションについても、インストール及びライセンスの設定を行うことができる。したがって、図1においては、便宜上、機器管理装置10A及びライセンス管理サーバ50Aが機器管理システム1の構成要素とされているが、これらが存在しなくても、画像形成装置20Aに対するライセンス管理等は、機器管理装置10B、ライセンス管理サーバ50B、及びパッケージ管理サーバ60Bによって行うことができる。このことは、ライセンス管理方式が相互に異なる画像形成装置20A及び画像形成装置20Bに関して、統合的にライセンス管理等を行えることを意味する。したがって、複数のライセンス管理方式に対応した画像形成装置20が存在する環境においてライセンス管理に関する作業を簡便化することができる。
なお、本実施の形態では、説明の簡素化のため、二つのライセンス管理方式が混在した環境を例として説明したが、混在するライセンス管理方式の数は、三つ以上であってもよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。