説明

プログラム管理装置及び方法

【課題】画像形成装置の追加アプリケーションの管理を自動化する。
【解決手段】管理サーバ201は、画像形成装置202にインストール可能な追加アプリケーションの一覧情報を送信する(S410)。その一覧から利用するアプリケーションが選択されて実行が指示されると、それがインストールされていない場合には、インストールの要求が管理サーバに発行される。管理サーバ201は、要求されたアプリケーションのライセンスがあり、インストールが可能であれば、画像形成装置に要求されたアプリケーションをインストールする(M470)。一方、リソース不足等でインストールできない場合には、掃き出し処理によりリソースを解放して(M470)、インストールする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機能の付加や削除を行える画像形成装置に関し、特に追加機能を実現するためのアプリケーションおよびライセンスを管理する管理するプログラム管理装置及び方法に関する。
【背景技術】
【0002】
高機能の画像形成装置には、機能追加用のプラットフォームを提供し、そのプラットフォームで稼働するアプリケーションプログラム(以下、単にアプリケーションと称する。)のインストールにより、新規機能の追加を行えるものがある。このアプリケーションは、不正利用や違法コピーを防ぐために、ライセンスの認証を経てインストールあるいは実行される。画像形成装置に対するアプリケーションのインストールは、ネットワークに接続されて画像形成装置を管理するデバイス管理装置により実行される場合もある。この場合には、管理者は個々の画像形成装置にアプリケーションをインストールせず、デバイス管理装置を介して対象となる画像形成装置にアプリケーションをインストールする。なお、アプリケーションのアンインストールについても同様である。またラインセンスの管理もデバイス管理装置を介して実行できる。
【0003】
いずれの方法であっても、画像形成装置は一般にアプリケーションで利用可能な資源が限られているために、利用していないアプリケーションに関しては、アンインストールするのが望ましい。そこでリソース管理の徹底のために、アプリケーションのインストール、使用、アンインストールを一連の処理として実行する方法が提案されている(たとえば特許文献1等参照)。
【0004】
一方、パーソナルコンピュータ用のアプリケーションなどには、フローティングライセンス管理と呼ばれるライセンス管理方式がある。フローティングライセンス管理では、ライセンスサーバを用意し、アプリケーションを使用するクライアントコンピュータはライセンスサーバからライセンスの供与を受ける。クライアントは、アプリケーションの使用中はつねにライセンスサーバと通信を行う。通信が途絶えるとライセンスは失効し、クライアントはアプリケーションを使用できない。ライセンスサーバは同時に供与できるライセンスの数を制限したり、供与先クライアントを制限したりすることができる。
【0005】
フローティングライセンス方式として、動作機能実行ユニットの機能毎にアプリケーションのライセンスを供与でき、アプリケーションの使用頻度に応じてライセンス契約できるライセンス管理システムが提案されている(例えば特許文献2等参照)。また、クライアントからライセンス要求に対して発行可能なライセンスが存在しない場合、他のライセンスを初期化して、配布可能なライセンスを確保するライセンス管理システムも提案されている(例えば特許文献3等参照)。
【0006】
これらのフローティングライセンス管理方式では、ライセンスはアプリケーションの実行時に付与され、ライセンスがなくとも当該アプリケーションのインストールは可能である。そのため、ライセンスは、アプリケーションを実行するユーザに対してサーバによって動的に付与され、ライセンス管理を自動化することができる。
【0007】
しかしながら、フローティングライセンス管理では、ライセンスの対象となるアプリケーションは、ライセンスを受ける可能性がある間は対象となる装置(たとえばコンピュータ)にインストールされたままとなる。このためフローティングライセンス管理方式は、リソースが乏しい画像形成装置等の周辺機器には適していない。したがって画像形成装置に機能を付加するためのアプリケーションは、特許文献1に記載のように、追加機能を使用する都度インストールされ、使用後にアンインストールされることが望ましい。
【特許文献1】特開2005-208935号公報
【特許文献2】特開2003-122537号公報
【特許文献3】特開2004-126996号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、このようなアプリケーションの管理方式(これを、個別ライセンス管理方式と呼ぶことにする。)は、以下のような問題があった。
(1)未インストールアプリケーションの存在をユーザが知ることができない。すなわち、フローティングライセンス管理方式であれば、ライセンスが与えられていないアプリケーションも装置にインストールされるため、ユーザはその実行はできなくとも装置を通してアプリケーションの存在(すなわち追加機能の存在)を知ることはできる。これに対して、個別ライセンス方式では、装置を通して未インストールアプリケーションの存在をユーザが知ることができない。
(2)管理者によるライセンス管理が煩雑である。画像形成装置に同時にインストールできるアプリケーションの数はリソースによる制限がある。そのため管理者は、ユーザ要求の高いアプリケーションをインストールしておくか、あるいはユーザからの要求に応じてインストールされているアプリケーションの組み合わせを変更する必要があった。また、ユーザやオフィスの配置転換などに応じて、画像形成装置にインストールするアプリケーションを最適化することも必要となる。これは、一般に画像形成装置はそれを使用するユーザの最寄りの場所に配置されるためである。
(3)付加機能を用いた作業の連続性が失われる。個別ライセンス管理方式では、機能によっては、アプリケーションのアンインストールにより、コンテクスト(アプリケーションの状態すなわち設定やデータ)が失われて、作業の連続性が失われる場合がある。たとえば、電子メールの送信機能などでは、アプリケーションとともにアドレスリストがアンイストールされてしまうと、次回利用時にアドレスの入力からし直さねばならない。
(4)特許文献1のアプリケーション管理方法では、すくなくとも最初にアプリケーションをインストールして動作させるためのリソースを装置が有することを前提としている。インストールの際にリソースが不足している場合については考慮されていらず、当該アプリケーションをインストールできないことになる。
【課題を解決するための手段】
【0009】
本発明は上記従来例に鑑みて成されたもので、上記課題を解決することを目的とする。詳しくは、本発明は以下の構成を備える。
【0010】
すなわち、1または複数の画像形成装置と接続され、該画像形成装置にインストール可能なプログラムを管理するプログラム管理装置であって、
前記画像形成装置にインストール可能なプログラムの識別情報を含むプログラム情報と、前記プログラムのライセンスを示すライセンス情報とを保存する保存手段と、
前記保存手段に保存されたプログラム情報を前記画像形成装置に送信するプログラム情報の送信手段と、
前記画像形成装置からのプログラムの実行の要求に応じて、該プログラムのライセンスがある場合には、該プログラムを前記画像形成装置にインストールするために送信するプログラム送信手段とを備える。
【発明の効果】
【0011】
本発明によれば、未インストールアプリケーションの存在をユーザが知ることができる。また、管理者によるライセンス管理が簡易化される。また、付加機能を用いた作業の連続性が維持される。また、インストールの際にリソースが不足している場合についても対応可能である。
【発明を実施するための最良の形態】
【0012】
[第1実施形態]
本発明を実施する第1の実施形態を、図1,図2,図3,図4,図5,図6,図11,図12を参照して説明する。図2は、第1実施形態を実現するための構成を示す。画像形成装置202と管理サーバ201は、ネットワーク(LAN)200を介して接続される。画像形成装置202では、管理サーバ201と通信するためのサービス210が動作している。管理者は、管理サーバ201にはあらかじめ画像形成装置202に追加インストール可能なアプリケーション及びライセンスを登録しておく。すなわち管理サーバ201には、アプリケーションの名称等を含むプログラム情報と、そのプログラムのライセンスに関する情報を含むライセンス情報とを保存している。たとえば管理サーバ201はWEBサーバ機能を有し、管理者は管理者端末203のWEBブラウザを用いて管理サーバ201のWEBサーバにアクセスし、アプリケーションプログラム及びそのライセンスをアップロードする。管理者端末203では、オフラインで、あるいは、不図示のライセンスサーバにアクセスして、画像形成装置にインストールできるアプリケーションプログラムとライセンスとを取得しておく。ライセンスは、所定台数(たとえば1台)の画像形成装置でアプリケーションプログラムの実行がその提供者により許可されていることを示す。たとえば、ライセンスは、ライセンスの内容を示すライセンス情報により示される。本実施形態では、画像形成装置は、アプリケーションプログラムとともにインストールされたライセンスを示すライセンス情報により、当該アプリケーションプログラムがライセンスされていることを判定する。このほか、管理サーバと定期的にライセンスの確認を行うなどの方法でも、ライセンスを受けていることを判定できる。次に、画像形成装置202の一例として、多機能複写機(MFP)の構成を説明する。もちろんプリンタは通常の複写機など、画像形成機能を有するコンピュータ周辺デバイスは画像形成装置に含まれる。
【0013】
<画像形成装置のハードウェア構成>
図12は、画像形成装置202のハードウェア構成を示すブロック図である。制御ユニット111は、画像入力デバイスであるスキャナ113や画像出力デバイスであるプリンタ114と接続し、一方ではLAN100や公衆回線(WAN)と接続することで、画像情報やデバイス情報の入出力を行う。CPU301は、制御ユニット111全体を制御するコントローラである。RAM302は、CPU301が動作するために使用するシステムワークメモリである。また、RAM302は、画像データを一時記憶するための画像メモリでもある。ROM303には、システムのブートプログラムが格納されている。HDD304は、ハードディスクドライブであり、システムソフトウェア、画像データ等を格納する。なおインストールされたアプリケーションプログラムは、本実施形態ではバックアップされたRAMあるいは消去可能なROMといったメモリデバイスに格納される。もちろんハードディスクに格納されても良い。
【0014】
操作部I/F306は、操作部(UI)112との間のインタフェースを司り、操作部112に表示すべき画像データを操作部112に対して出力する。また、使用者が操作部112を介して入力した情報を、CPU301に伝える役割を果たす。ネットワークインタフェース(Network)308は、LAN200との接続を司り、LAN200に対して情報の入出力を行う。モデム(MODEM)309は、公衆回線との接続を司り、公衆回線に対して情報の入出力を行う。以上のデバイスがシステムバス307上に配置される。
【0015】
イメージバスインターフェース(Image Bus I/F)305は、システムバス307と画像データを高速で転送する画像バス310とを接続し、データ構造を変換するバスブリッジである。画像バス310は、PCIバスまたはI15E1394で構成される。画像バス310には以下のデバイスが配置される。ラスタイメージプロセッサ(RIP)311は、ネットワークから送信されたPDLコードをビットマップイメージに展開する。デバイスI/F部312は、画像入出力デバイスであるスキャナ113やプリンタ114と制御ユニット111とを接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部313は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部314は、プリント出力画像データに対して、プリンタ114の性能に応じた補正、解像度変換等を行う。画像回転部315は画像データの回転を行う。画像圧縮部316は、多値画像データに対してはJPEG圧縮伸長処理を行い、2値画像データに対してはJBIG、MMR、MHの圧縮伸長処理を行う。
【0016】
<画像形成装置のソフトウェア構成>
図11は、画像形成装置202において、組み込みアプリケーションの追加や削除等の管理や、その実行するためのソフトウェア構成を示す図である。なお、画像形成装置202が提供するプラットフォーム上で動作し、追加や削除が可能なアプリケーションを特に追加アプリケーションと呼ぶ。
【0017】
リアルタイムOS1101は画像形成装置全体を制御するリアルタイムオペレーティングシステムであり、組み込みアプリケーションの制御に最適化された各種資源管理のサービスと枠組みを、その上で動作するソフトウェアのために提供する。コントローラ111は、リーダ部、プリンタ部など、画像形成装置のハードウェアを制御し、また、プリント、スキャン、画像変換などを利用するジョブを制御する。組み込みアプリケーション1103は主にコントローラ111の機能を利用して実現される、コピー、ボックス、送信などの機能を実現するプログラムであり、ユーザインタフェースを含む。JVM1104はJAVA(登録商標)仮想マシンであり、画像形成装置上でJAVA(登録商標)プログラムを動作させるためのインタプリタなどが含まれている。JVM1104が、追加アプリケーションのプラットフォームを提供する。
【0018】
OSGiフレームワーク1105は、JVM1104上で動作するアプリケーションのライフサイクルを管理するコンポーネントである。OSGiフレームワーク1105は、アプリケーションのインストールおよびアンインストール、起動および停止などを管理する。この仕組みは、管理サービスの標準技術の一つである「OSGi Framework」という標準技術に対応した作りとなっている。OSGiフレームワークの詳細については「OSGi Service Platform Release 2,October 2001,OSGi」に記載されている。すなわち、OSGiフレームワーク1105がサービス210に相当し、本実施形態における画像形成装置によるアプリケーションのインストールやアンインストール、実行等の動作は、OSGiフレームワーク1105により実現される。
【0019】
装置制御用クラスライブラリ1106は、追加アプリケーションがコントローラ111を介して画像形成装置のプリンタやスキャナなどの機器制御を行うためのインタフェースを提供するライブラリである。ユーティリティクラスライブラリ1107は、追加アプリケーションに対して、画像処理装置のもつ各種の機能を提供するライブラリである。イメージングクラスライブラリ1108は、基本的なイメージ処理機能を提供するライブラリであり、画像イメージのサイズの縮減、画像のフォーマット変換などの処理を行う。
【0020】
MIBエージェントクラスライブラリ1109は、画像形成装置に設定されているMIB(Management Information Base)情報を取得し、設定する為のライブラリである。セキュリティクラスライブラリ1110は、JAVA(登録商標) の標準暗号セキュリティパッケージ(JCE およびJSSE)に相当するインタフェースを提供するライブラリである。USBコモンクラスライブラリ1111は、USB経由の通信機能を提供するライブラリである。
【0021】
追加アプリケーション1112は、JAVA(登録商標)プログラムで記述され、画像形成装置に対して動的に追加および削除することが可能なアプリケーションプログラムである。追加アプリケーションは、3タイプに分類される。第1は操作部112にユーザインタフェースを表示するアプリケーションであるアプレットタイプである。第2は、ネットワーク上のウエブブラウザ上にユーザインタフェースを表示するサーブレットタイプである。第3は、ユーザインタフェースを持たないエスプレットタイプである。追加アプリケーションをインストールすることによって、画像形成装置の機能を拡張することができる。
【0022】
システムインターフェースサービス (SIS)1113は、追加アプリケーションと画像形成装置の間の情報交換機能を提供するサービスである。アプリケーションからの依頼を受け、例えば電源状態の変更などのイベントをアプリケーションに通知したり、アプリケーションから機器に対してLEDやブザーの制御を依頼したりするのに用いられる。
【0023】
アプレットビューワサービス1114 はアプレットタイプのサービスの登録、表示、切り替えなどをおこなうサービスである。また、アプレットタイプの追加アプリケーションに対してイベントの通知も行う。
【0024】
HTTPサービス1116は、HTTP及びHTTPSによる通信を行うコンポーネントである。このHTTPサービスの機能によって、ネットワーク上のウエブブラウザ(すなわち管理者端末)からシステムアプリケーションや追加アプリケーションにアクセスすることが可能となる。
【0025】
サービスマネジメントサービス(SMS)1115は、追加アプリケーションの管理を行うためのユーザインタフェースを提供するサービスである。SMS1115は、アプリケーションの管理機能として以下の機能を持つ。
・一覧表示:アプリケーション名、インストール日、アプリケーションID、状態、ライセンス状態、資源(リソース)使用状況などのプログラム情報、あるいはその一部を一覧表示する。
・インストール:アプリケーションのインストールを行う。
・アンインストール:デバイス上からアプリケーションを完全に削除する。なお、アプリケーションは、ライセンスが無効化されていない状態ではアンインストールできない。
・開始:停止状態のアプリケーションを起動および開始する。
・停止:開始状態(実行状態)のアプリケーションを停止する。
・ライセンスのインストール:ライセンスを必要とするアプリケーションのライセンスファイル(すなわちライセンス情報)のインストールをおこなう。
・ライセンスの無効化:アプリケーションのライセンスを無効化し、ライセンスファイルをデバイスから管理サーバに取り出せる状態にする。
・ライセンスのダウンロード:無効化されたライセンス(ライセンスファイル)を管理サーバにアップロードする。アップロードされたライセンスは同じ画像形成装置に再インストールが可能である。また、ネットワーク上の他の画像形成装置に対してもインストールできる。
・認証アプリケーションの切り替え:認証用アプリケーションの切り替えを行う。切り替え後は機器の再起動が必須である。
・表示順の変更:操作部上のアプリケーションの表示順を変更する。
・システム情報の表示:システム情報を表示する。
・アプリケーション情報一覧:アプリケーションのライセンス内容を含めた情報を一覧表示する。
・アプリケーションの履歴一覧:アンインストールしたアプリケーションの一覧を表示する。
・パスワードの変更:SMSにログインする際のパスワードを変更する。
【0026】
本実施形態の画像形成装置は、以上のようなソフトウェアの構成を有する。なお、ここではJAVA(登録商標)をプラットフォームとしたが、他の言語処理系であってもよい。追加アプリケーションのプラットフォームは、望ましくはアプリケーションがハードウェア非依存となるようなものが望ましい。
【0027】
図3は、画像形成装置202のメモリマップ300である。メモリ空間はあらかじめ用途に応じて分割されている。すなわち、OS領域(301)、ファームウェア領域(302)、常時動作する必要のあるアプリケーションのための領域(303)、追加アプリケーションのための領域(310)などである。さらにそれぞれのソフトウェアが動作するために使用するいわゆるワークエリアやスタック領域といったメモリ領域(304)もある。図3には、追加アプリケーション領域310に、アプリケーション1、2、3がそれぞれ領域311、312、313にインストールされている。領域314は未使用領域である。未使用領域314は、追加アプリケーションを新規にインストールできる領域である。未使用領域314は、インストール可能なプログラムのサイズの上限である。このように、リソースの制限により、追加アプリケーションをインストールできない場合がある。なお、この例ではリソース制限としてメモリサイズに着目したが、もちろんそのほかのリソース制限でも同様である。例えば、画像形成装置にインストールできるアプリケーションの数が制限されていたり、画像形成装置のインタフェースの仕様からアプリケーションと画像形成装置がリンクするために使用するハンドルやポートの数やサイズが制限されていたりすることもある。
【0028】
<管理サーバおよび画像形成装置による処理手順>
図4のフローチャートを用いて処理の流れを説明する。このフローチャートでは、ユーザが使用可能なアプリケーションを任意に選択して起動する処理を説明するものである。フローチャートの左側がサービス210(すなわち画像形成装置202)の動作を示し、右側が管理サーバ201の処理を示している。
【0029】
画像形成装置202のサービス210によるステップS410と管理サーバ201によるステップM410において、両者が通信して、情報の授受を行う。イニシエータはいずれであっても良い。S410において、サービス210は、自身の機器情報と現在インストールされているアプリケーションの状態およびリソースの状況を管理サーバ201に送信する。リソースの状況には、利用可能なリソースの種類や空き容量等が含まれる。M410において、管理サーバ201は、受信した機器情報から、画像形成装置202において稼動可能な追加アプリケーションの一覧情報を作成する。アプリケーションによっては、動作する機器の種類や装備情報によって動作の可否が変わるものがあるためである。作成された、画像形成装置で稼動可能なアプリケーション一覧情報を、管理サーバ201はサービス210に送信する。サービス210は通知されたプリケーション一覧情報をUIのパネルに表示する。
【0030】
図5は、画像形成装置202と管理サーバ201が通信して授受する情報の一例の一覧である。画像形成装置202から管理サーバ201が受信する機器情報501には、画像形成装置の機種名5011、装置の固有番号5012、装置のバージョン5013、アプリケーションのバージョン5014、リソース情報等が含まれる。アプリケーションのバージョンは、たとえば追加アプリケーションのプラットフォームのバージョン情報である。リソース情報には、メモリの空き容量5015、ハードディスクの空き容量5016,その他のリソースの利用可能容量5017、5018が含まれている。管理サーバ201が作成して保存し、画像形成装置202に送信するプログラム情報502には、画像形成装置202にインストール可能なアプリケーションの総数5021と個々のアプリケーションに関するアプリケーション情報が含まれる。アプリケーション情報としは、例えば識別情報などがある。またアプリケーション情報には、アプリケーションの名称5022、アプリケーションの概要5023、アプリケーションのステータス5024等が含まれる。アプリケーションの概要は、たとえば予め記述された文字列である。またアプリケーションのステータスは、当該画像形成装置202にインストール可能であることや、必要なライセンスがないこと、既にインストール済みであることなどを示す状態を示す。
【0031】
図1は、画像形成装置202によるS401において、サービス210が提供するUIコンソールパネルを示した図である。パネル10は、ユーザがパネル切り替えボタンで「アプリ選択」10aを選択したときに表示されるパネルである。画像形成装置202のサービス210は、図5で示した管理サーバ201から受け取ったアプリケーション一覧情報からアプリケーション名を得ている。パネルに表示されるアプリケーション起動ボタンのラベルとして、プリケーション名を付与したアプリケーション起動ボタンAP1(11)〜AP9(19)の表示を行う。このとき、たとえばインストールできない状態のアプリケーションに対応するボタンをグレーアウトするなどしてもよい。
【0032】
ステップS420で、ユーザによる、画像形成装置202のUIパネル10に表示されているアプリケーションのいずれかを選択した起動リクエストを受け付ける。ステップS430で、サービス210は、S420でユーザによって選択された追加アプリケーションがすでに画像形成装置202にインストールされている状態であるかどうか判断する。もしインストール済みであるならば、ステップS490に進み、選択されたアプリケーションを起動し、アプリケーション起動のシーケンスは完了する。一方ユーザによって選択されたアプリケーションが未インストール状態であったならば、S440でサービス210は管理サーバ201に対して選択されたアプリケーションのインストールを依頼する。
【0033】
管理サーバ201は、サービス210からのインストール依頼をM420で受信する。管理サーバ201は、依頼を受けたアプリケーションがライセンスを必要とするアプリケーションかどうか判断する。もしライセンスが必要な場合、依頼元の画像形成装置202に割り当てるためのライセンス(すなわちライセンス情報)を保有しているかどうか判定する。もしも必要なライセンスがない場合には、画像形成装置202のサービス210によるインストール依頼の返事として「ライセンス不足」を応答する。ライセンスが必要ないか、画像形成装置202に割り当てるライセンスがある場合には、「ライセンスOK」を送信する。
【0034】
ライセンス不足の通知を受けたサービス210は、S460でUIパネルに「ライセンス不足」メッセージを表示し、ユーザの指定したアプリケーションの起動ができないことを通知して、処理を終了する。S440のインストール依頼に対して、「ライセンスOK」の通知を受けた場合は、画像形成装置202は、管理サーバ201からの次の処理を待機する。
【0035】
一方管理サーバ201は、ステップM430において、「ライセンス不足」であると判断した場合は、ステップM480に移行し、処理を終了する。一方、要求された追加アプリケーションの利用が可能すなわち「ライセンスOK」であると判断した場合は、ステップM440へ移行し、依頼元の画像形成装置202に則したライセンスを用意する。ライセンスは、違法使用、違法複製を抑制するために指定した装置でしか動作しないように、装置固有情報を埋め込むことがある。ステップM440では、ステップM410で収集した機器情報501から、依頼元画像形成装置202の固有情報をライセンスに組み込む作業を行う。あるいはもともと管理サーバ201側に装置ごとのライセンスが保管されていた場合は、該当する装置のライセンスを選択する作業を行う。
【0036】
次に、ステップM450において、管理サーバ201は、M410で取得した依頼元装置で利用可能なリソース(図3の空きリソース314)が、指定されたアプリケーションが使用するリソース要件を満足しているかどうかを判断する。インストールするためのリソース要件を依頼元装置が満足していないと判断したら、ステップM460で掃き出し処理をサービス210に指示する。すなわち、依頼元画像形成装置のリソースが、図10(a)のように、すでにアプリケーション(AP)1、AP2、AP3により使用されていた場合である。新たにAP4をインストールしようとしても、AP4が必要とするするリソースが空いていないためにインストールできない状態となっている。
【0037】
サービス210では、掃き出し指示(掃き出し要求)に応じて、ステップS470で掃き出し処理を行う。掃き出し処理とは、すでに依頼元画像形成装置にインストールされている追加アプリケーションを復旧できるようにアンインストールし、依頼された追加アプリケーションが必要とするリソースを解放する処理である。処理の詳細については、図6のフローチャートを用いて後述する。
【0038】
掃き出し処理が完了した、あるいはステップM450で依頼元装置の余剰リソースが指定したアプリケーションの使用するリソース要件を満足していたら、ステップM470へ移行する。ステップM470では、指定アプリケーション(すなわちプログラム)をインストールするために送信し、管理サーバ201側の処理は終了する。すなわちステップS470はプログラム送信を行う。
【0039】
一方画像形成装置202は、ステップS480で管理サーバ201と連携してアプリケーションのインストールを実行し、ステップS490でインストールされたアプリケーションを起動する。
【0040】
次に画像形成装置202による掃き出し処理について図6のフローチャートと図10を用いて説明する。まずステップ610で掃き出し指示処理が起動される。ステップ620でインストールする追加アプリケーションのリソース要件を導く。ステップ630で、インストール先の画像形成装置に既にインストールされているアプリケーションから掃き出し対象となるアプリケーションを選択する。このときの選択するアプリケーション選択基準としては以下の要件が考えられる。すなわち、インストールするアプリケーションが要求するリソースを確保するのに充分なリソースを解放できるアプリケーションである。あるいは使用率が少ないアプリケーションである。あるいは管理者によって解放対象として指定されているアプリケーションである。などである。使用率は、画像形成装置から機器情報の一部として受信できる。使用率とは、たとえば画像形成装置の稼働時間中に占める当該追加アプリケーションの実効時間等でよい。また、リソースが十分か否かは、画像形成装置から受信したリソース情報が示す空きリソースと、アプリケーションのアンインストールにより解放されるリソースとを合わせたリソースを、追加アプリケーションが必要とするリソースとを比較して判定できる。管理サーバ201は、各追加アプリケーションが必要とするリソースに関する情報を有しているから、アンインストールにより解放されるリソースを、その情報から得ることができる。
【0041】
ステップ640では、ステップ630で掃き出し対象として選択されたアプリケーションのバックアップ処理を行う。バックアップ処理とは、アプリケーションが再びインストールされたときに元の状態に復旧できるようにアプリケーションに特有の設定情報などを管理サーバ201側で保存することである。なお、設定情報に加えて、アンインストール時点での追加プログラムの状態(コンテクスト)を保存してもよい。
【0042】
ステップ650で、画像形成装置に対して掃き出し対象アプリケーションのアンインストールを指示する(図10(b)の状態)。画像形成装置は、この指示に応じてアプリケーションをアンインストールする。これによって、このアプリケーションが占有していたリソースが解放される(図10(c)の状態)。
【0043】
ステップ660では、ステップ650においてアンインストールしたアプリケーションにより解放されたリソースによって、画像形成装置202のリソースが、インストールするアプリケーションの要求するリソース要件を満足しているかどうか判定する。もしまだ要件を満たしていない場合は、ステップ630へ戻る。指定されたアプリケーションがインストールできるリソース要件を満足させて、掃き出し処理は終了する。
【0044】
なお、説明のために、ユーザが選択するアプリケーションは新規のインストールである、と仮定していたが、掃き出し処理によってアンインストールされたアプリケーションの再インストールの場合もある。この場合は、M470のインストールの際に、アプリケーションとライセンスのインストールと同時に、図6のステップ640でバックアップしたアプリケーション特有の設定情報をリストア(再設定)することで掃き出される前の状態に戻る。
【0045】
上記構成及び手順により、画像形成装置にインストールされていないアプリケーション(すなわち機能)の存在をユーザが知ることができる。また、管理者によるライセンス管理が簡易化される。また、追加アプリケーション(すなわち付加機能)を用いた作業の連続性が維持される。また、インストールの際にリソースが不足している場合についても対応可能である。
【0046】
[第2実施形態]
本発明を実施する第2の形態形態を、図7から図9を用いて説明する。図7は、実施形態2を実現するための構成を示す。本実施形態では、第1の画像形成装置からの追加アプリケーションの要求に対して、第2の画像形成装置による当該アプリケーションの利用により応じられない場合に、ライセンスを第2の画像形成装置から回収して再利用する。
【0047】
図7において、第1の画像形成装置202aおよび第2の画像形成装置202bと管理サーバ701は、ネットワーク(LAN)200を介して接続される。
【0048】
画像形成装置202aおよび画像形成装置202bでは、管理サーバ201と通信するためのサービス(711)とサービス(721)がそれぞれ動作している。各画像形成装置は、第1の実施形態の画像形成装置202と同じ構成を有する。管理サーバも、サーバコンピュータの構成を有している。
【0049】
図8のフローチャートを用いて処理の流れを説明する。このフローチャートでは、ユーザが使用可能なアプリケーションを任意に選択して起動する処理を説明するものである。フローチャートの左側が画像形成装置202a,202bのサービスの動作を示し、右側が管理サーバ201側の処理を示している。なお図4と共通するステップには共通の符号を付与した。
【0050】
画像形成装置202のサービス210によるステップS410と管理サーバ201によるステップM410において、両者が通信して、情報の授受を行う。イニシエータはいずれであっても良い。S410において、サービス210は、自身の機器情報と現在インストールされているアプリケーションの状態およびリソースの状況を管理サーバ201に送信する。リソースの状況には、利用可能なリソースの種類や空き容量等が含まれる。M410において、管理サーバ201は、受信した機器情報から、画像形成装置202において稼動可能な追加アプリケーションの一覧情報を作成する。アプリケーションによっては、動作する機器の種類や装備情報によって動作の可否が変わるものがあるためである。作成された、画像形成装置で稼動可能なアプリケーション一覧情報を、管理サーバ201はサービス210に送信する。サービス210は通知されたプリケーション一覧情報をUIのパネルに表示する。
【0051】
図5は、画像形成装置202と管理サーバ201が通信して授受する情報の一例の一覧である。画像形成装置202から管理サーバ201が受信する機器情報501には、画像形成装置の機種名5011、装置の固有番号5012、装置のバージョン5013、アプリケーションのバージョン5014、リソース情報等が含まれる。アプリケーションのバージョンは、たとえば追加アプリケーションのプラットフォームのバージョン情報である。リソース情報には、メモリの空き容量5015、ハードディスクの空き容量5016,その他のリソースの利用可能容量5017、5018が含まれている。管理サーバ201が作成して保存し、画像形成装置202に送信するプログラム情報502には、画像形成装置202にインストール可能なアプリケーションの総数5021と個々のアプリケーションに関するアプリケーション情報が含まれる。アプリケーション情報には、アプリケーションの名称5022、アプリケーションの概要5023、アプリケーションのステータス5024等が含まれる。アプリケーションの概要は、たとえば予め記述された文字列である。またアプリケーションのステータスは、当該画像形成装置202にインストール可能であることや、必要なライセンスがないこと、既にインストール済みであることなどを示す状態を示す。
【0052】
図1は、画像形成装置202によるS401において、サービス210が提供するUIコンソールパネルを示した図である。パネル10は、ユーザがパネル切り替えボタンで「アプリ選択」10aを選択したときに表示されるパネルである。画像形成装置202のサービス210は、図5で示した管理サーバ201から受け取ったアプリケーション一覧情報からアプリケーション名を得ている。パネルに表示されるアプリケーション起動ボタンのラベルとして、プリケーション名を付与したアプリケーション起動ボタンAP1(11)〜AP9(19)の表示を行う。このとき、たとえばインストールできない状態のアプリケーションに対応するボタンをグレーアウトするなどしてもよい。
【0053】
ステップS420で、ユーザによる、画像形成装置202のUIパネル10に表示されているアプリケーションのいずれかを選択した起動リクエストを受け付ける。ステップS430で、サービス210は、S420でユーザによって選択された追加アプリケーションがすでに画像形成装置202にインストールされている状態であるかどうか判断する。もしインストール済みであるならば、ステップS490に進み、選択されたアプリケーションを起動し、アプリケーション起動のシーケンスは完了する。一方ユーザによって選択されたアプリケーションが未インストール状態であったならば、S440でサービス210は管理サーバ201に対して選択されたアプリケーションのインストールを依頼する。
【0054】
管理サーバ201は、サービス210からのインストール依頼をM420で受信する。管理サーバ201は、依頼を受けたアプリケーションがライセンスを必要とするアプリケーションかどうか判断する。もしライセンスが必要な場合、依頼元の画像形成装置202に割り当てるためのライセンス(すなわちライセンス情報)を保有しているかどうか判定する。もしも必要なライセンスがない場合には、画像形成装置202のサービス210によるインストール依頼の返事として「ライセンス不足」を応答する。ライセンスが必要ないか、画像形成装置202に割り当てるライセンスがある場合には、「ライセンスOK」を送信する。
【0055】
ライセンス不足の通知を受けたサービス210は、S460でUIパネルに「ライセンス不足」メッセージを表示し、ユーザの指定したアプリケーションの起動ができないことを通知して、処理を終了する。S440のインストール依頼に対して、「ライセンスOK」の通知を受けた場合は、画像形成装置202は、管理サーバ201からの次の処理を待機する。
【0056】
一方管理サーバ201は、ステップM430において、「ライセンス不足」であると判断した場合は、ステップM840に移行する。必要なライセンスがない場合には、ステップ840において「空きライセンス取得処理」を実行する。「空きライセンス取得処理」とは、依頼元の第1画像形成装置202a以外の第2画像形成装置202bにインストールされているライセンスを強制的に回収する処理である。第1画像形成装置202a以外とは、第1画像形成装置202aではないことを意味している。処理の詳細について、図9のフローチャートを用いて後述する。
【0057】
ステップM850では、ステップM840でライセンスが取得(回収)できたかどうかの結果(「ライセンスOK」か「ライセンス不足」か)を、サービス211aによるインストール依頼に対する応答として送信する。画像形成装置202aのサービス211aは、S810で、ライセンスの取得結果通知を判断する。もし「ライセンス不足」という応答であったならば、S460で画像形成装置202aのUIパネルに「ライセンス不足」のメッセージを表示し、アプリケーションの起動に失敗したことをユーザに送信する。また「ライセンスOK」であると判断したら、管理サーバ201からの指示を待機する。
【0058】
管理サーバ201はステップM850で「空きライセンス取得処理」が成功したかどうか判定し、失敗していたらこのアプリ起動シーケンスは終了する。
【0059】
「空きライセンス取得処理」が成功した場合は、ステップM440でライセンス変換を行う。またステップS430で、要求された追加アプリケーションの利用が可能すなわち「ライセンスOK」であると判断された場合にもステップM440へ移行する。ステップM440では、依頼元の画像形成装置202に則したライセンスを用意する。ライセンスは、違法使用、違法複製を抑制するために指定した装置でしか動作しないように、装置固有情報を埋め込むことがある。ステップM440では、ステップM410で収集した機器情報501から、依頼元画像形成装置202の固有情報をライセンスに組み込む作業を行う。あるいはもともと管理サーバ201側に装置ごとのライセンスが保管されていた場合は、該当する装置のライセンスを選択する作業を行う。
【0060】
次に、ステップM450において、管理サーバ201は、M410で取得した依頼元装置で利用可能なリソース(図3の空きリソース314)が、指定されたアプリケーションが使用するリソース要件を満足しているかどうかを判断する。インストールするためのリソース要件を依頼元装置が満足していないと判断したら、ステップM460で掃き出し処理をサービス210に指示する。すなわち、依頼元画像形成装置のリソースが、図10(a)のように、すでにアプリケーション(AP)1、AP2、AP3により使用されていた場合である。新たにAP4をインストールしようとしても、AP4が必要とするリソースが空いていないためにインストールできない状態となっている。
【0061】
サービス210では、掃き出し指示(掃き出し要求)に応じて、ステップS470で掃き出し処理を行う。掃き出し処理とは、すでに依頼元画像形成装置にインストールされている追加アプリケーションを復旧できるようにアンインストールし、依頼された追加アプリケーションが必要とするリソースを解放する処理である。ステップM460における理の詳細については、図6のフローチャートを用いて説明した通りである。
【0062】
掃き出し処理が完了した、あるいはステップM450で依頼元装置の余剰リソースが指定したアプリケーションの使用するリソース要件を満足していたら、ステップM470へ移行する。ステップM470では、指定アプリケーションのインストールを行い、管理サーバ201側の処理は終了する。
【0063】
一方画像形成装置202は、ステップS480で管理サーバ201と連携してアプリケーションのインストールを実行し、ステップS490でインストールされたアプリケーションを起動する。
【0064】
次にステップS840における「空きライセンス取得処理」について、図9のフローチャートを用いて説明する。まず管理サーバ701はステップ910で空きライセンス取得処理を起動する。ステップ920で、依頼元の第1の画像形成装置202aが必要とするライセンスをすでに使用している依頼元以外の第2の画像形成装置202bを検索する。図8のM420において、管理サーバ701は、画像形成装置202aのサービス211aおよび画像形成装置202bのサービス211bとそれぞれ通信して機器情報を取得している。そこで、すべての画像形成装置に配布されているライセンスやアプリケーションの状態情報を管理サーバは有している。第2の画像形成装置が複数あったときには、たとえばもっとも使用率の低いライセンスを選択する。あるいは、使用されていない状態の画像形成装置202を選択する。このように、いろいろな選択基準が考えられる。いずれかの選択基準に基づいて、対象となる第2の画像形成装置202bを選択する。
【0065】
ステップ930では、選択した第2の画像形成装置202bが回収対象のライセンスを使用中であるかどうか判断する。もしも第2の画像形成装置が回収対象のライセンスを使用中であるならば、他の画像形成装置202を検索し、同じくライセンスが使用中かどうかを調べる。対象となるすべての第2の画像形成装置202bにライセンスが存在しないか、あるいはライセンスに係る追加アプリケーションが利用中の場合は、「空きライセンス取得処理」は失敗である。したがって、「空きライセンス取得処理」は失敗ことを示す情報を呼出し元に返し、処理を終了する。
【0066】
いずれかの画像形成装置202にインストールされたライセンスがあり、該当するアプリケーションが実行されていないならば、ステップ940に移行する。ステップ940で、回収対象のライセンスに対応するアプリケーションを復旧するために、その設定情報を管理サーバ201ではバックアップ保存する。そして、ステップ950でライセンスの回収を行い、「空きライセンス取得処理」を「成功」を通知し、本処理を終了する。ライセンスの回収とは、たとえば、ライセンス情報及び追加アプリケーションをアンインストールし、管理サーバにおけるライセンスの管理情報に、1つの空きライセンスが生じたことを記録する処理である。
【0067】
上記構成及び手順により、第1実施形態の効果に加えて、追加アプリケーションのライセンスの融通をより柔軟に行うことができ、限られた数のライセンスを効果的に利用できる。
【0068】
なお本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0069】
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0070】
【図1】本発明における画像形成装置202のUIパネルの表示例を示す図である。
【図2】第1実施形態を実施するためのシステム構成図である。
【図3】画像形成装置202のメモリマップを示す図である。
【図4】第1実施形態の処理を説明するフローチャートである。
【図5】画像形成装置202と管理サーバ201で授受されるデータを示す図である。
【図6】掃き出し処理のフローチャートである。
【図7】第2実施形態を実施するためのシステム構成図である。
【図8】第2実施形態の処理を説明するフローチャートである。
【図9】空きライセンス取得処理のフローチャートである。
【図10】掃き出し処理によるメモリ状態の遷移を説明する図である。
【図11】画像形成装置のソフトウェア構成図である。
【図12】画像形成装置のハードウェア構成図である。
【符号の説明】
【0071】
100 画像形成装置202のコンソールパネル
201 管理サーバ201
202 画像形成装置202
203 管理者PC
210 本発明を実現する画像形成装置202で動作するアプリケーション
300 画像形成装置202のメモリマップ
301 画像形成装置202OS
302 画像形成装置202ファームウェア
303 画像形成装置202アプリケーション
310 画像形成装置202追加インストール可能アプリケーション格納領域
304 画像形成装置202ワークエリア
311 インストール可能アプリケーション1の格納領域
312 インストール可能アプリケーション2の格納領域
313 インストール可能アプリケーション3の格納領域
314 余剰インストール可能アプリケーション格納領域

