(57)【特許請求の範囲】
【請求項１】
電源起動時に優先タスクと非優先タスクのいずれかに割り当てられた複数のタスクを段階的に起動する画像形成装置であって、
前記優先タスクの起動が完了したことを検知する優先タスク起動検知手段と、
前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知したときにジョブを受け付け可能な状態に遷移し、ジョブを受け付けるジョブ受け付け手段と、
前記非優先タスクの起動を開始する起動制御手段を有し、
前記起動制御手段は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから所定時間経過するまでは前記非優先タスクの起動を開始させず、かつ、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間経過までの間に、前記ジョブ受け付け手段によってジョブを受け付け、前記ジョブが前記非優先タスクの起動が必要なジョブでない場合は、前記ジョブ受け付け手段によって受け付けているすべてのジョブの処理が終了してから、前記非優先タスクの起動を開始し、かつ、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間経過までの間に、前記ジョブ受け付け手段によってジョブを受け付け、前記ジョブが前記非優先タスクの起動が必要なジョブである場合は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間を待たずに、前記非優先タスクの起動を開始することを特徴とする画像形成装置。
【請求項２】
前記画像形成装置は、前記ジョブ受け付け手段によって受け付けたジョブの種類を判定するジョブ種判定手段と、
前記ジョブ種判定手段によって判定されたジョブ種のジョブを処理するために必要なタスクが起動しているかどうかを判定する起動タスク判定手段をさらに有することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記起動制御手段は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間経過までの間に、前記ジョブ受け付け手段によってジョブを受け付け、前記ジョブが前記非優先タスクの起動が必要なジョブである場合は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間を待たずに、前記非優先タスクのうち、前記ジョブを処理するために必要なタスクのみ起動を開始することを特徴とする請求項１又は請求項２記載の画像形成装置。
【請求項４】
前記画像形成装置は、操作パネルのボタン操作を検知するボタン操作検知手段と、
前記ボタン操作検知手段によって検知するボタン操作に対応する処理に必要なタスクが起動しているかどうかを判定する起動タスク判定手段を有し、
前記起動制御手段は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間経過までの間に、前記ボタン操作検知手段によってボタン操作を検知し、該ボタン操作に対応する処理に必要なタスクが前記起動タスク判定手段によって起動していないと判定されたときに、該ボタン操作に対応する処理に必要なタスクを含む非優先タスクの起動を開始することを特徴とする請求項１記載の画像形成装置。
【請求項５】
前記画像形成装置は、操作パネルのボタン操作を検知するボタン操作検知手段と、
前記ボタン操作検知手段によって検知するボタン操作に対応する処理に必要なタスクが起動しているかどうかを判定する起動タスク判定手段を有し、
前記起動制御手段は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間経過までの間に、前記ボタン操作検知手段によってボタン操作を検知し、該ボタン操作に対応する処理に必要なタスクが前記起動タスク判定手段によって起動していないと判定されたときに、該ボタン操作に対応する処理に必要なタスクのみの起動を開始することを特徴とする請求項１記載の画像形成装置。
【請求項６】
前記画像形成装置は、記憶メディアＩ／Ｆに記憶メディアの挿入があったことを検知する記憶メディア検知手段と、
前記記憶メディア検知手段によって検知する記憶メディアに対する処理に必要なタスクが起動しているかどうかを判定する起動タスク判定手段を有し、
前記起動制御手段は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間経過までの間に、前記記憶メディア検知手段によって記憶メディアの挿入を検知し、該記憶メディアに対する処理に必要なタスクが前記起動タスク判定手段によって起動していないと判定されたときに、該記憶メディアに対する処理に必要なタスクを含む非優先タスクの起動を開始することを特徴とする請求項１記載の画像形成装置。
【請求項７】
前記画像形成装置は、記憶メディアＩ／Ｆに記憶メディアの挿入があったことを検知する記憶メディア検知手段と、
前記記憶メディア検知手段によって検知する記憶メディアに対する処理に必要なタスクが起動しているかどうかを判定する起動タスク判定手段を有し、
前記起動制御手段は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間経過までの間に、前記記憶メディア検知手段によって記憶メディアの挿入を検知し、該記憶メディアに対する処理に必要なタスクが前記起動タスク判定手段によって起動していないと判定されたときに、該記憶メディアに対する処理に必要なタスクのみの起動を開始することを特徴とする請求項１記載の画像形成装置。
【請求項８】
前記画像形成装置は、前記ジョブ受け付け手段によって受け付けるジョブに従ってジョブの種類別にジョブ数をカウントし、該カウント値を保持するジョブ種カウント保持手段と、
前記ジョブ種カウント保持手段によるカウント情報に従って、次の電源起動時のタスク起動制御を変更するタスク起動変更手段をさらに有することを特徴とする請求項１から７のいずれかに記載の画像形成装置。
【請求項９】
前記起動タスク判定手段は、前記複数のタスクそれぞれに対して優先タスクと非優先タスクのいずれかに予め割り当てられたタスクテーブルを用いて判定することを特徴とする請求項３から８のいずれかに記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のタスクの処理によって動作する画像形成装置に関する。
【背景技術】
【０００２】
画像形成装置は従来のものに比べて年々システムが大規模化している。それによって、電源起動時の初期化処理の量も多くなってきているため、電源起動から画像形成処理できるようになるまでの起動時間も長くなってきている。このような問題に対して、シャットダウン前のメモリ情報をＨＤＤ等の不揮発の記憶装置に記憶させておき、電源起動時にはその不揮発の記憶装置に記憶させておいた情報を元のメモリに復元するハイバネーション技術がある（例えば、特許文献１）。このハイバネーション技術により、電源起動時の初期化処理を省くことができ、起動時間を短縮する効果がある。しかし、ＨＤＤ等の大容量の不揮発記憶装置を持たない構成の画像形成装置の場合、ハイバネーション技術を使用して起動時間を短縮することができない。一方、電源起動時の初期化処理をなるべく少なくするために、電源起動時にはいずれのエミュレーションプログラムも起動させず、印刷データを受信してからその印刷データに対応するエミュレーションプログラムを起動する技術もある（例えば、特許文献２）。しかし、この技術では、印刷データを受信してから画像形成処理を完了するまでの時間（以後、ＦＰＯＴ（Ｆｉｒｓｔ  Ｐｒｉｎｔ  Ｏｕｔ  Ｔｉｍｅ）と呼ぶ）に関して、電源起動してから初めて受信した印刷データの種類だったときの方が、そうでないときより常に長くなってしまう。さらに、画像形成に関わる制御を複数のタスクで実現する画像形成装置において、電源起動後、印刷データによる印刷ジョブの処理に必要な最低限のタスク（以後、優先タスクと呼ぶ）のみ最初に起動し、それら優先タスクの起動が完了した後にジョブ受け付け可能状態にするとともに残りのタスク（以後、非優先タスクと呼ぶ）を起動する技術がある。しかし、この技術では、非優先タスクの初期化処理中にジョブを受け付けたとき、ＣＰＵは非優先起動タスクの初期化処理に使用されているため、受け付けたジョブの処理にＣＰＵが十分割り当たらず、ジョブの処理速度として十分に性能を発揮できない問題がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−０８４８４８
【特許文献２】特開２００９−１６６３６９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、上述した問題を解決するためになされたものであり、電源起動して印刷データの受け付けが可能な状態になるまでの時間を短く抑え、印刷データの受け付けが可能な状態になってから受信した印刷データのＦＰＯＴ性能をなるべく落とさない最適なタスク起動制御を実現することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の画像形成装置は、複数のタスクで構成され、前記複数のタスクのそれぞれに対して優先タスクと非優先タスクのいずれかに予め割り当てられたタスクテーブルに従って、電源起動時に前記複数のタスクを段階的に起動する画像形成装置であって、前記優先タスクの起動が完了したことを検知する優先タスク起動検知手段と、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知したときにジョブを受け付け可能な状態に遷移し、ジョブを受け付けるジョブ受け付け手段と、前記非優先タスクの起動を開始する起動制御手段を有し、前記起動制御手段は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから所定時間経過するまでは前記非優先タスクの起動を開始させず、かつ、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間経過までの間に、前記ジョブ受け付け手段によってジョブを受け付け、前記ジョブが前記非優先タスクの起動が必要なジョブでない場合は、前記ジョブ受け付け手段によって受け付けているすべてのジョブの処理が終了してから、前記非優先タスクの起動を開始し、かつ、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間経過までの間に、前記ジョブ受け付け手段によってジョブを受け付け、前記ジョブが前記非優先タスクの起動が必要なジョブである場合は、前記優先タスク起動検知手段によって前記優先タスクの起動完了を検知してから前記所定時間を待たずに、前記非優先タスクの起動を開始することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、電源起動して印刷データの受け付けが可能な状態になるまでの時間を短く抑えることができ、さらに印刷データの受け付けが可能な状態になった直後に受信した印刷データのＦＰＯＴ性能の低下頻度を減らすことができる。
【図面の簡単な説明】
【０００７】
【図１】本発明における画像形成装置のシステム構成の概略を示す図である。
【図２】本発明におけるコントローラ３０２の構成例を示すブロック図である。
【図３】本発明におけるタスク起動制御の手順を示すフローチャートである。
【図４】本発明におけるタスク起動制御のステップＳ１０８、Ｓ１１１を説明するためのタイムチャートである。
【図５】本発明におけるタスク起動制御のステップＳ１０８を説明するためのタイムチャートである。
【図６】本発明におけるタスク起動制御のステップＳ１０６を説明するためのタイムチャートである。
【図７】本発明におけるタスク起動制御において使用するタスクテーブルである。
【図８】本発明の実施例２におけるタスク起動制御において使用するＰＤＬジョブ種カウンタテーブルである。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【０００９】
（プリンタのシステム構成の説明）
図１は、本発明の実施例を示す画像形成装置のシステム構成の概略を示す図である。
【００１０】
図において、データ処理装置１０１は、例えば、コンピュータであり、画像情報の供給源として機能する。本実施例においては、画像形成装置１０２として、レーザビームプリンタ（以降、プリンタと称する）を用いている。本実施例において適用される画像形成装置は、レーザビームプリンタに限られるものではなく、インクジェットプリンタ等他のプリント方式のプリンタでもよいことは言うまでもない。
【００１１】
プリンタコントローラ（コントローラ）３０２は、データ処理装置１０１から供給される画像情報（例えば、ページ記述言語（以降、ＰＤＬと呼ぶ））に基づいて、ページ毎にラスタデータを生成し、プリンタエンジン３０３に送出する。
【００１２】
プリンタエンジン３０３は、コントローラ３０２から供給されるラスタデータに基づいて、感光ドラム上に潜像を形成し、その潜像を記録媒体上に転写・定着（電子写真方式）することにより画像を記録する。
【００１３】
パネル部３０１は、ユーザインタフェースとして使用される。コントローラ３０２は、パネル部３０１を介してユーザからの所望の動作指示を受け付ける。また、コントローラ３０２は、パネル部３０１を介して、プリンタ１０２の処理内容やユーザへの警告内容を表示する。
【００１４】
（コントローラのシステム構成の説明）
図２は、コントローラ３０２の構成例を示すブロック図である。
図において、４０１は、パネル部３０１とのデータ通信を行うパネルインタフェース部である。ＣＰＵ４０９は、パネルインタフェース部４０１を介して、ユーザからのパネル部３０１を介しての設定および指示内容を受け付ける。４０２は、ネットワークを介してホストコンピュータ等のデータ処理装置１０１と双方向に通信接続するためのホストインタフェース部である。４０３は、ホストインタフェース部４０２を介してデータ処理装置１０１から受信した印刷ジョブをプリンタ１０２内部で扱いやすい形である中間データに変換する処理を行う中間データ作成部である。４０４は、本発明で説明する処理や、その他プリンタ１０２の行う制御プログラムコードが保持されるＲＯＭである。４０５は、ＲＡＭである。ＣＰＵ４０９がＲＡＭ４０５に格納するデータには、ホストインタフェース部４０２を介して受信した印刷データ、印刷データを解釈して生成される中間データ、中間データをレンダリングして生成されるビットマップ、その他の処理に必要な一時的な各種処理ステータスなどがある。４０６は、プリンタエンジン３０３と通信接続するためのエンジンインタフェース部である。ＣＰＵ４０９は、エンジンインタフェース部４０６を介して、プリンタエンジン３０３の状態を認識する。４０７は、ＤＭＡ制御部である。ＣＰＵ４０９は、ＲＡＭ４０５内に格納されているビットマップデータをＤＭＡ制御部４０７を介してエンジンインタフェース部４０６に転送する。４０８は、ＲＡＭ４０５に格納された中間データの内容に従って、ビットマップイメージに展開するレンダリング部である。４０９は、ＲＯＭ４０４に格納された制御プログラムコードに基づいて、ＣＰＵバス４１２に接続されたデバイスを制御するＣＰＵである。４１０は、プリンタ１０２の設定情報を保持するための不揮発性メモリＥＥＰＲＯＭである。４１１は、ＵＳＢメモリ等のリムーバブルメディア３０４から画像データ、プログラムデータ、機器設定データ等の各種データを読み取ったり書き込んだりするためのメディアインタフェース部である。
【００１５】
４１２は、電源起動時に、所定の手続きに従って各インタフェース部の状態を確認したり各処理部に必要な初期設定を行ったりするための起動制御部である。ＲＯＭ４０４に保持されている制御プログラムコードは、複数のタスクによって制御するように構成されているため、起動制御部４１２は、電源起動時に各タスクの起動を指示して各タスクの初期化処理を実行する。
【００１６】
４１３は、ホストインタフェース部４０２を介してデータ処理装置１０１から受信する複数の印刷ジョブを処理するために、中間データ作成部４０３やレンダリング部４０８、エンジンインタフェース部４０８、ＤＭＡ制御部のそれぞれの処理部に順に指示を出すジョブ制御部である。
【００１７】
４２０は、アドレス、データ、コントロールバスを含むＣＰＵバスである。４０１から４１０のデバイスは、それぞれＣＰＵバス４２０に接続されたすべてのデバイスにアクセスできる。
【００１８】
（課題解決のためのフローチャートの説明）
図３は、起動制御部４１２が電源起動時に行うタスク起動制御の手順を示すフローチャートである。図において、起動制御部４１２は、電源ＯＮによって制御を開始すると（Ｓ１０１）、まず優先タスクを起動する。複数のタスクのそれぞれが優先タスクであるかどうかは、起動制御部４１２が管理する後述する図７のタスクテーブルによって予め決まっている。図７の例では、起動制御部４１２は、「ＴＩＤ０１」、「ＴＩＤ０２」、「ＴＩＤ０３」、「ＴＩＤ０４」、「ＴＩＤ０６」、「ＴＩＤ０７」を優先タスクとして起動する。起動制御部４１２は、優先タスクの起動が完了したら、機器の状態を「起動中」状態から「ジョブ受け付け可能」状態に遷移させ、印刷ジョブの受信が可能である旨のメッセージをパネルインタフェース部４０１を介してパネル部３０１に表示する。「ジョブ受け付け可能」状態では、起動制御部４１２は、ホストインタフェース部４０２を介してジョブを受け付けたかどうかを判断し（Ｓ１０５）、ジョブを受け付けていればさらにそのジョブが非優先タスクの起動が必要なジョブかどうかを判断する（Ｓ１０６）。受け付けたジョブの処理のために非優先タスクの起動が必要なジョブであれば、起動制御部４１２は、非優先タスクを起動する（Ｓ１０７）。ここで、起動制御部４１２が起動するタスクは、非優先タスクすべて対象であるが、非優先タスクのうち、受け付けたジョブの処理に必要なタスクのみに限定してもよい。
【００１９】
ジョブ制御部４１３は、起動制御部４１２による非優先タスクの起動処理（Ｓ１０７）が完了するまでは、受け付けたジョブの処理を保留し、起動制御部４１２による非優先タスクの起動処理（Ｓ１０７）が完了したあとにそのジョブの処理を再開する。起動制御部４１２は、Ｓ１０６において受け付けたジョブが非優先タスクの起動が必要なジョブだと判断した場合に受け付けたすべてのジョブのすべての処理が完了するのを待って（Ｓ１０８）、ステップＳ１０９の処理に移る。Ｓ１０９において、起動制御部４１２は、まず非優先タスクの起動が必要なボタン１が押されたことを検知したかどうかを判断する（Ｓ１０９）。例えば、パネルインタフェース部４０１は、ボタン１が押されたことを検知したときに、その非優先タスクの処理によって構成される機能を提供するためのメニューを表示する。その非優先タスクは、パネルインタフェース部４０１を介してのメニュー操作によるユーザの指示に対して、メニュー内容に従った所定の処理を行う。起動制御部４１２は、Ｓ１０９において非優先タスクの起動が必要なボタン１が押されたことを検知した場合には、非優先タスクを起動さ（Ｓ１０７）せ、パネルインタフェース部４０１は、非優先タスクの起動処理（Ｓ１０７）が完了するのを待ってからパネルインタフェース部４０１を介してパネル部３０１に所定のメニューを表示する。起動制御部４１２は、Ｓ１０９において非優先タスクの起動が必要なボタン１が押されたことを検知した場合には、Ｓ１０７に移って非優先タスクを起動させる。起動制御部４１２は、Ｓ１０９において非優先タスクの起動が必要なボタン１が押されたことを検知しなければ、非優先タスクの起動が必要なＵＳＢホストのメディアインタフェース部４１１にリムーバブルメディア３０４が挿入されたことを検知したかどうかを判断する（Ｓ１１０）。例えば、パネルインタフェース部４０１は、メディアインタフェース部４１１にリムーバブルメディア３０４が挿入されたことを検知したときに、その非優先タスクの処理によって構成される機能を提供するためのメニューを表示する。このメニューは、ボタン１の押下を検知したときのメニューと同じであってもよいし、異なってもよく、対応する非優先タスクもボタン１の押下を検知したときのタスクと同じであってもよいし、異なってもよい。その非優先タスクは、パネルインタフェース部４０１を介してのメニュー操作によるユーザの指示に対して、メニュー内容に従った所定の処理を行う。起動制御部４１２は、Ｓ１１０において非優先タスクの起動が必要なＵＳＢホストのメディアインタフェース部４１１にリムーバブルメディア３０４が挿入されたことを検知した場合には、Ｓ１０７に移って非優先タスクを起動させる。起動制御部４１２は、Ｓ１１０において非優先タスクの起動が必要なＵＳＢホストのメディアインタフェース部４１１にリムーバブルメディア３０４が挿入されたことを検知しなければ、Ｓ１０４にてジョブ受け付け可能状態になってから所定の時間ＴＷ以上経過したかどうかを判断する（Ｓ１１１）。時間ＴＷは、ジョブ受け付け可能状態になった直後にホストインタフェース部４０２を介してジョブを受け付けることを想定して、非優先タスクの起動をする前にその受け付けたジョブの処理を優先的に処理するために予め設定された時間である。また、時間ＴＷは、ユーザが設定変更するためのメニューによって変更されるものでもよい。起動制御部４１２は、Ｓ１１１においてジョブ受け付け可能状態になってから所定の時間ＴＷ以上経過したと判断した場合には、Ｓ１０７に移って非優先タスクを起動させる。起動制御部４１２は、Ｓ１１１においてジョブ受け付け可能状態になってから所定の時間ＴＷ以上経過していないと判断した場合には、Ｓ１０５からの処理を繰り返す。
【００２０】
（図３のステップＳ１０８およびＳ１１１の制御例の説明）
図４の（Ａ）および（Ｂ）は、前述した従来例の起動方式での起動処理とジョブ処理を説明するためのタイムチャートである。従来例の図４−Ａでは、起動制御部４１２は、優先タスクの起動処理５０１が終わったあとにすぐに非優先タスクの起動処理５０２を実行する。ＴＡは、ジョブ受け付け可能状態になった時刻である。一方、ジョブ制御部４１３は、ジョブ１の受信に従ってジョブ１の処理５０３を実行する。次に、従来例の図４−Ｂでは、起動制御部４１２は、優先タスクの起動処理５１１が終わったあとにすぐに非優先タスクの起動処理５１２を実行する。一方、ジョブ制御部４１３は、非優先タスクの起動処理５１２が終了する前にジョブ１の受信に従ってジョブ１の処理５１３を実行する。ここで、ジョブ１の処理時間に関して、図４−ＡではＴＪ１に対して、図４−ＢではＴＪ２（＞ＴＪ１）である。図４−Ａの例より図４−Ｂの例でジョブ１の処理時間が長くなっているのは、図４−Ｂの例において非優先タスクの起動処理５１２とジョブ１の処理５１３が重なることによってジョブ１の処理５１３に費やされるＣＰＵの割合が図４−Ａの例に比べて小さいからである。
【００２１】
図４の（Ｃ）および（Ｄ）は、図３において前述した本発明のフローチャートの特にＳ１０８およびＳ１１１に従った起動処理とジョブ処理を説明するためのタイムチャートである。図４−Ｃでは、起動制御部４１２は、優先タスクの起動処理５２１が終わってから所定時間ＴＷだけ待機してから非優先タスクの起動処理５２２を実行する。一方、ジョブ制御部４１３は、ジョブ１の受信に従ってジョブ１の処理５２３を実行する。次に、図４−Ｄでは、起動制御部４１２が優先タスクの起動処理５３１を終えて所定時間ＴＷだけ待機している間に、ジョブ制御部４１３がジョブ１の受信に従ってジョブ１の処理５３３を実行する。起動制御部４１２は、ジョブ受け付け可能状態になってから所定時間ＴＷ経過していてジョブ１の処理５３３を含むすべてのジョブのすべての処理が終わったのを確認から非優先タスクの起動処理５３２を実行する。ここで、ジョブ１の処理時間に関して、図４−Ｃにおける処理時間ＴＪ３と図４−Ｄにおける処理時間ＴＪ４は、同じ時間である。以上のように、図３におけるＳ１０８およびＳ１１１に従った起動処理とジョブ処理によって、図４−Ｂの例のようにジョブ１の処理時間が長くなってしまう問題を防ぐことができる。
【００２２】
図５は、図３において前述した本発明のフローチャートの特に複数ジョブを受信するときのＳ１０８およびＳ１１１に従った起動処理とジョブ処理を説明するためのタイムチャートである。図５−Ａでは、起動制御部４１２が優先タスクの起動処理６０１を終えて所定時間ＴＷだけ待機している間に、ジョブ制御部４１３がジョブ１の受信に従ってジョブ１の処理６０３を実行する。さらに、ジョブ制御部４１３は、ジョブ１の処理６０３を実行している間にジョブ２の受信に従ってジョブ２の処理６０４を実行する。起動制御部４１２は、ジョブ受け付け可能状態になってから所定時間ＴＷ経過していてジョブ１の処理６０３とジョブ２の処理６０４を含むすべてのジョブのすべての処理が終わったのを確認から非優先タスクの起動処理６０２を実行する。図５−Ｂでは、起動制御部４１２が優先タスクの起動処理６１１を終えて所定時間ＴＷだけ待機している間に、ジョブ制御部４１３がジョブ１の受信に従ってジョブ１の処理６１３を実行する。起動制御部４１２は、ジョブ受け付け可能状態になってから所定時間ＴＷ経過していてジョブ１の処理６１３を含むその時点でのすべてのジョブのすべての処理が終わったのを確認から非優先タスクの起動処理６１２を実行する。ジョブ制御部４１３は、起動制御部４１２が非優先タスクの起動処理６１２を実行している間にジョブ２を受信しても非優先タスクの起動処理６１２が終わるのを待ってジョブ２の処理６１４を実行する。以上のように、コントローラ３０２がジョブ受け付け可能状態になってから複数のジョブを受信する場合においても、図３におけるＳ１０８およびＳ１１１に従った起動処理とジョブ処理によって、ジョブの処理時間が長くなってしまう問題を防ぐことができる。
【００２３】
（図３のステップＳ１０６の制御例の説明）
図６は、図３において前述した本発明のフローチャートのＳ１０６に従った起動処理とジョブ処理を説明するためのタイムチャートである。図６では、起動制御部４１２が優先タスクの起動処理７０１を終えて所定時間ＴＷだけ待機している間に、ジョブ１の受信に従って非優先タスクの起動処理７０２を実行する。起動制御部４１２が所定時間ＴＷを待たずに非優先タスクの起動処理７０２を実行する理由は、ジョブ１の処理に必要タスクが非優先タスクとして割り当てられているために、ジョブ１の処理を実行できないからである。例えば、ジョブ１が後述する図７の「ＰＤＬ３」で構成されるジョブであるとき、起動制御部４１２は起動優先度「２」の非優先タスクとして割り当てられているタスク「ＴＩＤ０５」の起動処理を実行する。ジョブ制御部４１３は、起動制御部４１２が非優先タスクの起動処理７０２を終えたあとにジョブ１の処理７０３を実行する。以上のように、図３におけるＳ１０６に従った起動処理とジョブ処理によって、ジョブの処理に必要なすべてのタスクが起動完了していなくても、ジョブ受信後に必要なタスクを起動させてジョブの処理を継続させることができる。
【００２４】
（タスクテーブルの説明）
図７は、起動制御部４１２が管理するタスクテーブルである。起動制御部４１２は、タスクテーブルにて、タスク毎にタスクＩＤ、起動優先度、起動条件を管理している。「タスクＩＤ」は、複数のタスクうちのそれぞれのタスクを識別するためのＩＤである。「起動優先度」は、タスクの起動開始タイミングを定義した項目である。図の例では、ジョブ受け付け可能な状態にするまでに起動させるタスクは「１」、ジョブ受け付け可能な状態になってから起動させるタスクは「２」として定義されている。「起動トリガー」は、仮にそのタスクが起動していないときにそのタスクを起動させなければならない事象のことであり、図の例では、以下のように判断される。
【００２５】
ＰＲＩＮＴ：印刷処理に必要なタスク
ＰＤＬ１：ＰＤＬ１のジョブの解釈に必要なタスク
ＰＤＬ２：ＰＤＬ２のジョブの解釈に必要なタスク
ＰＤＬ３：ＰＤＬ３のジョブの解釈に必要なタスク
ＢＵＴＴＯＮ１：パネルインタフェース部４０１がパネル部３０１のボタン１が押されたのを検知したときに必要なタスク
ＵＳＢ−Ｈ：メディアインタフェース部４１１がＵＳＢホストにリムーバブルメディアが挿入されたのを検知したときに必要なタスク
例えば、起動制御部４１２は、ＰＤＬ３のジョブを受信したときにタスク「ＴＩＤ０５」が起動していることを確認し、起動していれば何もせず（ジョブ制御部４１３が印刷ジョブの解釈処理を開始する）、起動していなければそのタスクを起動させる。
【実施例２】
【００２６】
実施例１は、図７のように各タスクの起動優先度が予め決められた状態で、図３に従った起動制御を行うものであるが、各タスクの起動優先度は、使用されている環境でのＰＤＬジョブ種別の頻度に応じて可変であってもよい。
【００２７】
（課題解決のために使用するＰＤＬジョブ種カウンタテーブルの説明）
図８は、本発明の実施例２のタスク起動制御において使用するＰＤＬジョブ種カウンタテーブルである。図８では、ジョブ制御部４１３が受信したジョブのＰＤＬ種に従ってＰＤＬジョブ種カウンタテーブルのカウンタ値をカウントアップする。不図示のシャットダウン制御部がＰＤＬジョブ種カウンタテーブルのカウンタ値に従って図７のタスクテーブルの起動優先度を変更する。例えば、図７の例では、「ＴＩＤ０３」〜「ＴＩＤ０５」のタスクに対して、図８のＰＤＬジョブ種カウンタの中で値の大きい「ＰＤＬ１と「ＰＤＬ３」の起動優先度を高く設定（「２」に）し、「ＰＤＬ２」の起動優先度を低く設定（「１」に）する。次の電源起動時には、起動制御部４１２は、前述の設定変更が反映された起動優先度に従って図３に従った起動制御を行う。これによって、コントローラ３０２は、ジョブ受け付け可能状態になった直後に、その環境において使用頻度の高い「ＰＤＬ１」と「ＰＤＬ３」で構成されるジョブを処理できる状態になる。
【図１】
0005631112.tif 000002
【図２】
0005631112.tif 000003
【図３】
0005631112.tif 000004
【図４】
0005631112.tif 000005
【図５】
0005631112.tif 000006
【図６】
0005631112.tif 000007
【図７】
0005631112.tif 000008
【図８】
0005631112.tif 000009