JP2015212865A - 情報処理装置、及びその制御方法 - Google Patents
情報処理装置、及びその制御方法 Download PDFInfo
- Publication number
- JP2015212865A JP2015212865A JP2014094792A JP2014094792A JP2015212865A JP 2015212865 A JP2015212865 A JP 2015212865A JP 2014094792 A JP2014094792 A JP 2014094792A JP 2014094792 A JP2014094792 A JP 2014094792A JP 2015212865 A JP2015212865 A JP 2015212865A
- Authority
- JP
- Japan
- Prior art keywords
- jobs
- printer
- transmission control
- information processing
- value
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1217—Improving printing performance achieving reduced idle time at the output device or increased asset utilization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1296—Printer job scheduling or printer resource handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】 プリンタの印刷待機状態の発生を削減可能な技術を提供する。【解決手段】 印刷装置に対するポーリングのタイミングと関連したタイミングで、前記印刷装置内のジョブ数を取得し、前記取得したジョブ数が所定の値でない場合は、前記印刷装置に溜めておくべきジョブ数に関連する送信制御値を算出し、前記算出された送信制御値から決定したジョブ数のジョブを前記印刷装置に送信する。【選択図】 図6
Description
本発明は、印刷のための印刷ジョブを処理する技術に関する。
近年、オフセット印刷で行われていた商業印刷分野に、印刷現場での効率の良さと、電子写真方式の印刷装置(プリンタ)の印刷スピードなどの機能向上により、印刷方式の置き換えが発生している。商業印刷分野では、プリンタに大量部数のジョブが送信される事がある。しかし、一度にプリンタに大量のジョブを送信すると受け付けきれないジョブが消えてしまうことやプリンタで管理するジョブ数が多くなりすぎて印刷パフォーマンスが低下してしまうことが知られている。
特許文献1は、プリンタに対し定期的に情報取得(ポーリング)を行い、送信済みのジョブ数が予め定められた閾値以上である場合には、印刷ジョブの送信を停止することで、プリンタの印刷パフォーマンスを低下させないようにしている。
しかしながら、特許文献1は、プリンタへのポーリング間に、送信したジョブが終了してしまった場合、プリンタが印刷の待機状態になってしまうという課題があった。
本発明は、上述の問題点に鑑みなされたものであり、プリンタの印刷待機状態の発生を削減可能とする技術を提供することを目的としている。
本発明は、上述の問題点に鑑みなされたものであり、プリンタの印刷待機状態の発生を削減可能とする技術を提供することを目的としている。
上述の問題点を解決するため、本発明の情報処理装置は以下の構成を備える。すなわち、印刷装置に対するポーリングのタイミングと関連したタイミングで、前記印刷装置内のジョブ数を取得する取得手段と、前記取得したジョブ数が所定の値でない場合は、前記印刷装置に溜めておくべきジョブ数に関連する送信制御値を算出する算出手段と、前記算出された送信制御値から決定したジョブ数のジョブを前記印刷装置に送信する送信手段を有することを特徴とする。
本発明によれば、プリンタの印刷待機状態の発生を削減可能という効果がある。
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
[第1の実施形態]
まず、本実施形態で使用している語彙について説明する。
まず、本実施形態で使用している語彙について説明する。
<ポーリング処理> ポーリング処理は、印刷装置(プリンタ)に対して一定の間隔で情報の取得を行う処理を示す。例えば、10秒ポーリングでは、10秒間隔でプリンタに情報の取得を行う。ポーリング間隔を狭めると、プリンタ側でポーリング処理に対応した処理の回数が増え、印刷パフォーマンスの低下を招くため、ポーリング間隔は、可能な範囲で広めにとることが望まれる。
<プリンタ待機状態> プリンタ待機状態は、プリンタに残っている未印刷なジョブ数が0の状態で、プリンタの印刷処理が止まっていることを示す。この間は、印刷が行われないため生産性を上げるためには、ポーリング間隔をなるべく小さくせずに、この時間を減らすことが望まれる。
<送信制御値> 本実施形態で用いる送信制御値について説明する。プリンタに対してポーリング処理などを行い、プリンタのジョブ情報を取得した時に、プリンタ内のジョブ数があらかじめ決められたジョブ数(閾値)になるようにする。これは、プリンタ待機状態の発生を削減あるいは抑えるためである。このために、ポーリング処理後にプリンタに送信されるジョブによりプリンタに溜め置いておくべきジョブの目標値を、本実施形態では、送信制御値として定義している。
具体的例をあげて説明する。最初の送信制御値を10とし、ポーリングのタイミングで取得したプリンタ内のジョブ数が2の場合、ポーリング間隔中に処理されるジョブ数は8になる。閾値が5の場合、ポーリングタイミングでプリンタ内のジョブ数が、閾値の5になるようにするため、次回の送信制御値は13とする(8+5=13)。なお、本実施形態では、送信制御値を、ポーリングタイミングでのプリンタ滞留ジョブ数(プリンタのQueueに残っているジョブ数)の目標値とする。
ポーリング処理直後のタイミングで送信するジョブ数は、(式1)で求める。
ポーリング処理直後のタイミングで送信するジョブ数=
送信制御値―ポーリングのタイミングで取得したジョブ数 (式1)
送信制御値が13であり、ポーリングのタイミングで取得したプリンタ内のジョブ数が2であるときは、11ジョブをポーリング処理後に送信することとなる。
ポーリング処理直後のタイミングで送信するジョブ数=
送信制御値―ポーリングのタイミングで取得したジョブ数 (式1)
送信制御値が13であり、ポーリングのタイミングで取得したプリンタ内のジョブ数が2であるときは、11ジョブをポーリング処理後に送信することとなる。
<プリンタQueueフル> プリンタが持つ、ジョブを受けつけるバッファ数の上限に対して、受けつけたジョブ数がオーバした状態を示す。本実施形態ではプリンタで未印刷なジョブは、このQueueに溜め置かれているジョブ数(プリンタ滞留ジョブ数)を取得することで判定しているが、他の方法により取得してもよい。Queueフルの状態で送信されたジョブは、プリンタでは受けつけられない。また、Queueフルの状態が発生するとプリンタ内のメモリ空きサイズなどのリソースが減り、印刷パフォーマンスが低下してしまうなどの問題が発生することがある。プリンタQueueのサイズについてはプリンタの搭載しているメモリやCPU能力に依存する。
以下で、本発明を実施するための最良の形態について図面を用いて説明する。
図1は、本発明にかかわる情報処理システムの全体構成を示す図である。なお、以下の説明における情報処理システム全体の環境は本発明の説明を理解し易くするためのものであり、本発明はこれらの環境に限定されるものではない。
図1において、101、102、103は、ネットワーク106に接続され、相互に通信可能なネットワークコンピュータ(以下、情報処理装置という)である。典型的にはパーソナルコンピュータであり、それぞれ、ネットワークケーブルによってネットワーク106に接続され、アプリケーションプログラム等の各種のプログラムを実行可能である。
情報処理装置101、102、103は、情報処理装置101、102、103において生成した印刷ジョブデータ(以下、ジョブデータという)をプリンタ104、105に転送する機能を有する。また、情報処理装置101、102、103はプリンタ104、105が受信して処理または保存しているジョブデータの情報を、ネットワーク106を介して取得して表示、編集することが可能である。
104、105は、印刷装置としてのネットワークプリンタ(以下、プリンタという)である。プリンタ104、105は、不図示のネットワークインタフェースを介してネットワーク106と接続されており、情報処理装置101〜103から送信されてくる印字データを含むジョブデータを解析し、1ページずつドットイメージに変換して印刷する。
また、情報処理装置101〜103から受信したジョブデータをプリンタ104、105のユーザーインターフェースに表示したり、情報処理装置101、102、103へメールなどによって送信したり、図示しないファクシミリ装置などにFAX送信したりする。
以下、プリンタ104、105を区別する必要がある場合にはそれぞれプリンタA、プリンタBと記す。なお、各プリンタの機能は相違するものであってもよい。
また、106はネットワークであり、情報処理装置101、102、103やプリンタ104、105等と接続している。
図2は、情報処理装置101の構成を説明するブロック図である。尚、情報処理装置102、103の構成も、情報処理装置101の構成と同様である。図2において、200は装置全体の制御を行うCPUである。CPU200は、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや、本実施例の情報処理プログラム等を実行する。また、CPU200は、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御も行う。
201は記憶部としてのROMであり、内部には、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。202は一時記憶部としてのRAMであり、CPU200の主メモリ、ワークエリア等として機能する。
203は記憶媒体読み込み部としてのフレキシブルディスクドライブであり、後述する図5に示すようにFDドライブ203を通じて、記憶媒体としてのFD204に記憶されたプログラム等を情報処理装置101にロードすることができる。204は記憶媒体であるフレキシブルディスク(FD)であり、情報処理装置101が読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はFDに限らず、CD−ROM、CDR、CDRW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。
205は外部記憶部の一つであり、大容量メモリとして機能するハードディスク(HD)であり、アプリケーションプログラム、プリンタドライバプログラム、OS、情報処理プログラム、関連プログラム等を格納している。
206は指示入力部であるキーボードであり、ユーザが情報処理装置101に対して、デバイスの制御コマンドの命令等を入力指示するものである。207は表示部であるディスプレイであり、キーボード206から入力したコマンドや、プリンタの状態等を表示したりするものである。
208はシステムバスであり、情報処理装置101内のデータの流れを司るものである。
209は外部との入出力部であるインタフェースであり、インタフェース209を介して情報処理装置101は外部装置とのデータのやり取りを行う。
なお、上記情報処理装置101の構成はその一例であり、図2の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM、RAM、HDなどで変更することも可能である。
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、FD204からロードされる本発明の情報処理システムを制御する情報処理プログラムが、RAM202にロードされ実行可能となった状態のメモリマップである。
なお、本実施例では、情報処理プログラムおよび関連データをFD204から直接、RAM202にロードして実行させる例を示す。しかしながら、これ以外にも、情報処理プログラムを動作させる度に、既に情報処理プログラムがFD204からインストールされているHD205から、RAM202にロードするようにしてもよい。
なお、本実施例では、情報処理プログラムおよび関連データをFD204から直接、RAM202にロードして実行させる例を示す。しかしながら、これ以外にも、情報処理プログラムを動作させる度に、既に情報処理プログラムがFD204からインストールされているHD205から、RAM202にロードするようにしてもよい。
301は基本I/Oプログラムであり、情報処理装置101の電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムである。302はオペレーティングシステム(OS)であり、303は情報処理プログラムで、RAM202上に確保される領域に記憶される。304は関連データで、RAM202上に確保される領域に記憶される。305はワークエリアで、CPU200が本情報処理プログラムを実行する領域が確保されている。
図4は、情報処理システムの情報処理装置101の機能ブロック図である。
401は、アプリケーションから印刷データと出力設定情報を受け付けるジョブ受付部である。402は、ジョブ受付部401が受け付けた印刷データと出力設定情報から出力先プリンタで処理可能なジョブデータを生成するジョブ生成部である。403は、送信制御を行うにあたって必要なデータの初期値をユーザーインターフェースや記憶部406に保持されている設定ファイルから取得する送信制御用データの設定部である。
404は、ジョブ生成部402から受け取ったジョブデータを一時的に溜め込み、送信制御部405に順次出力するスプーラである。405は、ジョブの送信数を調整する送信制御部である。406は、設定部403で設定された情報や、送信制御部405で決定した、送信ジョブ数などのシステム情報などを記憶する記憶部である。
408は、ネットワーク106を介してプリンタ104、105へジョブデータを送信したり、プリンタ104、105から情報を受信したりする送受信部である。なお、プリンタ内のジョブ情報の取得は、あらかじめ決められた間隔でプリンタに情報取得を行う(ポーリング処理)ようにしても、プリンタからの定期的なイベント通知で実現しても良い。プリンタジョブ情報管理部407は、送受信部408で取得したプリンタの情報からプリンタ内に保持されているジョブ数(印刷待ちのジョブ数)を読み出すプリンジョブ管理部である。
また、409は、データ送受信部405で取得したプリンタ情報から印刷したジョブの完了時刻を読み取る、ジョブ完了検出部である。この処理は、プリンタから取得したデータにジョブの完了時刻が存在する時のみ有効である。たえば、JDFによって印刷したジョブに対してプリンタがそのステータス情報としてJMFでReturnQueueEntryを通知し、そのデータ内に完了時刻が記述されている場合に有効となる。
図6は、情報処理装置101、102、103からプリンタ104、105に対して、データの送信制御処理のフローチャートである。各フローに係るプログラムは、情報処理装置101、102、103のハードディスク(HD)205に格納されており、RAM202に読み出され、CPU200により実行される。なお、本シーケンスでは、図1に示す情報処理装置101からプリンタA(プリンタ104)へのジョブ送信制御を例として説明する。
ステップ601は、設定部403が、記憶部406から送信制御値の初期値を取得する。送信制御値の初期値の例として、プリンタパネルに表示可能なジョブ数や、プリンタの持つバッファ(Queue)をフルにしないように余裕を持たせたジョブ数(例えば、Queueフル数が発生する値の30%に相当する値)とする。ステップ602は、送信制御部405が、ジョブの送信処理を停止させるかどうか判定する。印刷終了時や、印刷アプリシステムのShutdown等が行われた場合には、印刷終了のフラグなどが立ちその指示に従い処理を終了させ、ステップ610へ進む。それ以外ではステップ603に進む。ステップ603は、送信制御部405が、送受信部408で行われるプリンタ情報の取得を行うタイミング(ポーリングのタイミング)であるかを判定する。なお、本実施形態においては、特定の時間間隔で情報取得を行うポーリングを使用するが、プリンタAからの定期的にイベント通知を受けジョブデータ情報の取得を行うようにしてもよい。
ステップ603でポーリングのタイミングであったと判定された場合、ステップ604は、送受信部408は、プリンタ情報として、プリンタのQueueの情報を受信する。プリンタのQueueの情報には、プリンタのQueueに残っているジョブ数(プリンタ滞留ジョブ数)の情報も含まれる。ステップ605は、送信制御部405が、プリンタQueueの情報からプリンタのQueueに残っているジョブ数(プリンタ滞留ジョブ数)を取得し、このジョブ数が、あらかじめ決められた閾値と同じを判定する。閾値と同じと判定された場合にはステップ609に進み、それ以外であればステップ606に進む。
ステップ606は、送信制御部405が、送信制御値の値を変更する。図7は、ステップ606の詳細フローチャートである。
ステップ701は、送信制御部405が、プリンタ滞留ジョブ数が、閾値より小さいか判定する。閾値より小さい場合、ステップ702で、送信制御部405が、送信制御値の値を、1つ、インクリメントする。また、それ以外の場合には、送信制御部405が、ステップ703で、送信制御値の値を、1つ、デクリメントする。
ステップ607は、送信制御部405が、ステップ606で変更された送信制御値の値が、限界値(Queueフルとなるジョブ数)を超えていないか判定する。ここで、限界値を超えていると判定された場合には、ステップ608へ進む。ステップ608は、ステップ606で変更された送信制御値の値を、限界値に置き換える。
ステップ609は、送受信部408が、送信制御値から、プリンタ滞留ジョブ数を引いたジョブ数で、プリンタにジョブ送信する。以上のステップを経由して、ステップ602で、処理が終了と判定されると、ステップ610へ進み、送信制御値及びポーリング間隔などのシステムデータを、次回の再印刷時に使用可能なように記憶部406へ保存する。
尚、ステップ610で保存した送信制御値は、次回、印刷時の、送信制御値の初期値としてもよい。
図5は、本実施形態の効果を説明するための図である。図5(a)は、本実施例を適用していない、従来法でのプリンタ内のジョブ数の推移を表した図である。図5(a)のグラフの縦軸は、プリンタ内のジョブ数を表し、横軸は、時間を表す。尚、ポーリング間隔とは、プリンタへの定期的なポーリング間隔である。図5(a)の折れ線は、プリンタ内の未印刷なジョブ数の遷移を表している。ここでは、送信制御値を5としている。5ジョブをプリンタに送信した後、ポーリング間隔中に送信したジョブが全て印刷終了してしまい、印刷終了したタイミングと次のポーリングタイミングまで、プリンタ内のジョブ数が0(プリンタ待機状態)となる状態が発生している。
図5(b)は、本実施形態を適用した場合のプリンタ内のジョブ数の推移の一例を表した図である。ここでは、送信制御値の初期値が、5でジョブ送信が行われる。1つ目のポーリング間隔と2つ目のポーリング間隔ではプリンタの待機状態が発生している。が、本実施形態で説明したように、送信制御値を調整することで、3つ目以降のポーリング間隔では、プリンタ待機状態が解消されるようになる。
尚、上記実施形態では、ステップ702、703では、インクリメント、デクリメントする値は、1としたが、インクリメント、デクリメントする値は、閾値とプリンタ滞留ジョブ数の差分を算出して行うようにしてもよい。例えば、閾値が3の場合で、プリンタ滞留ジョブ数が0の場合には、次のポーリングタイミングでプリンタ滞留ジョブ数が閾値の3になるようにするため、インクリメントする値を、3とする。また、閾値が3の場合で、プリンタ滞留ジョブ数が7の場合には、次のポーリングタイミングでプリンタ滞留ジョブ数が閾値の3になるようにするため、デクリメントする値を、4とする。このように、インクリメント、あるいは、デクリメントの値を、プリンタ滞留ジョブ数を用いて算出することで、プリンタ待機時間が解消されるまでの時間を短縮することができる。
上記実施形態では、ステップ608で、送受信部408が、送信制御値から、プリンタ滞留ジョブ数を引いたジョブ数で、プリンタにジョブ送信するとしたが、さらに、ポーリング間隔を狭める処理を行ってもよい。具体的には、送受信部408で行われるポーリング間隔の所定の単位(たとえば1秒)ずつ間隔を狭める。ポーリング間隔を狭めることで、プリンタ待機状態の時間を減らすことができる。
上記実施形態では、閾値を、所定の数値としてが、上限値と下限値をもつものとしてもよい。具体的には、図6のステップ605で、閾値の上限値と下限値の範囲内であれば、ステップ609に進み、閾値の上限値と下限値の範囲外であれば、ステップ609に進むようにする。また、インクリメントやデクリメントの値を、閾値とプリンタ滞留ジョブ数の差分を算出する場合は、閾値の上限値と下限値の範囲内の値を用いればよい。
以上説明したように、ポーリングタイミングで、プリンタ内のジョブ数が閾値内に収まるまで、送信制御値のインクリメント、あるいは、デクリメントを行うことで、プリンタ待機状態が解消されるようになる。
[第2の実施形態]
第1の実施形態では、送信制御値の初期値を、記憶部406に記憶されている初期値を用いる例を説明した。本実施形態では、記憶部406に記憶されている初期値を用いるのではなく、理論値が算出できるときは、理論値としての初期値を算出するようにして、結果、プリンタ待機時間が解消されるまでの時間を短縮する。
第1の実施形態では、送信制御値の初期値を、記憶部406に記憶されている初期値を用いる例を説明した。本実施形態では、記憶部406に記憶されている初期値を用いるのではなく、理論値が算出できるときは、理論値としての初期値を算出するようにして、結果、プリンタ待機時間が解消されるまでの時間を短縮する。
本実施形態では、図6のステップ601の代わりに、図9のフローを置き換えることで実施する。図6のステップ601を、図9のフローに置き換えること以外は、第1の実施形態と同様であるので、説明を省略する。
図9は、送信制御値の初期値を算出するフローチャートである。
ステップ901は、設定部403が、印刷ジョブ情報を取得できるか判定する。例えば、これから印刷するジョブの平均ページ数などのジョブ情報が取得可能であるか判定する。尚、納期が決められているような生産現場では、あらかじめ生産計画が立てられており、ジョブに対するページ数等が事前に決まっていることが多く、その場合は、印刷ジョブ情報を取得できる。ステップ901で、印刷ジョブ情報が取得可能であればステップ902へ進み、取得不可であればステップ907へ進む。ステップ907は、設定部403が、記憶部406から送信制御値の初期値(第1の初期値)を取得する。
ステップ902は、設定部403が、印刷ジョブ情報を取得する。ここでは、1ジョブ中の平均ページ数が取得できた例を説明する。具体的には、これから印刷するジョブのページ数の平均が25ページという情報が取得できた場合、ステップ902では、1ジョブの平均ページ数を25として取得する。ステップ903は、設定部403が、プリンタの能力情報を取得(もしくはユーザが設定する)できるか判定する。プリンタ能力情報としては、プリンタから取得するようにしてもよいし、ユーザーインターフェースを介して取得してもよい。ステップ903でプリンタの能力情報が取得可能と判定された場合は、ステップ904へ進む。ステップ904は、設定部403が、プリンタの能力情報を取得する。プリンタ能力情報としては、印刷エンジンスピード、給紙可能枚数などがある。ここでは、プリンタのエンジンスピード(一般的にはPPMで示される)を用いる場合、ターゲットプリンタのエンジンスピードが最高1500ppmであれば、1分間に印刷可能用紙枚数を1500とする。
ステップ905は、設定部403が、印刷システムの設定情報を取得する。印刷システムの設定情報は、例えば、印刷システムのポーリング間隔である。
ステップ906は、設定部403が、印刷ジョブ情報、プリンタの能力情報、印刷システムの設定情報とから、送信制御値の初期値(第2の初期値)を算出して設定する。ここで算出する初期値は、ポーリング間隔中に処理可能な理論的なジョブ数であり、計算から求めた理論値に相当する。以下の計算式は算出方法の一例であり、ポーリング間隔中に処理可能なページ数を、プリンタのエンジンスピードとポーリング間隔から算出する。そして、ポーリング中に処理可能なページ数(前記算出された値)を1ジョブの平均ページ数で除算することにより、初期値を算出する。
ポーリング中に処理可能なページ数=エンジンスピード(PPM)/ポーリング間隔 (式2)
初期値=ポーリング中に処理可能なページ数/1ジョブの平均ページ数 (式3)
図10は、ユーザーインターフェースの一例を示す図である。ターゲットプリンタを選択して、印刷ジョブ情報、プリンタエンジンスピード情報、ポーリング間隔をプリンタ及びシステムから読み込むことで、初期値(第2の初期値)が自動的に算出されている。ここで、“設定する”ボタンが押下されると、第2の初期値が適用される。なお、ユーザーインターフェースの設定項目はシステムやプリンタから自動的に取得するだけでなく、ユーザがUI上で打ち込むようにしてもよい。
ポーリング中に処理可能なページ数=エンジンスピード(PPM)/ポーリング間隔 (式2)
初期値=ポーリング中に処理可能なページ数/1ジョブの平均ページ数 (式3)
図10は、ユーザーインターフェースの一例を示す図である。ターゲットプリンタを選択して、印刷ジョブ情報、プリンタエンジンスピード情報、ポーリング間隔をプリンタ及びシステムから読み込むことで、初期値(第2の初期値)が自動的に算出されている。ここで、“設定する”ボタンが押下されると、第2の初期値が適用される。なお、ユーザーインターフェースの設定項目はシステムやプリンタから自動的に取得するだけでなく、ユーザがUI上で打ち込むようにしてもよい。
本実施形態によれば、理論値としての初期値を算出して、その初期値を用いることで、プリンタの待機時間が解消されるまでの時間が短くなる効果がある。図8(a)は、本実施形態における、プリンタ内のジョブ数の推移の一例を表した図である。この例では、理論値としての初期値を用いることで、プリンタの待機状態が発生しない。
尚、本実施形態によれば、理論値が算出できるときは、理論値としての初期値を算出して、その初期値を用いるようにした。が、印刷ジョブ情報、プリンタの能力情報、印刷システムの設定情報のいずれかの情報が大きく変化したときに、理論値としての初期値を算出するようにしてもよい。
[第3の実施形態]
第2の実施形態では、送信制御に使用する初期値として、送信制御の理論値を用いることでプリンタ待機時間が解消されるまでの時間を短縮した。第3の実施形態では、プリンタから通知されるジョブ情報(ジョブの完了時間)からポーリング間隔中に処理可能なジョブ数を算出し、その値を送信制御値として用いることによりプリンタ待機時間が解消されるまでの時間を短縮する。
第2の実施形態では、送信制御に使用する初期値として、送信制御の理論値を用いることでプリンタ待機時間が解消されるまでの時間を短縮した。第3の実施形態では、プリンタから通知されるジョブ情報(ジョブの完了時間)からポーリング間隔中に処理可能なジョブ数を算出し、その値を送信制御値として用いることによりプリンタ待機時間が解消されるまでの時間を短縮する。
本実施形態では、図6のステップ606の詳細フローチャートとして、図7のフローの代わりに、図11のフローを置き換えることで実施する。図7のフローの代わりに、図11のフローを置き換えること以外は、第1の実施形態と同様であるので、説明を省略する。
図11は、本実施形態におけるステップ606の詳細フローチャートである。
ステップ1101は、送信制御部405が、印刷システムからプリンタ情報取得のためのポーリング間隔を取得する。ステップ1102は、送信制御部405が、ポーリング間隔中に処理したジョブの完了時間を取得する。プリンタ情報の中から各ジョブの終了時間情報を取得する。
ステップ1103は、送信制御部405が、ジョブQueueに残っているジョブ数が0かを判定する。ステップ1103で、ジョブQueueに残っているジョブ数が0だった場合、ステップ1104に進む。ステップ1104は、送信制御部405が、ポーリング中のどのタイミングで最終ジョブが終了したのか読み出し、ポーリング間隔からその時間を差し引く。この時間がプリンタの待機状態時間となる。
ステップ1105は、送信制御部405が、送信制御値の計算を行う。この計算の一例を以下に示す。ポーリング間隔をPollingTimeとし、ポーリング中に終了した最後のジョブの完了時間をJobCompleteTimeとし、プリンタの待機状態時間をPrinterWaitTimeとする。プリンタの待機状態時間は
PrinterWaitTime=PollingTime−JobCompleteTime (式4)
となる。また、送信制御値をMaxSendingJobCountとすると、計算される送信制御値は
NextMaxSendingJobCount=
(PrintWaitTime*MaxSendingJobCount)/JobCompleteTime+閾値 (式5)
により算出される。(なお、閾値に範囲があれば、たとえば、閾値の上限値を使用してもよい。)
ステップ1103で、ジョブQueueに残っているジョブ数が0でないと判定され場合、ステップ1106に進む。ステップ1106は、送信制御値をインクリメントする。インクリメントする値は、第1の実施形態と同様、1としてもよいし、プリンタ滞留ジョブ数を用いて求めてもよい。
PrinterWaitTime=PollingTime−JobCompleteTime (式4)
となる。また、送信制御値をMaxSendingJobCountとすると、計算される送信制御値は
NextMaxSendingJobCount=
(PrintWaitTime*MaxSendingJobCount)/JobCompleteTime+閾値 (式5)
により算出される。(なお、閾値に範囲があれば、たとえば、閾値の上限値を使用してもよい。)
ステップ1103で、ジョブQueueに残っているジョブ数が0でないと判定され場合、ステップ1106に進む。ステップ1106は、送信制御値をインクリメントする。インクリメントする値は、第1の実施形態と同様、1としてもよいし、プリンタ滞留ジョブ数を用いて求めてもよい。
本実施形態によれば、プリンタから通知されるジョブ情報(ジョブの完了時間)からポーリング間隔中に処理可能なジョブ数を算出し、その値を送信制御値として用いることにより、プリンタの待機時間が解消されるまでの時間が短くなる効果がある。図8(b)は、本実施形態における、プリンタ内のジョブ数の推移の一例を表した図である。この例では、最初のポーリングでプリンタ待機時間が発生したため、待機時間の発生時間(時刻)を用いて、送信制御値を計算し、その値をベースにジョブを送信したことで、次のポーリングではプリンタ待機時間が解消されている。
尚、本実施形態の変形例として、ジョブの完了時間がプリンタから取得可能であるときは、図11のフローを用いて、取得できないときは、図7のフローを用いるようにしてもよい。ジョブの完了時間がプリンタから取得可能かを判定する方法として、設定部403からデバイス能力を問い合わせるようにして判定してもよい。例えば、JDF対応デバイスでは“KnownMessages”(プリンタがサポートしている能力を問い合わせる)コマンドを発行して、その戻り値として“ReturnQueueEntry”(印刷結果を通知する)コマンドが通知されてくるか判定する。また、ユーザがデバイスの能力を設定ファイルに定義し、設定部403で読み込むようにしてもよい。
<その他の変形例>
以上本発明にかかる実施形態を説明したが、先に説明したように、情報処理装置は、通常のパーソナルコンピュータ等の汎用情報処理装置であって、それ上で動作するコンピュータプログラムで実現できるものである。よって、本発明はコンピュータプログラムをその範疇とすることは明らかである。また、通常、コンピュータプログラムは、CDROM等のコンピュータ読み取り可能な記憶媒体に格納されており、それをコンピュータの対応するドライブにセットしてシステムにコピーやインストール処理することで実行可能となる。よって、本発明は当然にそのようなコンピュータ可読記憶媒体をもその範疇とすることも明らかである。
以上本発明にかかる実施形態を説明したが、先に説明したように、情報処理装置は、通常のパーソナルコンピュータ等の汎用情報処理装置であって、それ上で動作するコンピュータプログラムで実現できるものである。よって、本発明はコンピュータプログラムをその範疇とすることは明らかである。また、通常、コンピュータプログラムは、CDROM等のコンピュータ読み取り可能な記憶媒体に格納されており、それをコンピュータの対応するドライブにセットしてシステムにコピーやインストール処理することで実行可能となる。よって、本発明は当然にそのようなコンピュータ可読記憶媒体をもその範疇とすることも明らかである。
Claims (8)
- 印刷装置に対するポーリングのタイミングと関連したタイミングで、前記印刷装置内のジョブ数を取得する取得手段と、
前記取得したジョブ数が所定の値でない場合は、前記印刷装置に溜めておくべきジョブ数に関連する送信制御値を算出する算出手段と、
前記算出された送信制御値から決定したジョブ数のジョブを前記印刷装置に送信する送信手段を有することを特徴とする情報処理装置。 - 前記算出手段は、前記取得したジョブ数を用いて、前記送信制御値を算出することを特徴とする請求項1に記載の情報処理装置。
- 前記算出手段は、前記ポーリングの間隔中に前記印刷装置が処理したジョブの完了時間と、前記印刷装置の待機状態時間を用いて、前記送信制御値を算出することを特徴とする請求項1に記載の情報処理装置。
- 情報処理装置の制御方法であって、
取得手段が、印刷装置に対するポーリングのタイミングと関連したタイミングで、前記印刷装置内のジョブ数を取得する取得工程と、
算出手段が、前記取得したジョブ数が所定の値でない場合は、前記印刷装置に溜めておくべきジョブ数に関連する送信制御値を算出する算出工程と、
送信手段が、前記算出された送信制御値から決定したジョブ数のジョブを前記印刷装置に送信する送信工程を有することを特徴とする情報処理装置の制御方法。 - 前記算出工程は、前記取得したジョブ数を用いて、前記送信制御値を算出することを特徴とする請求項4に記載の情報処理装置の制御方法。
- 前記算出工程は、前記ポーリングの間隔中に前記印刷装置が処理したジョブの完了時間と、前記印刷装置の待機状態時間を用いて、前記送信制御値を算出することを特徴とする請求項4に記載の情報処理装置の制御方法。
- コンピュータを、請求項1乃至3の何れか1項に記載の情報処理装置が有する各手段と
して機能させるためのコンピュータプログラム。 - 請求項7に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014094792A JP2015212865A (ja) | 2014-05-01 | 2014-05-01 | 情報処理装置、及びその制御方法 |
US14/699,050 US20150317105A1 (en) | 2014-05-01 | 2015-04-29 | Information processing apparatus and method for controlling the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014094792A JP2015212865A (ja) | 2014-05-01 | 2014-05-01 | 情報処理装置、及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015212865A true JP2015212865A (ja) | 2015-11-26 |
Family
ID=54355271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014094792A Pending JP2015212865A (ja) | 2014-05-01 | 2014-05-01 | 情報処理装置、及びその制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150317105A1 (ja) |
JP (1) | JP2015212865A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612430B (zh) * | 2020-12-25 | 2023-06-06 | 南阳柯丽尔科技有限公司 | 打印机的打印控制方法、相关设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3932875B2 (ja) * | 2001-11-28 | 2007-06-20 | 富士ゼロックス株式会社 | 印刷制御方法および印刷システム |
JP2013008155A (ja) * | 2011-06-23 | 2013-01-10 | Canon Inc | 情報処理装置及びプログラム、制御方法 |
-
2014
- 2014-05-01 JP JP2014094792A patent/JP2015212865A/ja active Pending
-
2015
- 2015-04-29 US US14/699,050 patent/US20150317105A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20150317105A1 (en) | 2015-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8953214B2 (en) | Print control method, information processing apparatus, and recording medium | |
US8446605B2 (en) | Division of rendering block in image forming apparatus | |
US20170160997A1 (en) | Information processing apparatus that determines conflict resulting from contents of print setting items, control method for information processing apparatus, and storage medium | |
US20060044572A1 (en) | Print processing apparatus, print processing method, and computer-readable medium storing print processing program | |
US10579456B2 (en) | Program and information processing apparatus | |
US20150371118A1 (en) | Image forming apparatus, method for controlling image forming apparatus, and storage medium | |
US9781295B2 (en) | Image processing apparatus, a method for performing specific process on an image processing apparatus, and a computer-readable storage medium for a program to be executed by an image processing apparatus | |
US9569156B2 (en) | Apparatus, method, and medium allocate divided jobs to a plurality of rasterizing units | |
US20190286391A1 (en) | Information processing terminal, method of controlling the same, storage medium, and image forming apparatus | |
JP2013140554A (ja) | 印刷制御システム、印刷制御方法、プログラムおよびコンピュータ | |
US20130070271A1 (en) | Print control device and non-transitory computer readable medium | |
US8854652B2 (en) | Host device and printing control method thereof | |
US20140247458A1 (en) | Image forming apparatus, image forming method, and storage medium | |
JP2015212865A (ja) | 情報処理装置、及びその制御方法 | |
US10277765B2 (en) | Information processing device, control method, and program | |
US8917411B2 (en) | Computer connectable with a printer, computer-readable storage medium, and printing method with data generation time reduction capability | |
JP2016137664A (ja) | 印刷に要する時間の予測値を求める画像処理装置、画像処理方法およびそのプログラム | |
US9165225B2 (en) | Program and information processing apparatus | |
US11151431B2 (en) | Printer and computer-readable medium storing computer-readable instructions | |
US10942693B2 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
JP2015168132A (ja) | 画像形成システム及び画像形成システム用印刷データ描画展開方法 | |
US9434195B2 (en) | Printing instruction apparatus, printing system, printing instruction method, and computer readable medium | |
US9232092B2 (en) | Electronic apparatus that selectively transmits screen data changes based on exclusionary conditions | |
US20150271362A1 (en) | Image processing apparatus, image processing method, and non-transitory recording medium storing image processing program | |
US10939014B2 (en) | Image forming apparatus that performs a plurality of functions using shared and exclusive storage areas |