(57)【要約】【課題】外部アプリケーションを任意の媒体や領域にインストールした場合に外部アプリケーションの起動を選択的に行い、多種多様な機能を提供すること。【解決手段】画像形成処理に関するシステム側の処理を行うサービスモジュールを有し、当該サービスモジュールとは別にアプリケーションを搭載可能に構成された画像形成装置において、アプリケーションを格納した少なくとも１つの場所を示す起動選択情報を参照し、当該起動選択情報に従って前記少なくとも１つの場所からアプリケーションを起動するアプリケーション起動手段を備えた。【選択図】　図１
2004110779.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理に関するシステム側の処理を行うサービスモジュールを有し、当該サービスモジュールとは別にアプリケーションを搭載可能に構成された画像形成装置において、
アプリケーションを格納した少なくとも１つの場所を示す起動選択情報を参照し、当該起動選択情報に従って前記少なくとも１つの場所からアプリケーションを起動するアプリケーション起動手段を備えたことを特徴とする画像形成装置。
【請求項２】
前記少なくとも１つの場所は、ハードディスク装置、画像形成装置に着脱可能な記憶媒体、及び、ネットワークを介して画像形成装置に接続されるコンピュータのうちの１つ又は複数である請求項１に記載の画像形成装置。
【請求項３】
前記起動選択情報の設定画面を前記画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記起動選択情報として格納する手段を有する請求項１に記載の画像形成装置。
【請求項４】
前記アプリケーション起動手段は、アプリケーションに関する情報を参照することにより、当該アプリケーションを起動する請求項１ないし３のうちいずれか１項に記載の画像形成装置。
【請求項５】
前記情報はアプリケーションのアドレス情報である請求項４に記載の画像形成装置。
【請求項６】
前記アプリケーション起動手段は、アプリケーションに関する情報の有無により、前記場所にアプリケーションがインストールされているか否かを判断し、インストールされていると判断した場合に前記アプリケーションを起動する請求項１ないし３のうちいずれか１項に記載の画像形成装置。
【請求項７】
前記アプリケーション起動手段は、所定のアプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に所定のアプリケーションを起動することを示す情報が設定されている場合に、当該所定のアプリケーションを起動する請求項１ないし６のうちいずれか１項に記載の画像形成装置。
【請求項８】
前記アプリケーション起動手段は、アプリケーションごとに、当該アプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に起動することを示す情報が設定されているアプリケーションのみを起動する請求項１ないし６のうちいずれか１項に記載の画像形成装置。
【請求項９】
前記設定情報の設定画面を画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記設定情報として格納する手段を有する請求項７または８に記載の画像形成装置。
【請求項１０】
前記画像形成装置は、前記サービスモジュールに対してクライアントプロセスとして動作し、前記アプリケーションに対してサーバプロセスとして動作する仮想アプリケーションサービスを更に有し、該仮想アプリケーションサービスが前記アプリケーション起動手段を含む請求項１に記載の画像形成装置。
【請求項１１】
前記画像形成装置は、ネットワークを介して当該画像形成装置に接続されるコンピュータから、アプリケーションをｈｔｔｐプロトコル又はｆｔｐプロトコルによって受信し、前記アプリケーション起動手段は、受信したアプリケーションを起動する請求項２に記載の画像形成装置。
【請求項１２】
画像形成処理に関するシステム側の処理を行うサービスモジュールを有し、当該サービスモジュールとは別にアプリケーションを搭載可能に構成された画像形成装置を、
アプリケーションを格納した少なくとも１つの場所を示す起動選択情報を参照し、当該起動選択情報に従って前記少なくとも１つの場所からアプリケーションを起動するアプリケーション起動手段として機能させるプログラム。
【請求項１３】
前記少なくとも１つの場所は、ハードディスク装置、画像形成装置に着脱可能な記憶媒体、及び、ネットワークを介して画像形成装置に接続されるコンピュータのうちの１つ又は複数である請求項１２に記載のプログラム。
【請求項１４】
前記画像形成装置を、前記起動選択情報の設定画面を前記画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記起動選択情報として格納する手段として更に機能させる請求項１２に記載のプログラム。
【請求項１５】
前記アプリケーション起動手段は、アプリケーションに関する情報を参照することにより、当該アプリケーションを起動する請求項１２ないし１４のうちいずれか１項に記載のプログラム。
【請求項１６】
前記情報はアプリケーションのアドレス情報である請求項１５に記載のプログラム。
【請求項１７】
前記アプリケーション起動手段は、アプリケーションに関する情報の有無により、前記場所にアプリケーションがインストールされているか否かを判断し、インストールされていると判断した場合に前記アプリケーションを起動する請求項１２ないし１４のうちいずれか１項に記載のプログラム。
【請求項１８】
前記アプリケーション起動手段は、所定のアプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に所定のアプリケーションを起動することを示す情報が設定されている場合に、当該所定のアプリケーションを起動する請求項１２ないし１７のうちいずれか１項に記載のプログラム。
【請求項１９】
前記アプリケーション起動手段は、アプリケーションごとに、当該アプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に起動することを示す情報が設定されているアプリケーションのみを起動する請求項１２ないし１７のうちいずれか１項に記載のプログラム。
【請求項２０】
前記画像形成装置を、前記設定情報の設定画面を画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記設定情報として格納する手段として更に機能させる請求項１８または１９に記載のプログラム。
【請求項２１】
前記アプリケーション起動手段は、ネットワークを介して画像形成装置に接続されるコンピュータから、アプリケーションをｈｔｔｐプロトコル又はｆｔｐプロトコルによって受信し、受信したアプリケーションを起動する請求項１３に記載のプログラム。
【請求項２２】
請求項１２ないし２１のうちいずれか１項に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像形成処理にかかるユーザサービスを提供するとともに、予め提供されるアプリケーションとは別にインストールされた外部アプリケーションの起動を行うことができる画像形成装置に関するものである。
【０００２】
【従来の技術】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という。）が知られている。この複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した３種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
近年、このような従来の複合機としては、ハードディスク装置（ＨＤＤ）などの大容量記憶装置を搭載したものが出回っている。このような複合機に搭載されたハードディスク装置は、その信頼性の低さからＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）のようにアプリケーションプログラムの保存領域としてではなく、主として画像データの蓄積を目的として使用されている。
【０００４】
このため、従来の複合機では、アプリケーションプログラムを含むファームウェアを複合機の生産時に全てフラッシュメモリなどの不揮発性メモリに組み込んで提供している。そして、アプリケーションプログラムをすべて不揮発性メモリから起動していた。
【０００５】
【特許文献１】
特開２００２−２９７４０３号公報
【０００６】
【発明が解決しようとする課題】
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置（複合機）を発明した。
【０００７】
このような新規な複合機では、画像形成処理にかかるサービスを提供するアプリケーションと、ＯＳやハードウェア資源にアクセスするような開発が難しい処理を行うコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが新規な外部アプリケーションを開発して複合機に搭載可能な構成となっている。
【０００８】
このため、複合機には、その出荷時に搭載されるコピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかる既存アプリケーションとは別に、このような外部アプリケーションを出荷後にインストールし、インストールされた外部アプリケーションを起動する必要性が生じてくる。
【０００９】
しかしながら、一般的にフラッシュメモリなどの不揮発性メモリに後から外部アプリケーションを組み込むことは困難である。このため、フラッシュカードなどのＩＣカードや、ハードディスク装置を開発した外部アプリケーションの保存領域として利用することが考えられる。
【００１０】
しかしながら、新規な複合機において、ハードディスク装置やＩＣカードを外部アプリケーションの保存領域として利用する場合、ハードディスク装置およびＩＣカードから外部アプリケーションを起動させる必要性が生じてくる。また、このような新規な複合機では、外部アプリケーションがネットワークを介して提供される場合も考えられ、その場合の外部アプリケーションの起動の必要性も生じてくる。
【００１１】
また、このように外部アプリケーションの保存領域として、ＩＣカード、ハードディスク、ネットワークの保存領域など種々の媒体や領域を利用することが可能な場合、複合機に搭載されるメモリ容量などの資源の制限によって、これらの媒体や領域に保存されている外部アプリケーションをすべて起動させることができない場合が生じてくる。このため、複合機の出荷後に顧客先で多数の外部アプリケーションを追加することができないという、出荷後に外部アプリケーションを搭載することを想定していない従来の複合機では問題にならなかった新規な課題が生じてくる。
【００１２】
この発明は上記に鑑みてなされたもので、外部アプリケーションを任意の媒体や領域にインストールした場合でも、外部アプリケーションの起動を選択的に行うことができる画像形成装置を得ることを目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、画像形成処理に関するシステム側の処理を行うサービスモジュールを有し、当該サービスモジュールとは別にアプリケーションを搭載可能に構成された画像形成装置において、アプリケーションを格納した少なくとも１つの場所を示す起動選択情報を参照し、当該起動選択情報に従って前記少なくとも１つの場所からアプリケーションを起動するアプリケーション起動手段を備えたことを特徴とする画像形成装置。
【００１４】
本発明によれば、種々の場所に外部アプリケーションが保存されている場合でも必要な外部アプリケーションが保存されている媒体を選択して起動することができる。すなわち、アプリケーションの起動を選択的に行える、多種多様な機能を提供することができる画像形成装置を提供できる。
【００１５】
請求項２にかかる発明は、請求項１の記載において、前記少なくとも１つの場所は、ハードディスク装置、画像形成装置に着脱可能な記憶媒体、及び、ネットワークを介して画像形成装置に接続されるコンピュータのうちの１つ又は複数であるとするものである。
【００１６】
また、請求項３にかかる発明は、請求項１に記載の画像形成装置において、前記起動選択情報の設定画面を前記画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記起動選択情報として格納する手段を有する。
【００１７】
本発明によれば、起動させるアプリケーションが格納されている場所の中で利用者に所望の場所を選択させることができ、画像形成装置に多種多様な機能を柔軟に実現させることができる。
【００１８】
また、請求項４にかかる発明は、請求項１ないし３のうちいずれか１項の記載において、前記アプリケーション起動手段は、アプリケーションに関する情報を参照することにより、当該アプリケーションを起動するものである。
【００１９】
このアプリケーションに関する情報は、例えば、アプリケーションが格納されている媒体に格納されているアプリケーションの名称やアドレス情報（請求項５）である。これにより、目的のアプリケーションを確実に起動できる。
【００２０】
請求項６に記載の発明は、請求項１ないし３のうちいずれか１項の記載において、前記アプリケーション起動手段は、アプリケーションに関する情報の有無により、前記場所にアプリケーションがインストールされているか否かを判断し、インストールされていると判断した場合に前記アプリケーションを起動するというものである。
【００２１】
本発明によれば、インストール済みのアプリケーションを自動的に把握して起動することができ、外部アプリケーションの起動を容易に行うことができる。
【００２２】
上記情報の保存先は特に限定されるものではなく、アプリケーションの保存媒体と同一の媒体としたり、外部アプリケーションの保存媒体とは無関係の媒体に保存することができる。
【００２３】
また、請求項７にかかる発明は、請求項１ないし６のうちいずれか１項の記載において、前記アプリケーション起動手段は、所定のアプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に所定のアプリケーションを起動することを示す情報が設定されている場合に、当該所定のアプリケーションを起動する。
【００２４】
上記の所定のアプリケーションは、例えば外部アプリケーションである。本発明によれば、所定のアプリケーションが存在する場合でも、当該アプリケーションによる拡張機能を利用しない場合には、拡張機能を実行せずに出荷後の機能だけを利用して、画像形成装置の資源の節約を図るとともに処理効率を向上させることができる。
【００２５】
また、請求項８にかかる発明は、請求項１ないし６のうちいずれか１項に記載画像形成装置において、前記アプリケーション起動手段は、アプリケーションごとに、当該アプリケーションを起動するか否かを示す情報を含む設定情報を参照し、当該設定情報に起動することを示す情報が設定されているアプリケーションのみを起動するものである。
【００２６】
本発明によれば、アプリケーションが多数インストールされている場合にも必要な機能のみを実行することができ、画像形成装置の資源の節約を図るとともに処理効率を向上させることができる。
【００２７】
また、請求項９にかかる発明は、請求項７または８に記載の画像形成装置において、前記設定情報の設定画面を画像形成装置の表示部に表示し、当該設定画面から指定された情報を前記設定情報として格納する手段を有するものである。
【００２８】
本発明によれば、利用者にとって所望のアプリケーションの起動を指定することができる。
【００２９】
請求項１０に記載の発明は、請求項１の記載において、前記画像形成装置は、前記サービスモジュールに対してクライアントプロセスとして動作し、前記アプリケーションに対してサーバプロセスとして動作する仮想アプリケーションサービスを更に有し、該仮想アプリケーションサービスが前記アプリケーション起動手段を含むようにするものである。
【００３０】
本発明によれば、仮想アプリケーションサービスが、起動選択情報に従って種々のアプリケーションの起動を行うことが可能となる。
【００３１】
また、請求項１１にかかる発明は、請求項２の記載において、前記画像形成装置は、ネットワークを介して当該画像形成装置に接続されるコンピュータから、アプリケーションをｈｔｔｐプロトコル又はｆｔｐプロトコルによって受信し、前記アプリケーション起動手段は、受信したアプリケーションを起動するものである。
【００３２】
本発明によれば、ネットワーク上のアプリケーションを一般的なネットワークプロトコルであるｈｔｔｐプロトコル又はｆｔｐプロトコルによって受信するので、プログラム作成労力の軽減を図ることができる。
【００３３】
請求項１２〜２１に記載の発明は、上記のアプリケーション起動手段の機能を画像形成装置に実現させるプログラムであり、請求項２２に記載の発明は、当該プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００３４】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像形成装置の好適な実施の形態を詳細に説明する。
（実施の形態１）
図１は、この発明の実施の形態１である画像形成装置（以下、「複合機」という）の構成を示すブロック図である。本実施の形態にかかる複合機１００は、複合機の出荷後に、顧客、サードベンダなどの第三者が外部アプリを開発し、開発された外部アプリケーションを複合機用のインストーラで複合機のハードディスク装置（ＨＤＤ）にインストールし、ＨＤＤの診断後、外部アプリ起動部によってインストールされた外部アプリをＨＤＤから起動することが可能となっている。また、本実施の形態では、外部アプリをＩＣカードに実行可能な形式で保存し、このＩＣカードを複合機１００のＩＣカードインタフェース部に装着してＩＣカードからも外部アプリを起動することが可能となっている。さらに、本実施の形態の複合機１００では、このようにＨＤＤにインストールされている外部アプリの起動とＩＣカードに保存されている外部アプリの起動を切り替えて行うことが可能となっている。
【００３５】
図１に示すように、複合機１００は、白黒ラインプリンタ（Ｂ＆Ｗ　ＬＰ）１０１と、カラーラインプリンタ（Ｃｏｌｏｒ　ＬＰ）１０２と、ハードディスク装置（ＨＤＤ）１０３と、スキャナ、ファクシミリ、メモリ、ネットワークインタフェースなどのハードウェアリソース１０４を有するとともに、プラットホーム１２０と、アプリケーション１３０と、複合機初期化部１２９と、ＨＤＤ診断部１３２と、外部アプリ起動部１３１とから構成されるソフトウェア群１１０とを備えている。
【００３６】
外部アプリ起動部１３１は、ＨＤＤ１０３の診断結果が正常である場合に、ＨＤＤ１０３にインストールされている外部アプリ１１７を起動するものである。また、外部アプリ起動部１３１は、ＩＣカードなどの記憶媒体に保存された外部アプリ１１７を起動する。さらに、外部アプリ起動部１３１は、外部アプリ１１７のＨＤＤ１０３からの起動とＩＣカードからの起動とを選択することもできる。
【００３７】
複合機初期化部１２９は、汎用ＯＳ１２１の上で最初に起動されるプロセスであり、コントロールサービスやアプリケーション１３０（外部アプリ１１７を除く）の起動およびＨＤＤ診断部１３２および外部アプリ起動部１３１の起動を行うものである。
【００３８】
ＨＤＤ診断部１３２は、ＨＤＤ１０３の物理的欠陥やＨＤＤ１０３に生成されたファイルシステムの整合性などを診断し、診断結果をメッセージ送信などのプロセス間通信を利用して外部アプリ起動部１３１に送信するものである。
【００３９】
プラットホーム１２０は、アプリケーション１３０からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【００４０】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とから構成される。なお、このプラットホーム１２０は、あらかじめ定義された関数により前記アプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【００４１】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００４２】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４　Ｉ／Ｆ、ＲＳ２３２Ｃ　Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００４３】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００４４】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。
【００４５】
ＥＣＳ１２４のプロセスは、白黒ラインプリンタ（Ｂ＆Ｗ　ＬＰ）１０１、カラーラインプリンタ（Ｃｏｌｏｒ　ＬＰ）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０４のエンジンの制御を行う。
【００４６】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【００４７】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００４８】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ｆｔｐｄ、ｈｔｔｐｄ、ｌｐｄ、ｓｎｍｐｄ、ｔｅｌｎｅｔｄ、ｓｍｔｐｄなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。
【００４９】
ＯＣＳ１２６のプロセスは、オペレータ（ユーザ）と本体制御間の情報伝達手段となるオペレーションパネル（操作パネル）の制御を行う。ＯＣＳ１２６は、オペレーションパネルからキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスの部分と、アプリケーション１３０またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたＯＣＳライブラリの部分とから構成される。このＯＣＳライブラリは、アプリケーション１３０およびコントロールサービスの各モジュールにリンクされて実装されている。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳライブラリとして構成しても良い。
【００５０】
アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６とを有している。
【００５１】
アプリケーション１３０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【００５２】
このように、実施の形態１にかかる複合機１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【００５３】
また、複合機１００には、複合機１００の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ１１７を開発して搭載することが可能となっている。図１では、この外部アプリ１１７を搭載した例を示している。
【００５４】
なお、実施の形態１にかかる複合機１００では、複数のアプリケーション１３０のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション１３０とコントロールサービスのプロセスをそれぞれ単一の構成とすることも可能である。また、各アプリケーション１３０は、アプリケーションごとに追加または削除することができる。
【００５５】
インストーラ１１８は、第三者が開発した外部アプリ１１７を、ＨＤＤ１０３にインストールするものである。本実施の形態にかかる複合機１００では、フラッシュカードなどのＩＣカードの記憶媒体に外部アプリ１１７を格納し、インストーラ１１８によって外部アプリ１１７をＨＤＤ１０３にインストールし、外部アプリ起動部１３１によって、ＨＤＤ１０３から外部アプリ１１７を起動してアプリケーション層で動作させるようになっている。一方、プリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３、スキャナアプリ１１４、ネットファイルアプリ１１５、工程検査アプリ１１６などの複合機１００の出荷時に提供されるアプリケーション１３０、各コントロールサービス、ＨＤＤ診断部１３２および外部アプリ起動部１３１は、フラッシュメモリに出荷時に組み込まれており、複合機１００の起動時（電源投入時）に複合機初期化部１２９によって起動されるようになっている。
【００５６】
次に、外部アプリ起動部１３１の構成について説明する。図２は、実施の形態１にかかる複合機１００の外部アプリ起動部１３１の機能的構成を示すブロック図である。外部アプリ起動部１３１は、図２に示すように、初期化部２０１と、オプション解析部２０２と、ＨＤＤ診断結果通信部２０３と、フラッシュメモリ管理部２０４と、起動設定処理部２０５と、アプリケーション記述処理部２０６と、ライセンス判断部２０７と、アプリケーション起動部２０８とから構成される。
【００５７】
また、ＨＤＤ１０３には、一または複数の外部アプリ１１７と、ＨＤＤ１０３から起動する外部アプリ１１７を指定したデータを設定した起動設定ファイル２２１と、外部アプリ１１７の各種情報が設定されたアプリケーション記述ファイル２２２とが格納されている。
【００５８】
また、ＩＣカード２４０にも、一または複数の外部アプリ１１７と、起動する外部アプリ１１７を指定したデータを設定した起動設定ファイル２２１と、外部アプリ１１７の各種情報が設定されたアプリケーション記述ファイル２２２とが格納されている。このＩＣカード２４０は、例えばフラッシュカードなどの不揮発性記憶媒体であり、ＩＣカードインタフェース部２３０によってデータの入出力が行われる。また、ＩＣカード２４０として、ＳＤ（Ｓｅｃｕｒｅ　Ｄｉｇｉｔａｌ）カードを使用することもできる。なお、本実施の形態では、起動設定ファイル２２１とアプリケーション記述ファイル２２２は、いずれも対象となる外部アプリ１１７が保存されている記憶媒体に格納されているが、外部アプリ１１７を格納した記憶媒体とは異なる記憶媒体、例えばフラッシュメモリ２１０、ネットワークを介して接続されたサーバにおける記憶媒体に格納した構成としても良い。
【００５９】
フラッシュメモリ２１０には、起動選択データ２１１と、拡張機能設定データ２１３と、外部アプリ存否データ２１４と、コンフィグレーションファイル２１２とが格納されている。各データおよびファイルの詳細については後述する。なお、本実施の形態では、これらの各データおよびファイルをフラッシュメモリ２１０に格納しているが、不揮発性メモリであれば他の記憶媒体に格納するように構成しても良い。
【００６０】
初期化部２０１は、外部アプリ起動部１３１の初期化処理を行うものである。オプション解析部２０２は、外部アプリ起動部１３１が複合機初期化部１２９から起動されるときに指定されたコマンドのオプションパラメータを解析するものである。
【００６１】
ＨＤＤ診断結果通信部２０３は、ＨＤＤ診断部１３２によって行われるＨＤＤ１０３の診断の終了待ちを行い、その診断結果をメッセージなどのプロセス間通信によって受信する。また、ＨＤＤ診断結果通信部２０３は、受信した診断結果によってＨＤＤ１０３の状態を判定する。
【００６２】
フラッシュメモリ管理部２０４は、フラッシュメモリ２１０に格納されているデータやファイルの設定内容の読み出し、および書き込みを行うものである。具体的には、フラッシュメモリ管理部２０４は、起動選択データ２１１を読み込み、外部アプリ１１７を起動する媒体の判断を行う。また、フラッシュメモリ管理部２０４は、拡張機能設定データ２１３を読み込み、外部アプリ１１７による拡張機能の利用の可否を判断する。さらにフラッシュメモリ管理部２０４は、外部アプリ存否データ２１４の書き込みを行う。
【００６３】
起動設定処理部２０５は、ＨＤＤ１０３およびＩＣカード２４０に格納されている起動設定ファイル２２１を読み出して、その解析処理を行うものである。また、起動設定処理部２０５は、起動設定ファイル２２１にプログラム名称が設定されているか否かを調べて、外部アプリ１１７がインストールされているか否かを判断する。アプリケーション記述処理部２０６は、ＨＤＤ１０３に格納されているアプリケーション記述ファイル２２２を読み出して、その解析処理を行うものである。ライセンス判断部２０７は、アプリケーション記述ファイル２２２に設定されているライセンスキーの正当性を判断するものである。
【００６４】
アプリケーション起動部２０８は、ＨＤＤ１０３およびＩＣカード２４０に格納されている外部アプリ１１７を起動するものである。このとき、アプリケーション記述ファイル２２２に設定されている実行コマンドを発行することにより、外部アプリ１１７を起動する。
【００６５】
次に、ＨＤＤ１０３およびＩＣカード２４０に格納されている起動設定ファイル２２１の内容について説明する。起動設定ファイル２２１は、ＨＤＤ１０３にインストールされている外部アプリ１１７のプログラム名称のリストを記述するものであり、インストーラ１１８によって外部アプリ１１７をＨＤＤ１０３にインストールするたびに各外部アプリ１１７のプログラム名称が次の形式で追加される。
【００６６】
「プログラム名称　外部アプリのプログラムファイル名」
図３は、起動設定ファイル２２１の内容の一例を示す説明図である。外部アプリ１１７のプログラムファイル名には、ＨＤＤ１０３に生成されたファイルシステムにおけるプログラムファイル名が、図３の例（ｘｘ．ｘｘｘ．ｓａｍｐｌｅ、ｙｙ．ｙｙ．ｔｅｓｔ等）に示すように記述される。このプログラム名称は一つの複合機１００内で一意の名称である必要がある。
【００６７】
次に、ＨＤＤ１０３およびＩＣカード２４０に格納されているアプリケーション記述ファイル２２２の内容について説明する。アプリケーション記述ファイル２２２は、外部アプリ１１７ごとに存在し、外部アプリ１１７のプログラムの属性情報を記述したものである。アプリケーション記述ファイル２２２は、外部アプリ１１７とともに、インストール用記憶媒体に格納され、外部アプリ１１７のＨＤＤ１０３のインストール時に外部アプリ１１７とともにＨＤＤ１０３に格納される。従って、ＨＤＤ１０３に複数の外部アプリ１１７が保存されている場合には、各外部アプリ１１７に対応して複数のアプリケーション記述ファイル２２２が存在する。
【００６８】
図４は、アプリケーション記述ファイル２２２の内容の一例を示す説明図である。図４に示すように、アプリケーション記述ファイル２２２には、プログラム名称、表示名称、バージョン、ベンダ名称、実行コマンド、インストールメディア番号、インストールメディア総数、インストール済インストールメディア総数、インストール日時、ライセンスキーの各項目が設定されている。
【００６９】
ここで、プログラム名称、表示名称、バージョン、ベンダ名称、実行コマンドの項目は、インストール用記憶媒体への外部アプリ１１７の格納時に外部アプリ１１７の開発者によって設定される。プログラム名称は、外部アプリ１１７のプログラム名を示すものであり、インストール後、このプログラム名称が起動設定ファイル２２１のプログラム名称となる。
【００７０】
表示名称は、外部アプリ１１７の表示名称であり、インストーラ１１８による外部アプリ１１７のインストール時および外部アプリ起動部１３１による外部アプリ１１７の起動時にオペレーションパネルの表示部に表示されるものである。
【００７１】
バージョンは、外部アプリ１１７のバージョン情報を示す文字列であり、インストーラ１１８による外部アプリ１１７のインストール時および外部アプリ起動部１３１による外部アプリ１１７の起動時にオペレーションパネルの表示部に表示されるものである。
【００７２】
ベンダ名称は、外部アプリ１１７を開発したベンダ名称を表す文字列であり、インストーラ１１８による外部アプリ１１７のインストール時および外部アプリ起動部１３１による外部アプリ１１７の起動時にオペレーションパネルの表示部に表示されるものである。
【００７３】
実行コマンドは、外部アプリ１１７の実行のためのコマンドを相対パスにより指定したものである。必要な場合には、コマンドラインオプションも指定可能である。外部アプリ起動部１３１により、ここで設定されたコマンドが実行される。
【００７４】
インストールメディア番号は、外部アプリ１１７が複数枚のインストール用記憶媒体に分割されている場合に、その媒体が何枚目のものであるかを示すものである。記憶媒体が１枚だけの場合には０が指定される。インストールメディア番号は、インストーラ１１８による外部アプリ１１７のインストール時にオペレーションパネルの表示部に表示されるものである。
【００７５】
インストールメディア総数は、外部アプリ１１７が複数枚のインストール用記憶媒体に分割されている場合に、その総数が指定される。記憶媒体が１枚だけの場合には０が指定される。
【００７６】
インストール済インストールメディア総数は、インストール済みインストールメディア総数を指定したものである。
【００７７】
インストール日時は、インストールされた日時を示すものである。インストーラ１１８のユーザインタフェースに表示される。
【００７８】
ライセンスキーは、外部アプリ１１７のライセンスキーを指定したものである。インストール時にユーザにより入力された文字列が保存されるようになっている。
【００７９】
上記の例では、起動設定ファイルとアプリケーション記述ファイルは外部アプリがＨＤＤ１０３にインストールされるときにＨＤＤ１０３に格納されるものとしているが、起動設定ファイルとアプリケーション記述ファイルの各々は、上記と異なる任意の方法でＨＤＤ１０３やＩＣカード２４０、もしくはその他の場所に格納することが可能である。
【００８０】
次に、フラッシュメモリ２１０に格納されている各データおよびファイルについて説明する。コンフィグレーションファイル２１２は、コントロールサービスおよびプリンタアプリ１１１、コピーアプリ１１２などの予め組み込まれている既存のアプリケーション１３０の中で起動すべきプログラムが設定されたものであり、複合機１００の電源投入時に複合機初期化部１２９によって参照される。
【００８１】
図５は、起動選択データ２１１、拡張機能設定データ２１３、外部アプリ存否データ２１４の設定内容を示す説明図である。起動選択データ２１１は、起動する外部アプリ１１７の保存先（保存媒体）、すなわち外部アプリ１１７をどの媒体から起動するかを設定したものである。図５に示すように、起動選択データ２１１には、「ＨＤＤ」または「ＩＣカード」が設定可能であり、複数選択することも可能である。すなわち「ＨＤＤ」および「ＩＣカード」の双方を設定可能することもできる。この起動選択データ２１１は、オペレーションパネル９１０に表示される初期設定画面によって設定され、外部アプリ起動部１３１によって参照される。
【００８２】
起動選択データ２１１に「ＨＤＤ」が設定されている場合には、ＨＤＤ１０３に格納されている外部アプリ１１７のみが起動され、起動選択データ２１１に「ＩＣカード」が設定されている場合には、ＩＣカード２４０に保存されている外部アプリ１１７のみが起動される。また、起動選択データ２１１に「ＨＤＤおよびＩＣカード」の双方が設定されている場合には、ＨＤＤ１０３とＩＣカード２４０に格納されている外部アプリ１１７が起動される。
【００８３】
拡張機能設定データ２１３は、外部アプリ１１７による拡張機能を使用するか否か、すなわち、外部アプリ１１７を起動するか否かを設定するものである。図５に示すように、拡張機能設定データ２１３には、「起動」または「起動しない」が設定される。拡張機能設定データ２１３は、オペレーションパネル９１０に表示される初期設定画面によって設定され、外部アプリ起動部１３１から参照される。拡張機能設定データ２１３に「起動」が設定されている場合には、外部アプリ１１７の起動処理が行われ、「起動しない」が設定されている場合には外部アプリ１１７の起動処理は行われない。
【００８４】
外部アプリ存否データ２１４は、外部アプリ１１７がＨＤＤ１０３またはＩＣカード２４０にインストールされているか否かを示す情報であり、外部アプリ起動部１３１によって設定され、ＳＣＳ１２２によって参照される。外部アプリ存否データ２１４に「有」が設定されている場合には、ＳＣＳ１２２によって初期設定画面に拡張機能設定の項目が表示され、「無」が設定されている場合には、初期設定画面に拡張機能設定の項目は表示されない。
【００８５】
次に、このように構成された本実施の形態の複合機１００において、外部アプリ１１７の起動の前提となる複合機１００の初期化処理について説明する。
【００８６】
図６は、複合機初期化部１２９による初期化処理の手順を示すフローチャートである。複合機１００が電源投入されると、ＲＯＭモニタ（図示せず）によって、まずハードウェア資源の初期化、コントローラボードの診断が行われた後、汎用ＯＳ１２１が起動する。そして、ＲＯＭモニタが複合機初期化部１２９を汎用ＯＳ１２１上で起動する。この複合機初期化部１２９は、汎用ＯＳ１２１上で最初に起動されるプロセスとなる。
【００８７】
起動された複合機初期化部１２９は、フラッシュメモリ２１０からコンフィグレーションファイル２１２を読み込み、コンフィグレーションファイル２１２に設定されている内容からコントロールサービスの起動を行う（ステップＳ６０１）。次に、コンフィグレーションファイル２１２の設定内容に従って、プリンタアプリ１１１、コピーアプリ１１２、スキャナアプリ１１４、ファックスアプリ１１３、ネットファイルアプリ１１５および工程検査アプリ１１６などの予め組み込まれている既存アプリの起動を行う（ステップＳ６０２）。そして、ＨＤＤ診断部１３２を起動して、ＨＤＤ１０３の診断処理を実行させる（ステップＳ６０３）。これによって、ＨＤＤ１０３の物理的欠陥の検査、ファイルシステムの検査などの診断処理が開始される。次に、外部アプリ起動部１３１の起動を行う（ステップＳ６０４）。
【００８８】
次に、複合機初期化部１２９によって起動された外部アプリ起動部１３１による外部アプリ１１７の起動処理について説明する。図７は、外部アプリ起動部１３１による外部アプリ１１７の起動処理の手順を示すフローチャートである。
【００８９】
外部アプリ起動部１３１は、まずフラッシュメモリ２１０から拡張機能設定データ２１３を読み出し、外部アプリ１１７による拡張機能を使用するか否かを判断するため、拡張機能設定データ２１３に「起動」が設定されているか否かを調べる（ステップＳ７０１）。そして、拡張機能設定データ２１３に「起動なし」が設定されている場合には（ステップＳ７０１：Ｎｏ）、外部アプリ１１７の起動は行わず終了する。
【００９０】
一方、拡張機能設定データ２１３に「起動」が設定されている場合には（ステップＳ７０１：Ｙｅｓ）、次に、フラッシュメモリ２１０から起動選択データ２１１を読み出し、外部アプリ１１７を起動する媒体を判断するため、起動選択データ２１１の設定内容を調べる（ステップＳ７０２）。そして、起動選択データ２１１の設定がＨＤＤを含む場合、すなわち、「ＨＤＤ」か「ＨＤＤおよびＩＣカード」の場合には（ステップＳ７０２：ＨＤＤ含む）、起動媒体としてＨＤＤ１０３が含まれるので、ＨＤＤ診断部１３２による診断結果の通知待ち状態となる。
【００９１】
そしてＨＤＤ診断部１３２から診断結果を受信すると（ステップＳ７０３）、診断結果が異常なしか否かを判断する（ステップＳ７０４）。診断結果が異常ありの場合（ステップＳ７０４：Ｎｏ）には、エラーメッセージなどをオペレーションパネル９１０の表示部に出力して、外部アプリ１１７の起動は行わない。
【００９２】
一方、診断結果が異常なしの場合には（ステップＳ７０４：Ｙｅｓ）、外部アプリ１１７がインストールされているか否かを判断するため、起動設定ファイル２２１が起動選択データ２１１で設定された保存先の媒体に存在するか否かを調べる（ステップＳ７０５）。
【００９３】
すなわち、起動選択データ２１１の設定で外部アプリ１１７をＨＤＤ１０３から起動する場合にはＨＤＤ１０３に起動設定ファイル２２１が存在するか否かを調べ、起動選択データ２１１の設定で外部アプリ１１７をＩＣカード２４０から起動する場合にはＩＣカード２４０に起動設定ファイル２２１が存在するか否かを調べる。また、起動選択データ２１１の設定で外部アプリ１１７をＨＤＤ１０３およびＩＣカード２４０の双方から起動する場合には双方の媒体に起動設定ファイル２２１が存在するか否かを調べる。
【００９４】
そして、起動設定ファイル２２１が存在しない場合には（ステップＳ７０５：Ｎｏ）、その媒体に外部アプリ１１７はインストールされていないと判断し、フラッシュメモリ２１０の外部アプリ存否データ２１４に「無」を設定する（ステップＳ７１２）。
【００９５】
一方、起動設定ファイル２２１が存在する場合には（ステップＳ７０５：Ｙｅｓ）、さらにその起動設定ファイル２２１に外部アプリ１１７のプログラム名称の設定が記述されているか否かを調べる（ステップＳ７０６）。起動設定ファイル２２１に外部アプリ１１７のプログラム名称の設定が記述されていない場合には（ステップＳ７０６：Ｎｏ）、その媒体に外部アプリ１１７はインストールされていないと判断し、フラッシュメモリ２１０の外部アプリ存否データ２１４に「無」を設定する（ステップＳ７１２）。
【００９６】
一方、起動設定ファイル２２１に外部アプリ１１７のプログラム名称の設定が記述されている場合には（ステップＳ７０６：Ｙｅｓ）、外部アプリ１１７がインストールされていると判断し、フラッシュメモリ２１０の外部アプリ存否データ２１４に「有」を設定する（ステップＳ７０７）。
【００９７】
次に、外部アプリ起動部１３１は、起動選択データ２１１で設定された保存先の媒体から外部アプリ１１７のアプリケーション記述ファイル２２２を読み込む（ステップＳ７０８）。そして、アプリケーション記述ファイル２２２に設定されているライセンスキーが期限切れや異常でないかなど、ライセンスキーの有効性について判断する（ステップＳ７０９）。このとき、ライセンスキーが無効と判断した場合には外部アプリ１１７の起動は行わず、その旨のエラーメッセージをオペレーションパネル９１０の表示部に出力する。
【００９８】
ライセンスキーが有効の場合、外部アプリ起動部１３１は、起動選択データ２１１で設定された保存先の媒体から外部アプリ１１７の起動を行う（ステップＳ７１０）。そして、上記ステップＳ７０８からＳ７１０までの処理を、起動設定ファイル２２１に設定されているすべての外部アプリ１１７について繰り返し行う（ステップＳ７１１）。これによって、図２に示すように、指定された媒体にインストールされているすべての外部アプリ１１７が起動され、アプリケーション層で実行されることになる。
【００９９】
上記の手順において、外部アプリ存否データ２１４を外部アプリ起動部１３１により設定することに代えて、外部アプリを媒体等に記録するときに、外部アプリ存否データ２１４を所定の場所に記録してもよい。
【０１００】
ここで、拡張機能設定データおよび起動選択データの内容は、複合機１００のオペレーションパネル９１０から初期設定画面を用いて設定することが可能となっている。
【０１０１】
図８は、初期設定画面の内容を示す説明図である。初期設定画面は、ＳＣＳ１２２によってＯＣＳ１２６の関数ライブラリの描画関数を呼び出すことによりオペレーションパネル９１０に表示される。このとき、図２に示すように、ＳＣＳ１２２は、フラッシュメモリ２１０の外部アプリ存否データ２１４を参照し、外部アプリ存否データ２１４が「有」に設定されている場合、すなわち起動選択データ２１１で設定されている媒体に外部アプリ１１７がインストールされている場合に、図８に示す初期設定画面の管理者用設定画面に「拡張機能の起動」の項目を表示する。この「拡張機能の起動」の項目では、「する」と「しない」が選択可能となっており、「する」を選択するとＳＣＳ１２２によって拡張機能設定データ２１３に「起動」が設定され、「しない」を選択するとＳＣＳ１２２によって拡張機能設定データ２１３に「起動しない」が設定される。
【０１０２】
また、図８に示す初期設定画面の管理者用設定画面では、起動選択データ２１１の設定を行うための「起動選択」の項目が表示される。この「起動選択」の項目では、「ＨＤＤ」、「ＩＣカード」、「ＨＤＤおよびＩＣカード」が選択可能となっており、ＳＣＳ１２２によって選択された内容が起動選択データ２１１に設定される。
【０１０３】
次に、本実施の形態の複合機１００のハードウェア構成について説明する。図９は、図１に示した実施の形態１の複合機１００のハードウェア構成図である。図９に示すように、この複合機は、ＣＰＵ９０２、ＳＤＲＡＭ９０３、ＳＲＡＭ９０８、フラッシュメモリ（フラッシュＲＯＭ）２１０、ＩＣカードインタフェース部２３０およびＨＤＤ１０３などをＡＳＩＣ９０１に接続したコントローラボード９００と、オペレーションパネル９１０と、ファックスコントロールユニット（ＦＣＵ）９２０と、ＵＳＢ９３０と、ＩＥＥＥ１３９４　９４０と、プリンタ９５０とから構成されている。オペレーションパネル９１０はＡＳＩＣ９０１に直接接続され、ＦＣＵ９２０、ＵＳＢ９３０、ＩＥＥＥ１３９４　９４０およびプリンタ９５０はＰＣＩバスを介してＡＳＩＣ９０１に接続されている。
【０１０４】
フラッシュメモリ２１０は、上述した通り、起動選択データ２１１と、拡張機能設定データ２１３と、外部アプリ存否データ２１４と、コンフィグレーションファイル２１２とが格納されている。また、フラッシュメモリ２１０には、汎用ＯＳ１２１、コントロールサービスおよびプリンタアプリ１１１、コピーアプリ１１２などの既存アプリケーション１３０のプログラムが格納されている。
【０１０５】
ＩＣカードインタフェース部２３０は、ＩＣカード２４０を挿入して、ＩＣカード２４０とデータのやりとりを行うインタフェースである。ＩＣカード２４０は、インストール用記憶媒体として使用することができ、この場合には開発された外部アプリ１１７をＩＣカード２４０に格納して、インストーラ１１８によって外部アプリ１１７をＩＣカード２４０からＨＤＤ１０３にインストールされることになる。また、ＩＣカード２４０から直接外部アプリを起動することもできる。
【０１０６】
このように実施の形態１にかかる複合機１００では、外部アプリ起動部１３１が、ＨＤＤ１０３またはＩＣカード２４０のいずれか若しくは双方を起動先として選択し、選定された起動先に格納されている外部アプリ１１７を起動しているので、外部アプリ１１７を容易に起動することができ、複合機１００に外部アプリ１１７で提供される多種多様な機能を実現させることができる。
【０１０７】
また、実施の形態１にかかる複合機１００では、ＨＤＤ１０３やＩＣカード２４０から必要な外部アプリ１１７が保存されている媒体を選択して起動することができ、メモリ容量など資源に制限のある複合機１００において、外部アプリ１１７による必要な機能を支障なく実現させることができる。
【０１０８】
なお、上記の実施の形態においては、プログラムとしての外部アプリ起動部を複合機内に備えていたが、外部アプリ起動部を例えばＩＣカードに格納しておき、ＩＣカードから複合機内にインストール、もしくは、ＩＣカードから起動してもよい。また、外部アプリ起動部を、画像形成装置にネットワークを介して接続されたコンピュータに格納しておき、そのコンピュータから複合機にインストール、もしくは、そのコンピュータから外部アプリ起動部を起動してもよい。このことは他の実施の形態においても同様である。
【０１０９】
（実施の形態２）
実施の形態１にかかる複合機１００は、ＨＤＤ１０３、ＩＣカード２４０またはその双方を初期設定画面で選択させて、選択された保存媒体にインストール（保存）されている外部アプリ１１７をすべて起動していたが、この実施の形態２にかかる複合機１００は、インストール（保存）されている外部アプリ１１７の中から必要な外部アプリ１１７をさらに選定して起動するものである。
【０１１０】
実施の形態２にかかる複合機１００の機能的構成、ハードウェア構成および外部アプリ起動部１３１の構成は、実施の形態１の複合機１００と同様である。
【０１１１】
本実施の形態の複合機１００では、フラッシュメモリ２１０に格納されている拡張機能設定データ２１３の設定内容と外部アプリ起動部１３１による起動処理が実施の形態１と異なっている。
【０１１２】
図１０は、実施の形態２の複合機１００における拡張機能設定データ２１３の設定内容の一例を示す説明図である。図１０に示すように、拡張機能設定データ２１３は、実施の形態１と同様に外部アプリ１１７による拡張機能を使用するか否か（外部アプリ１１７を起動するか否か）の設定の他、インストールされている外部アプリ１１７ごとに、各外部アプリ１１７を「起動する」か「起動しない」かが設定される。かかる外部アプリ１１７ごとの起動の要否は、拡張機能が「起動する」に設定されている場合にのみオペレーションパネル９１０に表示される初期設定画面によって設定され、外部アプリ起動部１３１から参照される。拡張機能設定データ２１３の各外部アプリ１１７に「起動する」が設定されている場合には、外部アプリ１１７の起動処理が行われ、「起動しない」が設定されている場合には外部アプリ１１７の起動処理は行われない。
【０１１３】
次に、実施の形態２にかかる複合機１００の外部アプリ起動部１３１による外部アプリ１１７の起動処理について説明する。図１１は、外部アプリ起動部１３１による外部アプリ１１７の起動処理の手順を示すフローチャートである。
【０１１４】
外部アプリ１１７による拡張機能を使用するか否かの判断（ステップＳ１１０１）からライセンスキーの有効性の判断（ステップＳ１１０９）までの処理については、実施の形態１の複合機１００の外部アプリ起動処理（図７のステップＳ７０１〜Ｓ７０９）と同様である。
【０１１５】
ライセンスキーが有効の場合、外部アプリ起動部１３１は、起動選択データ２１１で設定された保存先の媒体から外部アプリ１１７の起動を行う（ステップＳ１１１０）。そして、ステップＳ１１０８からＳ１１１０までの処理を、拡張機能設定データ２１３で「起動」に設定されている外部アプリ１１７のみに対して繰り返し行う（ステップＳ１１１１）。これによって、インストールされている外部アプリ１１７の中で、拡張機能設定データ２１３で「起動」に設定されているすべての外部アプリ１１７が起動され、アプリケーション層で実行されることになる。従って、起動選択データ２１１で、「ＨＤＤ」と「ＩＣカード」の双方が設定されている場合には、ＨＤＤ１０３とＩＣカード２４０に格納されているすべての外部アプリ１１７の中から拡張機能設定データ２１３で設定された外部アプリ１１７が選択されて起動されることになる。
【０１１６】
ここで、拡張機能設定データ２１３の中の外部アプリ１１７の起動可否のデータは、複合機１００のオペレーションパネル９１０から、初期設定画面を用いて設定することが可能である。図１２は、実施の形態２の複合機１００においてオペレーションパネル９１０に表示される初期設定画面の内容例を示す説明図である。初期設定画面は、図１２に示す初期設定画面の管理者用設定画面に「拡張機能の起動」、「起動選択」の項目とともに、「外部アプリ起動」の項目を表示する。この「外部アプリ起動」の項目では、「する」と「しない」が選択可能となっており、「する」を選択するとＳＣＳ１２２によって拡張機能設定データ２１３に「起動」が設定され、「しない」を選択するとＳＣＳ１２２によって拡張機能設定データ２１３に「起動しない」が設定される。なお、他の項目の設定時の処理については、実施の形態１の複合機１００における初期設定画面と同様である。
【０１１７】
図１２に示す設定画面では、例えば、起動選択でＨＤＤを選択した場合には、ＨＤＤに格納されているアプリケーションが、「外部アプリ起動」の項目に表示される。
【０１１８】
このように実施の形態２にかかる複合機１００では、外部アプリ起動部１３１が、拡張機能設定データを参照し、「起動」が設定されている外部アプリ１１７のみを選択して起動しているので、外部アプリ１１７が多数インストールされている場合にも必要な拡張機能のみを実行することができ、複合機１００のメモリ容量などの資源の節約を図るとともに処理効率を向上させることができる。
【０１１９】
（実施の形態３）
実施の形態１および２にかかる複合機１００は、ＨＤＤ１０３、ＩＣカード２４０からの外部アプリ１１７の起動を行うものであったが、この実施の形態３にかかる複合機１００は、さらにネットワークに接続されたコンピュータに保存されている外部アプリ１１７を起動可能とするものである。また、外部アプリ１１７の起動先を、ＨＤＤ１０３、ＩＣカード２４０およびネットワークの間で選択可能とするものである。
【０１２０】
本実施の形態における外部アプリ起動部によるネットワーク上のコンピュータからの外部アプリケーションの起動は、コンピュータから外部アプリケーションをダウンロードして一時的に保存して起動する他、コンピュータから外部アプリケーションを複合機にインストールしてから起動する場合も含まれる。
【０１２１】
実施の形態３にかかる複合機１００の機能的構成およびハードウェア構成は実施の形態１および２の複合機１００と同様である。実施の形態３にかかる複合機１００は、外部アプリ起動部の構成および外部アプリ１１７の起動処理、フラッシュメモリ２１０に格納する起動選択データの内容が実施の形態１の複合機１００と異なっている。
【０１２２】
図１３は、実施の形態３の複合機１００における外部アプリ起動部１３３１の機能的構成およびネットワークに接続された構成を示すブロック図である。外部アプリ起動部１３３１は、図１３に示すように、初期化部２０１と、オプション解析部２０２と、ＨＤＤ診断結果通信部２０３と、フラッシュメモリ管理部２０４と、起動設定処理部２０５と、アプリケーション記述処理部２０６と、ライセンス判断部２０７と、アプリケーション起動部２０８と、通信部１３３２とから構成される。
【０１２３】
また、ＨＤＤ１０３およびＩＣカード２４０にはそれぞれ、実施の形態１の複合機１００と同様に、一または複数の外部アプリ１１７と、各媒体から起動する外部アプリ１１７を指定したデータを設定した起動設定ファイル２２１と、外部アプリ１１７の各種情報が設定されたアプリケーション記述ファイル２２２とが格納されている。
【０１２４】
フラッシュメモリ２１０には、起動選択データ１３５１と、拡張機能設定データ２１３と、外部アプリ存否データ２１４と、コンフィグレーションファイル２１２とが格納されている。
【０１２５】
本実施の形態にかかる複合機１００は、インターネット１３１０などのネットワークに接続されており、インターネット１３１０上にはコンピュータ１３２０とコンピュータ１３４０が接続されている。
【０１２６】
コンピュータ１３２０は、そのハードディスク装置などの保存領域に起動設定ファイル１３２１と、一または複数の外部アプリ１１７と、外部アプリ１１７に対応したアプリケーション記述ファイル１３２２とを保存している。一方、コンピュータ１３４０には、起動設定ファイル１３４１が保存されている。
【０１２７】
外部アプリ起動部１３３１の通信部１３３２は、このインターネット１３１０を介して、ｈｔｔｐプロトコルまたはｆｔｐプロトコルに従ってコンピュータ１３２０またはコンピュータ１３４０から起動設定ファイル１３２１、１３４１、アプリケーション記述ファイル１３２２の受信、外部アプリ１１７の受信を行うものである。
【０１２８】
次に、インターネット１３１０上のコンピュータ１３２０に格納されている起動設定ファイル１３２１、およびコンピュータ１３４０に格納されている起動設定ファイル１３４１の内容について説明する。図１４は、インターネット１３１０上のコンピュータ１３２０に格納されている起動設定ファイル１３２１、もしくはコンピュータ１３４０に格納されている起動設定ファイル１３４１の内容の一例を示す説明図である。
【０１２９】
インターネット１３１０上のコンピュータに１３２０，１３４０保存されている起動設定ファイル１３２１、１３４１は、基本的には複合機１００のＨＤＤ１０３およびＩＣカード２４０の起動設定ファイル２２１と同様に、インストールされている外部アプリ１１７のプログラム名称のリストを記述するものである。ただし、起動設定ファイル１３２１、１３４１は、複合機１００からｈｔｔｐプロトコルでアクセスされる場合には、図１４に示すように、ｈｔｔｐ形式で記述されている。なお、ｆｔｐプロトコルでアクセスされる領域に起動設定ファイル１３２１、１３４１がある場合には、ＨＤＤ１０３およびＩＣカード２４０の起動設定ファイル２２１と同様の形式で記述される。
【０１３０】
また、プログラム名称は、コンピュータ１３２０のアプリ保存領域のＵＲＬを含めて記述される。なお、このプログラム名称は一つのコンピュータ内で一意の名称である。
【０１３１】
なお、本実施の形態では、インターネット１３１０上の起動設定ファイルは、起動設定ファイル１３２１のように外部アプリ１１７のアプリ保存領域のあるコンピュータ１３２０と同じサイトにある他、起動設定ファイル１３４１のように外部アプリ１１７のアプリ保存領域のあるコンピュータ１３２０と異なるサイトのコンピュータ１３４０に存在するように構成しても良い。後者の場合には、起動設定ファイル１３４１のプログラム名称は、外部アプリ１１７のアプリ保存領域のあるコンピュータ１３２０のＵＲＬを指定するように記述する必要がある。また、ネットワークを介して外部アプリを起動する場合の起動設定ファイルを複合機１００内に格納しておいてもよい。
【０１３２】
次に、本実施の形態の複合機１００で使用する起動選択データ１３５１について説明する。図１５は、起動選択データ１３５１の設定内容の一例を示す説明図である。起動選択データ１３５１は、外部アプリ１１７の保存先（保存媒体、アプリ保存領域）を示すものである。図１５に示すように、起動選択データ１３５１には、「ＨＤＤ」、「ＩＣカード」、「ｈｔｔｐ」または「ｆｔｐ」が設定可能であり、この中から複数の項目を設定することも可能である。この起動選択データ１３５１は、オペレーションパネル９１０に表示される初期設定画面によって設定され、外部アプリ起動部１３１によって参照される。
【０１３３】
起動選択データ１３５１に「ＨＤＤ」が設定されている場合には、ＨＤＤ１０３に格納されている外部アプリ１１７のみが起動され、起動選択データ２１１に「ＩＣカード」が設定されている場合には、ＩＣカード２４０に保存されている外部アプリ１１７のみが起動される。
【０１３４】
また、起動選択データ１３５１に「ｈｔｔｐ」または「ｆｔｐ」が設定されている場合には、インターネット１３１０上のアプリ保存領域に格納されている外部アプリ１１７を受信して起動する。このとき、「ｈｔｔｐ」の設定時にはｈｔｔｐプロトコルでインターネット１３１０上のアプリ保存領域にアクセスし、「ｆｔｐ」の設定時にはｆｔｐプロトコルでインターネット１３１０上のアプリ保存領域にアクセスする。
【０１３５】
また、起動選択データ１３５１には、起動設定ファイルアドレス（ＵＲＬ）がｈｔｔｐプロトコルでアクセスする場合とｆｔｐプロトコルでアクセスする場合の両方について設定される。この起動設定ファイルアドレスもオペレーションパネル９１０に表示される初期設定画面によって設定され、外部アプリ起動部１３１によって参照される。
【０１３６】
すなわち、外部アプリ起動部１３１は、まず起動選択データ１３５１に設定されている起動設定ファイルアドレスのＵＲＬを参照する。このＵＲＬ指定されたインターネット１３１０上の起動設定ファイル１３２１もしくは１３４１を参照し、起動設定ファイル１３２１もしくは１３４１に指定されているＵＲＬのアプリ保存領域から外部アプリ１１７を受信して起動する。
【０１３７】
また、拡張機能設定データ２１３は、実施の形態１と同様のデータ構造とすることができる。更に、拡張機能設定データに実施の形態２と同様に、外部アプリ１１７ごとに「起動」、「起動しない」の設定を行い、外部アプリ１１７によって拡張機能設定データ２１３に「起動」と設定されている外部アプリ１１７のみを選択して起動するように構成することも可能である。
【０１３８】
次に、実施の形態３にかかる複合機１００の外部アプリ起動部１３３１による外部アプリ１１７の起動処理について説明する。図１６は、外部アプリ起動部１３３１による外部アプリ１１７の起動処理の手順を示すフローチャートである。
【０１３９】
外部アプリ起動部１３３１は、まずフラッシュメモリ２１０から拡張機能設定データ２１３を読み出し、外部アプリ１１７による拡張機能を使用するか否かを判断するため、拡張機能設定データ２１３に「起動」が設定されているか否かを調べる（ステップＳ１６０１）。そして、拡張機能設定データ２１３に「起動なし」が設定されている場合には（ステップＳ１６０１：Ｎｏ）、外部アプリ１１７の起動は行わず終了する。
【０１４０】
一方、拡張機能設定データ２１３に「起動」が設定されている場合には（ステップＳ１６０１：Ｙｅｓ）、次に、フラッシュメモリ２１０から起動選択データ１３５１を読み出し、外部アプリ１１７を起動する媒体を判断するため、起動選択データ１３５１の設定内容を調べる（ステップＳ１６０２）。そして、起動選択データ１３５１の設定がＨＤＤを含む場合には（ステップＳ１６０２：Ｙｅｓ）、ＨＤＤ診断部１３２による診断結果の通知待ち状態となる。
【０１４１】
そしてＨＤＤ診断部１３２から診断結果を受信すると（ステップＳ１６０３）、診断結果が異常なしか否かを判断する（ステップＳ１６０４）。診断結果が異常ありの場合（ステップＳ１６０４：Ｎｏ）には、エラーメッセージなどをオペレーションパネル９１０の表示部に出力して、外部アプリ１１７の起動は行わない。
【０１４２】
一方、診断結果が異常なしの場合には（ステップＳ１６０４：Ｙｅｓ）、インターネット１３１０上の外部アプリ１１７を起動するか否か判断するため、起動選択データ１３５１に「ｈｔｔｐ」または「ｆｔｐ」が設定されているか否か調べる（ステップＳ１６０５）。そして、「ｈｔｔｐ」または「ｆｔｐ」が設定されている場合には、起動選択データ１３５１の起動設定ファイルアドレスで指定されたＵＲＬにアクセスする（ステップＳ１６０６）。ここで、起動選択データ１３５１に「ｈｔｔｐ」が設定されている場合にはｈｔｔｐプロトコルで、起動選択データ１３５１に「ｆｔｐ」が設定されている場合にはｆｔｐプロトコルでＵＲＬにアクセスする。
【０１４３】
そして、外部アプリ起動部１３３１は、外部アプリ１１７が存在するか否かを判断するため、起動選択データで指定された媒体に起動設定ファイルが存在するか否かを調べる（ステップＳ１６０７）。ここで、起動選択の設定が「ＨＤＤ」または「ＩＣカード」の場合には、当該媒体に起動設定ファイル２２１が存在するか否かを調べる。また、起動選択の設定が「ｈｔｔｐ」または「ｆｔｐ」の場合には、ステップＳ１６０６でアクセスしたＵＲＬに起動設定ファイル１３２１もしくは１３４１が存在するか否かを調べる。
【０１４４】
そして、起動設定ファイルが存在しない場合には（ステップＳ１６０７：Ｎｏ）、その起動選択先に外部アプリ１１７はインストールされていないと判断し、フラッシュメモリ２１０の外部アプリ存否データ２１４に「無」を設定する（ステップＳ１６１４）。
【０１４５】
一方、起動設定ファイルが存在する場合には（ステップＳ１６０７：Ｙｅｓ）、さらにその起動設定ファイルに外部アプリ１１７のプログラム名称の設定が記述されているか否かを調べる（ステップＳ１６０８）。起動設定ファイルに外部アプリ１１７のプログラム名称が記述されていない場合には（ステップＳ１６０８：Ｎｏ）、その起動選択先に外部アプリ１１７はインストールされていないと判断し、フラッシュメモリ２１０の外部アプリ存否データ２１４に「無」を設定する（ステップＳ１６１４）。
【０１４６】
一方、起動設定ファイルに外部アプリ１１７のプログラム名称の設定が記述されている場合には（ステップＳ１６０８：Ｙｅｓ）、起動選択先に外部アプリ１１７がインストールされていると判断し、フラッシュメモリ２１０の外部アプリ存否データ２１４に「有」を設定する（ステップＳ１６０９）。
【０１４７】
次に、外部アプリ起動部１３３１は、起動選択データ１３５１で設定された起動選択先の媒体またはアプリ保存領域から外部アプリ１１７のアプリケーション記述ファイル２２２を読み込む（ステップＳ１６１０）。そして、アプリケーション記述ファイル２２２に設定されているライセンスキーが期限切れや異常でないかなど、ライセンスキーの有効性について判断する（ステップＳ１６１１）。このとき、ライセンスキーが無効と判断した場合には外部アプリ１１７の起動は行わず、その旨のエラーメッセージをオペレーションパネル９１０の表示部に出力する。
【０１４８】
ライセンスキーが有効の場合、外部アプリ起動部１３１は、起動選択データで設定された保存先の媒体から外部アプリ１１７の起動を行う（ステップＳ１６１２）。
【０１４９】
このとき、起動選択データ１３５１の起動選択がｈｔｔｐもしくはｆｔｐに設定されている場合には、起動設定ファイル１３２１もしくは１３４１でＵＲＬとともに指定されたアプリ保存領域から外部アプリ１１７を複合機１００に一時的にダウンロードして、ダウンロードした外部アプリ１１７を起動する。
【０１５０】
そして、上記ステップＳ１６１０からＳ１６１２までの処理を、起動設定ファイル２２１に設定されているすべての外部アプリ１１７について繰り返し行う（ステップＳ１６１３）。
【０１５１】
なお、インターネット１３１０上のアプリ保存領域の外部アプリ１１７を起動する場合には、複数の外部アプリ１１７をその都度ダウンロードすると通信効率が悪いため、最初にアプリ保存領域のＵＲＬにアクセスしたときに、起動設定ファイル１３２１もしくは１３４１で設定されている外部アプリ１１７を一括して複合機１００にダウンロードしておくことが好ましい。
【０１５２】
以上の処理によって、図２に示すように、指定された起動選択先にインストールされているすべての外部アプリ１１７が起動され、アプリケーション層で実行されることになる。
【０１５３】
ここで、本実施の形態の複合機１００でも起動選択データ１３５１の内容は、複合機１００のオペレーションパネル９１０から設定することが可能となっている。図１７は、初期設定画面の内容を示す説明図である。初期設定画面は、実施の形態１と同様に、ＳＣＳ１２２によってＯＣＳ１２６の関数ライブラリの描画関数を呼び出すことによりオペレーションパネル９１０に表示される。このとき、図１７に示すように、ＳＣＳ１２２は、フラッシュメモリ２１０の外部アプリ存否データ２１４を参照し、外部アプリ存否データ２１４が「有」に設定されている場合、すなわち起動選択データで設定されている起動選択先に外部アプリ１１７がインストールされている場合に、図１７に示す初期設定画面の管理者用設定画面に「拡張機能の起動」、「起動選択」および「起動設定ファイルアドレス」の項目を表示する。「拡張機能の起動」の項目は、実施の形態１の複合機１００の初期設定画面と同様である。
【０１５４】
また、「起動選択」の項目は、起動選択データ１３５１の起動選択に対応したものであり、「ＨＤＤ」、「ＩＣカード」、「ｈｔｔｐ」、「ｆｔｐ」およびこれらを複数組み合わせたものが選択可能となっており、ＳＣＳ１２２によって選択された内容が起動選択データ１３５１に設定される。
【０１５５】
また、「起動設定ファイルアドレス」の項目では、起動設定ファイル１３２１，１３４１の存在するアドレスを指定する。かかる指定は、ｈｔｔｐプロトコル使用時と、ｆｔｐプロトコル使用時の２つのパターンを指定するようになっている。かかる項目で設定された内容もＳＣＳ１２２によって起動選択データ１３５１に設定される。
【０１５６】
このように実施の形態３にかかる複合機１００では、外部アプリ起動部１３３１が外部アプリ１１７を格納するインターネット１３１０上のアプリ保存領域とＨＤＤ１０３とＩＣカード２４０とから一または複数を起動先として選択して外部アプリ１１７を起動しているので、外部アプリ１１７がインターネット１３１０に存在する場合でも、外部アプリ１１７を容易に起動することができ、複合機１００に多種多様な機能を実現させることができる。
【０１５７】
なお、実施の形態３では、コンピュータ１３２０にのみ外部アプリ１１７が保存されているが、インターネット１３１０上の複数の領域に外部アプリ１１７が保存されている場合にも本発明を適用することが可能である。この場合には、起動選択データ１３５１に複数の起動設定ファイルのＵＲＬを設定するか、起動設定ファイルに各アプリ保存領域のＵＲＬを設定するように構成する。
【０１５８】
また、実施の形態３の複合機１００では、インターネット１３１０上のアプリ保存領域に保存されている外部アプリ１１７を起動する場合、起動するごとに外部アプリ１１７をダウンロードして起動しているが、初めてアプリ保存領域の該当する外部アプリ１１７にアクセスしたときに、当該外部アプリ１１７を複合機１００にダウンロードするとともにインストールし、２回目以降の起動の場合には、インストールされたＨＤＤ１０３から外部アプリ１１７を起動するように構成しても良い。
【０１５９】
（実施の形態４）
実施の形態１〜３においては、外部アプリ起動部１３１は図１に示すように複合機１００内に備えられていた。実施の形態４は、ＶＡＳ（Ｖｉｒｔｕａｌ　Ａｐｐｌｉｃａｔｉｏｎ　Ｓｅｒｖｉｃｅ）に外部アプリ起動部１３１の機能を持たせる形態である。
【０１６０】
この場合の複合機１００の機能構成を図１８に示す。同図に示すように、ＶＡＳ１４０がアプリとコントロールサービスの間に設けられる。ＶＡＳ１４０は、アプリに対してはサーバプロセスとして動作し、各コントロールサービスに対してはクライアントプロセスとして動作するソフトウェアモジュールであり、アプリで使用するＡＰＩと、コントロールサービスが提供するＡＰＩとのバージョン差を吸収したり、アプリに対してコントロールサービスの特定の機能を隠蔽するといった機能を有している。
【０１６１】
このＶＡＳ１４０に外部アプリ起動部１３１の機能を持たせ、ＶＡＳ１４０が起動設定ファイル等を参照することにより、これまでに説明した外部アプリ起動部１３１と同様にして外部アプリの起動を行う。更に、ＶＡＳ１４０は、アプリを仮起動させ、アプリに関する情報（使用するリソースなど）をアプリから取得し、そのアプリが複合機１００で実行できるか否かを判断する起動制御の機能も有している。なお、仮起動とは、ＶＡＳ１４０とアプリとがプロセス間通信をして、ＶＡＳ１４０がアプリに関する情報を取得するためだけにアプリを起動することである。アプリはこのような仮起動ができるように作成されており、ＶＡＳ１４０から仮起動をパラメータにより指定されたときに仮起動する。
【０１６２】
また、上記の実施の形態１〜３では、ＳＣＳ１２２の機能により表示される初期設定画面から、起動先やどの外部アプリを起動するかの指示を行い、起動選択情報や拡張機能設定データを作成していたが、ＶＡＳ１４０が選択画面を表示し、起動選択情報や拡張機能設定データを作成してもよい。
【０１６３】
ＶＡＳ自体は、例えば、複合機初期化部１２９により起動される。また、ＶＡＳ１４０自体を複合機の外部の媒体（ＩＣカード、ネットワークを介して接続されたサーバ等）に格納しておき、そこからＶＡＳ１４０を起動することも可能である。
【０１６４】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【０１６５】
【発明の効果】
上述したように、本発明によれば、外部アプリケーションを種々の媒体や装置にインストールした場合でも、外部アプリケーションの起動を選択的に行え、多種多様な機能を提供することができる画像形成装置を提供することができる。また、本発明の外部アプリ起動部のプログラムによれば、画像形成装置に外部アプリケーションの起動を選択的に行える機能を提供することができる。
【０１６６】
【図面の簡単な説明】
【図１】実施の形態１の複合機の構成を示すブロック図である。
【図２】実施の形態１にかかる複合機の外部アプリ起動部の機能的構成を示すブロック図である。
【図３】起動設定ファイルの内容の一例を示す説明図である。
【図４】アプリケーション記述ファイルの内容の一例を示す説明図である。
【図５】起動選択データ、拡張機能設定データ、外部アプリ存否データの設定内容を示す説明図である。
【図６】複合機初期化部による初期化処理の手順を示すフローチャートである。
【図７】外部アプリ起動部による外部アプリの起動処理の手順を示すフローチャートである。
【図８】初期設定画面の内容を示す説明図である。
【図９】実施の形態１の複合機のハードウェア構成図である。
【図１０】実施の形態２の複合機における拡張機能設定データの設定内容の一例を示す説明図である。
【図１１】実施の形態２の複合機における外部アプリ起動部による外部アプリの起動処理の手順を示すフローチャートである。
【図１２】実施の形態２の複合機においてオペレーションパネルに表示される初期設定画面の内容例を示す説明図である。
【図１３】実施の形態３の複合機における外部アプリ起動部の機能的構成およびネットワークに接続された構成を示すブロック図である。
【図１４】インターネット上のコンピュータに格納されている起動設定ファイルの内容の一例を示す説明図である。
【図１５】実施の形態３の複合機における起動選択データの設定内容の一例を示す説明図である。
【図１６】実施の形態３の複合機における外部アプリ起動部による外部アプリの起動処理の手順を示すフローチャートである。
【図１７】実施の形態３の複合機における初期設定画面の内容を示す説明図である。
【図１８】実施の形態４の複合機の構成を示すブロック図である。
【符号の説明】
１００　複合機
１０１　白黒ラインプリンタ
１０２　カラーラインプリンタ
１０３　ハードディスク装置（ＨＤＤ）
１０４　ハードウェアリソース
１１０　ソフトウェア群
１１１　プリンタアプリ
１１２　コピーアプリ
１１３　ファックスアプリ
１１４　スキャナアプリ
１１５　ネットファイルアプリ
１１６　工程検査アプリ
１１７　外部アプリ
１１８　インストーラ
１２０　プラットホーム
１２１　汎用ＯＳ
１２２　ＳＣＳ
１２３　ＳＲＭ
１２４　ＥＣＳ
１２５　ＭＣＳ
１２６　ＯＣＳ
１２７　ＦＣＳ
１２８　ＮＣＳ
１２９　複合機初期化部
１３０　アプリケーション
１３１　外部アプリ起動部
１３２　ＨＤＤ診断部
１４０　ＶＡＳ
２０１　初期化部
２０２　オプション解析部
２０３　ＨＤＤ診断結果通信部
２０４　フラッシュメモリ管理部
２０５　起動設定処理部
２０６　アプリケーション記述処理部
２０７　ライセンス判断部
２０８　アプリケーション起動部
２１０　フラッシュメモリ
２１１　起動選択データ
２１２　コンフィグレーションファイル
２１３　拡張機能設定データ
２１４　外部アプリ存否データ
２２１，１３２１，１３４１　起動設定ファイル
２２２　アプリケーション記述ファイル
２３０　ＩＣカードインタフェース部
２４０　ＩＣカード
９００　コントローラボード
９０１　ＡＳＩＣ
９０２　ＣＰＵ
９０３　ＳＤＲＡＭ（ＲＡＭ）
９０８　ＳＲＡＭ
９１０　オペレーションパネル
９３０　ＵＳＢ
９４０　ＩＥＥＥ１３９４
９５０　プリンタ
１３１０　インターネット
１３２０　コンピュータ（アプリ保存領域）
１３３１　外部アプリ起動部
１３３２　通信部
１３４０　コンピュータ
１３５１　起動選択データ
【図１】
2004110779.tif 000003
【図２】
2004110779.tif 000004
【図３】
2004110779.tif 000005
【図４】
2004110779.tif 000006
【図５】
2004110779.tif 000007
【図６】
2004110779.tif 000008
【図７】
2004110779.tif 000009
【図８】
2004110779.tif 000010
【図９】
2004110779.tif 000011
【図１０】
2004110779.tif 000012
【図１１】
2004110779.tif 000013
【図１２】
2004110779.tif 000014
【図１３】
2004110779.tif 000015
【図１４】
2004110779.tif 000016
【図１５】
2004110779.tif 000017
【図１６】
2004110779.tif 000018
【図１７】
2004110779.tif 000019
【図１８】
2004110779.tif 000020