(58)【調査した分野】(Int.Cl.,DB名)
前記提示手段は、前記非インストールアプリケーションを当該画像形成装置にインストールされているアプリケーションであるインストール済アプリケーションと区別して提示する、
請求項4に記載の画像形成装置。
前記アプリケーション実行手段は、前記非インストールアプリケーションをカスタマイズするための設定データを前記他の画像形成装置から取得し、当該設定データを適用して当該非インストールアプリケーションを実行する、
請求項7に記載の画像形成装置。
前記提示処理は、前記非インストールアプリケーションを当該画像形成装置にインストールされているアプリケーションであるインストール済アプリケーションと区別して提示する処理である、
請求項13に記載のコンピュータプログラム。
【背景技術】
【0002】
従来、コピー、スキャン、ファックス、およびボックスなど様々な機能が備わった画像形成装置が普及している。このような画像形成装置は、「MFP(Multi Function Peripherals)」または「複合機」などと呼ばれることもある。
【0003】
これらの機能を使用できるように、メーカは、アプリケーションを作成し、画像形成装置に予めインストールしている。
【0004】
さらに、近年、画像形成装置の機能の拡張性を向上させるための技術が提案され、実現されている。
【0005】
例えば、画像形成装置にウェブブラウザが備えられるようになった。ウェブブラウザでウェブサーバへアクセスし、アプリケーションをウェブサーバに実行させることによって、様々なサービスを受けることができるようになった。
【0006】
また、「IWS(Internal Web Server)」というウェブサーバを画像形成装置に設ける技術が、提案されている。画像形成装置のメーカ以外の企業またはユーザが、広く知られている言語(例えば、HTML(Hypertext Markup Language)、JavaScript(登録商標)、またはPythonなど)を用いてアプリケーションを作成して画像形成装置にインストールし、ウェブブラウザを介してIWSにアプリケーションを実行させることができる。
【0007】
このように、近年、画像形成装置の機能をアプリケーションによって従来よりも容易に拡張することができるようになった。
【0008】
また、近年、複数台の画像形成装置および端末装置が企業などの組織のイントラネットに設けられ、連携して処理を行うようになった。連携して処理を行う技術として、次のような技術が提案されている。
【0009】
特許文献1に記載される技術によると、第1のMFPは、第2のMFPからのリモート接続に応じて第1のMFPのアプリケーションを実行する際に、当該アプリケーションに関する複数のコマンドのうちの実行対象コマンドの実行指示を受け付ける。第1のMFPは、ハードウエアの動作を伴う予め定められた第1の種類のコマンド(印刷出力コマンド等)と当該第1の種類のコマンド以外の種類のコマンドである第2の種類のコマンドとのいずれに実行対象コマンドが属するかを判定する。実行対象コマンドが第2の種類のコマンドであると判定される場合には実行対象コマンドの対応処理の第1のMFPでの実行が許可され、実行対象コマンドが第1の種類のコマンドであると判定される場合には実行対象コマンドの対応処理の第1のMFPでの実行が禁止される。
【0010】
特許文献2に記載される技術によると、MFP操作アプリとデバイスとがそれぞれデバイスと機能拡張アプリとの対応関係を記録した対応アプリ一覧を保持し、モバイル端末は、デバイスから最新の対応アプリ一覧を抽出し、MFP操作アプリのUIにアプリ情報を表示する。
【0011】
特許文献3に記載される技術によると、画像処理装置は、複数の組み込みアプリケーションのうち特定されたユーザに対応する組み込みアプリケーションを識別可能に表示し、ネットワークを介して接続された外部装置において設定された、組み込みアプリケーションとユーザの対応に関する情報を受信し、受信した情報に基づいて、複数の組み込みアプリケーションのうち少なくとも1つの組み込みアプリケーションとユーザの対応を示す情報を記憶する。
【発明を実施するための形態】
【0022】
図1は、画像処理システム4の全体的な構成の例を示す図である。
図2は、画像形成装置1のハードウェア構成の例を示す図である。
図3は、画像形成装置1の機能的構成の例を示す図である。
【0023】
画像処理システム4は、
図1に示すように、複数台の画像形成装置1、複数台のサーバ2、および通信回線3などによって構成されている。これらの画像形成装置1およびサーバ2は、通信回線3を介して通信することができる。通信回線3として、LAN(Local Area Network)回線、インターネット、携帯電話網、公衆回線、または専用線などが用いられる。
【0024】
画像処理システム4は、画像を取り扱う種々の処理を実行するシステムである。例えば、用紙から画像を読み取って電子化し保存する処理およびニュースの画像を用紙に印刷する処理などを実行する。
【0025】
以下、ある企業において画像処理システム4が使用される場合を例に説明する。したがって、この企業の従業員が、画像処理システム4のユーザである。各ユーザには、ユニークなユーザコードが予め与えられている。
【0026】
また、各画像形成装置1を「画像形成装置1A」、「画像形成装置1B」、「画像形成装置1C」、…と区別して記載することがある。同様に、各サーバ2を「サーバ2A」、「サーバ2B」、「サーバ2C」、…と区別して記載することがある。
【0027】
画像形成装置1は、コピー、PCプリント、ファックス、スキャン、およびボックスなどの機能を集約した装置である。一般に「複合機」または「MFP(Multi Function Peripherals)」などと呼ばれることがある。
【0028】
PCプリント機能は、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどから受信した画像データに基づいて画像を用紙に印刷する機能である。「ネットワークプリンティング」または「ネットワークプリント」などと呼ばれることもある。
【0029】
ボックス機能は、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどを保存し管理するための機能である。グループごとにボックスを設けておき、グループのメンバで共用することもできる。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
【0030】
サーバ2は、画像形成装置1と連携してユーザへ、例えば次のようなサービスを提供する。
【0031】
サーバ2Aは、画像形成装置1が用紙をスキャンすることによって生成した画像データを受信し、保存する。サーバ2Aとして、公知のオンラインストレージサーバが用いられる。
【0032】
サーバ2Bは、予め設定されたカテゴリのニュースを画像形成装置1へ配信し、ニュースを用紙に印刷する処理を画像形成装置1に実行させる。サーバ2Bとして、公知のニュース配信サーバが用いられる。
【0033】
サーバ2Cは、画像形成装置1が用紙をスキャンすることによって生成した画像データを受信し、ユーザが指定した電子メールアドレスへ電子メールに添付して送信する。サーバ2Cとして、公知の電子メールサーバが用いられる。
【0034】
サーバ2それぞれのサービスのAPI(Application Program Interface)が、公開されている。後述するアプリケーション11Pは、APIに基づいて作成される。
【0035】
画像形成装置1は、
図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、補助記憶装置10d、タッチパネルディスプレイ10e、操作キーパネル10f、NIC(Network Interface Card)10g、モデム10h、スキャンユニット10i、プリントユニット10j、およびフィニッシャ10kなどによって構成される。
【0036】
タッチパネルディスプレイ10eは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびCPU10aが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ10eは、タッチされた位置を示す信号をCPU10aへ送る。
【0037】
操作キーパネル10fは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
【0038】
NIC10gは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルで他の装置との通信を行う。
【0039】
モデム10hは、ファックス端末との間でG3などのプロトコルで画像データをやり取りする。
【0040】
スキャンユニット10iは、プラテンガラスの上にセットされた用紙に記されている画像を読み取って画像データを生成する。
【0041】
プリントユニット10jは、スキャンユニット10iによって読み取られた画像のほか、NIC10gまたはモデム10hによって他の装置から受信した画像を用紙に印刷する。
【0042】
フィニッシャ10kは、プリントユニット10jによって得られた印刷物に対して、必要に応じて後処理を施す。後処理は、ステープルで綴じる処理、パンチ穴を開ける処理、または折り曲げる処理などである。
【0043】
ROM10cまたは補助記憶装置10dには、上述のコピーなどの各機能を実現するためのプログラムがインストールされている。また、使用補助プログラム10P(
図3参照)およびアプリケーション11Pがインストールされている。
【0044】
アプリケーション11Pは、サーバ2と連携してユーザへサービスを提供する処理を行うためのプログラムであって、サーバ2ごとに用意されている。
【0045】
例えば、アプリケーション11PAは、サーバ2Aと連携して処理を行うためのアプリケーションであって、用紙をスキャンユニット10iでスキャンすることによって生成した画像データをサーバ2Aへ送信しサーバ2Aに保存させるためのアプリケーションである。アプリケーション11PAは、サーバ2AのAPIに基づいて作成される。
【0046】
アプリケーション11PBは、サーバ2Bと連携して処理を行うためのアプリケーションであって、予め設定されたカテゴリのニュースのデータをサーバ2Bから受信しニュースをプリントユニット10jで印刷するためのアプリケーションである。アプリケーション11PBは、サーバ2BのAPIに基づいて作成される。
【0047】
アプリケーション11PCは、サーバ2Cと連携して処理を行うためのアプリケーションであって、用紙をスキャンユニット10iでスキャンすることによって生成した画像データをサーバ2Cへ送信し、電子メールに添付して送信する処理をサーバ2Cに実行させるためのアプリケーションである。アプリケーション11PCは、サーバ2CのAPIに基づいて作成される。
【0048】
ただし、すべてのアプリケーション11Pがすべての画像形成装置1にインストールされているとは、限らない。
【0049】
以下、アプリケーション11PAが画像形成装置1Aにインストールされているが画像形成装置1B、1Cにインストールされておらず、アプリケーション11PBが画像形成装置1Bにインストールされているが画像形成装置1A、1Cにインストールされておらず、アプリケーション11PCが画像形成装置1Cにインストールされているが画像形成装置1A、1Bにインストールされていない場合を例に説明する。
【0050】
使用補助プログラム10Pは、この画像形成装置1にインストールされていないが他の画像形成装置1にインストールされているアプリケーション11Pを、ユーザがこの画像形成装置1を操作して使用することができるように補助するためのプログラムである。
【0051】
つまり、例えば使用補助プログラム10Pを画像形成装置1Cで実行すると、ユーザは、アプリケーション11PAおよび11PBを、画像形成装置1Cを操作して使用することができる。
【0052】
使用補助プログラム10Pによると、
図3に示すログイン処理部101、実績問合部102、選択受付部103、アプリケーション実行制御部104、実績記憶部105、タイプ判別部121、インストール部122、アンインストール部123、代行指令部124、結果出力部125、実績回答部131、アプリケーション提供部132、代行制御部133、および結果送信部134などの機能が実現される。
【0053】
これらのプログラムは、必要に応じてRAM10bにロードされ、CPU10aによって実行される。補助記憶装置10dとして、ハードディスクドライブまたはSSD(Solid State Drive)などが用いられる。
【0054】
図4は、使用実績データ5Bの例を示す図である。
図5は、メニュー画面6Aの例を示す図である。
【0055】
以下、
図3に示すログイン処理部101ないし結果送信部134の処理を、
図4〜
図5などを参照しながら説明する。
【0056】
ログイン処理部101ないし結果出力部125は、主に、ユーザによって直接操作される際に動作する。一方、実績回答部131ないし結果送信部134は、ユーザによって直接操作される他の画像形成装置1を補助するために動作する。以下、「M001」というユーザコードを有するユーザ80が画像形成装置1Cを直接操作し、画像形成装置1Aおよび1Bが画像形成装置1Cを補助する場合を例に説明する。
【0057】
ユーザ80は、画像形成装置1Cのタッチパネルディスプレイ10eまたは操作キーパネル10fを操作して自分のユーザコードおよびパスワードを入力し、ログインのコマンドを入力する。
【0058】
すると、画像形成装置1Cにおいて、ログイン処理部101は、ユーザ80を画像形成装置1Cにログインさせる処理を次のように実行する。
【0059】
ログイン処理部101は、入力されたユーザコードおよびパスワードを、予め登録されているユーザ80のユーザコードおよびパスワードと照合することによって、ユーザ80が正当なユーザであるか否かを判別する。そして、正当なユーザであると判別することができたら、ユーザ80を画像形成装置1Cにログインさせる。
【0060】
実績問合部102は、ユーザ80が画像形成装置1Cにログインしたら、他の画像形成装置1へ実績問合データ5Aを送信することによって、ユーザ80によるアプリケーション11Pの使用の実績を問い合わせる。なお、実績問合データ5Aには、ユーザ80のユーザコードが示される。
【0061】
ところで、画像形成装置1それぞれの実績記憶部105には、その画像形成装置1にインストールされているアプリケーション11Pの使用の実績が記憶されている。具体的には、使用実績データ5Bが記憶されている。
【0062】
例えば、画像形成装置1Aにおいては、画像形成装置1Aにインストールされているアプリケーション11Pが実行されるごとに、そのアプリケーション11Pを使用したユーザ(実行の際に画像形成装置1Aにログインしていたユーザ)のユーザコード、そのアプリケーション11Pの識別子(アプリケーション識別子)および名称、ならびに実行された日時などを示す5つの使用実績データ5B11〜5B15が使用実績データ5Bとして生成され、
図4(A)に示すように、実績記憶部105に記憶される。また、画像形成装置1Bの実績記憶部105には、
図4(B)に示すように5つの使用実績データ5B21〜5B25が使用実績データ5Bとして記憶される。
【0063】
画像形成装置1Aにおいて、実績回答部131は、画像形成装置1Cから実績問合データ5Aを受信すると、実績問合データ5Aに示されるユーザコードを示す使用実績データ5Bを、画像形成装置1A自身の実績記憶部105から検索する。そして、見つかった使用実績データ5Bに示されるアプリケーション識別子を示す回答データ5Cを画像形成装置1Cへ返信する。使用実績データ5Bが複数見つかった場合は、それぞれの使用実績データ5Bに示されるアプリケーション識別子が回答データ5Cに示される。ただし、同一のアプリケーション識別子を示す使用実績データ5Bが複数見つかった場合は、そのアプリケーション識別子は、1回のみ回答データ5Cに示される。見つからなかった場合は、回答データ5Cの代わりに、実績がないことを示す実績無通知データ5Dを送信する。
【0064】
実績記憶部105に
図4(A)に示したように使用実績データ5Bが記憶されており、実績問合データ5Aに示されるユーザコードが「M001」である場合は、実績回答部131は、使用実績データ5B11に基づいて、「APP−11PA」を示すデータを回答データ5Cとして画像形成装置1Cへ返信する。なお、「APP−11PA」は、アプリケーション11PAのアプリケーション識別子である。
【0065】
画像形成装置1B、1D、…においても同様に、実績回答部131は、実績問合データ5Aを受信すると、自らの実績記憶部105から実績問合データ5Aに示されるユーザコードを示す使用実績データ5Bを検索し、見つかった使用実績データ5Bに示されるアプリケーション識別子を示す回答データ5Cを画像形成装置1Cへ返信する。例えば、画像形成装置1Bの実績記憶部105に
図4(B)に示したように使用実績データ5Bが記憶されており、実績問合データ5Aに示されるユーザコードが「M001」である場合は、画像形成装置1Bの実績回答部131は、使用実績データ5B23に基づいて、「APP−11PB」を示すデータを回答データ5Cとして画像形成装置1Cへ返信する。「APP−11PB」は、アプリケーション11PBのアプリケーション識別子である。
【0066】
以下、画像形成装置1Aおよび1Bのみから回答データ5Cが画像形成装置1Cへ返信された場合を例に説明する。
【0067】
画像形成装置1Cにおいて、選択受付部103は、他の画像形成装置1から回答データ5Cまたは実績無通知データ5Dから受信すると、回答データ5Cに基づいて、実行するアプリケーション11Pの選択を受け付けるための処理を次のように実行する。
【0068】
選択受付部103は、
図5のようなメニュー画面6Aを生成し、タッチパネルディスプレイ10eに表示させる。
【0069】
メニュー画面6Aの上半分には、いずれかの回答データ5Cにアプリケーション識別子が示されるアプリケーション11Pに対応するボタン6A1が配置される。下半分には、画像形成装置1C自身にインストールされているアプリケーション11Pに対応するボタン6A2が配置されている。なお、画像形成装置1C自身にインストールされているアプリケーション11Pのアプリケーション識別子がいずれかの回答データ5Cに示される場合は、そのアプリケーション11Pについては、ボタン6A1を配置せず、ボタン6A2のみを配置すればよい。つまり、上半分には、他の画像形成装置1にインストールされているが画像形成装置1C自身にはインストールされていないアプリケーション11Pのみを提示する。
【0070】
ユーザ80は、使用したいアプリケーション11Pを、それに対応するボタン6A1または6A2をタッチすることによって選択する。
【0071】
そして、選択受付部103は、選択されたアプリケーション11P、つまり、タッチされたボタン6A1または6A2に対応するアプリケーション11Pを受け付ける。以下、選択されたアプリケーション11Pを「被選択アプリケーション」と記載する。
【0072】
アプリケーション実行制御部104は、被選択アプリケーションが画像形成装置1C自身にインストールされている場合に、従来通り、被選択アプリケーションを実行するように画像形成装置1C自身のオペレーティングシステムなどに要求する。これにより、被選択アプリケーションが実行される。
【0073】
そして、アプリケーション実行制御部104は、被選択アプリケーションのアプリケーション識別子および名称、現在ログインしているユーザ(本例では、ユーザ80)のユーザコード、ならびに実行された日時などを示すデータを生成し、使用実績データ5Bとして実績記憶部105に記憶させる。
【0074】
一方、被選択アプリケーションが画像形成装置1C自身にインストールされていない場合は、タイプ判別部121ないし結果出力部125によって、次のように処理が行われる。
【0075】
タイプ判別部121は、被選択アプリケーションが第一のタイプのアプリケーションおよび第二のタイプのアプリケーションのいずれに該当するのかを判別する。
【0076】
第一のタイプのアプリケーションは、スキャンユニット10iを使用するアプリケーションである。第二のタイプのアプリケーションは、スキャンユニット10iを使用しないアプリケーションである。
【0077】
どちらのタイプのアプリケーションに該当するのかは、被選択アプリケーションのソースコードを解析することによって判別することができる。つまり、タイプ判別部121は、スキャンをスキャンユニット10iに実行させるコードがソースコードに含まれていれば、被選択アプリケーションが第一のタイプのアプリケーションであると判別する。含まれていなければ、第二のタイプのアプリケーションであると判別する。このようなコードの例として、スキャンのコマンドのコードおよびスキャンのライブラリをコールするコードなどが挙げられる。
【0078】
アプリケーション11PAが第一のタイプのアプリケーションに該当し、アプリケーション11PBが第二のタイプのアプリケーションに該当する。
【0079】
被選択アプリケーションが第一のタイプのアプリケーションであると判別されると、インストール部122およびアンインストール部123は、次のように処理を実行する。
【0080】
インストール部122は、被選択アプリケーションを一時的に画像形成装置1C自身の補助記憶装置10dにインストールし、これを実行するように画像形成装置1C自身のオペレーティングシステムなどに要求する。これにより、被選択アプリケーションが実行される。
【0081】
インストール部122は、被選択アプリケーションを、被選択アプリケーションのアプリケーション識別子を示す回答データ5Cを送信してきた他の画像形成装置1からダウンロードすることによって取得すればよい。この際に、そのアプリケーション識別子を示す要求データ5Eを当該他の画像形成装置1へ送信する。例えば、被選択アプリケーションがアプリケーション11PAである場合は、アプリケーション11PAのアプリケーション識別子を示すデータを要求データ5Eとして画像形成装置1Aへ送信する。以下、この場合を例に説明する。
【0082】
画像形成装置1Aにおいて、アプリケーション提供部132は、要求データ5Eを受信すると、要求データ5Eに示されるアプリケーション識別子のアプリケーション11Pつまりアプリケーション11PAのファイルを、要求データ5Eの送信元つまり画像形成装置1Cへ送信する。
【0083】
この際に、要求データ5Eにユーザ80のユーザコードをさらに記述しておき、アプリケーション11PAつまり被選択アプリケーションの初期設定などに関するファイルおよびユーザ80のためのカスタマイズに関するファイルが画像形成装置1Aから画像形成装置1Cへ送信されるようにしてもよい。そして、画像形成装置1Cにおいて初期設定およびカスタマイズを適用してもよい。
【0084】
画像形成装置1Cにおいて、アンインストール部123は、被選択アプリケーションが実行されたら、補助記憶装置10dから被選択アプリケーションをアンインストールする。
【0085】
一方、被選択アプリケーションが第二のタイプのアプリケーションであると判別されると、代行指令部124および結果出力部125は、次のように処理を実行する。
【0086】
代行指令部124は、被選択アプリケーションのアプリケーション識別子を示す回答データ5Cを送信してきた他の画像形成装置1へ代行指令データ5Fを送信する。代行指令データ5Fには、そのアプリケーション識別子が示されている。例えば、被選択アプリケーションがアプリケーション11PBである場合は、アプリケーション11PBのアプリケーション識別子を示すデータを代行指令データ5Fとして画像形成装置1Bへ送信する。以下、この場合を例に説明する。
【0087】
画像形成装置1Bにおいて、代行制御部133は、代行指令データ5Fを受信すると、代行指令データ5Fに示されるアプリケーション識別子のアプリケーション11Pつまりアプリケーション11PBを実行するように画像形成装置1B自身のオペレーティングシステムなどに要求する。これにより、アプリケーション11PBつまり被選択アプリケーションが実行される。ただし、実行によって得られた結果(ニュース)を、画像形成装置1B自身のタッチパネルディスプレイ10eまたはプリントユニット10jなどによって出力させない。その代わりに、出力先を、画像形成装置1Cにおける、本来の出力先に対応する部に変更する。本例では、画像形成装置1Bのプリントユニット10jから画像形成装置1Cのプリントユニット10jへ変更する。
【0088】
結果送信部134は、被選択アプリケーションの実行によって得られた結果および変更後の出力先を示すデータを結果データ5Gとして、代行指令データ5Fの送信元すなわち画像形成装置1Cへ送信する。
【0089】
画像形成装置1Cにおいて、結果出力部125は、結果データ5Gを受信すると、結果データ5Gに示される結果が出力されるように、結果データ5Gに示される出力先などを制御する。本例では、ニュースが印刷されるように画像形成装置1C自身のプリントユニット10jなどを制御する。
【0090】
画像形成装置1Bの結果送信部134は、結果データ5Gとして、ジョブのデータを送信してもよい。例えば、実行によって得られた結果を印刷する印刷ジョブのデータを送信してもよい。そして、画像形成装置1Cの結果出力部125は、ジョブのデータに基づいてジョブを実行することによって、出力の処理を行えばよい。
【0091】
図6〜
図7は、画像形成装置1の全体的な処理の流れの例を説明するフローチャートである。
【0092】
次に、アプリケーション11Pの実行に関する全体的な処理の流れを、フローチャートを参照しながら説明する。
【0093】
画像形成装置1は、使用補助プログラム10Pに基づいて、
図6〜
図7に示す手順で処理を実行する。以下、ユーザ80が画像形成装置1Cを操作し、画像形成装置1Cが使用補助プログラム10Pを実行する場合を例に、説明する。
【0094】
画像形成装置1Cは、ユーザ80がユーザコードおよびパスワードを入力すると(
図6の#11でYes)、ユーザ80を画像形成装置1Cへログインさせる処理を実行する(#12)。ログインに成功したら、他の画像形成装置1へ実績問合データ5Aを送信することによって、ユーザ80によるアプリケーション11Pの使用の実績を問い合わせる(#13)。回答データ5Cを受信すると、
図5のようなメニュー画面6Aを表示する(#14)。そして、ユーザによるアプリケーション11Pの選択を受け付ける(#15)。
【0095】
ユーザによって選択されたアプリケーション11P(被選択アプリケーション)が画像形成装置1C自身にインストールされている場合は(#16でYes)、画像形成装置1Cは、従来通り、被選択アプリケーションを実行する(#17)。そして、今回の使用に関するデータを使用実績データ5Bとして記憶する(#18)。
【0096】
一方、被選択アプリケーションが画像形成装置1Cにインストールされていない場合は(#16でNo)、画像形成装置1Cは、被選択アプリケーションのタイプを判別する(#19)。
【0097】
被選択アプリケーションが第一のタイプである場合は(#20でYes)、画像形成装置1Cは、被選択アプリケーションを有する他の画像形成装置1へ要求データ5Eを送信し、被選択アプリケーションのファイルをダウンロードし、被選択アプリケーションをインストールする(#21)。この際に、初期設定などに関するファイルおよびユーザ80のためのカスタマイズに関するファイルをダウンロードし、適用してもよい。
【0098】
そして、画像形成装置1Cは、被選択アプリケーションを実行し(#22)、実行後、被選択アプリケーションをアンインストールする(#23)。
【0099】
被選択アプリケーションが第二のタイプである場合は(#20でNo)、画像形成装置1Cは、被選択アプリケーションを有する他の画像形成装置1へ代行指令データ5Fを送信することによって、被選択アプリケーションの代行を指令する(#24)。そして、結果データ5Gを受信すると(#25)、結果データ5Gに示される結果を、結果データ5Gに示される出力先によって出力する(#26)。
【0100】
または、他の画像形成装置1から実績問合データ5Aを受信すると(
図7の#27でYes)、画像形成装置1Cは、実績問合データ5Aに示されるユーザコードのユーザによるアプリケーション11Pの使用の実績を示すデータを生成し回答データ5Cとして当該他の画像形成装置1へ送信する(#28)。
【0101】
または、他の画像形成装置1から要求データ5Eを受信すると(#29でYes)、画像形成装置1Cは、要求データ5Eに示されるアプリケーション識別子のアプリケーション11Pのファイルを当該他の画像形成装置1へ送信する(#30)。この際に、さらに、初期設定などに関するファイルおよびユーザのためのカスタマイズに関するファイルを当該他の画像形成装置1をも送信してもよい。
【0102】
または、他の画像形成装置1から代行指令データ5Fを受信すると(#31でYes)、画像形成装置1Cは、代行指令データ5Fに示されるアプリケーション識別子のアプリケーション11Pを当該他の画像形成装置1の代わりに実行する(#32)。そして、結果データ5Gを当該他の画像形成装置1へ送信する(#33)。
【0103】
画像形成装置1Cは、ステップ#12〜26の処理、ステップ#28の処理、およびステップ#32〜#33の処理を、使用補助プログラム10Pを終了するまで適宜、実行する。
【0104】
本実施形態によると、ユーザは、補助記憶装置10dの残りの容量をある程度保ちつつ、管理者を煩わせることなく、画像形成装置1を問わずにアプリケーション11Pを使用することができる。
【0105】
例えば、ユーザは、普段、自分の拠点において画像形成装置1Aおよび1Bを操作しているが、出張先の拠点において画像形成装置1Cを操作する場合であっても、画像形成装置1Aまたは1Bにインストールされているが画像形成装置1Cにインストールされていないアプリケーション11Pを、管理者を煩わせることなく使用することができる。しかも、画像形成装置1Cの補助記憶装置10dには、このアプリケーション11Pが一時的にしかインストールされないので、補助記憶装置10dの残りの容量を一時的にしか減らさない。
【0106】
本実施形態では、タイプ判別部121は、被選択アプリケーションのタイプが第一のタイプであるか第二のタイプであるかを、被選択アプリケーションのソースコードに特定のコードが含まれているか否かを解析することによって判別した。
【0107】
しかし、この方法によると、タイプ判別部121は、ソースコードの他の画像形成装置1から取得しなければならない。そこで、次のように、他の方法によって判別してもよい。
【0108】
各画像形成装置1において、インストールされるアプリケーション11Pごとに、それを構成するファイルの1つとして、タイプを示すメタデータ(メタファイル)を用意しておく。メタデータは、開発者が予め用意しておけばよい。または、画像形成装置1へインストールする際に、画像形成装置1がソースコードを解析することによってタイプを判別し、メタデータを生成してもよい。または、スキャンを伴うものであるか否かをユーザまたは管理者が画像形成装置1に対して指定し、それに応じてメタデータを生成してもよい。
【0109】
そして、各画像形成装置1は、例えば、次のように処理を行う。画像形成装置1Cの実績問合部102が実績問合データ5Aを他の画像形成装置1(画像形成装置1Aおよび画像形成装置1Bなど)へ送信すると、他の画像形成装置1それぞれの実績回答部131は、回答データ5Cの代わりに、見つかった使用実績データ5Bに示されるアプリケーション識別子だけでなくそのアプリケーション識別子のアプリケーション11Pのタイプを示す回答データ5C’を画像形成装置1Cへ返信する。
【0110】
画像形成装置1Cのタイプ判別部121は、ボタン6A2(
図5参照)がタッチされると、そのボタン6A2に対応するアプリケーション11P(被選択アプリケーション)のタイプを、被選択アプリケーションのアプリケーション識別子を示す回答データ5C’に基づいて判別する。つまり、この回答データ5C’に第一のタイプが示されていれば、第一のタイプであると判別し、第二のタイプが示されていれば、第二のタイプであると判別する。
【0111】
本実施形態では、実績回答部131は、実績問合データ5Aに示されるユーザコードのユーザが使用したことのあるアプリケーション11Pのアプリケーション識別子を示すデータを回答データ5Cとして返信したが、インストールされているすべてのアプリケーション11Pのアプリケーション識別子を示すデータを返信してもよい。
【0112】
本実施形態では、メニュー画面6Aにおいて、画像形成装置1Cにインストールされているアプリケーション11Pとインストールされていないアプリケーション11Pとを、それぞれに対応するボタン(ボタン6A2、6A1)を上下に分けて配置することによって区別したが、他の方法で区別してもよい。例えば、画像形成装置1Cにインストールされているアプリケーション11Pのボタン(ボタン6A2)の枠を赤色で表示し、インストールされていないアプリケーション11Pのボタン(ボタン6A1)の枠を青色で表示してもよい。
【0113】
さらに、画像形成装置1Cにインストールされていないアプリケーション11Pを、タイプに応じて区別して表示してもよい。例えば、第一のタイプのアプリケーション11Pのボタン6A1の背景を黄色で表示し、第二のタイプのアプリケーション11Pのボタン6A1の背景を白色で表示してもよい。
【0114】
本実施形態では、入力手段としてスキャンユニット10iを使用し、出力手段としてプリントユニット10jを使用する場合を例に説明したが、他のデバイスを使用してもよい。
【0115】
例えば、入力手段としてタッチパネルディスプレイ10eのタッチパネルを使用してもよい。タッチパネルディスプレイ10eに手書きで入力した画像の画像データをサーバ2Aへアップロードするアプリケーションがアプリケーション11Pの1つとして画像形成装置1Aにインストールされているが画像形成装置1Cにインストールされていなければ、画像形成装置1Cは、このアプリケーション11Pを画像形成装置1Aから取得し一時的にインストールする。そして、このアプリケーション11Pを実行する。
【0116】
または、出力手段としてモデム10hを使用してもよい。サーバ2Bから配信されたニュースを特定のファックス番号のファックス端末へ送信するアプリケーションがアプリケーション11Pの1つとして画像形成装置1Bにインストールされているが画像形成装置1Cにインストールされていなければ、画像形成装置1Cは、このアプリケーション11Pを画像形成装置1Bに実行(代行)させる。ただし、出力する処理は実行させず、それまでの処理によって得られた結果(ニュース)のデータを画像形成装置1Bから取得する。そして、画像形成装置1Cは、モデム10hによって、このデータに基づいてニュースを特定のファックス番号のファックス端末へ送信する。
【0117】
本実施形態では、第一のタイプのアプリケーションは、スキャンユニット10iつまり画像の入力手段を使用するアプリケーションであり、第二のタイプのアプリケーションは、スキャンユニット10iを使用しないアプリケーションであったが、それぞれ、他のアプリケーションであってもよい。
【0118】
例えば、第一のタイプのアプリケーションは、OCR(Optical Character Recognition)を実現するOCR手段を使用するアプリケーションであり、第二のタイプのアプリケーションは、OCR手段を使用しないアプリケーションであってもよい。または、第一のタイプのアプリケーションは、スキャンユニット10iによって入力された画像のPDF(Portable Document Format)ファイルを生成するPDF化手段を使用するアプリケーションであり、第二のタイプのアプリケーションは、PDF化手段を使用しないアプリケーションであってもよい。
【0119】
その他、画像処理システム4、画像形成装置1の全体または各部の構成、処理の内容、処理の順序、データの構成、メニュー画面6Aの構成などは、本発明の趣旨に沿って適宜変更することができる。