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