プリントシステムおよびコンピュータプログラムとその記憶媒体
【課題】 クライアントダウン後の保存ジョブの再送などでは、機器側の受け付けの可否を判断せずに、すべてのジョブを受け付け可能でなくてもジョブを送信する必要となるケースがある。そのため、同じグループジョブに対するスケジュールであっても、スケジュール処理を使い分ける必要があった。
【解決手段】 グループジョブの各ジョブをまとめて印刷できなくなる危険性を軽減し、かつ、一般的なPCのプリントサーバよりもグループジョブ印刷の可否について、より的確な判断できるグループ印刷機能を提供することで、ユーザに設定をさせることなく機能ごとに適切なジョブのスケジュール機能を提供することができる。
【解決手段】 グループジョブの各ジョブをまとめて印刷できなくなる危険性を軽減し、かつ、一般的なPCのプリントサーバよりもグループジョブ印刷の可否について、より的確な判断できるグループ印刷機能を提供することで、ユーザに設定をさせることなく機能ごとに適切なジョブのスケジュール機能を提供することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のクライアントからの印刷ジョブのスケジューリングをデバイスのネットワークインタフェースカード上で行うプリントシステムにおけるジョブグルーピング印刷のスケジュール方法に関するものである。
【背景技術】
【0002】
プリンタデバイスで印刷する場合、プリンタデバイスは、ホストから送信された印刷ジョブを受付け、ジョブを受け付けた順に印刷を行っている。そのため、複数のホストから、ホスト毎に複数の印刷ジョブをプリンタデバイスに送信すると、複数のホストからの印刷ジョブが排紙トレイに混在し、他ホストから送信した印刷ジョブと区別するために印刷ジョブの仕分けを行わなければならなかった。また、印刷ジョブの仕分けミスにより、他ホストから印刷したジョブを間違って持っていくという問題も発生していた。
【0003】
そのため、複数の連続印刷を行いたい印刷ジョブを1セッションで送信し、そして印刷し、他のクライアントからの割り込み印刷を行わせないグループジョブ印刷という方式がある。また従来のプリントシステムのグループジョブの方式として、複数のクライアントのジョブをまとめるグループジョブ印刷機能と、クライアントのシャットダウン時に他のクライアントに転送して、印刷を続行しているものが下記特許文献に記載されている。
【特許文献1】特開2002−278735号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
印刷ジョブのスケジューリングをデバイスのネットワークインタフェース上で行うプリントシステムではデバイスによりジョブの受付数に制限がある。そのため、グループジョブ印刷機能において、受付が可能であるかを判断し送信するスケジュール方法が必要となる。しかし、クライアントダウン後の保存ジョブの再送などでは、機器側の受け付けの可否を判断せずに、すべてのジョブを受け付け可能でなくてもジョブを送信する必要となるケースがある。そのため、同じグループジョブに対するスケジュールであっても、スケジュール処理を使い分ける必要があった。
【0005】
本発明は、以上の点に着目して成されたもので、印刷ジョブのスケジューリングをデバイスのネットワークインタフェース上で行うプリントシステムではデバイスによりジョブの受付数に制限があるため、グループジョブ印刷機能において、受付が可能であるかを判断して送信するスケジュール方法を実現するプリントシステムおよびコンピュータプログラムとその記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
複数のクライアントからの印刷ジョブのスケジューリングをデバイスのネットワークインタフェース上で行うプリントシステムで、複数の印刷ジョブをグループジョブとし、グループジョブ内の複数のジョブを、コンピュータからプリンタデバイスに転送するグループジョブの処理において連続して投入可能なジョブの個数、空き容量があることを確認する手段と、スケジュールされたジョブをスケジュールアップし、クライアントパーソナルコンピュータにジョブの送信を指示する手段を有する出力デバイス上のプリントサーバを特徴とする。
【発明の効果】
【0007】
本発明は、グループジョブの各ジョブをまとめて印刷できなくなる危険性を軽減し、かつ、一般的なPCのプリントサーバよりも、グループジョブ印刷の可否について、より的確な判断できるグループ印刷機能を提供するプリントシステムであり、さらに、ユーザに設定をさせることなく、機能ごとに適切なジョブのスケジュール機能を提供することができる。
【発明を実施するための最良の形態】
【0008】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【0009】
図1は、実施形態に係る印刷処理システムのネットワーク構成である。
【0010】
同図において、101、102、103、104は、ネットワーク107に接続され、相互に通信可能なネットワークコンピュータであり、典型的にはパーソナルコンピュータ(PC)であり、それぞれネットワークケーブルによってネットワーク107に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各コンピュータは複数のプリンタドライバをサポートするものとする。また、プリンタに対応するプリンタ言語に変換にした印刷データをネットワークプリンタに転送する機能を有する。105は、印刷制御装置としてのネットワークプリンタであり、106のネットワークインタフェースを介してネットワーク107と接続されており、クライアントコンピュータから送信されてくる印字データを含む印刷ジョブを解析し、1ページずつドットイメージに変換して印刷する。なお、同図にネットワークプリンタ105は1台しか示されていないが、他のネットワークプリンタが複数接続されているものとする。各ネットワークプリンタの機能は相違するものであってもよい。
【0011】
また、107はネットワークであり、コンピュータ101〜104、ネットワークプリンタ105等と接続している。
【0012】
図2は、コンピュータ101〜104の構成を説明するブロック図である。
【0013】
図2において、200は装置全体の制御を行うCPUであり、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや、本実施形態のネットワークプリンタ制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0014】
201は記憶手段としてのROMであり、内部には、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。202は一時記憶手段としてのRAMであり、CPU200の主メモリ、ワークエリア等として機能する。
【0015】
203は記憶媒体読み込み手段としてのフロッピー(登録商標)ディスク(FD)ドライブであり、後述する図5に示すようにFDドライブ203を通じて、記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータにロードすることができる。204は記憶媒体であるフロッピー(登録商標)ディスクであり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はFDに限らず任意である。
【0016】
205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HD)であり、アプリケーションプログラム、プリンタドライバプログラム、OS、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。更に、スプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【0017】
206は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。207は表示手段であるディスプレイであり、キーボード206から入力したコマンドや、プリンタの状態等を表示したりするものである。
【0018】
208はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。209は入出力手段であるインタフェースであり、該インタフェース209を介して情報処理装置は外部装置とのデータのやり取りを行う。
【0019】
なお、上記コンピュータの構成はその一例であり、図2の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM、RAM、HDなどで変更することも可能である。
【0020】
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、FD204からロードされる上記ネットワークプリンタ制御プログラムが、RAM202にロードされ実行可能となった状態のメモリマップである。
【0021】
なお、本実施形態では、ネットワークプリンタ制御プログラムおよび関連データをFD204から直接RAM202にロードして実行させる例を示すが、これ以外にも、ネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがFD204からインストールされているHD205から、RAM202にロードするようにしてもよい。また、本ネットワークプリンタ制御プログラムを記憶する媒体は、FD以外であってもよい。さらに、本ネットワークプリンタ制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【0022】
また、以下では、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムまたはプリンタドライバと呼ぶこともある。印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含む。一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本実施形態の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能するようにしてもよい。あるいは、一台のコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとをともにインストールし、同時にあるいは時分割で、擬似的に平行動作させる構成も可能である。
【0023】
301は基本I/Oプログラムであり、コンピュータの電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムが入っている領域である。302はオペレーティングシステム(OS)であり、303はネットワークプリンタ制御プログラムで、RAM202上に確保される領域に記憶される。304は関連データで、RAM202上に確保される領域に記憶される。305はワークエリアで、CPU200が本プリンタ制御プログラムを実行する領域が確保されている。
【0024】
図4は、図2に示したFD204のメモリマップの一例を示す図である。
【0025】
図4において、401はデータの情報を示すボリューム情報であり、402はディレクトリ情報、403は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、404はその関連データである。ネットワークプリンタ制御プログラム403は、本実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント及びサーバ共に、同様の構成をとっている。
【0026】
図5は、図1に示したクライアントのパーソナルコンピュータ(PC)(101〜104)とネットワークプリンタ(105)の内部モジュール構成について示す図である。
【0027】
図5において、通常、印刷の指示がされると、アプリケーションプログラムは一連の描画命令をOSを介して生成させる。この生成された描画命令はプリンタドライバを経て所定の形式に変換された後、Windows(登録商標)Spoolerに渡される。Windows(登録商標) Spoolerは、ユーザがユーザインタフェースを介して選択し指示したポートモニタにプリントジョブデータを渡して、プリンタデバイスに送信させる手順をとる。本実施形態では、今述べた通常の動作に対してユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ504(以降、ジョブ制御ポートモニタと略記)を指定して印刷を指示する。
【0028】
アプリケーションプログラム501は一連の描画命令をOSを介して生成させる。ここで、OSを介して生成された描画命令は、PDL Driver502に引き渡させる。
【0029】
OSを介して生成された描画命令を受け取ったPDL Driver502では、デバイスで印刷するためのページ記述言語を生成し、プリンタデバイスへプリントジョブデータを送信する従来のポートモニタではなく、ジョブ制御ポートモニタ504にプリントジョブデータとして送信する。また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ504に送信される。印刷ジョブ制御システム用プリントマネージャー505(以降、ジョブ制御プリントマネージャーと略記)は、ユーザが印刷制御サービスモジュール506内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。ジョブ制御プリントマネージャー505は、印刷制御サービスモジュール506のソフトウェアのインタフェース(API:Application Program Interface)を介して、印刷制御サービスモジュール506と情報・指示をやり取りしている。更に詳細な処理としては、プリントマネージャー505が印刷制御サービスモジュール506に対してデバイスを指定してのイベントを発行し、印刷制御サービスモジュール506は発行されたイベントに基づくデバイスのステータスを監視して、該監視に基づく結果をプリントマネージャー505に通知する。
【0030】
ネットワークプリンタ105装着されているネットワークインタフェースカード106上にプリントシステムのサーバとなるジョブ制御モジュール507がある。このジョブ制御モジュール507はイベントハンドラ515でデバイスの状態、ジョブ状態を監視し、クライアントの印刷制御サービスモジュール506から要求があるとデバイス状態、ジョブ状態を印刷制御サービスモジュール506に通知する。この時、ジョブ制御モジュール507はプリンタコントローラ513からデバイスの状態を取得する。また、ジョブ制御モジュール507には印刷ジョブのスケジューリングを行うジョブスケジューラ509がありクライアントから印刷要求があるとスケジュールリストにジョブを登録する。
【0031】
また、ジョブ制御モジュール507はプラットフォーム510上に実装されている。さらにネットワークインタフェースカード106にはプリンタコントローラ513に対し印刷を行う印刷モジュール(LPR/RAW)511とプリンタコントローラ513と通信を行うデバイス通信モジュール512を備える。
【0032】
図6は、ジョブリスト1101のジョブのグルーピング処理を表したフローチャートである。ステップ601は、ジョブを受け付けるときにアプリケーション501がジョブのグルーピング開始を示す印刷制御サービスモジュール506のAPI(StartGroupJob)が呼び出されたかを判断する。StartGroupJobが呼ばれていればステップ602に移行し、StartGroupJobが呼び出されたことの通知を出力ポート508に行う。また、プリンタキュー情報1201のグループID1205にグループIDを設定する。グループIDは、Jobリスト1101で管理しており、各グループ毎に任意のグループIDを設定する。ステップS603において、ジョブ制御ポート504からプリントジョブデータを受信する。
【0033】
ステップS604では、受信したジョブに関するJobリスト1101を作成し、ジョブID1102,ドキュメント名1104、スプールファイルパス1105を設定する。
【0034】
ステップS605では、プリンタキュー情報1201のグループID1205からグループIDを参照し、その値をJobリスト1101のグループモード1108に設定する。
【0035】
ステップS606では、出力ポート508に対して、ステップ603で受け付けたジョブの送信を行う。送信時には、Jobリスト1101のジョブID1102の情報をあわせて通知する。
【0036】
ステップ607では、アプリケーション501がグルーピングの終了を指示したかを判断し、グルーピング終了の指示が行われていなければ、まだ、送信するグループジョブが存在すると判断し、ステップ603に処理を移行する。また、ステップ607において、アプリケーション501がグルーピング終了を指示していたと判断した場合には、ステップ608に処理を移行し、グループ終了フラグ1107を設定し、グループ終了通知を出力ポート508に発行する。更に、ステップS609に処理を移行し、プリンタキュー情報1201のグループID1205をクリアして、処理を終了する。
【0037】
また、ステップ601において、アプリケーション501がジョブのグルーピング開始を示す印刷制御サービスモジュール506のAPI(StartGroupJob)が呼び出されたかを判断し、StartGroupJobが呼ばれていなければ、グルーピングを指定されていないジョブであると認識し、ステップ610に処理を移行し、ジョブ制御ポート504からプリントジョブデータを受信する。ステップ611では、受信したジョブに関するJobリスト1101を作成し、ジョブID1102,ドキュメント名1104、スプールファイルパス1105を設定する。ステップ612では、出力ポート508に対して、ステップ610で受け付けたジョブの送信指示を行い処理を終了する。送信指示には、Jobリスト1101のジョブID1102の情報をあわせて通知する。
【0038】
図7は、出力ポート508のジョブのグルーピング処理を示すフローチャートである。
【0039】
ステップ701でプリンタキュー514からステップS606、S612で発行した送信指示であるか、または、ステップ602で発行したStartGrouJobの指示であるかを判断する。StartGroupJobの指示であれば処理をステップS712に移行し、ステップS605で、プリンタキュー情報1201のデバイスIPアドレス1204に対して接続処理を行う。
【0040】
ステップS702では、送信指示に指定されたジョブIDに該当する、Jobリスト1101のグループID1106を参照し、グループIDが設定されているかを確認する。グループIDが設定されていれば、ステップS703に処理を移行する。
【0041】
ステップS703では、出力ポート508が既にグループジョブを転送するためのセッションを接続しているかを確認する。接続済みでなければ、ステップS708で、プリンタキュー情報1201のデバイスIPアドレス1204に対して接続処理を行う。
【0042】
ステップS704では、スプールファイルパス1105のファイルの転送を行い、ステップS705に処理を移行する。
【0043】
ステップS705では、ステップS607で発行されたグループ終了通知が通知されているかを確認し、グループ終了通知が発行されていなければ、まだ、送信するグルーピングのジョブがあると判断し、処理をステップS701に移行する。
【0044】
ステップS705で、グループ終了通知が発行されていれば、送信するグループのジョブが無いと判断し、ステップS706に移行する。
【0045】
ステップS706において、グループ終了通知が発行されていれば、送信するグルーピングされたジョブが無いと判断して、ステップS710やステップS708、ステップS712で接続を会したセッションを切断し処理を終了する。
【0046】
ステップS707では、グルーピングした全てのジョブのJobリスト1101を削除し処理を終了する。
【0047】
ステップS703において、グループジョブを転送するためのセッションが接続されていなければ、ステップS704に処理を移行し、スプールファイルパス1105のファイルの転送を行い、ステップS705に処理を移行する。
ステップS702において、グループIDが設定されていなければ、ステップ710に処理を移行し、プリンタキュー情報1201のデバイスIPアドレス1204に対して接続処理を行う。ステップS712では、スプールファイルパス1105のファイルの転送を行い、ステップS706に処理を移行する。
【0048】
図8は、印刷制御サービスモジュール506のスケジュール方法(スケジュールモード1108)の選択からジョブを送信するまでのフローチャートである。
【0049】
S801でジョブのスプールを開始し、S802でジョブのスプールが終了するとS803で印刷制御サービスモジュール506が停止するための終了処理を行っているかを確認する。S803で終了処理が行われている場合はJobリスト1101のスケジュールモード1108を2にする。この情報がS806でサーバであるジョブ制御モジュール507に通知されるとジョブ制御モジュール507はスケジュールモード1108をスケジュールリスト1304に設定する。この値が設定されたジョブはデバイスのキューのバッファが受け付けるグループジョブのサイズよりも少ない場合は、受け付けるジョブのみスケジュール登録を行う。
【0050】
S803で印刷制御サービスモジュール506が停止処理を行っていない場合は、S804でスケジュールモード1108を1に設定する。次にS806でジョブを一括登録指示をする。この時スケジュールモードも一緒に通知する。通知を受けたジョブ制御モジュール507はスケジュールモード1108をスケジュールリスト1304に設定する。このモードが設定されているグループジョブはデバイスのキューのバッファが受け付けるグループジョブのサイズよりも少ない場合はジョブのスケジュールを拒否する。次にS807でサーバのジョブ制御モジュール507から送信可能通知を受けたかを確認し、受けている場合はS809のジョブの送信を行う。受けていない場合はS808のデバイスのジョブ数、サイズを監視し、サーバのジョブ制御モジュール507からの送信可能通知を待つ。
【0051】
図9はジョブ制御モジュール507のスケジュール方法についてのフローチャートである。
【0052】
印刷制御サービスモジュール506からジョブの登録があるとS901で複数ジョブの一括登録を受付、S902で受け付け可能ジョブ数を確認する。S903で受け付け可能ジョブ数が登録予定ジョブ数より多い場合は、S904で受信可能サイズを確認を行う。また、登録予定ジョブ数がけ付け可能ジョブ数より多い場合は、S908でスケジュールモードの確認を行う。モードが1の場合はS909で登録を中止する。モードが2の場合はS906に移行し、グループジョブのメンバジョブを登録できるだけ登録する。また、S904で受信可能サイズを確認した結果、S905で受け付け可能ジョブ数が登録ジョブ数より多き場合は、S906に移行しグループジョブの登録を行う。少ない場合はS908でスケジュールモードの確認を行う。S906の後、S907でクライアントに受信可能通知を行う。その後ジョブ制御モジュール507でジョブの受信が開始されるとS910でグループジョブの先頭のジョブから印刷を行う。
【0053】
図10はクライアント(印刷制御サービスモジュール506)とサーバ(ジョブ制御モジュール507)とネットワークプリンタのコントローラ513のタイミングチャートである。
【0054】
S1001でグループ化が終了し、S1002でスプールが終了するとS1003でジョブ制御モジュール507に対しグループジョブが揃ってから一括してジョブを登録するを行う。S1005でグループジョブの先頭のメンバジョブがスケジュールアップするとS1004でスケジュールアップ通知が印刷制御サービスモジュール506に出される。印刷制御サービスモジュール506ではS1006で転送中というステータスをジョブ制御モジュール507に返し、S1006,7,8,9でグループID1106に対応したジョブの転送を行う。S1010で転送の終了となる。
【0055】
図11は、印刷制御サービスモジュール506が管理するJobリスト1101の構成の一例を示した図である。
【0056】
本実施形態で使用されるJobリスト1101は、ジョブ制御ポート504からプリントジョブデータが印刷制御サービスモジュール506に送信されるとプリンタキュー514を作成する。ジョブID1102は、プリンタキュー514が管理するJobリスト1101に割り当てる任意のIDであり、ジョブを識別するIDとして使用される。ドキュメント名1104は、アプリケーション501が印刷するドキュメントの名前で、ジョブ制御ポート504が印刷制御サービスモジュール506にプリントジョブデータを送信するときにプリンタキュー514に通知する。スプールファイルパス1105は、ジョブ制御ポート504が印刷制御サービスモジュール506に送信したプリントジョブデータを、ジョブ制御サービスがHD205に保存したファイルパスである。グループIDは、アプリケーション501がジョブのグルーピング指定したときにプリンタキュー514が発行した任意のグループIDである。また、このグループIDによってジョブのグループを識別することができる。グループ終了フラグ1107は、グループジョブ内の最後のジョブを示すフラグである。グループモード1108はスケジュール方法を示したスケジュールモードである。このモードが1の場合、サーバのジョブ受付数、またはサイズがグループジョブ数またはサイズより小さい場合、このグループジョブの登録を拒否する。また、このモードが2の場合、グループジョブの中で受け付けられるメンバジョブのみスケジュールの登録を行う。
【0057】
図12は、プリンタキュー514で受付た印刷ジョブの動作を決めるプリンタキュー情報1201を示す図である。
【0058】
ここで、プリンタキュー情報1201の設定内容の、プリンタ名1202、ドライバ名1203、デバイスIPアドレス1204について説明する。
【0059】
プリンタ名1202は、Windows(登録商標)のプリンタオブジェクトの名前を示しており、プリンタオブジェクト毎に異なる名前であり、プリンタオブジェクトを識別することができる。
【0060】
ドライバ名1203は、プリンタオブジェクトに設定されているドライバの名前である。
【0061】
デバイスIPアドレス1204は、対応するネットワークプリンタ(デバイス)105のIPアドレスである。
【0062】
図13は、サーバ上のジョブのスケジュールリストを示す一例である。
【0063】
スケジュールリスト602は個々のデバイス固有の任意のIDであり、ジョブを識別するIDとして使用される。図11のデバイスID1302も同じIDであり、このIDはクライアントのJobリスト1101とサーバのスケジュールリスト1301にそれぞれ登録される。ジョブ状態1303はジョブの状態を示す情報である。スケジュールモード1304はジョブ制御モジュール507のスケジュールモードである。
【0064】
図14は、印刷制御サービスモジュール506が、ジョブグルーピング機能を実現するために、フローチャート図9の処理によって行われる、印刷プロトコルの流れを示す図である。
【0065】
印刷プロトコルの1つのセッションの中で、複数のプリントジョブデータを送信している。
【図面の簡単な説明】
【0066】
【図1】本発明の実施の一形態に係る印刷処理システムのネットワーク構成図を示す。
【図2】本発明におけるネットワークコンピュータのハードウェア構成図である。
【図3】本発明におけるRAM202のメモリマップを表す図である。
【図4】本発明におけるFD204のメモリマップを表す図である。
【図5】本発明におけるクライアントPC内のプリントシステムクライアントのモジュール構成図とネットワークデバイス内のプリントシステムサーバのモジュール構成図を示す。
【図6】本発明におけるクライアントのジョブのグルーピング処理のフローを示す。
【図7】本発明におけるクライアントの出力ポートのジョブグルーピング処理のフローを示す。
【図8】本発明におけるクライアントのジョブのグルーピング処理のスケジュールアップとジョブ送信処理のフローを示す。
【図9】本発明におけるクライアントの印刷制御サービスモジュールのフローを示す。
【図10】本発明におけるサーバの印刷制御モジュールのフローを示す。
【図11】本発明におけるクライアントのJobリストを示す。
【図12】本発明におけるクライアントのプリンタキュー情報を示す。
【図13】本発明におけるサーバのスケジュールリストを示す。
【図14】本発明における印刷プロトコルのセッションを表す図である。
【符号の説明】
【0067】
101、102、103、104 クライアントPC
105 ネットワークプリンタ
【技術分野】
【0001】
本発明は、複数のクライアントからの印刷ジョブのスケジューリングをデバイスのネットワークインタフェースカード上で行うプリントシステムにおけるジョブグルーピング印刷のスケジュール方法に関するものである。
【背景技術】
【0002】
プリンタデバイスで印刷する場合、プリンタデバイスは、ホストから送信された印刷ジョブを受付け、ジョブを受け付けた順に印刷を行っている。そのため、複数のホストから、ホスト毎に複数の印刷ジョブをプリンタデバイスに送信すると、複数のホストからの印刷ジョブが排紙トレイに混在し、他ホストから送信した印刷ジョブと区別するために印刷ジョブの仕分けを行わなければならなかった。また、印刷ジョブの仕分けミスにより、他ホストから印刷したジョブを間違って持っていくという問題も発生していた。
【0003】
そのため、複数の連続印刷を行いたい印刷ジョブを1セッションで送信し、そして印刷し、他のクライアントからの割り込み印刷を行わせないグループジョブ印刷という方式がある。また従来のプリントシステムのグループジョブの方式として、複数のクライアントのジョブをまとめるグループジョブ印刷機能と、クライアントのシャットダウン時に他のクライアントに転送して、印刷を続行しているものが下記特許文献に記載されている。
【特許文献1】特開2002−278735号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
印刷ジョブのスケジューリングをデバイスのネットワークインタフェース上で行うプリントシステムではデバイスによりジョブの受付数に制限がある。そのため、グループジョブ印刷機能において、受付が可能であるかを判断し送信するスケジュール方法が必要となる。しかし、クライアントダウン後の保存ジョブの再送などでは、機器側の受け付けの可否を判断せずに、すべてのジョブを受け付け可能でなくてもジョブを送信する必要となるケースがある。そのため、同じグループジョブに対するスケジュールであっても、スケジュール処理を使い分ける必要があった。
【0005】
本発明は、以上の点に着目して成されたもので、印刷ジョブのスケジューリングをデバイスのネットワークインタフェース上で行うプリントシステムではデバイスによりジョブの受付数に制限があるため、グループジョブ印刷機能において、受付が可能であるかを判断して送信するスケジュール方法を実現するプリントシステムおよびコンピュータプログラムとその記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
複数のクライアントからの印刷ジョブのスケジューリングをデバイスのネットワークインタフェース上で行うプリントシステムで、複数の印刷ジョブをグループジョブとし、グループジョブ内の複数のジョブを、コンピュータからプリンタデバイスに転送するグループジョブの処理において連続して投入可能なジョブの個数、空き容量があることを確認する手段と、スケジュールされたジョブをスケジュールアップし、クライアントパーソナルコンピュータにジョブの送信を指示する手段を有する出力デバイス上のプリントサーバを特徴とする。
【発明の効果】
【0007】
本発明は、グループジョブの各ジョブをまとめて印刷できなくなる危険性を軽減し、かつ、一般的なPCのプリントサーバよりも、グループジョブ印刷の可否について、より的確な判断できるグループ印刷機能を提供するプリントシステムであり、さらに、ユーザに設定をさせることなく、機能ごとに適切なジョブのスケジュール機能を提供することができる。
【発明を実施するための最良の形態】
【0008】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【0009】
図1は、実施形態に係る印刷処理システムのネットワーク構成である。
【0010】
同図において、101、102、103、104は、ネットワーク107に接続され、相互に通信可能なネットワークコンピュータであり、典型的にはパーソナルコンピュータ(PC)であり、それぞれネットワークケーブルによってネットワーク107に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各コンピュータは複数のプリンタドライバをサポートするものとする。また、プリンタに対応するプリンタ言語に変換にした印刷データをネットワークプリンタに転送する機能を有する。105は、印刷制御装置としてのネットワークプリンタであり、106のネットワークインタフェースを介してネットワーク107と接続されており、クライアントコンピュータから送信されてくる印字データを含む印刷ジョブを解析し、1ページずつドットイメージに変換して印刷する。なお、同図にネットワークプリンタ105は1台しか示されていないが、他のネットワークプリンタが複数接続されているものとする。各ネットワークプリンタの機能は相違するものであってもよい。
【0011】
また、107はネットワークであり、コンピュータ101〜104、ネットワークプリンタ105等と接続している。
【0012】
図2は、コンピュータ101〜104の構成を説明するブロック図である。
【0013】
図2において、200は装置全体の制御を行うCPUであり、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや、本実施形態のネットワークプリンタ制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0014】
201は記憶手段としてのROMであり、内部には、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。202は一時記憶手段としてのRAMであり、CPU200の主メモリ、ワークエリア等として機能する。
【0015】
203は記憶媒体読み込み手段としてのフロッピー(登録商標)ディスク(FD)ドライブであり、後述する図5に示すようにFDドライブ203を通じて、記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータにロードすることができる。204は記憶媒体であるフロッピー(登録商標)ディスクであり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はFDに限らず任意である。
【0016】
205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HD)であり、アプリケーションプログラム、プリンタドライバプログラム、OS、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。更に、スプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【0017】
206は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。207は表示手段であるディスプレイであり、キーボード206から入力したコマンドや、プリンタの状態等を表示したりするものである。
【0018】
208はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。209は入出力手段であるインタフェースであり、該インタフェース209を介して情報処理装置は外部装置とのデータのやり取りを行う。
【0019】
なお、上記コンピュータの構成はその一例であり、図2の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM、RAM、HDなどで変更することも可能である。
【0020】
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、FD204からロードされる上記ネットワークプリンタ制御プログラムが、RAM202にロードされ実行可能となった状態のメモリマップである。
【0021】
なお、本実施形態では、ネットワークプリンタ制御プログラムおよび関連データをFD204から直接RAM202にロードして実行させる例を示すが、これ以外にも、ネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがFD204からインストールされているHD205から、RAM202にロードするようにしてもよい。また、本ネットワークプリンタ制御プログラムを記憶する媒体は、FD以外であってもよい。さらに、本ネットワークプリンタ制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【0022】
また、以下では、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムまたはプリンタドライバと呼ぶこともある。印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含む。一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本実施形態の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能するようにしてもよい。あるいは、一台のコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとをともにインストールし、同時にあるいは時分割で、擬似的に平行動作させる構成も可能である。
【0023】
301は基本I/Oプログラムであり、コンピュータの電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムが入っている領域である。302はオペレーティングシステム(OS)であり、303はネットワークプリンタ制御プログラムで、RAM202上に確保される領域に記憶される。304は関連データで、RAM202上に確保される領域に記憶される。305はワークエリアで、CPU200が本プリンタ制御プログラムを実行する領域が確保されている。
【0024】
図4は、図2に示したFD204のメモリマップの一例を示す図である。
【0025】
図4において、401はデータの情報を示すボリューム情報であり、402はディレクトリ情報、403は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、404はその関連データである。ネットワークプリンタ制御プログラム403は、本実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント及びサーバ共に、同様の構成をとっている。
【0026】
図5は、図1に示したクライアントのパーソナルコンピュータ(PC)(101〜104)とネットワークプリンタ(105)の内部モジュール構成について示す図である。
【0027】
図5において、通常、印刷の指示がされると、アプリケーションプログラムは一連の描画命令をOSを介して生成させる。この生成された描画命令はプリンタドライバを経て所定の形式に変換された後、Windows(登録商標)Spoolerに渡される。Windows(登録商標) Spoolerは、ユーザがユーザインタフェースを介して選択し指示したポートモニタにプリントジョブデータを渡して、プリンタデバイスに送信させる手順をとる。本実施形態では、今述べた通常の動作に対してユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ504(以降、ジョブ制御ポートモニタと略記)を指定して印刷を指示する。
【0028】
アプリケーションプログラム501は一連の描画命令をOSを介して生成させる。ここで、OSを介して生成された描画命令は、PDL Driver502に引き渡させる。
【0029】
OSを介して生成された描画命令を受け取ったPDL Driver502では、デバイスで印刷するためのページ記述言語を生成し、プリンタデバイスへプリントジョブデータを送信する従来のポートモニタではなく、ジョブ制御ポートモニタ504にプリントジョブデータとして送信する。また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ504に送信される。印刷ジョブ制御システム用プリントマネージャー505(以降、ジョブ制御プリントマネージャーと略記)は、ユーザが印刷制御サービスモジュール506内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。ジョブ制御プリントマネージャー505は、印刷制御サービスモジュール506のソフトウェアのインタフェース(API:Application Program Interface)を介して、印刷制御サービスモジュール506と情報・指示をやり取りしている。更に詳細な処理としては、プリントマネージャー505が印刷制御サービスモジュール506に対してデバイスを指定してのイベントを発行し、印刷制御サービスモジュール506は発行されたイベントに基づくデバイスのステータスを監視して、該監視に基づく結果をプリントマネージャー505に通知する。
【0030】
ネットワークプリンタ105装着されているネットワークインタフェースカード106上にプリントシステムのサーバとなるジョブ制御モジュール507がある。このジョブ制御モジュール507はイベントハンドラ515でデバイスの状態、ジョブ状態を監視し、クライアントの印刷制御サービスモジュール506から要求があるとデバイス状態、ジョブ状態を印刷制御サービスモジュール506に通知する。この時、ジョブ制御モジュール507はプリンタコントローラ513からデバイスの状態を取得する。また、ジョブ制御モジュール507には印刷ジョブのスケジューリングを行うジョブスケジューラ509がありクライアントから印刷要求があるとスケジュールリストにジョブを登録する。
【0031】
また、ジョブ制御モジュール507はプラットフォーム510上に実装されている。さらにネットワークインタフェースカード106にはプリンタコントローラ513に対し印刷を行う印刷モジュール(LPR/RAW)511とプリンタコントローラ513と通信を行うデバイス通信モジュール512を備える。
【0032】
図6は、ジョブリスト1101のジョブのグルーピング処理を表したフローチャートである。ステップ601は、ジョブを受け付けるときにアプリケーション501がジョブのグルーピング開始を示す印刷制御サービスモジュール506のAPI(StartGroupJob)が呼び出されたかを判断する。StartGroupJobが呼ばれていればステップ602に移行し、StartGroupJobが呼び出されたことの通知を出力ポート508に行う。また、プリンタキュー情報1201のグループID1205にグループIDを設定する。グループIDは、Jobリスト1101で管理しており、各グループ毎に任意のグループIDを設定する。ステップS603において、ジョブ制御ポート504からプリントジョブデータを受信する。
【0033】
ステップS604では、受信したジョブに関するJobリスト1101を作成し、ジョブID1102,ドキュメント名1104、スプールファイルパス1105を設定する。
【0034】
ステップS605では、プリンタキュー情報1201のグループID1205からグループIDを参照し、その値をJobリスト1101のグループモード1108に設定する。
【0035】
ステップS606では、出力ポート508に対して、ステップ603で受け付けたジョブの送信を行う。送信時には、Jobリスト1101のジョブID1102の情報をあわせて通知する。
【0036】
ステップ607では、アプリケーション501がグルーピングの終了を指示したかを判断し、グルーピング終了の指示が行われていなければ、まだ、送信するグループジョブが存在すると判断し、ステップ603に処理を移行する。また、ステップ607において、アプリケーション501がグルーピング終了を指示していたと判断した場合には、ステップ608に処理を移行し、グループ終了フラグ1107を設定し、グループ終了通知を出力ポート508に発行する。更に、ステップS609に処理を移行し、プリンタキュー情報1201のグループID1205をクリアして、処理を終了する。
【0037】
また、ステップ601において、アプリケーション501がジョブのグルーピング開始を示す印刷制御サービスモジュール506のAPI(StartGroupJob)が呼び出されたかを判断し、StartGroupJobが呼ばれていなければ、グルーピングを指定されていないジョブであると認識し、ステップ610に処理を移行し、ジョブ制御ポート504からプリントジョブデータを受信する。ステップ611では、受信したジョブに関するJobリスト1101を作成し、ジョブID1102,ドキュメント名1104、スプールファイルパス1105を設定する。ステップ612では、出力ポート508に対して、ステップ610で受け付けたジョブの送信指示を行い処理を終了する。送信指示には、Jobリスト1101のジョブID1102の情報をあわせて通知する。
【0038】
図7は、出力ポート508のジョブのグルーピング処理を示すフローチャートである。
【0039】
ステップ701でプリンタキュー514からステップS606、S612で発行した送信指示であるか、または、ステップ602で発行したStartGrouJobの指示であるかを判断する。StartGroupJobの指示であれば処理をステップS712に移行し、ステップS605で、プリンタキュー情報1201のデバイスIPアドレス1204に対して接続処理を行う。
【0040】
ステップS702では、送信指示に指定されたジョブIDに該当する、Jobリスト1101のグループID1106を参照し、グループIDが設定されているかを確認する。グループIDが設定されていれば、ステップS703に処理を移行する。
【0041】
ステップS703では、出力ポート508が既にグループジョブを転送するためのセッションを接続しているかを確認する。接続済みでなければ、ステップS708で、プリンタキュー情報1201のデバイスIPアドレス1204に対して接続処理を行う。
【0042】
ステップS704では、スプールファイルパス1105のファイルの転送を行い、ステップS705に処理を移行する。
【0043】
ステップS705では、ステップS607で発行されたグループ終了通知が通知されているかを確認し、グループ終了通知が発行されていなければ、まだ、送信するグルーピングのジョブがあると判断し、処理をステップS701に移行する。
【0044】
ステップS705で、グループ終了通知が発行されていれば、送信するグループのジョブが無いと判断し、ステップS706に移行する。
【0045】
ステップS706において、グループ終了通知が発行されていれば、送信するグルーピングされたジョブが無いと判断して、ステップS710やステップS708、ステップS712で接続を会したセッションを切断し処理を終了する。
【0046】
ステップS707では、グルーピングした全てのジョブのJobリスト1101を削除し処理を終了する。
【0047】
ステップS703において、グループジョブを転送するためのセッションが接続されていなければ、ステップS704に処理を移行し、スプールファイルパス1105のファイルの転送を行い、ステップS705に処理を移行する。
ステップS702において、グループIDが設定されていなければ、ステップ710に処理を移行し、プリンタキュー情報1201のデバイスIPアドレス1204に対して接続処理を行う。ステップS712では、スプールファイルパス1105のファイルの転送を行い、ステップS706に処理を移行する。
【0048】
図8は、印刷制御サービスモジュール506のスケジュール方法(スケジュールモード1108)の選択からジョブを送信するまでのフローチャートである。
【0049】
S801でジョブのスプールを開始し、S802でジョブのスプールが終了するとS803で印刷制御サービスモジュール506が停止するための終了処理を行っているかを確認する。S803で終了処理が行われている場合はJobリスト1101のスケジュールモード1108を2にする。この情報がS806でサーバであるジョブ制御モジュール507に通知されるとジョブ制御モジュール507はスケジュールモード1108をスケジュールリスト1304に設定する。この値が設定されたジョブはデバイスのキューのバッファが受け付けるグループジョブのサイズよりも少ない場合は、受け付けるジョブのみスケジュール登録を行う。
【0050】
S803で印刷制御サービスモジュール506が停止処理を行っていない場合は、S804でスケジュールモード1108を1に設定する。次にS806でジョブを一括登録指示をする。この時スケジュールモードも一緒に通知する。通知を受けたジョブ制御モジュール507はスケジュールモード1108をスケジュールリスト1304に設定する。このモードが設定されているグループジョブはデバイスのキューのバッファが受け付けるグループジョブのサイズよりも少ない場合はジョブのスケジュールを拒否する。次にS807でサーバのジョブ制御モジュール507から送信可能通知を受けたかを確認し、受けている場合はS809のジョブの送信を行う。受けていない場合はS808のデバイスのジョブ数、サイズを監視し、サーバのジョブ制御モジュール507からの送信可能通知を待つ。
【0051】
図9はジョブ制御モジュール507のスケジュール方法についてのフローチャートである。
【0052】
印刷制御サービスモジュール506からジョブの登録があるとS901で複数ジョブの一括登録を受付、S902で受け付け可能ジョブ数を確認する。S903で受け付け可能ジョブ数が登録予定ジョブ数より多い場合は、S904で受信可能サイズを確認を行う。また、登録予定ジョブ数がけ付け可能ジョブ数より多い場合は、S908でスケジュールモードの確認を行う。モードが1の場合はS909で登録を中止する。モードが2の場合はS906に移行し、グループジョブのメンバジョブを登録できるだけ登録する。また、S904で受信可能サイズを確認した結果、S905で受け付け可能ジョブ数が登録ジョブ数より多き場合は、S906に移行しグループジョブの登録を行う。少ない場合はS908でスケジュールモードの確認を行う。S906の後、S907でクライアントに受信可能通知を行う。その後ジョブ制御モジュール507でジョブの受信が開始されるとS910でグループジョブの先頭のジョブから印刷を行う。
【0053】
図10はクライアント(印刷制御サービスモジュール506)とサーバ(ジョブ制御モジュール507)とネットワークプリンタのコントローラ513のタイミングチャートである。
【0054】
S1001でグループ化が終了し、S1002でスプールが終了するとS1003でジョブ制御モジュール507に対しグループジョブが揃ってから一括してジョブを登録するを行う。S1005でグループジョブの先頭のメンバジョブがスケジュールアップするとS1004でスケジュールアップ通知が印刷制御サービスモジュール506に出される。印刷制御サービスモジュール506ではS1006で転送中というステータスをジョブ制御モジュール507に返し、S1006,7,8,9でグループID1106に対応したジョブの転送を行う。S1010で転送の終了となる。
【0055】
図11は、印刷制御サービスモジュール506が管理するJobリスト1101の構成の一例を示した図である。
【0056】
本実施形態で使用されるJobリスト1101は、ジョブ制御ポート504からプリントジョブデータが印刷制御サービスモジュール506に送信されるとプリンタキュー514を作成する。ジョブID1102は、プリンタキュー514が管理するJobリスト1101に割り当てる任意のIDであり、ジョブを識別するIDとして使用される。ドキュメント名1104は、アプリケーション501が印刷するドキュメントの名前で、ジョブ制御ポート504が印刷制御サービスモジュール506にプリントジョブデータを送信するときにプリンタキュー514に通知する。スプールファイルパス1105は、ジョブ制御ポート504が印刷制御サービスモジュール506に送信したプリントジョブデータを、ジョブ制御サービスがHD205に保存したファイルパスである。グループIDは、アプリケーション501がジョブのグルーピング指定したときにプリンタキュー514が発行した任意のグループIDである。また、このグループIDによってジョブのグループを識別することができる。グループ終了フラグ1107は、グループジョブ内の最後のジョブを示すフラグである。グループモード1108はスケジュール方法を示したスケジュールモードである。このモードが1の場合、サーバのジョブ受付数、またはサイズがグループジョブ数またはサイズより小さい場合、このグループジョブの登録を拒否する。また、このモードが2の場合、グループジョブの中で受け付けられるメンバジョブのみスケジュールの登録を行う。
【0057】
図12は、プリンタキュー514で受付た印刷ジョブの動作を決めるプリンタキュー情報1201を示す図である。
【0058】
ここで、プリンタキュー情報1201の設定内容の、プリンタ名1202、ドライバ名1203、デバイスIPアドレス1204について説明する。
【0059】
プリンタ名1202は、Windows(登録商標)のプリンタオブジェクトの名前を示しており、プリンタオブジェクト毎に異なる名前であり、プリンタオブジェクトを識別することができる。
【0060】
ドライバ名1203は、プリンタオブジェクトに設定されているドライバの名前である。
【0061】
デバイスIPアドレス1204は、対応するネットワークプリンタ(デバイス)105のIPアドレスである。
【0062】
図13は、サーバ上のジョブのスケジュールリストを示す一例である。
【0063】
スケジュールリスト602は個々のデバイス固有の任意のIDであり、ジョブを識別するIDとして使用される。図11のデバイスID1302も同じIDであり、このIDはクライアントのJobリスト1101とサーバのスケジュールリスト1301にそれぞれ登録される。ジョブ状態1303はジョブの状態を示す情報である。スケジュールモード1304はジョブ制御モジュール507のスケジュールモードである。
【0064】
図14は、印刷制御サービスモジュール506が、ジョブグルーピング機能を実現するために、フローチャート図9の処理によって行われる、印刷プロトコルの流れを示す図である。
【0065】
印刷プロトコルの1つのセッションの中で、複数のプリントジョブデータを送信している。
【図面の簡単な説明】
【0066】
【図1】本発明の実施の一形態に係る印刷処理システムのネットワーク構成図を示す。
【図2】本発明におけるネットワークコンピュータのハードウェア構成図である。
【図3】本発明におけるRAM202のメモリマップを表す図である。
【図4】本発明におけるFD204のメモリマップを表す図である。
【図5】本発明におけるクライアントPC内のプリントシステムクライアントのモジュール構成図とネットワークデバイス内のプリントシステムサーバのモジュール構成図を示す。
【図6】本発明におけるクライアントのジョブのグルーピング処理のフローを示す。
【図7】本発明におけるクライアントの出力ポートのジョブグルーピング処理のフローを示す。
【図8】本発明におけるクライアントのジョブのグルーピング処理のスケジュールアップとジョブ送信処理のフローを示す。
【図9】本発明におけるクライアントの印刷制御サービスモジュールのフローを示す。
【図10】本発明におけるサーバの印刷制御モジュールのフローを示す。
【図11】本発明におけるクライアントのJobリストを示す。
【図12】本発明におけるクライアントのプリンタキュー情報を示す。
【図13】本発明におけるサーバのスケジュールリストを示す。
【図14】本発明における印刷プロトコルのセッションを表す図である。
【符号の説明】
【0067】
101、102、103、104 クライアントPC
105 ネットワークプリンタ
【特許請求の範囲】
【請求項1】
複数のクライアントからの印刷ジョブのスケジューリングをデバイスのネットワークインタフェース上で行うプリントシステムで、複数の印刷ジョブをグループジョブとし、グループジョブ内の複数のジョブを、コンピュータからプリンタデバイスに転送するグループジョブの処理において連続して投入可能なジョブの個数、空き容量があることを確認する手段と、
スケジュールされたジョブをスケジュールアップし、クライアントPCにジョブの送信を指示する手段を有する出力デバイス上のプリントサーバを特徴とするのプリントシステム。
【請求項2】
前記記載のプリントシステムであって、連続して出力すべき複数のジョブをグループジョブとして、デバイス上のプリントサーバに登録し、スケジュールを依頼する手段を特徴とする請求項1に記載のプリントシステム。
【請求項3】
前記記載のプリントシステムであって、デバイス上のプリントサーバのスケジュールアップ後の送信指示の後、連続して出力すべき複数のジョブを連続して送信する手段を有するクライアントPCおよびネットワーク回線から構成される請求項1または2に記載のプリントシステム。
【請求項4】
前記記載のプリントシステムであって、機能によりスケジュール方法を切り替えることを特徴とする請求項1乃至3のいずれかに記載のプリントシステム。
【請求項5】
前記記載のプリントシステムであって、請求項4記載のジョブのスケジュール方法としてグループジョブの個々のジョブをまとめてスケジュールできる場合のみ受け付ける方式を特徴とする、請求項1乃至4のいずれかに記載のプリントシステム。
【請求項6】
前記記載のプリントシステムであって、請求項4記載のジョブのスケジュール方法としてグループジョブの個々のジョブをまとめてスケジュールできない場合であっても、一部のジョブを受け付ける方式を特徴とする請求項1乃至5のいずれかに記載のプリントシステム。
【請求項7】
請求項1〜6の何れかに記載のプリントシステムの機能をコンピュータに実現させるためのコンピュータプログラム。
【請求項8】
請求項1〜6の何れかに記載のプリントシステムの処理ステップをコンピュータに実行させるためのプログラムを記録したコンピュータ読取可能な記憶媒体。
【請求項9】
請求項1〜6の何れかに記載のプリントシステムのサーバ処理をデバイスのネットワークインタフェース上で実行させるためのコンピュータプログラム。
【請求項10】
請求項1〜6の何れかに記載のプリントシステムのサーバ処理をデバイスのネットワークインタフェース上で実行させるためのプログラムを記録したネットワークインタフェースが読み取り可能な記憶媒体。
【請求項1】
複数のクライアントからの印刷ジョブのスケジューリングをデバイスのネットワークインタフェース上で行うプリントシステムで、複数の印刷ジョブをグループジョブとし、グループジョブ内の複数のジョブを、コンピュータからプリンタデバイスに転送するグループジョブの処理において連続して投入可能なジョブの個数、空き容量があることを確認する手段と、
スケジュールされたジョブをスケジュールアップし、クライアントPCにジョブの送信を指示する手段を有する出力デバイス上のプリントサーバを特徴とするのプリントシステム。
【請求項2】
前記記載のプリントシステムであって、連続して出力すべき複数のジョブをグループジョブとして、デバイス上のプリントサーバに登録し、スケジュールを依頼する手段を特徴とする請求項1に記載のプリントシステム。
【請求項3】
前記記載のプリントシステムであって、デバイス上のプリントサーバのスケジュールアップ後の送信指示の後、連続して出力すべき複数のジョブを連続して送信する手段を有するクライアントPCおよびネットワーク回線から構成される請求項1または2に記載のプリントシステム。
【請求項4】
前記記載のプリントシステムであって、機能によりスケジュール方法を切り替えることを特徴とする請求項1乃至3のいずれかに記載のプリントシステム。
【請求項5】
前記記載のプリントシステムであって、請求項4記載のジョブのスケジュール方法としてグループジョブの個々のジョブをまとめてスケジュールできる場合のみ受け付ける方式を特徴とする、請求項1乃至4のいずれかに記載のプリントシステム。
【請求項6】
前記記載のプリントシステムであって、請求項4記載のジョブのスケジュール方法としてグループジョブの個々のジョブをまとめてスケジュールできない場合であっても、一部のジョブを受け付ける方式を特徴とする請求項1乃至5のいずれかに記載のプリントシステム。
【請求項7】
請求項1〜6の何れかに記載のプリントシステムの機能をコンピュータに実現させるためのコンピュータプログラム。
【請求項8】
請求項1〜6の何れかに記載のプリントシステムの処理ステップをコンピュータに実行させるためのプログラムを記録したコンピュータ読取可能な記憶媒体。
【請求項9】
請求項1〜6の何れかに記載のプリントシステムのサーバ処理をデバイスのネットワークインタフェース上で実行させるためのコンピュータプログラム。
【請求項10】
請求項1〜6の何れかに記載のプリントシステムのサーバ処理をデバイスのネットワークインタフェース上で実行させるためのプログラムを記録したネットワークインタフェースが読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2006−79421(P2006−79421A)
【公開日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願番号】特願2004−263845(P2004−263845)
【出願日】平成16年9月10日(2004.9.10)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願日】平成16年9月10日(2004.9.10)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]