(57)【要約】      （修正有）【課題】画像形成装置等の電子装置が複数の機能を実現する際の低コスト化とアプリのバージョンアップ作業の軽減化を計る。【解決手段】ＭＦＰ１０が、通信可能な複数の外部サーバ２０（２０ａ，２０ｂ）上のアプリ（外部アプリ）を利用可能アプリとして登録し、その登録した複数の利用可能アプリの中から利用するアプリを選択し、その選択したアプリを搭載している外部サーバとネットワーク１を介して通信することにより、そのアプリを利用して動作を実行する。【選択図】図１
2006114019.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを利用して動作を実行する電子装置であって、
通信可能な複数の外部装置内のアプリケーションを選択的に利用可能なアプリケーションとして登録するアプリケーション登録手段と、
該手段によって登録された複数のアプリケーションの中から利用するアプリケーションを選択するアプリケーション選択手段と、
該手段によって選択したアプリケーションを搭載している外部装置と通信することにより、該外部装置内のアプリケーションを利用して動作を実行する制御手段と
を設けたことを特徴とする電子装置。
【請求項２】
請求項１記載の電子装置において、
前記アプリケーション登録手段は、操作部上の操作に従って利用可能なアプリケーションを決定するアプリケーション決定手段を有することを特徴とする電子装置。
【請求項３】
請求項１記載の電子装置において、
前記アプリケーション登録手段は、所定の条件に基づいて利用可能なアプリケーションを決定するアプリケーション決定手段を有することを特徴とする電子装置。
【請求項４】
請求項３記載の電子装置において、
前記アプリケーション決定手段は、最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定することを特徴とする電子装置。
【請求項５】
請求項３記載の電子装置において、
前記アプリケーション決定手段は、最も高機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とする電子装置。
【請求項６】
請求項３記載の電子装置において、
前記アプリケーション決定手段は、最も低機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とする電子装置。
【請求項７】
請求項３記載の電子装置において、
前記アプリケーション決定手段は、前記複数のアプリケーションの利用頻度に応じて利用可能なアプリケーションを決定することを特徴とする電子装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の電子装置において、
前記アプリケーション登録手段は、前記各外部装置のいずれかからアプリケーション利用可能通知を受けた場合に、該外部装置内のアプリケーションを該通知に付加されている特定の認証情報と共に利用可能なアプリケーションとして登録する手段であり、
前記制御手段は、動作指示が入力された場合に、該動作指示を前記アプリケーション選択手段によって選択されたアプリケーションが搭載されている外部装置へ対応する認証情報と共に送信する手段を有し、該手段によって送信された動作指示に対する応答として前記動作の実行要求を受信した場合に、該実行要求に従って動作を実行することを特徴とする電子装置。
【請求項９】
請求項１乃至７のいずれか一項に記載の電子装置と外部装置とを通信回線を介して通信可能に接続する電子装置システムにおいて、
前記外部装置に、
アプリケーション記憶手段と、前記電子装置から動作指示を受信した場合に、前記アプリケーション記憶手段に記憶されているアプリケーションによって該動作指示の内容を処理し、対応する動作の実行要求を前記動作指示に対する応答として前記電子装置へ送信する制御手段とを設け、
前記電子装置の制御手段は、動作指示が入力された場合に、該動作指示を前記アプリケーション選択手段によって選択されたアプリケーションが搭載されている外部装置へ送信する手段を有し、該手段によって送信された動作指示に対する応答として前記動作の実行要求を受信した場合に、該実行要求に従って動作を実行することを特徴とする電子装置システム。
【請求項１０】
請求項９記載の電子装置システムにおいて、
前記外部装置に、
アプリケーション記憶手段と、前記電子装置から動作指示を受信した場合に、該動作指示の正当性を確認するための認証処理を行う認証手段と、該手段による認証が成功した場合に、前記アプリケーション記憶手段に記憶されているアプリケーションによって該動作指示の内容を処理し、対応する動作の実行要求を前記動作指示に対する応答として前記電子装置へ送信する制御手段とを設け、
前記電子装置のアプリケーション登録手段は、前記各外部装置のいずれかからアプリケーション利用可能通知を受けた場合に、該外部装置内のアプリケーションを該通知に付加されている特定の認証情報と共に利用可能なアプリケーションとして登録する手段であり、
前記電子装置の制御手段は、動作指示が入力された場合に、該動作指示を前記アプリケーション選択手段によって選択されたアプリケーションが搭載されている外部装置へ対応する認証情報と共に送信する手段を有し、該手段によって送信された動作指示に対する応答として前記動作の実行要求を受信した場合に、該実行要求に従って動作を実行することを特徴とする電子装置システム。
【請求項１１】
アプリケーションを利用して動作を実行する電子装置と複数の外部装置とを通信回線を介して通信可能に接続する電子装置システムにおいて、
前記複数の外部装置のうち、少なくとも１台の外部装置をアプリケーション搭載用サーバ、他の１台の外部装置をアプリケーション管理用サーバとし、
前記アプリケーション搭載用サーバに、
アプリケーション記憶手段と、前記電子装置から動作指示を受信した場合に、前記アプリケーション記憶手段に記憶されているアプリケーションによって該動作指示の内容を処理し、対応する動作の実行要求を前記動作指示に対する応答として前記電子装置へ送信する制御手段とを設け、
前記アプリケーション管理用サーバに、
前記アプリケーション搭載用サーバ内のアプリケーションとして、複数のアプリケーションを管理するアプリケーション管理手段と、該手段による管理状況に基づいて通信可能な複数の外部装置内のアプリケーションを利用可能なアプリケーションとして登録するアプリケーション登録手段と、該手段によって登録されたアプリケーションの情報を前記電子装置へ送信するアプリケーション情報送信手段とを設け、
前記電子装置に、
前記アプリケーション管理用サーバからの前記情報に基づいて利用可能なアプリケーションを登録するアプリケーション登録手段と、該手段によって登録された複数のアプリケーションの中から利用するアプリケーションを選択するアプリケーション選択手段と、動作指示が入力された場合に、該動作指示を前記アプリケーション選択手段によって選択されたアプリケーションが搭載されている外部装置へ送信し、該動作指示に対する応答として前記動作の実行要求を受信した場合に、該実行要求に従って動作を実行する制御手段とを設けたことを特徴とする電子装置システム。
【請求項１２】
請求項１１記載の電子装置システムにおいて、
前記電子装置のアプリケーション登録手段は、操作部上の操作に従って利用可能なアプリケーションを決定するアプリケーション決定手段を有することを特徴とする電子装置システム。
【請求項１３】
請求項１１記載の電子装置システムにおいて、
前記電子装置のアプリケーション登録手段は、所定の条件に基づいて利用可能なアプリケーションを決定するアプリケーション決定手段を有することを特徴とする電子装置システム。
【請求項１４】
請求項１３記載の電子装置システムにおいて、
前記電子装置のアプリケーション決定手段は、最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定することを特徴とする電子装置システム。
【請求項１５】
請求項１３記載の電子装置システムにおいて、
前記電子装置のアプリケーション決定手段は、最も高機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とする電子装置システム。
【請求項１６】
請求項１３記載の電子装置システムにおいて、
前記電子装置のアプリケーション決定手段は、最も低機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とする電子装置システム。
【請求項１７】
請求項１３記載の電子装置システムにおいて、
前記電子装置のアプリケーション決定手段は、前記複数のアプリケーションの利用頻度に応じて利用可能なアプリケーションを決定することを特徴とする電子装置システム。
【請求項１８】
アプリケーションを利用して動作を実行する電子装置と複数の外部装置とを通信回線を介して通信可能に接続する電子装置システムにおいて、
前記複数の外部装置のうち、少なくとも１台の外部装置をアプリケーション搭載用サーバ、他の１台の外部装置をアプリケーション管理用サーバとし、
前記アプリケーション搭載用サーバに、
アプリケーション記憶手段と、前記電子装置から動作指示を受信した場合に、前記アプリケーション記憶手段に記憶されているアプリケーションによって該動作指示の内容を処理し、対応する動作の実行要求を前記動作指示に対する応答として前記電子装置へ送信する制御手段とを設け、
前記アプリケーション管理用サーバに、
前記アプリケーション搭載用サーバ内のアプリケーションとして、複数のアプリケーションを管理するアプリケーション管理手段と、該手段による管理状況に基づいて通信可能な複数の外部装置内のアプリケーションを利用可能なアプリケーションとして登録するアプリケーション登録手段と、該手段によって登録された複数のアプリケーションの中から利用するアプリケーションを選択するアプリケーション選択手段と、該手段によって選択したアプリケーションの情報を前記電子装置へ送信するアプリケーション情報送信手段とを設け、
前記電子装置に、
前記アプリケーション管理用サーバからの前記情報に基づいて利用するアプリケーションを登録するアプリケーション登録手段と、動作指示が入力された場合に、該動作指示を前記アプリケーション登録手段によって登録されたアプリケーションが搭載されている外部装置へ送信し、該動作指示に対する応答として前記動作の実行要求を受信した場合に、該実行要求に従って動作を実行する制御手段とを設けたことを特徴とする電子装置システム。
【請求項１９】
請求項１８記載の電子装置システムにおいて、
前記アプリケーション管理用サーバのアプリケーション登録手段は、所定の条件に基づいて利用可能なアプリケーションを決定するアプリケーション決定手段を有することを特徴とする電子装置システム。
【請求項２０】
請求項１９記載の電子装置システムにおいて、
前記アプリケーション管理用サーバのアプリケーション決定手段は、最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定することを特徴とする電子装置システム。
【請求項２１】
請求項１９記載の電子装置システムにおいて、
前記アプリケーション管理用サーバのアプリケーション決定手段は、最も高機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とする電子装置システム。
【請求項２２】
請求項１９記載の電子装置システムにおいて、
前記アプリケーション管理用サーバのアプリケーション決定手段は、最も低機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とする電子装置システム。
【請求項２３】
請求項１９記載の電子装置システムにおいて、
前記アプリケーション管理用サーバのアプリケーション決定手段は、前記複数のアプリケーションの利用頻度に応じて利用可能なアプリケーションを決定することを特徴とする電子装置システム。
【請求項２４】
請求項１９記載の電子装置システムにおいて、
前記アプリケーション管理用サーバのアプリケーション決定手段は、前記電子装置の搭載メモリに応じて利用可能なアプリケーションを決定することを特徴とする電子装置システム。
【請求項２５】
アプリケーションを利用して動作を実行する電子装置における制御方法であって、
通信可能な複数の外部装置内のアプリケーションを利用可能なアプリケーションとして登録し、
該ステップによって登録された複数のアプリケーションの中から利用するアプリケーションを選択し、
その選択したアプリケーションを搭載している外部装置と通信することにより、該外部装置内のアプリケーションを利用して動作を実行する
ことを特徴とする制御方法。
【請求項２６】
請求項２５記載の制御方法において、
操作部上の操作に従って利用可能なアプリケーションを決定することを特徴とする制御方法。
【請求項２７】
請求項２５記載の制御方法において、
所定の条件に基づいて利用可能なアプリケーションを決定することを特徴とする制御方法。
【請求項２８】
請求項２７記載の制御方法において、
最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定することを特徴とする制御方法。
【請求項２９】
請求項２７記載の制御方法において、
最も高機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とする制御方法。
【請求項３０】
請求項２７記載の制御方法において、
最も低機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とする制御方法。
【請求項３１】
請求項２５乃至３０のいずれか一項に記載の制御方法において、
前記各外部装置のいずれかからアプリケーション利用可能通知を受けた場合に、該外部装置内のアプリケーションを該通知に付加されている特定の認証情報と共に利用可能なアプリケーションとして登録し、
動作指示が入力された場合に、該動作指示を選択されたアプリケーションが搭載されている外部装置へ対応する認証情報と共に送信し、
その動作指示に対する応答として前記動作の実行要求を受信した場合に、該実行要求に従って動作を実行する
ことを特徴とする制御方法。
【請求項３２】
アプリケーションを利用して動作を実行する電子装置のコンピュータに、
通信可能な複数の外部装置内のアプリケーションを利用可能なアプリケーションとして登録するアプリケーション登録機能と、
該機能によって登録された複数のアプリケーションの中から利用するアプリケーションを選択するアプリケーション選択機能と、
該機能によって選択したアプリケーションを搭載している外部装置と通信することにより、該外部装置内のアプリケーションを利用して動作を実行する制御機能と
を実現させるためのプログラム。
【請求項３３】
請求項３２記載のプログラムにおいて、
前記アプリケーション登録機能は、操作部上の操作に従って利用可能なアプリケーションを決定するアプリケーション決定機能を有することを特徴とするプログラム。
【請求項３４】
請求項３２記載のプログラムにおいて、
前記アプリケーション登録機能は、所定の条件に基づいて利用可能なアプリケーションを決定するアプリケーション決定機能を有することを特徴とするプログラム。
【請求項３５】
請求項３４記載のプログラムにおいて、
前記アプリケーション決定機能は、最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定することを特徴とするプログラム。
【請求項３６】
請求項３４記載のプログラムにおいて、
前記アプリケーション決定機能は、最も高機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とするプログラム。
【請求項３７】
請求項３４記載のプログラムにおいて、
前記アプリケーション決定機能は、最も低機能のアプリケーションを利用可能なアプリケーションとして決定することを特徴とするプログラム。
【請求項３８】
請求項３２乃至３７のいずれか一項に記載のプログラムにおいて、
前記アプリケーション登録機能は、前記各外部装置のいずれかからアプリケーション利用可能通知を受けた場合に、該外部装置内のアプリケーションを該通知に付加されている特定の認証情報と共に利用可能なアプリケーションとして登録する機能であり、
前記制御機能は、動作指示が入力された場合に、該動作指示を前記アプリケーション選択機能によって選択されたアプリケーションが搭載されている外部装置へ対応する認証情報と共に送信する機能を有し、該機能によって送信された動作指示に対する応答として前記動作の実行要求を受信した場合に、該実行要求に従って動作を実行することを特徴とするプログラム。
【請求項３９】
請求項３２乃至３８のいずれか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置（スキャナ装置等の画像読取装置やデジタル複写機，プリンタ，ファクシミリ装置，デジタル複合機等の画像形成装置など）等の電子装置、その電子装置と通信回線を介して接続する外部装置とを備えた電子装置システム、上記電子装置における制御方法、その電子装置のコンピュータに実行させるプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
例えば、近年、画像形成部（プロッタ部）と画像読取部（スキャナ部）とファクシミリ（ＦＡＸ）通信部と画像処理部（コントローラ）などを組み合わせて構成し、コピー機能（複写機能），プリンタ機能，スキャナ機能，ファクシミリ機能等の各機能を自由に選択して使用できるデジタル複合機等の多機能の画像形成装置が、多くのユーザに利用されるようになっている。
【０００３】
従来のこのような多機能の画像形成装置は、一般に複写機ベースで構成されており、その全機能の一部を使用することによりプリンタやスキャナとして動作させたり、ＦＡＸ通信部を追加することによりファクシミリ装置としても使用できるようにしたりしていた。
ところで、各機能を自由に選択して実行させるために、各機能毎にその機能を実現するためのアプリケーション（以下単に「アプリ」ともいう）を備える必要があるが、従来は、それらのアプリを全て１台の画像形成装置に備えていた（例えば特許文献１参照）。
【特許文献１】特開２００２−８４３８３号公報
【０００４】
なお、アプリ（アプリケーション）とは、アプリケーション・ソフトウェア又はアプリケーション・プログラムのことを指す。このアプリは、ユーザインタフェースを行う部分で、ユーザに提供する機能を実現するためのものであり、コピー機能を実現するためのアプリ（コピーアプリ）、プリンタ機能を実現するためのアプリ（プリンタアプリ）、スキャナ機能を実現するためのアプリ（スキャナアプリ）、ＦＡＸ（ファクシミリ）機能を実現するためのアプリ（ＦＡＸアプリ）などがある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した多機能の画像形成装置において、利用すべき機能を実現するためのアプリを全て備えることは、コストアップにつながる。また、アプリの数が多いほど、アプリ（機能）をバージョンアップさせるためのサービスマンによる作業の回数が多くなる。
この発明は、上記の点に鑑みてなされたものであり、画像形成装置等の電子装置が複数の機能を実現する際の低コスト化とアプリのバージョンアップ作業の軽減化を計ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、上記の目的を達成するため、電子装置、その電子装置と通信回線を介して接続する外部装置とを備えた電子装置システム、上記電子装置における制御方法、その電子装置のコンピュータに実行させるプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【０００７】
請求項１の発明による電子装置は、アプリケーションを利用して動作（コピー動作，プリント動作，スキャン動作，ファクス動作など）を実行する電子装置であって、通信可能な複数の外部装置内のアプリケーションを選択的に利用可能なアプリケーションとして登録するアプリケーション登録手段と、該手段によって登録された複数のアプリケーションの中から利用するアプリケーションを選択するアプリケーション選択手段と、該手段によって選択したアプリケーションを搭載している外部装置と通信することにより、該外部装置内のアプリケーションを利用して動作を実行する制御手段とを設けたものである。
【０００８】
請求項２の発明による電子装置は、請求項１の電子装置において、上記アプリケーション登録手段に、操作部上の操作に従って利用可能なアプリケーションを決定するアプリケーション決定手段を備えたものである。
請求項３の発明による電子装置は、請求項１の電子装置において、上記アプリケーション登録手段に、所定の条件に基づいて利用可能なアプリケーションを決定するアプリケーション決定手段を備えたものである。
請求項４の発明による電子装置は、請求項３の電子装置において、上記アプリケーション決定手段が、最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定するものである。
【０００９】
請求項５の発明による電子装置は、請求項３の電子装置において、上記アプリケーション決定手段が、最も高機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
請求項６の発明による電子装置は、請求項３の電子装置において、上記アプリケーション決定手段が、最も低機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
請求項７の発明による電子装置は、請求項３の電子装置において、上記アプリケーション決定手段が、上記複数のアプリケーションの利用頻度に応じて利用可能なアプリケーションを決定するものである。
【００１０】
請求項８の発明による電子装置は、請求項１〜７のいずれかの電子装置において、上記アプリケーション登録手段を、上記各外部装置のいずれかからアプリケーション利用可能通知を受けた場合に、該外部装置内のアプリケーションを該通知に付加されている特定の認証情報と共に利用可能なアプリケーションとして登録する手段とし、上記制御手段が、動作指示が入力された場合に、該動作指示を上記アプリケーション選択手段によって選択されたアプリケーションが搭載されている外部装置へ対応する認証情報と共に送信する手段を有し、該手段によって送信された動作指示に対する応答として上記動作の実行要求を受信した場合に、該実行要求に従って動作を実行するものである。
【００１１】
請求項９の発明による電子装置システムは、請求項１〜７のいずれかの電子装置と外部装置とを通信回線を介して通信可能に接続する電子装置システムにおいて、上記外部装置に、アプリケーション記憶手段と、上記電子装置から動作指示を受信した場合に、上記アプリケーション記憶手段に記憶されているアプリケーションによって該動作指示の内容を処理し、対応する動作の実行要求を上記動作指示に対する応答として上記電子装置へ送信する制御手段とを設け、上記電子装置の制御手段が、動作指示が入力された場合に、該動作指示を上記アプリケーション選択手段によって選択されたアプリケーションが搭載されている外部装置へ送信する手段を有し、該手段によって送信された動作指示に対する応答として上記動作の実行要求を受信した場合に、該実行要求に従って動作を実行するものである。
【００１２】
請求項１０の発明による電子装置システムは、請求項９の電子装置システムにおいて、上記外部装置に、アプリケーション記憶手段と、上記電子装置から動作指示を受信した場合に、該動作指示の正当性を確認するための認証処理を行う認証手段と、該手段による認証が成功した場合に、上記アプリケーション記憶手段に記憶されているアプリケーションによって該動作指示の内容を処理し、対応する動作の実行要求を上記動作指示に対する応答として上記電子装置へ送信する制御手段とを設け、上記電子装置のアプリケーション登録手段を、上記各外部装置のいずれかからアプリケーション利用可能通知を受けた場合に、該外部装置内のアプリケーションを該通知に付加されている特定の認証情報と共に利用可能なアプリケーションとして登録する手段とし、上記電子装置の制御手段が、動作指示が入力された場合に、該動作指示を上記アプリケーション選択手段によって選択されたアプリケーションが搭載されている外部装置へ対応する認証情報と共に送信する手段を有し、該手段によって送信された動作指示に対する応答として上記動作の実行要求を受信した場合に、該実行要求に従って動作を実行するものである。
【００１３】
請求項１１の発明による電子装置システムは、アプリケーションを利用して動作を実行する電子装置と複数の外部装置とを通信回線を介して通信可能に接続する電子装置システムにおいて、上記複数の外部装置のうち、少なくとも１台の外部装置をアプリケーション搭載用サーバ、他の１台の外部装置をアプリケーション管理用サーバとし、上記アプリケーション搭載用サーバに、アプリケーション記憶手段と、上記電子装置から動作指示を受信した場合に、上記アプリケーション記憶手段に記憶されているアプリケーションによって該動作指示の内容を処理し、対応する動作の実行要求を上記動作指示に対する応答として上記電子装置へ送信する制御手段とを設け、上記アプリケーション管理用サーバに、上記アプリケーション搭載用サーバ内のアプリケーションとして、複数のアプリケーションを管理するアプリケーション管理手段と、該手段による管理状況に基づいて通信可能な複数の外部装置内のアプリケーションを利用可能なアプリケーションとして登録するアプリケーション登録手段と、該手段によって登録されたアプリケーションの情報を上記電子装置へ送信するアプリケーション情報送信手段とを設け、上記電子装置に、上記アプリケーション管理用サーバからの上記情報に基づいて利用可能なアプリケーションを登録するアプリケーション登録手段と、該手段によって登録された複数のアプリケーションの中から利用するアプリケーションを選択するアプリケーション選択手段と、動作指示が入力された場合に、該動作指示を上記アプリケーション選択手段によって選択されたアプリケーションが搭載されている外部装置へ送信し、該動作指示に対する応答として上記動作の実行要求を受信した場合に、該実行要求に従って動作を実行する制御手段とを設けたものである。
【００１４】
請求項１２の発明による電子装置システムは、請求項１１の電子装置システムにおいて、上記電子装置のアプリケーション登録手段に、操作部上の操作に従って利用可能なアプリケーションを決定するアプリケーション決定手段を備えたものである。
請求項１３の発明による電子装置システムは、請求項１１の電子装置システムにおいて、上記電子装置のアプリケーション登録手段に、所定の条件に基づいて利用可能なアプリケーションを決定するアプリケーション決定手段を備えたものである。
請求項１４の発明による電子装置システムは、請求項１３の電子装置システムにおいて、上記電子装置のアプリケーション決定手段が、最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定するものである。
【００１５】
請求項１５の発明による電子装置システムは、請求項１３の電子装置システムにおいて、上記電子装置のアプリケーション決定手段が、最も高機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
請求項１６の発明による電子装置システムは、請求項１３の電子装置システムにおいて、上記電子装置のアプリケーション決定手段が、最も低機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
請求項１７の発明による電子装置システムは、請求項１３の電子装置システムにおいて、上記電子装置のアプリケーション決定手段が、上記複数のアプリケーションの利用頻度に応じて利用可能なアプリケーションを決定するものである。
【００１６】
請求項１８の発明による電子装置システムは、アプリケーションを利用して動作を実行する電子装置と複数の外部装置とを通信回線を介して通信可能に接続する電子装置システムにおいて、上記複数の外部装置のうち、少なくとも１台の外部装置をアプリケーション搭載用サーバ、他の１台の外部装置をアプリケーション管理用サーバとし、上記アプリケーション搭載用サーバに、アプリケーション記憶手段と、上記電子装置から動作指示を受信した場合に、上記アプリケーション記憶手段に記憶されているアプリケーションによって該動作指示の内容を処理し、対応する動作の実行要求を上記動作指示に対する応答として上記電子装置へ送信する制御手段とを設け、上記アプリケーション管理用サーバに、上記アプリケーション搭載用サーバ内のアプリケーションとして、複数のアプリケーションを管理するアプリケーション管理手段と、該手段による管理状況に基づいて通信可能な複数の外部装置内のアプリケーションを利用可能なアプリケーションとして登録するアプリケーション登録手段と、該手段によって登録された複数のアプリケーションの中から利用するアプリケーションを選択するアプリケーション選択手段と、該手段によって選択したアプリケーションの情報を上記電子装置へ送信するアプリケーション情報送信手段とを設け、上記電子装置に、上記アプリケーション管理用サーバからの上記情報に基づいて利用するアプリケーションを登録するアプリケーション登録手段と、動作指示が入力された場合に、該動作指示を上記アプリケーション登録手段によって登録されたアプリケーションが搭載されている外部装置へ送信し、該動作指示に対する応答として上記動作の実行要求を受信した場合に、該実行要求に従って動作を実行する制御手段とを設けたものである。
【００１７】
請求項１９の発明による電子装置システムは、請求項１８の電子装置システムにおいて、上記アプリケーション管理用サーバのアプリケーション登録手段に、所定の条件に基づいて利用可能なアプリケーションを決定するアプリケーション決定手段を備えたものである。
請求項２０の発明による電子装置システムは、請求項１９の電子装置システムにおいて、上記アプリケーション管理用サーバのアプリケーション決定手段が、最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定するものである。
請求項２１の発明による電子装置システムは、請求項１９の電子装置システムにおいて、上記アプリケーション管理用サーバのアプリケーション決定手段が、最も高機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
【００１８】
請求項２２の発明による電子装置システムは、請求項１９の電子装置システムにおいて、上記アプリケーション管理用サーバのアプリケーション決定手段が、最も低機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
請求項２３の発明による電子装置システムは、請求項１９の電子装置システムにおいて、上記アプリケーション管理用サーバのアプリケーション決定手段が、上記複数のアプリケーションの利用頻度に応じて利用可能なアプリケーションを決定するものである。
請求項２４）の発明による電子装置システムは、請求項１９の電子装置システムにおいて、上記アプリケーション管理用サーバのアプリケーション決定手段が、上記電子装置の搭載メモリに応じて利用可能なアプリケーションを決定するものである。
【００１９】
請求項２５の発明による制御方法は、アプリケーションを利用して動作を実行する電子装置における制御方法であって、通信可能な複数の外部装置内のアプリケーションを利用可能なアプリケーションとして登録し、該ステップによって登録された複数のアプリケーションの中から利用するアプリケーションを選択し、その選択したアプリケーションを搭載している外部装置と通信することにより、該外部装置内のアプリケーションを利用して動作を実行するものである。
請求項２６の発明による制御方法は、請求項２５の制御方法において、操作部上の操作に従って利用可能なアプリケーションを決定するものである。
【００２０】
請求項２７の発明による制御方法は、請求項２５の制御方法において、所定の条件に基づいて利用可能なアプリケーションを決定するものである。
請求項２８の発明による制御方法は、請求項２７の制御方法において、最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定するものである。
請求項２９の発明による制御方法は、請求項２７の制御方法において、最も高機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
請求項３０の発明による制御方法は、請求項２７の制御方法において、最も低機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
【００２１】
請求項３１の発明による制御方法は、請求項２５〜３０のいずれかの制御方法において、上記各外部装置のいずれかからアプリケーション利用可能通知を受けた場合に、該外部装置内のアプリケーションを該通知に付加されている特定の認証情報と共に利用可能なアプリケーションとして登録し、動作指示が入力された場合に、該動作指示を選択されたアプリケーションが搭載されている外部装置へ対応する認証情報と共に送信し、その動作指示に対する応答として上記動作の実行要求を受信した場合に、該実行要求に従って動作を実行するものである。
【００２２】
請求項３２の発明によるプログラムは、アプリケーションを利用して動作を実行する電子装置のコンピュータに、通信可能な複数の外部装置内のアプリケーションを利用可能なアプリケーションとして登録するアプリケーション登録機能と、該機能によって登録された複数のアプリケーションの中から利用するアプリケーションを選択するアプリケーション選択機能と、該機能によって選択したアプリケーションを搭載している外部装置と通信することにより、該外部装置内のアプリケーションを利用して動作を実行する制御機能とを実現させるためのプログラムである。
【００２３】
請求項３３の発明によるプログラムは、請求項３２のプログラムにおいて、上記アプリケーション登録機能に、操作部上の操作に従って利用可能なアプリケーションを決定するアプリケーション決定機能を備えたものである。
請求項３４の発明によるプログラムは、請求項３２のプログラムにおいて、上記アプリケーション登録機能に、所定の条件に基づいて利用可能なアプリケーションを決定するアプリケーション決定機能を備えたものである。
請求項３５の発明によるプログラムは、請求項３４のプログラムにおいて、上記アプリケーション決定機能が、最も応答パフォーマンスが優れているアプリケーションを利用可能なアプリケーションとして決定するものである。
【００２４】
請求項３６の発明によるプログラムは、請求項３４のプログラムにおいて、上記アプリケーション決定機能が、最も高機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
請求項３７の発明によるプログラムは、請求項３４のプログラムにおいて、上記アプリケーション決定機能が、最も低機能のアプリケーションを利用可能なアプリケーションとして決定するものである。
【００２５】
請求項３８の発明によるプログラムは、請求項３２〜３７のいずれかのプログラムにおいて、上記アプリケーション登録機能を、上記各外部装置のいずれかからアプリケーション利用可能通知を受けた場合に、該外部装置内のアプリケーションを該通知に付加されている特定の認証情報と共に利用可能なアプリケーションとして登録する機能とし、上記制御機能が、動作指示が入力された場合に、該動作指示を上記アプリケーション選択機能によって選択されたアプリケーションが搭載されている外部装置へ対応する認証情報と共に送信する機能を有し、該機能によって送信された動作指示に対する応答として上記動作の実行要求を受信した場合に、該実行要求に従って動作を実行するものである。
請求項３９の発明による記録媒体は、請求項３２〜３８のいずれかのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２６】
この発明によれば、複数の電子装置で共通のアプリを使用できるため、その各電子装置は低コストで複数の機能を利用できることになる。また、アプリのバージョンアップ作業の軽減化を計ることもできる。
【発明を実施するための最良の形態】
【００２７】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、この発明による電子装置システムの第１実施例である画像形成システムについて説明する。
図１は、その画像形成システムのネットワーク接続例を示す概念図である。なお、図示の都合上、デジタル複合機（以下「ＭＦＰ」ともいう）は１台のみ図示している。
【００２８】
この画像形成システムは、電子装置として複数台のＭＦＰ１０（他の画像処理装置でもよい）を、外部装置（アプリ搭載用サーバ）として複数台の外部サーバ２０（２０ａ，２０ｂ，・・・）をそれぞれ備え、それらをＬＡＮ（ローカルエリアネットワーク）等のネットワーク１によって通信可能に接続できるものである。なお、ＭＦＰ１０と外部サーバ２０は、ネットワーク１によって１対多の関係で通信することができるが、ＭＦＰ１０と外部サーバ２０とをＵＳＢやＩＥＥＥ１３９４等の通信回線によって接続することにより、ＭＦＰ１０と外部サーバ２０が１対１の関係で通信することも可能である。
【００２９】
次に、ＭＦＰ１０のハードウェア構成例について、図２を用いて具体的に説明する。
図２は、ＭＦＰ１０のハードウェア構成例を示すブロック図である。
このＭＦＰ１０は、デジタル複写機，プリンタ，ＦＡＸ装置，スキャナ装置としての機能、つまりコピー機能，プリンタ機能，ＦＡＸ機能，スキャナ機能を含む各種機能を実現できる画像形成装置であり、図２に示すように、コントローラ１１，ＦＣＵ（ファックスコントロールユニット）１２，エンジンインタフェース（以下「インタフェース」を「Ｉ／Ｆ」ともいう）１３，およびエンジン１４等によって構成されている。これらの構成が、原稿の画像読み取り，プリント（画像形成），画像データ送信等の画像処理を行うためのハードウェア資源である。
【００３０】
コントローラ１１は、後述する各アプリを利用し（各アプリへの動作指示に対する応答である動作の実行要求を受信し）、ＭＦＰ１０の各部を統括的に制御するものである。その制御により、各種機能を実現することができる。
ＦＣＵ１２は、ＦＡＸ装置又はモデム機能（ＦＡＸ通信機能）を有するデジタル複写機や他のＭＦＰ（デジタル複合機）等の画像形成装置等の外部装置との通信を公衆回線経由で制御するものである。
エンジンＩ／Ｆ１３は、エンジン１４をＰＣＩ（Peripheral Component Interconnect）バスに接続するためのインタフェースである。
【００３１】
エンジン１４は、原稿の画像を読み取るスキャナ（画像読取手段）、そのスキャナによって読み取られた画像データあるいは外部装置から受信したデータに基づいて用紙等の記録媒体上に画像形成（プリント）を行うプロッタ（画像形成手段）や、原稿をスキャナの画像読取位置へ自動給送する自動原稿給送装置（ＡＤＦ）、プロッタで画像形成された用紙に対してソート，穴開け，ステープル処理等の後処理を行う後処理装置などのハードウェアデバイスに相当するものである。
【００３２】
コントローラ１１は、ＣＰＵ１０１，ＡＳＩＣ（Application Specific Integrated Circuit）１０２，ＳＤＲＡＭ１０３，ＲＯＭ１０４，ＮＶＲＡＭ１０５，ＨＤＤ（ハードディスクドライブ）１０６，操作部１０７，モデム１０８，ＵＳＢ（Universal Serial Bus）・Ｉ／Ｆ１０９，ＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４・Ｉ／Ｆ１１０，およびＭＡＣ（Media Access Controller）・Ｉ／Ｆ１１１等によって構成されている。なお、操作部１０７は実際にはコントローラ１１の外側に配置されている。
【００３３】
ＣＰＵ１０１は、ＡＳＩＣ１０２を介してデータ処理（各機能の制御）を行う演算処理手段である。
ＡＳＩＣ１０２は、ＣＰＵインタフェース，ＳＤＲＡＭインターフェース，ローカルバスインタフェース，ＰＣＩインタフェース，ＨＤＤインタフェース等からなる多機能デバイスボードであり、ＣＰＵ１０１の制御対象となるデバイスの共有化を図り、アーキテクチャの面からアプリ等の開発の高効率化を支援するものである。
【００３４】
このＡＳＩＣ１０２には、エンジン１４の操作命令等を受け付ける操作部１０７が直接的に接続されると共に、モデム１０８も直接的に接続される。また、ＵＳＢ・Ｉ／Ｆ１０９，ＩＥＥＥ１３９４・Ｉ／Ｆ１１０，ＭＡＣ・Ｉ／Ｆ１１１，ＦＣＵ１２，およびエンジンＩ／Ｆ１３がＰＣＩバス１１２を介して接続される。
ＳＤＲＡＭ１０３は、各種プログラムを記憶するプログラムメモリや、ＣＰＵ１０１がデータ処理を行う際に使用するワークメモリ等として使用するメインメモリである。なお、このＳＤＲＡＭ１０３の代わりに、ＤＲＡＭやＳＲＡＭを使用してもよい。
【００３５】
ＲＯＭ１０４は、ＣＰＵ１０１が実行するプログラムや固定データを記憶している固定メモリである。なお、このＲＯＭ１０４に、種々のアプリ（内部アプリ）を記憶しておくこともできる。
ＮＶＲＡＭ１０５は、変更可能な種々のパラメータ等のデータを記憶する不揮発性メモリであり、電源がオフになっても記憶内容を保持するようになっている。なお、このＮＶＲＡＭ１０５として、ＲＡＭと電池を利用したバックアップ回路を集積した不揮発性ＲＡＭや、ＥＥＰＲＯＭ，フラッシュメモリ等の不揮発性メモリを使用することができる。
【００３６】
ＨＤＤ１０６は、電源のオン・オフに関係なくデータを記憶保存する記憶装置（記録媒体）である。このＨＤＤ１０６に、上述したＳＤＲＡＭ１０３内のデータ、あるいはＮＶＲＡＭ１０５内のデータを記憶しておくこともできる。
操作部１０７は、エンジン１４又は外部サーバ２０に対する動作指示等のデータを入力するための各種の操作キー（操作スイッチ又は操作ボタンともいう）およびＬＣＤ又はＣＲＴの文字表示器を有する操作手段であり、例えば図３に示すようなものがある。
【００３７】
モデム１０８は、変復調手段であり、図示しない外部装置へ公衆回線経由でデータを送信する場合、そのデータを公衆回線に流せる形に変調する。また、外部装置から送られてくる変調されたデータを受信した場合、そのデータを復調する。
ＵＳＢ・Ｉ／Ｆ１０９およびＩＥＥＥ１３９４・Ｉ／Ｆ１１０はそれぞれ、外部装置（周辺機器）と直接接続して通信を行うための、ＵＳＢ規格，ＩＥＥＥ１３９４規格のインタフェース（直接インタフェース）である。
ＭＡＣ・Ｉ／Ｆ１１１は、ＬＡＮ等のネットワーク１を介して外部サーバ２０を含む外部装置と通信を行うためのネットワークインタフェースである。
なお、ＵＳＢ・Ｉ／Ｆ１０９やＩＥＥＥ１３９４・Ｉ／Ｆ１１０以外の直接インタフェースをコントローラ１１に増設することもできる。
【００３８】
次に、ＭＦＰ１０の操作部１０７について、図３を参照して説明する。
図３は、この操作部１０７の構成例を示すレイアウト図である。
この操作部１０７は、液晶タッチパネル５１，テンキー５２，クリア／ストップキー５３，スタートキー（プリントキー）５４，予熱キー５５，リセットキー５６，割り込みキー５７，初期設定キー５８，および機能切替キー５９を備えている。
液晶タッチパネル５１は、液晶ディスプレイの表面にタッチパネルを備えており、機能キーや部数、機械の状態を示すメッセージ等を表示することができる。
テンキー５２は、印刷部数（コピー枚数）や倍率等の数値を入力するためのキーである。
クリア／ストップキー５３は、置数（印刷部数）をクリアしたり、実行中の動作（読み取り動作又は印刷動作）をストップさせたりするためのキーである。
【００３９】
操作部１０７を備えたＭＦＰ１０では、割り込みキー５７の押下により割り込みモードに移行する。割り込みモードは、スタートキー５４の押下（動作指示）によって開始されたコピー動作（コピージョブ）の実行中あるいは操作中において、一時的に他のコピー動作を割り込んで行うときに使用するモードである。
そのため、割り込みキー５７が押下された場合は、その押下前のコピーモード、あるいはコピー動作の途中であればその途中経過情報をＮＶＲＡＭ１０５又はＨＤＤ１０６に書き込んで記憶した後、割り込みモードに移行し、コピーモードを初期化する。
【００４０】
そして、スタートキー５４の押下により割り込みコピー動作を開始し、そのコピー動作が終了した後、割り込みキー５７の押下により割り込みモードを解除し、ＮＶＲＡＭ１０５又はＨＤＤ１０６に記憶したコピーモードあるいはコピー途中経過情報を読み出して割り込みモード移行（設定）前の状態に復帰させ、スタートキー５４の押下により割り込み前のコピーモードでコピー動作を再開することができる。
【００４１】
初期設定キー５８が押下されると、機械の初期状態を任意にカスタマイズすることが可能である。
すなわち、機械に収納されている転写紙（用紙）のサイズを設定したり、予熱キー５５を押した時（但しコピーモードをクリアするためのモードクリアキーとして使用された時）に設定される初期状態を任意に設定することが可能である。
また、キー操作が一定時間行われなかった場合に、優先して選択されるアプリ等も選択するとか、国際エネルギースター計画に従った低電力状態への移行時間の設定や、オートオフ／スリープモードへの移行時間の設定を行うことが可能である。
【００４２】
予熱キー５５が約１秒以上押下されると、機械は待機状態から予熱状態に移行し、図示しない定着ユニット内の定着ローラの表面温度（定着温度）を低下させたり、操作部１０７の表示を消灯する。
ここで、予熱状態は、国際エネルギースター計画でいう、低電力状態を意味している。
予熱状態やオフ状態／スリープ状態を解除し、待機状態に移行させる場合は、予熱キー５５を再度押下する。
機能切替キー５９は、コピー機能，プリンタ機能，スキャナ機能，ＦＡＸ機能のいずれかの選択に切り替えるためのキーである。
【００４３】
コピー機能とは、スキャナに原稿の画像を読み取らせ、その画像データをプロッタに送って用紙等の記録媒体上に可視画像として印刷（形成）させるコピー動作を行わせる機能のことである。
プリンタ機能とは、外部装置からの画像データをそのまま又は加工処理してプロッタに送って記録媒体上に可視画像として印刷させるプリンタ動作を行わせる機能のことである。
スキャナ機能とは、スキャナに原稿の画像を読み取らせ、その画像データをメモリ（ＳＤＲＡＭ１０３，ＮＶＲＡＭ１０５，又はＨＤＤ１０６）に書き込んで記憶（蓄積）させるスキャナ動作を行わせる機能のことである。
【００４４】
なお、その処理後のスタートキー５４の押下により、ＳＤＲＡＭ１０３又はＨＤＤ１０６内の画像データを呼び出し（読み出し）、その画像データに基づいて転写紙上に画像を印刷することができる。
ＦＡＸ機能とは、スキャナに原稿の画像を読み取らせ、その画像データをＦＣＵ１２によって外部装置へ送信させるＦＡＸ送信動作と、外部装置からＦＣＵ１２によって画像データを受け取り、その画像データをプロッタに送って記録媒体上に画像を形成させるＦＡＸ受信動作を行わせる機能のことである。
【００４５】
図４および図５は、液晶タッチパネル５１に表示される操作画面の異なる例を示す図である。
オペレータ（ユーザ）が、液晶タッチパネル５１に表示されている画面中のいずれかの機能キーにタッチすることにより、その機能キーの枠内に表示されている機能（モード）が選択され、その白黒表示が反転する。
また、機能の詳細を指定しなければならない場合（例えば変倍であれば変倍値等）は、その機能キーにタッチすることにより、詳細な機能の設定用操作画面が表示される。
液晶タッチパネル５１は、ドット表示器を使用しているため、その時の最適な表示をグラフィカルに行うことが可能である。
【００４６】
図４は、液晶タッチパネル５１に表示されるコピー機能設定用の操作画面の一例を示す図である。
このＭＦＰ１０のコントローラ１１は、機能切替キー５９によってコピー機能（コピーアプリ）の選択に切り替えられると、コピーモードを設定し、液晶タッチパネル５１の表示画面を図４に示すコピー機能設定用の操作画面に切り替える。
このコピー機能設定用の操作画面において、略中央の上部には「コピーできます」「お待ちください」等のメッセージを表示するメッセージエリアが設けられている。
そして、そのメッセージエリアの外側に、以下に示す各機能（動作指示）キーがそれぞれ設けられている。
【００４７】
すなわち、メッセージエリアの下側に、転写紙を自動的に選択するための自動用紙選択キー［自動用紙選択］、転写紙を手動で選択するための転写紙選択キー、コピー倍率（原稿の画像に対するプロッタによって最終的に印刷される画像の変倍率であり、最終画像印刷倍率ともいう）を等倍にセットするための等倍キー［等倍］、転写紙サイズに合わせて自動的に拡大／縮小の変倍処理を指示するための用紙指定変倍キー［用紙指定変倍］、表紙／合紙モードの設定を指示するための表紙／合紙キー［表紙／合紙］、ソート処理されたコピー（コピー済み転写紙）を一部ずつとじる際のとじ代等の編集内容を指定するため編集モード，スタンプや日付やページ等の印字の設定を指示するための印字キーの設定を指示するための編集／印字キー［編集／印字］、転写紙の表裏両面に画像を印刷する両面モード，複数枚の原稿の画像を１枚の転写紙に集約して印刷する集約印刷モード，１枚の原稿の画像を複数枚の転写紙に分割して印刷する分割印刷モードの設定をそれぞれ指示するための両面／集約／分割キー［両面／集約／分割］、コピー倍率として拡大／縮小倍率をセットするための変倍キー［変倍］がそれぞれ設けられている。
【００４８】
また、メッセージエリアの左側に、原稿の種類を選択する原稿種類キー、画像濃度を自動的に調整する自動濃度キー［自動濃度］等が設けられている。
さらに、メッセージエリアの右側に、原稿枚数を表示する原稿枚数表示部、セットされた枚数（印刷部数）を表示するセット枚数表示部、コピーした枚数を表示するコピー枚数表示部が設けられており、その下側に、コピーを一部ずつページ順にそろえる処理を指定（指示）するためのソートキー［ソート］、コピーをページ毎に仕分けする処理を指定するためのスタックキー［スタック］、ソート処理されたコピーを一部ずつ綴じる処理を指定するためのステープルキー［ステープル］等がそれぞれ設けられている。
【００４９】
図５は、液晶タッチパネル５１に表示されるスキャナ機能用の操作画面の一例を示す図である。
このＭＦＰ１０の制御部は、機能切替キー５９によってスキャナ機能の選択に切り替えられると、スキャナモードを設定し、液晶タッチパネル５１の表示画面を図７に示す操作画面に切り替える。
この操作画面には、略中央の上部には「スキャナ読み取りできます」「お待ちください」等のメッセージを表示するメッセージエリアが設けられている。
そして、そのメッセージエリアの外側に、各機能（動作指示）キーがそれぞれ設けられているが、それらについては説明を省略する。
【００５０】
次に、ＭＦＰ１０の主要な機能構成例について、図６を用いて具体的に説明する。
図６は、ＭＦＰ１０の主要な機能構成例を示すブロック図である。
このＭＦＰ１０のコントローラ１１は、通信処理部１２１，アプリ選択部１２２，アプリ情報記憶部１２３，および制御部１２４としての機能を備えている。これらの機能は、図２のＣＰＵ１０１がＲＯＭ１０４内のプログラムに従って動作し、必要に応じて図２のＳＤＲＡＭ１０３，ＮＶＲＡＭ１０５，ＨＤＤ１０６，ＭＡＣ・Ｉ／Ｆ１１１，ＵＳＢ・Ｉ／Ｆ１０９，ＩＥＥＥ１３９４・Ｉ／Ｆ１１０を選択的に使用することにより実現できるものである。
【００５１】
通信処理部１２１は、ネットワーク１上の複数台の外部サーバ２０（２０ａ，２０ｂ，・・・）にそれぞれ搭載されているアプリ（以下「外部アプリ」という）２３１，２３２と通信を行ったり、直接接続された外部装置と通信を行う通信手段である。なお、外部アプリ２３１，２３２を直接接続し、それらと通信を行うこともできる。
アプリ選択部１２２は、外部アプリ２３１，２３２を含む複数の外部アプリからそれぞれ送られてくるコマンド（動作の実行要求）等のデータを受け取り、それらのデータを制御部１２４に送る（引き渡す）。また、制御部１２４から動作指示等のデータを受け取ると、それを外部アプリ２３１，２３２を含む複数の外部アプリへ振り分けて送る。つまり、どのアプリに送るか送付先を判断し、その送付先へ受け取ったデータを送る。よって、このアプリ選択部１２２が、アプリケーション登録手段およびアプリケーション選択手段としての機能を果たす。なお、ＲＯＭ２０４もしくはＨＤＤ２０６にもアプリ（内部アプリ）が記憶されている場合には、そのアプリに対しても外部アプリに対する処理と同様の処理を行うことができる。
【００５２】
アプリ情報記憶部１２３は、利用可能な外部アプリの存在場所（ＩＰアドレス）、つまりその外部アプリが搭載されている外部サーバ２０の設置場所や、利用可能な外部アプリの種類など、外部アプリを管理するための各種情報をアプリ管理テーブルとして記憶する。それによって、ＭＦＰ１０で利用可能なアプリを登録できる。このアプリ情報記憶部１２３は、図２のＳＤＲＡＭ１０３，ＮＶＲＡＭ１０５，又はＨＤＤ１０６上に存在し、情報が変わるたびに変更（更新）される。よって、このアプリ情報記憶部１２３が、アプリケーション登録手段としての機能を果たす。なお、ＲＯＭ２０４もしくはＨＤＤ２０６にもアプリ（内部アプリ）が記憶されている場合には、そのアプリも外部アプリと同様に登録することができる。
【００５３】
制御部１２４は、通信処理部１２１，アプリ選択部１２２，操作部１０７，アプリ情報記憶部１２３，およびエンジン１４を含む各部を統括的に制御するものであり、制御手段としての機能を果たす。
よって、制御部１２４は、アプリ選択部１２２，通信処理部１２１，およびネットワーク１を介して外部アプリ２３１，２３２を含む複数の外部アプリと選択的に通信を行うことにより、その各外部アプリを選択的に利用して各種の機能を実現することが可能になる。
【００５４】
次に、外部サーバ２０のハードウェア構成例について、図７を用いて具体的に説明する。
図７は、外部サーバ２０のハードウェア構成例を示すブロック図である。
この外部サーバ２０は、ＰＣ（パーソナルコンピュータ）等の情報処理装置であり、図７に示すように、ＣＰＵ２０１，ＡＳＩＣ２０２，ＳＤＲＡＭ２０３，ＲＯＭ２０４，ＮＶＲＡＭ２０５，ＨＤＤ２０６，操作部２０７，モデム２０８，ＵＳＢ・Ｉ／Ｆ２０９，ＩＥＥＥ１３９４・Ｉ／Ｆ２１０，およびＭＡＣ・Ｉ／Ｆ２１１等によって構成されている。
【００５５】
この外部サーバ２０の構成は、図２によって説明したコントローラ１１の構成とほとんど同様なので、それと異なる部分についてのみ説明する。
操作部２０７は、ＭＦＰ１０に対する動作指示等のデータを入力するためのキーボードやマウス等の入力装置と、ＬＣＤディスプレイ又はＣＲＴディスプレイ等の表示装置とによって構成されている。なお、表示装置の表面に、例えばタッチパネルを備えることもできる。
【００５６】
次に、外部サーバ２０の主要な機能構成例について、図８を用いて具体的に説明する。
図８は、ＭＦＰ１０および外部サーバ２０ａの主要な機能構成例を示すブロック図である。なお、説明の都合上、外部アプリ２３１に後述するアプリ通信処理部２４１等の各部が備えられているように図示している。
【００５７】
外部サーバ２０ａは、アプリ通信処理部２４１，アプリ制御部２４２，および装置情報記憶部２４３としての機能を備えている。これらの機能は、図７のＣＰＵ２０１がＲＯＭ１０４に記憶されている外部アプリ２３１に従って動作し、必要に応じてＭＡＣ・Ｉ／Ｆ２１１，ＵＳＢ・Ｉ／Ｆ２０９，ＩＥＥＥ１３９４・Ｉ／Ｆ２１０を使用することにより実現できるものである。
アプリ通信処理部２４１は、ネットワーク１上の各ＭＦＰ１０と通信を行ったり、直接接続されたＭＦＰと通信を行う通信手段である。
【００５８】
アプリ制御部２４２は、アプリ通信処理部２４１および装置情報記憶部２４３を制御するものであり、制御手段としての機能を果たす。
装置情報記憶部２４３は、外部サーバ２０ａで利用可能な画像処理装置に関する情報を記憶するアプリケーション記憶手段である。それによって、外部サーバ２０ａで利用可能な画像処理装置を登録できる。この装置情報記憶部２４３は、図７のＳＤＲＡＭ２０３，ＮＶＲＡＭ２０５，又はＨＤＤ２０６上に存在し、情報が変わるたびに変更される。
【００５９】
なお、他の外部サーバ２０ｂの主要な機能構成も、外部サーバ２０ａと略同様なので、図示および説明を省略する。また、外部サーバ２０（２０ａ，２０ｂ，・・・）上のアプリ、つまり外部アプリ２３１，２３２を含む各外部アプリによる処理はそれぞれ、実際には対応するＣＰＵ２０１が外部アプリに従って動作することによって実行するが、説明の都合上、以後は、外部アプリが処理を実行するものとして説明する場合もある。
【００６０】
ここで、外部アプリは、種々の機能を実現させるためのものである。つまり、外部アプリ２３１，２３２を含む各外部アプリを、コピー機能を実現させるためのコピーアプリ、プリンタ機能を実現させるためのプリンタアプリ、スキャナ機能を実現させるためのスキャナアプリ、又はＦＡＸ機能を実現させるためのＦＡＸアプリとするなど、いずれか１つの機能を実現するためのアプリとしたり、複数種類のアプリを組み合わせたものにするなど、どのようなアプリであっても構わない。例えば、外部アプリ２３１（外部アプリ−１）を基本（低いバージョン）のコピー機能とプリンタ機能を実現させるためのアプリ、外部アプリ２３２（外部アプリ−２）を基本のスキャナ機能とＦＡＸ機能を実現させるためのアプリとし、他の外部アプリ（外部アプリ−３）を高いバージョンのコピー機能とプリンタ機能を実現させるためのアプリ、更に他の外部アプリ（外部アプリ−４）を高いバージョンのスキャナ機能とＦＡＸ機能を実現させるためのアプリとしてもよい。
【００６１】
なお、ＭＦＰ１０以外に、単体のプリンタ，スキャナ，デジタル複写機，又はＦＡＸ装置等の他の画像処理装置をネットワーク１経由で又は直接接続することもできる。これらの画像処理装置は、図示は省略するが、ＭＦＰ１０と同様な構成のコントローラを備え、後述するこの発明に係わる制御（処理）を行うことができる。
【００６２】
次に、上述したように構成した第１実施例の画像形成システムにおけるこの発明に係わる制御（処理）について、図９〜図２１を参照して具体的に説明する。
〔第１制御例〕
まず、ＭＦＰの起動時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとの間の通信シーケンスの第１例（基本）について、図９を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３１，２３２の２台しか存在しないものとする。
図９は、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第１例を示す図である。
【００６３】
ＭＦＰ１０のアプリ選択部１２２は、起動（電源ＯＮ）時に、予め登録されている外部アプリ２３１，２３２（図６のアプリ情報記憶部１２３のアプリ管理テーブルに記憶されている情報によって示されたもの）に対して起動通知（ＭＦＰ起動通知）を発行する。つまり、通信処理部１２１により、ＭＦＰ起動通知を外部アプリ２３１（１），２３２（２）へ順次送信させる（Ｓ１０１〜Ｓ１０４）。外部アプリ２３１，２３２に対するＭＦＰ起動通知にはそれぞれ、その外部アプリ２３１，２３２を識別するアプリ識別番号を付加するが、それはアプリ搭載場所の情報と共に図３のアプリ情報記憶部１２３から取得する。
ここで、図６のアプリ情報記憶部１２３に記憶されているアプリ管理テーブルについて、表１を参照して説明する。表１の例では、外部アプリが４つ登録されている。
【００６４】
【表１】
2006114019.tif 000003
このアプリ管理テーブルは、例えばネットワーク１上のアプリ毎に、アプリ名，アプリが存在する場所を示すアプリ場所情報（アプリのＩＰアドレス），およびアプリの種類を対応付けて記憶（登録）している。この例では、外部アプリ２３１（１）と外部アプリ２３２（２）をコピーアプリ、図示しない他の外部アプリ（３）をプリンタアプリ、図示しない更に他の外部アプリ（４）をスキャナアプリとする。但し、コピーアプリである外部アプリ２３１，２３２であるが、例えば外部アプリ２３１の方がバージョンが高い（最新バージョンである）ものとする。
【００６５】
図９の説明に戻る。
外部アプリ２３１は、それを搭載している外部サーバ２０ａが起動していた場合には、いずれかのＭＦＰ１０からＭＦＰ起動通知を受信すると、その通知に対する応答として自己の識別情報を含むアプリ利用可能通知（アプリ１利用可能通知）を対応するＭＦＰ１０（ＭＦＰ起動通知を送信したＭＦＰ１０）へ送信する（Ｓ１０５）。
外部アプリ２３２も、それを搭載している外部サーバ２０ｂが起動していた場合には、ＭＦＰ１０からＭＦＰ起動通知を受信すると、その通知に対する応答として自己のアプリの識別情報を含むアプリ利用可能通知（アプリ２利用可能通知）をＭＦＰ１０へ送信する（Ｓ１０７）。
【００６６】
ＭＦＰ１０のアプリ選択部１２２は、通信処理部１２１により、外部アプリ２３１からアプリ１利用可能通知を、外部アプリ２３２からアプリ２利用可能通知をそれぞれ受信すると、それらの通知に付加されているアプリ識別情報から外部アプリ２３１，２３２が利用可能かどうかを判断できる。この処理例では、外部アプリ２３１，２３２のいずれも利用可能であるため、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、外部アプリ２３１，２３２を利用可能なアプリとして登録する（Ｓ１０６，Ｓ１０８）。
【００６７】
その後、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると（Ｓ１０９）、アプリ情報記憶部１２３のアプリ管理テーブルの内容を参照して、利用可能なアプリの中から利用（使用）するアプリ（ここでは外部アプリ２３１（１）とする）を選択（決定）し、その利用するアプリに関する情報を利用アプリ管理テーブルとしてアプリ情報記憶部１２３に記憶することにより、外部アプリ２３１（１）を利用するアプリとして登録する。そして、その外部アプリ２３１に対して、受け取った動作指示を通信処理部１２１によって送信させる（Ｓ１１０，Ｓ１１１）。
ここで、利用アプリ管理テーブルについて、表２を参照して説明する。
【００６８】
【表２】
2006114019.tif 000004
この利用アプリ管理テーブルは、利用するアプリ毎に、アプリの種類およびアプリ名を対応付けて記憶している。この表２に示した利用アプリ管理テーブルは、３つの外部アプリを利用するアプリとして登録した例を示している。
【００６９】
外部アプリ２３１は、いずれかのＭＦＰ１０から動作指示を受信すると、その動作指示の内容を処理し（Ｓ１１２）、対応する動作の実行要求（コマンド）を受信した動作指示に対する応答（動作指示応答）として対応するＭＦＰ１０（動作指示を送信したＭＦＰ１０）へ送信する（Ｓ１１３）。例えば、動作指示が原稿を２部コピーするコピー指示であった場合には、その指示の内容を処理して、２部のコピーの実行要求（コマンド）を受信したコピー指示に対する応答としてＭＦＰ１０へ送信する。
ＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１からの動作指示応答（実行要求）を通信処理部１２１によって受信すると、その動作指示応答を制御部１２４へ送る（Ｓ１１４，Ｓ１１５）。
【００７０】
制御部１２４は、アプリ選択部１２２から動作指示応答を受け取ると、その動作指示応答（実行要求）によって要求された動作（コマンド処理）を実行する。
なお、この処理では、ＭＦＰ１０が自己の電源ＯＮ（電源投入）時に各外部アプリへＭＦＰ起動通知を送信するようにしているが、その通知を他のタイミング（例えば操作部１０７上のキー操作による指示）で行ってもよい。あるいは、ＭＦＰ１０の電源がＯＮ状態で外部アプリが起動した際に、その外部アプリがＭＦＰ１０を特定し、そのＭＦＰ１０へ自己のアプリの利用可能通知を送信することもできる。
【００７１】
次に、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとの間の通信シーケンスの第２例について、図１０を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３１，２３２の２つしか存在しないものとする。
図１０は、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第２例を示す図である。
【００７２】
ＭＦＰ１０の各部は、ステップＳ１２１〜Ｓ１２４の処理（図９によって説明したステップＳ１０１〜Ｓ１０４の処理と同じ）を行うことにより、ＭＦＰ起動通知を外部アプリ２３１，２３２へ送信するが、この例の場合は、外部アプリ２３２を搭載している外部サーバ２０ｂが電源ＯＦＦ（ネットワーク障害等の別の原因でもよい）でダウン状態のため、外部アプリ２３２と通信できず（通信エラーとなり）、その外部アプリ２３２からはアプリ２利用可能通知が送られてこない。
【００７３】
ＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１からのアプリ１利用可能通知のみを通信処理部１２１によって受信し、その通知に付加されているアプリ識別情報から外部アプリ２３１のみが利用可能なことを判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、外部アプリ２３１を利用可能なアプリとして登録する（Ｓ１２５，Ｓ１２６）。
【００７４】
その後、操作部１０７から動作指示が入力され（Ｓ１２７）、それを制御部１２４を介して受け取ると、アプリ情報記憶部１２３のアプリ管理テーブルの内容を参照して、利用可能なアプリの中から利用するアプリを選択するが、図１０の例では利用可能なアプリが外部アプリ２３１（１）しかないので、それを選択し、そのアプリに関する情報を利用アプリ管理テーブルとしてアプリ情報記憶部１２３に記憶することにより、外部アプリ２３１（１）を利用するアプリとして登録する。そして、その外部アプリ２３１に対して、受け取った動作指示を通信処理部１２１によって送信させる（Ｓ１２８，Ｓ１２９）。
以後のステップＳ１３０〜Ｓ１３３の処理は、図９によって説明したステップＳ１１２〜Ｓ１１６の処理と同様なので、説明を省略する。
なお、ＭＦＰ１０以外のＭＦＰでも、図１０によって説明した処理と同様の処理を行うことができる。
【００７５】
次に、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとの間の通信シーケンスの第３例について、図１１を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３１，２３２の２つしか存在しないものとする。
図１１は、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第３例を示す図である。
【００７６】
ＭＦＰ１０の各部は、ステップＳ１４１〜Ｓ１４４の処理（図９によって説明したステップＳ１０１〜Ｓ１０４の処理と同じ）を行うことにより、ＭＦＰ起動通知を外部アプリ２３１，２３２へ送信するが、この例の場合は、外部アプリ２３１，２３２をそれぞれ搭載している外部サーバ２０ａ，２０ｂのいずれも電源ＯＦＦ（ネットワーク障害等の別の原因でもよい）でダウン状態のため、外部アプリ２３１，２３２と通信できず、その外部アプリ２３１，２３２のいずれからもアプリ利用可能通知が送られてこない。
そのため、ＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１又は２３２を利用可能なアプリとして登録することはない。
【００７７】
その後、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると（Ｓ１４５）、アプリ情報記憶部１２３のアプリ管理テーブルの内容を参照するが、利用可能なアプリが登録されていないため、受け取った動作指示に対する応答としてエラー応答を制御部１２４へ送る（Ｓ１４６）。
制御部１２４は、そのエラー応答を受け取ると、操作部１０７から入力された動作指示に対応する機能を使えない旨をユーザに知らせるためのエラー画面（例えば図１２参照）を図３に示した操作部１０７上（実際には液晶タッチパネル５１上）に表示する。
【００７８】
次に、ＭＦＰ１０による利用可能なアプリを決定するための処理の第１例について、図１３，図１４を参照して説明する。
図１３は、ＭＦＰ１０がユーザによる操作部１０７上のキー操作によって利用可能なアプリを決定する際のそのＭＦＰ１０内での通信シーケンスの一例を示す図である。
【００７９】
ＭＦＰ１０の制御部１２４は、例えば図９によって説明したような処理によって外部アプリ２３１（１），２３２（２）を含む複数の外部アプリを利用可能なアプリとして登録した後、ユーザによる操作部１０７上のキー操作によってアプリ選択画面表示要求が入力されると（Ｓ１５１）、利用可能なアプリの種類情報の取得要求（利用可能アプリ種類情報取得要求）をアプリ選択部１２２へ送る（Ｓ１５２）。
アプリ選択部１２２は、その取得要求を受け取ると、アプリ情報記憶部１２３のアプリ管理テーブルから利用可能なアプリの種類情報を取得し（読み込み）（Ｓ１５３）、それを利用可能アプリ種類情報取得要求に対する応答（利用可能アプリ種類情報取得結果応答）として制御部１２４へ送る（Ｓ１５４）。
【００８０】
制御部１２４は、アプリ選択部１２２から利用可能アプリ種類情報取得結果応答を受け取ると、その内容に基づいて、例えば図１４に示すようなアプリ選択画面を操作部１０７上に表示する（Ｓ１５５）。
ここで、そのアプリ選択画面について、簡単に説明しておく。
アプリ選択画面には、ユーザが選択することが可能なレベルのアプリの特徴を示す情報を表示する。この例では、アプリの種類とバージョン情報を示しているが、ＭＦＰ１０に備えている機能の種類を具体的に示すなど、よりユーザが選択しやすい画面を操作部１０７上に表示してもよい（ユーザが選択できる内容が表示されていることが重要）。
ＭＦＰ１０で利用不可能なアプリの情報は、最初から選択の候補から除外する。
【００８１】
利用不可能な状況とは、オプションを購入していないために、アプリの利用が不可能な設定になっていたり、あるいはアプリが正常に動作するための十分なメモリが搭載されていないなどの理由により、そのアプリを利用することが許されていない状況を示す。
この例では、ユーザ等による操作部１０７上のキー操作（ボタンの押下）によって利用可能なアプリを選択することができるようになっているが、デフォルトで利用するアプリが決まっていてもよいし、操作部１０７上のキー操作による指定ではなく、予め図２のＲＯＭ１０４，ＮＶＲＡＭ１０５，又はＨＤＤ１０６に利用するアプリの種類が書き込まれていてもよい。
【００８２】
図１３の説明に戻る。
その後、ユーザによるアプリ選択画面上のキー操作によって利用するアプリ（ここでは外部アプリ２３１（１），２３２（２）とする）の種類が選択されることにより、それらのアプリの利用指示をアプリ選択部１２２へ送る（Ｓ１５６）。
アプリ選択部１２２は、外部アプリ２３１（１），２３２（２）の利用指示を受け取ると、外部アプリ２３１，２３２を利用可能なアプリとして決定し、再登録する。
【００８３】
次に、ＭＦＰ１０による利用可能なアプリを決定するための処理の第２例について、図１５を参照して説明する。
図１５は、ＭＦＰ１０による利用可能なアプリを決定するための処理の第２例を説明するための説明図である。
【００８４】
ＭＦＰ１０のアプリ選択部１２２は、起動（電源ＯＮ）時あるいは他のタイミング（操作部１０７上のキー操作による指示）で図９によって説明した処理を開始すると、予め登録されている外部アプリ２３１，２３２を含む複数の外部アプリ（この例では３つの外部アプリとする）のＩＰアドレスを取得し、例えば図１５の（ａ）に示すように、それらのＩＰアドレスを含むアプリ選択画面（アプリケーション選択画面）を制御部１２４によって操作部１０７上に表示させる。なお、操作部１０７上のキー操作による指示で操作部１０７上にアプリ選択画面を表示させる場合、サービスマンが操作部１０７上のキー操作によって所定の暗証番号を入力してサービスマンモードにするか、あるいはユーザの管理者が操作部１０７上のキー操作によって所定の暗証番号を入力して管理者モードにすることにより、アプリ選択画面の表示が可能になる。
【００８５】
次に、そのアプリ選択画面上のＩＰアドレスの指定により（全てのＩＰアドレスを指定してもよい）、その指定されたＩＰアドレスに基づいて対応する外部アプリへ通信処理部１２１によってＭＦＰ起動通知を送信させる。
その後、ＭＦＰ起動通知の送信先の外部アプリ（複数の外部アプリとする）からアプリ利用可能通知を受信すると、それらの通知に付加されているアプリ識別情報からそれらの外部アプリが利用可能なことを判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、利用可能なアプリを登録する。
【００８６】
そして、アプリ情報記憶部１２３のアプリ管理テーブルの内容に基づいて、例えば図１５の（ｂ）〜（ｅ）に示すパターン１〜４のいずれかのアプリ選択画面を操作部１０７上に表示させる。
ここで、その各アプリ選択画面について、簡単に説明する。
図１５の（ｂ）に示すパターン１のアプリ選択画面は、例えばネットワーク１上の全ての外部アプリの種類とバージョンを表示しており、それらの外部アプリを利用可能なアプリとして決定（選択）し、登録することができる。
【００８７】
図１５の（ｃ）に示すパターン２のアプリ選択画面は、同一種類の外部アプリ毎に最も高いバージョン（最新バージョン）のアプリを最初に表示する。それらの外部アプリは、対応する選択ボタンの押下で、他のバージョンに切り替えることが可能である。そして、表示されているバージョンの外部アプリを利用可能なアプリとして決定し、登録することができる。
【００８８】
図１５の（ｄ）に示すパターン３のアプリ選択画面は、同一種類の外部アプリ毎に最も応答パフォーマンスが優れている（高い）アプリを最初に表示する。それらの外部アプリは、対応する選択ボタンの押下で、他の応答パフォーマンスに切り替えることが可能である。そして、表示されている応答パフォーマンスの外部アプリを利用可能なアプリとして決定し、登録することができる。応答パフォーマンス（応答時間）の計測方法については、後述する図２３の通信シーケンスで説明する。
【００８９】
図１５の（ｅ）に示すパターン４のアプリ選択画面は、同一種類の外部アプリ毎に最も機能レベル（機能個数）が高いアプリを最初に表示する。それらの外部アプリは、対応する選択ボタンの押下で、他の機能レベルに切り替えることが可能である。そして、表示されている機能レベルの外部アプリを利用可能なアプリとして決定し、登録することができる。機能レベルが高い外部アプリは、利用方法（使い方）が複雑になるため、利用者の用途によって利用可能なアプリとして決定できるようにする。
なお、パターン２〜４のアプリ選択画面に最初に表示されたアプリを必ず利用可能なアプリとして決定するようにしたり、あるいは利用可能なアプリとして決定しないようにすることもできる。
【００９０】
次に、ＭＦＰ１０による利用可能なアプリを決定するための処理の第３例について、図１６を参照して説明する。
図１６は、ＭＦＰ１０による利用可能なアプリを決定するための処理の第３例を説明するための説明図である。
【００９１】
ＭＦＰ１０のアプリ選択部１２２は、図１５によって説明した処理と同様にして、操作部１０７上に表示させたアプリ管理画面（図１６の（ａ）参照）上のＩＰアドレスの指定により（全てのＩＰアドレスを指定してもよい）、その指定されたＩＰアドレスに基づいて対応する外部アプリへ通信処理部１２１によってＭＦＰ起動通知を送信させた後、ＭＦＰ起動通知の送信先の外部アプリ（複数の外部アプリとする）からアプリ利用可能通知を受信すると、それらの通知に付加されているアプリ識別情報からそれらの外部アプリが利用可能なことを判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、利用可能なアプリを登録する。
【００９２】
そして、アプリ情報記憶部１２３のアプリ管理テーブルの内容に基づいて、例えば図１６の（ｂ）〜（ｅ）に示すパターン１〜４のいずれかのアプリ管理画面を操作部１０７上に表示させた後、所定の条件に基づいて利用する外部アプリを決定する（自動的に選択する）。
ここで、各アプリ管理画面と対応するアプリの決定処理について、簡単に説明する。
図１６の（ｂ）に示すパターン１のアプリ管理画面は、同一種類の外部アプリ毎に最も応答パフォーマンスが優れているアプリを表示する。よって、その応答パフォーマンスの外部アプリを利用可能なアプリとして決定し、登録することができる。
【００９３】
図１６の（ｃ）に示すパターン２のアプリ管理画面は、同一種類の外部アプリ毎に最も機能レベルが高いアプリを表示する。よって、その機能レベルの外部アプリを利用可能なアプリとして決定し、登録することができる。
図１６の（ｄ）に示すパターン３のアプリ管理画面は、同一種類の外部アプリ毎に最も機能レベルが低いアプリを表示する。よって、その機能レベルの外部アプリを利用可能なアプリとして決定し、登録することができる。
【００９４】
図１６の（ｅ）に示すパターン４のアプリ管理画面は、実際には直ちに表示されるわけではなく、最初にログインＩＤとパスワードを入力するための画面が表示され、ログインＩＤとパスワードが入力され、それらと一致するログインＩＤとパスワードが登録されていた場合に、それらに対応するユーザ（例えばＵＳＥＲ−Ａ）に予め割り当てられたアプリの種類とバージョンを含むアプリ管理画面、つまり図１６の（ｅ）に示すパターン４のアプリ管理画面が操作部１０７上に表示される。よって、そのアプリ管理画面上の外部アプリを利用可能なアプリとして決定し、登録することができる。
なお、外部アプリ別の利用頻度を示すアプリ管理画面を表示し、その利用頻度に応じて利用する外部アプリ（例えば最も利用されていないもの）を決定することもできる。
【００９５】
第１制御例によれば、以下の（１）（２）に示すような効果を得ることができる。
（１）ＭＦＰ１０（画像処理装置）が、外部アプリと通信することにより、その外部アプリを利用して動作を実行するので、つまり複数の画像処理装置で共通のアプリを使用できるため、その各画像処理装置が低コストで複数の機能を実現できることになる。また、アプリのバージョンアップ作業の軽減化を計ることもできる。さらに、内部アプリもそのまま利用して動作を実行することもできるため、自由度が増す。
（２）ＭＦＰ１０が、通信可能な複数の外部アプリを利用可能なアプリとして登録し、その中から利用する外部アプリを選択するので、外部アプリが格納されたサーバが何らかの原因でダウンした時でも、外部アプリを利用して動作することができ、ＭＦＰが使用不可になることを回避できる。
【００９６】
〔第２制御例〕
次に、外部アプリの起動時のその外部アプリとＭＦＰ１０との間の通信シーケンスの第１例について、図１７を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３１，２３２の２つしか存在しないものとする。また、ＭＦＰ１０も２台しか存在しないものとする。但し、その２台をここではＭＦＰ１０ａ（１），１０ｂ（２）とする。
図１７は、外部アプリの起動時のその外部アプリとＭＦＰ１０との間の通信シーケンスの第１例を示す図である。この場合、ＭＦＰ１０ａ，１０ｂのＲＯＭ１０４，ＮＶＲＡＭ１０５，又はＨＤＤ１０６（図２参照）にはそれぞれ、予めＭＦＰ１０のモデルに応じて利用可能なアプリの種類が記憶されているものとする。
【００９７】
外部アプリ２３１（１）は、自己の起動時（外部サーバ２０ａの電源ＯＮ時）に、自己の識別情報を含むアプリ利用可能通知（アプリ１利用可能通知）をＭＦＰ１０ａ（１）へ送信する（Ｓ１６１）。
外部アプリ２３２（２）も、自己の起動時（外部サーバ２０ｂの電源ＯＮ時）に、自己の識別情報を含むアプリ利用可能通知（アプリ２利用可能通知）をＭＦＰ１０ｂ（２）へ送信する（Ｓ１６２）。
【００９８】
ＭＦＰ１０ａ（１）のアプリ選択部１２２は、外部アプリ２３１（１）からのアプリ１利用可能通知を通信処理部１２１によって受信すると、その通知に付加されているアプリ識別情報から外部アプリ２３１が利用可能と判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、外部アプリ２３１を利用可能なアプリとして登録する（Ｓ１６３）。
その後、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると、アプリ情報記憶部１２３のアプリ管理テーブルの内容を参照し、利用可能なアプリである外部アプリ２３１（１）に対して、受け取った動作指示を通信処理部１２１によって送信させる（Ｓ１６５）。
【００９９】
ＭＦＰ１０ｂ（２）のアプリ選択部１２２も、外部アプリ２３２（２）からのアプリ２利用可能通知を通信処理部１２１によって受信すると、その通知に付加されているアプリ識別情報から外部アプリ２３２が利用可能と判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、外部アプリ２３２を利用可能なアプリとして登録する（Ｓ１６４）。
その後、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると、アプリ情報記憶部１２３のアプリ管理テーブルの内容を参照し、利用可能なアプリである外部アプリ２３２（２）に対して、受け取った動作指示を通信処理部１２１によって送信させる（Ｓ１６６）。
【０１００】
第２制御例によれば、上記の（１）と同様の効果を得ることができる。
また、ＭＦＰのモデル毎に利用する外部アプリが決まっているので、ＭＦＰのモデル毎に最適な動作を行える。
【０１０１】
〔第３制御例〕
次に、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとの間の通信シーケンスの第４例について、図１８を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３２（２）の１台しか存在しないものとする。また、図６に破線で示す内部アプリ１３１（３）が存在するものとする。
図１８は、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第４例を示す図である。
【０１０２】
ＭＦＰ１０のアプリ選択部１２２は、起動（電源ＯＮ）時に、予め登録されている外部アプリ２３２および内部アプリ１３１（図６のアプリ情報記憶部１２３のアプリ管理テーブルに記憶されている情報によって示されたもの）に対して起動通知（ＭＦＰ起動通知）を発行する。つまり、通信処理部１２１により、ＭＦＰ起動通知を外部アプリ２３２（２）へ送信させる（Ｓ１７１，Ｓ１７２）。また、ＭＦＰ起動通知を内部アプリ１３１（３）へ送る（Ｓ１７３）。
【０１０３】
内部アプリ１３１（３）は、アプリ選択部１２２からＭＦＰ起動通知を受け取ると、その通知に対する応答として自己の識別情報を含むアプリ利用可能通知（アプリ３利用可能通知）をアプリ選択部１２２へ送る（Ｓ１７４）。
アプリ選択部１２２は、内部アプリ１３１からアプリ３利用可能通知を受け取ると、その通知に付加されているアプリ識別情報から内部アプリ１３１が利用可能と判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、内部アプリ１３１（３）を利用可能なアプリとして登録する。
【０１０４】
外部アプリ２３２は、それを搭載している外部サーバ２０ｂが起動していた場合には、ＭＦＰ１０からＭＦＰ起動通知を受信すると、その通知に対する応答として自己の識別情報を含むアプリ利用可能通知（アプリ２利用可能通知）を対応するＭＦＰ１０へ送信する（Ｓ１７５）。
ＭＦＰ１０のアプリ選択部１２２は、通信処理部１２１により、外部アプリ２３２からアプリ２利用可能通知を受信すると、その通知に付加されているアプリ識別情報から外部アプリ２３２が利用可能と判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、外部アプリ２３２（２）を利用可能なアプリとして登録する（Ｓ１７６）。
【０１０５】
その後、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると（Ｓ１７７）、アプリ情報記憶部１２３のアプリ管理テーブルの内容を参照して、利用可能なアプリの中から利用するアプリ（ここでは内部アプリ１３１（３）とする）を選択（決定）し、その利用するアプリに関する情報を利用アプリ管理テーブルとしてアプリ情報記憶部１２３に記憶することにより、内部アプリ１３１（３）を利用するアプリとして登録する。そして、その内部アプリ１３１に対して、受け取った動作指示を送る（Ｓ１７８）。
ここで、アプリ選択部１２２は、アプリの候補が複数ある場合には、予めアプリ利用優先度を内部アプリ優先又は外部アプリ優先として設定したり、あるいはアプリ種別優先度を設定しておき、それらの優先度に応じて利用するアプリを選択することができる。もちろん、操作部１０７上のキー操作による指示によって選択することもできる。
【０１０６】
内部アプリ１３１（３）は、アプリ選択部１２２から動作指示を受け取ると、その動作指示の内容を処理し（Ｓ１７９）、対応する動作の実行要求を受け取った動作指示に対する応答（動作指示応答）としてアプリ選択部１２２へ送る（Ｓ１８０）。
アプリ選択部１２２は、内部アプリ１３１から動作指示応答（実行要求）を受け取ると、その動作指示応答を制御部１２４へ送る（Ｓ１８１）。
制御部１２４は、アプリ選択部１２２から動作指示応答を受け取ると、その動作指示応答（実行要求）によって要求された動作を実行する。
【０１０７】
なお、この処理では、ＭＦＰ１０が自己の電源ＯＮ時に外部アプリと内部アプリへＭＦＰ起動通知を送るようにしているが、その通知を他のタイミング（例えば操作部１０７上のキー操作による指示）で行ってもよい。
【０１０８】
第３制御例によっても、上記の（１）と同様の効果を得ることができる。
また、ＭＦＰ１０が、通信可能な外部アプリだけでなく内部アプリも利用可能なアプリとして登録し、その中から利用する外部アプリを選択するので、外部アプリが格納されたサーバが何らかの原因でダウンした時でも、他の外部アプリ又は内部アプリを利用して動作することができ、ＭＦＰが使用不可になることを確実に回避できる。
【０１０９】
〔第４制御例〕
次に、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとの間の通信シーケンスの第５例について、図１９を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３２の１台しか存在しないものとする。また、図６に破線で示す内部アプリ１３１（３）が存在するものとする。
図１９は、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第５例を示す図である。
【０１１０】
ＭＦＰ１０の各部は、ステップＳ１９１〜Ｓ１９４の処理（図１８によって説明したステップＳ１７１〜Ｓ１７４の処理と同じ）を行うことにより、ＭＦＰ起動通知を外部アプリ２３２（１）と内部アプリ１３１（３）へ送るが、この例の場合は、外部アプリ２３２を搭載している外部サーバ２０ｂが電源ＯＦＦ（ネットワーク障害等の別の原因でもよい）でダウン状態のため、外部アプリ２３２と通信できず、その外部アプリ２３２からはアプリ２利用可能通知が送られてこない。
【０１１１】
アプリ選択部１２２は、内部アプリ１３１からアプリ３利用可能通知を受け取ると、その通知に付加されているアプリ識別情報から内部アプリ１３１が利用可能と判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、内部アプリ１３１（３）を利用可能なアプリとして登録する。
その後、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると（Ｓ１９５）、アプリ情報記憶部１２３のアプリ管理テーブルの内容を参照するが、利用可能なアプリは内部アプリ１３１（３）だけなので、内部アプリ１３１（３）を利用するアプリとして選択し、その利用するアプリに関する情報を利用アプリ管理テーブルとしてアプリ情報記憶部１２３に記憶することにより、内部アプリ１３１（３）を利用するアプリとして登録する。そして、その内部アプリ１３１に対して、受け取った動作指示を送る（Ｓ１９６）。
【０１１２】
内部アプリ１３１（３）は、アプリ選択部１２２から動作指示を受け取ると、その動作指示の内容を処理し（Ｓ１９７）、対応する動作の実行要求を受け取った動作指示に対する応答（動作指示応答）としてアプリ選択部１２２へ送る（Ｓ１９８）。
アプリ選択部１２２は、内部アプリ１３１から動作指示応答を受け取ると、その動作指示応答を制御部１２４へ送る（Ｓ１９９）。
制御部１２４は、アプリ選択部１２２から動作指示応答を受け取ると、その動作指示応答（実行要求）によって要求された動作を実行する。
【０１１３】
その後、外部アプリ２３２は、それを搭載している外部サーバ２０ｂの電源ＯＮ等によって起動すると、自己の識別情報を含むアプリ利用可能通知（アプリ２利用可能通知）をＭＦＰ１０へ送信する（Ｓ２００）。
ＭＦＰ１０のアプリ選択部１２２は、通信処理部１２１により、外部アプリ２３２からアプリ２利用可能通知を受信すると、その通知に付加されているアプリ識別情報から外部アプリ２３２が利用可能と判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることによりアプリ管理テーブルを更新し、外部アプリ２３２（２）も利用可能なアプリとして登録する（Ｓ２０１）。
【０１１４】
その後、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると（Ｓ２０２）、アプリ情報記憶部１２３のアプリ管理テーブルの内容を参照して、利用可能なアプリの中から利用するアプリを選択する。ここでは、アプリの利用優先度が外部アプリ優先として予め設定されているものとする。よって、外部アプリ２３２（２）を利用するアプリとして選択し、その利用するアプリに関する情報を利用アプリ管理テーブルとしてアプリ情報記憶部１２３に記憶することにより、外部アプリ２３２（２）を利用するアプリとして登録する。そして、その外部アプリ２３２に対して、通信処理部１２１によって送信させる（Ｓ２０３，Ｓ２０４）。
【０１１５】
外部アプリ２３１は、ＭＦＰ１０から動作指示を受信すると、その動作指示の内容を処理し（Ｓ２０５）、対応する動作の実行要求（コマンド）を受信した動作指示に対する応答（動作指示応答）として対応するＭＦＰ１０へ送信する（Ｓ２０６）。
ＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１からの動作指示応答を通信処理部１２１によって受信すると、その動作指示応答を制御部１２４へ送る（Ｓ２０７，Ｓ２０８）。
【０１１６】
制御部１２４は、アプリ選択部１２２から動作指示応答を受け取ると、その動作指示応答によって要求された動作を実行する。
なお、この処理では、ＭＦＰ１０が自己の電源ＯＮ時に外部アプリと内部アプリへＭＦＰ起動通知を送るようにしているが、その通知を他のタイミング（例えば操作部１０７上のキー操作による指示）で行ってもよい。
【０１１７】
第４制御例によれば、第３制御例と同様の効果を得ることができる。
また、ＭＦＰ１０は、途中で通信可能な外部アプリが増えた場合、その外部アプリを利用可能なアプリとして追加登録するので、その追加登録した外部アプリの利用優先度が高い場合、その外部アプリを利用して動作できるため、利用者による使い勝手が向上する。
【０１１８】
〔第５制御例〕
次に、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとの間の通信シーケンスの第６例について、図２０を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３１，２３２の２台しか存在しないものとする。
図２０は、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第６例を示す図である。
ＭＦＰ１０の各部は、ステップＳ２１１〜Ｓ２１４の処理（図９によって説明したステップＳ１０１〜Ｓ１０４の処理と同じ）を行うことにより、ＭＦＰ起動通知を外部アプリ２３１，２３２へ送信する。
【０１１９】
外部アプリ２３１は、それを搭載している外部サーバ２０ａが起動していた場合には、ＭＦＰ１０からＭＦＰ起動通知を受信すると、その通知に対する応答として自己の識別情報を含む自己が備えた機能を示す情報（アプリ１機能情報通知）を対応するＭＦＰ１０へ送信する（Ｓ２１５）。
外部アプリ２３２も、それを搭載している外部サーバ２０ｂが起動していた場合には、ＭＦＰ１０からＭＦＰ起動通知を受信すると、その通知に対する応答として自己のアプリの識別情報を含む自己が備えている（実現可能な）機能を示す情報（アプリ２機能情報通知）を対応するＭＦＰ１０へ送信する（Ｓ２１７）。
【０１２０】
ＭＦＰ１０のアプリ選択部１２２は、通信処理部１２１により、外部アプリ２３１からアプリ１機能情報通知を、外部アプリ２３２からアプリ２機能情報通知をそれぞれ受信すると、それらの通知に付加されているアプリ識別情報から外部アプリ２３１，２３２が利用可能と判断すると共に、それらの外部アプリ２３１，２３２が備えている機能を判断し、アプリ情報記憶部１２３のアプリ管理テーブルに外部アプリ２３１，２３２がそれぞれ備えている機能を示す情報を記憶することにより、それらの機能を登録する（Ｓ２１６，Ｓ２１８）。
【０１２１】
その後、制御部１２４は、ユーザの管理者による操作部１０７上のキー操作によって管理者用のログインＩＤとパスワードが入力され、それらと一致するログインＩＤとパスワードが登録されていた場合に、管理者用の特殊モードとなり、管理者用機能の要求をアプリ選択部１２２へ送る（Ｓ２１９）。
アプリ選択部１２２は、制御部１２４から管理者用機能の要求を受け取ると、管理者用機能を備えているアプリ（ここでは外部アプリ２３１（１）とする）を利用するアプリとして選択し、その利用するアプリに関する情報を利用アプリ管理テーブルとしてアプリ情報記憶部１２３に記憶することにより、外部アプリ２３１（１）を利用するアプリとして登録する。そして、その外部アプリ２３１に対して、管理者用機能に対応する動作指示を通信処理部１２１によって送信させる（Ｓ２２０，Ｓ２２１）。
【０１２２】
外部アプリ２３１は、ＭＦＰ１０から管理者用機能に対応する動作指示を受信すると、その動作指示の内容を処理し（Ｓ２２２）、対応する動作の実行要求を受信した動作指示に対する応答（動作指示応答）として対応するＭＦＰ１０へ送信する（Ｓ２２３）。
ＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１からの動作指示応答を通信処理部１２１によって受信すると、その動作指示応答を制御部１２４へ送る（Ｓ２２４，Ｓ２２５）。
制御部１２４は、アプリ選択部１２２から動作指示応答を受け取ると、その動作指示応答（実行要求）によって要求された管理者用機能に対応する動作を実行する。
【０１２３】
また、制御部１２４は、一般ユーザによる操作部１０７上のキー操作によって一般ユーザ用のログインＩＤとパスワードが入力され、それらと一致するログインＩＤとパスワードが登録されていた場合に、一般ユーザ用の標準モードとなり、一般ユーザ用機能の要求をアプリ選択部１２２へ送る（Ｓ２２６）。
アプリ選択部１２２は、制御部１２４から一般ユーザ用機能の要求を受け取ると、一般ユーザ用機能を備えているアプリ（ここでは外部アプリ２３２（２）とする）を利用するアプリとして選択し、その利用するアプリに関する情報を利用アプリ管理テーブルとしてアプリ情報記憶部１２３に記憶することにより、外部アプリ２３２（２）を利用するアプリとして登録する。そして、その外部アプリ２３２に対して、一般ユーザ用機能に対応する動作指示を通信処理部１２１によって送信させる（Ｓ２２７，Ｓ２２８）。
【０１２４】
外部アプリ２３２は、ＭＦＰ１０から一般ユーザ用機能に対応する動作指示を受信すると、その動作指示の内容を処理し（Ｓ２２９）、対応する動作の実行要求を受信した動作指示に対する応答（動作指示応答）として対応するＭＦＰ１０へ送信する（Ｓ２３０）。
ＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１からの動作指示応答を通信処理部１２１によって受信すると、その動作指示応答を制御部１２４へ送る（Ｓ２３１，Ｓ２３２）。
【０１２５】
制御部１２４は、アプリ選択部１２２から動作指示応答を受け取ると、その動作指示応答（実行要求）によって要求された一般ユーザ用機能に対応する動作を実行する。
なお、この処理では、ＭＦＰ１０が自己の電源ＯＮ時に各外部アプリへＭＦＰ起動通知を送信するようにしているが、その通知を他のタイミング（例えば操作部１０７上のキー操作による指示）で行ってもよい。
【０１２６】
第５制御例によっても、上記の（１）と同様の効果を得ることができる。
また、ＭＦＰ１０が、通信可能な外部アプリを利用可能なアプリとして登録し、その中から管理者と一般ユーザ毎に利用する外部アプリの選択を切り替えるので、管理者と一般ユーザにとってそれぞれ最適な動作を行え、管理者と一般ユーザによる使い勝手が向上する。
【０１２７】
なお、第５制御例では、ＭＦＰ１０のアプリ選択部１２２が、図２１の（ａ）に示す管理者用機能（管理者機能）を備えた外部アプリおよび一般ユーザ機能（一般機能）をそれぞれ備えた各外部アプリからそれらの機能を示す情報を通知してもらい、それらの機能を登録するようにしたが、同図の（ｂ）に示す通常コピー機能，予約コピー機能，および割り込みコピー機能をそれぞれ備えた各外部アプリ、同図の（ｃ）に示すコピー機能，プリンタ機能，スキャナ機能，およびファクス（ＦＡＸ）機能をそれぞれ備えた各外部アプリ、あるいは同図の（ｄ）に示す高セキュリティ対応機能，標準セキュリティ対応機能，低セキュリティ対応機能をそれぞれ備えた各外部アプリにそれらの機能を示す情報を通知してもらい、それらの機能を登録することもできる。
【０１２８】
〔第６制御例〕
次に、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとの間の通信シーケンスの第７例（ＭＦＰが最も応答パフォーマンスが優れているアプリを利用して動作を行う例）について、図２３を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３１，２３２の２台しか存在しないものとする。
図２３は、ＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第７例を示す図である。この場合、ＭＦＰ１０が、図２２に示すように、コントローラ１１にアプリ応答時間計測部１２５としての機能を備えているものとする。このアプリ応答時間計測部１２５は、外部アプリ２３１，２３２を含む各外部アプリへＭＦＰ起動通知を送信してからの時間計測を行なうものである。
【０１２９】
ＭＦＰ１０のアプリ選択部１２２は、起動（電源ＯＮ）時に、予め登録されている外部アプリ２３１，２３２（図２２のアプリ情報記憶部１２３のアプリ管理テーブルに記憶されている情報によって示されたもの）に対して起動通知（ＭＦＰ起動通知）を発行する。つまり、アプリ応答時間計測部１２５経由で通信処理部１２１により、ＭＦＰ起動通知を外部アプリ２３１（１），２３２（２）へ順次送信させる（Ｓ２５１〜Ｓ２５６）。外部アプリ２３１，２３２に対するＭＦＰ起動通知にはそれぞれ、その外部アプリ２３１，２３２を識別するアプリ識別番号を付加するが、それはアプリ搭載場所の情報と共に図２２のアプリ情報記憶部１２３から取得する。
【０１３０】
アプリ応答時間計測部１２５は、アプリ選択部１２２から外部アプリ２３１（１）に対するＭＦＰ起動通知を受け取った時に応答時間Ｔａの計測を、外部アプリ２３２（２）に対するＭＦＰ起動通知を受け取った時に応答時間Ｔｂの計測をそれぞれ開始する。
外部アプリ２３１は、それを搭載している外部サーバ２０ａが起動していた場合には、ＭＦＰ１０からＭＦＰ起動通知を受信すると、その通知に対する応答として自己の識別情報を含むアプリ利用可能通知（アプリ１利用可能通知）を対応するＭＦＰ１０へ送信する（Ｓ２５７）。
外部アプリ２３２も、それを搭載している外部サーバ２０ｂが起動していた場合には、ＭＦＰ１０からＭＦＰ起動通知を受信すると、その通知に対する応答として自己のアプリの識別情報を含むアプリ利用可能通知（アプリ２利用可能通知）を対応するＭＦＰ１０へ送信する（Ｓ２６０）。
【０１３１】
ＭＦＰ１０のアプリ選択部１２２は、通信処理部１２１により、外部アプリ２３１からアプリ１利用可能通知を、外部アプリ２３２からアプリ２利用可能通知をそれぞれ受信し、アプリ応答時間計測部１２５経由で受け取ると、それらの通知に付加されているアプリ識別情報から外部アプリ２３１，２３２が利用可能かどうかを判断し、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、外部アプリ２３１，２３２を利用可能なアプリとして登録する（Ｓ２５７〜Ｓ２６２）。
アプリ応答時間計測部１２５は、外部アプリ２３１（１）からのアプリ１利用可能通知を受け取った時に応答時間Ｔａの計測を、外部アプリ２３２（２）からのアプリ２利用可能通知を受け取った時に応答時間Ｔｂの計測をそれぞれ停止する。
【０１３２】
その後、アプリ選択部１２２は、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると（Ｓ２６３）、アプリ情報記憶部１２３のアプリ管理テーブルの内容およびアプリ応答時間計測部１２５によって計測された応答時間Ｔａ，Ｔｂを参照して、利用可能なアプリの中から利用するアプリを選択する。例えば、ＴｂとＴａの関係がＴｂ＜Ｔａだった場合には、外部アプリ２３１（１）の方が応答パフォーマンスが優れていると判断して、外部アプリ２３１（１）を利用するアプリとして優先的に選択する。
【０１３３】
なお、図２２で破線で示す内部アプリ１３１又は１３２が搭載されている場合には、応答時間を計測するまでもなく、内部アプリを利用した方が高パフォーマンスが保証されるので、内部アプリを利用するアプリとして優先的に選択することもできる。また、機能選択と組み合わせることも可能であり、同一機能を備えた複数のアプリが存在する場合、最も応答パフォーマンスが優れている（応答時間が短い）アプリを利用するアプリとして選択することもできる。
【０１３４】
アプリ選択部１２２は、外部アプリ２３１（１）を利用するアプリとして選択した後、その利用するアプリに関する情報を利用アプリ管理テーブルとしてアプリ情報記憶部１２３に記憶することにより、外部アプリ２３１（１）を利用するアプリとして登録する。そして、その外部アプリ２３１に対して、受け取った動作指示をアプリ応答時間計測部１２５経由で通信処理部１２１によって送信させる（Ｓ２６４〜Ｓ２６６）。
【０１３５】
外部アプリ２３１は、ＭＦＰ１０から動作指示を受信すると、その動作指示の内容を処理し（Ｓ２６７）、対応する動作の実行要求（コマンド）を受信した動作指示に対する応答（動作指示応答）として対応するＭＦＰ１０へ送信する（Ｓ２６８）。
ＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１からの動作指示応答（実行要求）を通信処理部１２１によって受信し、アプリ応答時間計測部１２５経由で受け取ると、その動作指示応答を制御部１２４へ送る（Ｓ２６９〜Ｓ２７１）。
【０１３６】
制御部１２４は、アプリ選択部１２２から動作指示応答を受け取ると、その動作指示応答（実行要求）によって要求された動作（コマンド処理）を実行する。
なお、この処理では、ＭＦＰが自己の電源ＯＮ時に各外部アプリへＭＦＰ起動通知を送信するようにしているが、その通知を他のタイミング（例えば操作部上のキー操作による指示）で行ってもよい。
【０１３７】
また、アプリ応答時間計測部による時間計測（外部アプリの応答時間）を、電源ＯＮ時（ＭＦＰ起動通知時）だけでなく、ＭＦＰのジョブ実行停止時に、一定時間毎に行ってもよい（ジョブ実行時は行わない）。あるいは、新たな外部アプリが追加されたタイミングで行ってもよい。
さらに、第１実施例における各ＭＦＰ１０が、ネットワークだけでなく、ＵＳＢ・Ｉ／ＦやＩＥＥＥ１３９４・Ｉ／Ｆ等の他のインタフェースにより外部アプリと通信可能に接続してその外部アプリを利用することもできる。
【０１３８】
〔第２実施例〕
次に、この発明による電子装置システムの第２実施例である画像形成システムについて説明する。
図２４はその画像形成システムのネットワーク接続例を示す概念図であり、図１と同じ部分には同一符号を付している。
【０１３９】
この画像形成システムは、通信機能を有する電子装置として複数のＭＦＰ１０（１０ａ，１０ｂ，・・・）を、外部装置としてアプリ搭載用サーバである複数台の外部サーバ２０（２０ａ，２０ｂ，・・・）およびアプリ管理サーバ（アプリ管理用サーバ）３０をそれぞれ備え、それらをＬＡＮ等のネットワーク１によって通信可能に接続できるものである。なお、例えば、ＭＦＰ１０と外部サーバ２０は、ネットワーク１によって１対多の関係で通信することができるが、ＭＦＰ１０と外部サーバ２０とをＵＳＢやＩＥＥＥ１３９４等の通信回線によって接続することにより、ＭＦＰ１０と外部サーバ２０が１対１の関係で通信することも可能である。
【０１４０】
なお、ＭＦＰ１０，外部サーバ２０，アプリ管理サーバ３０のハードウェア構成およびＭＦＰ１０の操作部上の操作画面は、図２〜図５，図７によって説明したものと同様なので、それらの図示および説明は省略する。また、アプリ管理サーバ３０のハードウェア構成は、外部サーバ２０から操作部，ＵＳＢ・Ｉ／Ｆ，およびＩＥＥＥ１３９４・Ｉ／Ｆを削除したものと同様なので、その図示および説明も省略する。
図２５は図２４のＭＦＰ１０の主要な機能構成例を示すブロック図であり、アプリ情報記憶部がない以外は図６と同様なのでそれらの説明を省略する。
【０１４１】
図２６は、図２４のアプリ管理サーバ３０の主要な機能構成例を示すブロック図である。
アプリ管理サーバ３０は、通信処理部３０１，アプリ情報記憶部３０２，および制御部３０３としての機能を備えている。
通信処理部３０１は、ネットワーク１上の複数台の外部サーバ２０（２０ａ，２０ｂ，・・・）にそれぞれ搭載されているアプリである外部アプリ２３１，２３２およびＭＦＰ１０と通信を行ったり、直接接続された外部装置と通信を行う通信手段である。
【０１４２】
アプリ情報記憶部３０２は、利用可能な外部アプリの存在場所（ＩＰアドレス）、つまり利用可能な外部アプリが搭載されている外部サーバ２０の設置場所、利用可能な外部アプリの種類、利用可能な外部アプリが実行可能な動作（機能）を示す情報など、外部アプリを管理するための各種情報をアプリ管理テーブルとして記憶する。それによって、各ＭＦＰ１０で利用可能な外部アプリを登録できる。このアプリ情報記憶部３０２は、ＳＤＲＡＭ，ＮＶＲＡＭ，又はＨＤＤ上に存在し、情報が変わるたびに更新される。よって、このアプリ情報記憶部３０２が、アプリケーション管理手段としての機能を果たす。
【０１４３】
なお、アプリ情報記憶部３０２は、ＭＦＰ１０にもアプリ（内部アプリ）が搭載されている場合には、その内部アプリの存在場所（ＩＰアドレス）、つまり内部アプリが搭載されているＭＦＰ１０の設置場所、内部アプリの種類、内部アプリが実行可能な動作を示す情報など、内部アプリを管理するための各種情報もアプリ管理テーブルとして記憶することができる。
【０１４４】
制御部３０３は、通信処理部３０１およびアプリ情報記憶部３０２を含む各部を統括的に制御するものであり、制御手段としての機能を果たす。
よって、制御部３０３および通信処理部３０１が、アプリケーション情報送信手段としての機能を果たす。
【０１４５】
次に、上述したように構成した第２実施例の画像形成システムにおけるこの発明に係わる制御（処理）について、図２７〜図２９を参照して具体的に説明する。
〔第７制御例〕
まず、ＭＦＰ１０の電源ＯＮ時と動作指示時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとアプリ管理サーバ３０との間の通信シーケンスの第１例（基本）について、図２７を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３１，２３２の２台しか存在しないものとする。
図２７は、ＭＦＰ１０の電源オン時と動作指示時のそのＭＦＰ１０と外部アプリとアプリ管理サーバ３０との間の通信シーケンスの第１例を示す図である。
【０１４６】
外部アプリ２３１（１）は、それを搭載している外部サーバ２０ａの電源ＯＮによって起動すると、自己の識別情報と種別情報を含むアプリ利用可能通知（アプリ１利用可能通知）をアプリ管理サーバ３０へ送信する（Ｓ３０１）。
外部アプリ２３２も、それを搭載している外部サーバ２０ｂの電源ＯＮ等によって起動すると、自己の識別情報と種別情報を含むアプリ利用可能通知（アプリ２利用可能通知）をアプリ管理サーバ３０へ送信する（Ｓ３０３）。
【０１４７】
アプリ管理サーバ３０の制御部３０３は、通信処理部３０１により、外部アプリ２３１（１）からアプリ１利用可能通知を受信すると、その通知に付加されているアプリ識別情報と種別情報から外部アプリ２３１が利用可能と判断すると共に、外部アプリ２３１の種類を判断し、外部アプリ２３１の名称（アプリ名），種類，ＩＰアドレスを対応付けてアプリ情報記憶部３０２のアプリ管理テーブルに記憶してそのアプリ管理テーブルを更新することにより、外部アプリ２３１を利用可能なアプリとして登録する（Ｓ３０２）。
【０１４８】
また、通信処理部３０１により、外部アプリ２３２（２）からアプリ２利用可能通知を受信すると、その通知に付加されているアプリ識別情報と種別情報から外部アプリ２３２が利用可能と判断すると共に、外部アプリ２３２の種類を判断し、外部アプリ２３２の名称，種類，ＩＰアドレスを対応付けてアプリ情報記憶部３０２のアプリ管理テーブルに記憶してそのアプリ管理テーブルを更新することにより、外部アプリ２３２を利用可能なアプリとして登録する（Ｓ３０４）。
【０１４９】
ここで、アプリ管理サーバ３０のアプリ情報記憶部３０２に記憶されているアプリ管理テーブル，ＭＦＰ管理テーブル，およびＭＦＰ−アプリ関連付けテーブルについて、表３〜表５を参照して説明する。
アプリ管理テーブルは、表３に示すように、ネットワーク１上のアプリ（外部アプリ２３１，２３２，・・・）毎にアプリ名，アプリが存在するＩＰアドレス（アプリ場所情報），アプリの種類を示す情報を記憶している。この例では、４つの外部アプリが登録されている。
【０１５０】
なお、アプリ−１（コピー機能，プリンタ機能，スキャナ機能を備えている）は第１の外部アプリ２３１を、アプリ−２（コピー機能，プリンタ機能を備えている）は第２の外部アプリ２３２を、アプリ−３（コピー機能，プリンタ機能，スキャナ機能を備えている）は第３の外部アプリを、アプリ−４（スキャナ機能を備えている）は第４の外部アプリをそれぞれ示しているものとする。それらの各アプリがそれぞれ、図２１によって説明したような複数種の機能を備えるようにしてもよい。
【０１５１】
ＭＦＰ管理テーブルは、表４に示すように、ネットワーク１上のＭＦＰ１０毎にＭＦＰ名，ＭＦＰのＩＰアドレス（ＭＦＰ場所情報）を記憶している。この例では、４台のＭＦＰ１０が登録されている。
表５は、ＭＦＰ−アプリ関連付けテーブルであり、各ＭＦＰ１０が現時点で利用可能な外部アプリを示している。
なお、各外部アプリはそれぞれ複数の機能を備えていてもよい。
【０１５２】
【表３】
2006114019.tif 000005
【０１５３】
【表４】
2006114019.tif 000006
【０１５４】
【表５】
2006114019.tif 000007
【０１５５】
図２７の説明に戻る。
ＭＦＰ１０のアプリ選択部１２２は、電源ＯＮ（電源投入）時に、アプリ管理サーバ３０に利用可能なアプリを問い合わせるべく、その検索要求（利用可能アプリ検索要求）を通信処理部１２１によってアプリ管理サーバ３０へ送信させる（Ｓ３０５，Ｓ３０６）。
アプリ管理サーバ３０の制御部３０３は、通信処理部３０１により、ＭＦＰ１０からの利用可能アプリ検索要求を受信すると、アプリ情報記憶部３０２のアプリ管理テーブルを参照し、そのアプリ管理テーブルから利用可能な外部アプリである外部アプリ２３１，２３２の種類とその各外部アプリ２３１，２３２が存在するアプリ場所情報（ＩＰアドレス）を読み込み（Ｓ３０７）、それを受信した利用可能アプリ検索要求に対する応答（検索結果応答）として対応するＭＦＰ１０へ送信する（Ｓ３０８）。
【０１５６】
ＭＦＰ１０のアプリ選択部１２２は、アプリ管理サーバ３０からの検索結果応答を通信処理部１２１によって受信すると、その検索結果応答に基づいて利用可能な外部アプリである外部アプリ２３１，２３２の種類をその搭載（存在）場所を示すＩＰアドレスと共に、例えば表１に示したようにテーブルとして記憶することにより、利用可能な外部アプリ２３１，２３２を登録する（Ｓ３０９，Ｓ３１０）。
【０１５７】
その後、操作部１０７から動作指示が入力され、制御部１２４を介して受け取ると（Ｓ３１１）、先に登録したテーブルの内容を参照して、処理可能なアプリの中から利用するアプリ（ここでは外部アプリ２３１（１）とする）を選択し、その利用するアプリに関する情報をテーブルとして記憶することにより、外部アプリ２３１（１）を利用するアプリとして登録する。そして、その外部アプリ２３１に対して、受け取った動作指示を通信処理部１２１によって送信させる（Ｓ３１２，Ｓ３１３）。
【０１５８】
以後のステップＳ３１４〜Ｓ３１７の処理は、図９によって説明したステップＳ１１２〜Ｓ１１６の処理とほとんど同様なので、説明を省略する。
なお、この処理では、ＭＦＰ１０の電源がＯＮ状態で外部アプリが起動した際に、その外部アプリが自己のアプリの利用可能通知をアプリ管理サーバ３０へ送信するようにしたが、アプリ管理サーバ３０が、自己の電源ＯＮ後、アプリが搭載されているネットワーク１上のＭＦＰ１０および外部サーバ２０を定期的に巡回してアプリが利用可能か否かを確認し、その確認結果に応じてアプリ情報記憶部３０２に記憶されているアプリ管理テーブルを更新することもできる。
【０１５９】
次に、ＭＦＰ１０の電源ＯＮ時と動作指示時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとアプリ管理サーバ３０との間の通信シーケンスの第２例について、図２８を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３１，２３２の２台しか存在しないものとする。
図２８は、ＭＦＰ１０の電源ＯＮ時と動作指示時のそのＭＦＰ１０と外部アプリとアプリ管理サーバ３０との間の通信シーケンスの第２例を示す図である。
【０１６０】
ＭＦＰ１０のアプリ選択部１２２は、電源ＯＮ時に、アプリ管理サーバ３０に利用可能なアプリを問い合わせるべく、その検索要求（利用可能アプリ検索要求）を通信処理部１２１によってアプリ管理サーバ３０へ送信させる（Ｓ３２１，Ｓ３２２）。
アプリ管理サーバ３０の制御部３０３は、通信処理部３０１により、ＭＦＰ１０からの利用可能アプリ検索要求を受信すると、アプリ情報記憶部３０２のアプリ管理テーブルを参照するが、利用可能な外部アプリが登録されていないため、利用可能な外部アプリがない旨を受信した利用可能アプリ検索要求に対する応答（検索結果応答）として対応するＭＦＰ１０へ送信する（Ｓ３２３）。
【０１６１】
ＭＦＰ１０のアプリ選択部１２２は、アプリ管理サーバ３０からアプリ管理サーバ３０からの検索結果応答を通信処理部１２１によって受信すると、その検索結果応答から利用可能な外部アプリがないことを判断し、利用可能な外部アプリの登録は行わない（Ｓ３２４）。
よって、その後、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取っても（Ｓ３２５）、利用可能なアプリが登録されていないため、受け取った動作指示に対する応答としてエラー応答を制御部１２４へ送る（Ｓ３２６）。
制御部１２４は、そのエラー応答を受け取ると、操作部１０７から入力された動作指示に対応する機能を使えない旨をユーザに知らせるためのエラー画面を図３に示した操作部１０７上に表示する。
【０１６２】
なお、この第７制御例でも、ＭＦＰ１０のアプリ選択部１２２が、図１３〜図１６によって説明したいずれかの処理（利用可能なアプリを決定するための処理）を行うことは可能である。
但し、図１３，図１４によって説明した処理を行う場合には、アプリ管理サーバ３０からの検索結果応答を通信処理部１２１によって受信して利用可能な外部アプリを登録した後、ユーザによる操作部１０７上のキー操作によってアプリ選択画面表示要求が入力された時に、利用可能なアプリの種類情報（種別情報）の取得要求（利用可能アプリ種類情報取得要求）をアプリ選択部１２２へ送る。
【０１６３】
図１５によって説明した処理を行う場合には、アプリ管理サーバ３０からの検索結果応答を通信処理部１２１によって受信して利用可能な外部アプリを登録した後、その登録内容に基づいて、図１５の（ｂ）〜（ｅ）に示すパターン１〜４のいずれかのアプリ選択画面を操作部１０７上に表示させる。
図１６によって説明した処理を行う場合には、アプリ管理サーバ３０からの検索結果応答を通信処理部１２１によって受信して利用可能な外部アプリを登録した後、その登録内容に基づいて、図１６の（ｂ）〜（ｅ）に示すパターン１〜４のいずれかのアプリ管理画面を操作部１０７上に表示させる。
【０１６４】
なお、各ＭＦＰ１０にアプリ応答時間計測部（図２２のアプリ応答時間計測部１２５と同じ）を設け、アプリ管理サーバ３０が、各ＭＦＰ１０にアプリ応答時間の取得要求を送信することによって以下の処理を行わせ、その要求に対する応答としてアプリ応答時間の取得を取得することにより、各外部アプリの応答パフォーマンスを知ることができる。
各ＭＦＰ１０のアプリ選択部１２２はそれぞれ、アプリ管理サーバ３０から通信処理部１２１によってアプリ応答時間の取得要求を受信すると、通信処理部１２１によって何らかの通知を外部アプリへ送信してからその通知に対する応答を通信処理部１２１によって受信するまでの時間計測を各アプリ毎に行ない、その各アプリ毎の計測時間（各アプリに対する応答時間）をアプリ応答時間の取得要求に対する応答としてアプリ管理サーバ３０へ送信する。
【０１６５】
第７制御例によっても、上記の（１）（２）に示したような効果を得ることができる。
また、アプリ管理サーバ３０が、ネットワーク上の利用可能な全ての外部アプリを登録するので、その各外部アプリを一括管理できる。そのため、ネットワークの障害に対応しやすくなる。また、回避策も１箇所に集中することができる。
また、ＭＦＰ１０が、利用可能なアプリの検索要求をアプリ管理サーバ３０へ送信し、その検索要求を受信したアプリ管理サーバ３０が、その検索要求に対する応答（検索結果応答）をアプリ情報記憶部３０２内のアプリ管理テーブルの内容に基づいて対応するＭＦＰ１０へ送信し、検索結果応答を受信したＭＦＰ１０が、その応答の内容（利用可能なアプリ）を登録し、その中から利用する外部アプリを選択するので、いずれかの外部アプリが格納されたサーバが何らかの原因でダウンした時でも、他の外部アプリを利用して動作することができ、ＭＦＰが使用不可になることを回避できる。
【０１６６】
〔第８制御例〕
次に、ＭＦＰ１０でのＭＦＰ登録指示時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとの間の通信シーケンスの第１例について、図２９を参照して説明する。
図２９は、ＭＦＰ１０でのＭＦＰ登録指示時のそのＭＦＰ１０とアプリ管理サーバ３０との間の通信シーケンスの一例を示す図である。
【０１６７】
アプリ管理サーバ３０の制御部３０３は、図２７によって説明した処理と同様に、通信処理部３０１により、ネットワーク１上の通信可能な外部アプリ２３１（１）を含む全ての外部アプリから対応するアプリ利用可能通知を順次受信する度に、その通知に付加されているアプリ識別情報と種別情報から利用可能な外部アプリとその種類を判別し、その外部アプリの名称（アプリ名），種類，ＩＰアドレスを対応付けてアプリ情報記憶部３０２のアプリ管理テーブルに記憶してそのアプリ管理テーブルを更新することにより、ネットワーク１上の利用可能な全ての外部アプリを登録する。このとき、所定の条件に基づいて、例えば以下の（ａ）〜（ｅ）のいずれかに示すように各ＭＦＰ１０に対して利用可能な外部アプリの割り付け等を行う。つまり、各ＭＦＰ１０がそれぞれ利用可能な外部アプリを決定（選択）する。
【０１６８】
（ａ）正規の契約を結んだＭＦＰ１０に対して利用可能なアプリを対応付ける。
（ｂ）負荷を分散するため、各外部アプリの利用頻度に応じて利用するアプリを割り当てる。例えば、利用していない外部アプリを利用可能なアプリとして優先的に割り当てる。
【０１６９】
（ｃ）各ＭＦＰ１０に対して最も応答パフォーマンスが良い外部アプリを利用可能なアプリとして優先的に割り当てる。この場合、各ＭＦＰ１０にアプリ応答時間計測部を設け、アプリ管理サーバ３０が、各ＭＦＰ１０にアプリ応答時間の取得要求を送信し、その要求に対する応答としてアプリ応答時間を取得することにより、各外部アプリの応答パフォーマンスを知ることができる。各ＭＦＰ１０側の処理については、第７制御例で説明した通りである。
【０１７０】
（ｄ）ＭＦＰ１０の種類（例えば高速機，低速機）に応じて、利用可能なアプリを割り当てる。例えば、高速機のＭＦＰ１０に対しては最も高機能のアプリ（高速動作アプリ）を、低速機のＭＦＰ１０に対しては最も低機能のアプリ（低速動作アプリ）を利用可能なアプリとして割り当てる。
（ｅ）ＭＦＰ１０の搭載メモリ（ＭＦＰの機種毎に決まっている）に応じて、利用可能なアプリを割り当てる。
なお、各外部アプリがそれぞれ複数の機能を備えていてもよい。
【０１７１】
一方、いずれかのＭＦＰ１０の制御部１２４は、操作部１０７からＭＦＰ登録指示が入力されると、例えば図２９に示すように、そのＭＦＰ登録指示を通信処理部１２１によってアプリ管理サーバ３０へ送信させる（Ｓ３３１，Ｓ３３２）。
アプリ管理サーバ３０のの制御部３０３は、ネットワーク１上のいずれかのＭＦＰ１０からのＭＦＰ登録指示を通信処理部３０１によって受信すると、そのＭＦＰ１０が利用すべきアプリを指示すべく、アプリ情報記憶部３０２のアプリ管理テーブルから対応するＭＦＰ１０が利用するアプリ（例えば外部アプリ２３１）の種類とそのアプリが存在するアプリ場所情報（ＩＰアドレス）を読み込み（Ｓ３３３）、それを受信したＭＦＰ登録指示に対する応答（利用アプリ指示）として対応するＭＦＰ１０へ送信する（Ｓ３３４）。
【０１７２】
ＭＦＰ１０のアプリ選択部１２２は、アプリ管理サーバ３０からの利用アプリ指示を通信処理部１２１によって受信すると、その利用アプリ指示に基づいて利用する外部アプリの種類をその搭載場所を示すＩＰアドレスと共に記憶することにより、利用する外部アプリを登録する（Ｓ３３５，Ｓ３３６）。
その後、図示は省略するが、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると、その動作指示を先に登録した外部アプリ（利用するアプリ）へ通信処理部１２１によって送信させる。
【０１７３】
外部アプリ２３１は、いずれかのＭＦＰ１０から動作指示を受信すると、その動作指示の内容を処理し、対応する動作の実行要求を受信した動作指示に対する応答（動作指示応答）として対応するＭＦＰ１０へ送信する。
そのＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１からの動作指示応答を通信処理部１２１によって受信すると、その動作指示応答を制御部１２４へ送る。
制御部１２４は、アプリ選択部１２２から受け取った動作指示応答によって要求された動作を実行する。
【０１７４】
第８制御例によっても、上記の（１）（２）に示したような効果を得ることができる。
また、アプリ管理サーバ３０が、ネットワーク上の利用可能な全ての外部アプリを登録するので、その各外部アプリを一括管理できる。そのため、ネットワークの障害に対応しやすくなる。また、回避策も１箇所に集中することができる。
また、アプリ管理サーバ３０が、利用可能な外部アプリの中からＭＦＰ１０が利用するアプリを選択し、その選択したアプリの情報をＭＦＰ１０へ送信し、その情報を受信したＭＦＰ１０が、その情報に基づいて利用するアプリを登録するので、いずれかの外部アプリが格納されたサーバが何らかの原因でダウンした時でも、他の外部アプリを利用して動作することができ、ＭＦＰが使用不可になることを回避できる。
【０１７５】
なお、第２実施例でも、ＭＦＰ１０のコントローラ１１に図２５に破線で示す内部アプリ１３１又は１３２を搭載している場合、その内部アプリを利用するアプリとして選択し、その内部アプリへ動作指示を送信するなど、外部アプリに対する処理と同様の処理を行うこともできる。
【０１７６】
〔第３実施例〕
次に、この発明による電子装置システムの第３実施例である画像形成システムについて説明する。なお、その画像形成システムのネットワーク接続例は、図１に示したものと同様とする。
まず、ＭＦＰ１０と外部サーバ２０の主要な機能構成例について、図３０を用いて具体的に説明する。
図３０は、図１のＭＦＰ１０および外部サーバ２０ａの主要な機能構成の更に他の例を示すブロック図であり、図６および図８と同じ部分には同一符号を付してそれらの説明を一部省略する。
【０１７７】
このＭＦＰ１０のコントローラ１１は、通信処理部１２１，アプリ選択部１２２，アプリ情報記憶部１２３，制御部１２４，および認証処理部１２７としての機能を備えている。これらの機能は、図２のＣＰＵ１０１がＲＯＭ１０４内のプログラムに従って動作し、必要に応じて図２のＳＤＲＡＭ１０３，ＮＶＲＡＭ１０５，ＨＤＤ１０６，ＭＡＣ・Ｉ／Ｆ１１１，ＵＳＢ・Ｉ／Ｆ１０９，ＩＥＥＥ１３９４・Ｉ／Ｆ１１０を選択的に使用することにより実現できるものである。
アプリ選択部１２２は、図６によって説明した処理の他に、認証処理部１２７との間で認証情報の送受等を行う。
認証処理部１２７は、後述する認証処理を行う。
【０１７８】
外部サーバ２０ａは、アプリ通信処理部２４１，アプリ制御部２４２，装置情報記憶部２４３，およびアプリ認証部２４４としての機能を備えている。これらの機能は、図７のＣＰＵ２０１がＲＯＭ１０４に記憶されている外部アプリ２３１に従って動作し、必要に応じてＭＡＣ・Ｉ／Ｆ２１１，ＵＳＢ・Ｉ／Ｆ２０９，ＩＥＥＥ１３９４・Ｉ／Ｆ２１０を使用することにより実現できるものである。
アプリ認証部２４４は、後述する認証処理を行う。
なお、他の外部サーバ２０ｂの主要な機能構成も、外部サーバ２０ａと略同様である。
【０１７９】
次に、上述したように構成した第３実施例の画像形成システムにおけるこの発明に係わる制御、つまりＭＦＰの起動時のそのＭＦＰ１０と外部サーバ２０内のアプリである外部アプリとの間の通信シーケンスの第１例について、図３１および図３２を参照して説明する。なお、説明の都合上、外部アプリは外部アプリ２３１，２３２の２台しか存在しないものとする。
図３１は、図３０のＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第１例を示す図である。
図３２、図３０のＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第２例を示す図である。
【０１８０】
ＭＦＰ１０のアプリ選択部１２２は、起動（電源ＯＮ）時に、予め登録されている外部アプリ２３１，２３２（図３０のアプリ情報記憶部１２３のアプリ管理テーブルに記憶されている情報によって示されたもの）に対して起動通知（ＭＦＰ起動通知）を発行する。つまり、通信処理部１２１により、ＭＦＰ起動通知を外部アプリ２３１（１），２３２（２）へ順次送信させる（Ｓ１０１〜Ｓ１０４）。外部アプリ２３１，２３２に対するＭＦＰ起動通知にはそれぞれ、その外部アプリ２３１，２３２を識別するアプリ識別番号を付加するが、それはアプリ搭載場所の情報と共に図３０のアプリ情報記憶部１２３から取得する。
【０１８１】
外部アプリ２３１は、それを搭載している外部サーバ２０ａが起動していた場合には、いずれかのＭＦＰ１０からＭＦＰ起動通知を受信すると、その通知に対する応答として自己の識別情報および特定の認証情報（暗号に使う鍵情報など）を含むアプリ利用可能通知（アプリ１利用可能通知）を対応するＭＦＰ１０（ＭＦＰ起動通知を送信したＭＦＰ１０）へ送信する（Ｓ１０５）。
外部アプリ２３２も、それを搭載している外部サーバ２０ｂが起動していた場合には、ＭＦＰ１０からＭＦＰ起動通知を受信すると、その通知に対する応答として自己のアプリの識別情報および特定の認証情報を含むアプリ利用可能通知（アプリ２利用可能通知）をＭＦＰ１０へ送信する（Ｓ１０７）。
【０１８２】
ＭＦＰ１０のアプリ選択部１２２は、通信処理部１２１により、外部アプリ２３１からアプリ１利用可能通知を、外部アプリ２３２からアプリ２利用可能通知をそれぞれ受信すると、それらの通知に付加されているアプリ識別情報から外部アプリ２３１，２３２が利用可能かどうかを判断できる。この処理例では、外部アプリ２３１，２３２のいずれも利用可能であるため、アプリ情報記憶部１２３のアプリ管理テーブル内の対応するアプリ利用の可／不可を「可」とすることにより、外部アプリ２３１，２３２を利用可能なアプリとして登録する（Ｓ１０６，Ｓ１０８）。このとき、受信したアプリ１利用可能通知およびアプリ２利用可能通知にそれぞれ付加されている認証情報を合わせて記憶するため、それらの認証情報を対応する外部アプリ２３１，２３２の識別情報と共に認証処理部１２７へ送る（Ｓ４０１，Ｓ４０２）。
認証処理部１２７は、アプリ選択部１２２から各認証情報を対応する外部アプリ２３１，２３２の識別情報と共に受け取ると、その各認証情報とそれぞれに対応する外部アプリ２３１，２３２の識別情報とを関連付けて記憶する。
【０１８３】
その後、アプリ選択部１２２は、操作部１０７から動作指示が入力され、それを制御部１２４を介して受け取ると（Ｓ４１１）、アプリ情報記憶部１２３のアプリ管理テーブルの内容を参照して、利用可能なアプリの中から利用（使用）するアプリ（ここでは外部アプリ２３１（１）とする）を選択（決定）し、その利用するアプリに関する情報を利用アプリ管理テーブルとしてアプリ情報記憶部１２３に記憶することにより、外部アプリ２３１（１）を利用するアプリとして登録する。続いて、その外部アプリ２３１に対応する認証情報の取得要求をその外部アプリ２３１の識別情報と共に認証処理部１２７へ送る（Ｓ４１２）。
【０１８４】
認証処理部１２７は、アプリ選択部１２２から認証情報の取得要求を外部アプリ２３１の識別情報と共に受け取ると、その識別情報と関連付けて記憶してある認証情報をアプリ選択部１２２へ送る。
アプリ選択部１２２は、認証処理部１２７から認証情報を受け取ると、先に受け取った動作指示にその認証情報を付加して通信処理部１２１により送信させる（Ｓ４１４，Ｓ４１５）。
【０１８５】
外部アプリ２３１は、いずれかのＭＦＰ１０から動作指示を受信すると、その動作指示の正当性を確認するための認証処理を行う。つまり、アプリ認証部２４４が、その動作指示に付加されている認証情報を解析して、その動作指示の送信元のＭＦＰ１０に予め送った認証情報と一致するか否かを判断する。そして、認証が成功した場合、つまり受信した動作指示に付加されている認証情報とその動作指示の送信元のＭＦＰ１０に予め送った認証情報とが一致した場合に、その動作指示の内容を処理し（Ｓ４１６）、対応する動作の実行要求（コマンド）を受信した動作指示に対する応答（動作指示応答）として対応するＭＦＰ１０（動作指示を送信したＭＦＰ１０）へ送信する（Ｓ４１７）。
【０１８６】
ＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１からの動作指示応答（実行要求）を通信処理部１２１によって受信すると、その動作指示応答を制御部１２４へ送る（Ｓ４１８，Ｓ４１９）。
制御部１２４は、アプリ選択部１２２から動作指示応答を受け取ると、その動作指示応答（実行要求）によって要求された動作（コマンド処理）を実行する。
【０１８７】
一方、外部アプリ２３１は、認証が失敗した場合、つまり受信した動作指示に付加されている認証情報とその動作指示の送信元のＭＦＰ１０に予め送った認証情報とが一致しなかった場合には、その動作指示の内容の処理を拒否し（Ｓ４１６′）、動作不可の応答（動作不可応答）を対応するＭＦＰ１０（動作指示を送信したＭＦＰ１０）へ送信する（Ｓ４１７′）。
ＭＦＰ１０のアプリ選択部１２２は、外部アプリ２３１からの動作不可応答を通信処理部１２１によって受信すると、その動作不可応答を制御部１２４へ送る（Ｓ４１８′，Ｓ４１９′）。
【０１８８】
なお、上述の処理では、ＭＦＰ１０が自己の電源ＯＮ（電源投入）時に各外部アプリへＭＦＰ起動通知を送信するようにしているが、その通知を他のタイミング（例えば操作部１０７上のキー操作による指示）で行ってもよい。あるいは、ＭＦＰ１０の電源がＯＮ状態で外部アプリが起動した際に、その外部アプリがＭＦＰ１０を特定し、そのＭＦＰ１０へ自己のアプリの利用可能通知を送信することもできる。
また、ＭＦＰ１０および外部アプリによる上述した認証処理は、図３１および図３２によって説明したＭＦＰ１０と外部アプリ２３１，２３２との間の通信時以外の通信時にも勿論行うことができる。
この第３実施例では、第１実施例と同様の効果を得ることができる。また、ＭＦＰ１０と外部アプリとが互いに通信する際に認証処理を行うため、セキュリティの向上につながる。
【０１８９】
以上、この発明を通信機能を有するＭＦＰ（デジタル複合機）およびそれと外部装置（外部サーバやアプリ管理サーバ）とを通信可能に接続する画像形成システム（電子装置システム）に適用した実施例について説明したが、この発明はそれらに限られるものではなく、通信機能を有するスキャナ装置等の画像読取装置やデジタル複写機，プリンタ，ファクシミリ装置等の他の画像形成装置などの他の画像処理装置およびそれと外部装置とを通信可能に接続する画像処理システム、あるいは通信機能を有するネットワーク家電機器，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，ＡＶ機器，遊戯機器などの他の電子装置、およびそれらと外部サーバとを通信可能に接続する電子装置システムにも適用可能である。
【０１９０】
また、この発明によるプログラムは、画像処理装置等の電子装置のコンピュータ（ＣＰＵ）に、この発明によるアプリケーション登録手段，アプリケーション選択手段，制御手段としての機能を実現させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
【０１９１】
このようなプログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【０１９２】
この発明は、画像処理装置（スキャナ装置等の画像読取装置やデジタル複写機，プリンタ，ファクシミリ装置，デジタル複合機等の画像形成装置など）等の電子装置や、その電子装置のコンピュータ、その電子装置と通信回線を介して接続する外部装置とを備えた電子装置システムに適用可能である。
【図面の簡単な説明】
【０１９３】
【図１】この発明の第１実施例である画像形成システムのネットワーク接続例を示す概念図である。
【図２】図１のＭＦＰ１０のハードウェア構成例を示すブロック図である。
【図３】図２の操作部１０７の構成例を示すレイアウト図である。
【図４】図３の液晶タッチパネル５１に表示されるコピー機能設定用の操作画面の一例を示す図である。
【図５】同じくスキャナ機能用の操作画面の一例を示す図である。
【０１９４】
【図６】図１のＭＦＰ１０の主要な機能構成例を示すブロック図である。
【図７】図１の外部サーバ２０のハードウェア構成例を示すブロック図である。
【図８】図１のＭＦＰ１０および外部サーバ２０ａの主要な機能構成例を示すブロック図である。
【図９】図６に示したＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第１例を示す図である。
【図１０】同じくＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第２例を示す図である。
【０１９５】
【図１１】同じくＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第３例を示す図である。
【図１２】図３に示した操作部１０７の液晶タッチパネル上に表示されるエラー画面の一例を示す図である。
【図１３】図６に示したＭＦＰ１０がユーザによる操作部上のキー操作によって利用可能なアプリを決定する際のそのＭＦＰ１０内での通信シーケンスの一例を示す図である。
【図１４】図３に示した操作部１０７の液晶タッチパネル上に表示されるアプリ選択画面の一例を示す図である。
【図１５】図６に示したＭＦＰ１０による利用可能なアプリを決定するための処理の第２例を説明するための説明図である。
【０１９６】
【図１６】同じくＭＦＰ１０による利用可能なアプリを決定するための処理の第３例を説明するための説明図である。
【図１７】同じく外部アプリの起動時のその外部アプリとＭＦＰ１０との間の通信シーケンスの第１例を示す図である。
【図１８】同じくＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第４例を示す図である。
【図１９】同じくＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第５例を示す図である。
【図２０】同じくＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第６例を示す図である。
【０１９７】
【図２１】図６の外部アプリ２３１，２３２を含む各外部アプリが備えている各種機能を説明するための説明図である。
【図２２】図１のＭＦＰ１０の主要な機能構成の他の例を示すブロック図である。
【図２３】図２２に示したＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第７例を示す図である。
【図２４】この発明の第２実施例である画像形成システムのネットワーク接続例を示す概念図である。
【図２５】図２４のＭＦＰ１０の主要な機能構成例を示すブロック図である。
【０１９８】
【図２６】図２４のアプリ管理サーバ３０の主要な機能構成例を示すブロック図である。
【図２７】図２５に示したＭＦＰ１０の電源オン時と動作指示時のそのＭＦＰ１０と外部アプリとアプリ管理サーバ３０との間の通信シーケンスの第１例を示す図である。
【図２８】同じくＭＦＰ１０の電源ＯＮ時と動作指示時のそのＭＦＰ１０と外部アプリとアプリ管理サーバ３０との間の通信シーケンスの第２例を示す図である。
【図２９】同じくＭＦＰ１０でのＭＦＰ登録指示時のそのＭＦＰ１０とアプリ管理サーバ３０との間の通信シーケンスの一例を示す図である。
【０１９９】
【図３０】図１のＭＦＰ１０および外部サーバ２０ａの主要な機能構成の更に他の例を示すブロック図である。
【図３１】図３０に示したＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第１例を示す図である。
【図３２】同じくＭＦＰ１０の起動時のそのＭＦＰ１０と外部アプリ２３１，２３２との間の通信シーケンスの第２例を示す図である。
【符号の説明】
【０２００】
１：ネットワーク    １０：ＭＦＰ    １１：コントローラ    ２０：外部サーバ
３０：アプリ管理サーバ    １０１，２０１：ＣＰＵ    １０２，２０２：ＡＳＩＣ
１０３，２０３：ＳＤＲＡＭ    １０４，２０４：ＲＯＭ
１０５，２０５：ＮＶＲＡＭ    １０６，２０６：ＨＤＤ    １０７，２０７：操作部
１０９，２０９：ＵＳＢ・Ｉ／Ｆ    １１０，２１０：ＩＥＥＥ１３９４・Ｉ／Ｆ
１１１，２１１：ＭＡＣ・Ｉ／Ｆ    １３１，１３２：内部アプリ
１２１：通信処理部    １２２：アプリ選択部  １２３，３０２：アプリ情報記憶部
１２４：制御部    １２５：アプリ応答時間計測部    １２７：認証処理部
１３１，１３２：内部アプリ    ２３１，２３２：外部アプリ
２４１：アプリ通信処理部    ２４２：アプリ制御部    ２４３：装置情報記憶部
２４４：アプリ認証部
【図１】
2006114019.tif 000008
【図２】
2006114019.tif 000009
【図３】
2006114019.tif 000010
【図４】
2006114019.tif 000011
【図５】
2006114019.tif 000012
【図６】
2006114019.tif 000013
【図７】
2006114019.tif 000014
【図８】
2006114019.tif 000015
【図９】
2006114019.tif 000016
【図１０】
2006114019.tif 000017
【図１１】
2006114019.tif 000018
【図１２】
2006114019.tif 000019
【図１３】
2006114019.tif 000020
【図１４】
2006114019.tif 000021
【図１５】
2006114019.tif 000022
【図１６】
2006114019.tif 000023
【図１７】
2006114019.tif 000024
【図１８】
2006114019.tif 000025
【図１９】
2006114019.tif 000026
【図２０】
2006114019.tif 000027
【図２１】
2006114019.tif 000028
【図２２】
2006114019.tif 000029
【図２３】
2006114019.tif 000030
【図２４】
2006114019.tif 000031
【図２５】
2006114019.tif 000032
【図２６】
2006114019.tif 000033
【図２７】
2006114019.tif 000034
【図２８】
2006114019.tif 000035
【図２９】
2006114019.tif 000036
【図３０】
2006114019.tif 000037
【図３１】
2006114019.tif 000038
【図３２】
2006114019.tif 000039