JP2011165009A - 印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置 - Google Patents
印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置 Download PDFInfo
- Publication number
- JP2011165009A JP2011165009A JP2010028211A JP2010028211A JP2011165009A JP 2011165009 A JP2011165009 A JP 2011165009A JP 2010028211 A JP2010028211 A JP 2010028211A JP 2010028211 A JP2010028211 A JP 2010028211A JP 2011165009 A JP2011165009 A JP 2011165009A
- Authority
- JP
- Japan
- Prior art keywords
- print job
- job
- queue
- registered
- 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.)
- Withdrawn
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/1211—Improving printing performance
- G06F3/1212—Improving printing performance achieving reduced delay between job submission and print start
-
- 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
- G06F3/1263—Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
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)
- Record Information Processing For Printing (AREA)
Abstract
【課題】印刷クライアントが送信した順番で、画像形成装置から印刷出力を得られるように印刷順を制御する。
【解決手段】
画像形成装置が受信した印刷ジョブを通信パケットレベルでキャプチャし、受信を開始した日時をジョブリストによって管理する。着目印刷ジョブが印刷キューマネージャ110に入力されると、印刷ジョブの受信が終了していない先行投入ジョブの有無が判定される。有れば先行投入ジョブの入力を待ち、入力されると先行投入ジョブを印刷キュー111に登録し、それに続けて着目印刷ジョブを印刷キュー111に登録する。先行投入ジョブが無ければ着目印刷ジョブを印刷キュー111に登録する。
【選択図】図1
【解決手段】
画像形成装置が受信した印刷ジョブを通信パケットレベルでキャプチャし、受信を開始した日時をジョブリストによって管理する。着目印刷ジョブが印刷キューマネージャ110に入力されると、印刷ジョブの受信が終了していない先行投入ジョブの有無が判定される。有れば先行投入ジョブの入力を待ち、入力されると先行投入ジョブを印刷キュー111に登録し、それに続けて着目印刷ジョブを印刷キュー111に登録する。先行投入ジョブが無ければ着目印刷ジョブを印刷キュー111に登録する。
【選択図】図1
Description
本発明は、例えば印刷クライアント装置が印刷ジョブを送信した順番で画像形成装置から印刷出力を得ることを保証する印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置に関する。
従来の印刷順番を保証する技術には、受信を完了した印刷ジョブを統合処理キューの最後尾に追加することにより、画像形成装置が印刷ジョブを受信した順番で印刷出力を開始するようにしたものがある(例えば、特許文献1等参照)。
この先行技術では、印刷ジョブのスケジュールを印刷ジョブの受信が完了した時点で行うため、必ずしも印刷クライアントが印刷ジョブの送信を開始した順番と一致しない場合がある。そのため、印刷クライアントにおいて先に印刷が指示された先行ジョブが、その後で印刷指示された後続ジョブにより追い越され、後続ジョブが先に印刷されてしまう場合があった。このような現象は、画像形成装置がマルチセッション接続をサポートし、且つ先行ジョブのデータサイズに対して後続ジョブのデータサイズが極めて小さい場合に発生する可能性が高い。
本発明は上記従来例に鑑みて成されたもので、複数のジョブを非同期に受信可能な画像形成装置において、印刷ジョブを、対応する印刷指示の順序で実行する画像形成装置およびそれによる印刷制御方法を提供することを目的とする。
さらに、あるソースからの印刷ジョブを対応する印刷指示の順序で実行し、ソースの異なる印刷ジョブによる割り込みを防止できる印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置を提供することを目的とする。
本発明は上記目的を達成するために以下の構成を有する。
印刷ジョブを構成する通信パケットを複数のコネクションを通して並列に受信できる印刷ジョブ管理装置であって、
印刷ジョブの先頭を示す通信パケットを受信した順序に従って印刷ジョブをジョブキューに登録するキュー管理手段と、
前記キュー管理手段によりジョブキューに登録された順序で印刷ジョブを出力する出力手段とを備える。
印刷ジョブの先頭を示す通信パケットを受信した順序に従って印刷ジョブをジョブキューに登録するキュー管理手段と、
前記キュー管理手段によりジョブキューに登録された順序で印刷ジョブを出力する出力手段とを備える。
本発明によれば、印刷ジョブを受信が開始された順番で印刷キューへ保存する制御が可能となる。これにより、後続ジョブの受信完了が先行ジョブを追い越した場合でも、印刷クライアントから送信された順番で印刷出力を得ることが可能となる。
以下、本発明を実施するための最良の形態について図面を用いて説明する。図2は、本発明に関わる印刷システムの構成図である。同図において、LAN201はネットワーク通信媒体であるローカルエリアネットワークであり、たとえばイーサネット(登録商標)である。。LAN201にはNIC(Network Interface Card)203を介して印刷クライアント202が接続されている。印刷クライアントは、たとえば文書処理や画像処理等をはじめとして印刷機能を有するアプリケーションプログラムがインストールされたコンピュータである。また、LAN201には、印刷クライアント202から送信される印刷ジョブを受信して、印刷媒体に印刷する機能を有する画像形成装置204が、NIC102を介して接続されている。画像形成装置は例えば複合複写機やプリンタなどであり、印刷クライアントから印刷ジョブを受信して実行する機能を有する。この構成において印刷クライアント202は、LAN201を介して画像形成装置204に印刷ジョブを送信することができる。本実施形態では、このネットワークシステムはTCP/IPネットワークであり、印刷ジョブを構成するデータは、各プロトコルレイヤで定められた手順に従い、メッセージやパケット、フレームといった単位で送信される。また印刷クライアント202が複数ある場合、それぞれのクライアントは、クライアント毎のTCPコネクションで画像形成装置204と接続される。さらに印刷データは一般に大量であり、かつその順序が重要であることから、本実施形態においては、アプリケーションレイヤのプロトコルではセッションがサポートされる。そしてひとつの印刷ジョブはひとつのセッションで印刷クライアント202から画像形成装置204に送信される。なおここで説明した本実施形態の画像形成装置の通信プロトコルに関する機能は印刷サーバにより提供され、画像形成装置自体はその印刷サーバにシリアルIF或いはパラレルIFで接続されて印刷機能のみを提供する構成であっても良い。
印刷ジョブは、印刷クライアントにおいてアプリケーションプログラム等において印刷の指示がされた際に、例えばひとつの印刷指示に対応して生成される処理の単位である。印刷ジョブにはジョブを定義するジョブヘッダや画像形成装置により処理される印刷データを含む。例えば印刷クライアントで実行中のアプリケーションプログラムにおいて印刷指示がオペレータにより入力されると、アプリケーションはオペレーティングシステムが提供する関数をコールして印刷対象のデータをオペレーティングシステムに引き渡す。オペレーティングシステムは、画像形成装置のベンダにより提供されているドライバプログラムを用いるなどして、印刷対象のデータを画像形成装置が解釈実行可能な形式の印刷データに変換し、その印刷データを含む印刷ジョブを生成して画像形成装置に送信する。印刷ジョブの送信の開始は印刷データの生成が完了してからであっても良いが、印刷指示に応じて、印刷データの生成の完了を待たずに最初のパケットを送信しても良い。
<画像形成装置のハードウエア>
図7は、本発明の画像形成装置204のハードウェアブロック図である。同図において、CPU702は本発明の画像形成装置の制御を司る。後述する図3,図5,図8等のフローの処理もCPU702がプログラムを実行することで実現される。HDDコントローラ703はHDD704への読み書きを制御する。HDD704は、CPU702によって実行されるプログラムが保存され、且つ大容量データの保存領域としても利用されるハードディスクドライブである。RAM705は、CPU702がアクセスするプログラムやデータを一時的に記憶するためのメモリである。LCDコントローラ706は表示部707として利用されるLCDへの表示を制御する。LCD707はユーザへ情報を提供するための表示部である。IO708はデータの入出力を司り、操作部709に接続されている、操作部709はユーザからの命令を受け付ける。バスセレクタ710は外部バスとシステムバス701との通信を制御する。リアルタイムクロック(RTC)711は画像形成装置の時刻を管理するための時計である。CPU702はRTC711にアクセスしてそのときの日時を読み出すことができる。
図7は、本発明の画像形成装置204のハードウェアブロック図である。同図において、CPU702は本発明の画像形成装置の制御を司る。後述する図3,図5,図8等のフローの処理もCPU702がプログラムを実行することで実現される。HDDコントローラ703はHDD704への読み書きを制御する。HDD704は、CPU702によって実行されるプログラムが保存され、且つ大容量データの保存領域としても利用されるハードディスクドライブである。RAM705は、CPU702がアクセスするプログラムやデータを一時的に記憶するためのメモリである。LCDコントローラ706は表示部707として利用されるLCDへの表示を制御する。LCD707はユーザへ情報を提供するための表示部である。IO708はデータの入出力を司り、操作部709に接続されている、操作部709はユーザからの命令を受け付ける。バスセレクタ710は外部バスとシステムバス701との通信を制御する。リアルタイムクロック(RTC)711は画像形成装置の時刻を管理するための時計である。CPU702はRTC711にアクセスしてそのときの日時を読み出すことができる。
<画像形成装置におけるデータフロー>
図1は、本発明の画像形成装置204のデータの流れを示すデータフロー図である。
同図において、印刷ジョブ101は印刷クライアント202から送信された印刷ジョブである。NIC102は、画像形成装置204をLAN201へ接続するために用いられる。パケットキャプチャドライバ103は、NIC102で受信された通信パケットをキャプチャする。すなわち、受信パケットを本来の処理経路から複製して取り込む。ジョブリスト生成部104はジョブリスト401を生成する。ジョブリスト401には、印刷ジョブIDごとの受信開始時間、受信終了時間、ソースIPアドレス、印刷サービスが含まれる。TCP/IPプロトコルスタック105はTCP/IPプロトコルによる通信制御を司る。印刷サービス分配部106は受信した印刷ジョブを対応する印刷サービスに振り分ける。印刷サービス107、108、109は、画像形成装置204がサポートする印刷サービスであり、例えばLPD印刷サービス、IPP印刷サービス、RAWデータ印刷サービスなどがこれに該当する。印刷キューマネージャ110は、各印刷サービスによって処理された印刷データを、印刷キューへ格納する順番を制御するキュー管理を行う。印刷キュー111は印刷データを印刷順に格納する。RIP処理部112は印刷データをラスタデータに変換する。印刷処理部113はラスタデータを紙などの印刷媒体に印刷する。一時待機キュー114は印刷キュー111への格納を待機させたい印刷データを一時的に保存する場合に利用される格納領域である。図1において、印刷処理部113を除いた構成要素、あるいはRIP112と印刷処理部113とを除いた構成要素は、画像形成装置本体ではない印刷サーバ等に用意されても良い。そこで図1からRIP112と印刷処理部113とを除いた構成をまとめて印刷サーバあるいは印刷ジョブ管理部(印刷ジョブ管理装置)と呼ぶことにする。
図1は、本発明の画像形成装置204のデータの流れを示すデータフロー図である。
同図において、印刷ジョブ101は印刷クライアント202から送信された印刷ジョブである。NIC102は、画像形成装置204をLAN201へ接続するために用いられる。パケットキャプチャドライバ103は、NIC102で受信された通信パケットをキャプチャする。すなわち、受信パケットを本来の処理経路から複製して取り込む。ジョブリスト生成部104はジョブリスト401を生成する。ジョブリスト401には、印刷ジョブIDごとの受信開始時間、受信終了時間、ソースIPアドレス、印刷サービスが含まれる。TCP/IPプロトコルスタック105はTCP/IPプロトコルによる通信制御を司る。印刷サービス分配部106は受信した印刷ジョブを対応する印刷サービスに振り分ける。印刷サービス107、108、109は、画像形成装置204がサポートする印刷サービスであり、例えばLPD印刷サービス、IPP印刷サービス、RAWデータ印刷サービスなどがこれに該当する。印刷キューマネージャ110は、各印刷サービスによって処理された印刷データを、印刷キューへ格納する順番を制御するキュー管理を行う。印刷キュー111は印刷データを印刷順に格納する。RIP処理部112は印刷データをラスタデータに変換する。印刷処理部113はラスタデータを紙などの印刷媒体に印刷する。一時待機キュー114は印刷キュー111への格納を待機させたい印刷データを一時的に保存する場合に利用される格納領域である。図1において、印刷処理部113を除いた構成要素、あるいはRIP112と印刷処理部113とを除いた構成要素は、画像形成装置本体ではない印刷サーバ等に用意されても良い。そこで図1からRIP112と印刷処理部113とを除いた構成をまとめて印刷サーバあるいは印刷ジョブ管理部(印刷ジョブ管理装置)と呼ぶことにする。
図1及び図2を用いて、印刷ジョブ101が印刷されるまでの流れを説明する。印刷ジョブ101は、印刷クライアント202上で実行されるプリンタドライバ(不図示)によって生成される。その際にプリンタドライバは、個々のジョブの識別を容易にするために、ジョブIDを印刷ジョブの中に埋め込むことが望ましい。具体的には、印刷ジョブ101の非印刷データ部分にジョブIDを指定するためのタグを設け、そこに乱数生成アルゴリズムによって生成されたユニークなIDを埋め込む。なお本実施形態ではジョブIDが印刷ジョブの例えばジョブヘッダに埋め込まれる。こうして生成された印刷ジョブ101は、印刷クライアント202の利用者による印刷命令を受けて、任意の印刷サービス(例えばIPPなど)によって通信パケット化されて送信される。この通信パケットはNIC203によってLAN201へ送られ、NIC102によって受信され、画像形成装置204に取り込まれる。
NIC102によって受信された印刷ジョブ101の通信パケットは、TCP/IPプロトコルスタック105によって解釈され、解釈結果に応じて対応する印刷サービスへ分配される(106)。もし、印刷クライアント202が印刷サービスAを利用して印刷を行った場合、印刷ジョブ101を構成する通信パケットは印刷サービスA107(例えばIPPなど)へ送られることになる。印刷サービスA107では、個々の通信パケットを印刷サービスのプロトコルに従って受信し、パケット化されて送られてきた印刷ジョブ101を復元する。こうして1つの印刷ジョブ101に対応する全ての通信パケットの受信が完了し、印刷ジョブ101の復元が完了すると、印刷サービスA107は、復元した印刷ジョブ101を印刷キューマネージャ110へ送る。以上は他の印刷サービスにおいても同様である。
一方、NIC102によって受信された印刷ジョブ101の通信パケットは、TCP/IPプロトコルスタック105へ送られる前の段階で、パケットキャプチャドライバ103によってキャプチャされる。この段階でキャプチャされたパケットデータは、TCP/IPのヘッダ情報が取り除かれる前のデータであるため、TCP/IPにおける受信の開始や終了の判定が可能となる。たとえば印刷ジョブの先頭パケットは当該印刷ジョブを送信するTCPコネクションを確立するためのsynパケット(確立パケット)である。またTCPコネクションを解除するためのパケットはfinパケット(解放パケット)である。このキャプチャされたパケットデータは、ジョブリスト生成部104によって解析され、ジョブリスト401の生成に利用される。クライアント毎のTCPコネクションが確立されれば、画像形成装置204は、それらを通して複数のクライアントから複数の印刷ジョブを並列に受信できる。またTCPコネクションはひとつのクライアントのプログラムごとに確立することもできる。その場合、ひとつのクライアントから複数の印刷ジョブが並列に送信されることもあり得る。
<ジョブリストの生成>
図3及び図4を用いて、ジョブリスト生成部104で実施されるジョブリストの生成フローを説明する。なお図3の手順は、パケットキャプチャドライバ103が受信したパケットをキャプチャするつど実行される。
図3及び図4を用いて、ジョブリスト生成部104で実施されるジョブリストの生成フローを説明する。なお図3の手順は、パケットキャプチャドライバ103が受信したパケットをキャプチャするつど実行される。
TCP/IPプロトコルは、TCPコネクションを確立するために、初めにSYNパケットによるハンドシェイクを行う。CPU702は、NIC102によって受信されたSYNパケットを捕らえることによって、印刷ジョブ101の受信開始判定に利用している。CPU702は、SYNパケットの受信を待機し(S301)、SYNパケットの受信が検出されると、ジョブリスト401に新たな行を生成する(S302)。またこの時、リアルタイムクロック711から日時情報を取得し、受信開始日時としてジョブリスト401へ記録する(S303)。
CPU702は、続いて受信される通信パケットから、ジョブIDの検出を待機する(S304)。ジョブIDは、印刷ジョブ101の中に埋め込まれているため、このジョブIDを指定するタグを検出し、そこに埋め込まれたID情報を抽出し、受信開始日時と対応付けてジョブリスト401へ記録する(S305)。対応関係は、たとえばコネクションのIDの同一性により判定される。
また、TCP/IPプロトコルは、TCPコネクションを切断するために、FINパケットによるハンドシェイクを行う。CPU702は、このFINパケットの受信を捕らえることによって、印刷ジョブ101の受信完了判定に利用している。CPU702は、FINパケットの受信パケットを待機し(S306)、FINパケットの受信が検出されると、ジョブリスト401へリアルタイムクロック711から取得した日時を受信終了日時として記録する(S307)。ジョブリスト401へは、上述した情報以外にも、通信パケットから抽出可能な印刷ジョブ101の送信元IPアドレスと、通信に利用された印刷サービスのプロトコルが、CPU702によって記録される。
ジョブリスト401は上述のようにして生成されたジョブリストの例である。ジョブID402はジョブIDが記録される列である。受信開始日時403は各ジョブIDに対応する印刷ジョブ101の受信開始日時が記録される列である。受信終了日時404は各ジョブIDに対応する印刷ジョブ101の受信終了日時が記録される列である。送信元アドレス405は印刷ジョブ101の送信元IPアドレスが記録される列である。印刷サービス406は印刷ジョブ101の通信に利用された印刷サービスが記録される列である。尚、ジョブリスト401は、CPU702によって、RAM705の記憶領域に記憶される。こうしてジョブリスト生成部104で生成されたジョブリスト401は、CPU702によって印刷キューマネージャ110で利用される。また送信元アドレス405および印刷サービス406は、それぞれ送信元アドレス固定モード、印刷サービス固定モードにおける印刷処理時に参照される。
<印刷ジョブのスケジューリング>
図5を用いて、印刷キューマネージャ110で実施されるCPU702の動作フローを説明する。 CPU702は、印刷サービスA107、印刷サービスB108、印刷サービスC109からの印刷ジョブ101の入力を待機する(S500)。印刷キューマネージャ110へは、受信を終了した印刷ジョブが入力される。この印刷ジョブを入力印刷ジョブまたは着目印刷ジョブと呼ぶことにする。CPU702は、印刷サービス(例えば印刷サービスA107)から印刷ジョブの入力を検出すると、ジョブの実行順を受信開始順とするか否か判定する(S501)。この判定は、後述の図6のUIにおいてラジオボタン604により選択された印刷設定をもとに行う。受信開始順であれば、ジョブリスト401を参照する(S502)。それによりCPU702は、ステップS501で検出された印刷ジョブ101よりも先に受信が開始され、未だ当該印刷キューマネージャ110に入力されていない先行投入ジョブが有るかを判定する(S503)。ジョブリスト401に、ステップS501で入力された印刷ジョブよりも受信開始日時が早く、かつ受信終了日時が空欄の印刷ジョブが登録されていれば、それが先行投入ジョブであると判断できる。
図5を用いて、印刷キューマネージャ110で実施されるCPU702の動作フローを説明する。 CPU702は、印刷サービスA107、印刷サービスB108、印刷サービスC109からの印刷ジョブ101の入力を待機する(S500)。印刷キューマネージャ110へは、受信を終了した印刷ジョブが入力される。この印刷ジョブを入力印刷ジョブまたは着目印刷ジョブと呼ぶことにする。CPU702は、印刷サービス(例えば印刷サービスA107)から印刷ジョブの入力を検出すると、ジョブの実行順を受信開始順とするか否か判定する(S501)。この判定は、後述の図6のUIにおいてラジオボタン604により選択された印刷設定をもとに行う。受信開始順であれば、ジョブリスト401を参照する(S502)。それによりCPU702は、ステップS501で検出された印刷ジョブ101よりも先に受信が開始され、未だ当該印刷キューマネージャ110に入力されていない先行投入ジョブが有るかを判定する(S503)。ジョブリスト401に、ステップS501で入力された印刷ジョブよりも受信開始日時が早く、かつ受信終了日時が空欄の印刷ジョブが登録されていれば、それが先行投入ジョブであると判断できる。
もしここで先行投入ジョブが無いと判定された場合、CPU702は、入力された印刷ジョブ101を印刷キュー111へ保存(登録)し(S506)、入力された印刷ジョブをスケジューリングして処理を終了する。スケジューリングされた印刷ジョブに対応するエントリはジョブリスト401から削除される。印刷キュー111は、HDD704の記憶領域に存在し、CPU702はHDDコントローラ703を利用することによって、印刷キュー111に対して印刷ジョブを読み書きすることが可能となる。
一方、S503で先行投入ジョブが有ると判定された場合、CPU702は、先行投入ジョブの入力を一定時間待機する(S504)。ステップS507では、待機時間オーバがチェックされ、もし待機時間オーバと判定されると、CPU702は、先行投入ジョブの待機を中止し、入力された印刷ジョブ101を印刷キュー111へ保存し(S506)、処理を終了する。スケジューリングした印刷ジョブに対応するエントリはジョブリスト401から削除される。一方、先行投入ジョブの受信が検出されると、CPU702は、当該先行投入ジョブを印刷キュー111へ保存し(S505)、続いて入力された印刷ジョブ101を印刷キュー111へ保存する(S506)。これにより、先行投入ジョブが、入力印刷ジョブの前に実行されるようスケジューリングできる。
一方、ステップS501で受信開始順ではないと判定されると、受信終了順に印刷ジョブはスケジュールされる。そのため、ステップS506に分岐して印刷ジョブを入力順に印刷ジョブキューに登録すればよい。
なお、このほかソースIP固定機能や印刷サービス固定機能といった、指定された条件を満たす印刷ジョブに限って実行するオプションも、図6に示すように用意される。前者は、実行する印刷ジョブを、指定された発行元からの印刷ジョブに限定するためのオプションで、ソースIP固定機能のオプションが設定されている間は、別途指定されたIPアドレスをソースとする印刷ジョブだけが実行される。同一のIPアドレスをソースとする印刷ジョブは時系列に入力される。そのため、印刷ジョブのスケジューリングは、受信終了順と同様でよい。このために、例えば該当しない印刷ジョブを破棄する場合、S501でソースIP固定機能が有効ならばS506に分岐する。また、ステップS506内ではソースIP固定機能の有効性を判断し、有効でなければ全ての入力印刷ジョブを印刷キュー111に登録する。有効で有れば、指定されていないソースIPの印刷ジョブを破棄する。そして破棄した印刷ジョブの発行元へはその旨応答する。
一方、印刷サービス固定機能を用いると、指定された印刷サービスが別途指定された特定の印刷サービスであるような印刷ジョブに限って実行される。この場合もソースIPの代わりに印刷サービスを限定の基準とするだけで、上述したソースIP固定機能と同様の処理を行えばよい。
図6はプリンタの設定を行うためのUIである。同図において、設定UI601は画像形成装置204(以下プリンタとも呼ぶ)の設定を利用者が行うためのユーザインターフェースである。このユーザインターフェース画面は、画像形成装置204の表示パネルに表示される。チェックボックス602は、印刷クライアント202等のクライアントからの印刷許可を制御するためのものである。ラジオボタン603は印刷ジョブ101の受信が終了した順に印刷キューへ送るよう選択するためのボタンである。ラジオボタン604は印刷ジョブ101の受信が開始した順に印刷キューへ送るよう選択するためのボタンである。ラジオボタン603,604はそのうちのいずれかが選択される。入力ボックス605は先行投入ジョブの受信待機時間を指定するための入力欄である。ここで指定された時間がステップS507でテストされる待機時間となる。チェックボックス606はソースIP固定機能の許可を制御するUIである。チェックボックス607は印刷サービス固定機能の許可を制御するUIである。設定完了ボタン608はプリンタの設定UI601での設定を完了させるためのボタンである。尚、このプリンタの設定UI601は、CPU702によって、表示部707へ表示される。また、ユーザの命令は操作部709によって入力され、CPU702はIO708を介してこれを解釈し、ユーザの命令に従った処理を実行する。
このユーザインターフェースで入力された設定は、画像形成装置204における設定情報の一部として保存され、参照される。ラジオボタン603またはラジオボタン604の何れかを選択することによって、本発明の印刷ジョブ101の受信が開始した順に印刷ジョブ101を印刷キューへ送る機能の有効化、無効化が可能となる。また図5のS507によって待機される先行ジョブの待機時間は固定長でも良いが、UI605を設けることによって、ユーザが任意の待機時間を設定することが可能となる。この値は、ユーザのネットワーク環境や、ユーザが送信する印刷ジョブの大小の比率などに応じて調整することにより、効率の良い印刷処理が可能となる。
図5の説明で述べたように、ソースIP固定機能とは、印刷する順番を特定のIPから送られてくる印刷ジョブに固定する機能である。この機能は複数の印刷クライアントから同時に複数の印刷ジョブを送信された場合に有効であり、画像形成装置204からの印刷出力に、異なる印刷クライアントのジョブが混ざらないように制御される。図5の説明では、簡単のために該当しない印刷ジョブは破棄されるよう説明したが、該当しない印刷ジョブは待機させても良い。その場合、S500の直後、あるいはS501でNoと判定された場合には、固定機能の有効性を判断する。有効でなければ図5の処理を続ける。有効で有れば、ジョブリスト401のソースIP情報405を参照する。指定されたソースIPでなければ一時待機キュー114に、指定されたソースIPであれば印刷キュー111に入力印刷ジョブを登録する。この後、同一ソースIPからの印刷ジョブの受信が完了した時点で、印刷キューマネージャ110は一時待機キュー114から異なるソースIPからの印刷ジョブを読み出し、印刷キュー111へ登録するよう制御する。同一ソースIPからの印刷ジョブの受信を完了したことは、例えば指定されたソースIPから印刷ジョブを最後に受信してから一定時間経過したなら完了と判定できる。この場合、指定されたソースIPアドレスは、印刷ジョブを最後に受信してから一定時間経過した後の印刷ジョブのソースIPアドレスに更新されてもよい。
印刷サービス固定機能とは、印刷の順番を特定の印刷サービスによって送られてくる印刷ジョブに固定する機能である。この機能は複数の印刷クライアントから様々な印刷サービスを用いて同時に複数の印刷ジョブを送信された場合に有効であり、画像形成装置204からの印刷出力に、異なる印刷サービスによるジョブが混ざらないように制御される。この機能も、固定されるのがソースIPではなく印刷サービスという点を除いて、ソースIP固定と同じ要領で実現される。
この様な手順で印刷キュー111に登録された印刷ジョブは、スケジューリングの手順とは非同期に実行される実行手順により登録順に印刷キュー111から出力される。出力されたすなわち取り出された印刷ジョブは取り出された順に実行される。印刷ジョブの取出しは例えばRIP処理部112により行われても良いし、不図示のスケジューリングモジュールで行われても良い。また印刷キューマネージャ110が図5の手順とは非同期のプロセスを用いて実行しても良い。
以上の手順により、本実施形態によれば、印刷ジョブを画像形成装置が受信を開始した順序にスケジュールでき、印刷ジョブを発生順に出力することを保証できる。
[第2実施形態]
図5の手順は、本発明の原理を簡単に示したものであり、たとえば複数の先行投入ジョブがある場合には図8のような手順となる。本実施形態は、図5の手順に代えて図8の手順を用いることを特徴としている。他の構成は第1の実施形態と同様である。
図5の手順は、本発明の原理を簡単に示したものであり、たとえば複数の先行投入ジョブがある場合には図8のような手順となる。本実施形態は、図5の手順に代えて図8の手順を用いることを特徴としている。他の構成は第1の実施形態と同様である。
<印刷ジョブのスケジューリング>
図8を用いて、印刷キューマネージャ110で実施されるCPU702の動作フローを説明する。図8は、印刷サービスA107、印刷サービスB108、印刷サービスC109からの印刷ジョブ101が入力されると開始される。まずCPU702は、印刷順を受信開始順とするオプションが設定されているか判定する(S800)。受信開始順であれば、ジョブリスト401を参照する(S801)。それによりCPU702は、入力された印刷ジョブ101よりも先に受信が開始されたものの、未だ入力されていない先行投入ジョブが有るかを判定する(S802)。ジョブリスト401に、入力印刷ジョブよりも受信開始日時が早く、かつ受信終了日時が空欄の印刷ジョブが登録されていれば、それが先行投入ジョブであると判断できる。
図8を用いて、印刷キューマネージャ110で実施されるCPU702の動作フローを説明する。図8は、印刷サービスA107、印刷サービスB108、印刷サービスC109からの印刷ジョブ101が入力されると開始される。まずCPU702は、印刷順を受信開始順とするオプションが設定されているか判定する(S800)。受信開始順であれば、ジョブリスト401を参照する(S801)。それによりCPU702は、入力された印刷ジョブ101よりも先に受信が開始されたものの、未だ入力されていない先行投入ジョブが有るかを判定する(S802)。ジョブリスト401に、入力印刷ジョブよりも受信開始日時が早く、かつ受信終了日時が空欄の印刷ジョブが登録されていれば、それが先行投入ジョブであると判断できる。
もしここで先行投入ジョブが無いと判定された場合、CPU702は、入力された印刷ジョブ101を印刷キュー111へ登録する(S803)。キューへ登録するとは、キューの末尾に当該ジョブを付け加えることである。こうして印刷ジョブをスケジューリングすると、一時待機キュー114に印刷ジョブが登録されているか判定する(S804)。一時待機キューに印刷ジョブがあれば、入力印刷ジョブは先行投入ジョブであるので、一時待機キュー114に登録された印刷ジョブを、その順序で印刷キュー111に登録し直す(S805)。その後、S803及びS805で印刷キュー111に登録された印刷ジョブに係るエントリをジョブリスト401から削除する(S806)。このときS808で起動されている待機タイマもキャンセルする。この後新たな印刷ジョブの入力を待つ。
一方、S802で先行投入ジョブが有ると判定された場合、CPU702は、入力された印刷ジョブを一時待機キュー114に受信開始順に登録する(S807)。受信開始順は、例えばジョブリスト401を参照することで知ることができる。例えば受信開始日時が入力印刷ジョブより遅い印刷ジョブが既に一時待機キューに登録されているなら、その印刷ジョブの前に入力印刷ジョブを登録する。この後、待機用のタイマを起動し(S808)、印刷ジョブの入力あるいは待機タイマの満了を待つ。待機タイマの設定時間は図6の入力ボックス605で指定した時間である。
一方S800で受信開始順ではないと判定されると、ステップS803に進んで入力印刷ジョブを入力順にスケジュールする。この場合一時待機キュー114には印刷ジョブは登録されないので、S804の後は必ずS806となりS805はスキップされる。
待機時間が所定時間を超えて待機タイマが満了したなら、すなわちタイムアウトとなったならステップS811がCPU702により実行される。タイムアウトした先行投入ジョブはそれ以降待たれず、本実施形態では印刷ジョブを受信開始順に実行するという原則を維持するために破棄される。そのためCPU702は、全ての先行投入ジョブのエントリをジョブリスト401から削除する(S811)。この先行投入ジョブは本実施形態では破棄される(S812)。たとえば、ステップS811では印刷に失敗した旨を送信元のクライアントに送る。そして、その後、破棄された印刷ジョブのパケットを受信することがあってもそれは破棄される。ステップS812の後、入力が完了していない先行投入ジョブはなくなったので、ステップS805に分岐して一時待機キュー114内の印刷ジョブを印刷キュー111に登録する。
以上の手順により、先行投入ジョブが複数ある場合でも、受信開始日時の順に印刷ジョブをスケジュールすることができる。なおソースIPアドレス等の固定機能を用いる場合、S800の前、あるいはS800でNoと判定された後で固定機能の有効性を判定する。もし有効なら、一時待機キュー114と印刷キュー111とを第1実施形態で説明したように使い分け、入力印刷ジョブを登録する。また、第1実施形態と同様に一時待機キュー114のエントリを印刷キュー111に登録する。
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (8)
- 印刷ジョブを構成する通信パケットを複数のコネクションを通して並列に受信できる印刷ジョブ管理装置であって、
印刷ジョブの先頭を示す通信パケットを受信した順序に従って印刷ジョブを印刷ジョブキューに登録するキュー管理手段と、
前記キュー管理手段により印刷ジョブキューに登録された順序で印刷ジョブを出力する出力手段と
を備えることを特徴とする印刷ジョブ管理装置。 - 前記印刷ジョブの先頭を示す通信パケットは、印刷ジョブを送信する前記コネクションの確立のための確立パケットであり、
前記キュー管理手段は、
前記コネクションの確立のための確立パケットを受信した場合、新たなエントリをジョブリストに設けて該エントリに受信開始日時として前記確立パケットを受信した時刻を登録し、
前記確立パケットにより確立されたコネクションで印刷ジョブIDを受信した場合、該ジョブIDを前記受信開始日時に対応付けて前記ジョブリストに登録し、
着目印刷ジョブの受信を終了した場合、当該印刷ジョブの通信終了日時を前記ジョブリストに登録し、前記着目印刷ジョブの受信開始日時より早い受信開始日時を持ちかつ受信終了日時が登録されていない先行投入ジョブが前記ジョブリストに登録されているか判定し、
前記先行投入ジョブが前記ジョブリストに登録されていない場合には、前記着目印刷ジョブを印刷ジョブキューに登録し、
前記先行投入ジョブが前記ジョブリストに登録されている場合には、前記先行投入ジョブの受信の終了を待機し、受信が終了すると、前記先行投入ジョブを前記印刷ジョブキューに登録し、その後に前記着目印刷ジョブを前記印刷ジョブキューに登録することで、印刷ジョブの先頭を示す通信パケットを受信した順序に従って印刷ジョブをキューに登録することを特徴とする請求項1に記載の印刷ジョブ管理装置。 - 前記キュー管理手段は、前記先行投入ジョブが複数ある場合には、複数の前記先行投入ジョブすべてについて受信の終了を待機し、受信が終了すると、複数の前記先行投入ジョブを受信開始日時の順に前記印刷ジョブキューに登録し、その後に前記着目印刷ジョブを前記印刷ジョブキューに登録することで、印刷ジョブの先頭を示す通信パケットを受信した順序に従って印刷ジョブをキューに登録することを特徴とする請求項2に記載の印刷ジョブ管理装置。
- 前記複数のコネクションは、前記印刷ジョブ管理装置に接続されたクライアント装置ごとに確立できることを特徴とする請求項1乃至3のいずれか一項に記載の印刷ジョブ管理装置。
- 前記複数のコネクションは、前記印刷ジョブ管理装置に接続されたクライアント装置で実行されるアプリケーションプログラムごとに確立できることを特徴とする請求項1乃至4のいずれか一項に記載の印刷ジョブ管理装置。
- 請求項1乃至5のいずれか一項に記載の印刷ジョブ管理装置と、
前記出力手段により出力された印刷ジョブを実行して印刷を行う印刷手段と
を備えることを特徴とする画像形成装置。 - 印刷ジョブを構成する通信パケットを複数のコネクションを通して並列に受信できる印刷ジョブ管理装置による印刷ジョブ管理方法であって、
キュー管理手段が、印刷ジョブの先頭を示す通信パケットを受信した順序に従って印刷ジョブを印刷ジョブキューに登録するキュー管理工程と、
出力手段が、前記キュー管理工程により前記印刷ジョブキューに登録された順序で印刷ジョブを出力する出力工程と
を有することを特徴とする印刷ジョブ管理方法。 - 印刷ジョブを構成する通信パケットを複数のコネクションを通して並列に受信できる印刷ジョブ管理装置としてコンピュータを機能させるためのプログラムであって、
請求項1乃至5のいずれか一項に記載の印刷ジョブ管理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010028211A JP2011165009A (ja) | 2010-02-10 | 2010-02-10 | 印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置 |
US13/008,710 US20110194146A1 (en) | 2010-02-10 | 2011-01-18 | Print job management apparatus, print job management method, and image forming apparatus |
CN201110035749.6A CN102147718B (zh) | 2010-02-10 | 2011-02-10 | 打印作业管理装置、打印作业管理方法及图像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010028211A JP2011165009A (ja) | 2010-02-10 | 2010-02-10 | 印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011165009A true JP2011165009A (ja) | 2011-08-25 |
Family
ID=44353505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010028211A Withdrawn JP2011165009A (ja) | 2010-02-10 | 2010-02-10 | 印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110194146A1 (ja) |
JP (1) | JP2011165009A (ja) |
CN (1) | CN102147718B (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013196087A (ja) * | 2012-03-16 | 2013-09-30 | Ricoh Co Ltd | サーバ装置、出力制御プログラム及び出力システム |
JP2013222138A (ja) * | 2012-04-18 | 2013-10-28 | Canon Inc | 画像形成装置 |
JP2015030145A (ja) * | 2013-07-31 | 2015-02-16 | ブラザー工業株式会社 | 画像記録装置 |
JP2015159439A (ja) * | 2014-02-24 | 2015-09-03 | 株式会社リコー | 画像形成システム、画像形成方法、及びサーバ装置 |
US10210437B2 (en) | 2014-05-22 | 2019-02-19 | Seiko Epson Corporation | Print data processing system, information processing device and to a printing device for storing print data to a shared memory |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102566950B (zh) * | 2012-02-22 | 2015-11-18 | 深圳市共进电子股份有限公司 | 一种以无线路由器作为打印服务器的共享打印方法 |
JP6011167B2 (ja) | 2012-09-03 | 2016-10-19 | ブラザー工業株式会社 | 通信中継プログラム、及び、通信中継装置 |
JP6167502B2 (ja) | 2012-10-31 | 2017-07-26 | ブラザー工業株式会社 | 通信中継プログラム、通信中継装置、及び、画像処理装置 |
JP6075010B2 (ja) * | 2012-10-31 | 2017-02-08 | ブラザー工業株式会社 | 通信中継プログラム、及び、画像処理装置 |
JP5853978B2 (ja) * | 2013-03-21 | 2016-02-09 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
JP6264803B2 (ja) * | 2013-09-24 | 2018-01-24 | 富士通株式会社 | ジョブ抽出プログラム、ジョブ抽出装置、及びジョブ抽出方法 |
US9503599B2 (en) * | 2014-04-08 | 2016-11-22 | Canon Information And Imaging Solutions, Inc. | Apparatus, system and method for managing background processing on an image processing device |
US20180067709A1 (en) * | 2016-09-05 | 2018-03-08 | Atsushi Sakaue | Control device, image forming system, and non-transitory recording medium |
CN110389960B (zh) * | 2018-04-20 | 2024-06-14 | 北京京东尚科信息技术有限公司 | 数据刷新方法和装置 |
GB2605216B (en) * | 2018-11-30 | 2023-06-21 | Canon Kk | Information processing apparatus, control method, and program |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3659880B2 (ja) * | 2000-10-20 | 2005-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 印刷装置、印刷指示装置、印刷処理システム、および再印刷処理方法 |
JP4574052B2 (ja) * | 2001-04-18 | 2010-11-04 | キヤノン株式会社 | 印刷制御装置及びその制御方法並びに印刷システム |
JP2003242093A (ja) * | 2001-12-03 | 2003-08-29 | Canon Inc | 画像形成装置 |
KR100643758B1 (ko) * | 2004-10-19 | 2006-11-10 | 삼성전자주식회사 | 인쇄순서제어가 가능한 네트워크 인쇄장치 및 그의인쇄순서제어방법 |
JP4533228B2 (ja) * | 2005-04-26 | 2010-09-01 | キヤノン株式会社 | 画像処理装置および画像処理方法および画像処理プログラム |
US20060274370A1 (en) * | 2005-06-03 | 2006-12-07 | Seiko Epson Corporation | Control technology used in distributed printing for printing control device and printer |
JP4857102B2 (ja) * | 2006-12-22 | 2012-01-18 | キヤノン株式会社 | 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体 |
US8760683B2 (en) * | 2009-03-30 | 2014-06-24 | Novell, Inc. | Techniques for scheduling and guaranteeing print jobs |
-
2010
- 2010-02-10 JP JP2010028211A patent/JP2011165009A/ja not_active Withdrawn
-
2011
- 2011-01-18 US US13/008,710 patent/US20110194146A1/en not_active Abandoned
- 2011-02-10 CN CN201110035749.6A patent/CN102147718B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013196087A (ja) * | 2012-03-16 | 2013-09-30 | Ricoh Co Ltd | サーバ装置、出力制御プログラム及び出力システム |
JP2013222138A (ja) * | 2012-04-18 | 2013-10-28 | Canon Inc | 画像形成装置 |
JP2015030145A (ja) * | 2013-07-31 | 2015-02-16 | ブラザー工業株式会社 | 画像記録装置 |
JP2015159439A (ja) * | 2014-02-24 | 2015-09-03 | 株式会社リコー | 画像形成システム、画像形成方法、及びサーバ装置 |
US10210437B2 (en) | 2014-05-22 | 2019-02-19 | Seiko Epson Corporation | Print data processing system, information processing device and to a printing device for storing print data to a shared memory |
Also Published As
Publication number | Publication date |
---|---|
CN102147718B (zh) | 2014-05-07 |
CN102147718A (zh) | 2011-08-10 |
US20110194146A1 (en) | 2011-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011165009A (ja) | 印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置 | |
US8760690B2 (en) | Print server adapted to implement a pull-printing technique with a printing apparatus | |
JP5439941B2 (ja) | 情報処理システム、情報処理装置、および信号送信装置 | |
JP5419571B2 (ja) | 印刷制御装置、画像形成装置の制御方法、およびプログラム | |
JP2006067587A (ja) | 画像形成ジョブを監視およびパイプラインする方法 | |
US20090066989A1 (en) | Image forming apparatus and method, computer program product, and image forming system | |
JP2007190839A (ja) | 認証印刷装置及び方法、認証印刷システム | |
US20130278958A1 (en) | Digital multi-function apparatus and network system using the digital multi-function apparatus | |
JP2006347110A (ja) | 画像形成装置及び代行印刷制御プログラム | |
JP2006155367A (ja) | 画像形成装置、データ処理方法、画像形成方法及びプログラム | |
JP5899713B2 (ja) | 印刷装置、印刷方法 | |
JP5947735B2 (ja) | 画像形成装置及びプログラム | |
JP2008221639A (ja) | ジョブの実行時間に関する通知をクライアントへ提供することができるジョブ処理装置、及び同ジョブ処理装置とクライアントを有するシステム | |
JP2007328574A (ja) | 印刷システム及び印刷プログラム | |
JP2008149490A (ja) | 画像形成装置、印刷システム及び出力制御プログラム | |
US8542387B2 (en) | Printing apparatus, printing system and printer driver | |
JP4654871B2 (ja) | 画像形成装置 | |
JP5546189B2 (ja) | 画像形成装置、画像形成装置の制御方法及びプログラム | |
JP2011108047A (ja) | 画像処理装置及びその制御方法 | |
JP2004074543A (ja) | 印刷方法および装置並びに印刷制御装置 | |
JP2015099475A (ja) | 情報処理システム及びその制御方法、並びにプログラム | |
JP2009098796A (ja) | 印刷ジョブ受信装置およびその制御プログラム、ならびに印刷システム、および印刷ジョブの送受信制御方法 | |
JP6015041B2 (ja) | 情報処理装置、印刷装置及び印刷システム | |
JP2009301372A (ja) | 情報処理装置及びプログラム | |
JP5863874B2 (ja) | 画像処理システム、Webサーバ、画像処理システムにおける制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130507 |