(57)【要約】【課題】外部記憶装置が強制的に引き抜かれた場合でも、ライセンスデータを必要とするアプリケーションデータを再インストールできるようにすることを目的とする。【解決手段】画像形成装置は検出手段で接続が検出された外部記憶装置にアプリケーションデータと、アプリケーションデータをインストールした画像形成装置を識別する装置識別情報及び画像形成装置がインストールしたアプリケーションデータを識別するアプリケーション識別情報を含むデバイスデータとが記憶されている際に、装置識別情報で識別される画像形成装置にアプリケーション識別情報で識別されるアプリケーションデータのライセンスデータを要求する要求手段と、要求手段による要求に応じて装置識別情報で識別される画像形成装置からライセンスデータを取得できた場合、ライセンスデータを用いて外部記憶装置に記憶されているアプリケーションデータをインストールする管理手段とを有する。【選択図】図１２
2012090064.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置が接続されたことを検出する検出手段と、
前記検出手段で接続が検出された前記外部記憶装置にアプリケーションデータと、前記アプリケーションデータをインストールした画像形成装置を識別する装置識別情報及び前記画像形成装置がインストールした前記アプリケーションデータを識別するアプリケーション識別情報を含むデバイスデータとが記憶されている際に、前記装置識別情報で識別される画像形成装置に前記アプリケーション識別情報で識別されるアプリケーションデータのライセンスデータを要求する要求手段と、
前記要求手段による要求に応じて前記装置識別情報で識別される画像形成装置から前記ライセンスデータを取得できた場合、前記ライセンスデータを用いて前記外部記憶装置に記憶されているアプリケーションデータをインストールする管理手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記管理手段は、前記要求手段による要求に応じて前記装置識別情報で識別される画像形成装置から前記ライセンスデータを取得できなかった場合、前記外部記憶装置から前記デバイスデータを削除し、前記外部記憶装置に記憶されているライセンスデータを用いて、前記外部記憶装置に記憶されているアプリケーションデータをインストールし、前記外部記憶装置に記憶されているライセンスデータを削除することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記外部記憶装置に記憶されているアプリケーションデータをインストールした後、前記外部記憶装置を識別する外部記憶装置識別情報と、前記アプリケーションデータを識別するアプリケーション識別情報と、を対応付けて記憶装置に記憶する記憶手段と、
前記外部記憶装置に当該画像形成装置を識別する装置識別情報及び前記アプリケーション識別情報を含むデバイスデータを保存する保存手段と、
を更に有することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記管理手段は、
外部記憶装置の取り出しを指示する操作がなされた際に、前記記憶装置に前記外部記憶装置を識別する外部記憶装置識別情報と対応付けられたアプリケーション識別情報が記憶されている場合、前記アプリケーション識別情報で識別されるアプリケーションデータの残りのライセンスデータを前記外部記憶装置に保存する処理を実行し、
前記残りのライセンスデータの保存が成功した場合は、前記外部記憶装置に記憶されているデバイスデータを削除し、前記アプリケーションをアンインストールし、
前記残りのライセンスデータの保存が成功しなかった場合は、前記記憶装置に前記アプリケーションデータを識別するアプリケーション識別情報と、前記アプリケーションの残りのライセンスデータと、を対応付けて保存し、前記アプリケーションをアンインストールする
ことを特徴とする請求項３に記載の画像形成装置。
【請求項５】
アプリケーション識別情報を含む、ライセンスデータの要求を受信する受信手段と、
前記受信手段により受信した要求に含まれる前記アプリケーション識別情報に対応付けられたライセンスデータが前記記憶装置に保存されている場合、要求元に前記ライセンスデータを送信する要求処理手段と、
を更に有することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
画像形成装置が実行するアプリケーションデータのインストール方法であって、
外部記憶装置が接続されたことを検出する検出ステップと、
前記検出ステップで接続が検出された前記外部記憶装置にアプリケーションデータと、前記アプリケーションデータをインストールした画像形成装置を識別する装置識別情報及び前記画像形成装置がインストールした前記アプリケーションデータを識別するアプリケーション識別情報を含むデバイスデータとが記憶されている際に、前記装置識別情報で識別される画像形成装置に前記アプリケーション識別情報で識別されるアプリケーションデータのライセンスデータを要求する要求ステップと、
前記要求に応じて前記装置識別情報で識別される画像形成装置から前記ライセンスデータを取得できた場合、前記ライセンスデータを用いて前記外部記憶装置に記憶されているアプリケーションデータをインストールする管理ステップと、
を含むことを特徴とするインストール方法。
【請求項７】
請求項１乃至５の何れか１項に記載の画像形成装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、インストール方法及びプログラムに関する。
【背景技術】
【０００２】
従来の画像形成装置ではアプリケーションをインストールすることにより機能拡張を行うことが可能である。このような画像形成装置ではアプリケーションの使用期間の制限やプリント回数の制限を実現可能とするため、制限情報を埋め込んだライセンスファイルとセットでアプリケーションをインストールするようになっている。また、従来の画像形成装置では正しくない利用を防止するため一度利用したライセンスファイルを同じ画像形成装置に繰り返してインストールできないようになっている。また、このような画像形成装置ではアプリケーションが利用可能な資源（メモリやストレージ容量）の上限が決まっており、その範囲内に自由に複数のアプリケーションを組み合わせてインストールしておくことが可能である（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１３９１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ローエンドの画像形成装置等、利用可能な資源が少ない装置では、一度に多数のアプリケーションを同時にインストールして利用することができない。
そのため、ＵＳＢメモリにアプリケーションとライセンスファイルとを格納し、ＵＳＢメモリの抜き差しに連動してアプリケーションのインストール・アンインストールを行う方法が考えられる。この方法では、多種類のアプリケーションを容易に切り替えられるようになるため利用可能な資源が少ないデバイスでも有効な方法と考えられる。
しかしながら、このような構成においてＵＳＢメモリ等の外部記憶装置が強制的に引き抜かれた場合、ライセンスファイルを書き戻すことができない。そのため、アプリケーションファイル等のアプリケーションデータを再インストールすることができなくなる問題があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、外部記憶装置が強制的に引き抜かれた場合でも、ライセンスデータを必要とするアプリケーションデータをインストールできるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の画像形成装置は、外部記憶装置が接続されたことを検出する検出手段と、前記検出手段で接続が検出された前記外部記憶装置にアプリケーションデータと、前記アプリケーションデータをインストールした画像形成装置を識別する装置識別情報及び前記画像形成装置がインストールした前記アプリケーションデータを識別するアプリケーション識別情報を含むデバイスデータとが記憶されている際に、前記装置識別情報で識別される画像形成装置に前記アプリケーション識別情報で識別されるアプリケーションデータのライセンスデータを要求する要求手段と、前記要求手段による要求に応じて前記装置識別情報で識別される画像形成装置から前記ライセンスデータを取得できた場合、前記ライセンスデータを用いて前記外部記憶装置に記憶されているアプリケーションデータをインストールする管理手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、外部記憶装置が強制的に引き抜かれた場合でも、ライセンスデータを必要とするアプリケーションデータをインストールできるようにすることができる。
【図面の簡単な説明】
【０００８】
【図１】画像形成装置のハードウェア構成の一例を示す図である。
【図２】画像形成装置上で動作するアプリケーション管理を行うためのソフトウェア構成の一例を示す図である。
【図３】画像形成装置の操作部上に表示される画面の一例を示す図である。
【図４】ＵＳＢメモリに格納されるアプリケーションやライセンスファイルの一例を示す図である。
【図５】ＵＳＢメモリが接続されてアプリケーションがインストールされた場合に、ＵＳＢアプリ管理部が内部に保持するアプリケーション管理テーブルの一例を示す図である。
【図６】ＵＳＢデバイス検出部がＵＳＢメモリの検出を行う際の処理の流れを示すフローチャートである。
【図７】ステップＳ６０４のＵＳＢメモリ接続通知を受けた際のＵＳＢアプリ管理部の処理の流れを示すフローチャートである。
【図８】取り外すＵＳＢメモリの選択画面で何らかのＵＳＢメモリが選択されＯＫボタンが押された際の、ＵＳＢアプリ管理部の処理の流れを示すフローチャートである。
【図９】ステップＳ６０９のＵＳＢメモリ取り外し通知を受けた際のＵＳＢアプリ管理部の処理の流れを示すフローチャートである。
【図１０】実施形態２におけるシステムのシステム構成の一例を示す図である。
【図１１】画像形成装置がＵＳＢメモリ内に保存するデバイス情報ファイルの一例を示す図である。
【図１２】実施形態２における画像形成装置のＵＳＢアプリ管理部がＵＳＢデバイス検出部からＵＳＢメモリ接続通知を受けた際の処理の流れを示すフローチャートである。
【図１３】要求処理部が外部からライセンスファイル取得要求を受信した際の処理の流れを示すフローチャートである。
【図１４】取り外すＵＳＢメモリの選択画面で何らかのＵＳＢメモリが選択されＯＫボタンが押された際の、ＵＳＢアプリ管理部の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、画像形成装置のハードウェア構成の一例を示す図である。
ＣＰＵ１０１は、画像形成装置１００のソフトウェアプログラムを実行し、装置全体の制御を行う。ＲＯＭ１０２は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。ＲＡＭ１０３は、ランダムアクセスメモリであり、ＣＰＵ１０１が装置を制御する際に、一時的なデータの格納等に使用される。ＦｌａｓｈＲＯＭ１０４は、書き換え可能な不揮発メモリであり、インストールされたアプリケーション（アプリケーションファイル）やアプリケーションのデータや印刷データの格納等、様々なデータの格納に使用される。ＵＳＢＨ  Ｉ／Ｆ１０５は、ＵＳＢホストインタフェースを制御するためのものであり、様々なＵＳＢデバイスとの通信を制御する。スキャナＩ／Ｆ制御部１０６は、スキャナ１１１を制御する装置である。プリンタＩ／Ｆ制御部１０７は、プリンタ１１２を制御する装置である。ＮＶＲＡＭ１０８は、不揮発性のメモリであり画像形成装置１００の各種設定値を保存するためのものである。パネル制御部１０９は、操作パネル１１３を制御し、各種情報の表示、使用者からの指示入力を行うためのものである。ネットワークＩ／Ｆ制御部１１０は、ＬＡＮネットワーク１１５とのデータの送受信を制御する。バス１１４には、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＦｌａｓｈＲＯＭ１０４、ＵＳＢＨ  Ｉ／Ｆ１０５、スキャナＩ／Ｆ制御部１０６、プリンタＩ／Ｆ制御部１０７、ＮＶＲＡＭ１０８、パネル制御部１０９、ネットワークＩ／Ｆ制御部１１０が接続される。またバス１１４は、ＣＰＵ１０１からの制御信号や各装置間のデータ信号が送受信されるシステムバスである。ＵＳＢデバイス１１６は、ＵＳＢメモリやＵＳＢキーボード等のＵＳＢデバイスである。本実施形態１においてはアプリケーションが格納されたＵＳＢメモリを画像形成装置１００に接続することにより、アプリケーションをＦｌａｓｈＲＯＭ１０４にインストールすることができる。
ＣＰＵ１０１が、プログラムを実行することによって、後述するソフトウェア構成及びフローチャートに係る処理が実現される。
なお、以下、説明の簡略化のため、アプリケーション、又はアプリケーションファイルを単にアプリとも言う。アプリケーション、又はアプリケーションファイルは、アプリケーションデータの一例である。ＵＳＢデバイスは、外部記憶装置の一例である。
【００１１】
図２は、画像形成装置上で動作するアプリケーション管理を行うためのソフトウェア構成の一例を示す図である。
ＵＳＢデバイス検出部２０１は、ＵＳＢメモリが接続されたり取り外されたりしたことを検出し、他のソフトウェアモジュールに通知を行う。ＵＳＢアプリ管理部２０２は、ＵＳＢメモリが接続された場合に、そのＵＳＢメモリに含まれるアプリケーションの管理を行う。例えば、ＵＳＢメモリが画像形成装置１００に接続されると、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリの中に含まれるアプリケーションをインストールし、アプリケーションを開始させる制御を、アプリ管理部２０３を介して行う。また、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリが画像形成装置１００から抜かれるとインストールしていたアプリケーションを停止してアンインストールする制御を、アプリ管理部２０３を介して行う。アプリ管理部２０３は、画像形成装置１００上で動作するアプリケーションの管理を行う。ライセンス管理部２０４は、アプリケーションインストールに伴うライセンスファイルの検証やアンインストール時の残りライセンスの生成等を行う。ライセンス保存部２０５は、アプリケーションをアンインストールする際にアプリケーションに付随するライセンスをファイル化して保存する。Ｗｅｂサーバ部２０６は、外部ＰＣからの要求を受け付けるサーバである。要求処理部２０７は、外部から受けた要求に対する制御を行う。例えば、要求処理部２０７は、外部ＰＣ上のＷｅｂブラウザからリクエストを受けアプリケーション管理ページを要求元に返したり、アプリケーション管理要求を受け付けアプリケーションの管理を行ったりする。
なお、ライセンスファイルは、ライセンスデータの一例である。
【００１２】
図３は、画像形成装置の操作部上に表示される画面の一例を示す図である。
図３（Ａ）のトップメニュー画面３０１は、画像形成装置１００を起動したときに最初に表示される。アプリボタン領域３０２は、インストールされているアプリケーションの各画面に遷移するためのアプリケーションボタン３０３が表示される領域である。図３（Ｂ）は、アプリケーションを含むＵＳＢメモリを接続したときに表示される画面である。ＵＳＢメモリにアプリケーションが含まれていると、ＵＳＢメモリに含まれるアプリケーションがインストールされてアプリケーションボタンが表示されるようになる。ＵＳＢ取り出しボタン３０４は、ＵＳＢメモリを安全に取り外せるようにするためのボタンであり、何らかのＵＳＢメモリが接続されている場合に表示される。ユーザによってこのボタンが押されると、取り外すＵＳＢメモリの選択画面（図３（Ｃ））が表示される。ＵＳＢメモリ選択領域３０５は、現在接続されているＵＳＢメモリのリストが表示され、ユーザが選択可能な領域である。ＯＫボタン３０６が押されるとＵＳＢメモリ選択領域３０５で選択されたＵＳＢメモリに含まれていたアプリケーションが画像形成装置１００内からアンインストールされる。そしてＵＳＢメモリがアンマウントされて安全に取り外せる状態になる。キャンセルボタン３０７は、ＵＳＢメモリの取り出しを取り消すためのボタンであり、何も処理をせずに前に表示されていた画面（例えば図３（Ｂ））に戻る。
【００１３】
図４は、ＵＳＢメモリに格納されるアプリケーションやライセンスファイルの一例を示す図である。
図４（Ａ）は、ＵＳＢメモリ内のディレクトリ構造を示す図である。本実施形態１ではＡｐｐｌｉｃａｔｉｏｎｓディレクトリの下にアプリケーション毎のディレクトリを作り、その下にアプリケーションファイル４０１、ライセンスファイル４０２を配置する構成になっている。アプリケーションファイル４０１は、複数のファイルがアーカイブされたファイルである。ライセンスファイル４０２は、ライセンス情報が暗号化されたファイルである。
図４（Ｂ）は、アプリケーションファイル４０１の内部のファイル構造を示す図である。アプリケーションファイル４０１は、アプリケーション属性ファイル４０３と暗号化されたアプリケーションの実体ファイル４０４とから構成される。
図４（Ｃ）は、アプリケーション属性ファイル４０３の一例を示す図である。アプリケーション属性ファイル４０３には、Ａｐｐｌｉｃａｔｉｏｎ−ＩＤ、Ａｐｐｌｉｃａｔｉｏｎ−Ｎａｍｅ、Ａｐｐｌｉｃａｔｉｏｎ−Ｖｅｒｓｉｏｎ、Ｖｅｎｄｏｒ、Ｍｅｍｏｒｙ、Ｆｉｌｅ−Ｓｐａｃｅの各属性が定義されている。Ａｐｐｌｉｃａｔｉｏｎ−ＩＤはアプリケーションを識別するためのＩＤである。Ａｐｐｌｉｃａｔｉｏｎ−Ｎａｍｅは、アプリケーション名の定義であり、アプリ管理画面等の表示等に用いられる。Ａｐｐｌｉｃａｔｉｏｎ−Ｖｅｒｓｉｏｎは、アプリケーションのバージョンである。Ｖｅｎｄｏｒは、アプリケーションのベンダ名である。Ｍｅｍｏｒｙは、そのアプリケーションが消費する最大メモリを定義する。Ｆｉｌｅ−Ｓｐａｃｅは、そのアプリケーションが消費する最大ストレージ容量を定義する。Ｍｅｍｏｒｙ及びＦｉｌｅ−Ｓｐａｃｅは、アプリ管理部２０３がアプリケーションを開始する際に、そのアプリケーションが動作するのに十分な資源が残っているかを判定するために利用される情報である。もし、十分な資源が残っていない場合、画像形成装置１００は、そのアプリケーションを開始することはできない。
【００１４】
図４（Ｄ）は、ライセンスファイルの中に含まれる情報の一例を示す図である。Ｌｉｃｅｎｓｅ−Ｖｅｒｓｉｏｎは、ライセンスファイルのフォーマットを示すバージョンである。Ｌｉｃｅｎｓｅ−ＩＤは、ライセンスファイルを識別するためのＩＤである。インストールしたライセンスのＩＤは、デバイス内部に保存され、同じライセンスファイルを繰り返し利用できないようになっている。Ａｐｐｌｉｃａｔｉｏｎ−ＩＤは、そのライセンスファイルがどのアプリケーションに対応するものなのかを判断するための情報である。Ｐｒｉｎｔ−Ｌａｒｇｅは、大きいサイズの用紙への印刷を何枚まで許可するかを示す情報である。Ｐｒｉｎｔ−Ｓｍａｌｌは、小さいサイズの用紙への印刷を何枚まで許可するかを示す情報である。Ｋｅｙは、暗号化されたアプリケーション実体ファイルを復号化するための鍵情報である。なお、前述したようにライセンスファイルは暗号化されており直接ユーザが内容を確認することはできないようになっている。また、ライセンスファイルを復号化するための鍵は、デバイス内に組み込まれており、取り出すことはできない。
図４（Ｅ）は、アプリケーションをアンインストールするときに書き戻されるライセンスファイルの一例を示す図である。この例は、このアプリケーションを利用して大きいサイズの用紙への印刷を５０枚、小さいサイズの用紙への印刷を５枚行った後にアプリケーションをアンインストールする際に書き戻されるライセンスファイルの例である。大きいサイズの用紙への印刷を５０枚行っているためＰｒｉｎｔ−Ｌａｒｇｅの値は２００から５０を引いて１５０、小さいサイズの用紙への印刷を５枚行ったので、Ｐｒｉｎｔ−Ｓｍａｌｌの値は２００から５を引いて１９５になる。なお、Ｌｉｃｅｎｓｅ−ＩＤは、ライセンスファイルを識別するためのＩＤであるため毎回別のＩＤが割り振られる。その他の情報は元のライセンスファイルの情報が引き継がれる。
【００１５】
図５は、ＵＳＢメモリが接続されてアプリケーションがインストールされた場合に、ＵＳＢアプリ管理部２０２が内部に保持するアプリケーション管理テーブルの一例を示す図である。
ＵＳＢ識別番号５０１は、ＵＳＢデバイスを識別するための番号であり、ＵＳＢドライバがデバイス毎に一意に割り当てるＩＤである。アプリケーションＩＤ５０２は、アプリケーションの種類を識別するためのＩＤであり、アプリケーション属性ファイルで定義されているＡｐｐｌｉｃａｔｉｏｎ−ＩＤの値が保存される。
【００１６】
図６は、ＵＳＢデバイス検出部２０１がＵＳＢメモリの検出を行う際の処理の流れを示すフローチャートである。
まず、ＵＳＢデバイス検出部２０１は、ステップＳ６０１で内部変数Ｎを０で初期化する。
次にステップＳ６０２に進み、ＵＳＢデバイス検出部２０１は、現在接続されているＵＳＢメモリ数を取得し、変数Ｍに代入する。
次にステップＳ６０３に進み、ＵＳＢデバイス検出部２０１は、ＮがＭよりも小さいかどうかを判定する。もしＮがＭよりも小さい場合、ＵＳＢデバイス検出部２０１は、ステップＳ６０４に進む。
ステップＳ６０４では、ＵＳＢデバイス検出部２０１は、ＵＳＢメモリが新たに接続されたことをＵＳＢアプリ管理部２０２に通知する。
次にステップＳ６０５に進み、ＵＳＢデバイス検出部２０１は、ＮにＭを代入する。
次にステップＳ６０６に進み、ＵＳＢデバイス検出部２０１は、ＵＳＢメモリ検出処理がＣＰＵを占有しないように一定時間待つ。
次にステップＳ６０７に進み、ＵＳＢデバイス検出部２０１は、画像形成装置１００がシャットダウンされたかどうかを判定する。もしシャットダウンされていなければ、ＵＳＢデバイス検出部２０１は、ステップＳ６０２にもどる。一方、シャットダウンされた場合、ＵＳＢデバイス検出部２０１は、処理を終了する。
一方、ステップＳ６０３にてＮがＭよりも小さくないと判定した場合、ＵＳＢデバイス検出部２０１は、ステップＳ６０８に進む。ステップＳ６０８では、ＵＳＢデバイス検出部２０１は、ＮがＭよりも大きいかどうかを判定する。もしＮがＭよりも大きい場合、ＵＳＢデバイス検出部２０１は、ステップＳ６０９に進む。
ステップＳ６０９では、ＵＳＢデバイス検出部２０１は、ＵＳＢメモリが取り外されたことをＵＳＢアプリ管理部２０２に通知し、ステップＳ６０５に進む。それ以降の処理は前述の通りである。
また一方、ステップＳ６０８にてＮがＭよりも大きくないと判定した場合、ＵＳＢデバイス検出部２０１は、デバイス接続数に変化がないため通知処理を行わずにステップＳ６０６に進む。それ以降の処理は前述の通りである。
【００１７】
図７は、ステップＳ６０４のＵＳＢメモリ接続通知を受けた際のＵＳＢアプリ管理部２０２の処理の流れを示すフローチャートである。
ＵＳＢアプリ管理部２０２は、通知を受け取ると、まずステップＳ７０１にてＵＳＢメモリの所定の場所にアプリケーションが存在するかどうかを判定する。ＵＳＢメモリの所定の場所にアプリケーションが存在しない場合、ＵＳＢアプリ管理部２０２は、処理を終了する。もし、アプリケーションが存在する場合、ＵＳＢアプリ管理部２０２は、ステップＳ７０２に進む。
ステップＳ７０２では、ＵＳＢアプリ管理部２０２は、アプリケーション属性からＡｐｐｌｉｃａｔｉｏｎ−ＩＤを取得し、既に同じアプリケーションがインストールされているかどうかを判定する。もし既に同じアプリケーションがインストールされていた場合、ＵＳＢアプリ管理部２０２は、処理を終了する。同じアプリケーションがインストールされていないと判定した場合、ＵＳＢアプリ管理部２０２は、ステップＳ７０３に進む。
ステップＳ７０３では、ＵＳＢアプリ管理部２０２は、画像形成装置１００内にそのアプリケーション用のライセンスファイルが保存されているかどうかを判定する。もしライセンスファイルが存在する場合、ＵＳＢアプリ管理部２０２は、ステップＳ７０４に進み、画像形成装置１００内に保存されているライセンスファイルを用いてアプリケーションのインストールを行う。
次にステップＳ７０５に進み、ＵＳＢアプリ管理部２０２は、画像形成装置１００内に保存されているそのアプリケーション用のライセンスファイルを削除する。
次にステップＳ７０６に進み、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリの識別子とアプリケーションの識別子とを対応付けてアプリケーション管理テーブル（図５）に記憶して処理を終了する。
ＵＳＢメモリの識別子は、外部記憶装置識別情報の一例である。
【００１８】
一方、Ｓ７０３にて画像形成装置１００内にライセンスが存在しないと判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ７０７に進む。ステップＳ７０７では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリの所定の場所にライセンスファイルが存在するかどうかを判定する。
もしライセンスファイルが存在すると判定した場合、ＵＳＢアプリ管理部２０２は、ステップＳ７０８に進む。ステップＳ７０８では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリ内に存在するライセンスファイルを利用してアプリケーションをインストールし、ステップＳ７０７に進む。
ステップＳ７０９では、ＵＳＢアプリ管理部２０２は、インストールに使用したライセンスファイルをＵＳＢメモリ内から削除してステップＳ７０６に進む。それ以降の処理は前述の通りである。
一方、ステップＳ７０７でＵＳＢメモリ内にライセンスファイルが存在しないと判定した場合は、ＵＳＢアプリ管理部２０２は、処理を終了する。
【００１９】
図８は、図３（Ｂ）画面のＵＳＢ取り出しボタンが押され、取り外すＵＳＢメモリの選択画面（図３（Ｃ））で何らかのＵＳＢメモリが選択されＯＫボタンが押された際の、ＵＳＢアプリ管理部２０２の処理の流れを示すフローチャートである。
取り外すＵＳＢメモリの選択画面（図３（Ｃ））でＵＳＢメモリが選択されＯＫボタンが押されると、ＵＳＢアプリ管理部２０２は、ステップＳ８０１にて選択されたＵＳＢメモリの情報がアプリケーション管理テーブルに存在するかどうかチェックする。もし存在する場合は、ＵＳＢアプリ管理部２０２は、ステップＳ８０２に進み、対応するアプリケーションの残りのライセンス（残ライセンス）をファイル化してＵＳＢメモリに書き出す。
次にステップＳ８０３に進み、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリへの書き出し処理が成功したかどうかを判定する。もしＵＳＢメモリへの保存が成功した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ８０４に進む。一方、ステップＳ８０３にて書き出し失敗と判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ８０７に進む。
ステップＳ８０７では、ＵＳＢアプリ管理部２０２は、画像形成装置１００内にライセンスファイルを保存してステップＳ８０４に進む。
ステップＳ８０４では、ＵＳＢアプリ管理部２０２は、アプリケーションをアンインストールし、ステップＳ８０５に進む。
ステップＳ８０５では、ＵＳＢアプリ管理部２０２は、選択されたＵＳＢメモリに対応する項目をアプリケーション管理テーブルから削除し、ステップＳ８０６に進む。
一方、ステップＳ８０１にて選択されたＵＳＢメモリの情報がアプリケーション管理テーブルに存在しない場合も、ＵＳＢアプリ管理部２０２は、ステップＳ８０６に進む。
ステップＳ８０６では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリの切断処理をして処理を終了する。なお、切断処理が行われるとステップＳ６０２で取得できるデバイス数が減少するため、ＵＳＢデバイス検出部２０１は、デバイス数の減少を検出して、ＵＳＢアプリ管理部２０２にＵＳＢメモリ取り外し通知を行う。
【００２０】
図９は、ステップＳ６０９のＵＳＢメモリ取り外し通知を受けた際のＵＳＢアプリ管理部２０２の処理の流れを示すフローチャートである。
ＵＳＢアプリ管理部２０２は、ＵＳＢメモリ取り外し通知を受け取ると、まずステップＳ９０１で、取り外されたＵＳＢメモリの情報がアプリケーション管理テーブルに存在するかどうかチェックする。正しい手順でＵＳＢメモリを引き抜いた場合は図８の処理を必ず実行することになるため、ＵＳＢメモリの情報がアプリケーション管理テーブルに存在した場合は強制的にＵＳＢメモリを引き抜いたことを意味する。もしＵＳＢメモリの情報がアプリケーション管理テーブルに存在しない場合は、ＵＳＢアプリ管理部２０２は、何もせずに処理を終了する。もしアプリケーション管理テーブルに情報があると判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ９０２に進む。
ステップＳ９０２では、ＵＳＢアプリ管理部２０２は、アプリケーション管理テーブルで関連付けられているアプリケーションの残りのライセンスをファイル化して画像形成装置１００内に保存してステップＳ９０３に進む。
ステップＳ９０３では、ＵＳＢアプリ管理部２０２は、アプリケーション管理テーブルで関連付けられているアプリケーションをアンインストールし、ステップＳ９０４に進む。
ステップＳ９０４では、ＵＳＢアプリ管理部２０２は、取り外されたＵＳＢメモリに対応する項目をアプリケーション管理テーブルから削除して処理を終了する。
このような構成とすることでユーザがアンマウント操作をせずにＵＳＢメモリを引き抜いた場合等、何らかの理由でライセンスファイルをＵＳＢメモリに書き戻せなかった場合でも同じデバイスに対してアプリケーションを再度インストールできるようになる。
【００２１】
＜実施形態２＞
次に実施形態２では、強制的に引き抜いたＵＳＢメモリを他の画像形成装置１００に挿したときでもアプリケーションをインストールすることを可能とする構成等を説明する。
図１０は、実施形態２におけるシステムのシステム構成の一例を示す図である。図１０に示すように本実施形態のシステムでは、複数の画像形成装置１００がネットワーク経由で通信可能に接続されている。実施形態２における画像形成装置１００は、ＵＳＢメモリからのアプリケーションのインストールが成功すると、その画像形成装置１００のデバイス情報ファイルをＵＳＢメモリに書き出し、ＵＳＢ取り外し操作をされたときにデバイス情報ファイルを削除する。また、実施形態２における画像形成装置１００２は、ＵＳＢメモリが接続されインストール処理を行う際に、ＵＳＢメモリ内に画像形成装置１００１のデバイス情報ファイルが残っていた場合、その情報を基にネットワーク経由でその画像形成装置１００１にアクセスする。そして、画像形成装置１００２は、画像形成装置１００１からライセンスファイルの取得を試みる。ライセンスファイルが取得できた場合、画像形成装置１００２は、取得したライセンスファイルを使ってアプリケーションをインストールするようになっている。
なお、デバイス情報ファイルは、デバイスデータの一例である。
【００２２】
実施形態２における画像形成装置１００のハードウェア構成、画像形成装置１００上で動作するアプリケーション管理のためのソフトウェアの構成、ＵＳＢメモリ経由でアプリケーションをインストールした際のＵＩ画面例については、実施形態１と同じである。したがって、詳細な説明は省略する。
図１１は、画像形成装置１００がＵＳＢメモリ内に保存するデバイス情報ファイルの一例を示す図である。図１１（Ａ）は、デバイス情報ファイルの格納場所の一例を示す図である。デバイス情報ファイル１１０１は、ｈｏｓｔｉｎｆｏ．ｄａｔというファイル名でアプリケーションファイル１１０２と同じフォルダ内に格納される。
図１１（Ｂ）は、デバイス情報ファイルの内容の一例を示す図である。Ｈｏｓｔ−Ａｄｄｒｅｓｓ１１０３は、アプリケーションをインストールしたホストのＩＰアドレスの情報である。Ａｐｐｌｉｃａｔｉｏｎ−ＩＤ１１０４は、インストールしたアプリケーションの識別情報である。なお、デバイス情報ファイルは、ライセンスファイルと同様、暗号化されて格納されるためユーザが情報ファイルを偽造することはできない。
デバイス情報ファイルまた、Ｈｏｓｔ−Ａｄｄｒｅｓｓ１１０３は、装置識別情報の一例である。また、Ａｐｐｌｉｃａｔｉｏｎ−ＩＤ１１０４は、アプリケーション識別情報の一例である。
【００２３】
図１２は、実施形態２における画像形成装置１００のＵＳＢアプリ管理部２０２がＵＳＢデバイス検出部２０１からＵＳＢメモリ接続通知を受けた際の処理の流れを示すフローチャートである。
ＵＳＢアプリ管理部２０２は、通知を受け取ると、まずステップＳ１２０１にてＵＳＢメモリの所定の場所にアプリケーションが存在するかどうかを判定する。ＵＳＢメモリにアプリケーションが含まれていない場合は、ＵＳＢアプリ管理部２０２は、処理を終了する。もしアプリケーションが含まれている場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１２０２に進む。
ステップＳ１２０２では、ＵＳＢアプリ管理部２０２は、アプリケーション属性からＡｐｐｌｉｃａｔｉｏｎ−ＩＤを取得し、既に同じアプリケーションがインストールされているかどうかを判定する。もし既に同じアプリケーションがインストールされていた場合は、ＵＳＢアプリ管理部２０２は、処理を終了する。同じアプリケーションがインストールされていないと判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１２０３に進む。
ステップＳ１２０３では、ＵＳＢアプリ管理部２０２は、画像形成装置１００内にそのアプリケーション用のライセンスファイルが保存されているかどうかを判定する。もしライセンスファイルが存在しない場合、ＵＳＢアプリ管理部２０２は、ステップＳ１２０４に進み、ＵＳＢメモリ内にデバイス情報ファイルが存在するかどうかを判定する。もしデバイス情報ファイルが存在すると判定した場合はステップＳ１２０５に進む。
【００２４】
ステップＳ１２０５では、ＵＳＢアプリ管理部２０２は、デバイス情報ファイルからＨｏｓｔ−ＡｄｄｒｅｓｓとＡｐｐｌｉｃａｔｉｏｎ−ＩＤ情報とを読み出す。そして、ＵＳＢアプリ管理部２０２は、Ｈｏｓｔ−Ａｄｄｒｅｓｓの画像形成装置１００に対してＡｐｐｌｉｃａｔｉｏｎ−ＩＤのライセンスファイルを要求する。
次にステップＳ１２０６に進み、ＵＳＢアプリ管理部２０２は、ライセンスファイルを取得できたかどうかを判定する。ステップＳ１２０６にてライセンスファイル取得に成功したと判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１２０７に進む。
ステップＳ１２０７では、ＵＳＢアプリ管理部２０２は、取得したライセンスファイルを利用してアプリケーションをインストールし、ステップＳ１２０８に進む。
ステップＳ１２０８では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリの識別子とアプリケーションの識別子との対応をアプリケーション管理テーブル（図５）に記憶してステップＳ１２０９に進む。
ステップＳ１２０９では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリにデバイス情報ファイルを保存して処理を終了する。より具体的に説明すると、ＵＳＢアプリ管理部２０２は、以下のように処理を行う。ＵＳＢアプリ管理部２０２は、Ｓ１２１０〜Ｓ１２１２を経て、Ｓ１２０９に来た場合、自装置のＩＰアドレスと、Ｓ１２１１でインストールしたアプリケーションを識別するアプリケーションの識別情報と、を含むデバイス情報ファイルをＵＳＢメモリに保存する。一方、ＵＳＢアプリ管理部２０２は、Ｓ１２０７を経て、Ｓ１２０９に来た場合、ＵＳＢメモリにあるデバイス情報ファイルを一旦削除する。そして、ＵＳＢアプリ管理部２０２は、自装置のＩＰアドレスと、Ｓ１２０７でインストールしたアプリケーションを識別するアプリケーションの識別情報と、を含むデバイス情報ファイルをＵＳＢメモリに保存する。なお、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリにあるデバイス情報ファイルを一旦削除せず、前記デバイス情報ファイルのＨｏｓｔ−Ａｄｄｒｅｓｓ１１０３を自装置のＩＰアドレスに変更するようにしてもよい。
【００２５】
一方、ステップＳ１２０４にてＵＳＢメモリ内にデバイス情報ファイルが存在しないと判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１２１０に進む。ステップＳ１２１０では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリの所定の場所にライセンスファイルが存在するかどうかを判定する。もしライセンスファイルが存在しないと判定した場合は、ＵＳＢアプリ管理部２０２は、処理を終了する。ライセンスファイルが存在すると判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１２１１に進む。
ステップＳ１２１１では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリ内に存在するライセンスファイルを利用してアプリケーションをインストールし、ステップＳ１２１２に進む。
ステップＳ１２１２では、ＵＳＢアプリ管理部２０２は、インストールに使用したライセンスファイルをＵＳＢメモリ内から削除してステップＳ１２１３に進む。それ以降の処理は前述の通りである。
一方、ステップＳ１２０６にてライセンスファイル取得できなかったと判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１２１３に進む。ステップＳ１２１３では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリ内に存在するデバイス情報ファイルを削除してステップＳ１２１０に進む。それ以降の処理は前述の通りである。
一方、ステップＳ１２０３にて画像形成装置１００内にライセンスファイルが存在すると判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１２１４に進む。ステップＳ１２１４では、ＵＳＢアプリ管理部２０２は、画像形成装置１００内に保存されているライセンスファイルを用いてアプリケーションのインストールを行う。
次にステップＳ１２１５に進み、ＵＳＢアプリ管理部２０２は、画像形成装置１００内に保存されているそのアプリケーション用のライセンスファイルを削除する。
次にステップＳ１２０８に進み、ＵＳＢアプリ管理部２０２は、前述した処理を行い、処理を終了する。
【００２６】
図１３は、要求処理部２０７が外部からライセンスファイル取得要求を受信した際の処理の流れを示すフローチャートである。
要求処理部２０７は、ライセンスファイル取得要求を受信すると、まずステップＳ１３０１にて要求からＡｐｐｌｉｃａｔｉｏｎ−ＩＤ情報を取りだす。
次にステップＳ１３０２に進み、要求処理部２０７は、そのＡｐｐｌｉｃａｔｉｏｎ−ＩＤのアプリケーションに対応するライセンスファイルが画像形成装置１００内に存在するかを判定する。もし存在しない場合は、  要求処理部２０７は、ステップＳ１３０６にてエラーを返し処理を終了する。もし対応するライセンスファイルが存在する場合は、要求処理部２０７は、ステップＳ１３０３に進む。
ステップＳ１３０３では、要求処理部２０７は、要求元にライセンスファイルを送信する。
次にステップＳ１３０４に進み、要求処理部２０７は、正常に送信完了したかを判定する。正常にライセンスファイル送信が行えなかった場合は、要求処理部２０７は、処理を終了する。正常にライセンスファイルを送信することができた場合は、要求処理部２０７は、ステップＳ１３０５に進む。
ステップＳ１３０５では、要求処理部２０７は、送信したライセンスファイルを画像形成装置１００から削除して処理を終了する。
【００２７】
図１４は、図３（Ｂ）画面のＵＳＢ取り出しボタンが押され、取り外すＵＳＢメモリの選択画面（図３（Ｃ））で何らかのＵＳＢメモリが選択されＯＫボタンが押された際の、ＵＳＢアプリ管理部２０２の処理の流れを示すフローチャートである。
取り外すＵＳＢメモリの選択画面（図３（Ｃ））で何らかのＵＳＢメモリが選択されＯＫボタンが押されると、ＵＳＢアプリ管理部２０２は、ステップＳ１４０１にて選択されたＵＳＢメモリの情報がアプリケーション管理テーブルに存在するかどうかチェックする。ＵＳＢメモリの情報がアプリケーション管理テーブルに存在する場合は、ＵＳＢアプリ管理部２０２はステップＳ４０２に進み、対応するアプリケーションの残りのライセンスをファイル化してＵＳＢメモリに書き出す。
次にステップＳ１４０３に進み、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリへの書き出し処理が成功したかどうかを判定する。もしＵＳＢメモリへの保存が成功した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１４０４に進む。ステップＳ１４０４では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリに保存していたデバイス情報ファイルを削除してステップＳ１４０５に進む。
一方、ステップＳ１４０３にて書き出し失敗と判定した場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１４０８に進む。ステップＳ１４０８では、ＵＳＢアプリ管理部２０２は、画像形成装置１００内にライセンスファイルを保存してステップＳ１４０５に進む。
ステップＳ１４０５では、ＵＳＢアプリ管理部２０２は、アプリケーションをアンインストールし、ステップＳ１４０６に進む。ステップＳ１４０６では、ＵＳＢアプリ管理部２０２は、選択されたＵＳＢメモリに対応する項目をアプリケーション管理テーブルから削除し、ステップＳ１４０７に進む。
一方、ステップＳ１４０１にて選択されたＵＳＢメモリの情報がアプリケーション管理テーブルに存在しない場合は、ＵＳＢアプリ管理部２０２は、ステップＳ１４０７に進む。ステップＳ１４０７では、ＵＳＢアプリ管理部２０２は、ＵＳＢメモリの切断処理をして処理を終了する。
なお、切断処理が行われるとステップＳ６０２で取得できるデバイス数が減少するためＵＳＢアプリ管理部２０２は、ＵＳＢメモリ取り外し通知を受ける。そのため続けてＵＳＢ取り外し通知時の処理が行われる。ＵＳＢ取り外し通知時の処理は実施形態１と同じであるため説明は省略する。
【００２８】
以上、説明してきたように実施形態２によれば、画像形成装置は、ＵＳＢメモリにデバイス情報ファイルが存在すればその情報を基にネットワーク経由でライセンスファイルを受信してアプリケーションをインストールする。よってユーザがＵＳＢメモリを強制的に引き抜いて他の画像形成装置に挿したとしても、その他の画像形成装置においてアプリケーションをインストールすることが可能になり、ユーザの利便性が向上する。
なお、本実施形態では画像形成装置１００１内に保存されたライセンスファイルを他の画像形成装置１００２から要求を受けると、画像形成装置１００１が画像形成装置１００２に送信するようにしている。しかしながら、画像形成装置１００１等が他のクライアントからの要求に対してライセンスファイルを送信するようにしてもよい。例えば、外部ＰＣのブラウザ経由の要求に応じて、画像形成装置は、外部ＰＣにライセンスファイルを送信するようにしてもよい。この場合、ユーザがライセンスファイルを外部ＰＣにダウンロードし、ＵＳＢメモリにダウンロードしたライセンスファイルを格納することで再びアプリケーションを画像形成装置にインストールすることができるようになる。
【００２９】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３０】
以上、上述した各実施形態によれば、ＵＳＢメモリが強制的に引き抜かれた場合でも、ライセンス付きアプリケーションを画像形成装置に再インストールできるようになる。このため、ライセンスファイルを必要とするアプリケーションにおいてもＵＳＢメモリを用いて容易に入れ替えることが可能になる。
【００３１】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
2012090064.tif 000003
【図２】
2012090064.tif 000004
【図３】
2012090064.tif 000005
【図４】
2012090064.tif 000006
【図５】
2012090064.tif 000007
【図６】
2012090064.tif 000008
【図７】
2012090064.tif 000009
【図８】
2012090064.tif 000010
【図９】
2012090064.tif 000011
【図１０】
2012090064.tif 000012
【図１１】
2012090064.tif 000013
【図１２】
2012090064.tif 000014
【図１３】
2012090064.tif 000015
【図１４】
2012090064.tif 000016