説明

画像形成装置、インストール方法及びプログラム

【課題】外部記憶装置が強制的に引き抜かれた場合でも、ライセンスデータを必要とするアプリケーションデータを再インストールできるようにすることを目的とする。
【解決手段】画像形成装置は検出手段で接続が検出された外部記憶装置にアプリケーションデータと、アプリケーションデータをインストールした画像形成装置を識別する装置識別情報及び画像形成装置がインストールしたアプリケーションデータを識別するアプリケーション識別情報を含むデバイスデータとが記憶されている際に、装置識別情報で識別される画像形成装置にアプリケーション識別情報で識別されるアプリケーションデータのライセンスデータを要求する要求手段と、要求手段による要求に応じて装置識別情報で識別される画像形成装置からライセンスデータを取得できた場合、ライセンスデータを用いて外部記憶装置に記憶されているアプリケーションデータをインストールする管理手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置、インストール方法及びプログラムに関する。
【背景技術】
【0002】
従来の画像形成装置ではアプリケーションをインストールすることにより機能拡張を行うことが可能である。このような画像形成装置ではアプリケーションの使用期間の制限やプリント回数の制限を実現可能とするため、制限情報を埋め込んだライセンスファイルとセットでアプリケーションをインストールするようになっている。また、従来の画像形成装置では正しくない利用を防止するため一度利用したライセンスファイルを同じ画像形成装置に繰り返してインストールできないようになっている。また、このような画像形成装置ではアプリケーションが利用可能な資源(メモリやストレージ容量)の上限が決まっており、その範囲内に自由に複数のアプリケーションを組み合わせてインストールしておくことが可能である(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−139149号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ローエンドの画像形成装置等、利用可能な資源が少ない装置では、一度に多数のアプリケーションを同時にインストールして利用することができない。
そのため、USBメモリにアプリケーションとライセンスファイルとを格納し、USBメモリの抜き差しに連動してアプリケーションのインストール・アンインストールを行う方法が考えられる。この方法では、多種類のアプリケーションを容易に切り替えられるようになるため利用可能な資源が少ないデバイスでも有効な方法と考えられる。
しかしながら、このような構成においてUSBメモリ等の外部記憶装置が強制的に引き抜かれた場合、ライセンスファイルを書き戻すことができない。そのため、アプリケーションファイル等のアプリケーションデータを再インストールすることができなくなる問題があった。
【0005】
本発明はこのような問題点に鑑みなされたもので、外部記憶装置が強制的に引き抜かれた場合でも、ライセンスデータを必要とするアプリケーションデータをインストールできるようにすることを目的とする。
【課題を解決するための手段】
【0006】
そこで、本発明の画像形成装置は、外部記憶装置が接続されたことを検出する検出手段と、前記検出手段で接続が検出された前記外部記憶装置にアプリケーションデータと、前記アプリケーションデータをインストールした画像形成装置を識別する装置識別情報及び前記画像形成装置がインストールした前記アプリケーションデータを識別するアプリケーション識別情報を含むデバイスデータとが記憶されている際に、前記装置識別情報で識別される画像形成装置に前記アプリケーション識別情報で識別されるアプリケーションデータのライセンスデータを要求する要求手段と、前記要求手段による要求に応じて前記装置識別情報で識別される画像形成装置から前記ライセンスデータを取得できた場合、前記ライセンスデータを用いて前記外部記憶装置に記憶されているアプリケーションデータをインストールする管理手段と、を有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、外部記憶装置が強制的に引き抜かれた場合でも、ライセンスデータを必要とするアプリケーションデータをインストールできるようにすることができる。
【図面の簡単な説明】
【0008】
【図1】画像形成装置のハードウェア構成の一例を示す図である。
【図2】画像形成装置上で動作するアプリケーション管理を行うためのソフトウェア構成の一例を示す図である。
【図3】画像形成装置の操作部上に表示される画面の一例を示す図である。
【図4】USBメモリに格納されるアプリケーションやライセンスファイルの一例を示す図である。
【図5】USBメモリが接続されてアプリケーションがインストールされた場合に、USBアプリ管理部が内部に保持するアプリケーション管理テーブルの一例を示す図である。
【図6】USBデバイス検出部がUSBメモリの検出を行う際の処理の流れを示すフローチャートである。
【図7】ステップS604のUSBメモリ接続通知を受けた際のUSBアプリ管理部の処理の流れを示すフローチャートである。
【図8】取り外すUSBメモリの選択画面で何らかのUSBメモリが選択されOKボタンが押された際の、USBアプリ管理部の処理の流れを示すフローチャートである。
【図9】ステップS609のUSBメモリ取り外し通知を受けた際のUSBアプリ管理部の処理の流れを示すフローチャートである。
【図10】実施形態2におけるシステムのシステム構成の一例を示す図である。
【図11】画像形成装置がUSBメモリ内に保存するデバイス情報ファイルの一例を示す図である。
【図12】実施形態2における画像形成装置のUSBアプリ管理部がUSBデバイス検出部からUSBメモリ接続通知を受けた際の処理の流れを示すフローチャートである。
【図13】要求処理部が外部からライセンスファイル取得要求を受信した際の処理の流れを示すフローチャートである。
【図14】取り外すUSBメモリの選択画面で何らかのUSBメモリが選択されOKボタンが押された際の、USBアプリ管理部の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面に基づいて説明する。
【0010】
<実施形態1>
図1は、画像形成装置のハードウェア構成の一例を示す図である。
CPU101は、画像形成装置100のソフトウェアプログラムを実行し、装置全体の制御を行う。ROM102は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。RAM103は、ランダムアクセスメモリであり、CPU101が装置を制御する際に、一時的なデータの格納等に使用される。FlashROM104は、書き換え可能な不揮発メモリであり、インストールされたアプリケーション(アプリケーションファイル)やアプリケーションのデータや印刷データの格納等、様々なデータの格納に使用される。USBH I/F105は、USBホストインタフェースを制御するためのものであり、様々なUSBデバイスとの通信を制御する。スキャナI/F制御部106は、スキャナ111を制御する装置である。プリンタI/F制御部107は、プリンタ112を制御する装置である。NVRAM108は、不揮発性のメモリであり画像形成装置100の各種設定値を保存するためのものである。パネル制御部109は、操作パネル113を制御し、各種情報の表示、使用者からの指示入力を行うためのものである。ネットワークI/F制御部110は、LANネットワーク115とのデータの送受信を制御する。バス114には、CPU101、ROM102、RAM103、FlashROM104、USBH I/F105、スキャナI/F制御部106、プリンタI/F制御部107、NVRAM108、パネル制御部109、ネットワークI/F制御部110が接続される。またバス114は、CPU101からの制御信号や各装置間のデータ信号が送受信されるシステムバスである。USBデバイス116は、USBメモリやUSBキーボード等のUSBデバイスである。本実施形態1においてはアプリケーションが格納されたUSBメモリを画像形成装置100に接続することにより、アプリケーションをFlashROM104にインストールすることができる。
CPU101が、プログラムを実行することによって、後述するソフトウェア構成及びフローチャートに係る処理が実現される。
なお、以下、説明の簡略化のため、アプリケーション、又はアプリケーションファイルを単にアプリとも言う。アプリケーション、又はアプリケーションファイルは、アプリケーションデータの一例である。USBデバイスは、外部記憶装置の一例である。
【0011】
図2は、画像形成装置上で動作するアプリケーション管理を行うためのソフトウェア構成の一例を示す図である。
USBデバイス検出部201は、USBメモリが接続されたり取り外されたりしたことを検出し、他のソフトウェアモジュールに通知を行う。USBアプリ管理部202は、USBメモリが接続された場合に、そのUSBメモリに含まれるアプリケーションの管理を行う。例えば、USBメモリが画像形成装置100に接続されると、USBアプリ管理部202は、USBメモリの中に含まれるアプリケーションをインストールし、アプリケーションを開始させる制御を、アプリ管理部203を介して行う。また、USBアプリ管理部202は、USBメモリが画像形成装置100から抜かれるとインストールしていたアプリケーションを停止してアンインストールする制御を、アプリ管理部203を介して行う。アプリ管理部203は、画像形成装置100上で動作するアプリケーションの管理を行う。ライセンス管理部204は、アプリケーションインストールに伴うライセンスファイルの検証やアンインストール時の残りライセンスの生成等を行う。ライセンス保存部205は、アプリケーションをアンインストールする際にアプリケーションに付随するライセンスをファイル化して保存する。Webサーバ部206は、外部PCからの要求を受け付けるサーバである。要求処理部207は、外部から受けた要求に対する制御を行う。例えば、要求処理部207は、外部PC上のWebブラウザからリクエストを受けアプリケーション管理ページを要求元に返したり、アプリケーション管理要求を受け付けアプリケーションの管理を行ったりする。
なお、ライセンスファイルは、ライセンスデータの一例である。
【0012】
図3は、画像形成装置の操作部上に表示される画面の一例を示す図である。
図3(A)のトップメニュー画面301は、画像形成装置100を起動したときに最初に表示される。アプリボタン領域302は、インストールされているアプリケーションの各画面に遷移するためのアプリケーションボタン303が表示される領域である。図3(B)は、アプリケーションを含むUSBメモリを接続したときに表示される画面である。USBメモリにアプリケーションが含まれていると、USBメモリに含まれるアプリケーションがインストールされてアプリケーションボタンが表示されるようになる。USB取り出しボタン304は、USBメモリを安全に取り外せるようにするためのボタンであり、何らかのUSBメモリが接続されている場合に表示される。ユーザによってこのボタンが押されると、取り外すUSBメモリの選択画面(図3(C))が表示される。USBメモリ選択領域305は、現在接続されているUSBメモリのリストが表示され、ユーザが選択可能な領域である。OKボタン306が押されるとUSBメモリ選択領域305で選択されたUSBメモリに含まれていたアプリケーションが画像形成装置100内からアンインストールされる。そしてUSBメモリがアンマウントされて安全に取り外せる状態になる。キャンセルボタン307は、USBメモリの取り出しを取り消すためのボタンであり、何も処理をせずに前に表示されていた画面(例えば図3(B))に戻る。
【0013】
図4は、USBメモリに格納されるアプリケーションやライセンスファイルの一例を示す図である。
図4(A)は、USBメモリ内のディレクトリ構造を示す図である。本実施形態1ではApplicationsディレクトリの下にアプリケーション毎のディレクトリを作り、その下にアプリケーションファイル401、ライセンスファイル402を配置する構成になっている。アプリケーションファイル401は、複数のファイルがアーカイブされたファイルである。ライセンスファイル402は、ライセンス情報が暗号化されたファイルである。
図4(B)は、アプリケーションファイル401の内部のファイル構造を示す図である。アプリケーションファイル401は、アプリケーション属性ファイル403と暗号化されたアプリケーションの実体ファイル404とから構成される。
図4(C)は、アプリケーション属性ファイル403の一例を示す図である。アプリケーション属性ファイル403には、Application−ID、Application−Name、Application−Version、Vendor、Memory、File−Spaceの各属性が定義されている。Application−IDはアプリケーションを識別するためのIDである。Application−Nameは、アプリケーション名の定義であり、アプリ管理画面等の表示等に用いられる。Application−Versionは、アプリケーションのバージョンである。Vendorは、アプリケーションのベンダ名である。Memoryは、そのアプリケーションが消費する最大メモリを定義する。File−Spaceは、そのアプリケーションが消費する最大ストレージ容量を定義する。Memory及びFile−Spaceは、アプリ管理部203がアプリケーションを開始する際に、そのアプリケーションが動作するのに十分な資源が残っているかを判定するために利用される情報である。もし、十分な資源が残っていない場合、画像形成装置100は、そのアプリケーションを開始することはできない。
【0014】
図4(D)は、ライセンスファイルの中に含まれる情報の一例を示す図である。License−Versionは、ライセンスファイルのフォーマットを示すバージョンである。License−IDは、ライセンスファイルを識別するためのIDである。インストールしたライセンスのIDは、デバイス内部に保存され、同じライセンスファイルを繰り返し利用できないようになっている。Application−IDは、そのライセンスファイルがどのアプリケーションに対応するものなのかを判断するための情報である。Print−Largeは、大きいサイズの用紙への印刷を何枚まで許可するかを示す情報である。Print−Smallは、小さいサイズの用紙への印刷を何枚まで許可するかを示す情報である。Keyは、暗号化されたアプリケーション実体ファイルを復号化するための鍵情報である。なお、前述したようにライセンスファイルは暗号化されており直接ユーザが内容を確認することはできないようになっている。また、ライセンスファイルを復号化するための鍵は、デバイス内に組み込まれており、取り出すことはできない。
図4(E)は、アプリケーションをアンインストールするときに書き戻されるライセンスファイルの一例を示す図である。この例は、このアプリケーションを利用して大きいサイズの用紙への印刷を50枚、小さいサイズの用紙への印刷を5枚行った後にアプリケーションをアンインストールする際に書き戻されるライセンスファイルの例である。大きいサイズの用紙への印刷を50枚行っているためPrint−Largeの値は200から50を引いて150、小さいサイズの用紙への印刷を5枚行ったので、Print−Smallの値は200から5を引いて195になる。なお、License−IDは、ライセンスファイルを識別するためのIDであるため毎回別のIDが割り振られる。その他の情報は元のライセンスファイルの情報が引き継がれる。
【0015】
図5は、USBメモリが接続されてアプリケーションがインストールされた場合に、USBアプリ管理部202が内部に保持するアプリケーション管理テーブルの一例を示す図である。
USB識別番号501は、USBデバイスを識別するための番号であり、USBドライバがデバイス毎に一意に割り当てるIDである。アプリケーションID502は、アプリケーションの種類を識別するためのIDであり、アプリケーション属性ファイルで定義されているApplication−IDの値が保存される。
【0016】
図6は、USBデバイス検出部201がUSBメモリの検出を行う際の処理の流れを示すフローチャートである。
まず、USBデバイス検出部201は、ステップS601で内部変数Nを0で初期化する。
次にステップS602に進み、USBデバイス検出部201は、現在接続されているUSBメモリ数を取得し、変数Mに代入する。
次にステップS603に進み、USBデバイス検出部201は、NがMよりも小さいかどうかを判定する。もしNがMよりも小さい場合、USBデバイス検出部201は、ステップS604に進む。
ステップS604では、USBデバイス検出部201は、USBメモリが新たに接続されたことをUSBアプリ管理部202に通知する。
次にステップS605に進み、USBデバイス検出部201は、NにMを代入する。
次にステップS606に進み、USBデバイス検出部201は、USBメモリ検出処理がCPUを占有しないように一定時間待つ。
次にステップS607に進み、USBデバイス検出部201は、画像形成装置100がシャットダウンされたかどうかを判定する。もしシャットダウンされていなければ、USBデバイス検出部201は、ステップS602にもどる。一方、シャットダウンされた場合、USBデバイス検出部201は、処理を終了する。
一方、ステップS603にてNがMよりも小さくないと判定した場合、USBデバイス検出部201は、ステップS608に進む。ステップS608では、USBデバイス検出部201は、NがMよりも大きいかどうかを判定する。もしNがMよりも大きい場合、USBデバイス検出部201は、ステップS609に進む。
ステップS609では、USBデバイス検出部201は、USBメモリが取り外されたことをUSBアプリ管理部202に通知し、ステップS605に進む。それ以降の処理は前述の通りである。
また一方、ステップS608にてNがMよりも大きくないと判定した場合、USBデバイス検出部201は、デバイス接続数に変化がないため通知処理を行わずにステップS606に進む。それ以降の処理は前述の通りである。
【0017】
図7は、ステップS604のUSBメモリ接続通知を受けた際のUSBアプリ管理部202の処理の流れを示すフローチャートである。
USBアプリ管理部202は、通知を受け取ると、まずステップS701にてUSBメモリの所定の場所にアプリケーションが存在するかどうかを判定する。USBメモリの所定の場所にアプリケーションが存在しない場合、USBアプリ管理部202は、処理を終了する。もし、アプリケーションが存在する場合、USBアプリ管理部202は、ステップS702に進む。
ステップS702では、USBアプリ管理部202は、アプリケーション属性からApplication−IDを取得し、既に同じアプリケーションがインストールされているかどうかを判定する。もし既に同じアプリケーションがインストールされていた場合、USBアプリ管理部202は、処理を終了する。同じアプリケーションがインストールされていないと判定した場合、USBアプリ管理部202は、ステップS703に進む。
ステップS703では、USBアプリ管理部202は、画像形成装置100内にそのアプリケーション用のライセンスファイルが保存されているかどうかを判定する。もしライセンスファイルが存在する場合、USBアプリ管理部202は、ステップS704に進み、画像形成装置100内に保存されているライセンスファイルを用いてアプリケーションのインストールを行う。
次にステップS705に進み、USBアプリ管理部202は、画像形成装置100内に保存されているそのアプリケーション用のライセンスファイルを削除する。
次にステップS706に進み、USBアプリ管理部202は、USBメモリの識別子とアプリケーションの識別子とを対応付けてアプリケーション管理テーブル(図5)に記憶して処理を終了する。
USBメモリの識別子は、外部記憶装置識別情報の一例である。
【0018】
一方、S703にて画像形成装置100内にライセンスが存在しないと判定した場合は、USBアプリ管理部202は、ステップS707に進む。ステップS707では、USBアプリ管理部202は、USBメモリの所定の場所にライセンスファイルが存在するかどうかを判定する。
もしライセンスファイルが存在すると判定した場合、USBアプリ管理部202は、ステップS708に進む。ステップS708では、USBアプリ管理部202は、USBメモリ内に存在するライセンスファイルを利用してアプリケーションをインストールし、ステップS707に進む。
ステップS709では、USBアプリ管理部202は、インストールに使用したライセンスファイルをUSBメモリ内から削除してステップS706に進む。それ以降の処理は前述の通りである。
一方、ステップS707でUSBメモリ内にライセンスファイルが存在しないと判定した場合は、USBアプリ管理部202は、処理を終了する。
【0019】
図8は、図3(B)画面のUSB取り出しボタンが押され、取り外すUSBメモリの選択画面(図3(C))で何らかのUSBメモリが選択されOKボタンが押された際の、USBアプリ管理部202の処理の流れを示すフローチャートである。
取り外すUSBメモリの選択画面(図3(C))でUSBメモリが選択されOKボタンが押されると、USBアプリ管理部202は、ステップS801にて選択されたUSBメモリの情報がアプリケーション管理テーブルに存在するかどうかチェックする。もし存在する場合は、USBアプリ管理部202は、ステップS802に進み、対応するアプリケーションの残りのライセンス(残ライセンス)をファイル化してUSBメモリに書き出す。
次にステップS803に進み、USBアプリ管理部202は、USBメモリへの書き出し処理が成功したかどうかを判定する。もしUSBメモリへの保存が成功した場合は、USBアプリ管理部202は、ステップS804に進む。一方、ステップS803にて書き出し失敗と判定した場合は、USBアプリ管理部202は、ステップS807に進む。
ステップS807では、USBアプリ管理部202は、画像形成装置100内にライセンスファイルを保存してステップS804に進む。
ステップS804では、USBアプリ管理部202は、アプリケーションをアンインストールし、ステップS805に進む。
ステップS805では、USBアプリ管理部202は、選択されたUSBメモリに対応する項目をアプリケーション管理テーブルから削除し、ステップS806に進む。
一方、ステップS801にて選択されたUSBメモリの情報がアプリケーション管理テーブルに存在しない場合も、USBアプリ管理部202は、ステップS806に進む。
ステップS806では、USBアプリ管理部202は、USBメモリの切断処理をして処理を終了する。なお、切断処理が行われるとステップS602で取得できるデバイス数が減少するため、USBデバイス検出部201は、デバイス数の減少を検出して、USBアプリ管理部202にUSBメモリ取り外し通知を行う。
【0020】
図9は、ステップS609のUSBメモリ取り外し通知を受けた際のUSBアプリ管理部202の処理の流れを示すフローチャートである。
USBアプリ管理部202は、USBメモリ取り外し通知を受け取ると、まずステップS901で、取り外されたUSBメモリの情報がアプリケーション管理テーブルに存在するかどうかチェックする。正しい手順でUSBメモリを引き抜いた場合は図8の処理を必ず実行することになるため、USBメモリの情報がアプリケーション管理テーブルに存在した場合は強制的にUSBメモリを引き抜いたことを意味する。もしUSBメモリの情報がアプリケーション管理テーブルに存在しない場合は、USBアプリ管理部202は、何もせずに処理を終了する。もしアプリケーション管理テーブルに情報があると判定した場合は、USBアプリ管理部202は、ステップS902に進む。
ステップS902では、USBアプリ管理部202は、アプリケーション管理テーブルで関連付けられているアプリケーションの残りのライセンスをファイル化して画像形成装置100内に保存してステップS903に進む。
ステップS903では、USBアプリ管理部202は、アプリケーション管理テーブルで関連付けられているアプリケーションをアンインストールし、ステップS904に進む。
ステップS904では、USBアプリ管理部202は、取り外されたUSBメモリに対応する項目をアプリケーション管理テーブルから削除して処理を終了する。
このような構成とすることでユーザがアンマウント操作をせずにUSBメモリを引き抜いた場合等、何らかの理由でライセンスファイルをUSBメモリに書き戻せなかった場合でも同じデバイスに対してアプリケーションを再度インストールできるようになる。
【0021】
<実施形態2>
次に実施形態2では、強制的に引き抜いたUSBメモリを他の画像形成装置100に挿したときでもアプリケーションをインストールすることを可能とする構成等を説明する。
図10は、実施形態2におけるシステムのシステム構成の一例を示す図である。図10に示すように本実施形態のシステムでは、複数の画像形成装置100がネットワーク経由で通信可能に接続されている。実施形態2における画像形成装置100は、USBメモリからのアプリケーションのインストールが成功すると、その画像形成装置100のデバイス情報ファイルをUSBメモリに書き出し、USB取り外し操作をされたときにデバイス情報ファイルを削除する。また、実施形態2における画像形成装置1002は、USBメモリが接続されインストール処理を行う際に、USBメモリ内に画像形成装置1001のデバイス情報ファイルが残っていた場合、その情報を基にネットワーク経由でその画像形成装置1001にアクセスする。そして、画像形成装置1002は、画像形成装置1001からライセンスファイルの取得を試みる。ライセンスファイルが取得できた場合、画像形成装置1002は、取得したライセンスファイルを使ってアプリケーションをインストールするようになっている。
なお、デバイス情報ファイルは、デバイスデータの一例である。
【0022】
実施形態2における画像形成装置100のハードウェア構成、画像形成装置100上で動作するアプリケーション管理のためのソフトウェアの構成、USBメモリ経由でアプリケーションをインストールした際のUI画面例については、実施形態1と同じである。したがって、詳細な説明は省略する。
図11は、画像形成装置100がUSBメモリ内に保存するデバイス情報ファイルの一例を示す図である。図11(A)は、デバイス情報ファイルの格納場所の一例を示す図である。デバイス情報ファイル1101は、hostinfo.datというファイル名でアプリケーションファイル1102と同じフォルダ内に格納される。
図11(B)は、デバイス情報ファイルの内容の一例を示す図である。Host−Address1103は、アプリケーションをインストールしたホストのIPアドレスの情報である。Application−ID1104は、インストールしたアプリケーションの識別情報である。なお、デバイス情報ファイルは、ライセンスファイルと同様、暗号化されて格納されるためユーザが情報ファイルを偽造することはできない。
デバイス情報ファイルまた、Host−Address1103は、装置識別情報の一例である。また、Application−ID1104は、アプリケーション識別情報の一例である。
【0023】
図12は、実施形態2における画像形成装置100のUSBアプリ管理部202がUSBデバイス検出部201からUSBメモリ接続通知を受けた際の処理の流れを示すフローチャートである。
USBアプリ管理部202は、通知を受け取ると、まずステップS1201にてUSBメモリの所定の場所にアプリケーションが存在するかどうかを判定する。USBメモリにアプリケーションが含まれていない場合は、USBアプリ管理部202は、処理を終了する。もしアプリケーションが含まれている場合は、USBアプリ管理部202は、ステップS1202に進む。
ステップS1202では、USBアプリ管理部202は、アプリケーション属性からApplication−IDを取得し、既に同じアプリケーションがインストールされているかどうかを判定する。もし既に同じアプリケーションがインストールされていた場合は、USBアプリ管理部202は、処理を終了する。同じアプリケーションがインストールされていないと判定した場合は、USBアプリ管理部202は、ステップS1203に進む。
ステップS1203では、USBアプリ管理部202は、画像形成装置100内にそのアプリケーション用のライセンスファイルが保存されているかどうかを判定する。もしライセンスファイルが存在しない場合、USBアプリ管理部202は、ステップS1204に進み、USBメモリ内にデバイス情報ファイルが存在するかどうかを判定する。もしデバイス情報ファイルが存在すると判定した場合はステップS1205に進む。
【0024】
ステップS1205では、USBアプリ管理部202は、デバイス情報ファイルからHost−AddressとApplication−ID情報とを読み出す。そして、USBアプリ管理部202は、Host−Addressの画像形成装置100に対してApplication−IDのライセンスファイルを要求する。
次にステップS1206に進み、USBアプリ管理部202は、ライセンスファイルを取得できたかどうかを判定する。ステップS1206にてライセンスファイル取得に成功したと判定した場合は、USBアプリ管理部202は、ステップS1207に進む。
ステップS1207では、USBアプリ管理部202は、取得したライセンスファイルを利用してアプリケーションをインストールし、ステップS1208に進む。
ステップS1208では、USBアプリ管理部202は、USBメモリの識別子とアプリケーションの識別子との対応をアプリケーション管理テーブル(図5)に記憶してステップS1209に進む。
ステップS1209では、USBアプリ管理部202は、USBメモリにデバイス情報ファイルを保存して処理を終了する。より具体的に説明すると、USBアプリ管理部202は、以下のように処理を行う。USBアプリ管理部202は、S1210〜S1212を経て、S1209に来た場合、自装置のIPアドレスと、S1211でインストールしたアプリケーションを識別するアプリケーションの識別情報と、を含むデバイス情報ファイルをUSBメモリに保存する。一方、USBアプリ管理部202は、S1207を経て、S1209に来た場合、USBメモリにあるデバイス情報ファイルを一旦削除する。そして、USBアプリ管理部202は、自装置のIPアドレスと、S1207でインストールしたアプリケーションを識別するアプリケーションの識別情報と、を含むデバイス情報ファイルをUSBメモリに保存する。なお、USBアプリ管理部202は、USBメモリにあるデバイス情報ファイルを一旦削除せず、前記デバイス情報ファイルのHost−Address1103を自装置のIPアドレスに変更するようにしてもよい。
【0025】
一方、ステップS1204にてUSBメモリ内にデバイス情報ファイルが存在しないと判定した場合は、USBアプリ管理部202は、ステップS1210に進む。ステップS1210では、USBアプリ管理部202は、USBメモリの所定の場所にライセンスファイルが存在するかどうかを判定する。もしライセンスファイルが存在しないと判定した場合は、USBアプリ管理部202は、処理を終了する。ライセンスファイルが存在すると判定した場合は、USBアプリ管理部202は、ステップS1211に進む。
ステップS1211では、USBアプリ管理部202は、USBメモリ内に存在するライセンスファイルを利用してアプリケーションをインストールし、ステップS1212に進む。
ステップS1212では、USBアプリ管理部202は、インストールに使用したライセンスファイルをUSBメモリ内から削除してステップS1213に進む。それ以降の処理は前述の通りである。
一方、ステップS1206にてライセンスファイル取得できなかったと判定した場合は、USBアプリ管理部202は、ステップS1213に進む。ステップS1213では、USBアプリ管理部202は、USBメモリ内に存在するデバイス情報ファイルを削除してステップS1210に進む。それ以降の処理は前述の通りである。
一方、ステップS1203にて画像形成装置100内にライセンスファイルが存在すると判定した場合は、USBアプリ管理部202は、ステップS1214に進む。ステップS1214では、USBアプリ管理部202は、画像形成装置100内に保存されているライセンスファイルを用いてアプリケーションのインストールを行う。
次にステップS1215に進み、USBアプリ管理部202は、画像形成装置100内に保存されているそのアプリケーション用のライセンスファイルを削除する。
次にステップS1208に進み、USBアプリ管理部202は、前述した処理を行い、処理を終了する。
【0026】
図13は、要求処理部207が外部からライセンスファイル取得要求を受信した際の処理の流れを示すフローチャートである。
要求処理部207は、ライセンスファイル取得要求を受信すると、まずステップS1301にて要求からApplication−ID情報を取りだす。
次にステップS1302に進み、要求処理部207は、そのApplication−IDのアプリケーションに対応するライセンスファイルが画像形成装置100内に存在するかを判定する。もし存在しない場合は、 要求処理部207は、ステップS1306にてエラーを返し処理を終了する。もし対応するライセンスファイルが存在する場合は、要求処理部207は、ステップS1303に進む。
ステップS1303では、要求処理部207は、要求元にライセンスファイルを送信する。
次にステップS1304に進み、要求処理部207は、正常に送信完了したかを判定する。正常にライセンスファイル送信が行えなかった場合は、要求処理部207は、処理を終了する。正常にライセンスファイルを送信することができた場合は、要求処理部207は、ステップS1305に進む。
ステップS1305では、要求処理部207は、送信したライセンスファイルを画像形成装置100から削除して処理を終了する。
【0027】
図14は、図3(B)画面のUSB取り出しボタンが押され、取り外すUSBメモリの選択画面(図3(C))で何らかのUSBメモリが選択されOKボタンが押された際の、USBアプリ管理部202の処理の流れを示すフローチャートである。
取り外すUSBメモリの選択画面(図3(C))で何らかのUSBメモリが選択されOKボタンが押されると、USBアプリ管理部202は、ステップS1401にて選択されたUSBメモリの情報がアプリケーション管理テーブルに存在するかどうかチェックする。USBメモリの情報がアプリケーション管理テーブルに存在する場合は、USBアプリ管理部202はステップS402に進み、対応するアプリケーションの残りのライセンスをファイル化してUSBメモリに書き出す。
次にステップS1403に進み、USBアプリ管理部202は、USBメモリへの書き出し処理が成功したかどうかを判定する。もしUSBメモリへの保存が成功した場合は、USBアプリ管理部202は、ステップS1404に進む。ステップS1404では、USBアプリ管理部202は、USBメモリに保存していたデバイス情報ファイルを削除してステップS1405に進む。
一方、ステップS1403にて書き出し失敗と判定した場合は、USBアプリ管理部202は、ステップS1408に進む。ステップS1408では、USBアプリ管理部202は、画像形成装置100内にライセンスファイルを保存してステップS1405に進む。
ステップS1405では、USBアプリ管理部202は、アプリケーションをアンインストールし、ステップS1406に進む。ステップS1406では、USBアプリ管理部202は、選択されたUSBメモリに対応する項目をアプリケーション管理テーブルから削除し、ステップS1407に進む。
一方、ステップS1401にて選択されたUSBメモリの情報がアプリケーション管理テーブルに存在しない場合は、USBアプリ管理部202は、ステップS1407に進む。ステップS1407では、USBアプリ管理部202は、USBメモリの切断処理をして処理を終了する。
なお、切断処理が行われるとステップS602で取得できるデバイス数が減少するためUSBアプリ管理部202は、USBメモリ取り外し通知を受ける。そのため続けてUSB取り外し通知時の処理が行われる。USB取り外し通知時の処理は実施形態1と同じであるため説明は省略する。
【0028】
以上、説明してきたように実施形態2によれば、画像形成装置は、USBメモリにデバイス情報ファイルが存在すればその情報を基にネットワーク経由でライセンスファイルを受信してアプリケーションをインストールする。よってユーザがUSBメモリを強制的に引き抜いて他の画像形成装置に挿したとしても、その他の画像形成装置においてアプリケーションをインストールすることが可能になり、ユーザの利便性が向上する。
なお、本実施形態では画像形成装置1001内に保存されたライセンスファイルを他の画像形成装置1002から要求を受けると、画像形成装置1001が画像形成装置1002に送信するようにしている。しかしながら、画像形成装置1001等が他のクライアントからの要求に対してライセンスファイルを送信するようにしてもよい。例えば、外部PCのブラウザ経由の要求に応じて、画像形成装置は、外部PCにライセンスファイルを送信するようにしてもよい。この場合、ユーザがライセンスファイルを外部PCにダウンロードし、USBメモリにダウンロードしたライセンスファイルを格納することで再びアプリケーションを画像形成装置にインストールすることができるようになる。
【0029】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【0030】
以上、上述した各実施形態によれば、USBメモリが強制的に引き抜かれた場合でも、ライセンス付きアプリケーションを画像形成装置に再インストールできるようになる。このため、ライセンスファイルを必要とするアプリケーションにおいてもUSBメモリを用いて容易に入れ替えることが可能になる。
【0031】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

【特許請求の範囲】
【請求項1】
外部記憶装置が接続されたことを検出する検出手段と、
前記検出手段で接続が検出された前記外部記憶装置にアプリケーションデータと、前記アプリケーションデータをインストールした画像形成装置を識別する装置識別情報及び前記画像形成装置がインストールした前記アプリケーションデータを識別するアプリケーション識別情報を含むデバイスデータとが記憶されている際に、前記装置識別情報で識別される画像形成装置に前記アプリケーション識別情報で識別されるアプリケーションデータのライセンスデータを要求する要求手段と、
前記要求手段による要求に応じて前記装置識別情報で識別される画像形成装置から前記ライセンスデータを取得できた場合、前記ライセンスデータを用いて前記外部記憶装置に記憶されているアプリケーションデータをインストールする管理手段と、
を有することを特徴とする画像形成装置。
【請求項2】
前記管理手段は、前記要求手段による要求に応じて前記装置識別情報で識別される画像形成装置から前記ライセンスデータを取得できなかった場合、前記外部記憶装置から前記デバイスデータを削除し、前記外部記憶装置に記憶されているライセンスデータを用いて、前記外部記憶装置に記憶されているアプリケーションデータをインストールし、前記外部記憶装置に記憶されているライセンスデータを削除することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記外部記憶装置に記憶されているアプリケーションデータをインストールした後、前記外部記憶装置を識別する外部記憶装置識別情報と、前記アプリケーションデータを識別するアプリケーション識別情報と、を対応付けて記憶装置に記憶する記憶手段と、
前記外部記憶装置に当該画像形成装置を識別する装置識別情報及び前記アプリケーション識別情報を含むデバイスデータを保存する保存手段と、
を更に有することを特徴とする請求項1又は2に記載の画像形成装置。
【請求項4】
前記管理手段は、
外部記憶装置の取り出しを指示する操作がなされた際に、前記記憶装置に前記外部記憶装置を識別する外部記憶装置識別情報と対応付けられたアプリケーション識別情報が記憶されている場合、前記アプリケーション識別情報で識別されるアプリケーションデータの残りのライセンスデータを前記外部記憶装置に保存する処理を実行し、
前記残りのライセンスデータの保存が成功した場合は、前記外部記憶装置に記憶されているデバイスデータを削除し、前記アプリケーションをアンインストールし、
前記残りのライセンスデータの保存が成功しなかった場合は、前記記憶装置に前記アプリケーションデータを識別するアプリケーション識別情報と、前記アプリケーションの残りのライセンスデータと、を対応付けて保存し、前記アプリケーションをアンインストールする
ことを特徴とする請求項3に記載の画像形成装置。
【請求項5】
アプリケーション識別情報を含む、ライセンスデータの要求を受信する受信手段と、
前記受信手段により受信した要求に含まれる前記アプリケーション識別情報に対応付けられたライセンスデータが前記記憶装置に保存されている場合、要求元に前記ライセンスデータを送信する要求処理手段と、
を更に有することを特徴とする請求項4に記載の画像形成装置。
【請求項6】
画像形成装置が実行するアプリケーションデータのインストール方法であって、
外部記憶装置が接続されたことを検出する検出ステップと、
前記検出ステップで接続が検出された前記外部記憶装置にアプリケーションデータと、前記アプリケーションデータをインストールした画像形成装置を識別する装置識別情報及び前記画像形成装置がインストールした前記アプリケーションデータを識別するアプリケーション識別情報を含むデバイスデータとが記憶されている際に、前記装置識別情報で識別される画像形成装置に前記アプリケーション識別情報で識別されるアプリケーションデータのライセンスデータを要求する要求ステップと、
前記要求に応じて前記装置識別情報で識別される画像形成装置から前記ライセンスデータを取得できた場合、前記ライセンスデータを用いて前記外部記憶装置に記憶されているアプリケーションデータをインストールする管理ステップと、
を含むことを特徴とするインストール方法。
【請求項7】
請求項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

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−90064(P2012−90064A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−234920(P2010−234920)
【出願日】平成22年10月19日(2010.10.19)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】