JP2014135584A - 画像形成装置 - Google Patents
画像形成装置 Download PDFInfo
- Publication number
- JP2014135584A JP2014135584A JP2013001647A JP2013001647A JP2014135584A JP 2014135584 A JP2014135584 A JP 2014135584A JP 2013001647 A JP2013001647 A JP 2013001647A JP 2013001647 A JP2013001647 A JP 2013001647A JP 2014135584 A JP2014135584 A JP 2014135584A
- Authority
- JP
- Japan
- Prior art keywords
- job
- usage rate
- cpu usage
- processing
- waiting time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Control Or Security For Electrophotography (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】CPUの処理能力が不足する場合であっても、各種ジョブを一時停止させることなく、UIのスムーズな動作を図り、ユーザへのストレスを緩和できる画像形成装置を提供する。
【解決手段】ジョブ実行制御部(104)は、許可判定の対象としたジョブのジョブ条件に基づいて、そのジョブの実行に伴うCPUの使用率を算出し、CPU使用率が所定値を越える場合、画像形成装置の動作条件を制限し、このときのCPU使用率が所定値以下になった場合、制限した動作条件に従ってジョブの実行を許可する。動作条件を制限したときのCPU使用率は、ハードリソース管理テーブル(108)に登録された処理待ち時間と、メモリリソース管理テーブル(109)に登録された処理待ち時間とを考慮して算出する。
【選択図】図2
【解決手段】ジョブ実行制御部(104)は、許可判定の対象としたジョブのジョブ条件に基づいて、そのジョブの実行に伴うCPUの使用率を算出し、CPU使用率が所定値を越える場合、画像形成装置の動作条件を制限し、このときのCPU使用率が所定値以下になった場合、制限した動作条件に従ってジョブの実行を許可する。動作条件を制限したときのCPU使用率は、ハードリソース管理テーブル(108)に登録された処理待ち時間と、メモリリソース管理テーブル(109)に登録された処理待ち時間とを考慮して算出する。
【選択図】図2
Description
本発明は、画像形成装置に関し、より詳細には、画像形成に係るジョブに基づいて画像を形成する画像形成装置に関する。
近年、MFP(Multi Function Peripheral:デジタル複合機)などの画像形成装置において、ユーザインタフェース(以下、UIともいう)となるタッチパネルを搭載した表示画面が大型化され、プレビュー機能など様々な機能がより使い易く、また、見易く改良されたものが製品化されている。このようにMFPを高機能化あるいは多機能化していくと、当然ながらMFPが備えるCPUへの負荷も大きくなる。
CPUの処理能力が不足すると、MFPの動作が抑制され、例えば、プレビュー表示がスムーズに行なわれない、あるいは、スキャン性能が低下するなど、ユーザにストレスを与えることになる。このような場合、処理能力の高い高性能なCPUを搭載することで、負荷軽減を図ることはできるが、一般に、高性能なCPUは高価であるため、MFPのコストアップの要因となる。このため、ユーザにストレスを与えることなく、CPUを効率的に使用するための技術が種々提案されている。
例えば、特許文献1には、CPUの稼働率などにより、ジョブ優先度や最大実行可能なジョブ数等を動的に変更できるMFPが記載されている。このMFPによれば、印刷ジョブ、FAX送信ジョブ、アプリケーション実行ジョブ、及びメール送信ジョブがスプールキューにスプールされ、ジョブ制御部は、ジョブの優先度に基づき同時実行可能なジョブ数を計算し、実行可能ジョブ数が限界に達している場合でも、優先度が高いジョブの実行を可能とし、対応するジョブ実行タスクによってジョブを実行させる。この優先度はCPUの稼働率によって補正され、ジョブを効率的に実行できるようにしている。
ここで、MFPによりCPU負荷の大きなジョブを処理すると、CPU使用率が100%近くになってしまう場合がある。この場合、CPUがジョブ処理に占有されてしまうため、MFPのUIの動作にも影響が出てしまう。例えば、プレビュー表示が途中で停止したり、画面切替などの動作がぎくしゃくしたりするなど、UIのレスポンス性を低下させてしまうため、ユーザからすると直接目に触れる部分だけに大きなストレスがかかることになる。
MFPのUIをスムーズに動作させるためには、CPU使用率にある程度余裕を持たせる必要があるため、ジョブ処理や他の機能に割り当てるCPU使用率を例えば80〜90%程度に抑えることが考えられる。しかし、ジョブによってはCPUに大きな負荷を掛けることがあるため、CPU使用率を常に80〜90%に抑えることは難しいという問題がある。また、逆にUIの動作を優先させると、負荷の大きなジョブを処理する際に影響が出てしまい、例えば、プリンタによる印刷処理、あるいは、スキャナによる読取処理が一時的に停止するなどするため、この場合も、ユーザにストレスをかけることになる。
このような問題に対して、特許文献1に記載の技術は、CPU使用率によってジョブの優先度を動的に変化させるもので、各種ジョブの処理を一時停止させることなく、UIのスムーズな動作を図るものではなく、上記のような課題を解決するものではない。
本発明は、上述のような実情に鑑みてなされたもので、CPUの処理能力が不足する場合であっても、各種ジョブの処理を一時停止させることなく、UIのスムーズな動作を図り、ユーザへのストレスを緩和できる画像形成装置を提供すること、を目的とする。
上記課題を解決するために、本発明の第1の技術手段は、画像形成に係るジョブに基づいて画像を形成する画像形成装置であって、該画像形成装置に設定された動作条件に従って該画像形成装置の動作を制御するCPUと、入力されたジョブを優先度別に順次登録するジョブ管理テーブルを記憶する記憶部と、該ジョブ管理テーブルに登録された優先度の高いジョブから登録順に従ってジョブの実行を許可するか否かの許可判定をするジョブ実行制御部とを備え、該ジョブ実行制御部は、前記許可判定の対象としたジョブのジョブ条件に基づいて、該ジョブの実行に伴う前記CPUの使用率を算出し、該算出したCPU使用率が所定値を越える場合、前記画像形成装置の動作条件を制限し、該動作条件を制限したときのCPU使用率が前記所定値以下になった場合、前記制限した動作条件に従って前記ジョブの実行を許可し、前記動作条件を制限したときのCPU使用率は、前記許可判定の対象としたジョブを処理するハードリソースにより生じる処理待ち時間と、前記許可判定の対象としたジョブの処理に使用するメモリリソースにより生じる処理待ち時間とを考慮して算出することを特徴としたものである。
第2の技術手段は、第1の技術手段において、前記画像形成装置の動作条件の制限が、前記許可判定の対象としたジョブを構成する各ページ間の処理待ち時間を遅延させることによる動作条件の制限であり、前記処理待ち時間の遅延には、前記許可判定の対象としたジョブを処理するハードリソースにより生じる処理待ち時間と、前記許可判定の対象としたジョブの処理に使用するメモリリソースにより生じる処理待ち時間とを含め、
前記ジョブ実行制御部は、前記動作条件を制限した処理待ち時間に基づいて、前記動作条件を制限したときのCPUの使用率を算出することを特徴としたものである。
前記ジョブ実行制御部は、前記動作条件を制限した処理待ち時間に基づいて、前記動作条件を制限したときのCPUの使用率を算出することを特徴としたものである。
第3の技術手段は、第1の技術手段において、前記画像形成装置の動作条件が、前記許可判定の対象としたジョブの単位時間当たりのページ印刷速度及び/またはページ読取速度を遅くすることによる動作条件の制限であり、前記ジョブ実行制御部は、前記許可判定の対象としたジョブを処理するハードリソースにより生じる処理待ち時間と、前記許可判定の対象としたジョブの処理に使用するメモリリソースにより生じる処理待ち時間とを含めた処理時間に基づき、前記単位時間当たりのページ印刷速度及び/またはページ読み取速度を算出し、該ページ印刷速度及び/またはページ印刷速度に基づいて、前記動作条件を制限したときのCPUの使用率を算出することを特徴としたものである。
第4の技術手段は、第1〜3のいずれか1の技術手段において、ジョブのジョブ条件とジョブ別CPU使用率とを対応付けたジョブ別CPU使用率テーブルを備え、前記ジョブ実行制御部は、前記許可判定の対象としたジョブのジョブ条件に基づいて、該ジョブの実行に伴う前記CPUの使用率を算出する際、該許可判定の対象としたジョブのジョブ条件に基づいて、前記ジョブ別CPU使用率テーブルを参照することにより、前記ジョブのジョブ条件に応じたジョブ別CPU使用率を特定し、該特定したジョブ別CPU使用率を、該ジョブ別CPU使用率を特定したときに実測された前記CPUの実際のCPU使用率に加算することで、前記ジョブの実行に伴う前記CPUの使用率を算出することを特徴としたものである。
第5の技術手段は、第1〜4のいずれか1の技術手段において、CPU使用率とネットワークの転送速度とを対応付けたネットワーク転送速度テーブルを備え、前記ジョブ実行制御部は、前記ジョブの実行に伴う前記CPUの使用率に基づいて、前記ネットワーク転送速度テーブルを参照することにより、前記CPUの使用率に応じたネットワーク転送速度を特定し、該特定したネットワーク転送速度がデフォルト速度と異なる場合、前記デフォルト速度を前記特定したネットワーク転送速度に変更することを特徴としたものである。
本発明によれば、ジョブを優先度別に順次登録し、ジョブの実行に伴うCPU使用率がUIのスムーズな動作に必要な値を超えないように、画像形成装置の動作条件を制限して、優先度順にジョブを実行させるため、CPUの処理能力が不足する場合であっても、ジョブ処理を一時停止させることなく、UIをスムーズに動作させることができるため、ユーザへのストレスを緩和することができる。
以下、添付図面を参照しながら、本発明の画像形成装置に係る好適な実施の形態について説明する。
図1は、本発明の一実施形態に係る画像形成装置のハードウェア構成例を示すブロック図で、図中、10は画像形成装置を示す。この画像形成装置10は、スキャナ、コピー、プリンタ、ファクシミリ機能等を備えたデジタル複合機(MFP)として構成される。画像形成装置10(以下、MFP10という)は、PC等のコンピュータから送信されたPDLデータをレンダリングしてレンダリングイメージデータを生成する画像形成処理部(ICU)1と、ICU1で生成されたレンダリングイメージデータを記録紙等の媒体に画像形成(印刷)するプリンタ制御部(PCU)2と、原稿画像を読み取ってその画像データを出力するスキャナ部(SCN)3と、これらICU1,PCU2,SCN3それぞれと接続されMFP10の全体動作を制御するメインCPU4とを備えている。
図1は、本発明の一実施形態に係る画像形成装置のハードウェア構成例を示すブロック図で、図中、10は画像形成装置を示す。この画像形成装置10は、スキャナ、コピー、プリンタ、ファクシミリ機能等を備えたデジタル複合機(MFP)として構成される。画像形成装置10(以下、MFP10という)は、PC等のコンピュータから送信されたPDLデータをレンダリングしてレンダリングイメージデータを生成する画像形成処理部(ICU)1と、ICU1で生成されたレンダリングイメージデータを記録紙等の媒体に画像形成(印刷)するプリンタ制御部(PCU)2と、原稿画像を読み取ってその画像データを出力するスキャナ部(SCN)3と、これらICU1,PCU2,SCN3それぞれと接続されMFP10の全体動作を制御するメインCPU4とを備えている。
ICU1は、PCから受信したPDLデータに基づいてレンダリングを行って画像データ(レンダリングイメージデータ)を生成する部分で、PCと通信を行うNIC(Network Interface Card)11と、ICU1の動作を制御するサブCPU12と、制御プログラム等を展開,実行するための揮発性メモリであるRAM13と、PCU2との間で画像データ等の送受信を行うVIDEOI/F14及びI/F19と、操作画面や各種情報表示を行うと共にユーザ操作を受け付ける操作パネル15と、制御プロフラム等を格納する不揮発性メモリであるROM16と、画像データ等を格納するハードディスクであるHDD17と、SCN3との間で画像データ等を送受信するVIDEOI/F18及びI/F20とを備えている。
また、PCU2は、印刷を行う印刷エンジンを制御する部分で、ICU1との間で画像データ等の送受信を行うVIDEOI/F21及びI/F24と、PCU2の動作を制御するサブCPU22と、制御プログラム等の格納するROM23と、制御プログラム等を展開,実行するためのRAM25と、両面印刷処理を行う両面ユニット27と、記録紙に印字(画像形成)を行う印字ユニット29と、印字ユニット29に記録紙の給紙を行う給紙ユニット28と、印字された記録紙を排紙するための排紙ユニット30と、これら各ユニットとサブCPUとのインタフェースであるユニットI/F26とを備えている。
SCN3は、ICU1との間で画像データ等の送受信を行うVIDEOI/F32及びI/F33と、SCN3の動作を制御するサブCPU31と、制御プログラム等を格納するROM34と、制御プログラム等を展開し,実行するためのRAM35と、原稿画像を光学的に読み取るスキャナユニット37と、原稿を所定の読取位置まで給紙・搬送するためのADFユニット38と、これら各ユニットとサブCPUとのインタフェースであるユニットI/F36とを備えている。
図2は、本発明によるMFP10の特徴部分の一例を示すブロック図である。図中、101はアプリケーション層、102はサービス層、103はマネージャ/ドライバ層、104はジョブ実行制御部、105はジョブ管理テーブル、106はジョブ優先度テーブル、107はジョブ別CPU使用率テーブル、108はハードリソース管理テーブル、109はメモリリソース管理テーブル、110はネットワーク制御部、を示す。
ユーザは、コピー、FAX送信、スキャン送信などを行う場合、操作パネル15から所望のコピー条件などを入力してジョブ実行を指示することができる。また、ユーザは、プリント、FAX受信、ドキュメント送信などを行う場合、PCから所望のプリント条件などを入力してNIC11を介してジョブ実行を指示することができる。
これら操作パネル15及びNIC11は、ユーザインタフェース層を構成し、このユーザインタフェース層は、アプリケーション層101に対して各種ジョブ(例えば、コピージョブ、FAX送信ジョブ、スキャン送信ジョブ、プリントジョブ、FAX受信ジョブ、ドキュメント送信ジョブなど)を伝送する処理を行う。
アプリケーション層101は、MFP10が有する各種の装置機能を制御するアプリケーションに従って動作するものであり、連携ジョブを実現する。ここで、連携ジョブとは、スキャンジョブ、プリントジョブ、画像処理ジョブ、通信ジョブなどの要素ジョブを適宜組み合わせて実行することにより実現されるジョブである。例えば、スキャンジョブ、画像処理ジョブ、及びプリントジョブを組み合わせて実行されるコピージョブや、スキャンジョブ及び通信ジョブを組み合わせて実行されるスキャン送信ジョブなどがある。
上記のアプリケーション層101には、コピージョブの実行/制御を行うためのコピーアプリや、プリントジョブの実行/制御を行うためのプリントアプリ、スキャンした画像データを外部機器に送信するスキャン送信ジョブの実行/制御を行うためのスキャン送信アプリ、ドキュメントファイリングされているドキュメントを外部機器に送信するドキュメント送信ジョブの実行/制御を行うためのドキュメント送信アプリ、FAX受信ジョブの実行/制御を行うためのFAX受信アプリ、FAX送信ジョブの実行/制御を行うためのFAX送信アプリ、などが含まれる。
サービス層102は、アプリケーション層101の下位に位置する層であり、アプリケーション層101からの指示に従って、MFP10が有する各種の要素ジョブを制御するものである。このサービス層102には、スキャン動作を制御するスキャンサービス、プリントジョブやコピージョブに基づきプリント動作の制御を行うプリントサービス、ジョブ毎のログを管理するための制御を行うジョブログサービス、イメージ作成などの画像形成処理を制御する画処理サービス、ドキュメントファイリング等イメージデータを管理するための制御を行うファイルサービス、リモートからWebページ経由でアクセスするための制御を行うWWWサーバサービス、LANや電話回線などにおける通信動作の制御を行うネットワークサービス、などが含まれる。
マネージャ/ドライバ層103は、サービス層102の下位に位置する層であり、MFP10のハードウェアを制御するためのソフトウェアに従った動作を行うものである。このマネージャ/ドライバ層103には、印刷エンジンを制御するASICドライバ、USB通信を行うためのUSBドライバ、シリアル通信を行うためのシリアル通信ドライバ、NIC11を制御してLAN通信を行うためのNICドライバ、操作パネル15の表示制御を行うLCDドライバ、電源管理を行うための電源管理ドライバ、などが含まれる。
以上のアプリケーション層101、サービス層102、及びマネージャ/ドライバ層103は、MFPにおいて一般的な構成であり、ソフトウェアにより実現されるものである。
本発明に係る実施形態は、CPUの処理能力が不足する場合であっても、UIの動作を損なうことなく、優先度順に各種ジョブを実行し、ユーザへのストレスを緩和できるようにすることにある。
このための構成として、MFP10は、MFP10に設定された動作条件に従ってMFP10の動作を制御するCPUに相当するメインCPU4と、入力されたジョブを優先度別に順次登録するジョブ管理テーブル105と、ジョブ管理テーブル105に登録された優先度の高いジョブから登録順に従ってジョブの実行を許可するか否か判定するジョブ実行制御部104とを備える。ジョブ優先度テーブル106には、ジョブごとの優先度が予め設定され、許可判定の対象となっているジョブは、ジョブ優先度テーブル106に基づく優先度順にジョブ管理テーブル105に登録される。
このための構成として、MFP10は、MFP10に設定された動作条件に従ってMFP10の動作を制御するCPUに相当するメインCPU4と、入力されたジョブを優先度別に順次登録するジョブ管理テーブル105と、ジョブ管理テーブル105に登録された優先度の高いジョブから登録順に従ってジョブの実行を許可するか否か判定するジョブ実行制御部104とを備える。ジョブ優先度テーブル106には、ジョブごとの優先度が予め設定され、許可判定の対象となっているジョブは、ジョブ優先度テーブル106に基づく優先度順にジョブ管理テーブル105に登録される。
ジョブ実行制御部104は、許可判定の対象としたジョブのジョブ条件に基づいて、ジョブの実行に伴うメインCPU4の使用率を算出し、算出したCPU使用率が所定値を越える場合、MFP10の動作条件を制限し、動作条件を制限したときのCPU使用率が所定値以下になった場合、制限した動作条件に従ってジョブの実行を許可する。
ジョブの実行に伴うメインCPU4の使用率(以下、CPU使用率)とは、メインCPU4の実際のCPU使用率に、各ジョブを実行したときのジョブ別CPU使用率を加算したときのメインCPU4の使用率のことを言うものとする。ジョブ別CPU使用率テーブル107には、ジョブごとのCPU使用率が予め登録されている。ジョブ実行制御部104は、ジョブ別CPU使用率テーブル107を参照して、許可判定の対象としたジョブのジョブ別CPU使用率を判断する。
また、上記の所定値としては、操作パネル15などのUI(ユーザインタフェース)のレスポンス性を低下させず、動作に支障をきたさないようにするために、CPU使用率に常に10〜20%の空きがあるように設定すればよい。つまり、この所定値はCPU使用率80〜90%の範囲で適宜設定することができる。
ハードリソース管理テーブル108は、ジョブごとに使用されるハードリソースの待ち時間を予め登録するものである。通常、ジョブを実行する際に、そのジョブのジョブ条件に応じて使用するハードリソースが異なり、そのハードリソースがジョブを処理するときに、各ハードリソースに固有の待ち時間が発生する場合がある。ハードリソース管理テーブル108では、ハードリソースごとに、そのハードリソースを使用するジョブと、そのジョブを処理するときに発生する待ち時間とを予め記憶しておく。ここでは、ジョブの優先度や、ハードリソースを使用するときの処理時間を関連付けて記憶させておくことができる。
メモリリソース管理テーブル109は、ジョブごとに使用されるメモリリソースの待ち時間を予め登録するものである。ジョブを実行する際に、そのジョブのジョブ条件に応じて使用するメモリリソースが異なり、そのメモリリソースを用いてジョブを処理するときに、各メモリリソースに固有の待ち時間が発生する場合がある。メモリリソース管理テーブル109では、メモリリソースごとに、そのメモリリソースを使用するジョブと、そのジョブを処理するときに発生する待ち時間とを予め記憶しておく。ここでは、ジョブの優先度や、メモリリソースを使用するときの処理単位(MB)、ジョブごとのハードリソースの処理時間を関連付けて記憶させておくことができる。
本発明に係る実施形態では、入力ジョブを優先度別にジョブ管理テーブル105に順次登録し、入力ジョブの実行に伴うメインCPU4の使用率がUIのスムーズな動作に必要な値を超えないように、MFP1の動作条件を制限して、優先度順にジョブを実行させる。このため、メインCPU4の処理能力が不足する場合であっても、ジョブ処理を一時停止させることなく、UIをスムーズに動作させることができるため、ユーザへのストレスを緩和することができる。
このときにジョブ実行制御部104は、ジョブ別CPU使用率テーブルを参照して、許可判定の対象としたジョブのジョブ別CPU使用率を算出する。そして算出したCPU使用率が所定値を越える場合、MFP10の動作条件を制限し、動作条件を制限したときのCPU使用率が所定値以下になった場合、制限した動作条件に従ってジョブの実行を許可する。そして、動作条件を制限するときの条件として、ハードリソースとメモリリソースの待ち時間を考慮して動作条件制限時のCPU使用率を計算することで、動作条件を制限したときのCPU使用率を精度よく判断することができ、ジョブ処理を一時停止させることなく確実にUIを動作させることができる。
上記のジョブ管理テーブル105、ジョブ優先度テーブル105、ジョブ別CPU使用率テーブル107、ハードリソース管理テーブル108、及びメモリリソース管理テーブル109は、所定の記憶部に記憶保持されるテーブルデータにより構成される。記憶部には、例えばICU1のROM16やHDD17を適用できるが、これらに限定されず適宜適切なメモリや記憶媒体による記憶部を用いることができる。
以下、本発明によるジョブ実行制御についてさらに具体的に説明する。
以下、本発明によるジョブ実行制御についてさらに具体的に説明する。
図3は、ジョブ管理テーブル105の一例を示す図である。このジョブ管理テーブル105は、処理待ちジョブが優先度別に順次登録されるジョブ状態別キューと、処理済みのジョブが登録される未使用キューとに大別される。なお、通常の場合、ジョブ状態別キューに登録されたジョブは全て使用中キューにも登録されるが、説明の便宜上、使用中キューの記載は省略する。このジョブ状態別キューは、4つの優先度別要求キュー(最優先、優先度高、優先度中、優先度低)と、1つの許可済みキューとから構成される。
図4は、ジョブ優先度テーブル106及びジョブ別CPU使用率テーブル107の一例を示す図である。図4(A)に示すように、ジョブ優先度テーブル106は、ジョブの種別(コピージョブ,プリントジョブなど)とジョブの優先度(1〜10など)とを対応付けたテーブルである。この例では、コピージョブの優先度が最も高く、以下、優先度の高い順に、スキャン送信ジョブ、FAX送信ジョブ、・・・となっている。
そして、このジョブ優先度テーブル106において、例えば、優先度1〜3のジョブは、図3のジョブ管理テーブル105の優先度(高)キューに登録されるように予め設定しておく。同様に、優先度4〜6のジョブは、優先度(中)キューに登録されるように、また、優先度7以降のジョブは、優先度(低)キューに登録されるように予め設定しておく。このように、各ジョブの優先度に応じて予め登録キューを設定しておけばよい。
上記において、ジョブ実行制御部104は、入力されたジョブの種別に基づいて、ジョブ優先度テーブル106を参照することにより、入力ジョブを優先度別に振り分けてジョブ管理テーブル105に登録する。
なお、図3のジョブ管理テーブル105において、最優先キューには、予めユーザが最優先のジョブとして指定したジョブが登録される。例えば、FAXの時刻指定送信ジョブなどが含まれる。この最優先キューに登録されたジョブは最も優先度が高いため、最優先で実行されるが、通常、上記のFAX時刻指定送信ジョブなどの比較的CPU負荷の小さいジョブが登録される。
なお、図3のジョブ管理テーブル105において、最優先キューには、予めユーザが最優先のジョブとして指定したジョブが登録される。例えば、FAXの時刻指定送信ジョブなどが含まれる。この最優先キューに登録されたジョブは最も優先度が高いため、最優先で実行されるが、通常、上記のFAX時刻指定送信ジョブなどの比較的CPU負荷の小さいジョブが登録される。
ここで、アプリケーション層101には、入力ジョブに係るジョブチケットが入力される。ジョブチケットは、操作パネル15でユーザにより指定されるジョブ条件、あるいは、PC側のプリンタドライバなどで指定されるジョブ条件に基づいて、メインCPU4により生成され、アプリケーション層101に入力される。このジョブチケットには、文書データあるいは画像データに関連付けられた各種のジョブ条件が記述されている。また、このジョブ条件には、例えば、ジョブの種別(コピージョブ,プリントジョブなど)、用紙サイズ(A4,A3など)、給紙カセット、排紙トレイ、カラーモード(カラー/白黒)などが含まれる。なお、ジョブ条件の取得方法は、ジョブチケットに限定されるものではなく、例えば、ジョブ情報などから取得するようにしてもよい。
ジョブ実行制御部104は、アプリケーション層101及びサービス層102を介して、ジョブチケットを取得し、入力ジョブの種別を判定することができる。そして、判定した入力ジョブの種別が、例えば、コピージョブであれば、ジョブ優先度テーブル106を参照することで、この入力ジョブの優先度が“1”であることを特定することができる。そして、優先度“1”の入力ジョブは、上述の登録キューの設定に従って、ジョブ管理テーブル105の優先度(高)キューに登録される。
また、図4(B)に示すように、ジョブ別CPU使用率テーブル107は、ジョブのジョブ条件とジョブ別CPU使用率とを対応付けたテーブルである。ジョブ実行制御部104は、許可判定の対象としたジョブのジョブ条件に基づいて、ジョブ別CPU使用率テーブル107を参照することにより、許可判定対象ジョブのジョブ条件に応じたジョブ別CPU使用率を特定し、特定したジョブ別CPU使用率を、そのジョブ別CPU使用率を特定したときに実測されたメインCPU4の実際のCPU使用率に加算することで、メインCPU4のCPU使用率を算出する。なお、ジョブ実行制御部104は、メインCPU4の実際の使用率を常に監視しており、ジョブ実行前のメインCPU4の実際のCPU使用率を実測・取得することができる。
上記のジョブ条件は、上述したように、ジョブチケットから取得することができる。例えば、入力ジョブのジョブ条件が“A4/カラーコピー”である場合、ジョブ別CPU使用率テーブル107より、このコピージョブを実行したときのジョブ別CPU使用率は“20%”と推定される。そして、現時点(コピージョブを実行する前の時点)での実際のCPU使用率が例えば“75%”であった場合、コピージョブを実行すると、これによるジョブ別CPU使用率“20%”が加算され、CPU使用率が“95%”と算出される。
そして、上記により算出したCPU使用率“95%”は所定値(ここでは、90%とする)を越えるため、ジョブ実行制御部104は、MFP1の動作条件を制限し、動作条件を制限したときのCPU使用率が所定値以下になるか否かを判定する。
動作条件の制限方法については後述するが、例えば、ジョブを構成する各ページ間の処理待ち時間を遅延させる方法や、ジョブの単位時間当たりのページ印刷速度及び/又はページ読取速度を遅くする方法などが考えられる。そして、ジョブ実行制御部104は、動作条件を制限したときのCPU使用率が所定値以下になると判定した場合、制限した動作条件に従ってジョブの実行を許可する。このとき、動作条件を制限したときのCPU使用率の判断にあったっては、ジョブごとのハードリソースによる待ち時間、及びメモリリソースによる待ち時間を考慮することで、動作条件の制限時のCPU使用率を精度よく算出することができるようになる。
動作条件の制限方法については後述するが、例えば、ジョブを構成する各ページ間の処理待ち時間を遅延させる方法や、ジョブの単位時間当たりのページ印刷速度及び/又はページ読取速度を遅くする方法などが考えられる。そして、ジョブ実行制御部104は、動作条件を制限したときのCPU使用率が所定値以下になると判定した場合、制限した動作条件に従ってジョブの実行を許可する。このとき、動作条件を制限したときのCPU使用率の判断にあったっては、ジョブごとのハードリソースによる待ち時間、及びメモリリソースによる待ち時間を考慮することで、動作条件の制限時のCPU使用率を精度よく算出することができるようになる。
また、上記のコピージョブによるジョブ別CPU使用率が“20%”と推定され、現時点(コピージョブを実行する前の時点)での実際のCPU使用率が例えば“50%”であった場合、コピージョブを実行すると、これによるジョブ別CPU使用率“20%”が加算され、CPU使用率が“70%”と算出される。この場合、上記の所定値“90%”を超えないため、ジョブ実行制御部104は、MFP1の動作条件を制限することなく、ジョブの実行を許可する。
また、ジョブ実行制御部104は、動作条件を制限したときのCPU使用率が所定値以下にならないと判定した場合、メインCPU4の実際のCPU使用率の推移を監視し、この実際のCPU使用率に、動作条件を制限したときのジョブ別CPU使用率を加算したときのCPU使用率が所定値以下になった時点で、ジョブの実行を許可するようにしてもよい。
図5は、本発明によるジョブ実行制御シーケンスの一例を説明するための図である。まず、ジョブ管理テーブル105に登録されたジョブのうち、許可判定の対象としたジョブについて、サービス層102は、ジョブ実行制御部104に対して、ページ単位あるいはジョブ単位でジョブチケットを含む実行許可の問合せを行い(S1)、この実行許可問合せを受けたジョブ実行制御部104は、サービス層102に対して、ジョブIDを含む実行許可問合せ応答を返信する(S2)。次に、ジョブ実行制御部104は、ページ単位あるいはジョブ単位で実行許可判定を行い(S3)、ジョブの実行が可能であれば、サービス層102に対して、実行許可通知を、ジョブID及び動作条件と共に、送信する(S4)。
次に、実行許可通知を受けたサービス層102は、動作条件に基づきジョブを実行し(S5)、ジョブが完了した場合、ジョブ実行制御部104に対して、ジョブ完了通知を、ジョブIDと共に、送信する(S6)。また、ジョブ実行制御部104は、上記S3で実行許可判定を行った後、ネットワーク負荷(すなわち、ネットワーク転送速度)を変更する必要があると判定した場合には、ネットワーク制御部110に対して、ネットワーク負荷変更通知を送信する(S7)。このS7での処理について以下に説明する。
MFP10は、CPU使用率とネットワークの転送速度とを対応付けたネットワーク転送速度テーブル(図示せず)を備える。このネットワーク転送速度は、TCP/IP等のネットワークプロトコルを用いた場合の転送速度であって、最大を100%とする。そして、例えば、ネットワーク転送速度100%の状態を“高”、90%以上100%未満の状態を“中”、80%以上90%未満の状態を“低”、などと3段階に設定可能とする。
そして、例えば、CPU使用率90%以上〜100%以下に対して、ネットワーク転送速度の“低”を対応させ、CPU使用率60%以上90%未満に対して、ネットワーク転送速度の“中”を対応させ、CPU使用率60%未満に対して、ネットワーク転送速度の“高”を対応させる。
そして、例えば、CPU使用率90%以上〜100%以下に対して、ネットワーク転送速度の“低”を対応させ、CPU使用率60%以上90%未満に対して、ネットワーク転送速度の“中”を対応させ、CPU使用率60%未満に対して、ネットワーク転送速度の“高”を対応させる。
上記S3において、ジョブの実行に伴うCPU使用率が例えば80%と算出された場合、ジョブ実行制御部104は、ジョブの実行に伴うCPU使用率(80%)に基づいて、ネットワーク転送速度テーブルを参照することにより、メインCPU4の使用率に応じたネットワーク転送速度を特定することができる。この場合、ネットワーク転送速度の“中”が対応する。そして、ジョブ実行制御部104は、特定したネットワーク転送速度(ここでは“中”)がデフォルト速度と異なる場合、デフォルト速度を、特定したネットワーク転送速度に変更するように、ネットワーク制御部110に指示する。図5の例では、デフォルト速度に“高”が設定されているため、変更有りと判定され、S7にて、ジョブ実行制御部104からネットワーク制御部110に対して、ネットワーク負荷変更通知が送信され、この通知を受けたネットワーク制御部110は、ネットワーク転送速度を“高”から“中”に、変更する(S8)。
また、ジョブ実行制御部104は、S6にてジョブ完了通知を受けた場合、ジョブの完了に伴い、CPU使用率の減算を行う。この減算の結果、例えば、CPU使用率が50%になった場合、対応するネットワーク転送速度が“高”になる。このため、ジョブ実行制御部104は、ネットワーク制御部110に対して、再度ネットワーク負荷変更通知を送信し(S9)、この通知を受けたネットワーク制御部110は、ネットワーク転送速度を“中”から“高”に、変更する(S10)。
なお、S7及びS9において、ジョブ実行制御部104からネットワーク制御部110に対するネットワーク負荷変更通知は、ネットワーク転送速度の変更がなければ、送信されないものとする。つまり、ネットワーク転送速度の変更があった場合にのみ、ネットワーク転送速度の変更が実施される。
図6は、本発明に係るジョブ実行制御部104の動作例を説明するためのフロー図である。まず、ジョブ実行制御部104は、初期化処理を行い(ステップS11)、サービス層102からジョブに関するメッセージの受信処理を行う(ステップS12)。次に、この受信したメッセージがジョブ完了通知か否かを判定し(ステップS13)、ジョブ完了通知ではない、すなわち、実行許可問い合わせと判定した場合(NOの場合)、ジョブチケットに基づいて、ジョブ優先度テーブル106,ジョブ別CPU使用率テーブル107を参照し、入力ジョブに対応するジョブ優先度及びジョブ別CPU使用率を取得する(ステップS14)。
次に、ジョブ実行制御部104は、ステップS14で取得したジョブ優先度に基づいて、入力ジョブを図3のジョブ管理テーブル105のジョブ状態別キューに登録し(ステップS15)、次メッセージが有るか否かを判定する(ステップS18)。また、ステップS13において、受信メッセージがジョブ完了通知であると判定した場合(YESの場合)、完了ジョブをジョブ状態別キューから削除し、未使用キューに登録する(ステップS16)。そして、ジョブ完了に伴って減少したCPU使用率を現在のCPU使用率から減算し(ステップS17)、ステップS18に移行する。
次に、ジョブ実行制御部104は、ステップS18において、次メッセージ有りと判定した場合(YESの場合)、ステップS12に戻り処理を繰り返す。また、次メッセージなしと判定した場合(NOの場合)、ジョブ管理テーブル105に登録された各ジョブについて実行許可判定処理を行う(ステップS19)。
図7は、図6のステップS19における実行許可判定処理の一例を説明するためのフロー図である。まず、ジョブ実行制御部104は、図3のジョブ管理テーブル105の優先度別要求キュー(すなわち、最優先キュー,優先度(高)キュー,優先度(中)キュー優先度(低)キュー)を優先度順に検索し、実行許可待ちジョブが有るか否かを判定する(ステップS21)。実行許可待ちジョブが有ると判定した場合(YESの場合)、ステップS22に移行し、実行許可待ちジョブ(許可判定対象ジョブともいう)について実行許可判定処理を実行し、必要に応じて動作条件の制限を行う(ステップS22)。また、ステップS21において、実行許可待ちジョブがないと判定した場合(NOの場合)、ステップS21にて待機状態に移行する。
次に、ジョブ実行制御部104は、ステップS22の実行許可判定処理の結果、実行許可対象ジョブが有るか否かを判定し(ステップS23)、実行許可対象ジョブがあると判定した場合(YESの場合)、その実行許可対象ジョブを優先度別要求キューから削除し、許可済みキューに登録する(ステップS24)。また、ステップS23において、実行許可対象ジョブがないと判定した場合(NOの場合)、そのまま終了する。
次に、ジョブ実行制御部104は、ステップS22にて動作条件を制限した後のジョブ別CPU使用率を取得し(ステップS25)、取得したジョブ別CPU使用率を実際のCPU使用率に加算してCPU使用率を算出する(ステップS26)。そして、ネットワーク負荷(ネットワーク転送速度)の変更がある場合には、ネットワーク転送速度の変更処理を行い(ステップS27)、実行許可通知をコールする(ステップS28)。
ここで、動作条件の制限方法について説明する。
図8は、ハードリソース管理テーブル108の一例を示す図である。ハードリソース管理テーブル108には、ジョブごとに使用されるハードリソースの処理待ち時間が予め登録される。通常、ジョブを実行する際に、そのジョブのジョブ条件に応じて使用するハードリソースが異なり、そのハードリソースがジョブを処理するときに、各ハードリソースに固有の処理待ち時間が発生する場合がある。ハードリソース管理テーブル108では、ハードリソースごとに、そのハードリソースを使用するジョブと、そのジョブを処理するときに発生する処理待ち時間とが予め記憶される。
図8は、ハードリソース管理テーブル108の一例を示す図である。ハードリソース管理テーブル108には、ジョブごとに使用されるハードリソースの処理待ち時間が予め登録される。通常、ジョブを実行する際に、そのジョブのジョブ条件に応じて使用するハードリソースが異なり、そのハードリソースがジョブを処理するときに、各ハードリソースに固有の処理待ち時間が発生する場合がある。ハードリソース管理テーブル108では、ハードリソースごとに、そのハードリソースを使用するジョブと、そのジョブを処理するときに発生する処理待ち時間とが予め記憶される。
この例では、MFP10が各種のジョブに使用するハードリソースIP1、IP2、IP3・・・のそれぞれについて、そのハードリソースを使用するジョブ、ジョブの優先度、そのジョブをハードリソースで処理するときの待ち時間(ms)、そのジョブをハードリソースで処理するときの処理時間(ms)が関連付けて記憶されている。
例えば、ハードリソースIP1は、ジョブA及びジョブFの処理に使用される。各ジョブの優先度は、ジョブ優先度テーブル106と一致させるものとする。ジョブごとの待ち時間は、そのハードリソースIP1で各ジョブA、Fを処理するときの待ち時間であり、ハードリソースとジョブとの組み合わせにより定まるものである。この例では、ハードリソースIP1を使用してジョブAを処理するときの待ち時間は0(ms)であり、ハードリソースIP1を使用してジョブFを処理するときの待ち時間は580(ms)である。また、処理時間は、各ジョブA,FをハードリソースIP1で処理するときの処理時間である。
例えば、ハードリソースIP1は、ジョブA及びジョブFの処理に使用される。各ジョブの優先度は、ジョブ優先度テーブル106と一致させるものとする。ジョブごとの待ち時間は、そのハードリソースIP1で各ジョブA、Fを処理するときの待ち時間であり、ハードリソースとジョブとの組み合わせにより定まるものである。この例では、ハードリソースIP1を使用してジョブAを処理するときの待ち時間は0(ms)であり、ハードリソースIP1を使用してジョブFを処理するときの待ち時間は580(ms)である。また、処理時間は、各ジョブA,FをハードリソースIP1で処理するときの処理時間である。
図9は、メモリリソース管理テーブル109の一例を示す図である。メモリリソース管理テーブル109には、ジョブごとに使用されるメモリリソースの処理待ち時間が予め登録される。この例では、MFP10が各種のジョブの処理に使用するメモリM1、M2、M3・・・のそれぞれについて、そのメモリを使用するジョブ、ジョブの優先度、そのジョブをメモリリソースを使用して処理するときの待ち時間(ms)、そのジョブがメモリリソースを使用するときの処理単位(MB)、そのジョブをメモリリソースを使用して処理するときのハードリソースの処理時間(IP処理時間)(ms)が関連付けて記憶されている。
例えば、メモリリソースM1は、ジョブA及びジョブBの処理に使用される。各ジョブの優先度は、ジョブ優先度テーブル106と一致させるものとする。ジョブごとの待ち時間は、そのメモリリソースM1を使用して各ジョブA、Bを処理するときの待ち時間であり、メモリリソースとジョブとの組み合わせにより定まるものである。この例では、メモリリソースM1を使用してジョブAを処理するときの待ち時間は0(ms)であり、メモリリソースM1を使用してジョブBを処理するときの待ち時間は100(ms)である。また、メモリ領域の処理単位は、ジョブごとに定められる。
また、IP処理時間はジョブごとのハードリソースの処理時間を示すもので、メモリリソースM1を使用するジョブAは、ハードリソース管理テーブル108より、IP1とIP2を使用し、このときの処理時間は430(380+150)(ms)となる。同様に、ジョブBは、IP4を使用し、このときのIP処理時間は280(ms)である。
また、IP処理時間はジョブごとのハードリソースの処理時間を示すもので、メモリリソースM1を使用するジョブAは、ハードリソース管理テーブル108より、IP1とIP2を使用し、このときの処理時間は430(380+150)(ms)となる。同様に、ジョブBは、IP4を使用し、このときのIP処理時間は280(ms)である。
図10は、ジョブをMFPに処理させるときの各ジョブの処理状態の一例を示す図である。図10の例は、あるジョブをMFP10で処理するときに、ハードリソース管理テーブル108及びメモリリソース管理テーブル109に基づき決定されるジョブの処理状態を示している。
例えばMFP10でジョブAを処理する場合、そのジョブの優先度は“高”であり、処理待ち時間は、0(ms)である。ここでは、ハードリソース管理テーブル108から、ジョブAの処理に使用するハードリソースは、IP1とIP2であり、これらの待ち時間は共に0(ms)であるため、ジョブAの待ち時間は0(ms)となる。また、IP1とIP2の処理時間との合計がIP処理時間(ms)として示される。一方、メモリリソース管理テーブル109から、ジョブAを処理するために使用するメモリリソースは、M1とM3であり、これらのメモリの処理単位は、M1とM3の処理単位(MB)の合計となる。以下のジョブについても同様に処理状態が示されるが、例えばジョブFについては、使用するハードリソースは、IP1とIP6であり、これらの待ち時間は、ハードリソースとメモリリソースで共に580(ms)であり、従ってジョブFに係る待ち時間は580(ms)となる。
例えばMFP10でジョブAを処理する場合、そのジョブの優先度は“高”であり、処理待ち時間は、0(ms)である。ここでは、ハードリソース管理テーブル108から、ジョブAの処理に使用するハードリソースは、IP1とIP2であり、これらの待ち時間は共に0(ms)であるため、ジョブAの待ち時間は0(ms)となる。また、IP1とIP2の処理時間との合計がIP処理時間(ms)として示される。一方、メモリリソース管理テーブル109から、ジョブAを処理するために使用するメモリリソースは、M1とM3であり、これらのメモリの処理単位は、M1とM3の処理単位(MB)の合計となる。以下のジョブについても同様に処理状態が示されるが、例えばジョブFについては、使用するハードリソースは、IP1とIP6であり、これらの待ち時間は、ハードリソースとメモリリソースで共に580(ms)であり、従ってジョブFに係る待ち時間は580(ms)となる。
上記のように、ジョブ実行制御部104は、ジョブ別CPU使用率テーブルを参照して、許可判定の対象としたジョブのジョブ別CPU使用率を算出したときに、その算出したCPU使用率が所定値を越える場合、MFP10の動作条件を制限し、動作条件を制限したときのCPU使用率が所定値以下になった場合、制限した動作条件に従ってジョブの実行を許可する。そして、動作条件を制限するときの条件として、ハードリソース管理テーブル108と、メモリリソース管理テーブル109の待ち時間を考慮して動作条件制限時のCPU使用率を計算することで、動作条件を制限したときのCPU使用率を精度よく判断することができ、ジョブ処理を一時停止させることなく確実にUIを動作させることができる。
上記の動作条件を制限する方法としては、前述したように、ジョブを構成する各ページ間の処理待ち時間を遅延させる第1の方法と、ジョブの単位時間当たりのページ印刷速度及び/又はページ読取速度を遅くする第2の方法とが考えられる。
第1の方法では、ジョブ実行制御部104は、ジョブを構成する各ページ間の処理待ち時間を、デフォルト待ち時間から段階的に遅延させる。
具体的には、各処理、例えば、プリント処理やスキャン処理において、ページ間の処理待ち時間(インターバル)を例えば4段階に設定する。ここでは、ページ間の処理待ち時間は、予め設定されているデフォルト待ち時間Tdと、各ジョブ毎のデータの処理時間Tpと、各ジョブが使用するハードリソースに応じた待ち時間Thと、各ジョブが使用するメモリに応じた待ち時間Tmとを考慮して決定する。
具体的には、各処理、例えば、プリント処理やスキャン処理において、ページ間の処理待ち時間(インターバル)を例えば4段階に設定する。ここでは、ページ間の処理待ち時間は、予め設定されているデフォルト待ち時間Tdと、各ジョブ毎のデータの処理時間Tpと、各ジョブが使用するハードリソースに応じた待ち時間Thと、各ジョブが使用するメモリに応じた待ち時間Tmとを考慮して決定する。
例えば、第1〜第4段階に設定する処理待ち時間において、第1段階の待ち時間に、デフォルトの待ち時間Tdを設定する。そして、第2〜第4段階では、各ジョブ毎のデータの処理時間Tpが、第1段階のデフォルト待ち時間Tdに加えられる。具体的には、A4サイズのプリントジョブで1ページ当たり約Tp(ms)の処理時間がかかる機種であれば、この処理時間Tp(ms)を基準処理時間として、デフォルト待ち時間Tdに加算する。第2段階では、デフォルトの待ち時間Tdに、処理時間Tpを加える。
そして、第3段階では、基準処理時間Tp(ms)×2=2Tpがデフォルトの待ち時間Tdに加えられ、第4段階では、基準処理時間Tp(ms)×3=3Tpがデフォルト待ち時間Td(ms)に加えられる。
そして、第3段階では、基準処理時間Tp(ms)×2=2Tpがデフォルトの待ち時間Tdに加えられ、第4段階では、基準処理時間Tp(ms)×3=3Tpがデフォルト待ち時間Td(ms)に加えられる。
さらに、各段階のページ間の処理待ち時間(インターバル)には、そのジョブを使用するハードリソースに応じた待ち時間Thと、そのジョブが使用するメモリリソースに応じた待ち時間Tmとを加算する。ハードリソースに応じた待ち時間Thと、メモリリソースに応じた待ち時間Tmとは、ハードリソース管理テーブル108、及びメモリリソース管理テーブル109を参照することで、該当するジョブに応じて判断される。この場合、ハードリソースに応じた待ち時間Thと、メモリリソースに応じた待ち時間Tmが0であれば、デフォルトの待ち時間Tdと、各ジョブ毎のデータの処理時間Tpとによって各段階の処理待ち時間が決定される。
図11は、上記動作制限時の複数段階の処理待ち時間を視覚的に表す図である。ここでは上記の例で第1段階から第4段階までの処理待ち時間が考慮されるものとする。この例では、第1段階では、デフォルトの待ち時間Tdと、ハードリソースの待ち時間Thと、メモリリソースの待ち時間Tmの合計が処理待ち時間となる。ハードリソースの待ち時間Thとメモリリソースの待ち時間Tmは、処理を行うべきジョブによって変化するもので、これらの値は、ハードリソース管理テーブル108とメモリリソース管理テーブル109に予め保持されている。従って、ジョブによっては、ハードリソースの待ち時間Thと、メモリリソースの待ち時間Tmのいずれかまたは両方が0msになる場合も生じる。
第2段階以降では、第1段階の処理待ち時間に対して、各ジョブ毎のデータの処理時間Tpが加えられる。第2段階では、第1段階の処理待ち時間にTpの遅延が加えられ、第3段階では、2×Tpの遅延が加えられ、第4段階では、3×Tpの遅延が加えられる。
そして、ジョブ実行制御部104は、上記の処理待ち時間をデフォルト待ち時間から段階的に遅延させたときに、CPU使用率が所定値以下となる処理待ち時間の最小値を設定することが望ましい。例えば、第1段階のデフォルト待ち時間のときのCPU使用率が所定値を越える場合、第2段階の待ち時間を設定し、第2段階の待ち時間のときのCPU使用率を算出する。
このときのCPU使用率は下記の式(1)に基づいて概算することができる。なお、デフォルトCPU使用率とは、各ジョブ毎のジョブ別CPU使用率であり、図4のジョブ別CPU使用率テーブル107に示す値となる。
CPU使用率(%)=現時点での実際のCPU使用率(%)+デフォルトCPU使用率(%)×デフォルト待ち時間[ms]/各段階での処理待ち時間[ms] …式(1)
CPU使用率(%)=現時点での実際のCPU使用率(%)+デフォルトCPU使用率(%)×デフォルト待ち時間[ms]/各段階での処理待ち時間[ms] …式(1)
例えば、第1段階のデフォルト待ち時間ではCPU使用率(ここでは95%)が所定値(例えば90%)を超えているが、第2段階〜第4段階のうちのいずれかの複数の待ち時間を設定することで、CPU使用率を所定値以下にすることができる場合、このときの待ち時間の最小値、つまり、第2段階での処理待ち時間を設定することが望ましい。これにより、CPU負荷を抑えつつ、できるだけ短い処理時間でジョブを効率的に実行することができる。
また、第2の方法では、ジョブ実行制御部104は、ジョブの単位時間当たりのページ印刷速度及び/又はページ読取速度を、デフォルト速度から段階的に遅くする。プリント処理におけるページ印刷速度(PPM:Page Per Minute)を例に具体的に説明する。
例えば、PPMを4段階に設定する。第1段階ではデフォルト値(デフォルトPPM)として“50枚/分”を設定し、第2段階ではデフォルト値の3/4として“37.5枚/分”、第3段階ではデフォルト値の2/4として“25枚/分”、第4段階ではデフォルト値の1/4として“12.5枚/分”を設定する。
例えば、PPMを4段階に設定する。第1段階ではデフォルト値(デフォルトPPM)として“50枚/分”を設定し、第2段階ではデフォルト値の3/4として“37.5枚/分”、第3段階ではデフォルト値の2/4として“25枚/分”、第4段階ではデフォルト値の1/4として“12.5枚/分”を設定する。
そして、各段階の印刷速度(PPM)を、各ジョブが使用するハードリソースに応じた待ち時間Thと、各ジョブが使用するメモリに応じた待ち時間Tmとを考慮して決定する。つまり、第1〜第4段階に設定するデフォルトのページ印刷速度において、該当ジョブを実行するときのハードリソースに応じた待ち時間Thと、該当ジョブを実行するときの使用メモリに応じた待ち時間Tmとを考慮して、単位時間当たりのページ印刷速度を算出する。例えば、第1段階では、デフォルトでは、1分当たり50枚の印刷速度であるが、このときのそのジョブの処理に使用するはハードウェア及びメモリに待ち時間が生じた場合、印刷速度は、50枚/分より遅くなるため、これらハードウェアとメモリの待ち時間、及び50枚/分で印刷を行ったときの処理時間の合計から、新たな印刷速度(PPM)を算出し、以下のCPU使用率の計算に使用する。
ここでは、ジョブ実行制御部104は、ジョブのPPMを段階的に遅くしたときに、CPU使用率が所定値以下となるPPMの最大値を設定することが望ましい。例えば、第1段階のデフォルトPPMのときのCPU使用率が所定値を越える場合、第2段階のPPMを設定し、第2段階のPPMのときのCPU使用率を算出する。
このときのCPU使用率は下記の式(2)に基づいて概算することができる。なお、デフォルトCPU使用率とは、各ジョブ毎のジョブ別CPU使用率であり、図4(B)のジョブ別CPU使用率テーブル107の値となる。また、各段階でのPPMは、デフォルトのページ印刷速度に対して、ハードリソースに応じた待ち時間Thと、メモリリソースに応じた待ち時間Tmとを考慮した印刷速度を使用する。
このときのCPU使用率は下記の式(2)に基づいて概算することができる。なお、デフォルトCPU使用率とは、各ジョブ毎のジョブ別CPU使用率であり、図4(B)のジョブ別CPU使用率テーブル107の値となる。また、各段階でのPPMは、デフォルトのページ印刷速度に対して、ハードリソースに応じた待ち時間Thと、メモリリソースに応じた待ち時間Tmとを考慮した印刷速度を使用する。
CPU使用率(%)=現時点での実際のCPU使用率(%)+デフォルトCPU使用率(%)×各段階でのPPM[枚/分]/デフォルトのPPM[枚/分] …式(2)
例えば、現時点での実際のCPU使用率を75%、第1段階のPPMを50枚/分、そのときのデフォルトCPU使用率を20%とし、第2段階ではPPMが37.5枚/分であるとすると、第2段階でのCPU使用率は90%と求まる。同様に、第3段階のPPMを25枚/分とするとCPU使用率は85%、第4段階のPPMを12.5枚/分とするとCPU使用率は80%と求めることができる。ここで、第2段階〜第4段階のうちのいずれのPPMを設定しても、CPU使用率を所定値(例えば90%)以下にすることができるが、このときの最大値、つまり、第2段階でのPPM37.5枚/分を設定することが望ましい。これにより、CPU負荷を抑えつつ、できるだけ短い処理時間でジョブを効率的に実行することができる。なお、スキャン処理におけるページ読取速度についても、上記PPMの場合と同様の考え方で実施することができる。
図12〜図13は、図7のステップS22における動作条件制限処理の一例を説明するためのフロー図である。図14は、ジョブ管理テーブル105における検索方向の一例を示す図である。
まず、ジョブ実行制御部104は、許可対象ジョブにNULLを設定し(ステップS31)、図14に示す検索方向に沿って、優先度順に優先度別要求キュー(最優先キュー,優先度(高)キュー,優先度(中)キュー,優先度(低)キューの順)を検索する(ステップS32)。次に、全ての優先度別要求キューについて検索完了したか否かを判定し(ステップS33)、検索完了したと判定した場合(YESの場合)、そのまま終了する。また、ステップS33において、検索完了していないと判定した場合(NOの場合)、検索対象とした優先度別要求キューに許可判定対象ジョブが有るか否かを判定する(ステップS34)。
まず、ジョブ実行制御部104は、許可対象ジョブにNULLを設定し(ステップS31)、図14に示す検索方向に沿って、優先度順に優先度別要求キュー(最優先キュー,優先度(高)キュー,優先度(中)キュー,優先度(低)キューの順)を検索する(ステップS32)。次に、全ての優先度別要求キューについて検索完了したか否かを判定し(ステップS33)、検索完了したと判定した場合(YESの場合)、そのまま終了する。また、ステップS33において、検索完了していないと判定した場合(NOの場合)、検索対象とした優先度別要求キューに許可判定対象ジョブが有るか否かを判定する(ステップS34)。
次に、ジョブ実行制御部104は、ステップS34において、許可判定対象ジョブが無いと判定した場合(NOの場合)、ステップS32に戻り、次の優先度の優先度別要求キューを検索する。また、ステップS34において、許可判定対象ジョブが有ると判定した場合(YESの場合)、許可判定対象ジョブを登録順に取得する(ステップS35)。そして、図4のジョブ別CPU使用率テーブル107に基づいて、ステップS35で取得した許可判定対象ジョブの実行に伴うCPU使用率が所定値を超えるか否かを判定する(ステップS36)。ここでのCPU使用率は、図4(B)のジョブ別CPU使用率テーブルに基づいて判別したジョブ別のCPU使用率と、現時点での実際のCPUの使用率とを加算したものである。
ステップS36において、CPU使用率が所定値以下になると判定した場合(NOの場合)、ステップS37に移行して、許可判定対象ジョブを許可対象ジョブに設定し、ステップS34に戻り処理を繰り返す。
また、ステップS36でCPU使用率が所定値を超えると判定した場合(YESの場合)、動作条件の制限によるCPCU使用率の低下を判断する処理を行う。ここでは、まず、ジョブ実行制御部104は、ハードリソース管理テーブル108を参照し、許可判定対象ジョブによって使用されるハードリソースの待ち時間が発生するか否かを判断する(ステップS38)。ハードリソースの待ち時間が発生した場合、さらにジョブ実行制御部104は、メモリリソース管理テーブル109を参照して、メモリリソースの待ち時間が発生するか否かを判断する(ステップS39)。
また、ステップS36でCPU使用率が所定値を超えると判定した場合(YESの場合)、動作条件の制限によるCPCU使用率の低下を判断する処理を行う。ここでは、まず、ジョブ実行制御部104は、ハードリソース管理テーブル108を参照し、許可判定対象ジョブによって使用されるハードリソースの待ち時間が発生するか否かを判断する(ステップS38)。ハードリソースの待ち時間が発生した場合、さらにジョブ実行制御部104は、メモリリソース管理テーブル109を参照して、メモリリソースの待ち時間が発生するか否かを判断する(ステップS39)。
ここでメモリリソースの待ち時間が発生した場合には、CPU使用率の低下を判断するための情報として、ハードリリソース待ち時間とメモリリソース待ち時間とを設定する(ステップS40)。また、メモリリソースの待ち時間が発生しなかった場合には、CPU使用率の低下を判断するための情報として、ハードリリソース待ち時間を設定する(ステップS41)。
一方、ステップS38でハードリソースの待ち時間が発生しない場合、さらにジョブ実行制御部104は、メモリリソース管理テーブル109を参照して、メモリリソースの待ち時間が発生するか否かを判断する(ステップS42)。ここでメモリリソースの待ち時間が発生した場合には、CPU使用率の低下を判断するための情報として、メモリリソースの待ち時間を設定し(ステップS43)、メモリリソースの待ち時間が発生しなかった場合には、CPU使用率の低下を判断するための情報として、ハードリリソース待ち時間とメモリリソースの待ち時間を設定する(ステップS44)。
そして前述の第1の方法あるいは第2の方法により動作条件を制限する(ステップS45)。動作条件の制限は、例えば、ジョブを構成する各ページ間の処理待ち時間を遅延させる第1の方法か、またはジョブの単位時間当たりのページ印刷速度及び/又はページ読取速度を遅くする第2の方法が設定される。
ここでは、第1の方法により動作条件を制限する場合、デフォルト待ち時間Tdと、当該許可判定対処ジョブのデータの処理時間Tpと、当該ジョブを処理するときのハードリソースの待ち時間Thと、メモリリソースの待ち時間Tmとを考慮して、動作条件を制限する。
また、第2の方法により動作条件を制限する場合、デフォルトの印刷速度と、当該許可判定対象ジョブのデータの処理時間Tpと、当該ジョブを処理するときのハードリソースの待ち時間Thと、メモリリソースの待ち時間Tmとを考慮して、動作条件を制限する。
ここでは、第1の方法により動作条件を制限する場合、デフォルト待ち時間Tdと、当該許可判定対処ジョブのデータの処理時間Tpと、当該ジョブを処理するときのハードリソースの待ち時間Thと、メモリリソースの待ち時間Tmとを考慮して、動作条件を制限する。
また、第2の方法により動作条件を制限する場合、デフォルトの印刷速度と、当該許可判定対象ジョブのデータの処理時間Tpと、当該ジョブを処理するときのハードリソースの待ち時間Thと、メモリリソースの待ち時間Tmとを考慮して、動作条件を制限する。
そして、動作条件を制限したときのCPU使用率が所定値以下になるか否かを判定する(ステップS46)。CPU使用率は、上記(1)式、又は(2)式に従って、現時点でのCPU使用率(%)と、動作制限したときのジョブ別のCPU使用率とから計算する。
ここで動作条件を制限したときのCPU使用率が所定値以下になると判定した場合(YESの場合)、ステップS37に移行して、許可判定対象ジョブを許可対象ジョブに設定し、ステップS34に戻り処理を繰り返す。
ここで動作条件を制限したときのCPU使用率が所定値以下になると判定した場合(YESの場合)、ステップS37に移行して、許可判定対象ジョブを許可対象ジョブに設定し、ステップS34に戻り処理を繰り返す。
また、ステップS46において、動作条件を制限したときのCPU使用率が所定値を超えると判定した場合(NOの場合)、ステップS46においてCPU使用率が所定値以下になるまで待機状態に移行する。すなわち、メインCPU4の実際のCPU使用率の推移を監視し、この実際のCPU使用率に、動作条件を制限したときのジョブ別CPU使用率を加算したときのCPU使用率が所定値以下になった時点で、許可対象ジョブに設定する。つまり、ジョブ実行制御部104は、許可判定の対象としたジョブについて、動作条件を制限したときのCPU使用率が所定値以下にならない場合、ジョブの実行が許可されるまで、次のジョブを許可判定の対象としない。
上記について具体例を挙げて説明する。図14の優先度(高)キューでジョブAを許可判定の対象とした場合、実際のCPU使用率が所定値以下で空きがあるが、ジョブAの実行によりCPU使用率が所定値を超えてしまうようなケースでは、ジョブAの次のジョブ(ここではジョブC)を許可判定の対象にしない。本例の場合、ジョブCはジョブAが許可された後に、許可判定の対象とされる。
図15〜図16は、図7のステップS22における動作条件制限処理の他の例を説明するためのフロー図である。図17はジョブ管理テーブル105における検索方向の他の例を示す図である。まず、ジョブ実行制御部104は、許可対象ジョブにNULLを設定し(ステップS51)、図17に示す検索方向(1)に沿って、優先度順に優先度別要求キュー(最優先キュー,優先度(高)キュー,優先度(中)キュー,優先度(低)キューの順)を検索する(ステップS52)。次に、全ての優先度別要求キューについて検索完了したか否かを判定し(ステップS53)、検索完了したと判定した場合(YESの場合)、そのまま終了する。また、ステップS53において、検索完了していないと判定した場合(NOの場合)、検索対象とした優先度別要求キューに許可判定対象ジョブが有るか否かを判定する(ステップS54)。
次に、ジョブ実行制御部104は、ステップS54において、許可判定対象ジョブが無いと判定した場合(NOの場合)、ステップS52に戻り、次の優先度の優先度別要求キューを検索する。また、ステップS54において、許可判定対象ジョブが有ると判定した場合(YESの場合)、許可判定対象ジョブを登録順に取得する(ステップS55)。そして、図4(B)のジョブ別CPU使用率テーブル107に基づいて、ステップS55で取得した許可判定対象ジョブの実行に伴うCPU使用率が所定値を超えるか否かを判定する(ステップS56)。ここでのCPU使用率は、図4(B)のジョブ別CPU使用率テーブルに基づいて判別したジョブ別のCPU使用率と、現時点での実際のCPUの使用率とを加算したものである。
ステップS56において、CPU使用率が所定値以下になると判定した場合(NOの場合)、ステップS57に移行して、許可判定対象ジョブを許可対象ジョブに設定し、ステップS54に戻り処理を繰り返す。
また、ステップS56でCPU使用率が所定値を超えると判定した場合(YESの場合)、動作条件の制限によるCPU使用率の低下を判断する処理を行う。ここでは、まず、ジョブ実行制御部104は、ハードリソース管理テーブル108を参照し、許可判定対象ジョブによって使用されるハードリソースの待ち時間が発生するか否かを判断する(ステップS58)。ハードリソースの待ち時間が発生した場合、さらにジョブ実行制御部104は、メモリリソース管理テーブル109を参照して、メモリリソースの待ち時間が発生するか否かを判断する(ステップS59)。
また、ステップS56でCPU使用率が所定値を超えると判定した場合(YESの場合)、動作条件の制限によるCPU使用率の低下を判断する処理を行う。ここでは、まず、ジョブ実行制御部104は、ハードリソース管理テーブル108を参照し、許可判定対象ジョブによって使用されるハードリソースの待ち時間が発生するか否かを判断する(ステップS58)。ハードリソースの待ち時間が発生した場合、さらにジョブ実行制御部104は、メモリリソース管理テーブル109を参照して、メモリリソースの待ち時間が発生するか否かを判断する(ステップS59)。
ここでメモリリソースの待ち時間が発生した場合には、CPU使用率の低下を判断するための情報として、ハードリリソース待ち時間とメモリリソース待ち時間とを設定する(ステップS60)。また、メモリリソースの待ち時間が発生しなかった場合には、CPU使用率の低下を判断するための情報として、ハードリリソース待ち時間を設定する(ステップS61)。
一方、ステップS58でハードリソースの待ち時間が発生しない場合、さらにジョブ実行制御部104は、メモリリソース管理テーブル109を参照して、メモリリソースの待ち時間が発生するか否かを判断する(ステップS62)。ここでメモリリソースの待ち時間が発生した場合には、CPU使用率の低下を判断するための情報として、メモリリソースの待ち時間を設定し(ステップS63)、メモリリソースの待ち時間が発生しなかった場合には、CPU使用率の低下を判断するための情報として、ハードリリソース待ち時間とメモリリソースの待ち時間を設定する(ステップS64)。
そして前述の第1の方法あるいは第2の方法により動作条件を制限する(ステップS65)。動作条件の制限は、例えば、ジョブを構成する各ページ間の処理待ち時間を遅延させる第1の方法か、またはジョブの単位時間当たりのページ印刷速度及び/又はページ読取速度を遅くする第2の方法が設定される。
ここでは、第1の方法により動作条件を制限する場合、デフォルト待ち時間Tdと、当該許可判定対処ジョブのデータの処理時間と、当該ジョブを処理するときのハードリソースの待ち時間と、メモリリソースの待ち時間とを考慮して、動作条件を制限する。
また、第2の方法により動作条件を制限する場合、デフォルトの印刷速度と、当該許可判定対処ジョブのデータの処理時間と、当該ジョブを処理するときのハードリソースの待ち時間と、メモリリソースの待ち時間とを考慮して、動作条件を制限する。
ここでは、第1の方法により動作条件を制限する場合、デフォルト待ち時間Tdと、当該許可判定対処ジョブのデータの処理時間と、当該ジョブを処理するときのハードリソースの待ち時間と、メモリリソースの待ち時間とを考慮して、動作条件を制限する。
また、第2の方法により動作条件を制限する場合、デフォルトの印刷速度と、当該許可判定対処ジョブのデータの処理時間と、当該ジョブを処理するときのハードリソースの待ち時間と、メモリリソースの待ち時間とを考慮して、動作条件を制限する。
そして、動作条件を制限したときのCPU使用率が所定値以下になるか否かを判定する(ステップS66)。CPU使用率は、上記(1)式、又は(2)式に従って、現時点でのCPU使用率(%)と、動作制限したときのジョブ別のCPU使用率とから計算する。
ここで動作条件を制限したときのCPU使用率が所定値以下になると判定した場合(YESの場合)、ステップS57に移行して、許可判定対象ジョブを許可対象ジョブに設定し、ステップS54に戻り処理を繰り返す。
ここで動作条件を制限したときのCPU使用率が所定値以下になると判定した場合(YESの場合)、ステップS57に移行して、許可判定対象ジョブを許可対象ジョブに設定し、ステップS54に戻り処理を繰り返す。
また、ステップS66において、動作条件を制限したときのCPU使用率が所定値を超えると判定した場合(NOの場合)、11の検索方向(2)に沿って、次の優先度の優先度別要求キューの先頭に登録されたジョブを許可判定の対象とし(ステップS67)、ステップS55に戻り処理を繰り返す。すなわち、ジョブ実行制御部104は、許可判定の対象としたジョブについて、動作条件を制限したときのCPU使用率が所定値以下にならない場合、そのジョブの優先度よりも低い優先度の先頭に登録されたジョブを許可判定の対象とする。
上記について具体例を挙げて説明する。図17の優先度(高)キューでジョブAを許可判定の対象とした場合、実際のCPU使用率が所定値以下で空きがあるが、ジョブAの実行によりCPU使用率が所定値を超えてしまうようなケースでは、ジョブAの次のジョブ(ジョブC)を許可判定の対象とせず、次の優先度(中)キューの先頭に登録されているジョブDを許可判定の対象とする。そして、ジョブDの実行が許可されない場合、次の優先度(低)キューの先頭に登録されているジョブFを許可判定の対象とする。そして、さらにジョブFの実行が許可されない場合、優先度(高)キューに戻り、優先度(高)キューの先頭に登録されているジョブAを許可判定の対象とする。
図18は、図7のステップS27におけるネットワーク負荷変更処理の一例を説明するためのフロー図である。まず、ジョブ実行制御部104は、動作条件を制限したときのCPU使用率により、ネットワーク転送速度テーブルを参照することで、ネットワーク転送速度を決定し(ステップS71)、決定したネットワーク転送速度が現状(デフォルト値)と異なるか否かを判定する(ステップS72)。そして、ネットワーク転送速度が現状と異なると判定した場合(YESの場合)、ネットワーク制御部110に対して、ネットワーク転送速度の変更を指示する(ステップS73)。また、ステップS52において、ネットワーク転送速度が現状と同じと判定した場合(NOの場合)、そのまま終了する。
上記本発明に係る画像形成装置の実施形態を説明した。本発明に係る画像形成装置は、 画像形成に係るジョブに基づいて画像を形成する画像形成装置であって、画像形成装置に設定された動作条件に従って画像形成装置の動作を制御するCPUと、入力されたジョブを優先度別に順次登録するジョブ管理テーブルを記憶する記憶部と、ジョブ管理テーブルに登録された優先度の高いジョブから登録順に従ってジョブの実行を許可するか否か判定するジョブ実行制御部とを備え、ジョブ実行制御部は、許可判定の対象としたジョブのジョブ条件に基づいて、ジョブの実行に伴うCPUの使用率を算出し、算出したCPU使用率が所定値を越える場合、画像形成装置の動作条件を制限し、動作条件を制限したときのCPU使用率が所定値以下になった場合、制限した動作条件に従って前記ジョブの実行を許可し、動作条件を制限したときのCPU使用率は、許可判定の対象としたジョブを処理するハードリソースにより生じる処理待ち時間と、許可判定の対象としたジョブの処理に使用するメモリリソースにより生じる処理待ち時間とを考慮して算出するものであってよい。そしてこれにより、CPUの処理能力が不足する場合であっても、ジョブ処理を一時停止させることなく、UIをスムーズに動作させることができるため、ユーザへのストレスを緩和することができるようになる。
また、画像形成装置は、画像形成装置の動作条件の制限が、許可判定の対象としたジョブを構成する各ページ間の処理待ち時間を遅延させることによる動作条件の制限であり、処理待ち時間の遅延には、許可判定の対象としたジョブを処理するハードリソースにより生じる処理待ち時間と、許可判定の対象としたジョブの処理に使用するメモリリソースにより生じる処理待ち時間とを含め、ジョブ実行制御部は、動作条件を制限した処理待ち時間に基づいて、動作条件を制限したときのCPUの使用率を算出するものであってよい。これにより、CPUの使用率を算出する際に、ハードリソースとメモリリソースの待ち時間を考慮することができ、制御精度を向上させてユーザストレスの緩和に確実に寄与させることができる。
また、画像形成装置は、ジョブ実行制御部が、ジョブを構成する各ページ間の処理待ち時間を、デフォルト待ち時間から段階的に遅延させるものであってよい。これにより、動作条件を制限する際に、処理待ち時間を複数段階で計算し、これらの処理待ち時間から最適な処理待ち時間を選択することができるようになる。
また、画像形成装置は、ジョブ実行制御部が、処理待ち時間をデフォルト待ち時間から段階的に遅延させたときに、CPU使用率が前記所定値以下となる前記処理待ち時間の最小値を設定するものであってよい。これにより、CPUへの負荷を抑えつつ、できるだけ短い時間処理でジョブを効率的に実行することができるようになる。
また、画像形成装置は、画像形成装置の動作条件が、許可判定の対象としたジョブの単位時間当たりのページ印刷速度及び/またはページ読取速度を遅くすることによる動作条件の制限であり、ジョブ実行制御部が、許可判定の対象としたジョブを処理するハードリソースにより生じる処理待ち時間と、許可判定の対象としたジョブの処理に使用するメモリリソースにより生じる処理待ち時間とを含めた処理時間に基づき、単位時間当たりのページ印刷速度及び/またはページ読み取速度を算出し、ページ印刷速度及び/またはページ印刷速度に基づいて、動作条件を制限したときのCPUの使用率を算出するものであってよい。これにより、CPUの使用率を算出する際に、ハードリソースとメモリリソースの待ち時間を考慮することができ、制御精度を向上させてユーザストレスの緩和に確実に寄与させることができる。
また、画像形成装置は、ジョブ実行制御部が、ジョブの単位時間当たりのページ印刷速度及び/又はページ読取速度を、デフォルト速度から段階的に遅くするものであってよい。これにより、動作条件を制限する際に、処理待ち時間を複数段階で計算し、これらの処理待ち時間から最適な処理待ち時間を選択することができるようになる。
また、画像形成装置は、ジョブ実行制御部が、ページ印刷速度及び/またはページ読取速度をデフォルト速度から段階的に遅くしたときに、CPU使用率が所定値以下となるページ印刷速度及び/またはページ読取速度の最大値を設定するものであってよい。これにより、CPUへの負荷を抑えつつ、できるだけ短い時間処理でジョブを効率的に実行することができるようになる。
また、画像形成装置は、ジョブの種別とジョブの優先度とを対応付けたジョブ優先度テーブルを備え、ジョブ実行制御部が、入力されたジョブの種別に基づいて、ジョブ優先度テーブルを参照することにより、ジョブを優先度別に振り分けてジョブ管理テーブルに登録するものであってよい。これにより、予め定めたジョブ優先度テーブルによるジョブの優先度に基づき、ジョブの優先度を容易に判定してジョブ管理テーブルを作成することができる。
また、画像形成装置は、ジョブのジョブ条件とジョブ別CPU使用率とを対応付けたジョブ別CPU使用率テーブルを備え、ジョブ実行制御部は、許可判定の対象としたジョブのジョブ条件に基づいて、ジョブの実行に伴うCPUの使用率を算出する際、許可判定の対象としたジョブのジョブ条件に基づいて、ジョブ別CPU使用率テーブルを参照することにより、ジョブのジョブ条件に応じたジョブ別CPU使用率を特定し、特定したジョブ別CPU使用率を、ジョブ別CPU使用率を特定したときに実測されたCPUの実際のCPU使用率に加算することで、ジョブの実行に伴うCPUの使用率を算出するものであってよい。これにより、ジョブを実行しようとするときのCPU使用率を判断することができ、CPU使用率が過大であるときに動作条件の制限などの適切な処理を行うことができるようになる。
また、画像形成装置は、CPU使用率とネットワークの転送速度とを対応付けたネットワーク転送速度テーブルを備え、ジョブ実行制御部が、ジョブの実行に伴うCPUの使用率に基づいて、ネットワーク転送速度テーブルを参照することにより、CPUの使用率に応じたネットワーク転送速度を特定し、特定したネットワーク転送速度がデフォルト速度と異なる場合、デフォルト速度を前記特定したネットワーク転送速度に変更するものであってよい。これにより、CPU使用率に応じて効率よく最適なネットワーク転送速度を設定することができる。
また、画像形成装置は、ジョブ実行制御部が、許可判定の対象としたジョブについて、動作条件を制限したときのCPU使用率が所定値以下にならない場合、ジョブの実行が許可されるまで、次のジョブを許可判定の対象としないものであってよい。これにより、CPUの使用率が所定以下になったときにジョブの実行を許可することができ、UIを常にスムーズに動作させることができる。
また、画像形成装置は、ジョブ実行制御部が、許可判定の対象としたジョブについて、動作条件を制限したときのCPU使用率が所定値以下にならない場合、ジョブの優先度よりも低い優先度の先頭に登録されたジョブを許可判定の対象とするものであってよい。これにより、CPUの使用率に応じて、効率的にジョブを処理することができるようになる。
1…画像形成処理部(ICU)、2…プリンタ制御部(PCU)、3…スキャナ部(SCN)、4…メインCPU、10…画像形成装置(MFP)、11…NIC、12,22,31…サブCPU、13,25,35…RAM、14,18,21,32…VIDEOI/F、15…操作パネル、16,23,34…ROM、17…HDD、19,20,24,33…I/F、26,36…ユニットI/F、27…両面ユニット、28…給紙ユニット、29…印字ユニット、30…排紙ユニット、37…スキャナユニット、38…ADFユニット、101…アプリケーション層、102…サービス層、103…マネージャ/ドライバ層、104…ジョブ実行制御部、105…ジョブ管理テーブル、106…ジョブ優先度テーブル、107…ジョブ別CPU使用率テーブル、108…ハードリソース管理テーブル、109…メモリリソース管理テーブル、110…ネットワーク制御部。
Claims (5)
- 画像形成に係るジョブに基づいて画像を形成する画像形成装置であって、
該画像形成装置に設定された動作条件に従って該画像形成装置の動作を制御するCPUと、
入力されたジョブを優先度別に順次登録するジョブ管理テーブルを記憶する記憶部と、
該ジョブ管理テーブルに登録された優先度の高いジョブから登録順に従ってジョブの実行を許可するか否かの許可判定をするジョブ実行制御部とを備え、
該ジョブ実行制御部は、前記許可判定の対象としたジョブのジョブ条件に基づいて、該ジョブの実行に伴う前記CPUの使用率を算出し、該算出したCPU使用率が所定値を越える場合、前記画像形成装置の動作条件を制限し、該動作条件を制限したときのCPU使用率が前記所定値以下になった場合、前記制限した動作条件に従って前記ジョブの実行を許可し、
前記動作条件を制限したときのCPU使用率は、前記許可判定の対象としたジョブを処理するハードリソースにより生じる処理待ち時間と、前記許可判定の対象としたジョブの処理に使用するメモリリソースにより生じる処理待ち時間とを考慮して算出することを特徴とする画像形成装置。 - 請求項1に記載の画像形成装置において、
前記画像形成装置の動作条件の制限は、前記許可判定の対象としたジョブを構成する各ページ間の処理待ち時間を遅延させることによる動作条件の制限であり、前記処理待ち時間の遅延には、前記許可判定の対象としたジョブを処理するハードリソースにより生じる処理待ち時間と、前記許可判定の対象としたジョブの処理に使用するメモリリソースにより生じる処理待ち時間とを含め、
前記ジョブ実行制御部は、前記動作条件を制限した処理待ち時間に基づいて、前記動作条件を制限したときのCPUの使用率を算出することを特徴とする画像形成装置。 - 請求項1に記載の画像形成装置において、
前記画像形成装置の動作条件は、前記許可判定の対象としたジョブの単位時間当たりのページ印刷速度及び/またはページ読取速度を遅くすることによる動作条件の制限であり、
前記ジョブ実行制御部は、前記許可判定の対象としたジョブを処理するハードリソースにより生じる処理待ち時間と、前記許可判定の対象としたジョブの処理に使用するメモリリソースにより生じる処理待ち時間とを含めた処理時間に基づき、前記単位時間当たりのページ印刷速度及び/またはページ読み取速度を算出し、該ページ印刷速度及び/またはページ印刷速度に基づいて、前記動作条件を制限したときのCPUの使用率を算出することを特徴とする画像形成装置。 - 請求項1〜3のいずれか1項に記載の画像形成装置において、
ジョブのジョブ条件とジョブ別CPU使用率とを対応付けたジョブ別CPU使用率テーブルを備え、
前記ジョブ実行制御部は、前記許可判定の対象としたジョブのジョブ条件に基づいて、該ジョブの実行に伴う前記CPUの使用率を算出する際、該許可判定の対象としたジョブのジョブ条件に基づいて、前記ジョブ別CPU使用率テーブルを参照することにより、前記ジョブのジョブ条件に応じたジョブ別CPU使用率を特定し、該特定したジョブ別CPU使用率を、該ジョブ別CPU使用率を特定したときに実測された前記CPUの実際のCPU使用率に加算することで、前記ジョブの実行に伴う前記CPUの使用率を算出することを特徴とする画像形成装置。 - 請求項1〜4のいずれか1項に記載の画像形成装置において、
CPU使用率とネットワークの転送速度とを対応付けたネットワーク転送速度テーブルを備え、
前記ジョブ実行制御部は、前記ジョブの実行に伴う前記CPUの使用率に基づいて、前記ネットワーク転送速度テーブルを参照することにより、前記CPUの使用率に応じたネットワーク転送速度を特定し、該特定したネットワーク転送速度がデフォルト速度と異なる場合、前記デフォルト速度を前記特定したネットワーク転送速度に変更することを特徴とする画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013001647A JP2014135584A (ja) | 2013-01-09 | 2013-01-09 | 画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013001647A JP2014135584A (ja) | 2013-01-09 | 2013-01-09 | 画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014135584A true JP2014135584A (ja) | 2014-07-24 |
Family
ID=51413588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013001647A Pending JP2014135584A (ja) | 2013-01-09 | 2013-01-09 | 画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014135584A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019179166A (ja) * | 2018-03-30 | 2019-10-17 | ブラザー工業株式会社 | 画像形成装置、制御方法およびプログラム |
CN111324304A (zh) * | 2020-02-14 | 2020-06-23 | 西安奥卡云数据科技有限公司 | 一种基于ssd硬盘寿命预测的数据保护方法及装置 |
US10740054B2 (en) | 2017-11-29 | 2020-08-11 | Kyocera Document Solutions, Inc. | Image forming system, management server, and a non-transitory computer readable recording medium storing a server program |
-
2013
- 2013-01-09 JP JP2013001647A patent/JP2014135584A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10740054B2 (en) | 2017-11-29 | 2020-08-11 | Kyocera Document Solutions, Inc. | Image forming system, management server, and a non-transitory computer readable recording medium storing a server program |
JP2019179166A (ja) * | 2018-03-30 | 2019-10-17 | ブラザー工業株式会社 | 画像形成装置、制御方法およびプログラム |
JP7081272B2 (ja) | 2018-03-30 | 2022-06-07 | ブラザー工業株式会社 | 画像形成装置、制御方法およびプログラム |
CN111324304A (zh) * | 2020-02-14 | 2020-06-23 | 西安奥卡云数据科技有限公司 | 一种基于ssd硬盘寿命预测的数据保护方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5193327B2 (ja) | 画像形成装置 | |
JP4245055B2 (ja) | 画像処理システム、画像処理装置、ジョブ処理方法およびプログラム | |
JP5907153B2 (ja) | プリントシステム、プリンター、ジョブ処理方法、およびジョブ処理プログラム | |
US8964214B2 (en) | Image processing apparatus and distributed printing system | |
JP4415993B2 (ja) | 画像処理装置、ジョブ処理方法及びプログラム | |
US9992358B2 (en) | Pull print system | |
JP2014201039A (ja) | 画像形成装置及び電源制御システム | |
US10768870B2 (en) | Image forming system and image forming method | |
JP2014076582A (ja) | 画像形成装置、画像形成方法およびプログラム | |
JP2014135584A (ja) | 画像形成装置 | |
JP4696748B2 (ja) | 画像形成システムおよび割り込み処理方法および印刷装置 | |
JP2006295475A (ja) | データ出力装置及びデータ出力制御プログラム | |
US9317239B2 (en) | Image processing apparatus, server, and image processing system | |
JP2010140284A (ja) | 画像形成装置の制御システム | |
JP2016096414A (ja) | 画像形成装置、同装置におけるマルチコアプロセッサの制御処理の割り当て方法およびプログラム | |
JP2011177966A (ja) | 画像形成装置、画像形成システム及び画像形成装置の制御方法 | |
JP2014115774A (ja) | 印刷システム、印刷制御装置、印刷制御装置の制御方法、及びプログラム | |
JP2008173886A (ja) | 画像形成装置、印刷順序入替方法、プログラム、及び記録媒体 | |
JP4548500B2 (ja) | データ出力装置及びデータ出力制御プログラム | |
KR101831785B1 (ko) | 복수의 호스트들과 연결 가능한 화상형성장치 및 화상형성장치에서 화상형성 작업을 제어하는 방법 | |
JP4368165B2 (ja) | 画像形成装置 | |
JP2008242700A (ja) | 印刷管理装置、印刷管理システムおよび印刷管理プログラム | |
JP6478057B2 (ja) | プルプリントシステム | |
JP2006186777A (ja) | 画像形成装置及び画像形成プログラム | |
JP6478058B2 (ja) | プルプリントシステム |