(57)【要約】【課題】  挿抜可能な記録媒体に記録されたプログラムの重複部分を削減することができ、挿抜可能な記録媒体に記録されたプログラムを効率良く起動することが可能な画像形成装置，プログラム起動方法及びプログラム起動プログラムを提供することを目的とする。【解決手段】  画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置であって、スロットに挿入される記録媒体は、マウント及び起動対象のプログラムが記録されており、プログラムの対象機種を表した第１機種情報と画像形成装置の機種を表した第２機種情報とを比較し、第１機種情報と第２機種情報とが一致していると判定したときにマウント及び起動対象のプログラムを起動する起動手段を有することにより上記課題を解決する。【選択図】  図６
2004192629.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置であって、
前記スロットに挿入される記録媒体は、マウント及び起動対象のプログラムが記録されており、前記プログラムの対象機種を表した第１機種情報と前記画像形成装置の機種を表した第２機種情報とを比較し、前記第１機種情報と第２機種情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する起動手段を有することを特徴とする画像形成装置。
【請求項２】
前記起動手段は、前記スロットに挿入されている記録媒体から所定の設定ファイルを読み出し、その設定ファイルに記録されている前記プログラムのマウントポイントから前記第１機種情報を取得することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記起動手段は、システムコールを利用して前記第２機種情報を取得することを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記起動手段は、前記第１機種情報と第２機種情報とを比較し、前記第２機種情報と一致していると判定した前記第１機種情報に対応する前記マウント及び起動対象のプログラムを起動する一方、前記第２機種情報と一致していないと判定した前記第１機種情報に対応する前記マウント及び起動対象のプログラムを起動しないことを特徴とする請求項１乃至３何れか一項記載の画像形成装置。
【請求項５】
前記起動手段は、前記第１機種情報と第２機種情報とが一致していると判定したときにプリンタ，コピー，ファックス又はスキャナの一部又は全部の処理を行う前記マウント及び起動対象のプログラムを起動することを特徴とする請求項１乃至４何れか一項記載の画像形成装置。
【請求項６】
前記起動手段は、電源投入後に起動されたオペレーティングシステムにより起動されることを特徴とする請求項１乃至５何れか一項記載の画像形成装置。
【請求項７】
前記起動手段は、前記プログラムのマウントポイントにあるモジュール情報ファイルから前記第１機種情報を取得することを特徴とする請求項２記載の画像形成装置。
【請求項８】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置であって、
前記スロットに挿入される記録媒体は、マウント及び起動対象のプログラムが記録されており、前記記録媒体が挿入されるべきスロットの第１識別情報と前記記録媒体が挿入されているスロットの第２識別情報とを比較し、前記第１識別情報と第２識別情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する起動手段を有することを特徴とする画像形成装置。
【請求項９】
前記起動手段は、前記スロットに挿入されている記録媒体から所定の設定ファイルを読み出し、その設定ファイルから前記第１識別情報を取得することを特徴とする請求項８記載の画像形成装置。
【請求項１０】
前記起動手段は、システムコールを利用して前記第２識別情報を取得することを特徴とする請求項８又は９記載の画像形成装置。
【請求項１１】
前記起動手段は、前記第１識別情報と第２識別情報とを比較し、前記第１識別情報と第２識別情報とが一致するとき、前記記録媒体からマウント及び起動対象のプログラムを読み出して起動する一方、前記第１識別情報と第２識別情報とが一致しないとき、前記記録媒体からマウント及び起動対象のプログラムを起動しないことを特徴とする請求項８乃至１０何れか一項記載の画像形成装置。
【請求項１２】
前記起動手段は、前記記録媒体から読み出した所定の設定ファイルに前記第１識別情報が記録されていないとき、前記マウント及び起動対象のプログラムを起動することを特徴とする請求項９記載の画像形成装置。
【請求項１３】
前記起動手段は、前記第１識別情報と第２識別情報とが一致していると判定したときにプリンタ，コピー，ファックス又はスキャナの一部又は全部の処理を行う前記マウント及び起動対象のプログラムを起動することを特徴とする請求項８乃至１２何れか一項記載の画像形成装置。
【請求項１４】
前記起動手段は、電源投入後に起動されたオペレーティングシステムにより起動されることを特徴とする請求項８乃至１３何れか一項記載の画像形成装置。
【請求項１５】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置のプログラム起動方法であって、
前記スロットに挿入される記録媒体は、マウント及び起動対象のプログラムが記録されており、起動手段が、前記プログラムの対象機種を表した第１機種情報と前記画像形成装置の機種を表した第２機種情報とを比較し、前記第１機種情報と第２機種情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する段階を有することを特徴とするプログラム起動方法。
【請求項１６】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置のプログラム起動方法であって、
前記スロットに挿入される記録媒体は、マウント及び起動対象のプログラムが記録されており、起動手段が、前記記録媒体が挿入されるべきスロットの第１識別情報と前記記録媒体が挿入されているスロットの第２識別情報とを比較し、前記第１識別情報と第２識別情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する段階を有することを特徴とする画像形成装置。
【請求項１７】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、マウント及び起動対象のプログラムが記録された記録媒体を挿抜可能なスロットとを有するコンピュータを、
前記マウント及び起動対象のプログラムの対象機種を表した第１機種情報と前記画像形成装置の機種を表した第２機種情報とを比較し、前記第１機種情報と第２機種情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する起動手段として機能させるためのプログラム起動プログラム。
【請求項１８】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、マウント及び起動対象のプログラムが記録された記録媒体を挿抜可能なスロットとを有するコンピュータを、
前記記録媒体が挿入されるべきスロットの第１識別情報と前記記録媒体が挿入されているスロットの第２識別情報とを比較し、前記第１識別情報と第２識別情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する起動手段として機能させるためのプログラム起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置，プログラム起動方法及びプログラム起動プログラムに係り、特に所定の設定ファイルに応じてプログラムを起動するプログラム起動方法，そのプログラム起動方法を利用する画像形成装置及びプログラム起動プログラムに関する。
【背景技術】
【０００２】
近年、プリンタ，コピー，ファクシミリおよびスキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、融合機という）が知られるようになった。この融合機は、１つの筐体内に表示部，印刷部および撮像部などを設けると共に、プリンタ，コピー，ファクシミリおよびスキャナにそれぞれ対応する４種類のソフトウェアを設け、そのソフトウェアを切り替えることより、プリンタ，コピー，ファクシミリおよびスキャナとして動作させるものである。例えば特許文献１には、融合機の一例が記載されている。
【０００３】
このような融合機は、電源投入後に、ＢＩＯＳ（Basic Input/Output System）およびブートローダ（Boot Loader）が起動する。ブートローダは、カーネル（Kernel）およびルートファイルシステムをＲＡＭ（Random Access Memory）上に展開してカーネルを起動する。そして、カーネルはルートファイルシステムをマウントする。ここでマウントとは、ファイルシステムや周辺機器などをアクセス可能な状態に起動することをいう。
【０００４】
カーネルの起動後、アプリケーション（以下、アプリという）や各種サービスを起動するアプリ／サービス層起動プログラムが起動される。アプリ／サービス層起動プログラムは融合機で最初に起動されるプロセスであり、所定の設定ファイルに従ってファイルシステムをマウントし、融合機の動作に必要なサービス層およびアプリ層のプロセスを所定の設定ファイルに従って起動している。
【０００５】
また、アプリ／サービス層起動プログラムは記録媒体の一例としてのＳＤカードがスロットに挿入されているか又は挿入されると、そのＳＤカードに記録された設定ファイルに従ってファイルシステムをマウントし、ＳＤカードに記録されたアプリのプロセスを所定の設定ファイルに従って起動していた。
【０００６】
従来の融合機では、ＳＤカードに記録されていたアプリのプロセスが、各プロセスの処理の中で表示部，印刷部および撮像部などのハードウェア資源，融合機の機種またはＳＤカードが挿入されているスロットのスロット番号のチェックを行っていた。例えば特許文献２には、予め定義された動作定義情報に従いアプリを起動するプログラムの一例が記載されている。
【特許文献１】特開２００２−８４３８３号公報
【特許文献２】特開２０００−２０２０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
記録媒体の一例としてのＳＤカードには、対応機種が異なる複数のアプリが記録されていることがある。しかしながら、従来の融合機ではＳＤカードに記録されていたアプリのプロセスが、融合機の機種をチェックしているため、各プロセスの処理の中で融合機の機種をチェックすると各プロセスに重複した部分が多くなるという問題があった。また、従来の融合機では各プロセスの処理の中で融合機の機種をチェックすると、各プロセスを起動しなければ融合機の機種をチェックすることができなかった。したがって、従来の融合機では対応機種が異なるアプリのプロセスであっても、融合機の機種をチェックするために無駄に起動しなければならないという問題があった。なお、特許文献２は起動するアプリの対応機種をチェックするものでなく、上記の問題を解決することができない。
【０００８】
さらに、記録媒体の一例としてのＳＤカードには、挿入すべきスロットのスロット番号が記録されていることがある。しかしながら、従来の融合機ではＳＤカードに記録されていたアプリのプロセスが、ＳＤカードが挿入されているスロットのスロット番号をチェックしているため、各プロセスに重複した部分が多くなるという問題があった。また、従来の融合機では各プロセスの処理の中でＳＤカードが挿入されているスロットのスロット番号をチェックすると、各プロセスを起動しなければＳＤカードが挿入されているスロットのスロット番号をチェックすることができなかった。したがって、従来の融合機では挿入すべきスロット以外のスロットに挿入されたＳＤカードであっても、そのＳＤカードを挿入すべきスロットのスロット番号をチェックするために無駄に起動しなければならないという問題があった。
【０００９】
本発明は、上記の点に鑑みなされたもので、挿抜可能な記録媒体に記録されたプログラムの重複部分を削減することができ、挿抜可能な記録媒体に記録されたプログラムを効率良く起動することが可能な画像形成装置，プログラム起動方法及びプログラム起動プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
そこで、上記課題を解決するため、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置であって、前記スロットに挿入される記録媒体は、マウント及び起動対象のプログラムが記録されており、前記プログラムの対象機種を表した第１機種情報と前記画像形成装置の機種を表した第２機種情報とを比較し、前記第１機種情報と第２機種情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する起動手段を有することを特徴とする。
【００１１】
また、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置であって、
前記スロットに挿入される記録媒体は、マウント及び起動対象のプログラムが記録されており、前記記録媒体が挿入されるべきスロットの第１識別情報と前記記録媒体が挿入されているスロットの第２識別情報とを比較し、前記第１識別情報と第２識別情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する起動手段を有することを特徴とする。
【００１２】
また、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置のプログラム起動方法であって、前記スロットに挿入される記録媒体は、マウント及び起動対象のプログラムが記録されており、起動手段が、前記プログラムの対象機種を表した第１機種情報と前記画像形成装置の機種を表した第２機種情報とを比較し、前記第１機種情報と第２機種情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する段階を有することを特徴とする。
【００１３】
また、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、記録媒体を挿抜可能なスロットとを有する画像形成装置のプログラム起動方法であって、前記スロットに挿入される記録媒体は、マウント及び起動対象のプログラムが記録されており、起動手段が、前記記録媒体が挿入されるべきスロットの第１識別情報と前記記録媒体が挿入されているスロットの第２識別情報とを比較し、前記第１識別情報と第２識別情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する段階を有することを特徴とする。
【００１４】
また、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、マウント及び起動対象のプログラムが記録された記録媒体を挿抜可能なスロットとを有するコンピュータを、前記マウント及び起動対象のプログラムの対象機種を表した第１機種情報と前記画像形成装置の機種を表した第２機種情報とを比較し、前記第１機種情報と第２機種情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する起動手段として機能させるためのプログラム起動プログラムであることを特徴とする。
【００１５】
また、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、マウント及び起動対象のプログラムが記録された記録媒体を挿抜可能なスロットとを有するコンピュータを、前記記録媒体が挿入されるべきスロットの第１識別情報と前記記録媒体が挿入されているスロットの第２識別情報とを比較し、前記第１識別情報と第２識別情報とが一致していると判定したときに前記マウント及び起動対象のプログラムを起動する起動手段として機能させるためのプログラム起動プログラムであることを特徴とする。
【００１６】
本発明によれば、プログラムを起動する起動手段が記録媒体に記録されたプログラムの起動を、プログラムの機種情報に応じて抑制できる。また、本発明によれば、プログラムを起動する起動手段が記録媒体に記録されたプログラムの起動を、スロットの識別情報に応じて抑制できる。
【００１７】
したがって、各プログラムの処理の中で機種情報やスロットの識別情報のチェックを行う必要が無くなり、各プログラムの重複部分を削減できる。また、使用しないプログラムを起動する必要がなくなり、プログラムを効率良く起動できる。
【発明の効果】
【００１８】
上述の如く、本発明によれば、挿抜可能な記録媒体に記録されたプログラムの重複部分を削減することができ、挿抜可能な記録媒体に記録されたプログラムを効率良く起動することが可能な画像形成装置，プログラム起動方法及びプログラム起動プログラムを提供できる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【００２０】
図１は、本発明による融合機のソフトウェア構成について説明するための一実施例の構成図である。融合機１は、ソフトウェア群２と，融合機起動部３と，ハードウェア資源４とを含むように構成される。
【００２１】
ハードウェア資源４は、プロッタ１１と，スキャナ１２と，ファクシミリなどのその他のハードウェアリソース１３とを含む。ソフトウェア群２は、ＵＮＩＸ（登録商標）などのオペレーティングシステム（以下、ＯＳという）上に起動されているアプリケーション層５とプラットフォーム６とを含む。
【００２２】
アプリケーション層５は、プリンタ，コピー，ファックスおよびスキャナなどの画像形成にかかるユーザサービスにそれぞれ固有の処理を行うプログラムを含む。図１のアプリケーション層５は、プリンタアプリ２１と，コピーアプリ２２と，ファックスアプリ２３と，スキャナアプリ２４と，ネットファイルアプリ２５とを含む。なお、ネットファイルアプリ２５はネットワークファイル用アプリケーションであり、融合機１にネットワークを介して接続されるネットワーク機器とのデータ通信を管理するものである。
【００２３】
プラットフォーム６は、アプリケーション層５からの処理要求を解釈してハードウェア資源４の獲得要求を発生するコントロールサービス層９と、１つ以上のハードウェア資源４の管理を行ってコントロールサービス層９からの獲得要求を調停するシステムリソースマネージャ（以下、ＳＲＭという）３９と、ＳＲＭ３９からの獲得要求に応じてハードウェア資源４の管理を行うハンドラ層１０とを含む。
【００２４】
コントロールサービス層９は、ＮＣＳ３１，ＤＣＳ３２，ＯＣＳ３３，ＦＣＳ３４，ＥＣＳ３５，ＭＣＳ３６，ＵＣＳ３７，ＳＣＳ３８など、一つ以上のサービスモジュールを含む。なお、プラットフォーム６は予め定義されている関数により、アプリケーション層５からの処理要求を受信するＡＰＩ５３を有するように構成されている。ＯＳは、アプリケーション層５およびプラットフォーム６の各ソフトウェアをプロセスとして並列実行する。
【００２５】
ＮＣＳ（ネットワークコントロールサービス）３１のプロセスは、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分ける際の仲介、又は各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。例えばＮＣＳ３１は、融合機にネットワークを介して接続されるネットワーク機器とのデータ通信を制御する。
【００２６】
ＤＣＳ（デリバリーコントロールサービス）３２のプロセスは、融合機に蓄積されている文書データの配送などの制御を行う。ＯＣＳ（操作パネルコントロールサービス）３３のプロセスは、後述する操作パネルの制御を行う。
【００２７】
ＦＣＳ（ファックスコントロールサービス）３４のプロセスは、アプリケーション層５からＰＳＴＮまたはＩＳＤＮ網を利用したファックスの送受信，バックアップ用のメモリで管理されている各種ファックスデータの登録又は引用，ファックスの読み取り，ファックスの受信印刷などを行うためのＡＰＩを提供する。
【００２８】
ＥＣＳ（エンジンコントロールサービス）３５のプロセスは、プロッタ１１，スキャナ１２，ハードウェアリソース１３などのエンジン部の制御を行う。ＭＣＳ（メモリコントロールサービス）３６のプロセスは、メモリの取得及び解放，ＨＤＤの利用，画像データの圧縮および伸張などの制御を行う。ＵＣＳ（ユーザ情報コントロールサービス）３７のプロセスは、ユーザ情報の管理を行うものである。
【００２９】
ＳＣＳ（システムコントロールサービス）３８のプロセスは、操作部の制御，システム画面の表示，ＬＥＤの表示，ハードウェア資源の管理，アプリケーションの管理，割り込みアプリケーションの制御などの処理を行う。
【００３０】
ＳＲＭ３９のプロセスは、ＳＣＳ３８と共にシステムの制御およびハードウェア資源４の管理を行うものである。例えばＳＲＭ３９のプロセスは、プロッタ１１やスキャナ１２などのハードウェア資源４を利用する上位層からの獲得要求に従って調停を行い、ハードウェア資源４の実行を制御する。
【００３１】
具体的に、ＳＲＭ３９のプロセスは獲得要求されたハードウェア資源４が利用可能であるか（他の獲得要求により利用されていないか）を判定し、利用可能であれば獲得要求されたハードウェア資源４が利用可能である旨を上位層に通知する。ＳＲＭ３９のプロセスは、上位層からの獲得要求に対してハードウェア資源４を利用するためのスケジューリングを行い、要求内容（プリンタエンジンによる紙搬送と作像動作，メモリの確保，ファイル生成など）を直接実施している。
【００３２】
また、ハンドラ層１０は後述するＦＣＵ（ファックスコントロールユニット）の管理を行うＦＣＵＨ（ファックスコントロールユニットハンドラ）４０と、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うＩＭＨ（イメージメモリハンドラ）４１とを含む。ＳＲＭ３９及びＦＣＵＨ４０は、予め定義されている関数によりハードウェア資源４に対する処理要求を送信するエンジンＩ／Ｆ５４を利用して、ハードウェア資源４に対する処理要求を行う。
【００３３】
図１の構成により、融合機１は各アプリケーションで共通的に必要な処理をプラットフォーム６で一元的に処理することができる。次に、融合機１のハードウェア構成について説明する。
【００３４】
図２は、本発明による融合機のハードウェア構成について説明するための一実施例の構成図である。図２の融合機１は、コントローラ６０，操作パネル８０，ＦＣＵ８１，エンジン部８２を有する。
【００３５】
コントローラ６０は、ＣＰＵ６１，システムメモリ６２，ＮＢ６３，ＳＢ６４，ＡＳＩＣ６６，ローカルメモリ６７，ＨＤＤ６８、ＮＩＣ６９，ＳＤカード用スロット７０，ＵＳＢ  Ｉ／Ｆ７１，ＩＥＥＥ１３９４  Ｉ／Ｆ７２，セントロニクス  Ｉ／Ｆ７３を有する。
【００３６】
操作パネル８０は、コントローラ６０のＡＳＩＣ６６に接続されている。また、ＦＣＵ８１およびエンジン部８２はコントローラ６０のＡＳＩＣ６６にＰＣＩバス８３を介して接続されている。
【００３７】
コントローラ６０は、ＡＳＩＣ６６にローカルメモリ６７，ＨＤＤ６８などが接続されると共に、ＣＰＵ６１とＡＳＩＣ６６とがＣＰＵチップセットのＮＢ６３を介して接続されている。なお、ＡＳＩＣ６６とＮＢ６３とはＡＧＰ（Accelerated Graphics Port）６５を介して接続されている。
【００３８】
ＣＰＵ６１は、融合機１の全体制御を行うものである。図１の融合機１では、ＣＰＵ６１がコントロールサービス層９を形成する１つ以上のサービスモジュールと、ＳＲＭ３９と、ハンドラ層１０を形成するＦＣＵＨ４０，ＩＭＨ４１とをＯＳ上に起動させた後、アプリケーション層５を形成するプリンタアプリ２１，コピーアプリ２２，ファックスアプリ２３，スキャナアプリ２４，ネットファイルアプリ２５を起動して実行させる。
【００３９】
ＮＢ（ノースブリッジ）６３は、ＣＰＵ６１，システムメモリ６２，ＳＢ６４，ＡＳＩＣ６６，ＮＩＣ６９，ＳＤカード用スロット７０，ＵＳＢ  Ｉ／Ｆ７１，ＩＥＥＥ１３９４  Ｉ／Ｆ７２及びセントロニクス  Ｉ／Ｆ７３を接続するためのブリッジである。ＮＢ６３は、ＳＢ６４，ＮＩＣ６９，ＳＤカード用スロット７０，ＵＳＢ  Ｉ／Ｆ７１，ＩＥＥＥ１３９４  Ｉ／Ｆ７２及びセントロニクス  Ｉ／Ｆ７３とＰＣＩバス７４を介して接続されている。なお、ＳＢ（サウスブリッジ）６４は、ＰＣＩバス７４とＲＯＭや周辺デバイス等とを接続するためのブリッジである。
【００４０】
システムメモリ６２は、描画用メモリ等として用いるメモリである。ローカルメモリ６７は、コピー用画像バッファ，符号バッファ等として用いるメモリである。ＡＳＩＣ６６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。また、ＨＤＤ６８は画像データの蓄積，文書データの蓄積，プログラムの蓄積，フォントデータの蓄積，フォームの蓄積などを行うストレージ（補助記憶装置）の一例である。
【００４１】
ＮＩＣ（ネットワークインターフェースカード）６９は、融合機１をインターネットやＬＡＮ等のネットワークに接続するインターフェース機器である。ＳＤカード用スロット７０はＳＤカードを挿抜可能なものであり、ＳＤカードの挿入または抜き出しに応じた割り込みをデバイスドライバに対して行う。
【００４２】
ＵＳＢ  Ｉ／Ｆ７０，ＩＥＥＥ１３９４  Ｉ／Ｆ７１およびセントロニクス  Ｉ／Ｆ７２は、夫々の規格に準じたインターフェースである。操作パネル８０は、操作者からの入力操作を受け付けると共に、操作者に向けた表示を行う操作部である。なお、ＦＣＵ８１はバックアップ用のメモリを有している。ＦＣＵ８１が有するメモリは、例えば融合機１の電源がＯＦＦのときに受信したファクシミリデータを一時的に格納するために利用される。
【００４３】
図３は、融合機起動部の一例の構成図である。図１の融合機起動部３は、融合機１の電源投入時に最初に実行され、アプリケーション層５やプラットフォーム６を起動するものである。融合機起動部３は、ＲＯＭモニタ５１と，プログラム起動部５２とを含む。融合機起動部３の処理について図４のフローチャートを参照しつつ説明する。
【００４４】
図４は、融合機起動部の処理の一例のフローチャートである。ステップＳ２０１では、融合機１の電源ＯＮにより、ＢＩＯＳおよびブートローダとしてのＲＯＭモニタ５１が実行される。ＲＯＭモニタ５１は、ハードウェアの初期化，コントローラ６０の診断，ソフトウェアの初期化などを行う。ステップＳ２０１に続いてステップＳ２０２に進み、ＲＯＭモニタ５１は、ＯＳおよびルートファイルシステムをシステムメモリ６２上に展開してＯＳを起動する。そして、ＯＳはルートファイルシステムをマウントする。
【００４５】
ステップＳ２０２に続いてステップＳ２０３に進み、ＯＳは起動時に接続されたデバイスのデバイス情報（例えば、ＣＰＵ６１のクロック周波数，システムメモリ６２およびローカルメモリ５７のメモリサイズ，コントローラ６０のボードタイプなど）を取得する。
【００４６】
ステップＳ２０３に続いてステップＳ２０４に進み、ＯＳはアプリ／サービス起動プログラムとしてのプログラム起動部５２を起動する。プログラム起動部５２はシステムメモリ６２およびローカルメモリ６７上にメモリ領域を確保する。プログラム起動部５２は、融合機１で最初に起動されるプロセスである。ステップＳ２０４に続いてステップＳ２０５に進み、プログラム起動部５２は設定ファイルに従ってファイルシステムをマウントする。
【００４７】
また、プログラム起動部５２は設定ファイルに従って、プログラムをＲＯＭなどから読み出し、読み出したプログラムをシステムメモリ６２，ローカルメモリ６７上に確保したメモリ領域に展開して、アプリケーション層５およびプラットフォーム６のプロセスを起動する。
【００４８】
以下、融合機１の電源を投入したときにＳＤカード用スロット７０に挿入されているか又は電源を投入したままの状態でＳＤカード用スロット７０に挿入し、そのＳＤカードに記録された設定ファイルに従ってファイルシステムをマウントし、ＳＤカードに記録されたアプリケーション層５やプラットフォーム６のプロセスを所定の設定ファイルに従って起動する処理について説明する。
【００４９】
図５は、本発明によるプログラム起動方法について説明するために、融合機の一部を表した構成図である。ＳＤカード１２６は、融合機１の電源を投入したままの状態で、いわゆる活線挿抜が可能である。ＳＤカード用スロット１２５は、ＳＤカード１２６を挿抜可能なものであり、ＳＤカード１２６の挿入または抜き出しに応じた割り込みをＳＤカードアクセスドライバ１２４に対して行う。
【００５０】
ＳＤカードアクセスドライバ１２４は、ＳＤカード１２６に対するアクセス制御を行うものであり、ＳＤカード用スロット１２５からの割り込みに応じてＳＤカード１２６の挿入または抜き出しをＳＤカードステータスモニタドライバ１２３に通知する。ＳＤカードステータスモニタドライバ１２３は、ＳＤカード１２６の挿入，抜き出し，マウント，アンマウントなど、ＳＤカード１２６のステータス情報を管理するものであり、ＳＤカード１２６のステータス情報をプログラム起動部５２に通知する。
【００５１】
プログラム起動部５２は、ＳＤカード１２６の挿入または抜き出しに応じてＳＤカードチェックプログラム１２１を起動する。ＳＤカードチェックプログラム１２１は、ＳＤカード１２６についてパーティションが正しいか，ファイルシステムの状態が正しいかをチェックし、ファイルシステム１２２として使用可能な状態にするためのものである。ＳＤカードチェックプログラム１２１は、例えばＳＤカード１２６のチェック機能，マウント機能，アンマウント機能，状態通知機能などを有している。また、プログラム起動部５２はＳＤカードステータスモニタドライバ１２３からのＳＤカード１２６のステータス情報に応じてＳＤカード１２６内のプログラムを起動する。以下、本発明によるプログラム起動方法の処理手順についてフローチャートを参照しつつ説明していく。
【実施例１】
【００５２】
図６は、ＳＤカードに記録されたプログラムを起動する処理の一例のフローチャートである。例えばＳＤカード１２６がＳＤカード用スロット１２５に挿入されると、プログラム起動部５２はＳＤカードステータスモニタドライバ１２３からＳＤカードの挿入が通知される。プログラム起動部５２は、ＳＤカードステータスモニタドライバ１２３からＳＤカードの挿入が通知されると、ステップＳ２１０に進み、ＳＤカードチェックプログラム１２１を起動させる。
【００５３】
ステップＳ２１１に進み、ＳＤカードチェックプログラム１２１はマスタ設定ファイルに従ってＳＤカード１２６のマウントを行い、ＳＤカード１２６のマウントを行った旨をＳＤカードステータスモニタドライバ１２３に通知する。ステップＳ２１２に進み、プログラム起動部５２はＳＤカードステータスモニタドライバ１２３からＳＤカード１２６がマウントされた旨を通知されると、マウントされたＳＤカード１２６から設定ファイルを読み出して解析する。例えばプログラム起動部５２は図７のような設定ファイルを読み出して解析する。図７は、設定ファイルの一例の構成図を示す。
【００５４】
ステップＳ２１２に続いてステップＳ２１３に進み、プログラム起動部５２はステップＳ２１２で行った設定ファイルの解析結果に基づき、マウント対象モジュールのマウントを行う。例えば図７の設定ファイルの場合、プログラム起動部５２は３つのマウント対象モジュール「printer.mod」，「scanner.mod」，「factory.mod」を、夫々のマウントポイント「/arch/printer」，「/arch/scanner/」，「/arch/factory/」にマウントする。
【００５５】
ステップＳ２１４に進み、プログラム起動部５２はステップＳ２１２で行った設定ファイルの解析結果に基づき、マウントポイントにあるモジュール情報ファイルを読み出して解析する。例えばプログラム起動部５２は、図８のようなモジュール情報ファイル（version.txt）を読み出して解析する。
【００５６】
図8は、モジュール情報ファイルの一例の構成図である。図８（ａ）は、マウント対象モジュール「printer.mod」のモジュール情報ファイルの一例である。図８（ｂ）は、マウント対象モジュール「scanner.mod」のモジュール情報ファイルの一例である。また、図８（ｃ）はマウント対象モジュール「factory.mod」のモジュール情報ファイルの一例である。
【００５７】
図８（ａ）〜図８（ｃ）のモジュール情報ファイルは、マウント対象モジュールを識別するモジュールＩＤ（MODULEID），マウント対象モジュールの対応機種を表した機種ＩＤ（MACHINEID），マウント対象モジュールのバージョンを表したバーション（VERSION）を含むように構成される。図８の機種ＩＤは、例えば「０ｘ」を付けた１６進数表記「０ｘ××」でマウント対象モジュールの対応機種を表している。なお、機種ＩＤはマウント対象モジュールの対応機種を列挙することで複数指定することもできる。また、機種ＩＤを省略した場合、例えば全機種対応（ワイルドカード）とみなすこともできる。
【００５８】
ステップＳ２１４に続いてステップＳ２１５に進み、プログラム起動部５２はステップＳ２１４で行ったモジュール情報ファイルの解析結果に基づき、融合機１の機種ＩＤと一致する機種ＩＤを有するモジュール情報ファイルが存在するか否かを判定する。なお、プログラム起動部５２は、システムコール「ｇｅｔＩＮＦＯ（ｍａｃｈｉｎｅｉｄ）」を呼ぶことで、デバイス情報に含まれる融合機１の機種ＩＤをＯＳから取得する。
【００５９】
融合機１の機種ＩＤと一致する機種ＩＤを有するモジュール情報ファイルが存在すると判定した場合（Ｓ２１５においてＹＥＳ）、プログラム起動部５２はステップＳ２１６に進み、そのモジュール情報ファイルに対応するマウント対象モジュールを起動する。
【００６０】
一方、融合機１の機種ＩＤと一致する機種ＩＤを有するモジュール情報ファイルが存在しないと判定した場合（Ｓ２１５においてＮＯ）、プログラム起動部５２はステップＳ２１７に進み、そのモジュール情報ファイルに対応するマウント対象モジュールをアンマウントする。
【００６１】
ステップＳ２１５〜Ｓ２１７の処理について、更に詳細に説明する。図９は、ステップＳ２１５〜Ｓ２１７の処理の一例のイメージ図である。図９のモジュール情報ファイル１３１には、マウント対象モジュール「printer.mod」の対応機種を表した機種ＩＤ「０ｘ０７」が含まれる。また、モジュール情報ファイル１３２には、マウント対象モジュール「scanner.mod」の対応機種を表した機種ＩＤ「０ｘ０８」が含まれる。さらに、モジュール情報ファイル１３３には、マウント対象モジュール「factory.mod」の対応機種を表した機種ＩＤ「０ｘ０７」が含まれる。
【００６２】
融合機１の機種ＩＤが「０ｘ０７」である場合、プログラム起動部５２はステップＳ２１５において、融合機１の機種ＩＤ「０ｘ０７」とモジュール情報ファイル１３１，１３３が有する機種ＩＤ「０ｘ０７」とが一致しているため、融合機１の機種ＩＤと一致する機種ＩＤを有するモジュール情報ファイルが存在すると判定する。したがって、プログラム起動部１はステップＳ２１６に進み、モジュール情報ファイル１３１，１３３に対応するマウント対象モジュール「printer.mod」，「factory.mod」を起動する。
【００６３】
一方、モジュール情報ファイル１３２が有する機種ＩＤ「０ｘ０８」と融合機１の機種ＩＤ「０ｘ０７」とが一致していないため、プログラム起動部５２はモジュール情報ファイル１３２に対応するマウント対象モジュール「scanner.mod」を起動しない。
【００６４】
図６の処理によれば、ＳＤカードに記録されたプログラムを起動する場合に、そのプログラムを起動しようとしている融合機１がプログラムの対応機種である場合にのみ、プログラムを起動できる。すなわち、ＳＤカードに記録されたプログラムの起動を機種ＩＤに応じて抑制できる。
【実施例２】
【００６５】
引き続き、本発明によるプログラム起動方法の他の処理手順についてフローチャートを参照しつつ説明する。図１０は、ＳＤカードに記録されたプログラムを起動する処理の他の一例のフローチャートである。例えばＳＤカード１２６がＳＤカード用スロット１２５に挿入されると、プログラム起動部５２はＳＤカードステータスモニタドライバ１２３からＳＤカードの挿入が通知される。プログラム起動部５２は、ＳＤカードステータスモニタドライバ１２３からＳＤカードの挿入が通知されると、ステップＳ２２０に進み、ＳＤカードチェックプログラム１２１を起動させる。
【００６６】
ステップＳ２２１に進み、ＳＤカードチェックプログラム１２１はマスタ設定ファイルに従ってＳＤカード１２６のマウントを行い、ＳＤカード１２６のマウントを行った旨をＳＤカードステータスモニタドライバ１２３に通知する。ステップＳ２２２に進み、プログラム起動部５２はＳＤカードステータスモニタドライバ１２３からＳＤカード１２６がマウントされた旨を通知されると、マウントされたＳＤカード１２６から設定ファイルを読み出して解析する。例えばプログラム起動部５２は図１１のような設定ファイルを読み出して解析する。図１１は、設定ファイルの他の一例の構成図を示す。また、図１１の設定ファイルは、図１２のようにＳＤカード内に格納されている。図１２に表されたＳＤカードの場合、「ｘｘｘ．ｃｎｆ」が設定ファイル、「ｍｏｄｕｌｅ／ｘｘｘ．ｍｏｄ」がマウント及び起動対象のモジュールファイルを表している。
【００６７】
ステップＳ２２３に進み、プログラム起動部５２はステップＳ２２２の解析結果から設定ファイルにＳＤコマンドが存在するか否かを判定する。ＳＤコマンドが存在すると判定すると（Ｓ２２３においてＹＥＳ）、プログラム起動部５２はステップＳ２２４に進む。一方、ＳＤコマンドが存在しないと判定すると（Ｓ２２３においてＮＯ）、プログラム起動部５２はステップＳ２２５に進む。
【００６８】
ステップＳ２２４では、プログラム起動部５２が、ＳＤコマンドで指定されているスロットとＳＤカードが挿入されているスロットとが一致しているか否かを判定する。例えば図１１のような設定ファイルの場合、ＳＤコマンドで指定されているスロットが「２」であるため、ＳＤカードが挿入されているスロットが「２」であるときに、プログラム起動部５２はＳＤコマンドで指定されているスロットとＳＤカードが挿入されているスロットとが一致していると判定する。
【００６９】
ＳＤコマンドで指定されているスロットとＳＤカードが挿入されているスロットとが一致していると判定すると（Ｓ２２４においてＹＥＳ）、プログラム起動部５２はステップＳ２２５に進み、ＳＤカード１２６内に格納されている設定ファイルを読み出してステップＳ２２６に進む。ステップＳ２２６では、プログラム起動部５２が、ステップＳ２２５で読み出した設定ファイルに応じてマウント及び起動対象のモジュールファイルをマウントポイントへマウントし、そのモジュールファイルを起動する。図１１の設定ファイルの場合、プログラム起動部５２はｇｚｉｐ圧縮されたＲＯＭＦＳ形式のモジュールファイル「ｘｘｘ．ｍｏｄ」をマウントポイント「／ｍｎｔ」へマウントし、そのモジュールファイルを起動する。
【００７０】
一方、ＳＤコマンドで指定されているスロットとＳＤカードが挿入されているスロットとが一致していないと判定すると（Ｓ２２４においてＮＯ）、プログラム起動部５２はマウント及び起動対象のモジュールファイルをマウント及び起動しない。
【００７１】
図１０の処理によれば、ＳＤカードに記録されたプログラムを起動する場合に、そのＳＤカードが挿入されているスロットとＳＤコマンドで指定されているスロットとが同一である場合にのみ、ＳＤカード内のモジュールファイルをマウント及び起動できる。すなわち、ＳＤカードに記録されたプログラムのマウント及び起動を、そのＳＤカードが挿入されたスロットに応じて抑制できる。
【００７２】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求のの範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００７３】
【図１】本発明による融合機のソフトウェア構成について説明するための一実施例の構成図である。
【図２】本発明による融合機のハードウェア構成について説明するための一実施例の構成図である。
【図３】融合機起動部の一例の構成図である。
【図４】融合機起動部の処理の一例のフローチャートである。
【図５】本発明によるプログラム起動方法について説明するために、融合機の一部を表した構成図である。
【図６】ＳＤカードに記録されたプログラムを起動する処理の一例のフローチャートである。
【図７】設定ファイルの一例の構成図を示す。
【図８】モジュール情報ファイルの一例の構成図である。
【図９】ステップＳ２１５〜Ｓ２１７の処理の一例のイメージ図である。
【図１０】ＳＤカードに記録されたプログラムを起動する処理の他の一例のフローチャートである。
【図１１】設定ファイルの他の一例の構成図を示す。
【図１２】ＳＤカード内に格納されているファイルの一例のイメージ図である。
【符号の説明】
【００７４】
１    融合機
２    ソフトウェア群
３    融合機起動部
４    ハードウェア資源
５    アプリケーション層
６    プラットフォーム
９    コントロールサービス層
１０    ハンドラ層
１１    プロッタ
１２    スキャナ
１３    ハードウェアリソース
２１    プリンタアプリ
２２    コピーアプリ
２３    ファックスアプリ
２４    スキャナアプリ
２５    ネットファイルアプリ
３１    ネットワークコントロールサービス（ＮＣＳ）
３２    デリバリーコントロールサービス（ＤＣＳ）
３３    オペレーションパネルコントロールサービス（ＯＣＳ）
３４    ファックスコントロールサービス（ＦＣＳ）
３５    エンジンコントロールサービス（ＥＣＳ）
３６    メモリコントロールサービス（ＭＣＳ）
３７    ユーザインフォメーションコントロールサービス（ＵＣＳ）
３８    システムコントロールサービス（ＳＣＳ）
３９    システムリソースマネージャ（ＳＲＭ）
４０    ファックスコントロールユニットハンドラ（ＦＣＵＨ）
４１    イメージメモリハンドラ（ＩＭＨ）
５１    ＲＯＭモニタ
５２    プログラム起動部
５３    アプリケーションプログラムインターフェース（ＡＰＩ）
５４    エンジンＩ／Ｆ
６０    コントローラ
６１    ＣＰＵ
６２    システムメモリ
６３    ノースブリッジ（ＮＢ）
６４    サウスブリッジ（ＳＢ）
６５    ＡＧＰ（Accelerated Graphics Port）
６６    ＡＳＩＣ
６７    ローカルメモリ
６８    ハードディスク装置（ＨＤＤ）
６９    ネットワークインターフェースコントローラ（ＮＩＣ）
７０    ＳＤカード用スロット
７１    ＵＳＢ  Ｉ／Ｆ
７２    ＩＥＥＥ１３９４  Ｉ／Ｆ
７３    セントロニクス  Ｉ／Ｆ
８０    操作パネル
８１    ファックスコントロールユニット（ＦＣＵ）
８２    エンジン部
８３    ＰＣＩバス
１２１    ＳＤカードチェックプログラム
１２２    ファイルシステム
１２３    ＳＤカードステータスモニタドライバ
１２４    ＳＤカードアクセスドライバ
１２５    ＳＤカード用スロット
１２６    ＳＤカード
【図１】
2004192629.tif 000003
【図２】
2004192629.tif 000004
【図３】
2004192629.tif 000005
【図４】
2004192629.tif 000006
【図５】
2004192629.tif 000007
【図６】
2004192629.tif 000008
【図７】
2004192629.tif 000009
【図８】
2004192629.tif 000010
【図９】
2004192629.tif 000011
【図１０】
2004192629.tif 000012
【図１１】
2004192629.tif 000013
【図１２】
2004192629.tif 000014