(57)【要約】【課題】プログラムの追加を動的かつ容易に行うことが可能な画像形成装置およびプログラム追加方法並びに記録媒体を提供することを目的とする。【解決手段】ハードウェア資源を用いて処理を行うプログラムと、記録媒体１２６を挿抜可能なスロット１２５とを有する画像形成装置であって、スロット１２５に対する記録媒体１２６の挿抜を監視する状態監視手段１２３，１２４と、スロット１２５に挿入された記録媒体１２６をアクセス可能な状態に起動する記録媒体起動手段１２１と、アクセス可能な状態に起動した記録媒体１２６からプログラムを読み出し、そのプログラムを起動するプログラム起動手段５２とを有することにより上記課題を解決する。【選択図】　　　　　図８
2004046802.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア資源を用いて画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置であって、
前記スロットに対する記録媒体の挿抜を監視する状態監視手段と、
前記スロットに挿入された記録媒体をアクセス可能な状態に起動する記録媒体起動手段と、
前記アクセス可能な状態に起動した記録媒体からプログラムを読み出し、そのプログラムを起動するプログラム起動手段と
を有することを特徴とする画像形成装置。
【請求項２】
前記状態監視手段は、前記スロットに対する記録媒体の挿抜情報を通知され、その挿抜情報を前記プログラム起動手段に通知することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記プログラム起動手段は、前記状態監視手段から前記スロットへの記録媒体の挿入が通知されると、前記記録媒体起動手段を起動することを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記記録媒体起動手段は、前記スロットに挿入された記録媒体をアクセス可能な状態に起動し、前記記録媒体がアクセス可能な状態である旨を前記状態監視手段に通知することを特徴とする請求項３記載の画像形成装置。
【請求項５】
前記プログラム起動手段は、前記状態監視手段から前記記録媒体がアクセス可能な状態である旨が通知されると、その記録媒体に記録されている設定情報に応じて前記記録媒体からプログラムを読み出し、読み出したプログラムを起動することを特徴とする請求項４記載の画像形成装置。
【請求項６】
前記プログラム起動手段は、前記設定情報に含まれる起動命令に応じて前記記録媒体からメモリ上にプログラムを読み出し、メモリ上に読み出したプログラムをアクセス可能な状態としてから、前記プログラムを起動することを特徴とする請求項５記載の画像形成装置。
【請求項７】
前記プログラム起動手段は、前記記録媒体に記録されている設定情報の認証チェックを行い、その認証チェックの結果が正常であるときに設定情報を前記記録媒体から読み出すことを特徴とする請求項５記載の画像形成装置。
【請求項８】
前記プログラム起動手段は、前記記録媒体から読み出したプログラムの認証チェックを行い、その認証チェックの結果が正常であるときにプログラムをアクセス可能な状態とし、アクセス可能な状態となったプログラムを起動することを特徴とする請求項５又は７記載の画像形成装置。
【請求項９】
前記プログラム起動手段は、前記スロットに挿入された記録媒体に対する処理が終了すると、起動されているプログラムに処理が終了した旨を通知することを特徴とする請求項１記載の画像形成装置。
【請求項１０】
前記記録媒体の活性挿抜が可能であることを特徴とする請求項１乃至９何れか一項記載の画像形成装置。
【請求項１１】
ハードウェア資源を用いて画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置のプログラム追加方法であって、
前記スロットへの記録媒体の挿入を検知する挿入検知段階と、
前記スロットへの挿入を検知した記録媒体をアクセス可能な状態に起動する記録媒体起動段階と、
前記アクセス可能な状態に起動した記録媒体からプログラムを読み出し、そのプログラムを起動するプログラム起動段階と
を有することを特徴とするプログラム追加方法。
【請求項１２】
前記プログラム起動段階は、前記記録媒体がアクセス可能な状態である旨が通知されると、その記録媒体に記録されている設定情報に応じて前記記録媒体からプログラムを読み出し、読み出したプログラムを起動することを特徴とする請求項１１記載のプログラム追加方法。
【請求項１３】
前記プログラム起動段階は、前記設定情報に含まれる起動命令に応じて前記記録媒体からメモリ上にプログラムを読み出し、メモリ上に読み出したプログラムをアクセス可能な状態としてから、前記プログラムを起動することを特徴とする請求項１２記載のプログラム追加方法。
【請求項１４】
前記プログラム起動段階は、前記記録媒体に記録されている設定情報の認証チェックを行い、その認証チェックの結果が正常であるときに設定情報を前記記録媒体から読み出すことを特徴とする請求項１２記載のプログラム追加方法。
【請求項１５】
前記プログラム起動段階は、前記記録媒体から読み出したプログラムの認証チェックを行い、その認証チェックの結果が正常であるときにプログラムをアクセス可能な状態とし、アクセス可能な状態となったプログラムを起動することを特徴とする請求項１２又は１４記載のプログラム追加方法。
【請求項１６】
前記プログラム起動段階は、前記スロットに挿入された記録媒体に対する処理が終了すると、起動されているプログラムに処理が終了した旨を通知することを特徴とする請求項１１記載のプログラム追加方法。
【請求項１７】
前記記録媒体の活性挿抜が可能であることを特徴とする請求項１１乃至１６何れか一項記載のプログラム追加方法。
【請求項１８】
ハードウェア資源を用いて画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置の前記スロットに挿入される記録媒体であって、
１つ以上のプログラムおよび設定情報を記録しており、前記スロットに挿入されると前記画像形成装置からアクセス可能な状態に起動され、前記設定情報に応じてプログラムが前記画像形成装置に読み出されて起動されることを特徴とする記録媒体。
【請求項１９】
前記記録媒体は、活線挿抜可能であることを特徴とする請求項１８記載の記録媒体。
【請求項２０】
前記記録媒体は、プログラム情報を表すヘッダと、所定の形式で圧縮されたプログラムとを記録していることを特徴とする請求項１８記載の記録媒体。
【請求項２１】
前記記録媒体は、１つ以上のプログラムの認証チェックに利用する第１の認証チェック用ファイルと、設定情報の認証チェックに利用する第２の認証チェック用ファイルとを記録していることを特徴とする請求項１８記載の記録媒体。
【請求項２２】
前記記録媒体は、メモリカードであることを特徴とする請求項１８記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像形成装置およびプログラム追加方法並びに記録媒体に係り、特に記録媒体からプログラムを追加する画像形成装置およびプログラム追加方法並びに記録媒体に関する。
【０００２】
【従来の技術】
近年、プリンタ，コピー，ファクシミリおよびスキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、融合機という）が知られるようになった。この融合機は、１つの筐体内に表示部，印刷部および撮像部などを設けると共に、プリンタ，コピー，ファクシミリおよびスキャナにそれぞれ対応する４種類のソフトウェアを設け、そのソフトウェアを切り替えることより、プリンタ，コピー，ファクシミリおよびスキャナとして動作させるものである。特許文献１には、上記のような融合機の一例が記載されている。
【０００３】
このような融合機は、電源投入後に、ＢＩＯＳ（Ｂａｓｉｃ　Ｉｎｐｕｔ／Ｏｕｔｐｕｔ　Ｓｙｓｔｅｍ）およびブートローダ（Ｂｏｏｔ　Ｌｏａｄｅｒ）が起動する。ブートローダは、カーネル（Ｋｅｒｎｅｌ）およびルートファイルシステムをＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）上に展開してカーネルを起動する。そして、カーネルはルートファイルシステムをマウントする。ここでマウントとは、ファイルシステムや周辺機器などをアクセス可能な状態に起動することをいう。
【０００４】
カーネルの起動後、アプリケーション（以下、アプリという）や各種サービスを起動するアプリ／サービス起動プログラムが起動される。アプリ／サービス起動プログラムは融合機で最初に起動されるプロセスであり、所定の設定ファイルに従ってファイルシステムをマウントし、融合機の動作に必要なサービス層およびアプリのプロセスを所定の設定ファイルに従って起動していた。
【０００５】
このような従来の融合機では、起動するアプリのプログラムをハードディスク装置やＲＯＭなどに記録しておく必要があった。特許文献２には、起動するアプリのプログラムをハードディスク装置やＲＯＭなどに追加する画像処理装置の一例が記載されている。
【０００６】
【特許文献１】
特開２００２−８４３８３号公報
【０００７】
【特許文献２】
特開２００１−７６１２５号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、従来の融合機では、起動するアプリのプログラムだけでなく起動するアプリに応じた設定ファイルをハードディスク装置やＲＯＭなどに記録しておく必要があった。つまり、従来の融合機では、新たなアプリの追加を容易に行うことができないという問題があった。
【０００９】
この結果、従来の融合機は機能拡張やアプリのバージョンアップを容易に行うことができないという問題があった。さらに、従来の融合機は電源を投入したままの状態でアプリを追加することができないという問題があった。
【００１０】
本発明は、上記の点に鑑みなされたもので、プログラムの追加を動的かつ容易に行うことが可能な画像形成装置およびプログラム追加方法並びに記録媒体を提供することを目的とする。
【００１１】
【課題を解決するための手段】
そこで、上記課題を解決するため、本発明は、ハードウェア資源を用いて画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置であって、前記スロットに対する記録媒体の挿抜を監視する状態監視手段と、前記スロットに挿入された記録媒体をアクセス可能な状態に起動する記録媒体起動手段と、前記アクセス可能な状態に起動した記録媒体からプログラムを読み出し、そのプログラムを起動するプログラム起動手段とを有することを特徴とする。
【００１２】
また、上記課題を解決するため、本発明は、ハードウェア資源を用いて画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置のプログラム追加方法であって、前記スロットへの記録媒体の挿入を検知する挿入検知段階と、前記スロットへの挿入を検知した記録媒体をアクセス可能な状態に起動する記録媒体起動段階と、前記アクセス可能な状態に起動した記録媒体からプログラムを読み出し、そのプログラムを起動するプログラム起動段階とを有することを特徴とする。
【００１３】
また、上記課題を解決するため、本発明は、ハードウェア資源を用いて画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置の前記スロットに挿入される記録媒体であって、１つ以上のプログラムおよび設定情報を記録しており、前記スロットに挿入されると前記画像形成装置からアクセス可能な状態に起動され、前記設定情報に応じてプログラムが前記画像形成装置に読み出されて起動されることを特徴とする。
【００１４】
本発明によれば、スロットに対する記録媒体の挿抜を監視し、スロットに挿入された記録媒体をアクセス可能な状態に起動し、アクセス可能な状態に起動した記録媒体からプログラムを読み出して起動することができるので、記録媒体に記録したプログラムを容易に画像形成装置へ追加することができる。また、記録媒体に記録したプログラムを用いて画像形成装置の機能拡張やプログラムのバージョンアップを容易に行うことができる。さらに、記録媒体が活線挿抜可能であれば、画像形成装置の電源を投入したままの状態でプログラムの追加を動的に行うことができる。
【００１５】
【発明の実施の形態】
次に、本発明の実施の形態について図面に基づいて説明する。
【００１６】
図１は、本発明による融合機の一実施例の構成図を示す。融合機１は、白黒レーザープリンタ（Ｂ＆Ｗ　ＬＰ）１１と，カラーレーザープリンタ（ＣｏｌｏｒＬＰ）１２と，スキャナやファクシミリなどのハードウェアリソース１３と，ソフトウェア群２０と，融合機起動部５０とを有する。また、ソフトウェア群２０はアプリケーション３０とプラットフォーム４０とを有する。
【００１７】
アプリケーション３０は、プリンタ，コピー，ファクシミリおよびスキャナなどの画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うものである。
【００１８】
アプリケーション３０は、ページ記述言語（ＰＤＬ，ＰＣＬ）およびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ３１と，コピー用のアプリケーションであるコピーアプリ３２と，ファクシミリ用アプリケーションであるファックスアプリ３３と，スキャナ用アプリケーションであるスキャナアプリ３４と，ネットワークファイル用アプリケーションであるネットファイルアプリ３５と，工程検査用アプリケーションである工程検査アプリ３６とを有している。
【００１９】
また、プラットフォーム４０は、アプリケーション３０からの処理要求を解釈してハードウェア資源の獲得要求を発生するコントロールサービスと、１つ以上のハードウェア資源の管理を行ってコントロールサービスからの獲得要求を調停するシステムリソースマネージャ（以下、ＳＲＭという）４３と、オペレーティングシステム（以下、ＯＳという）４１とを有するように構成されている。
【００２０】
コントロールサービスは、システムコントロールサービス（以下、ＳＣＳという）４２，エンジンコントロールサービス（以下、ＥＣＳという）４４，メモリコントロールサービス（以下、ＭＣＳという）４５，オペレーションパネルコントロールサービス（以下、ＯＣＳという）４６，ファックスコントロールサービス（以下、ＦＣＳという）４７，ネットワークコントロールサービス（以下、ＮＣＳという）４８など、一つ以上のサービスモジュールを有するように構成されている。
【００２１】
なお、プラットフォーム４０は予め定義されている関数によりアプリケーション３０からの処理要求を受信可能とするアプリケーションプログラムインターフェース（以下、ＡＰＩという）を有するように構成されている。ＯＳ４１は、ユニックス（ＵＮＩＸ（登録商標））等であって、プラットフォーム４０およびアプリケーション３０の各ソフトウェアをプロセスとして並列実行する。
【００２２】
ＳＲＭ４３のプロセスは、ＳＣＳ４２と共にシステムの制御およびハードウェア資源の管理を行うものである。例えばＳＲＭ４３のプロセスは、エンジン，メモリ，ＨＤＤファイル，ホストＩ／Ｏ（セントロＩ／Ｆ，ネットワークＩ／Ｆ，ＩＥＥＥ１３９４　Ｉ／Ｆ，ＲＳ２３２Ｃ　Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
【００２３】
具体的に、ＳＲＭ４３は要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判定し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に通知する。また、ＳＲＭ４３は上位層からの要求に対してハードウェア資源を利用するためのスケジューリングを行い、要求内容（例えば、プリンタエンジンによる紙搬送と作像動作，メモリ確保，ファイル生成など）を直接実施している。
【００２４】
ＳＣＳ４２のプロセスは、アプリケーション管理，操作部制御，システム画面表示，ＬＥＤ表示，ハードウェア資源管理，割り込みアプリケーション制御などの処理を行う。ＥＣＳ４４のプロセスは、白黒レーザープリンタ１１，カラーレーザープリンタ１２，ハードウェアリソース１３などのエンジンの制御を行う。
【００２５】
ＭＣＳ４５のプロセスは、画像メモリの取得および解放，ＨＤＤの利用，画像データの圧縮および伸張などのメモリ制御を行う。ＯＣＳ４６のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。
【００２６】
ＦＣＳ４７のプロセスは、システムコントローラの各アプリケーション層からＰＳＴＮまたはＩＳＤＮ網を利用したファクシミリ送受信，バックアップ用のメモリで管理されている各種ファクシミリデータの登録／引用，ファクシミリ読み取り，ファクシミリ受信印刷，融合送受信を行うためのＡＰＩを提供する。
【００２７】
ＮＣＳ４８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【００２８】
例えばＮＣＳ４８は、ネットワークを介して接続されるネットワーク機器とのデータ通信をｈｔｔｐｄ（ＨｙｐｅｒＴｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ　Ｄａｅｍｏｎ）により、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）で制御する。
【００２９】
融合機１は、各アプリケーションで共通的に必要な処理をプラットフォーム４０で一元的に処理することができる。次に、融合機１のハードウェア構成について説明する。
【００３０】
図２は、本発明による融合機の一実施例のハードウェア構成図を示す。融合機１は、コントローラ６０と，オペレーションパネル８０と，ＦＣＵ８１と，エンジン部８２とを含む。コントローラ６０は、ＣＰＵ６１と，システムメモリ６２と，ノースブリッジ（ＮＢ）６３と，サウスブリッジ（ＳＢ）６４と，ＡＳＩＣ６６と，ローカルメモリ６７と，ＨＤＤ６８と、ネットワークインターフェースカード（ＮＩＣ）６９と，ＳＤカード用スロット７０と，ＵＳＢデバイス７１と，ＩＥＥＥ１３９４デバイス７２と，セントロニクス７３とを含む。
【００３１】
オペレーションパネル８０は、コントローラ６０のＡＳＩＣ６６に接続されている。また、ＦＣＵ８１およびエンジン部８２は、コントローラ６０のＡＳＩＣ６６にＰＣＩバス８３で接続されている。
【００３２】
コントローラ６０は、ＡＳＩＣ６６にローカルメモリ６７，ＨＤＤ６８などが接続されると共に、ＣＰＵ６１とＡＳＩＣ６６とがＣＰＵチップセットのＮＢ６３を介して接続されている。コントローラ６０は、ＮＢ６３を介してＣＰＵ６１とＡＳＩＣ６６とを接続することにより、ＣＰＵ６１のインターフェースが公開されていない場合に対応する。なお、ＡＳＩＣ６６とＮＢ６３とはＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ　Ｇｒａｐｈｉｃｓ　Ｐｏｒｔ　）６５を介して接続されている。
【００３３】
このように、図１のアプリケーション３０やプラットフォーム４０を形成する一つ以上のプロセスを実行制御するため、ＡＳＩＣ６６とＮＢ６３とを低速のＰＣＩバスでなくＡＧＰ６５を介して接続することで、パフォーマンスの低下を防いでいる。
【００３４】
ＣＰＵ６１は、融合機１の全体制御を行うものである。ＣＰＵ６１は、ＯＳ４１上にＳＣＳ４２，ＳＲＭ４３，ＥＣＳ４４，ＭＣＳ４５，ＯＣＳ４６，ＦＣＳ４７およびＮＣＳ４８をそれぞれプロセスとして起動して実行させると共に、アプリケーション３０を形成するプリンタアプリ３１，コピーアプリ３２，ファックスアプリ３３，スキャナアプリ３４，ネットファイルアプリ３５，工程検査アプリ３６を起動して実行させる。
【００３５】
ＮＢ６３は、ＣＰＵ６１，システムメモリ６２，ＳＢ６４，ＡＳＩＣ６６，ＮＩＣ６９，ＳＤカード用スロット７０，ＵＳＢデバイス７１，ＩＥＥＥ１３９４デバイス７２およびセントロニクス７３を接続するためのブリッジである。
【００３６】
ＳＢ６４，ＮＩＣ６９，ＳＤカード用スロット７０，ＵＳＢデバイス７１，ＩＥＥＥ１３９４デバイス７２およびセントロニクス７３は、ＰＣＩバス７４を介してＮＢ６３に接続されている。なお、ＳＢ６４は、ＰＣＩバス７４とＲＯＭや周辺デバイス等とを接続するためのブリッジである。
【００３７】
システムメモリ６２は、融合機１の描画用メモリなどとして用いるメモリである。ローカルメモリ６７はコピー用画像バッファ，符号バッファとして用いるメモリである。
【００３８】
ＡＳＩＣ６６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。ＨＤＤ６８は、画像データの蓄積，文書データの蓄積，プログラムの蓄積，フォントデータの蓄積，フォームの蓄積などを行うストレージ（補助記憶装置）の一例である。
【００３９】
ＮＩＣ６９は、融合機１をネットワークに接続するインターフェース機器である。ＳＤカード用スロット７０はＳＤカードを挿抜可能なものであり、ＳＤカードの挿入または抜き出しに応じた割り込みを後述するＳＤカードアクセスドライバに対して行う。ＵＳＢデバイス７１，ＩＥＥＥ１３９４デバイス７２およびセントロニクス７３は、夫々の規格に準じたインターフェースである。
【００４０】
また、オペレーションパネル８０は、オペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う操作部である。なお、ＦＣＵ８１はメモリを有している。ＦＣＵ８１が有するメモリは、例えば融合機１の電源がＯＦＦのときに受信したファクシミリデータを一時的に格納するために利用される。
【００４１】
図１の融合機起動部５０は、融合機１の電源投入時に最初に実行され、プラットフォーム４０やアプリケーション３０を起動するものである。図３は、融合機起動部の一例の構成図を示す。融合機起動部５０は、ＲＯＭモニタ５１と，プログラム起動部５２とを有する。
【００４２】
ＢＩＯＳおよびブートローダとしてのＲＯＭモニタ５１は電源投入時に実行されるものであり、ハードウェアの初期化，コントローラ６０の診断，ソフトウェアの初期化などを行う。ＲＯＭモニタ５１は、カーネルおよびルートファイルシステムをシステムメモリ６２上に展開してカーネルを起動する。そして、カーネルはルートファイルシステムをマウントする。
【００４３】
アプリ／サービス起動プログラムとしてのプログラム起動部５２は、カーネルから呼び出されるものであり、システムメモリ６２及びローカルメモリ６７上にメモリ領域を確保する。プログラム起動部５２は、融合機１で最初に起動されるプロセスであって、所定の設定ファイルに従ってファイルシステムをマウントする。
【００４４】
プログラム起動部５２は、融合機１の動作に必要なアプリケーション３０およびプラットフォーム４０のプログラムを所定の設定ファイルに従ってＲＯＭなどから読み出し、読み出した各プログラムをシステムメモリ６２及びローカルメモリ６７上に確保したメモリ領域に展開してアプリケーション３０およびプラットフォーム４０のプロセスを起動するものである。
【００４５】
更に、プログラム起動部５２の処理について説明する。プログラム起動部５２は、起動時に所定のマスタ設定ファイルを読み込み、読み込んだマスタ設定ファイルに従ってファイルシステムのマウントおよびプロセスの起動を行う。例えば図４のようなファイルツリーの場合、プログラム起動部５２はマスタ設定ファイルとして「／ｅｔｃ／ｉｎｉｔ．ｃｏｎｆ」を起動時に読み込む。図４は、ファイルツリーの一例の構成図を示す。
【００４６】
プログラム起動部５２は、読み込んだマスタ設定ファイルにマウントの記述が存在した場合、そのマウントの記述に従ってマウント処理を実行する。例えば図５のようなマスタ設定ファイルの場合、プログラム起動部５２はマウントの記述に従ってＳＤカード０〜３の上のファイルシステムのマウント処理を行う。図５は、マスタ設定ファイルの一例の構成図を示す。
【００４７】
また、プログラム起動部５２はマウントしたファイルシステムのルートに所定の設定ファイルが存在する場合、又はマウントしたファイルシステムのルートに所定の拡張子のファイルを含む所定のディレクトリが存在する場合、所定の設定ファイル又は所定の拡張子のファイルを読み込んでファイルシステムのマウント処理を行う。
【００４８】
例えばマウントしたＳＤカードファイルシステムのルートに図６のような設定ファイル「ｉｎｉｔ．ｃｏｎｆ」又は「ｉｎｉｔ．ｃｎｆ」が存在する場合、プログラム起動部５２は設定ファイルに存在するマウントの記述に従ってマウント処理を実行する。図６は、設定ファイルの一例の構成図を示す。
【００４９】
マウントしたＳＤカードファイルシステムのルートに図７のようなディレクトリ「ｉｎｉｔ．ｄ」が存在し、そのディレクトリに拡張子「ｃｏｎｆ」，「ｃｎｆ」のファイルが含まれる場合、プログラム起動部５２はそのファイルに存在するマウントの記述に従ってマウント処理を実行する。図７は、ＳＤカードのファイルツリーの一例の構成図を示す。
【００５０】
なお、プログラム起動部５２がマウントできるファイルシステムは、図５及び図６に記載されているような「ｇｚｒｏｍｆｓ」などがある。このファイルシステム「ｇｚｒｏｍｆｓ」は、ｇｚｉｐ圧縮されたＲＯＭＦＳ形式のファイルをＲＡＭ上に展開してマウントする。
【００５１】
以下、融合機１の電源を投入したままの状態で、アプリケーションが記録されているＳＤカードから融合機１にアプリケーションを追加する例について説明していく。
【００５２】
図８は、本発明によるプログラム追加方法の一実施例の説明図を示す。図８の説明図では、融合機１の構成のうち説明に必要な構成を表し、説明に必要のない構成を省略している。
【００５３】
ＳＤカード１２６は、ルートファイルシステム，サービス層，アプリケーション，フォントデータなどが、モジュール情報の格納されたヘッダとＲＯＭＦＳ形式のデータから構成されるバイナリファイルとして記録されている。なお、ＳＤカード１２６は融合機１の電源を投入したままの状態で、いわゆる活線挿抜が可能である。ＳＤカード用スロット１２５は、ＳＤカード１２６を挿抜可能なものであり、ＳＤカード１２６の挿入または抜き出しに応じた割り込みをＳＤカードアクセスドライバ１２４に対して行う。
【００５４】
ＳＤカードアクセスドライバ１２４は、ＳＤカード１２６に対するアクセス制御を行うものであり、ＳＤカード用スロット１２５からの割り込みに応じてＳＤカード１２６の挿入または抜き出しをＳＤカードステータスモニタドライバ１２３に通知する。
【００５５】
ＳＤカードステータスモニタドライバ１２３は、ＳＤカード１２６の挿入，抜き出し，マウント，アンマウントなど、ＳＤカード１２６のステータス情報を管理するものであり、ＳＤカード１２６のステータス情報をプログラム起動部５２に通知する。
【００５６】
プログラム起動部５２は、ＳＤカード１２６の挿入または抜き出しに応じてＳＤカードチェックプログラム１２１を起動する。また、プログラム起動部５２はＳＤカードステータスモニタドライバ１２３からのＳＤカード１２６のステータス情報に応じてＳＤカード１２６内のプログラムを起動する。
【００５７】
ＳＤカードチェックプログラム１２１は、ＳＤカード１２６についてパーティションが正しいか，ファイルシステムの状態が正しいかをチェックし、ファイルシステム１２２として使用可能な状態にするためのものである。ＳＤカードチェックプログラム１２１は、例えばＳＤカード１２６のチェック機能，マウント機能，アンマウント機能，状態通知機能などを有している。
【００５８】
次に、本発明によるプログラム追加方法の処理手順についてフローチャートを参照しつつ説明していく。プログラム起動部５２は、融合機１のアプリケーション３０およびプラットフォーム４０のプロセスを起動したあと、イベント待ち状態となる。図９は、イベント待ち処理の一例のフローチャートを示す。
【００５９】
図９中、ステップＳ１では、プログラム起動部５２が、イベントの発生有無を判定する。イベントの発生が無いと判定すると（Ｓ１においてＮＯ）、プログラム起動部５２はステップＳ１の処理を繰り返す。イベントの発生が有ると判定すると（Ｓ１においてＹＥＳ）、プログラム起動部５２はステップＳ２に進む。
【００６０】
例えばＳＤカード１２６がＳＤカード用スロット１２５に挿入されると、ＳＤカードアクセスドライバ１２４はＳＤカード用スロット１２５からの割り込みに応じてＳＤカード１２６の挿入をＳＤカードステータスモニタドライバ１２３に通知する。そして、ＳＤカードステータスモニタドライバ１２３は、ＳＤカード１２６の挿入をプログラム起動部５２に通知する。プログラム起動部５２は、ＳＤカードステータスモニタドライバ１２３からＳＤカード１２６の挿入が通知されたときにイベントの発生があると判定する。
【００６１】
また、ＳＤカード１２６がＳＤカード用スロット１２５から抜き出されると、ＳＤカードアクセスドライバ１２４はＳＤカード用スロット１２５からの割り込みに応じてＳＤカード１２６の抜き出しをＳＤカードステータスモニタドライバ１２３に通知する。そして、ＳＤカードステータスモニタドライバ１２３は、ＳＤカード１２６の抜き出しをプログラム起動部５２に通知する。プログラム起動部５２は、ＳＤカードステータスモニタドライバ１２３からＳＤカード１２６の抜き出しが通知されたときにイベントの発生があると判定する。
【００６２】
ステップＳ２では、プログラム起動部５２が、イベントの内容を判定する。イベントの内容がＳＤカード１２６の挿入検知である場合、プログラム起動部５２はステップＳ３に進む。ステップＳ３では、後述するＳＤカード挿入検知処理が行われる。一方、イベントの内容がＳＤカード１２６の抜出検知である場合、プログラム起動部５２はステップＳ４に進む。ステップＳ４では、後述するＳＤカード抜出検知処理が行われる。
【００６３】
図１０は、ＳＤカード挿入検知処理の一例のフローチャートを示す。ステップＳ１１では、プログラム起動部５２が、ＳＤカードチェックプログラム１２１を起動させる。ステップＳ１１に続いてステップＳ１２に進み、ＳＤカードチェックプログラム１２１はＳＤカード１２６のマウントを行い、ＳＤカード１２６のマウントを行った旨をＳＤカードステータスモニタドライバ１２３に通知して処理を停止する。
【００６４】
ステップＳ１２に続いてステップＳ１３に進み、プログラム起動部５２はＳＤカードステータスモニタドライバ１２３からＳＤカード１２６がマウントされた旨を通知されると、マウントされたＳＤカード１２６から図６のような設定ファイル又は図７中の設定ファイル（＊．ｃｎｆ）を読み出して解析する。
【００６５】
ステップＳ１３に続いてステップＳ１４に進み、プログラム起動部５２は図６のような設定ファイル又は図７中の設定ファイル（＊．ｃｎｆ）に存在するマウントの記述に従ってマウント処理を行う。そして、ステップＳ１４に続いてステップＳ１５に進み、プログラム起動部５２はＳＤカード１２６に記録されているプログラムのプロセスを起動する。
【００６６】
したがって、融合機１では電源を投入したままの状態でＳＤカード１２６を挿入したとしても、ＳＤカード１２６に記録されているアプリケーションのプロセスを自動的に起動することができる。例えば図１の融合機１では、アプリケーション３０の一つとしてＳＤカード１２６内のアプリが追加される。
【００６７】
図１０のＳＤカード挿入検知処理では、マウントされたＳＤカード１２６に記録されている図６のような設定ファイル又は図７のようなファイル，又はアプリケーション３０やプラットフォーム４０等のプログラムを全て読み出してマウントしていたが、ＳＤカード１２６の不正コピーを防止するため電子認証チェックを行うようにしてもよい。
【００６８】
図１１は、電子認証チェック機能を有するＳＤカード挿入検知処理の一例のフローチャートを示す。ステップＳ２１及びＳ２２は、図１０のフローチャートの処理と同様であり、説明を省略する。
【００６９】
ＳＤカードステータスモニタドライバ１２３からＳＤカード１２６がマウントされた旨を通知されると、プログラム起動部５２はステップＳ２３に進み、マウントされたＳＤカード１２６から設定ファイルを検索する。ステップＳ２４に進み、プログラム起動部５２はマウントされたＳＤカード１２６に設定ファイルが存在すれば（Ｓ２４においてＹＥＳ）、ステップＳ２５に進む。なお、マウントされたＳＤカード１２６に設定ファイルが存在しなければ（Ｓ２４においてＮＯ）、プログラム起動部５２はステップＳ３０に進む。ステップＳ２５では、プログラム起動部５２が、電子認証チェック用ライブラリを用いて設定ファイルの認証チェックを行う。
【００７０】
例えば設定ファイルの認証チェックは、図１２に表したフローチャートのように行われる。図１２は、設定ファイルの認証チェックの処理の一例のフローチャートである。
【００７１】
ステップＳ３１では、プログラム起動部５２が、ＳＤカード１２６に設定ファイルの認証チェックに利用する対象ファイルが存在するか否かを判定する。設定ファイルの認証チェックに利用する対象ファイルは、設定ファイルと、設定ファイルおよびＳＤカードのシリアルＩＤのメッセージダイジェスト（以下、ＭＤという）から作成された電子署名ファイルとを含む。
【００７２】
図１３は、ＳＤカードに記録された対象ファイルの一例のイメージ図である。図１３の例では、「ｐｒｉｎｔｅｒ．ｃｎｆ」が設定ファイルを表し、「ｐｒｉｎｔｅｒ．ｌｉｃ」が設定ファイルの認証チェックに利用する電子署名ファイルを表し、「ｐｒｉｎｔｅｒ．ｍｏｄ」がマウント対象のモジュールファイルを表し、「ｐｒｉｎｔｅｒ．ｍａｃ」がマウント対象モジュールの認証チェックに利用する電子署名ファイルを表す。
【００７３】
設定ファイルの認証チェックに利用する対象ファイルが存在すると判定すると（Ｓ３１においてＹＥＳ）、プログラム起動部５２はＳＤカード１２６から設定ファイルおよび設定ファイルの認証チェックに利用する電子署名ファイルを取得してステップＳ３２に進む。
【００７４】
ステップＳ３２では、プログラム起動部５２が、ＳＤカード１２６のシリアルＩＤをＳＤカード１２６から取得する。ステップＳ３３に進み、プログラム起動部５２はステップＳ３１で取得した設定ファイルと、ステップＳ３２で取得したＳＤカード１２６のシリアルＩＤとのＭＤ１を作成する。ステップＳ３３に続いてステップＳ３４に進み、プログラム起動部５２はステップＳ３１で取得した電子署名ファイルを公開鍵で復号化してＭＤ２を作成する。
【００７５】
ステップＳ３５に進み、プログラム起動部５２はステップＳ３３で作成したＭＤ１とステップＳ３４で作成したＭＤ２とが等しいか否かを判定する。ＭＤ１とＭＤ２とが等しいと判定すると（Ｓ３５においてＹＥＳ）、プログラム起動部５２はステップＳ３６に進み、設定ファイルの認証チェックがＯＫと判定する。
【００７６】
一方、ＭＤ１とＭＤ２とが等しくないと判定すると（Ｓ３５においてＮＯ）、プログラム起動部５２はステップＳ３７に進み、設定ファイルの認証チェックがＮＧと判定する。ＭＤ１とＭＤ２とが等しくなければ、ＳＤカード１２６に記録されているファイルは不正にコピーされた可能性が高いためである。
【００７７】
なお、設定ファイルの認証チェックに利用する対象ファイルが存在しないと判定すると（Ｓ３１においてＮＯ）、プログラム起動部５２はステップＳ３７に進み、設定ファイルの認証チェックがＮＧと判定する。
【００７８】
図１１に戻り、プログラム起動部５２は設定ファイルの認証チェックがＯＫであれば（Ｓ２５においてＹＥＳ）、ステップＳ２６に進み、図１４のような設定ファイルの解析を行う。なお、プログラム起動部５２は設定ファイルの認証チェックがＮＧであれば（Ｓ２５においてＮＯ）、ステップＳ２３に進む。
【００７９】
図１４は、設定ファイルの一例のイメージ図である。設定ファイルは、ｇｚｉｐ圧縮されたＲＯＭＦＳ形式のファイル「ｍｏｄｕｌｅ／ｐｒｉｎｔｅｒ．ｍｏｄ」をマウントポイント「／ｍｎｔ／ｐｒｉｎｔｅｒ」へマウントし、マウントしたモジュールファイルを実行する処理を表している。
【００８０】
ステップＳ２６に続いてステップＳ２７に進み、ＥＯＦ（Ｅｎｄ　Ｏｆ　Ｆｉｌｅ）を検索したか否かを判定する。ＥＯＦを検索したと判定すると（Ｓ２７においてＹＥＳ）、プログラム起動部５２はステップＳ２３に戻る。一方、ＥＯＦを検索していないと判定すると（Ｓ２７においてＮＯ）、プログラム起動部５２はステップＳ２８に進む。
【００８１】
ステップＳ２８では、プログラム起動部５２が、設定ファイルにマウントの記述があれば、電子認証チェック用ライブラリを用いてマウント対象のモジュールの認証チェックを行う。
【００８２】
例えばマウント対象モジュールの認証チェックは、図１５に表したフローチャートのように行われる。図１５は、マウント対象モジュールの認証チェックの処理の一例のフローチャートである。
【００８３】
ステップＳ４１では、プログラム起動部５２が、ＳＤカード１２６にマウント対象モジュールの認証チェックに利用する対象ファイルが存在するか否かを判定する。マウント対象モジュールの認証チェックに利用する対象ファイルは、マウント対象のモジュールファイルと、モジュールファイルのＭＤから作成された電子署名ファイルとを含む。
【００８４】
マウント対象モジュールの認証チェックに利用する対象ファイルが存在すると判定すると（Ｓ４１においてＹＥＳ）、プログラム起動部５２はＳＤカード１２６からマウント対象のモジュールファイルおよびマウント対象のモジュールファイルの認証チェックに利用する電子署名ファイルを取得してステップＳ４２に進む。
【００８５】
ステップＳ４３に進み、プログラム起動部５２はステップＳ４１で取得したモジュールファイルのＭＤ１を作成する。ステップＳ４４に進み、プログラム起動部５２はステップＳ４１で取得した電子署名ファイルを公開鍵で復号化してＭＤ２を作成する。
【００８６】
ステップＳ４５に進み、プログラム起動部５２はステップＳ４３で作成したＭＤ１とステップＳ４４で作成したＭＤ２とが等しいか否かを判定する。ＭＤ１とＭＤ２とが等しいと判定すると（Ｓ４５においてＹＥＳ）、プログラム起動部５２はステップＳ４６に進み、マウント対象モジュールの認証チェックがＯＫと判定する。
【００８７】
一方、ＭＤ１とＭＤ２とが等しくないと判定すると（Ｓ４５においてＮＯ）、プログラム起動部５２はステップＳ４７に進み、マウント対象モジュールの認証チェックがＮＧと判定する。ＭＤ１とＭＤ２とが等しくなければ、ＳＤカード１２６に記録されているファイルはコピーや改竄などの不正を受けた可能性が高いためである。
【００８８】
なお、マウント対象モジュールの認証チェックに利用する対象ファイルが存在しないと判定すると（Ｓ４１においてＮＯ）、プログラム起動部５２はステップＳ４７に進み、マウント対象モジュールの認証チェックがＮＧと判定する。
【００８９】
図１１に戻り、プログラム起動部５２はマウント対象モジュールの認証チェックがＯＫであれば（Ｓ２８においてＹＥＳ）、ステップＳ２９に進み、マウント対象モジュールをマウントしてステップＳ２６に戻る。なお、プログラム起動部５２はＳＤカード１２６に記録されている全ての設定ファイルの認証チェックを行うまで、ステップＳ２３〜Ｓ２９の処理を繰り返す。
【００９０】
ＳＤカード１２６に記録されている全ての設定ファイルの認証チェックを行ったあと、プログラム起動部５２はマウントされたＳＤカード１２６に設定ファイルが存在しないと判定して（Ｓ２４においてＮＯ）、ステップＳ３０に進む。ステップＳ３０では、プログラム起動部５２が、ステップＳ２９でマウントしたモジュールを実行する。なお、マウント対象モジュールの認証チェックがＮＧであるモジュールは、ステップＳ２９でマウントされないため、ステップＳ３０で実行されない。
【００９１】
なお、図１０及び図１１のＳＤカード挿入検知処理が全て終了した時点で、プログラム起動部５２がアプリケーション３０やプラットフォーム４０のプロセスへ通知する機能を設けてもよい。なお、プログラム起動部５２は例えば図４のようなファイルツリーにＳＤカード挿入検知処理が全て終了したことを表すファイル「／ｔｍｐ／ｉｎｉｔ．ｄｏｎｅ」を作成しておくことで、ＳＤカード挿入検知処理が全て終了した旨をアプリケーション３０やプラットフォーム４０のプロセスへ通知するようにしてもよい。
【００９２】
ＳＤカード挿入検知処理が全て終了した時点で、プログラム起動部５２がアプリケーション３０やプラットフォーム４０のプロセスへ通知する機能は、例えばフォントデータを必要とするプリンタアプリ３１がフォントデータのマウント終了を待つときに利用できる。
【００９３】
なお、ＳＤカード１２６が突然抜かれた場合、ＳＤカード１２６をアンマウントする必要があるため、プログラム起動部５２はＳＤカードチェックプログラム１２１を起動してＳＤカード１２６のアンマウント処理を行わせる。
【００９４】
図１６は、ＳＤカード抜出検知処理の一例のフローチャートを示す。なお、ＳＤカード抜出検知処理を行う前に、プログラム起動部５２はステップＳ１５で起動したプログラムを停止することも考えられる。ＳＤカード１２６の抜き出しが検知されたときにＳＤカード１２６から読み出して起動したアプリケーションのプロセスを停止することにより、アプリケーションの不正使用を防止できる。
【００９５】
ステップＳ５１では、プログラム起動部５２が、ＳＤカードステータスモニタドライバ１２３にＳＤカード１２６のステータス情報を問い合わてＳＤカード１２６のマウント状態をチェックする。
【００９６】
ステップＳ５１に続いてステップＳ５２に進み、プログラム起動部５２はステップＳ５１のマウント状態のチェック結果に応じてＳＤカード１２６がマウントされているか否かを判定する。マウント状態のチェック結果からＳＤカード１２６がマウントされていると判定すると（Ｓ５２においてＹＥＳ）、プログラム起動部５２はステップＳ５３に進み、ＳＤカードチェックプログラム１２１を起動させる。なお、マウント状態のチェック結果からＳＤカード１２６がマウントされていないと判定すると（Ｓ５２においてＮＯ）、プログラム起動部５２は処理を終了する。
【００９７】
ステップＳ５３に続いてステップＳ５４に進み、ＳＤカードチェックプログラム１２１はＳＤカード１２６のアンマウントを行い、ＳＤカード１２６のマウントを行った旨をＳＤカードステータスモニタドライバ１２３に通知して処理を停止する。
【００９８】
したがって、融合機１では電源を投入したままの状態でＳＤカード１２６を抜き出したとしても、ＳＤカード１２６のアンマウント処理を自動的に行うことができる。
【００９９】
以上、本発明によるプログラム追加方法を利用すれば、例えばＳＤカード１２６に個人用メニューのプログラムを記録しておき、そのＳＤカード１２６をＳＤカード用スロット１２５に挿入することで、オペレーションパネル８０に個人用メニューを表示するプログラムのプロセスを自動的に起動できる。
【０１００】
さらに、ＳＤカード１２６にアプリケーションのダウンロード用プログラムを記録しておき、そのＳＤカード１２６をＳＤカード用スロット１２５に挿入することで、所定のアプリケーションをダウンロードするダウンロード用プログラムのプロセスを自動的に起動できる。
【０１０１】
【発明の効果】
上述の如く、本発明によれば、記録媒体に記録したプログラムを容易に画像形成装置へ追加することができる。また、記録媒体に記録したプログラムを用いて画像形成装置の機能拡張やプログラムのバージョンアップを容易に行うことができる。また、記録媒体が活線挿抜可能であれば、画像形成装置の電源を投入したままの状態でプログラムの追加を動的に行うことができる。
【０１０２】
【図面の簡単な説明】
【図１】本発明による融合機の一実施例の構成図である。
【図２】本発明による融合機の一実施例のハードウェア構成図である。
【図３】融合機起動部の一例の構成図である。
【図４】ファイルツリーの一例の構成図である。
【図５】マスタ設定ファイルの一例の構成図である。
【図６】設定ファイルの一例の構成図である。
【図７】ＳＤカードのファイルツリーの一例の構成図である。
【図８】本発明によるプログラム追加方法の一実施例の説明図である。
【図９】イベント待ち処理の一例のフローチャートである。
【図１０】ＳＤカード挿入検知処理の一例のフローチャートである。
【図１１】電子認証チェック機能を有するＳＤカード挿入検知処理の一例のフローチャートを示す。
【図１２】設定ファイルの認証チェックの処理の一例のフローチャートである。
【図１３】ＳＤカードに記録された対象ファイルの一例のイメージ図である。
【図１４】設定ファイルの一例のイメージ図である。
【図１５】マウント対象モジュールの認証チェックの処理の一例のフローチャートである。
【図１６】ＳＤカード抜出検知処理の一例のフローチャートである。
【符号の説明】
１　　融合機
１１　　白黒レーザープリンタ
１２　　カラーレーザープリンタ
１３　　ハードウェアリソース
２０　　ソフトウェア群
３０　　アプリケーション
３１　　プリンタアプリ
３２　　コピーアプリ
３３　　ファックスアプリ
３４　　スキャナアプリ
３５　　ネットファイルアプリ
３６　　工程検査アプリ
４０　　プラットフォーム
４１　　オペレーティングシステム（ＯＳ）
４２　　システムコントロールサービス（ＳＣＳ）
４３　　システムリソースマネージャ（ＳＲＭ）
４４　　エンジンコントロールサービス（ＥＣＳ）
４５　　メモリコントロールサービス（ＭＣＳ）
４６　　オペレーションパネルコントロールサービス（ＯＣＳ）
４７　　ファックスコントロールサービス（ＦＣＳ）
４８　　ネットワークコントロールサービス（ＮＣＳ）
５０　　融合機起動部
５１　　ＲＯＭモニタ
５２　　プログラム起動部
６２　　システムメモリ
６７　　ローカルメモリ
６８　　ハードディスク装置（ＨＤＤ）
７０，１２５　　ＳＤカード用スロット
８０　　オペレーションパネル
８２　　エンジン部
１２１　　ＳＤカードチェックプログラム
１２２　　ファイルシステム
１２３　　ＳＤカードステータスモニタドライバ
１２４　　ＳＤカードアクセスドライバ
１２６　　ＳＤカード
【図１】
2004046802.tif 000003
【図２】
2004046802.tif 000004
【図３】
2004046802.tif 000005
【図４】
2004046802.tif 000006
【図５】
2004046802.tif 000007
【図６】
2004046802.tif 000008
【図７】
2004046802.tif 000009
【図８】
2004046802.tif 000010
【図９】
2004046802.tif 000011
【図１０】
2004046802.tif 000012
【図１１】
2004046802.tif 000013
【図１２】
2004046802.tif 000014
【図１３】
2004046802.tif 000015
【図１４】
2004046802.tif 000016
【図１５】
2004046802.tif 000017
【図１６】
2004046802.tif 000018
【手続補正書】
【提出日】平成15年8月20日(2003.8.20)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
前記記録媒体の活線挿抜が可能であることを特徴とする請求項１乃至９何れか一項記載の画像形成装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】請求項１７
【補正方法】変更
【補正の内容】
【請求項１７】
前記記録媒体の活線挿抜が可能であることを特徴とする請求項１１乃至１６何れか一項記載のプログラム追加方法。