説明

情報処理装置、デバイス初期化方法、及びプログラム

【課題】
情報処理装置において起動時間を短縮すること。
【解決手段】
デバイスの初期化を実行するデバイス初期化手段400と、必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスの機能を提供するサービス実行手段402と、を有し、デバイス初期化手段400は、上記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行うと共に、デバイスの初期化処理におけるスレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを行なわないようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、デバイス初期化方法、及びプログラムに関し、特に、起動時間を短縮することのできる情報処理装置、デバイス初期化方法、及びプログラムに関する。
【背景技術】
【0002】
情報処理装置として現在多様な機器が用いられている。例えば、画像形成装置もその一種であるが、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を備えた複合プリンタ(Multifunction Printer、MFP)と呼ばれる画像形成装置が一般に広く用いられている。この画像形成装置は、各機能に共通の表示部、印刷部および撮像部(原稿読み取り部)などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応するソフトウェアを設け、ソフトウェアの切り替えによって当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
このように上記画像形成装置には多数のデバイスが接続されており、また、起動時に全デバイスの初期化処理の完了を、起動時の特定のポイント(例えば、ユーザ操作の受付等、サービス開始の直前)で待ち合わせを行うことから、起動が完了してユーザの操作が可能となるまでに相当の時間を要するという問題がある。
この問題は画像形成装置に限らず、広く情報処理装置一般に言えることである。
【0004】
図8は、従来の画像形成装置における、起動時のデバイス初期化処理の手順を示すフロー図である。
このデバイス初期化処理は、一般に、起動時に実行されるOS(Operating System、オペレーティング・システム)に含まれた起動処理プログラムに従って行なわれる。
【0005】
ユーザが画像形成装置の電源をONにすると(S401)、まずCPUやメモリなどの初期化処理が行われた後(S402)、画像形成装置に接続されているデバイスの検出が行なわれ(S403)、接続検知された各デバイスについて、それぞれ対応するデバイスドライバを用いて、各デバイスの初期化処理が開始される(S404)。
【0006】
その後、起動処理の特定のタイミング(例えば、ユーザ操作の受付などのサービス開始の直前)で全デバイスの初期化処理が完了したか否かを判断し(S405)、完了していれば(S405、Yes)、処理を終了し、完了していなければ(S405、No)、ステップS405を繰り返して、全デバイスの初期化処理の完了を待つ。
【0007】
全デバイスの初期化処理が完了すると、OSは起動処理プログラムを終了し、各種アプリケーション・プログラム(以下、単に「アプリケーション」という)を起動して、サービスを開始する。
図8に示す処理では、ステップS405において全デバイスの初期化処理の完了を待ち合わせているため、OSが起動処理を完了しユーザが操作を開始できるようになるまでに、多くの時間を要することとなる。このため、画像形成装置に使用されるUNIX(登録商標)等のOSにおいては、通常、各デバイス毎に初期化処理を実行するためのスレッドを生成し、各デバイスの初期化処理を並行して行うことで、全デバイスの初期化処理が完了するまでの処理時間を短縮している。
【0008】
ここで、スレッドとは、一つの処理に連続して割り当てられるCPU(Center Processing Unit)の処理時間単位をいい、UNIX(登録商標)等のOSでは、CPUの処理時間を所定の時間毎に分割したスレッドを、ソフトウェア毎に割り当て、各スレッドにより各ソフトウェアの処理を一部分ずつ順番に処理していくことにより、各ソフトウェアを並列に処理するのである。
【0009】
また、デバイスの初期化処理を短縮することのできるコンピュータシステムとして、従来、初期化処理を行うための複数のコマンドをデバイス毎に順次送信して初期化を行なう場合に、各デバイスから処理コマンドの実行完了を示す割り込み信号を受信するものとし、当該割込み信号を発生したデバイスに対し、順次、次の処理コマンドを送信することにより、一のデバイスの処理待ち時間に上記割り込みにより他のデバイスの初期化処理を実行して、複数のデバイスの初期化を並行して行うコンピュータシステムが知られている(特許文献1参照)。
【0010】
さらに、デバイスの初期化処理時間を短縮する画像形成装置として、予めユーザに使用する機能を選択させ、使用しない機能に関するデバイスについては初期化処理の対象から除外する画像形成装置も知られている(特許文献2参照)。
【0011】
しかしながら、特許文献1に記載されたコンピュータシステムでは、全デバイスの初期化完了を待って起動処理が完了するものであるため、初期化対象であるデバイスの数は削減されず、起動時間短縮の効果が小さいという問題を有している。
【0012】
また、特許文献2に記載された画像形成装置では、ユーザが使用しないこととした機能の実行が、画像形成装置の起動後に改めて必要となった場合には、当該機能に必要なデバイスを利用可能とするために、ユーザは、使用する機能の再設定を行って画像形成装置を再起動する必要があり、必要な機能を利用可能にするまでに相当の時間を要することとなる。
【発明の概要】
【発明が解決しようとする課題】
【0013】
本発明は、上記従来の問題に鑑みなされたものであって、その目的は、情報処理装置において、全デバイスを初期化対象としつつ、サービス開始までの起動時間を短縮し、かつ、デバイスの初期化処理の完了までの時間を短縮することである。
【課題を解決するための手段】
【0014】
本発明は、起動時にデバイスの初期化を行なう情報処理装置であって、前記デバイスの初期化を実行するデバイス初期化手段と、前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供手段と、を有し、前記デバイス初期化手段は、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止する情報処理装置である。
本発明は、起動時にデバイスの初期化を行なう情報処理装置におけるデバイス初期化方法であって、前記デバイスの初期化を実行するデバイス初期化工程と、前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供工程と、を有し、前記デバイス初期化工程では、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記各デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止するデバイス初期化方法である。
本発明は、起動時にデバイスの初期化を行なう情報処理装置のコンピュータを、前記デバイスの初期化を実行するデバイス初期化手段、前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供手段と、として機能させるプログラムであって、前記デバイス初期化手段を、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止するように機能させるプログラムである。
【発明の効果】
【0015】
本発明によれば、起動に必ずしも必要ではないデバイスについては、その初期化完了を待たずにサービスを開始して起動時間を短縮することができると共に、デバイスの初期化処理の完了までの時間を短縮することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の第1の実施形態に係る画像形成装置の構成を示すブロック図である。
【図2】図1に示す画像形成装置における、コントローラ上で実行されるソフトウェア群の構成を示すブロック図である。
【図3】図1に示す画像形成装置における、デバイス情報の一例を示す図である。
【図4】図1に示す画像形成装置の動作手順を示すフロー図である。
【図5】本発明の第2の実施形態に係る画像形成装置の、動作手順を示すフロー図である。
【図6】本発明の第3の実施形態に係る画像形成装置における、表示部に表示される機能テーブルの一例を示す図である。
【図7】本発明の第5の実施形態に係る画像形成装置の、動作手順を示すフロー図である。
【図8】従来の画像形成装置における、起動時のデバイス初期化処理の手順を示すフロー図である。
【発明を実施するための形態】
【0017】
以下、図面を参照して、本発明の実施の形態を説明する。
なお、以下の説明は画像形成装置を例に採って行うが、本発明は画像形成装置に限定するものではない。
本実施形態に係る画像形成装置は、サービス(即ち、ユーザに対する所定の機能の提供)を開始するために必須のデバイス(例えば、ユーザ操作を受け付けるための入力装置や表示装置等のデバイス)を特定しておき、上記必須デバイスの初期化が完了した時点でサービスを開始することで、サービス開始までの起動時間を短縮すると共に、上記サービス開始後も上記必須デバイス以外のデバイスの初期化を続行し、例えばユーザが入力操作等を行なっている間に全デバイスの初期化を完了して、全機能を使用可能とするものである。
【0018】
図1は、本発明の情報処理装置の第1の実施形態に係る画像形成装置の構成を示すブロック図である。
本画像形成装置1は、画像形成手段2と、画像形成手段2を制御するコントローラ4と、を有している。
【0019】
画像形成手段2は、プロッタ部22と、スキャナ部24とを有している。
プロッタ部22は、コントローラ4から送信される画像処理後の画像データに基づいて、画像を印刷出力する機能を果たす。
スキャナ部24は、紙等の媒体に記録された画像をスキャンし、画像データをコントローラ4に転送する画像読取装置である。
【0020】
コントローラ4は、CPU40と、プログラムが書き込まれたROM(Read Only Memory)42と、データの一時記憶のためのRAM(Random Access Memory)44とを有するコンピュータと、不揮発性RAM(NVRAM、Non-volatile RAM)46と、操作部48と、固定ディスク装置(HDD、Hard Disk Drive)50と、ネットワーク制御手段52と、画像処理手段54と、ファクシミリ装置(不図示)を備えるFCU(Facsimile Control Unit、ファクシミリ・コントロール・ユニット)56と、を有している。
【0021】
CPU40は、OS640(後述)や、プロッタ部22等を制御するためのアプリケーション・ソフトウェアを実行することで、画像形成装置1の動作を制御する機能を果たす。
RAM44は、CPU40の作業用領域として使用される揮発性メモリである。
【0022】
ROM42は、CPU40が実行するプログラムが格納される不揮発性メモリであり、当該プログラムはRAM44上に展開してCPU40によって実行される。
操作部48は、ユーザの操作情報の入力受け付けと、ユーザへの情報表示の機能を果たす。
HDD50は、主にエンジン側、即ち、画像形成手段2のスキャナ部24等から送られてきたデータを保存する機能を果たす。
【0023】
ネットワーク制御手段52は、LAN等に接続され、外部装置6との通信を行なうほか、USBインタフェースを備え、外部機器であるUSB機器(不図示)との通信を行なう。ここで、外部装置6は、例えばPC(Personal Computer、パーソナルコンピュータ)等であり、画像形成装置1に印刷指示(印刷要求)等を送信して画像形成装置1の動作を制御する。
【0024】
画像処理手段54は、スキャナ部24やHDD50から入力された画像について、色補正等の画像処理を行い、処理後の画像データをプロッタ部22等へ出力する。
NVRAM46は、所定のサービスを開始するのに必須のデバイスを特定するための情報を含むデバイス情報460などを記憶する。
【0025】
また、コントローラ4は、CPU40が、ROM42又はHDD50に記憶されているコンピュータ・プログラム、例えば後述するOS640(図2)を実行することにより実現される機能実現手段として、デバイス初期化手段400と、サービス実行手段402と、を有している。なお、コンピュータ・プログラムは、コンピュータ読み取り可能な任意の記憶媒体に記憶させておくことができる。
【0026】
デバイス初期化手段400は、ユーザが画像形成装置1の電源を投入したときに、画像形成装置1に接続されているデバイスを検知して、後述するOS640が備えるデバイスドライバにより、上記検知した各デバイスの初期化を実行する。
【0027】
サービス実行手段402は、各デバイスを動作させ当該デバイスの機能をユーザに提供する機能提供手段であり、ユーザが画像形成装置1の電源を投入したときに、NVRAM46が記憶するデバイス情報460を参照して、サービスを開始するのに必須のデバイス(必須デバイス)を特定し、すべての必須デバイスの初期化が完了したときに、サービスの実行を開始する。
サービス実行手段402は、OS640を構成する起動処理プログラムの一部と、各種のアプリケーションの実行を管理する後述するSCS(システムコントロールサービス)626(図2)とを含むことができるが、これらを含めずこれらと共にサービスを提供するものであってもよい。全ての必須デバイスの初期化が完了したときには、SCS626に処理を移すことにより、サービスを開始する。
【0028】
次に、コントローラ4上で実行されるソフトウェアについて説明する。
図2は、コントローラ4上で実行されるソフトウェア群の構成を示すブロック図である。
ソフトウェア群601を構成する各ソフトウェアは階層構造を成し、下層部分は、ハードウェアを直接的に制御するBIOS(Basic Input/Output System)650と、BIOS650上で動作するOS640と、を有している。
【0029】
ここで、OS640は、UNIX(登録商標)等のマルチスレッド対応のOSであり、各ソフトウェアにスレッドを割り当てることにより、各ソフトウェアを並列実行する。また、OS640は、画像形成装置1の各種デバイスを動作させるためのデバイスドライバと、起動時に実行される起動処理プログラムを備え、これらのプログラムがCPU40により実行されることにより、図1に示すデバイス初期化手段400等の各機能実現手段が実現される。
【0030】
ソフトウェア階層構造の最上層はアプリケーション群602であり、コピー用のアプリケーション・プログラム(以下、単に「アプリケーション」という)であるコピーアプリ611、プリンタ用のアプリケーションであるプリンタアプリ612、スキャナ用のアプリケーションであるスキャナアプリ613、ファクシミリ用のアプリケーションであるFAX(ファクシミリ)アプリ614などの、各種のアプリケーションを有している。
【0031】
アプリケーション群602の下位層には、アプリケーション群602を構成する上記各種アプリケーションからの処理要求を解釈して、ハードウェア資源の獲得要求を発生するコントロールサービス群603があり、コントロールサービス群603は、ECS(エンジンコントロールサービス)621と、MCS(メモリコントロールサービス)622と、OCS(オペレーションパネルコントロールサービス)623と、FCS(ファックスコントロールサービス)624と、NCS(ネットワークコントロールサービス)625と、SCS(システムコントロールサービス)626と、を有している。
【0032】
また、コントロールサービス群603とOS640との中間層には、ハードウェア資源の管理を行って、上記各コントロールサービスが発生したハードウェア資源の獲得要求を調停するSRM(システムリソースマネージャ)630がある。
【0033】
ここで、ECS621のプロセスは、エンジン部の制御を行う。
MCS622のプロセスは、不図示のシステムメモリの領域の取得および解放やRAM44やHDD50等の記憶装置の利用などの制御を行う。
OCS623のプロセスは、利用者と本体制御との間の情報伝達手段となる操作部48の制御を行う。
【0034】
FCS624のプロセスは、ISDN(Integrated Services Digital Network)網などを利用したファクシミリの送受信、各種ファクシミリデータの登録や読み取り、あるいは、ファクシミリ受信印刷などを、FAXアプリ614等から行うためのソフトウェア・インタフェースを提供する。
【0035】
NCS625のプロセスは、ネットワークI/O(インプット/アウトプット)を必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
また、SCS626のプロセスは、アプリケーションの管理、割り込みアプリケーション制御などの処理を行う。
【0036】
SRM630のプロセスは、SCS626と共にシステムの制御およびハードウェア資源の管理を行うものである。例えば、SRM630のプロセスは、上位層であるアプリケーション群602からのハードウェア資源の獲得要求を調停し、ハードウェアにより処理の実行を制御する。具体的に、SRM630のプロセスは、獲得要求されたハードウェア資源が利用可能であるか(他の獲得要求により利用されていないかどうか)を判定し、利用可能であれば獲得要求されたハードウェア資源が利用可能である旨を上位層に通知する。また、SRM630のプロセスは、上位層からの獲得要求に対してハードウェア資源を利用するためのスケジューリングを行い、要求内容(例えば、プリンタ部による紙搬送と作像動作、システムメモリの領域確保、ファイル生成など)を直接実行する。
【0037】
以上のソフトウェア構成により、コントローラ4上でBIOS650がOS640を起動し、OS640上では、コピーアプリ611、プリンタアプリ612、スキャナプアプリ613、FAXアプリ614などのアプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービス群603と、一または複数のハードウェア資源の管理を行い、コントロールサービス群603を構成する各コントロールサービスからの獲得要求を調停するSRM630が動作する。
【0038】
次に、図1に示すNVRAM46が記憶するデバイス情報460について説明する。このデバイス情報460は、サービス実行手段402がサービスを開始するのに必須のデバイスを特定するための情報を含んでいる。
図3は、デバイス情報460の一例を示す図である。このデバイス情報460は、テーブル形式となっており、最左列から順に、デバイス名、初期化完了待ちフラグ、初期化完了フラグ、及びスレッド切替え時間が記録される。
【0039】
デバイス名は、画像形成装置1に接続されている各デバイスを識別するための、各デバイスの名称である。例えば、usbは、USB機器との通信を行なうためネットワーク制御手段52が備えるUSBインタフェースを示し、fcuはファクシミリ装置を含むFCU56を示し、hddは固定ディスク装置であるHDD50を示している。
【0040】
初期化完了待ちフラグは、サービス実行手段402が所定のサービスを開始するのに必須のデバイスを特定するための情報であり、各デバイスが必須デバイスであるか否かを示すフラグで構成されている。例えば、初期化完了待ちフラグがONとなっているusb及びhddは必須デバイスであり、初期化完了待ちフラグがOFFとなっているfcuは必須デバイスではない。これら以外にも、例えば、操作部48を構成する液晶表示装置(不図示)やタッチパネル(不図示)は、ユーザからの指示入力に必要なデバイスとして、上記必須デバイスに含められる。
なお、初期化完了待ちフラグ及び初期化完了フラグの欄において、「ON」及び「OFF」の右側に示されている「(1)」及び「(0)」は、それぞれ、「ON」及び「OFF」を表すものとしてNVRAM46に実際に記憶される数値を示している。
【0041】
初期化完了フラグは、デバイスの初期化が完了していることを示すフラグである。このフラグは、電源投入後の初期状態ではOFFにリセットされており、各デバイスの初期化が完了した時点で、デバイス初期化手段400が、当該初期化が完了したデバイスについての初期化完了フラグをONにセットする。
【0042】
スレッド切替え時間は、デバイスの初期化処理に割り当てるスレッドの継続時間を指定するスレッド情報である。通常、スレッドの継続時間はOS640により所定の時間に設定されるが、デバイス初期化手段400は、デバイスの初期化に際しNVRAM46が記憶するデバイス情報460を参照し、スレッド切替え時間欄に時間が指定されているデバイスがあれば、そのデバイスの初期化処理に割り当てるスレッドの継続時間を、スレッド切替え時間欄で指定されている時間に変更し、当該指定されたスレッド継続時間内においては、他のスレッドに切り替えない。
【0043】
通常、スレッドの切り替えは、そのスレッドにおける所定の継続時間が経過した時、又は、そのスレッドにおいてデバイスからの応答を待機する答待機期間が開始した時に行なわれる。このスレッドの切り替えを行なうため、CPU40は、CPU40が備える各レジスタ(不図示)の現在の値をRAM44等のメモリ内に退避(記憶)させ、次に実行するスレッドについて退避しておいた以前の各レジスタ値を、当該メモリから読み出す等の処理を行う。
【0044】
これらの処理は、スレッドの切り替えのためだけに必要な処理(余分なコスト;オーバヘッド)であって、各デバイスの初期化処理に直接寄与するものではない。このため、スレッドの切り替えが頻繁に発生すると、上記オーバヘッドが多く発生し、各デバイスの初期化が完了するまでに要する時間が長くなる。従って、例えば、短時間で終了する応答待機期間が頻繁に発生する場合には、その発生のたびにスレッドを切り替えるよりも、応答待機期間の終了後までスレッドを切り替えないほうが、スレッド切り替えのためのオーバヘッドが少なくなってデバイス初期化の完了時間を短縮することができる。
【0045】
このため、本実施形態では、例えば所定の時間以内で終了する応答待機期間が発生するデバイスについては、図3に示すデバイス情報460のスレッド切替え時間欄に、そのデバイスの初期化に用いられるスレッドの継続時間を指定して、当該スレッドの継続時間を、上記応答待機期間の長さ(応答待機時間)よりも長く設定すると共に、上記設定されたスレッド継続時間内においては、応答待機期間が発生してもスレッドを切り替えないこととしている。
【0046】
これにより、本実施形態では、上記オーバヘッドの発生頻度を少なくして、デバイスの初期化処理の完了までの時間を短縮することができる。なお、スレッドに対しあまりに長い継続時間を設定すると、並行処理による処理時間の短縮効果が損なわれるため、デバイス情報460のスレッド切替え時間欄に設定する継続時間としては、例えば、所定の時間よりも短い応答待機時間に所定の余裕時間を加えた時間とすることができる。
【0047】
上記の構成を備える画像形成装置1は、ユーザにより電源が投入されると、各デバイスの初期化を開始し、サービス実行手段402は、NVRAM46が記憶するデバイス情報460を参照する(図3)。そして、初期化完了待ちフラグがONとなっているデバイスを必須デバイスとして特定し、これら必須デバイスの初期化完了を待ってサービスを開始すると共に、サービスの開始後は、当該サービスの実行と並行して、初期化を完了していない他のデバイスについての初期化処理を行う。
【0048】
これにより、画像形成装置1は、サービスを開始するのに必要な最小限のデバイスについての初期化が完了した時点でサービスを開始し、起動時間を短縮することができる。また、サービス開始後は、その他のデバイスの初期化を継続実行し全機能を使用可能とするため、ユーザは、必須デバイス以外のデバイスに関する機能を有効とするために画像形成装置1を再起動する必要はなく、利便性が向上する。
【0049】
また、デバイスの初期化に際し、デバイス情報460にスレッド切替え時間(即ち、スレッド継続時間)が指定されているデバイスについては、当該スレッド継続時間内においては、応答待機期間が開始してもスレッドを切り替えないようにしている。これにより、画像形成装置1は、オーバヘッドの発生頻度を下げてデバイスの初期化処理完了までの時間を短縮することができる。
【0050】
次に、画像形成装置1の動作手順について、図4に示すフロー図にしたがって説明する。
ユーザが画像形成装置1の電源をONにすると(S101)、まずCPUやメモリなどの初期化が行われる(S102)。この初期化は、例えば電源ONと同時に発生させたリセット信号により行なわれる。また、この初期化と同時に、ROM42やHDD50からRAM44に、BIOS650やOS640等のソフトウェア群601(図2)の全部又は一部がロードされて、CPU40により実行される。これにより、電源投入後の起動処理が開始する。
ここで、以下に示すステップS103a〜nないしS106a〜nと、ステップS107とは、各処理を行うスレッドにより並行に実行される。
【0051】
デバイス初期化手段400は、画像形成装置1に接続されているデバイス毎に、デバイスを検出した後(S103a〜n)、NVRAM46が記憶するデバイス情報460を参照し、そのデバイスについてスレッド切替え時間が指定されていれば、OS640に対し、そのスレッド切替え時間をそのデバイスの初期化処理のスレッド継続時間に設定すると共に、スレッド継続時間内におけるスレッドの切り替えを禁止する(S104a〜n)。
【0052】
次に、デバイス初期化手段400は、各デバイスに対応するデバイスドライバを用いて、各デバイスの初期化処理を行った後(S105a〜n)、初期化の完了時に、NVRAM46が記憶するデバイス情報460の初期化完了フラグをONに設定する(S106a〜n)。
【0053】
また、サービス実行手段402は、NVRAM46が記憶するデバイス情報460を参照して、初期化完了待ちフラグがONになっているデバイスの全て、即ち必須デバイスの全てについて、初期化完了フラグがONになっているか否かを判断する(S107)。
【0054】
そして、全ての必須デバイスについて初期化完了フラグがONになっているときは(S107、Yes)、処理を終了し、一方、いずれかの必須デバイスについて初期化完了フラグがONになっていないときは(S107、No)、全ての必須デバイスについて初期化完了フラグがONになるまで待機する。また、処理終了後は、サービス実行手段402は、サービスを開始する。
【0055】
なお、本実施形態では、デバイス情報460をNVRAM46に記憶するものとしたが、OS640のプログラムの一部として、デバイス情報460を保持してもよい。
【0056】
次に、本発明の第2の実施形態に係る画像形成装置について説明する。
本画像形成装置では、第1の実施形態に係る画像形成装置1におけるデバイス情報460に、各デバイスの初期化処理に要する時間(初期化時間)が記録されており、デバイス初期化手段400は、画像形成装置1に接続されている各デバイスを検出した後、デバイス情報460に記録された各デバイスの初期化時間を参照し、初期化時間の長いデバイス順に、初期化処理を開始するものとする。
【0057】
一般に、一のデバイスの初期化処理中に発生する応答待機期間に、他のデバイスの初期化処理を行えば、全体として初期化処理にかかる時間を短縮することができる。そのためには、一のデバイスの初期化処理中において応答待機期間が発生したときに、当該応答待機期間に実行することのできる他のデバイスの初期化処理が完了前の状態にあることが必要であり、できるだけ多くのデバイスについての初期化処理が実行途中の状態であることが必要となる。
【0058】
これに対し、初期化時間が短い順に初期化処理を開始した場合には、最初に実行開始される初期化時間の短いデバイス初期化処理が、後から開始される初期化時間の長いデバイス初期化処理の開始前、又は応答待機期間の開始前に完了している事態が生じ得るため、初期化処理が並行して実行されるデバイスの数は減少する。
【0059】
本実施形態では、初期化時間の長いデバイスから順番に初期化処理を開始するため、並行して初期化処理が実行されるデバイスの数が多くなり、一のデバイスの初期化処理中に発生する応答待機期間に他のデバイスの初期化処理を実行できる確率が高くなるので、CPU40が何も実行しない無駄な時間を削減でき、初期化処理の短縮効果を大きくすることができる。
【0060】
図5は、本実施形態に係る画像形成装置の動作手順を示すフロー図である。
本実施形態においては、デバイス初期化手段400は、デバイスの検出とスレッド切替え時間の設定(S203a〜S204n)と並行して、NVRAM46が記憶するデバイス情報460を参照し、デバイス情報460に記録されている各デバイスの初期化時間に基づき、初期化時間の長い順に、各デバイスの初期化の開始順序を決定し(S205)、決定した順序で、各デバイスの初期化を開始する(S206a〜n)。なお、上記以外のステップS201、S202、S203a〜n、S204a〜n、S207a〜n、及びS208については、それぞれ、図4に示すS101、S102、S103a〜n、S104a〜n、S106a〜n、及びS107と同じであるので、図4についての説明を援用する。
【0061】
次に、本発明の第3の実施形態に係る画像形成装置について説明する。
本画像形成装置では、第1の実施形態に係る画像形成装置1において、ユーザが操作部48を介して、サービス開始までに初期化を完了しておかなければならない必須デバイスを指定できるものとし、当該指定に基づいて、NVRAM46が記憶するデバイス情報460が更新されるものとする。
【0062】
第1の実施形態において、起動に最低限必要なデバイスのみを必須デバイスとした場合には、起動が完了してもユーザが利用したい機能が利用可能になっていない場合があり得る。
本実施形態(第3の実施形態)によれば、起動完了時に利用可能となっているべき機能を、ユーザが自由に設定することができる。また、デバイスの取り外しや新たなデバイスの取り付け等により画像形成装置の構成が変化した場合にも、ユーザにより必須デバイスを動的に変更して対応することができる。
【0063】
具体的には、CPU40がOS640等を実行することにより実現される機能実現手段として、操作部48を介したユーザからの必須デバイスの指定(入力)に基づき、NVRAM46が記憶するデバイス情報460の初期化完了待ちフラグを更新するデバイス情報更新手段を、コントローラ4が備えるものとすればよい。
【0064】
なお、一般にユーザは、所望の機能と当該機能に必要なデバイスとの関係を知らないことが多いため、操作部48を介してユーザから必須デバイスの指定を入力する際には、例えば図6に示す機能テーブルを、操作部48に備えた液晶パネル等の表示部(不図示)に表示して、ユーザによる必須デバイスの指定を支援することができる。
【0065】
図6に示す機能テーブルには、最左列から順に、実行可能な機能と、当該機能が依存する依存デバイス、すなわち、当該機能を実行するために必要なデバイスと、現在の設定状態、すなわち、当該機能が起動後のサービス開始直後において使用/未使用のいずれの状態に設定されているかが、示されている。これにより、ユーザは、所望の機能を利用するための必須デバイスを容易に特定して、操作部48により必須デバイスを指定(入力)することができる。
【0066】
次に、本発明の第4の実施形態に係る画像形成装置について説明する。
本画像形成装置では、第1の実施形態に係る画像形成装置1において、ユーザが操作部48を介して、起動後のサービス開始直後において実行可能とすべき機能を指定できるものとし、当該機能の指定に基づいて、その機能を実行するために必要なデバイスを特定すると共に、特定したデバイスを必須デバイスとして、NVRAM46が記憶するデバイス情報460を更新するものとする。
【0067】
本実施形態によれば、ユーザは、サービス完了直後に利用したい機能を直接的に指定することができるので、当該機能に必要なデバイスを知らない場合にも、次回起動後のサービス開始直後に所望の機能を利用できるようにすることができる。
【0068】
具体的には、CPU40がOS640等を実行することにより実現される機能実現手段として、操作部48を介したユーザからの機能の指定(入力)に基づき、当該指定された機能に必要なデバイスを特定し、特定したデバイスを必須デバイスとして、NVRAM46が記憶するデバイス情報460の初期化完了待ちフラグを更新するデバイス特定更新手段を、コントローラ4が備えるものとすればよい。
【0069】
次に、本発明の第5の実施形態に係る画像形成装置について説明する。
本画像形成装置では、第3又は第4の実施形態に係る画像形成装置において、ユーザが特定の操作、例えば、電源スイッチ(不図示)と操作部48が備えるテンキー(不図示)の一つを同時に押下する操作を行ったときに、NVRAM46が記憶するデバイス情報460の初期化完了待ちフラグ(図3)を、全デバイスについてONに設定して、初期化処理を行うものとする。
【0070】
本実施形態によれば、ユーザが特定の操作により電源を投入した場合には、全デバイスが必須デバイスとなり、全デバイスの初期化処理の完了を待ってサービスが開始される。このため、当該ユーザは、他のユーザが操作部48を介して必須デバイス等の指定を入力してデバイス情報460を変更した場合でも、上記特定の操作による電源投入により、他のユーザの変更を容易に(手間をかけずに)キャンセルして、サービス開始時には全機能を使用できる状態とすることができる。
【0071】
図7は、本実施形態に係る画像形成装置の動作手順を示すフロー図である。
本実施形態においては、ユーザによる電源ON後に、特定操作で電源がONされたか否かを判断し(S302)、特定操作で電源ONされたときは(S302、Yes)、NVRAM46が記憶するデバイス情報460のコピーをRAM44に記憶して退避し(S303)、NVRAM46が記憶するデバイス情報460を書き換えて、全デバイスの初期化完了待ちフラグ(図3)をONに設定する(S304)。
一方、特定操作で電源ONされなかったときは(S302、Yes)、ステップS305に処理を移して、図4と同様の処理を行う。
【0072】
また、全デバイスの初期化完了後は、RAM44にデバイス情報460のコピーが記憶されているときは、当該コピーにより、NVRAM46が記憶するデバイス情報460を書き換えて(S311)、処理を終了する。これにより、ステップS303においてRAM44に記憶させておいたデバイス情報460のコピーを用いて、NVRAM46が記憶するデバイス情報460の内容を元に戻すことができる。
【0073】
なお、上記以外のステップS301、S305、S306a〜nないしS309a〜n、及びS310については、それぞれ、図4に示すS101、S102、S103a〜nないしS106a〜n、及びS107と同じであるので、図4についての説明を援用する。
【0074】
以上説明したように、第1ないし第5の実施形態では、サービス開始前に初期化処理の完了を待ち合わせる必須デバイスを、予めデバイス情報460の中に記憶させておき、電源投入後の起動時に、各デバイスの初期化処理を開始させた後、デバイス情報460を参照して必須デバイスを特定し、全ての必須デバイスの初期化完了を待ってサービスを開始する。これにより、本画像形成装置は、サービス開始直後に限られた機能のみを有効にすることとして起動時間を短縮することができる。
【0075】
また、サービス開始後も、必須デバイス以外のデバイスの初期化処理を続行し、例えば、サービス開始後のユーザによる入力操作等の間に、全てのデバイスの初期化を完了して、全ての機能を使用可能とすることができる。
【符号の説明】
【0076】
1・・・画像形成装置、2・・・画像形成手段、4・・・コントローラ、22・・・プロッタ部、24・・・スキャナ部、40・・・CPU、42・・・ROM、44・・・RAM、46・・・NVRAM、48・・・操作部、50・・・HDD、52・・・ネットワーク制御手段、54・・・画像処理手段、56・・・FCU、400・・・デバイス初期化手段、402・・・サービス実行手段、460・・・デバイス情報、601・・・ソフトウェア群、602・・・アプリケーション群、603・・・コントロールサービス群、626・・・SCS、630・・・SRM、640・・・OS、650・・・BIOS。
【先行技術文献】
【特許文献】
【0077】
【特許文献1】特開平10−307649号公報
【特許文献2】特開2006−289734号公報