【特許請求の範囲】
【請求項1】
1または複数の画像形成装置と接続され、該画像形成装置にインストール可能なプログラムを管理するプログラム管理装置であって、
前記画像形成装置にインストール可能なプログラムの識別情報を含むプログラム情報と、該プログラムにライセンスが必要な場合には前記プログラムのライセンスを示すライセンス情報とを保存する保存手段と、
前記保存手段に保存されたプログラム情報を前記画像形成装置に送信するプログラム情報の送信手段と、
前記画像形成装置からのプログラムの実行の要求に応じて、該プログラムのライセンスがある場合には、該プログラムを前記画像形成装置にインストールするために送信するプログラム送信手段と
を備えることを特徴とするプログラム管理装置。
【請求項2】
前記画像形成装置から、利用可能なリソースを示すリソース情報を受信する手段と、
前記リソース情報に基づいて、前記プログラムのためのリソースが前記画像形成装置に不足していると判断した場合には、前記画像形成装置に対して、既にインストールされているプログラムのアンインストールを要求する掃き出し要求手段とを更に備え、
前記プログラム送信手段は、前記掃き出し要求手段によるアンインストールの要求に応じてプログラムがアンインストールされた後で、インストールされるプログラムを前記画像形成装置に送信することを特徴とする請求項1に記載のプログラム管理装置。
【請求項3】
前記掃き出し要求手段によるプログラムのアンインストールの要求に応じてプログラムが前記画像形成装置からアンインストールされた場合には、アンインストール時における前記プログラムの設定情報を保存する設定情報の保存手段をさらに備え、
アンインストールされたプログラムを前記画像形成装置に再度インストールする場合には、前記プログラムのアンインストール時における設定情報を復旧させるために、前記設定情報の保存手段により保存されている設定情報を前記画像形成装置に送信して再設定させることを特徴とする請求項2に記載のプログラム管理装置。
【請求項4】
前記画像形成装置からプログラムの実行の要求があった場合に、該プログラムのライセンスがなく、当該画像形成装置ではない第2の画像形成装置にライセンスされている場合には、当該ライセンスを前記第2の画像形成装置から回収して空きライセンスを取得する空きライセンス取得手段を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム管理装置。
【請求項5】
前記空きライセンス取得手段により前記ライセンスを前記第2の画像形成装置から回収する場合、当該ライセンスに係るプログラムのアンインストールを前記第2の画像形成装置に要求し、該アンインストールの要求に応じて前記プログラムが前記第2の画像形成装置からアンインストールされた場合には、アンインストール時における前記プログラムの設定情報を受信して保存する第2の設定情報の保存手段を更に備え、
アンインストールされたプログラムを前記第2の画像形成装置に再度インストールする場合には、前記プログラムのアンインストール時における設定情報を復旧させるために、前記第2の設定情報の保存手段により保存されている設定情報を前記第2の画像形成装置に送信して再設定させることを特徴とする請求項4に記載のプログラム管理装置。
【請求項6】
請求項1乃至5のいずれか1項に記載のプログラム管理装置と接続された画像形成装置であって、
前記プログラム管理装置から受信したプログラム情報に含まれるプログラムの識別情報に従って、利用可能なプログラムの一覧を表示する一覧表示手段と、
前記一覧表示手段から選択されたプログラムを前記プログラム管理装置に要求し、要求に応じてプログラムのインストールの要求を前記プログラム管理装置から受信した場合には、当該要求に係るプログラムをインストールするインストール手段と、
前記インストールの要求に先行してプログラムのアンインストールの要求を受信した場合には、アンインストールを要求されたプログラムをアンインストールするアンインストール手段と
を備えることを特徴とする画像形成装置。
【請求項7】
請求項1乃至5のいずれか1項に記載のプログラム管理装置と、請求項6に記載の画像形成装置とを接続して構成されることを特徴とする追加機能付画像形成システム。
【請求項8】
1または複数の画像形成装置と接続され、該画像形成装置にインストール可能なプログラムを管理するプログラム管理装置によるプログラム管理方法であって、
前記画像形成装置にインストール可能なプログラムの識別情報を含むプログラム情報と、該プログラムにライセンスが必要な場合には前記プログラムのライセンスを示すライセンス情報とを保存手段に保存する保存工程と、
送信手段が、前記保存手段に保存されたプログラム情報を前記画像形成装置に送信するプログラム情報の送信工程と、
送信手段が、前記画像形成装置からのプログラムの実行の要求に応じて、該プログラムのライセンスがある場合には、該プログラムを前記画像形成装置にインストールするために送信するプログラム送信工程と
を備えることを特徴とするプログラム管理方法。
【請求項9】
請求項1乃至5のいずれか1項に記載のプログラム管理装置としてコンピュータを機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2008−242660(P2008−242660A)
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願番号】特願2007−80189(P2007−80189)
【出願日】平成19年3月26日(2007.3.26)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】