JP2004102986A - 印刷制御装置、印刷制御方法、プログラム、印刷システム - Google Patents
印刷制御装置、印刷制御方法、プログラム、印刷システム Download PDFInfo
- Publication number
- JP2004102986A JP2004102986A JP2003173454A JP2003173454A JP2004102986A JP 2004102986 A JP2004102986 A JP 2004102986A JP 2003173454 A JP2003173454 A JP 2003173454A JP 2003173454 A JP2003173454 A JP 2003173454A JP 2004102986 A JP2004102986 A JP 2004102986A
- Authority
- JP
- Japan
- Prior art keywords
- job
- priority
- printing
- proxy
- 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
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【解決手段】キューに投入された印刷ジョブを優先順位に基づいて処理する印刷システムにおいて、代行印刷時にはジョブの優先順位を繰り上げて他のジョブに優先して処理する。
【選択図】 図5
Description
【発明の属する技術分野】
本発明は、複数のジョブ管理するためのキューを複数兼ね備え、キューから別のキューへ代行印刷可能な印刷システムに関する。
【0002】
【従来の技術】
従来より、印刷装置のエラーを検知し、或いはキューに投入されているジョブのサイズを判定し、別の印刷キュー或いは印刷装置へ代行印刷可能な印刷システムが存在した。
【0003】
【発明が解決しようとする課題】
しかしながら、従来の印刷システムにおいては、代行印刷時に代行先のキューの一番後ろにジョブを追加してしまい、代行したために、代行する前よりも印刷の完了に時間が掛かるといった問題があった。また、ジョブ送信時に代行判定しているシステムにおいては、無条件に印刷可能なデバイスへ送信してしまい、後から代行したジョブが先に印刷されてしまう場合があるという問題があった。
【0004】
本発明は、上記問題点を解決するものであり、代行印刷時にも円滑なスケジューリングを行い、システム全体としてみた場合のジョブスケジューリングを最適化することを目的とする。
【0005】
【課題を解決するための手段】
上記目的を達成するために本発明の印刷制御装置は、
代行印刷する際にジョブの優先度を変更する変更ユニットと、
前記変更ユニットにより変更された優先度に基づき印刷処理を実行する実行ユニットとを有することを特徴とする。
【0006】
また、本発明の印刷システムは、
複数のジョブを管理するための複数の印刷キューと、
各々のキューに投入された印刷ジョブをジョブに割り当てられた優先順位に基づいて処理するためのスケジュール手段と、
ジョブを元のキューから別のキューへと代行する代行印刷手段とを持ち、
代行印刷実行時には、ジョブの優先度を自動的に1ポイント繰り上げる自動優先順位変更手段とを有することを特徴とする。
【0007】
また、本発明の印刷システムは、
複数のジョブを管理するための複数の印刷キューと、
各々のキューに投入された印刷ジョブをジョブに割り当てられた優先順位に基づいて処理するためのスケジュール手段と、
ジョブを元のキューから別のキューへと代行する代行印刷手段とを持ち、
代行印刷実行時には、ジョブの受け付け時間を元にジョブの優先順位を自動設定する優先順位自動設定手段とを有することを特徴とする。
【0008】
【発明の実施の形態】
以下、図面を参照して本発明の実施例について説明する。
【0009】
<印刷処理システムの構成例>
図10は、実施形態に係る印刷処理システムの構成を示す図である。
【0010】
同図において、101、102、103、104は、ネットワーク106に接続され、相互に通信可能なネットワークコンピュータであり、典型的にはパーソナルコンピュータ(PC)である。
【0011】
これらのうち、102,103,104はクライアントコンピュータ(以下、クライアント)であり、それぞれイーサネット(登録商標)などのネットワークケーブルによってネットワーク106に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各クライアントは複数のプリンタドライバをサポートするものとする。
【0012】
これに対し101はサーバコンピュータ(以下、サーバ)であり、ネットワークケーブルによってネットワーク106に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視する。このサーバは、ネットワーク106に接続されているプリンタを管理するプリントサーバとしても機能する。具体的には、プリントサーバ101は、クライアントコンピュータ102、103、104から印刷要求が出されたプリントデータを含む印刷ジョブを格納して印刷する機能や、クライアントコンピュータ102〜104から印字データを含まないジョブ情報を受け取って印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知する機能、後述するプリンタデバイス(プリンタデバイス)105のステータスや印刷ジョブの各種情報を取得して、クライアントコンピュータ102〜104に通知する機能などを有している。サーバコンピュータ101は本発明の印刷システムにおいてサーバの機能が動作する論理的な存在である。図1で示されるように専用のサーバコンピュータを設けることもできるし、また、クライアントコンピュータ102〜104或いはプリンタデバイス105にサーバコンピュータの機能を代替させる事も可能である。
【0013】
105は、印刷制御装置としてのプリンタデバイスであり、図示しないネットワークインタフェースを介してネットワーク106と接続されており、クライアントコンピュータから送信されてくる印字データを含む印刷ジョブを解析し、1ページずつドットイメージに変換して印刷する。なお、同図にプリンタデバイス105は1台しか示されていないが、他のプリンタデバイスが複数接続されていても良い。各プリンタデバイスの機能は相違するものであってもよい。
【0014】
また、106はネットワークであり、クライントコンピュータ102〜104、プリントサーバ101、プリンタデバイス105等と接続している。
【0015】
図1は、本発明に係る印刷システムの機能を示す論理ブロック図であり、印刷システムは、データの変換を行うジョブ生成部11と、印刷処理に関するジョブの処理を監視するジョブ管理部12と、印刷キュー13と、ユーザーインターフェイス部分を構成するGUIプロセス部18と、実際に印字処理が行われる印刷処理部とで構成されている。
【0016】
ジョブ生成部11は、外部から受け取ったジョブデータを後続のサブシステムが理解できる形に変換すると共に、ジョブ管理部12へ転送する機能を有するものである。また、ジョブ生成部11は、ジョブ生成部11がユーザPC上に構成される場合に、ワープロや表計算等のドキュメントを印刷装置の外部仕様に応じた形式のジョブデータに変換する機能を有するものであり、さらに、ジョブ生成部11が印刷装置上に構成される場合に、ホストコンピュータから受信した外部形式のジョブデータを、内部で管理するデータ形式に変換する機能を有している。
【0017】
ジョブ管理部12は、一般にスプーラと呼ばれる機能を有している。このジョブ管理部12は、ジョブ生成部11から受け取ったジョブを印刷キュー13へ保存する(スプール処理)と共に、FIFO方式で印刷キュー13から順次読み出して(デスプール処理)印刷処理部14へ転送する機能を備えている。ジョブ管理部12は、ジョブの停止、再開、削除、優先順位の変更等のISO10175で定義された機能を有しており、外部システムからの命令を受けてこれらの機能を実行する役割を有している。ジョブ管理部12は、印刷装置、ホストコンピュータのいずれか一方、またはその両方に配置することが可能となっている。
【0018】
印刷キュー13内のジョブは、一意のIDで識別されており、ジョブ管理部12は、このIDとジョブデータとの対応を管理する機能を有している。ジョブ管理部12を利用する全てのサブシステムは、このIDを指定することによりジョブの制御を行うことが可能となる。印刷キュー13は、ハードディスクやNVRAM、DVD−RAM等任意の不揮発性記憶媒体や、RAM等の揮発性メモリ上に配置することが可能となっており、必ずしもジョブ管理部12と同一装置上に存在する必要はない。
【0019】
符号14は印刷処理部であり、ジョブ管理部12から渡されたジョブデータをプリンタエンジンに応じたフォーマットに展開し、インクやトナー等を用いて記録紙へ転写する役割を有している。
【0020】
符号18は、GUIプロセス部であり、イベントハンドリング部15と、プログラム制御部16と、ジョブ表示部17とを有している。GUIプロセス部18は、ユーザに対してジョブ管理部12が管理しているジョブの一覧表示を提供し、ユーザからの入力を印刷システムへ供給する窓口としての役割を有している。GUIプロセス部18は、一般に印刷装置上に、或いはユーザ又はオペレータのPC上に配置される。
【0021】
イベントハンドリング部15は、キーボードやマウス、タッチパネル等の入力装置からのハードウェア割り込みをハンドリングし、マウス移動イベントや、マウス押下イベント、キーボード押下イベント等の論理イベントを作成して、プログラム制御部16で定義されている処理プログラをコールバックする役割を有している。
【0022】
プログラム制御部16は、イベントハンドリング部15からのイベントを詳細に解析したり、ジョブ表示部17に表示されているジョブの情報から指示されたジョブを検出したり、ジョブに対してコマンド処理を実行するためにジョブ管理部12へ要求を転送したりする機能を有している。さらに、プログラム制御部16は、ジョブ管理部12からジョブのリストを取得するか、ジョブ管理部12からのジョブ変更イベント通知に応じて、随時ジョブ表示部17に対して表示の更新を指示する機能を有している。
【0023】
ジョブ表示部17は、グラフィカルユーザインタフェースを備えている。
【0024】
なお、図1に示す各ブロックは、1つの印刷装置上に配置されていても良く、また、ブロック毎に異なる印刷装置或いはホストコンピュータ上に配置することも可能である。さらに、各ブロックは1つの印刷システムにおいて1つに限定されることはない。本発明のシステムにおいては複数の印刷処理部が設けられており、印刷キューも各々の印刷処理部と1対1で対応して設けられている。また、本印刷システムは、印刷処理部に障害が発生していた場合に、印刷中或いは印刷待ちのジョブを印刷キューから別の印刷キューへ移動(代行印刷)可能なように構成されている。
【0025】
システムにおける各ブロックの配置は、初期化ファイル,ディレクトリ,プログラムコードへのハードコーディング等の方法でシステムに提供される。2つのブロックが同一のプロセス内に存在する場合には、プロシージャコール(関数呼び出し)やメッセージ通信がブロック間の通信手段として利用される。ブロック同士が、異なるプロセス或いはPCにある場合には、ブロック間の通信手段としてTCP/IPのソケットやRPCなどが利用される。どの場合であってもブロックの配置を問わずに、各ブロック同士で通信を行うことが可能である。
【0026】
各ブロックは任意の装置に配置することが可能であるが、原則として本発明を適用する印刷システムの運用時点で固定される。例えば、ジョブ表示部がユーザの操作しているホストコンピュータから印刷装置へダイナミックに移動することはない。但し、例外としてジョブ管理部や印刷処理部など、エラーや処理状況に応じて複数の装置間を論理的に移動可能なブロックは存在し得る。
【0027】
<Windows(登録商標)プリントシステムと印刷ジョブの関係>
次に、図8を用い、複数のキューを用いて代行印刷する例を説明する。なお、前述の図1の印刷キュー13は図8のプリンタキュー722A、722Bに相当し、図1のジョブ生成部11は図8のグループプリンタドライバ603、PDLドライバ602A、602Bに相当し、図1のジョブ管理部12は図8のジョブ制御プリントサービスに相当し、図1の印刷処理部14はプリントデバイス650A、B内のプリンタコントローラに相当する。また、Windows(登録商標)が提供するプリントシステムと印刷ジョブ制御システムにおける印刷ジョブの関係並びに処理概要をさらに詳しく述べる。この図8の処理系は、グループプリンタドライバ603を介する印刷処理に関する。
【0028】
図8中で印刷ジョブ制御システム700は、サーバ101とクライアント102、103または104の制御プログラムが動作する物理的なマシンを跨いだ印刷ジョブ制御システムの範囲を示している。また、サーバ101が管理している出力ポート(OutputPort)711は、クライアントのジョブ制御プリントサービス622のプロキシ出力ポート(ProxyOutputPort)712と関係づけられ、1つのポートに関係付けられた各クライアント上のプロキシ出力ポート全てを統一的に管理している。
【0029】
本実施形態では、実際のプリントジョブデータは各々のクライアントのプロキシ出力ポート712に保持される。ジョブ制御サーバ630は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス622に対して印刷ジョブの送信指示のみを行う。その指示に応じてクライアントのジョブ制御プリントサービス622はプリントジョブデータをデバイス650に送信する。
【0030】
次に、印刷ジョブ制御システム700が、代行印刷、分散印刷、及び同報印刷などの付加価値的な印刷を行う場合の処理を説明する。
【0031】
印刷ジョブ制御システム700が、代行印刷、分散印刷、及び同報印刷などの付加価値的な印刷を行う場合には、1つの方法として、前述のようにユーザまたはアプリケーション601はグループプリンタドライバ603が割り当てられたプリンタに印刷ジョブを発行する必要がある。また、後述するが、もう1つの方法として、PDLドライバ602の出力先のポートをジョブ制御ポートモニタ621に割り当てられていれば、PDLドライバ602に印刷ジョブを発行してもよい。
【0032】
アプリケーション601が印刷処理を開始すると、グループプリンタドライバ603は、ジョブ制御プリントサービス622のロジカルキュー情報(後述)を取得し、印刷プロパティで参照できる情報を、汎用印刷ファイルに設定する。図9は、論理プリンタ管理705の印刷プロパティを設定するためのユーザインターフェース画面の一例である。ここでは、同図に示すように、出力方法として自動代行が選択でき、更に出力先プリンタ(メンバプリンタドライバ)として優先順位を付けて登録することができる。
【0033】
ジョブ制御プリントサービス622は、グループプリンタドライバ603によって処理されたジョブデータをジョブ制御ポートモニタ621を介して汎用印刷ファイルとして受け取る。ジョブ制御プリントサービス622はこのプリントジョブを受け取り、デスプーラ701を介してPDLドライバが割り当てられた別のプリンタにジョブ(メンバジョブ)を発行して印刷を行わせる。デスプーラ701は、通常のアプリケーションと同様に、プリントジョブである汎用印刷ファイルのドキュメントデータに基づいて、OSの描画手段を介して描画コマンド(GDI関数)の生成と出力を行い、PDLドライバ602Aが描画コマンド(DDI関数)を受け取ることになる。
【0034】
この時、デスプーラ701は汎用印刷ファイルの印刷指示部(ジョブチケット部)を解釈し、ドキュメントデータ部のドキュメントデータを加工して、Windows(登録商標)のGDIに変換し、各プリンタドライバに対して印刷指示を行い印刷ジョブを発行する。例えば印刷体裁指定部に、「2−UP」の指示が記録されていた場合、用紙1枚に2ページ分のドキュメントデータを縮小レイアウトする。また、分散印刷あるいは同報印刷の場合には、それらの設定に応じて印刷指示部に記述されている複数のメンバプリンタにジョブを発行する。代行印刷の場合は、代行する条件が満たされた時に、自動代行では事前の設定に応じて、手動代行ではユーザの操作に応じて、メンバジョブを発行する。
【0035】
また、上述したデスプーラ701とは別のモジュールに各メンバプリンタドライバに対応する指示情報を印刷指示部から抽出させ、該抽出された各メンバプリンタドライバに対する印刷指示をデスプーラ701に解釈させるような形態も想定される。
【0036】
さらに、デスプーラ701は、各メンバプリンタにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、各メンバプリンタのDEVMODE(印刷設定情報)を作成する必要があるが、このDEVMODEは印刷指示部に記載された内容を適宜各メンバプリンタのDEVMODEに反映させて生成する。なお、本実施形態では、米国マイクロソフト社のOSであるWindows(登録商標)2000やWindows(登録商標)XPを用いた印刷システムについて説明しているため、印刷設定情報としてプリンタドライバが制御可能な構造体としてのDEVMODEを用いているが、印刷設定情報はDEVMODEに限る必要はなく、印刷設定情報が記述されたXML形式のファイルであっても構わない。つまり印刷設定情報のプリンタドライバへの渡し方は、OSにより異なるものであり、本発明はいずれか1つに限定されるものではない。
【0037】
クライアント側のジョブ制御プリントサービス622は、PDLドライバ602によって生成された、それぞれのメンバジョブのPDLデータをジョブ制御ポートモニタ621を介して受け取り、受け取ったPDL形式のプリントジョブに関する情報をサーバ101側に知らせ、ジョブデータは自身のプロキシ出力ポート(ProxyOutputPort)712Aまたは712Bで一時保持する。その後、ジョブ制御サーバ630からの送信指示を受けた後に、印刷ジョブ制御システム700はプロキシ出力ポート712を介してPDL形式の印刷データをプリンタデバイス650に送信する。
【0038】
図8の構成により、たとえば、プリンタキュー722Aに格納されたジョブを代行(あらかじめ設定されているグループのプリンタで代行する自動代行、またはエラーが起きたときにユーザにより代行するプリンタを選択させる手動代行)する場合、ジョブ制御プリントサービスが、代行(自動または手動)の指示に応じて、ジョブをプリンタキュー722Bに移動し、ジョブをプリンタデバイス650Bに出力することによりプリントデバイス650Aからプリントデバイス650Bへの代行印刷を実行することができる。
【0039】
図2は、プログラム制御部における処理のプログラムの概要を説明するためのフローチャートである。まず、ステップS200においてプログラム制御部16自身及びサブシステムの初期化を行う。続いてステップS201において、イベント待ちの無限ループになる。ステップS201はマウスやキーボード、ジョブ受付等のイベント等が発生すると終了し、以下に示すイベント処理へ移る。
【0040】
ステップS202では、発生したイベントがジョブリストの更新イベントか否かをチェックする。YESの場合には、プログラム制御部16は、ステップS203においてジョブ管理部12から新しいジョブ情報の一覧を取得し、ジョブ表示部17に対してジョブ情報の一覧を更新表示するように指示する。ステップS203の終了後は、ステップS201のイベント待ちに処理が移る。
【0041】
ステップS202でNOと判定された場合には、続いてステップS204で、ジョブ受付イベントか否かを判定する。YESの場合には、ステップS205におけるジョブ受付処理に移る。この処理の詳細については、後に図4を用いて説明する。ステップS205終了後は、ステップS201のイベント待ちに処理が移る。
【0042】
ステップS204でNOと判定された場合には、続くステップS206において発生したイベントが、印刷エラーイベントか否かが判定される。YESの場合には、ステップS207において代行印刷処理が行われる。この処理の詳細については、後に図5を用いて説明する。ステップS207終了後は、ステップS201のイベント待ちに処理が移る。
【0043】
ステップS206でNOと判定された場合には、続くステップS208において発生したイベントが、ジョブ送信イベントか否か判定される。YESの場合には、ステップS209においてジョブ送信処理が行われる。この処理の詳細については、後に図6を用いて説明する。ステップS209終了後は、ステップS201のイベント待ちに処理が移る。
【0044】
ステップS208でNOと判定された場合には、続くステップS210において発生したイベントがその他のイベントか否かが判定される。YESの場合には、続くステップS211においてその他のイベント処理が行われる。これは、本発明と直接関係が無いため詳しい説明を省略する。ステップS209の終了後は、ステップS201のイベント待ちに処理が移る。
【0045】
ステップS210でNOと判定された場合には、ステップS212の終了判定が行われる。NOの場合には、無効なイベントが発生したとしてステップS201のイベント待ち処理へ戻り、YESの場合には、ステップS213の終了処理を経て本処理は停止する。
【0046】
図3は、ジョブ管理部12内にあるメモリ上に保管されているジョブ情報管理テーブルの一部である。すべのジョブは印刷システム内でユニークな識別子(JobID)を持ち、他のジョブと区別して管理される。各ジョブは識別子のほか、処理状態、優先順位、受付時刻、ユーザ名、文書名、ユーザによって最初に選択された印刷装置等の情報をもっている。図3からは、合わせて4つのジョブがあり、JobID200の文書.docが印刷中で、JobID201のジョブが送信中、他の2つのジョブが送信待ちであることが分かる。このジョブ情報管理テーブルの1つのジョブ情報は、通常、印刷システムがジョブを受け付けた時点で生成され、印刷装置によって排紙が完了されるかユーザ或いはデバイスの理由によりキャンセル処理が行われた時点で消滅する。対象とする印刷装置が排紙完了確認機能をサポートしていない場合には、ジョブの送信完了を持ってジョブ情報を抹消する。
【0047】
図4は、本発明に係る印刷システムのジョブ受付処理のプログラムの概要を示すフローチャートである。ジョブ受付処理においては、受付時に、先ずステップS400でこのジョブをシステム中で一意に識別するための識別子(JobID)が割り当てられる。JobIDとしては、UUID(Universallyunique identifier)等の一意なIDが利用可能であるが、本実施例におけるシステムではサーバ上で発行されたシーケンシャルナンバーが利用されている。続いて、ステップS401でジョブのスクリプト中或いは、受付コマンドのオプション等で印刷に利用するキュー名、ユーザ名、文書名、優先順位等基本的なジョブ属性を指定し、ジョブ情報を作成する。仮に指定されない属性が合った場合にはシステムで用意されたデフォルトの値がジョブの属性として利用される。続いて、ステップS402においてステップS401で作成したジョブ情報を登録し、ジョブ情報管理テーブルを更新する。リストが更新されると、連動してジョブリスト更新イベントがセットされる。ジョブリスト更新イベントがセットされると、前述のジョブリスト更新処理がシステムによって起動される。続いてステップS403で、ステップS401で指定された印刷キューに対して、ジョブ送信イベントがセットされる。ジョブ送信イベントがセットされると、ジョブ送信処理が起動される。これは図6を用いて詳述する。
【0048】
図5は、本発明に掛かる印刷システムで行う代行印刷処理プログラムの一実施例を示すフローチャートである。
【0049】
代行印刷処理は、本発明の印刷システムにおいてはデバイスのエラー時に自動的に、或いはユーザ(或いは本印刷システムを監視している外部システムからのコマンド)の指示によって任意のタイミングで実行される。
【0050】
代行印刷処理が起動されると、ステップS500の代行先選択処理において代行先を選択する。代行先の選択方法としては、予めキューに対応する代替キューを登録しておく方法や印刷時にジョブの属性として指示する方法、オペレータに候補を表示してオペレータが選択する方法等が存在するが本発明とは直接関係無いため此処では詳しく説明しない。
【0051】
続くステップS501で代行先が見つかったか否かを判定する。代行先が見つからない場合には、代行処理は終了する。
【0052】
ステップS501で代行先が「あり」と判定された場合には、ステップS502において代行するジョブのジョブ情報を復元する。この情報は後でジョブを代行する際に利用する。続くステップS503で元のジョブをキャンセルする。本発明の印刷システムでは、ジョブキャンセル処理の際に、ジョブ情報を消去するのみならず、印刷処理部で印刷処理中の場合にはこれを中断する機能を有する事も可能である。更にステップS504でステップS502で保存されたジョブ情報の印刷キュー情報をステップS500で選択された印刷キューに変更する。そして、ステップS505でジョブの優先順位を1ポイント増加させ、ステップS506でジョブ情報管理テーブルに新しいジョブ情報を登録する。ジョブ情報中のジョブ処理状態は登録時に「送信待ち」に初期化される。そして、ジョブリスト更新イベントをセットする。続くステップS507で新しく選択された印刷キューに対しジョブ送信イベントをセットして代行処理は終了する。
【0053】
図6は、本発明の印刷システムにおけるジョブ送信処理プログラムの一実施例である。本発明の印刷システムではジョブ送信処理は印刷キュー毎に並行して起動されるように構成されている。ジョブ送信処理ではステップS600において、未送信のジョブ(ジョブ状態が送信中よりも前のもの)でもっとも優先度の高いジョブを1つ選択する。ステップS601でジョブが選択されないと判定された場合には、現在処理中の印刷キューには未送信のジョブが存在しないということであり、ジョブ送信処理は終了する。
【0054】
ステップS601でジョブが選択された場合には、ステップS602でジョブの状態を「送信中」に更新し、ジョブリスト更新イベントをセットする。続いてステップS603でジョブデータを読み込み、印刷処理部へジョブを転送する。ジョブの転送方法にはLPR,FTP,IPP等多数の方法が存在するが本発明とは直接関係無いため此処では説明しない。また、ジョブ送信失敗時の処理も本発明とは直接関係無いため説明を省略する。ジョブの送信が完了するとステップS604において、ジョブの状態を「送信済み」にし、ジョブリスト更新イベントをセットしてジョブ送信処理が終了する。
【0055】
以上説明したように、本発明の実施の形態に係る印刷システムにおいては、代行印刷時に自動的にジョブの優先度を1ポイントあげる事により円滑なスケジューリングを行い、システム全体としてみた場合のスケジューリングを最適化する事が可能なため、代行印刷時に代行先のキューの一番後ろにジョブが追加されてしまい余計に出力時間が掛かると言った問題や、他のジョブを無条件に追い越してしまうと言った問題を回避することが可能となる。
【0056】
(他の実施の形態)
前述した実施の形態では代行印刷時に自動的にジョブの優先度を1ポイントあげる事により円滑なスケジューリングを行う例を説明したが、次に、代行印刷時に自動的にジョブの受付時刻に応じてジョブの優先度を設定する事により円滑なスケジューリングを行う他の実施の形態を説明する。
【0057】
印刷システムや、プログラム制御部における処理や、ジョブ受付の処理、ジョブ送信処理等は前述の実施の形態と同様なので説明は省略する。
【0058】
図7は、本発明の他の実施の形態に掛かる印刷システムで行う代行印刷処理の一実施例を示すフローチャートである。
【0059】
代行印刷処理は、本発明の印刷システムにおいてはデバイスのエラー時に自動的に、或いはユーザ(或いは本印刷システムを監視している外部システムからのコマンド)の指示によって任意のタイミングで実行される。
【0060】
代行印刷処理が起動されると、ステップS700の代行先選択処理において代行先を選択する。代行先の選択方法としては、予めキューに対応する代替キューを登録しておく方法や印刷時にジョブの属性として指示する方法、オペレータに候補を表示してオペレータが選択する方法等が存在するが本発明とは直接関係無いため此処では詳しく説明しない。
【0061】
続くステップS701で代行先が見つかったか否かを判定する。代行先が見つからない場合には、代行処理は終了する。
【0062】
ステップS701で代行先が「あり」と判定された場合には、ステップ702において代行するジョブのジョブ情報を復元する。この情報は後でジョブを代行する際に利用する。続くステップS703で元のジョブをキャンセルする。本発明の印刷システムでは、ジョブキャンセル処理の際に、ジョブ情報を消去するのみならず、印刷処理部で印刷処理中の場合にはこれを中断する機能を有する事も可能である。更にステップS704でステップS702で保存されたジョブ情報の印刷キュー情報をステップS700で選択された印刷キューに変更する。そして、ステップS705ジョブ情報管理テーブルに新しいジョブ情報を登録する。ジョブ情報中のジョブ処理状態は登録時に「送信待ち」に初期化される。そして、ステップS706で、ジョブの受付時間に応じて代行先キューのジョブの優先順位を設定しなおす。
【0063】
たとえば図3において、JobID203で示されるジョブがPrinterAからPrinterBへ代行された場合、JobID202の受付時刻は10時21分33秒であり、JobID202の10時23分35秒よりも優先される。そこで、JobID203の優先順位を2と設定する。仮に、JobID202と203の間の10時22分00秒に受け付けられたジョブが代行してきた場合には、そのジョブの優先度を2とし、JobID203の優先度を3に設定する。ジョブの優先度を設定しなおした後に、代行先キューにジョブ送信イベントをセットして代行処理は終了する。
【0064】
以上説明したように、本発明の実施の形態に係る印刷システムにおいては、代行印刷時に自動的にジョブの受付時刻に応じてジョブの優先度を設定する事により円滑なスケジューリングを行い、システム全体としてみた場合のスケジューリングを最適化する事が可能なため、代行印刷時に代行先のキューの一番後ろにジョブが追加されてしまい余計に出力時間が掛かると言った問題や、他のジョブを無条件に追い越してしまうと言った問題を回避することが可能となる。
【0065】
また、本発明の目的は、前述した実施形態の機能(プログラム制御部における処理、ジョブ受付処理、代行印刷処理、ジョブ送信処理等)を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0066】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0067】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0068】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0069】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0070】
【発明の効果】
以上説明したように、本発明のよれば、システム全体としてみた場合のスケジューリングを最適化する事が可能なため、代行印刷時に代行先のキューの一番後ろにジョブが追加されてしまい余計に出力時間が掛かると言った問題や、他のジョブを無条件に追い越してしまうと言った問題を回避することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用する印刷システムの機能ブロック図
【図2】本発明を適用する印刷システムの概要を示すフローチャート
【図3】本発明の印刷システムにおけるジョブ管理テーブルの一例
【図4】ジョブ受付処理の一例を示すフローチャート
【図5】本発明の印刷システムにおける代行印刷処理の概要を示すフローチャート
【図6】ジョブ送信処理の一例を示すフローチャート
【図7】本発明の他の実施の形態の印刷システムにおける代行印刷処理の概要を示すフローチャート
【図8】Windows(登録商標)が提供するプリントシステム660と印刷ジョブ制御システムにおける印刷ジョブの関係を示す図
【図9】論理プリンタ管理705の印刷プロパティを設定するためのユーザインターフェース画面
【図10】本発明の印刷システムを運用するネットワーク構成の概略を示す図
Claims (17)
- 代行印刷する際にジョブの優先度を変更する変更手段と、
前記変更手段により変更された優先度に基づき印刷処理を実行する実行手段とを有することを特徴とする印刷制御装置。 - 前記代行印刷は、印刷ジョブのキューを変更することにより実行されることを特徴とする請求項1記載の印刷制御装置。
- 前記変更手段は、優先度を上げることを特徴とする請求項1記載の印刷制御装置。
- 前記変更手段は、印刷ジョブの受け付け時間に基づき優先度を変更することを特徴とする請求項1記載の印刷制御装置。
- 前記変更手段は、すでに存在する印刷ジョブの受付時間より代行印刷するジョブの受け付け時間が早い場合、代行印刷するジョブの優先度を上げることを特徴とする請求項1記載の印刷制御装置。
- 代行印刷する際にジョブの優先度を変更する変更ステップと、
前記変更ステップにより変更された優先度に基づき印刷処理を実行する実行ステップとを有することを特徴とする印刷制御方法。 - 前記代行印刷は、印刷ジョブのキューを変更することにより実行されることを特徴とする請求項6記載の印刷制御方法。
- 前記変更ステップは、優先度を上げることを特徴とする請求項6記載の印刷制御方法。
- 前記変更ステップは、印刷ジョブの受け付け時間に基づき優先度を変更することを特徴とする請求項6記載の印刷制御方法。
- 前記変更ステップは、すでに存在する印刷ジョブの受付時間より代行印刷するジョブの受け付け時間が早い場合、代行印刷するジョブの優先度を上げることを特徴とする請求項6記載の印刷制御方法。
- 代行印刷する際にジョブの優先度を変更する変更ステップと、
前記変更ステップにより変更された優先度に基づき印刷処理を実行する実行ステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。 - 前記代行印刷は、印刷ジョブのキューを変更することにより実行されることを特徴とする請求項10記載のコンピュータ読み取り可能なプログラム。
- 前記変更ステップは、優先度を上げることを特徴とする請求項10記載のコンピュータ読み取り可能なプログラム。
- 前記変更ステップは、印刷ジョブの受け付け時間に基づき優先度を変更することを特徴とする請求項10記載のコンピュータ読み取り可能なプログラム。
- 前記変更ステップは、すでに存在する印刷ジョブの受付時間より代行印刷するジョブの受け付け時間が早い場合、代行印刷するジョブの優先度を上げることを特徴とする請求項10記載のコンピュータ読み取り可能なプログラム。
- 印刷データをジョブ単位毎に管理する印刷システムであって、
複数のジョブを管理するための複数の印刷キューと、
各々のキューに投入された印刷ジョブをジョブに割り当てられた優先順位に基づいて処理するためのスケジュール手段と、
ジョブを元のキューから別のキューへと移動することにより代行印刷を実行する代行手段と、
前記代行手段により代行印刷する際に、ジョブの優先度を上げる優先順位変更手段とを有することを特徴とする印刷システム。 - 前記優先順位変更手段は、ジョブの受け付け時間に基づき優先度を上げることを特徴とする請求項16記載の印刷システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003173454A JP2004102986A (ja) | 2002-06-26 | 2003-06-18 | 印刷制御装置、印刷制御方法、プログラム、印刷システム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002186181 | 2002-06-26 | ||
JP2002210387 | 2002-07-19 | ||
JP2003173454A JP2004102986A (ja) | 2002-06-26 | 2003-06-18 | 印刷制御装置、印刷制御方法、プログラム、印刷システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004102986A true JP2004102986A (ja) | 2004-04-02 |
Family
ID=32303256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003173454A Pending JP2004102986A (ja) | 2002-06-26 | 2003-06-18 | 印刷制御装置、印刷制御方法、プログラム、印刷システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004102986A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007076316A (ja) * | 2005-09-16 | 2007-03-29 | Konica Minolta Business Technologies Inc | 画像処理装置および画像処理システム |
JP2011178177A (ja) * | 2011-05-26 | 2011-09-15 | Konica Minolta Business Technologies Inc | 画像処理装置 |
JP2012048501A (ja) * | 2010-08-26 | 2012-03-08 | Canon Inc | 周辺装置制御システム、周辺装置、情報処理装置及び制御方法 |
JP2015036860A (ja) * | 2013-08-12 | 2015-02-23 | キヤノン株式会社 | 情報処理装置及び情報処理方法、情報処理システム、プログラム |
-
2003
- 2003-06-18 JP JP2003173454A patent/JP2004102986A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007076316A (ja) * | 2005-09-16 | 2007-03-29 | Konica Minolta Business Technologies Inc | 画像処理装置および画像処理システム |
JP2012048501A (ja) * | 2010-08-26 | 2012-03-08 | Canon Inc | 周辺装置制御システム、周辺装置、情報処理装置及び制御方法 |
JP2011178177A (ja) * | 2011-05-26 | 2011-09-15 | Konica Minolta Business Technologies Inc | 画像処理装置 |
JP2015036860A (ja) * | 2013-08-12 | 2015-02-23 | キヤノン株式会社 | 情報処理装置及び情報処理方法、情報処理システム、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1376333A2 (en) | Print control apparatus, print control method, program product, and print system | |
JP3720740B2 (ja) | 分散印刷システム、分散印刷制御方法、記憶媒体、及びプログラム | |
JP4185920B2 (ja) | 印刷制御方法および印刷設定管理システムおよびソフトウエア配布サーバ | |
US7061635B1 (en) | Information processing apparatus, distributed printing method, and storage medium | |
JP6604834B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US20070299905A1 (en) | System for setting print end notification either when data transmission ends or when printing ends based on print check ability of printing devices | |
JP3774702B2 (ja) | 印刷制御プログラム及び情報処理装置 | |
US20130176584A1 (en) | Network system, client apparatus, method therefor, and program | |
US20080316530A1 (en) | Printing control apparatus, printing control method, program, and storage medium | |
JP2006056069A (ja) | 印刷制御装置および印刷制御方法 | |
US20060044600A1 (en) | Printing apparatus, network device, printing control method, and printing control program | |
JP2006301860A (ja) | 情報処理装置 | |
JP3854941B2 (ja) | 印刷制御方法、ホストコンピュータ、プログラム及び記憶媒体 | |
JP2006195531A (ja) | 画像記録システム | |
JP2004102986A (ja) | 印刷制御装置、印刷制御方法、プログラム、印刷システム | |
JP2007233555A (ja) | 印刷制御プログラムおよび装置および方法 | |
JP5961937B2 (ja) | 情報処理システム | |
JP3566511B2 (ja) | 情報処理装置及び印刷システム及び印刷処理方法並びにコンピュータ可読の記憶媒体 | |
JP2020046741A (ja) | 情報処理装置、情報処理装置の制御方法、及び、プログラム | |
JP4110021B2 (ja) | 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体 | |
JP2018147124A (ja) | システムおよび制御方法 | |
JP2006178767A (ja) | 印刷予約システム及びその制御方法 | |
JP2007140663A (ja) | 画像処理装置 | |
JP4143598B2 (ja) | 情報処理装置における管理方法、情報処理装置、プログラム及び記憶媒体 | |
JP2022090286A (ja) | クラウドプリントサービスの提供方法及び印刷装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040521 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050622 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050823 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051020 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20051025 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20051118 |