(57)【要約】【課題】  ユーザが外部機器の接続を判断できるとともに、メモリを有効に使用する画像形成装置、外部アプリケーション動作方法を提供する。【解決手段】  画像形成処理で使用されるソフトウェアと、ユーザに情報を表示する表示部と、前記表示部に表示する情報を制御する表示情報制御部とを有する画像形成装置において、アプリケーションが搭載された外部機器を物理的に接続するインタフェース部と、前記インタフェース部の管理を行うとともに、前記外部機器を論理的に接続する管理部と、前記アプリケーションと前記ソフトウェアとの中継を行う中継部と有し、前記中継部は、前記管理部が前記外部機器と論理的に接続する際に、前記表示情報制御部に対し、前記アプリケーションが動作可能となるまでの準備中であることを示す準備画面を指定する。【選択図】  図５
2004299388.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理で使用されるソフトウェアと、ユーザに情報を表示する表示部と、前記表示部に表示する表示情報を制御する表示情報制御部とを有する画像形成装置において、
アプリケーションが搭載された外部機器を物理的に接続するインタフェース部と、
前記インタフェース部の管理を行うとともに、前記外部機器を論理的に接続する管理部と、
前記アプリケーションと前記ソフトウェアとの中継を行う中継部と有し、
前記中継部は、前記管理部が前記外部機器と論理的に接続する際に、前記表示情報制御部に対し、前記アプリケーションが動作可能となるまでの準備中であることを示す準備画面を表示情報として通知することを特徴とする画像形成装置。
【請求項２】
前記表示情報制御部は、前記ユーザが前記アプリケーションを使用する際に、通知された前記準備画面を前記表示部に表示させることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記管理部は、物理的あるいは論理的に前記外部機器との接続が断たれると、前記中継部に接続が断たれたことを示す通信不可通知を通知することを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記中継部を起動する起動部をさらに有することを特徴とする請求項１から３のいずれか１項に記載の画像形成装置。
【請求項５】
前記起動部は、前記外部機器が物理的に接続された後に、前記中継部を起動することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記起動部は、前記管理部を用いて、前記外部機器が物理的に接続されたかどうかを判断することを特徴とする請求項４または５に記載の画像形成装置。
【請求項７】
前記アプリケーションが画像形成装置上で動作可能とするための登録である前記アプリケーションの登録を行う登録部をさらに有することを特徴とする請求項１から６のいずれか１項に記載の画像形成装置。
【請求項８】
前記登録部は、前記中継部の要求により、前記アプリケーションの登録を抹消することを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記中継部は、前記管理部から通信不可通知が通知されると、前記登録部に対し、前記アプリケーションの登録の抹消を要求することを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
前記表示情報制御部は、前記登録部が前記アプリケーションを抹消する際に、前記表示部が前記アプリケーションに関する情報を表示している場合、前記表示部が表示している表示情報を他の表示情報に切り替えさせることを特徴とする請求項８または９に記載の画像形成装置。
【請求項１１】
前記他の表示情報は、前記ソフトウェアに関する情報であることを特徴とする請求項１０に記載の画像形成装置。
【請求項１２】
前記登録部は、登録の抹消後に接続された外部機器に搭載されたアプリケーションを再び登録することが可能であることを特徴とする請求項９から１１のいずれか１項に記載の画像形成装置。
【請求項１３】
前記中継部のプログラムが展開されている記憶領域を解放することにより、前記中継部を抹消するプログラム抹消部をさらに有することを特徴とする請求項４から６のいずれか１項に記載の画像形成装置。
【請求項１４】
前記中継部は、前記管理部から通信不可通知が通知されると、前記起動部に対し、前記プログラム抹消部から抹消されることを通知し、
前記プログラム抹消部に抹消要求を通知することを特徴とする請求項１１に記載の画像形成装置。
【請求項１５】
抹消された前記中継部は、前記外部機器が接続されると、前記起動部により再起動することを特徴とする請求項１４に記載の画像形成装置。
【請求項１６】
前記中継部は、前記アプリケーションが実行中に前記管理部から通信不可通知が通知されると、前記表示情報制御部に対し、エラーが発生したことを示すエラー画面を表示情報として通知することを特徴とする請求項３に記載の画像形成装置。
【請求項１７】
電子メールを送信する電子メール送信部をさらに有し、前記中継部は、前記アプリケーションが実行中に前記管理部から通信不可通知が通知されると、前記電子メール送信部に対し、エラーが発生したことを通知する内容の電子メールを所定のメールアドレスに送信することを特徴とする請求項３に記載の画像形成装置。
【請求項１８】
画像形成処理で使用されるソフトウェアと、ユーザに情報を表示する表示部とを有する画像形成装置に接続する外部機器に搭載されたアプリケーションを画像形成装置上で動作させる外部アプリケーション動作方法であって、
前記外部機器が接続される段階と、
前記アプリケーションが動作可能となるまでの準備中であることを示す準備画面を用意する段階と、
前記アプリケーションが動作可能となるまでに、前記ユーザが前記アプリケーションを使用する際に前記準備画面を前記表示部に表示する段階と
を有することを特徴とする外部アプリケーション動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器に搭載されたアプリケーションを動作させる画像形成装置、外部アプリケーション動作方法に関する。
【背景技術】
【０００２】
近年、ファクシミリ、プリンタ、コピーおよびスキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置が知られるようになった。この画像形成装置は、１つの筐体内に表示部、印刷部および撮像部などを設けると共に、ファクシミリ、プリンタ、コピーおよびスキャナにそれぞれ対応する４種類のアプリケーションを設け、そのアプリケーションを切り替えることより、ファクシミリ、プリンタ、コピーおよびスキャナとして動作させるものである。
【０００３】
このような画像形成装置には、アプリケーションが搭載された外部機器を接続するためのＰＣＩやＵＳＢなどのインタフェースが設けられていることがある。このインタフェースに外部機器を接続することにより、画像形成装置の機能を補充または拡張することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、外部機器は、画像形成装置で動作するまで時間がかかる。その間にユーザが外部機器を使用する際、ユーザは外部機器が準備中のため使用できないのか、接続されていないのかどうかが判断できなかった。
【０００５】
また、画像形成装置には、外部機器とのやり取りを行うための中継アプリケーションが備わっている。この中継アプリケーションは、通常のアプリケーションと同様に、メモリに展開される。外部機器が接続されていない場合などは、メモリの無駄遣いとなる。
【０００６】
本発明は、このような問題点に鑑み、ユーザが外部機器の接続を判断できるとともに、メモリを有効に使用する画像形成装置、外部アプリケーション動作方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、画像形成処理で使用されるソフトウェアと、ユーザに情報を表示する表示部と、前記表示部に表示する表示情報を制御する表示情報制御部とを有する画像形成装置において、アプリケーションが搭載された外部機器を物理的に接続するインタフェース部と、前記インタフェース部の管理を行うとともに、前記外部機器を論理的に接続する管理部と、前記アプリケーションと前記ソフトウェアとの中継を行う中継部と有し、前記中継部は、前記管理部が前記外部機器と論理的に接続する際に、前記表示情報制御部に対し、前記アプリケーションが動作可能となるまでの準備中であることを示す準備画面を表示情報として通知することを特徴とする。
【０００８】
また、上記課題を解決するために、本発明は、前記表示情報制御部は、前記ユーザが前記アプリケーションを使用する際に、通知された前記準備画面を前記表示部に表示させることを特徴とする。
【０００９】
また、上記課題を解決するために、本発明は、前記管理部は、物理的あるいは論理的に前記外部機器との接続が断たれると、前記中継部に接続が断たれたことを示す通信不可通知を通知することを特徴とする。
【００１０】
また、上記課題を解決するために、本発明は、前記中継部を起動する起動部をさらに有することを特徴とする。
【００１１】
また、上記課題を解決するために、本発明は、前記起動部は、前記外部機器が物理的に接続された後に、前記中継部を起動することを特徴とする。
【００１２】
また、上記課題を解決するために、本発明は、前記起動部は、前記管理部を用いて、前記外部機器が物理的に接続されたかどうかを判断することを特徴とする。
【００１３】
また、上記課題を解決するために、本発明は、前記アプリケーションが画像形成装置上で動作可能とするための登録である前記アプリケーションの登録を行う登録部をさらに有することを特徴とする。
【００１４】
また、上記課題を解決するために、本発明は、前記登録部は、前記中継部の要求により、前記アプリケーションの登録を抹消することを特徴とする。
【００１５】
また、上記課題を解決するために、本発明は、前記中継部は、前記管理部から通信不可通知が通知されると、前記登録部に対し、前記アプリケーションの登録の抹消を要求することを特徴とする。
【００１６】
また、上記課題を解決するために、本発明は、前記表示情報制御部は、前記登録部が前記アプリケーションを抹消する際に、前記表示部が前記アプリケーションに関する情報を表示している場合、前記表示部が表示している表示情報を他の表示情報に切り替えさせることを特徴とする。
【００１７】
また、上記課題を解決するために、本発明は、前記他の表示情報は、前記ソフトウェアに関する情報であることを特徴とする。
【００１８】
また、上記課題を解決するために、本発明は、前記登録部は、登録の抹消後に接続された外部機器に搭載されたアプリケーションを再び登録することが可能であることを特徴とする。
【００１９】
また、上記課題を解決するために、本発明は、前記中継部のプログラムが展開されている記憶領域を解放することにより、前記中継部を抹消するプログラム抹消部をさらに有することを特徴とする。
【００２０】
また、上記課題を解決するために、本発明は、前記中継部は、前記アプリケーションが実行中に前記管理部から通信不可通知が通知されると、前記表示情報制御部に対し、エラーが発生したことを示すエラー画面を表示情報として通知することを特徴とする。
【００２１】
また、上記課題を解決するために、本発明は、抹消された前記中継部は、前記外部機器が接続されると、前記起動部により再起動することを特徴とする。
【００２２】
また、上記課題を解決するために、本発明は、前記中継部は、前記アプリケーションが実行中に前記管理部から通信不可通知が通知されると、前記表示情報制御部に対し、エラーが発生したことを示すエラー画面を指定することを特徴とする。
【００２３】
また、上記課題を解決するために、本発明は、電子メールを送信する電子メール送信部をさらに有し、前記中継部は、前記アプリケーションが実行中に前記管理部から通信不可通知が通知されると、前記電子メール送信部に対し、エラーが発生したことを通知する内容の電子メールを所定のメールアドレスに送信することを特徴とする。
【００２４】
また、上記課題を解決するために、本発明は、画像形成処理で使用されるソフトウェアと、ユーザに情報を表示する表示部とを有する画像形成装置に接続する外部機器に搭載されたアプリケーションを画像形成装置上で動作させる外部アプリケーション動作方法であって、前記外部機器が接続される段階と、前記アプリケーションが動作可能となるまでの準備中であることを示す準備画面を用意する段階と、前記アプリケーションが動作可能となるまでに、前記ユーザが前記アプリケーションを使用する際に前記準備画面を前記表示部に表示する段階とを有することを特徴とする。
【発明の効果】
【００２５】
本発明は以上説明したように、ユーザが外部機器の接続を判断できるとともに、メモリを有効に使用する画像形成装置、外部アプリケーション動作方法を提供することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照し、本発明の実施形態について説明する。
【００２７】
図１を用いて、融合機１に搭載されているプログラムについて説明する。図１には、融合機１のプログラム群２と、融合機起動部３と、ハードウェア資源４とが示されている。
【００２８】
起動部に対応する融合機起動部３は融合機１の電源投入時に最初に実行され、アプリケーション層５およびコントローラ６を起動する。例えば融合機起動部３は、アプリケーション層５およびコントローラ６のプログラムを、ハードディスク装置（以下、ＨＤＤと記す）などから読み出し、読み出した各プログラムをメモリ領域に転送して起動する。ハードウェア資源４は、スキャナ５１と、プロッタ５２と、オペレーションパネル５３と、ファクシミリなどのハードウェアリソース５０とを含む。
【００２９】
また、プログラム群２は、ＵＮＩＸ（登録商標）などのオペレーティングシステム（以下、ＯＳと記す）上に起動されているアプリケーション層５とコントローラ６とを含む。アプリケーション層５は、プリンタ、コピー、ファックスおよびスキャナなどの画像形成に係るユーザーサービスにそれぞれ固有の処理を行うプログラムを含む。
【００３０】
アプリケーション層５は、プリンタ用のアプリケーションであるプリンタアプリ２０と、コピー用アプリケーションであるコピーアプリ２１と、ファックス用アプリケーションであるファックスアプリ２２と、スキャナ用アプリケーションであるスキャナアプリ２３と、融合機に接続された外部機器と融合機とを中継し中継部に対応する外部アプリ中継モジュール２４とを含む。
【００３１】
また、コントローラ６は、アプリケーション層５からの処理要求を解釈してハードウェア資源４の獲得要求を発生するコントロールサービス層７と、１つ以上のハードウェア資源４の管理を行ってコントロールサービス層７からの獲得要求を調停するシステムリソースマネージャ（以下、ＳＲＭと記す）４０と、ＳＲＭ４０からの獲得要求に応じてハードウェア資源４の管理を行うハンドラ層８とを含む。
【００３２】
コントロールサービス層７は、ネットワークコントロールサービス（以下、ＮＣＳと記す）３０、デリバリーコントロールサービス（以下、ＤＣＳと記す）３１、オペレーションパネルコントロールサービス（以下、ＯＣＳと記す）３２、ファックスコントロールサービス（以下、ＦＣＳと記す）３３、エンジンコントロールサービス（以下、ＥＣＳと記す）３４、メモリコントロールサービス（以下、ＭＣＳと記す）３５、オンデマンドアップデートサービス（以下、ＯＵＳと記す）３６、ユーザインフォメーションコントロールサービス（以下、ＵＣＳと記す）３７、システムコントロールサービス（以下、ＳＣＳと記す）３８など、一つ以上のサービスモジュールを含むように構成されている。
【００３３】
なお、コントローラ６は予め定義されている関数により、アプリケーション層５からの処理要求を受信可能とするＡＰＩ４３を有するように構成されている。ＯＳは、アプリケーション層５およびコントローラ６の各プログラムをプロセスとして並列実行する。
【００３４】
ＮＣＳ３０のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【００３５】
例えばＮＣＳ３０は、ネットワークを介して接続されるネットワーク機器とのデータ通信をｈｔｔｐｄ（HyperText Transfer Protocol Daemon）により、ＨＴＴＰ（HyperText Transfer Protocol）で制御する。
【００３６】
ＤＣＳ３１のプロセスは、蓄積文書の配送などの制御を行う。ＯＣＳ３２のプロセスは、保守点検などを行うサービスマンやユーザと本体制御との間の情報伝達手段となる操作部の制御を行う。ＦＣＳ３３のプロセスは、アプリケーション層５からＰＳＴＮまたはＩＳＤＮ網を利用したファックス送受信、バックアップ用のメモリで管理されている各種ファックスデータの登録／引用、ファックス読み取り、ファックス受信印刷などを行うためのＡＰＩを提供する。
【００３７】
ＥＣＳ３４のプロセスは、スキャナ５１、プロッタ５２、ハードウェアリソース５０などのエンジンの制御を行う。ＭＣＳ３５のプロセスは、メモリの取得および解放、ＨＤＤの利用などのメモリ制御を行う。ＯＵＳ３６は、ネットワークからの通知により、プログラムをダウンロードし、メモリに展開する。ＵＣＳ３７のプロセスは、ユーザ情報の管理を行う。
【００３８】
ＳＣＳ３８のプロセスは、アプリケーション管理、操作部制御、システム画面表示、ＬＥＤ表示、ハードウェア資源管理、割り込みアプリケーション制御などの処理を行う。また、ＳＣＳ３８は、表示情報制御部、登録部、プログラム抹消部、電子メール送信部に対応する。
【００３９】
ＳＲＭ４０のプロセスは、ＳＣＳ３８と共にシステムの制御およびハードウェア資源４の管理を行うものである。例えばＳＲＭ４０のプロセスは、スキャナ５１やプロッタ５２などのハードウェア資源４を利用する上位層からの獲得要求に従って調停を行い、実行制御する。
【００４０】
具体的に、ＳＲＭ４０のプロセスは獲得要求されたハードウェア資源４が利用可能であるかを判定し、利用可能であれば獲得要求されたハードウェア資源４が利用可能である旨を上位層に通知する。また、ＳＲＭ４０のプロセスは上位層からの獲得要求に対してハードウェア資源４を利用するためのスケジューリングを行い、例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成などの要求内容を直接実施している。
【００４１】
また、ハンドラ層８は後述するファックスコントロールユニット（以下、ＦＣＵと記す）の管理を行うファックスコントロールユニットハンドラ（以下、ＦＣＵＨと記す）４１と、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うイメージメモリハンドラ（以下、ＩＭＨと記す）４２とを含む。ＳＲＭ４０およびＦＣＵＨ４１は、予め定義されている関数によりハードウェア資源４に対する処理要求を送信可能とするエンジンＩ／Ｆ４４を利用して、ハードウェア資源４に対する処理要求を行う。
【００４２】
このように、融合機１は、各アプリケーションで共通的に必要な処理をコントローラ６で一元的に処理することができる。次に、融合機１のハードウェア構成について説明する。
【００４３】
図２は、融合機１の一実施例のハードウェア構成図を示す。融合機１は、コントローラボード６０と、オペレーションパネル５３と、ＦＣＵ６８と、エンジン７１と、スキャナ５１と、印刷手段に対応するプロッタ５２とを含む。また、ＦＣＵ６８は、Ｇ３規格対応ユニット６９と、Ｇ４規格対応ユニット７０とを有する。
【００４４】
また、コントローラボード６０は、ＣＰＵ６１と、ＡＳＩＣ６６と、ＨＤＤ６５と、ローカルメモリ（ＭＥＭ−Ｃ）６４と、システムメモリ（ＭＥＭ−Ｐ）６３と、ノースブリッジ（以下、ＮＢと記す）６２と、サウスブリッジ（以下、ＳＢと記す）７３と、ＮＩＣ７４（Network Interface Card）と、ＵＳＢデバイス７５と、ＩＥＥＥ１３９４デバイス７６と、セントロニクスデバイス７７とを含む。
【００４５】
オペレーションパネル５３は、コントローラボード６０のＡＳＩＣ６６に接続されている。また、ＳＢ７３と、ＮＩＣ７４と、ＵＳＢデバイス７５と、ＩＥＥＥ１３９４デバイス７６と、セントロニクスデバイス７７は、ＮＢ６２にＰＣＩバスで接続されている。
【００４６】
また、ＦＣＵ６８と、エンジン７１と、スキャナ５１と、プロッタ５２は、コントローラボード６０のＡＳＩＣ６６にＰＣＩバスで接続されている。
【００４７】
なお、コントローラボード６０は、ＡＳＩＣ６６にローカルメモリ６４、ＨＤＤ６５などが接続されると共に、ＣＰＵ６１とＡＳＩＣ６６とがＣＰＵチップセットのＮＢ６２を介して接続されている。このように、ＮＢ６２を介してＣＰＵ６１とＡＳＩＣ６６とを接続すれば、ＣＰＵ６１のインタフェースが公開されていない場合に対応できる。
【００４８】
なお、ＡＳＩＣ６６とＮＢ６２とはＰＣＩバスを介して接続されているのでなく、ＡＧＰ（Accelerated Graphics Port）６７を介して接続されている。このように、図１のアプリケーション層５やコントローラ６を形成する一つ以上のプロセスを実行制御するため、ＡＳＩＣ６６とＮＢ６２とを低速のＰＣＩバスでなくＡＧＰ３５を介して接続し、パフォーマンスの低下を防いでいる。
【００４９】
ＣＰＵ６１は、融合機１の全体制御を行うものである。ＣＰＵ６１は、ＮＣＳ３０、ＤＣＳ３１、ＯＣＳ３２、ＦＣＳ３３、ＥＣＳ３４、ＭＣＳ３５、ＯＵＳ３６、ＵＣＳ３７、ＳＣＳ３８、ＳＲＭ４０、ＦＣＵＨ４１およびＩＭＨ４２をＯＳ上にそれぞれプロセスとして起動して実行させると共に、アプリケーション層５を形成するプリンタアプリ２０、コピーアプリ２１、ファックスアプリ２２、スキャナアプリ２３、外部アプリ中継モジュール２４を起動して実行させる。
【００５０】
ＮＢ６２は、ＣＰＵ６１、システムメモリ６３、ＳＢ７３およびＡＳＩＣ６６を接続するためのブリッジである。システムメモリ６３は、融合機１の描画用メモリなどとして用いるメモリである。ＳＢ７３は、ＮＢ６２とＰＣＩバス、周辺デバイスとを接続するためのブリッジである。また、ローカルメモリ６４はコピー用画像バッファ、符号バッファとして用いるメモリである。
【００５１】
ＡＳＩＣ６６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。ＨＤＤ６５は、画像データの蓄積、文書データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うためのストレージである。また、オペレーションパネル５３は、ユーザからの入力操作を受け付けると共に、ユーザに向けた表示を行う操作部であり、表示部に対応する。
【００５２】
次に、外部アプリ中継モジュール２４と外部アプリ１００の接続形態を示す図３を用いて、外部アプリ中継モジュール２４と、外部機器である外部アプリについて説明する。なお、図３の説明において、図１で説明した参照符号と同一の参照符号の説明は省略する。また、外部アプリ１００は、外部機器に搭載されたアプリケーションであるが、以下の説明における外部アプリ１００は、外部機器の意味で使う場合がある。
【００５３】
図３には、外部アプリ中継モジュール２４と、ＡＰＩ２４と、ＭＣＳ３５と、ＯＣＳ３２と、ＳＣＳ３８と、ＳＲＭ４０と、ＶＤＨ（Video Driver Handler）１０４と、ビデオドライバ１０３と、Ｉ／Ｆドライバ１０２と、外部接続Ｉ／Ｆ１０１と、外部アプリ１００とが示されている。このうち、Ｉ／Ｆドライバ１０２は、管理部に対応する。
【００５４】
このうち、外部アプリ中継モジュール２４は、外部アプリ１００を、あたかも融合機１のアプリケーションとして動作させるためのモジュールである。外部アプリ１００を融合機１のアプリケーションとして動作させることにより、図１に示される融合機１のプログラムを有効に利用することが可能となる。
【００５５】
外部アプリ１００は、本実施の形態の場合、プリンタアプリ相当の動作を行うものである。そして、この外部アプリ１００は、融合機１とコマンドやビデオデータのやり取りを行う。なお、この外部アプリ１００は、他のアプリに相当するものでも良い。
【００５６】
インタフェース部に対応する外部接続Ｉ／Ｆ１０１は、外部アプリ１００が接続する物理的なインタフェースである。Ｉ／Ｆドライバ１０２は、外部アプリ中継モジュール２４が、外部アプリ１００との間でコマンドのやり取りをするために用いる外部接続Ｉ／Ｆ１０１のドライバである。
【００５７】
ビデオドライバ１０３は、外部接続Ｉ／Ｆ１０１でビデオデータをやり取りする場合に用いられるドライバである。そして、ＶＤＨ１０４は、そのビデオドライバ１０３のハンドラであり、外部アプリ中継モジュール２４やＳＲＭ４０により用いられる。
【００５８】
このように、外部アプリ中継モジュール２４が、外部アプリ１００とコマンドとビデオデータとをやり取りすることで、外部アプリ１００は融合機１のアプリのように動作することができる。
【００５９】
従って、外部アプリ１００も融合機１上のアプリと同様に、起動すると、ＳＣＳ３８に自らのＩＤを登録する処理を行う。この登録により、外部アプリ１００は、ユーザが使用可能となるなどの実質的な動作を行うことが可能となる。
【００６０】
次に、融合機１上のアプリがユーザにより使用可能となるまでの処理について説明をする。
【００６１】
図４に示されるシーケンス図は、外部アプリ１００がＳＣＳ３８にＩＤを登録し、融合機１でユーザが使用することが可能となるまでの外部アプリ１００起動処理を示している。
【００６２】
ステップＳ１０１で、融合機起動部３は、外部アプリ１００が物理的に接続しているかどうかを確認するために、Ｉ／Ｆドライバ１０２にポートをオープンさせるシステムコールを行う。ステップＳ１０２で、ポートのオープンが成功すれば、接続されていることが確認できたため、ステップＳ１０３で、オープンしたポートを一旦クローズする。次に、融合機起動部３は、ステップＳ１０４で、外部アプリ中継モジュール２４を起動させる。
【００６３】
起動した外部アプリ中継モジュール２４は、ステップＳ１０５で、ＳＣＳ３８に対し、外部アプリ１００が物理的に接続されているが、まだ外部アプリ１００が動作可能となるまでの準備中であることを示すアプリ登録前準備通知を行う。具体的にこの通知は、ユーザが外部アプリ１００を使用しようとした際に表示される外部アプリ１００が準備中であることを示す画面をＳＣＳ３８に指定するための通知である。この登録前準備通知により、ＳＣＳ３８は、オペレーションパネル５３に、外部アプリ１００が準備中であることを表示することが可能となる。
【００６４】
この表示は、次のステップＳ１０６のように、外部アプリ１００をユーザが使用する際に押下するアプリキーが押下されたことをＯＣＳ３２から通知された場合に行われる。この準備画面を図５に示す。図５には、「準備中です。お待ちください。」というメッセージ１１０と、解除キー１１１とが示されている。メッセージ１１０は、ユーザに外部アプリ１００が準備中であることを示すものである。解除キー１１１は、図５に示される画面を閉じるためのキーである。この解除キー１１１が押下されると、ステップＳ１１２に示されるように、ＯＣＳ３２からＳＣＳ３８へ解除キー１１１が押下されたことが通知される。
【００６５】
なお、外部アプリ１００が接続されていない場合は、ユーザがアプリキーを押下した際に、エラー音を鳴らしたり、あるいは図５のメッセージ１１０の部分に接続されていない旨のメッセージを表示するようになっている。
【００６６】
このようにすることで、ユーザは外部機器が起動中のため使用できないのか、接続されていないのかどうかを判断できる。
【００６７】
図４の説明に戻る。ステップＳ１０７で、外部アプリ中継モジュール２４は、システムコールでＩ／Ｆドライバ１０２にポートをオープンさせる。次のステップＳ１０８は、ポートのオープンが成功したことを示す。
【００６８】
ポートのオープンが成功すると、次のステップＳ１０９で、Ｉ／Ｆドライバ１０２と外部アプリ１００との間で、接続信号がやり取りされ、次のステップＳ１１０で、起動プロトコルに従ったやり取りがされる。
【００６９】
これらステップＳ１０９とステップＳ１１０により、外部アプリ１００と融合機１が論理的に接続され、通信可能な状態となる。これにより、Ｉ／Ｆドライバ１０２は、ステップＳ１１１で、外部アプリ中継モジュール２４に外部アプリ１００が起動したことを通知する。このとき、図６に示されるデータ構造を有するデータで、外部アプリ１００が起動したことを通知される。このデータ構造は、状態データ１１２とコマンドデータ１１３で構成される。
【００７０】
状態データ１１２は、外部アプリ１００の状態や、このデータの内容がコマンドであることを示すものである。そして、状態データ１１２には、「コマンド受信」、「接続」、「接続状態」、「断線状態」、「ダウン」の情報が格納される。「コマンド受信」は、外部アプリ１００からのコマンドがコマンドデータ１１３に格納されていることを示す。「接続」は、外部アプリ１００と通信可能状態になったことを示す。「接続状態」は、外部アプリ１００との接続状態を示す。「断線状態」は、外部アプリとの通信が断たれたことを示す。「ダウン」は、外部アプリ１００がダウンしたことを示す。また、「断線状態」、「ダウン」は通信不可通知に対応する。
【００７１】
以上説明したデータ構造で、Ｉ／Ｆドライバ１０２と外部アプリ中継モジュール２４はやり取りを行う。
【００７２】
なお、ステップＳ１１１では、状態データ１１２に「接続」が格納されたデータにより、外部アプリ中継モジュール２４は、外部アプリ１００と通信可能になったことを確認する。
【００７３】
外部アプリ１００が起動すると、外部アプリ１００は、ステップＳ１１３で、アプリ登録を行う。このアプリ登録とは、ＳＣＳ３８に、外部アプリ１００が融合機１で動作可能ために、外部アプリ１００のＩＤを登録するものである。これは、外部アプリ１００に限らず、プリンタアプリ２０や、コピーアプリ２１なども行う処理である。
【００７４】
ステップＳ１１３で、外部アプリ１００からアプリ登録を受信したＩ／Ｆドライバ１０２は、ステップＳ１１４で、外部アプリ中継モジュール２４にアプリ登録を通知する。そして、外部アプリ中継モジュール２４は、ステップＳ１１５で、ＳＣＳ３８に外部アプリ１００からのアプリ登録を通知する。
【００７５】
通知を受けたＳＣＳ３８は、外部アプリ１００のＩＤを登録し、外部アプリ１００がオペレーションパネル５３の画面に描画しても良いことを示すＯＣＳレディを、ステップＳ１１６で外部アプリ中継モジュール２４に通知する。外部アプリ中継モジュール２４は、ステップＳ１１７で、ＯＣＳレディをＩ／Ｆドライバ１０２に通知する。Ｉ／Ｆドライバ１０２は、ステップＳ１１８で、ＯＣＳレディを外部アプリ１００に通知する。
【００７６】
ＯＣＳレディを通知された外部アプリ１００は、ＯＣＳ３２により、外部アプリ１００をユーザが使用する際に表示する画面の描画を予め行っておく。この描画は、ステップＳ１１９、ステップＳ１２０、ステップＳ１２１で、Ｉ／Ｆドライバ１０２、外部アプリ中継モジュール２４を介して行なわれる。
【００７７】
画面への描画が終了すると、外部アプリ１００は、ＯＣＳ３２に描画が終了したことを通知する。この通知もステップＳ１２２、ステップＳ１２３、ステップＳ１２４で、Ｉ／Ｆドライバ１０２、外部アプリ中継モジュール２４を介して行なわれる。
【００７８】
これにより、ユーザは、外部アプリ１００を使用することが可能となる。そこで、ユーザが、アプリキーを押下すると、ＯＣＳ３２は、ステップＳ１２５で、ＳＣＳ３８にアプリキーの押下があったことを通知する。ＳＣＳ３８は、ステップＳ１２６で、予め描画された外部アプリ１００の画面をＯＣＳ３２に表示するように通知し、外部アプリ１００の画面が表示される。
【００７９】
以上説明した中で、外部アプリ１００がＳＣＳ３８に登録する処理があった。この登録を抹消する処理を、図７のシーケンス図を用いて説明する。
【００８０】
ステップＳ２０１で、外部アプリ１００は、Ｉ／Ｆドライバ１０２にアプリ抹消を示すコマンドを通知する。Ｉ／Ｆドライバ１０２は、ステップＳ２０２で、アプリ抹消を外部アプリ中継モジュール２４に通知する。外部アプリ中継モジュール２４は、ステップＳ２０３で、ＳＣＳ３８に外部アプリ１００のアプリ抹消を通知する。
【００８１】
このとき、もし外部アプリ１００の画面がオペレーションパネル５３に表示されていれば、その表示を中止し、他のアプリの画面を表示しなければならない。その場合、例えばコピーアプリ２１に画面を表示させるため、ＳＣＳ３８は、ステップＳ２０４でコピーアプリ２１に画面の表示が可能かどうかの問い合わせを行う。そして、ステップＳ２０５で、ＳＣＳ３８が、コピーアプリ２１から画面の表示が可能であることを通知されると、ステップＳ２０６で、ＯＣＳ３２に、他の情報であるコピーアプリ２１の画面を表示するように通知をする。
【００８２】
また、外部アプリ中継モジュール２４は、ステップＳ２０７で、ＳＣＳ３８に対し、アプリ登録前準備通知を行う。
【００８３】
以上説明した図４と図７が示すシーケンス図が、登録及び抹消の基本的な処理となる。次の図８が示すシーケンス図は、外部アプリ１００が例えば融合機１から外されたなど、断線した場合の処理を示している。以下、図８のシーケンス図について説明する。
【００８４】
Ｉ／Ｆドライバ１０２が断線を検出すると、ステップＳ３０１で、Ｉ／Ｆドライバ１０２は、外部アプリ中継モジュール２４に対し、断線状態を通知する（図６参照）。断線状態を通知された外部アプリ中継モジュール２４は、ステップＳ３０２で、ＳＣＳ３８に外部アプリ１００のアプリ抹消を通知する。
【００８５】
このときも図７の場合と同様に、もし外部アプリ１００の画面がオペレーションパネル５３に表示されていれば、その表示を中止し、他のアプリの画面を表示しなければならない。その場合、例えばコピーアプリ２１に画面を表示させるため、ＳＣＳ３８は、ステップＳ３０３でコピーアプリ２１に画面の表示が可能かどうかの問い合わせを行う。そして、ステップＳ３０４で、ＳＣＳ３８が、コピーアプリ２１から画面の表示が可能であることを通知されると、ステップＳ３０５で、ＯＣＳ３２にコピーアプリ２１の画面を表示するように通知をする。
【００８６】
また、外部アプリ中継モジュール２４は、ステップＳ３０６で、ＳＣＳ３８に対し、アプリ登録前準備通知を行う。
【００８７】
その後、外部アプリ１００が接続されると、ステップＳ３０７で、Ｉ／Ｆドライバ１０２と外部アプリ１００との間で、接続信号がやり取りされ、次のステップＳ３０８で、起動プロトコルに従ったやり取りがされる。
【００８８】
次のステップＳ３０９で、Ｉ／Ｆドライバ１０２は、外部アプリ中継モジュール２４に外部アプリ１００が起動したことを通知する。そして、外部アプリ１００は、ＳＣＳ３８にアプリ登録を行う。このアプリ登録も、図４と同様に、ステップＳ３１０、ステップＳ３１１、ステップＳ３１２で、Ｉ／Ｆドライバ１０２、外部アプリ中継モジュール２４を介して行なわれる。
【００８９】
このように、断線した場合の処理は、外部アプリ１００の登録の抹消と同様の処理となる。また、ＳＣＳ３８は、登録の抹消後に接続された外部機器に搭載されたアプリケーションを再び登録することが可能である。
【００９０】
次の図９が示すシーケンス図も、断線した場合の処理を示しているが、外部アプリ１００が断線中は、外部アプリ中継モジュール２４は必要ないので、外部アプリ中継モジュール２４を抹消する処理となっている。
【００９１】
この抹消とは、外部アプリ中継モジュール２４のプログラムが展開されたメモリ領域を解放することを意味する。
【００９２】
以下、図９の説明をする。Ｉ／Ｆドライバ１０２が断線を検出すると、ステップＳ４０１で、Ｉ／Ｆドライバ１０２は、外部アプリ中継モジュール２４に対し、断線状態を通知する（図６参照）。断線状態を通知された外部アプリ中継モジュール２４は、ステップＳ４０２で、ＳＣＳ３８に外部アプリ１００のアプリ抹消を通知する。そして、外部アプリ中継モジュール２４は、外部アプリ１００が接続するまで抹消するため、ステップＳ４０３で、融合機起動部３に外部アプリ中継モジュール２４が抹消することを通知する。その後、外部アプリ１００が接続され、融合機起動部３がステップＳ４０４で、外部アプリ１００が物理的に接続しているかどうかを確認するために、Ｉ／Ｆドライバ１０２にポートをオープンさせるシステムコールを行う。ステップＳ４０５で、ポートのオープンが成功し、接続されていることが確認できたため、ステップＳ４０６で、オープンしたポートを一旦クローズする。次に、融合機起動部３は、ステップＳ４０７で、外部アプリ中継モジュール２４を起動させる。
【００９３】
起動した外部アプリ中継モジュール２４は、ステップＳ４０８で、ＳＣＳ３８に対し、アプリ登録前準備通知を行う。
【００９４】
次のステップＳ４０９で、外部アプリ中継モジュール２４は、システムコールでＩ／Ｆドライバ１０２にポートをオープンさせる。次のステップＳ４１０は、ポートのオープンが成功したことを示す。
【００９５】
以下、図４のシーケンス図のステップＳ１０９からの処理と同じ処理が行われる。
【００９６】
このように、外部アプリ中継モジュール２４を抹消することにより、外部アプリ中継モジュール２４のプログラムが展開されたメモリ領域を解放することができるため、メモリの無駄遣いを防ぐことができる。また、抹消された外部アプリ中継モジュール２４は、外部機器が接続されると、融合機起動部３により再起動する。
【００９７】
以上説明した図８、図９が示すように、融合機１は、外部アプリ１００の活性挿抜に対応していることが分かる。
【００９８】
次の図１０が示すシーケンス図も、断線した場合の処理を示しているが、この処理は、外部アプリ１００が印刷ジョブを実行中に断線した場合の処理となっている。このように、印刷ジョブの実行中に断線した場合、他のアプリへジョブの実行権を移せないため、エラー表示をし、例えばサービスマンが融合機１を正常にする必要がある。
【００９９】
図１０の説明をする。断線を検出したＩ／Ｆドライバ１０２は、ステップＳ５０１で、外部アプリ中継モジュール２４に対し、断線状態を通知する。断線状態を通知された外部アプリ中継モジュール２４は、印刷ジョブの実行中であることから、ステップＳ５０２でサービスマンが必要なレベルのエラーが発生したことをＳＣＳ３８に通知する。
【０１００】
エラーを通知されたＳＣＳ３８は、オペレーションパネル５３にエラーであることを表示するために、ステップＳ５０３で、ＯＣＳ３２にエラーの表示を通知する。
【０１０１】
このようにすることにより、印刷ジョブの実行中に断線があった場合に対応することができる。なお、ＳＣＳ３８は、エラーの発生をオペレーションパネル５３に表示するだけではなく、例えば、サービスマンや融合機１の管理者に電子メールを送信することも可能である。
【図面の簡単な説明】
【０１０２】
【図１】融合機の一実施例の構成図である。
【図２】融合機の一実施例のハードウェア構成図である。
【図３】外部アプリ中継モジュールと外部アプリの接続形態を示す図である。
【図４】外部アプリ１００起動処理を示すシーケンス図である。
【図５】外部アプリが準備中であることを示す準備画面を示す図である。
【図６】データ構造を示す図である。
【図７】登録を抹消する処理を示すシーケンス図である。
【図８】断線した場合の処理を示すシーケンス図である。
【図９】断線した際に外部アプリ中継モジュールを抹消する処理を示すシーケンス図である。
【図１０】印刷ジョブ実行中に断線した場合の処理を示すシーケンス図である。
【符号の説明】
【０１０３】
１  融合機
２  プログラム群
３  融合機起動部
４  ハードウェア資源
５  アプリケーション層
６  コントローラ
７  コントロールサービス層
８  ハンドラ層
２０  プリンタアプリ
２１  コピーアプリ
２２  ファックスアプリ
２３  スキャナアプリ
２４  外部アプリ中継モジュール
３０  ネットワークコントロールサービス（ＮＣＳ）
３１  デリバリーコントロールサービス（ＤＣＳ）
３２  オペレーションパネルコントロールサービス（ＯＣＳ）
３３  ファックスコントロールサービス（ＦＣＳ）
３４  エンジンコントロールサービス（ＥＣＳ）
３５  メモリコントロールサービス（ＭＣＳ）
３６  オンデマンドアップデートサービス（ＯＵＳ）
３７  ユーザインフォメーションコントロールサービス（ＵＣＳ）
３８  システムコントロールサービス（ＳＣＳ）
４０  システムリソースマネージャ（ＳＲＭ）
４１  ファックスコントロールユニットハンドラ（ＦＣＵＨ）
４２  イメージメモリハンドラ（ＩＭＨ）
４３  アプリケーションプログラムインターフェース（ＡＰＩ）
４４  エンジンＩ／Ｆ
５０  ハードウェアリソース
５１  スキャナ
５２  プロッタ
５３  オペレーションパネル
６０  コントローラボード
６１  ＣＰＵ
６２  ノースブリッジ（ＮＢ）
６３  システムメモリ（ＭＥＭ−Ｐ）
６４  ローカルメモリ（ＭＥＭ−Ｃ）
６５  ハードディスク装置（ＨＤＤ）
６６  ＡＳＩＣ
６７  ＡＧＰ（Accelerated Graphics Port）
６８  ファックスコントロールユニット（ＦＣＵ）
６９  Ｇ３
７０  Ｇ４
７１  エンジン
７２  プロッタ
７３  サウスブリッジ（ＳＢ）
７４  ＮＩＣ
７５  ＵＳＢデバイス
７６  ＩＥＥＥ１３９４デバイス
７７  セントロニクス
１００  外部アプリ
１０１  外部接続Ｉ／Ｆ
１０２  Ｉ／Ｆドライバ
１０３  ビデオドライバ
１０４  ＶＤＨ
１１０  メッセージ
１１１  解除ボタン
１１２  状態データ
１１３  コマンドデータ
【図１】
2004299388.tif 000003
【図２】
2004299388.tif 000004
【図３】
2004299388.tif 000005
【図４】
2004299388.tif 000006
【図５】
2004299388.tif 000007
【図６】
2004299388.tif 000008
【図７】
2004299388.tif 000009
【図８】
2004299388.tif 000010
【図９】
2004299388.tif 000011
【図１０】
2004299388.tif 000012