【特許請求の範囲】
【請求項1】
起動時にデバイスの初期化を行なう情報処理装置であって、
前記デバイスの初期化を実行するデバイス初期化手段と、
前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供手段と、
を有し、
前記デバイス初期化手段は、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止する情報処理装置。
【請求項2】
請求項1に記載された情報処理装置において、
前記継続時間は、前記デバイスの初期化処理における応答待機期間が所定時間以内で終了するデバイスについて、当該デバイスの応答待機期間より長く設定されている情報処理装置。
【請求項3】
請求項1又は2に記載された情報処理装置において、
前記デバイス初期化手段は、初期化に要する時間が最も長い前記デバイスから順番に、初期化処理を開始する情報処理装置。
【請求項4】
請求項1ないし3のいずれかに記載された情報処理装置において、
前記必須のデバイスを特定するための情報を含むデバイス情報を記憶する記憶手段を有し、
前記必須のデバイスとすべき前記デバイスを指定するユーザからの入力に基づき、前記デバイス情報の内容を更新するデバイス情報更新手段を有する情報処理装置。
【請求項5】
請求項1ないし3のいずれかに記載された情報処理装置において、
前記必須のデバイスを特定するための情報を含むデバイス情報を記憶する記憶手段を有し、
前記機能提供手段の動作開始時において提供可能とすべき機能を指定する、ユーザからの入力に基づき、当該機能を実行するための必須デバイスを特定して、前記デバイス情報の内容を更新するデバイス特定更新手段を有する情報処理装置。
【請求項6】
請求項1ないし5のいずれかに記載された情報処理装置において、
前記機能提供手段は、電源投入時においてユーザが所定の操作を行ったときは、全ての前記デバイスの初期化が完了したことを条件に、前記各デバイスの機能を提供する情報処理装置。
【請求項7】
起動時にデバイスの初期化を行なう情報処理装置におけるデバイス初期化方法であって、
前記デバイスの初期化を実行するデバイス初期化工程と、
前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供工程と、
を有し、
前記デバイス初期化工程では、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記各デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止するデバイス初期化方法。
【請求項8】
起動時にデバイスの初期化を行なう情報処理装置のコンピュータを、
前記デバイスの初期化を実行するデバイス初期化手段、
前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供手段と、として機能させるプログラムであって、
前記デバイス初期化手段を、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止するように機能させるプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−16982(P2013−16982A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−147511(P2011−147511)
【出願日】平成23年7月1日(2011.7.1)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】