(57)【要約】【課題】オフラインジョブの実行によるグループジョブの転送中断を防止する。【解決手段】スケジューラは、グループジョブに属するメンバ印刷ジョブの送信をプリント１０１から受けたプリンタ１０２により、そのジョブの解析を開始した旨を示すステータスを受信して（Ｓ７１１）、ただちにその印刷ジョブの停止を指示する（Ｓ７１２）。これをグループ中の全印刷ジョブに対して繰り返し（Ｓ７１６）、全ジョブの受信を確認したなら（Ｓ７２０）、グループ内の印刷ジョブの順序に従って、先頭から順にジョブ再開命令を発行する（Ｓ７２１）。こうして、グループの全印刷ジョブを受信してから初めてそれら印刷ジョブの実行を開始することができる。【選択図】図７
2006056072.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷ジョブを含むグループジョブにオフラインジョブが含まれる場合には、オフラインへの移行を含むオフラインジョブの処理を行なう前に、前記グループジョブに含まれる複数の印刷ジョブを受信し、単独のオフラインジョブを受信した場合にはオフラインジョブを実行する制御手段を有することを特徴とする印刷システム。
【請求項２】
ホストコンピュータからオフラインジョブを含むグループジョブの要求があった場合に、前記制御手段は、オフラインへの移行を含むオフラインジョブの処理を行なう前に、前記グループジョブに含まれる複数の印刷ジョブを受信することを特徴とする請求項１に記載の印刷システム。
【請求項３】
所定サイズの媒体を収納する媒体収納手段を有し、前記オフラインジョブは印刷ジョブ指定の媒体サイズの媒体を前記媒体収納手段に収納される媒体サイズから獲得できない場合に発生する印刷ジョブであることを特徴とする請求項１又は２に記載の印刷システム。
【請求項４】
オフラインジョブを含むグループジョブの要求があった場合に、複数の印刷ジョブを受信するまで、事前に受信したジョブの出力処理を停止させる停止制御手段をさらに有することを特徴とする請求項１乃至３の何れかに記載の印刷システム。
【請求項５】
前記オフラインジョブが解除する入力が行なわれた場合に、前記グループジョブの印刷出力を開始するグループジョブ開始制御手段をさらに有することを特徴とする請求項１乃至４の何れかに記載の印刷システム。
【請求項６】
前記グループジョブにオフラインジョブが含まれる場合に、前記グループジョブに含まれるジョブをセキュアジョブに変更する変更手段をさらに有することを特徴とする請求項１乃至５の何れかに記載の印刷システム。
【請求項７】
前記セキュアジョブが認識された場合に、セキュアジョブに対するパスワードが入力されるまで、グループジョブに含まれるジョブの出力処理は停止されることを特徴とする請求項６に記載の印刷システム。
【請求項８】
複数の印刷ジョブを含むグループジョブに、転送中断ジョブが含まれる場合には、転送中断ジョブの処理を行なう前に、前記グループジョブに含まれる複数の印刷ジョブを受信し、単独の転送中断ジョブを受信した場合には転送中断ジョブを実行する制御手段を有することを特徴とする印刷システム。
【請求項９】
複数の印刷ジョブを含むグループジョブにオフラインジョブが含まれる場合には、オフラインへの移行を含むオフラインジョブの処理を行なう前に、前記グループジョブに含まれる複数の印刷ジョブを受信し、単独のオフラインジョブを受信した場合にはオフラインジョブを実行する制御手段を有することを特徴とする印刷ジョブの制御方法。
【請求項１０】
ホストコンピュータからオフラインジョブを含むグループジョブの要求があった場合に、前記制御手段は、オフラインへの移行を含むオフラインジョブの処理を行なう前に、前記グループジョブに含まれる複数の印刷ジョブを受信することを特徴とする請求項９に記載の印刷ジョブの制御方法。
【請求項１１】
所定サイズの媒体を収納する媒体収納手段を有し、前記オフラインジョブは印刷ジョブ指定の媒体サイズの媒体を前記媒体収納手段に収納される媒体サイズから獲得できない場合に発生する印刷ジョブであることを特徴とする請求項９又は１０に記載の印刷ジョブの制御方法。
【請求項１２】
オフラインジョブを含むグループジョブの要求があった場合に、複数の印刷ジョブを受信するまで、事前に受信したジョブの出力処理を停止させる停止制御手段をさらに有することを特徴とする請求項９乃至１１の何れかに記載の印刷ジョブの制御方法。
【請求項１３】
前記オフラインジョブが解除する入力が行なわれた場合に、前記グループジョブの印刷出力を開始するグループジョブ開始制御手段をさらに有することを特徴とする請求項９乃至１２の何れかに記載の印刷ジョブの制御方法。
【請求項１４】
前記グループジョブにオフラインジョブが含まれる場合に、前記グループジョブに含まれるジョブをセキュアジョブに変更する変更手段をさらに有することを特徴とする請求項９乃至１４の何れかに記載の印刷ジョブの制御方法。
【請求項１５】
前記セキュアジョブが認識された場合に、セキュアジョブに対するパスワードが入力されるまで、グループジョブに含まれるジョブの出力処理は停止されることを特徴とする請求項１４に記載の印刷ジョブの制御方法。
【請求項１６】
複数の印刷ジョブを含むグループジョブに、転送中断ジョブが含まれる場合には、転送中断ジョブの処理を行なう前に、前記グループジョブに含まれる複数の印刷ジョブを受信し、単独の転送中断ジョブを受信した場合には転送中断ジョブを実行する制御手段を有することを特徴とする印刷ジョブの制御方法。
【請求項１７】
請求９項乃至１６のいずれか１項に記載の方法をコンピュータにより実行するためのプログラム。
【請求項１８】
前記印刷システムはプリンタに含まれることを特徴とする請求項１乃至８の何れかに記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば複数のジョブをまとめて実行させることができるグループジョブ機能を有するプリントシステムに関する。
【背景技術】
【０００２】
従来、印刷指定した文書等のファイル（データやプログラムのまとまり）は、印刷ジョブ（単にジョブと呼ぶこともある。）の単位で印刷出力される。そのため、特にネットワークプリンタ等、複数の利用者により共有されるプリンタでは、一人の利用者が複数のファイルをまとめて印刷指定しても、印刷ジョブはファイル毎に作成されプリンタに渡されるために、ファイル間（すなわち印刷ジョブ間）に他の利用者等からの指示による印刷が割り込むことがある。
【０００３】
このような問題を解決し、印刷ジョブ間への他の印刷ジョブによる割り込みを防止するために、複数のジョブをまとめて印刷させるグループジョブの機能が知られている（特許文献１等参照）。グループジョブ機能は、グループに属する複数のジョブを実行する際に、グループ外のジョブの割り込みを制限する機能である。
【０００４】
また、印刷装置によって先頭のジョブ依頼でＩＤを生成し、そのＩＤをホストに通知し、以後ホストから送られてくる後続のＩＤが付加されたジョブについては、共通のＩＤを有するジョブをグループ化してキューに登録する、複数ジョブをグループ化して印刷する印刷装置が知られている（特許文献２等参照）。
【特許文献１】特開平１１−１１９９４０号公報
【特許文献２】特開平０８−２９２８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、グループジョブ機能を備えたプリンタを利用することで、グループジョブに含まれるジョブ（これをメンバジョブと呼ぶことにする。）の間への他の（当該グループに属さない）ジョブの割り込みを防止できるものの、個々のメンバジョブの実行中に生じるジョブの中断は防ぐことができない。たとえば、オフラインジョブと呼ばれるジョブがある。オフラインジョブとは、そのジョブを実行中にプリンタをオフラインとする命令を含むジョブであり、印刷処理とオペレータによる操作との同期をとるためなどに利用される。オフラインジョブ実行時に、プリンタはオフライン状態になり、ステータス要求や各種ジョブ操作に係るホストコンピュータとの通信は維持しつつ、ジョブの受け付けは中断する。このオフラインジョブがグループジョブに含まれていると、オフラインジョブを実行中にプリンタによるジョブの受信が中断してしまう。そのためにグループ内のすべてのジョブの受信を完了する前に、グループに属するべきジョブの受信が中断することもある。
【０００６】
グループジョブ実行時の他のジョブによる割り込みの防止を、グループに属するジョブを連続的にプリンタに送信して切れ目なくキューイングさせることで実現している場合、グループの途中でジョブ転送が中断されると、その間に当該グループジョブを発行したホストコンピュータ以外の他のホストコンピュータから発行された印刷ジョブをプリンタが受信することもあり得る。この場合、既にプリンタで受信済みのグループジョブの一部だけが先に印刷されてしまう。そしてその後に当該グループに属さない他のジョブが実行されて印刷され、さらにその後、中断後に受信したグループジョブの続きが実行される、ということになる。この結果、グループジョブが他のジョブに割り込まれてしまうなど、グループジョブ機能が損なわれるという問題があった。この問題はジョブ転送の中断に限らず、ジョブ転送に要する時間（開始から終了までの時間）が長期化すると生じ得る。また、受信が中断されたジョブについて、受信再開後の部分が文字化けするなど正常に処理されないこともあり得る。
【０００７】
本発明は上記従来例に鑑みてなされたもので、グループジョブに属するメンバジョブに、その実行によりジョブ転送の中断を生じ、転送時間の長期化を引き起こす転送中断ジョブ（例えばオフラインジョブ）が含まれている場合であっても、グループに属するメンバジョブについては、グループジョブ実行前にすべて受信可能とすることで、転送時間の長時間化を避けることのできるジョブ管理装置および方法とそれを用いた印刷装置および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明は上記問題点を鑑みてなされたものであり、複数の印刷ジョブを含むグループジョブにオフラインジョブが含まれる場合には、オフラインへの移行を含むオフラインジョブの処理を行なう前に、前記グループジョブに含まれる複数の印刷ジョブを受信し、単独のオフラインジョブを受信した場合にはオフラインジョブを実行する制御手段を有することを特徴とする。
【０００９】
あるいは、複数の印刷ジョブを含むグループジョブに、転送中断ジョブが含まれる場合には、転送中断ジョブの処理を行なう前に、前記グループジョブに含まれる複数の印刷ジョブを受信し、単独の転送中断ジョブを受信した場合には転送中断ジョブを実行する制御手段を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、連続してホストコンピュータからプリンタに転送されるべきグループジョブに転送中断ジョブが含まれている場合であっても、グループに属するメンバジョブについては、グループジョブ実行前にすべて受信しておくことで、転送時間の長時間化を避けることができる。そのため、グループジョブ内への他の印刷ジョブの割り込みや、ジョブ転送の中断による文字誤りなどを防止できる。
【発明を実施するための最良の形態】
【００１１】
［第１および第２および第３実施形態に共通な説明］
＜システム構成＞
以下、本発明の実施の形態を図面に基づいて説明する。図１は、本発明の印刷システムの構成の一例を示すシステム構成図である。本システムにおけるネットワークプリンタおよびコンピュータは、ネットワークにそれぞれ複数台接続されていることもあり得る。図１において、１０２は印刷制御装置であるネットワークプリンタ（以下、プリンタあるいはプリンタデバイスと呼ぶこともある。）であり、図示省略したネットワークインタフェース１０２ａを介してネットワーク１０３と接続されている。プリンタ１０２は、プリントサーバ１０１から送信される印字データを含む印刷ジョブを解析してドットイメージに変換し、媒体上に画像として印刷する。プリンタ１０２の印刷方式には特に限定はなく、電子写真方式を採用したレーザービームプリンタや、インクジェット方式を採用したインクジェットプリンタや、熱転写方式を利用したプリンタ等、様々な方式が採用し得る。
【００１２】
本発明に係るプリンタ１０２は、ネットワークインターフェース（ＮＩＣ）１０２ａにスケジューラを搭載している。スケジューラは、たとえばＮＩＣ１０２ａに備えるプロセッサにより実行されるソフトウエアモジュールにより実現される。スケジューラは、プリントサーバ１０１からの印刷ジョブをプリンタ１０２に送信する順序を制御する機能と、プリンタ１０２に受信された印刷ジョブを制御する機能を有する。ＮＩＣ１０２ａはプリンタ１０２に接続されて一体化していることが多いが、本実施形態では、ＮＩＣ１０２ａとプリンタ１０２とを別のユニットとして説明する。
【００１３】
本実施形態では、このスケジューラは、機能的には、プリントサーバ側に存在しても本発明の実施形態とほぼ同じ効果を出すことも可能であるが、プリンタ１０２上に搭載され、各プリンタごとに、送信されるジョブの制御を実行することで、最も通信上の障害などを軽減することができる。
【００１４】
１０１は本実施形態のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワーク１０３に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０３の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０３に接続されている複数のプリンタを管理している。構成としては、コンピュータ１０１は、一般的な情報処理装置であり、印刷制御プログラムが実行可能に格納されている。１０３はネットワークであり、サーバ１０１、ネットワークプリンタ１０２等と接続している。１０４はクライアントコンピュータであり、そのハードウエア構成はサーバ１０１と同様である。
【００１５】
図１のシステムは、このようにネットワークプリンタと、クライアントコンピュータ、プリントサーバを含む。そして、クライアントは印刷ジョブを直接プリンタ１０２に送信せず、プリントサーバ１０１に送信する。そしてプリントサーバ１０１は、クライアントから受信した印刷ジョブを各クライアントに代わって制御し、印刷処理を遂行する。すなわち、図１のシステムにより、いわゆる代行印刷が実現される。
【００１６】
本実施形態では、グループジョブ機能はプリントサーバ１０１を用いた代行印刷によって実現される。したがって、クライアントは、グループジョブ機能を用いる場合にはプリントサーバ１０１にグループのメンバジョブを送信し、プリントサーバ１０２により印刷を代行させる。一方、通常の印刷ジョブは各クライアントから直接プリンタ１０２に対して送信される。すなわち、プリンタ１０２は、プリントサーバ１０１からのグループジョブと、各クライアントからの印刷ジョブとを受信して実行する。
【００１７】
なお、印刷ジョブは、アプリケーションプログラム等により作成された印刷対象のデータ（印刷データ）を、一定の形式に従ってひとまとまりに構成した実行単位である。原則としてひとつの印刷ジョブについては他の印刷ジョブによる割り込みなしに印刷処理が行われる。
【００１８】
＜情報処理装置の構成＞
図２は、図１に示したサーバ１０１の構成を示すブロック図である。図２は一般のコンピュータの構成を示し、ネットワーク１０３に接続された不図示のホストコンピュータについても図１の構成を備えている。
【００１９】
同図において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、オペレーティングシステム（ＯＳ）や本発明に係るネットワークプリンタ制御プログラム等を実行する。ＣＰＵ２００は、プログラムの実行に際して、ＲＡＭ２０２にプログラムの実行に必要な情報やファイル等を一時的あるいは恒久的に格納する制御を行う。
【００２０】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラムが記憶されている。そのほか、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する場合もある。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリやワークエリア等として機能する。
【００２１】
２０３は記憶媒体読み込み手段としてのフレキシブルディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００２２】
２０４は記憶媒体であるフレキシブルディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００２３】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、及び関係プログラム等を格納している。さらに、スプール手段であるスプーラはここに確保される。スプール手段は、プリントサーバ１０１ではサーバスプーラのことである。
【００２４】
２０６は指示入力手段であるキーボードおよびポインティングデバイスであり、ユーザがプリントサーバ１０１に対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００２５】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタ１０２の状態等を表示するものである。２０８はシステムバスであり、プリントサーバ１０１であるコンピュータ内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行うインターフェース２０９にはネットワークインターフェースも含まれる。
【００２６】
＜ＮＩＣの構成＞
プリンタ１０２に取り着けられたＮＩＣ１０２ａも、コンピュータたとしての基本的な構成を備えている。すなわち、データ等を格納するＲＡＭ、後述の図９や図１４の処理手順を実現するためのプログラム等を格納するＲＯＭ、そのプログラムを実行するためのＣＰＵを備える。ＬＡＮなどに対するネットワークインターフェースを実現するためのその他の構成を有することはもちろんである。
【００２７】
＜メモリマップ等の説明＞
図３は、サーバ１０１の稼働時における図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。ＦＤ２０４からロードされるネットワークプリンタ制御プログラムがＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラム及び関係データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００２８】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２９】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、プリントサーバ１０１において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。
【００３０】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００３１】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関係データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００３２】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。同図において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関係データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、サーバ１０１に同様の構成を採っている。
【００３３】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。同図において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラム及び関係データを格納している。
【００３４】
図３，図４のネットワークプリンタ制御プログラムすなわち印刷制御プログラムは、後述の図６におけるジョブ制御プリントサービス６０５に相当する。また、その処理内容は、図８や図１３に記載された手順を含む。また図３の関連データとは、図８や図１３の手順で一時的にであっても書き込みあるいは参照されるデータである。図４の関連データとは、図３の関連データから一時的なデータを除いたもので、プログラムで参照される固定値等が含まれる。
【００３５】
＜印刷ジョブ制御システム＞
次に、本実施形態における、印刷を行う印刷ジョブ制御システムについて説明する。なお、この印刷ジョブ制御システムのサーバ１０１側における印刷処理は、上述した印刷制御プログラムで実行される。
【００３６】
これらは、一台のホストコンピュータで実行されるようなプリントサーバであってもよいし、複数のホストコンピュータにまたがるプリントシステムであってもよい。また、本発明の実施形態は、一台のプリントサーバにおいて説明するが、サーバマシン上にジョブをスプールするサーバスプール方式に限らず、プリントシステム内のクライアントマシンであるホストコンピュータがジョブを保持し、サーバマシンによるプリントシステム内のジョブのスケジュール管理の元、ジョブを出力装置に送信するクライアントスプール方式であってもよく、本発明の代行印刷処理を実施することができる。
【００３７】
＜印刷ジョブの処理＞
次に、本プリントシステムのホストコンピュータのソフトウェア構成の概要について説明する。図６は、サーバ１０１におけるソフトウェア構成の一例を示す図である。図６のそれぞれのブロックはソフトウエアモジュールを示し、ブロック間の矢印は、アプリケーション６０１から発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェアモジュールは、図２のＣＰＵ２００によって実行され、それぞれの機能が実現される。なお図６の印刷ジョブの流れは代行印刷時の処理の流れであり、本実施形態におけるグループジョブの各メンバ印刷ジョブの流れに相当する。なおクライアントからサーバ１０１を介して代行印刷を行う場合には、たとえばクライアントのポートモニタ６０４からネットワークを介してサーバのジョブ制御プリントサービスにジョブを渡すことなどで実現できる。また、本実施形態ではグループジョブはサーバにより管理されているが、ジョブ制御マネージャをクライアントに備えることで、クライアントにより直接グループジョブを実現することもできる。
【００３８】
通常、マイクロソフトワード（登録商標）などの一般的なアプリケーションプログラム６０１は、利用者から文書等の印刷の指示を受け付けると、一連の描画コマンドをＯＳを介して生成する。ＯＳを介して生成された描画コマンドはＰＤＬドライバ６０２にａ渡される。ＰＤＬドライバ６０２は、一連の描画コマンドに基づいてネットワークプリンタ１０２で解釈可能なＰＤＬファイルを含む印刷ジョブを生成する。なお、以下の説明ではＰＤＬドライバを例に説明を行うが、これに限定されるものではなく、例えば、ＢＤＬ（Ｂａｎｄ  ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）や、圧縮ビットマップを作成するプリンタドライバ、或いは、アプリケーション及びＯＳによりプリンタドライバを介さずに印刷データを生成する形態などにも適用可能である。
【００３９】
ＰＤＬドライバ６０２は、プリントデバイス１０２へ印刷ジョブを送信するためにスプーラ６０３に印刷ジョブを渡す。本実施形態では、ホストコンピュータのＯＳとしてウィンドウズ（登録商標）を用いているので、スプーラ６０３はウィンドウズ（登録商標）スプーラである。もちろん本発明を適用するコンピュータのＯＳはウインドウズ（登録商標）に限定されるものではなく、描画命令を備えるものであれば他のＯＳも適用可能である。
【００４０】
スプーラ６０３は、ユーザがユーザインタフェースを介して選択し指示したポートモニタ６０４に印刷ジョブを渡してプリントデバイス１０２に送信させる手順をとる（矢印ａ）。ここでは、ユーザは、ジョブ制御プリントサービス６０５に印刷データを転送するポートモニタ６０４（以降、ジョブ制御ポートモニタと略記）をあらかじめ指定して印刷を指示したものとして説明を進める。印刷ジョブのみならず、不図示のプリンタドライバインタフェースを介して利用者により設定された、用紙サイズやステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ６０４に送信される。ブロック６０１〜６０４はクライアントモジュールである。ジョブ制御プリントサービス６０５やスプーラ２０５はサーバモジュールである。クライアントモジュールであるブロック６０１〜６０４が独立したクライアント端末に属する場合には、ジョブ制御ポートモニタ６０４とジョブ制御プリントサービスとの間にはネットワーク１０３による通信が介在する。
【００４１】
ジョブ制御ポートモニタ６０４はジョブ制御プリントサービス６０５に印刷ジョブおよび印刷設定情報を送信する（矢印ｂ）。ジョブ制御プリントサービス６０５は、転送された印刷ジョブ及びデバイスの状態を管理する機能を備える。また、プリントデバイス１０２から通知されるデバイス状態（デバイス情報）やジョブの状態（ジョブ情報）などのを管理したり、また、プリントデバイス１０２に対して所定の命令をする機能も備える。
【００４２】
そして、ジョブ制御プリントサービス６０５は、印刷ジョブをプリンタデバイス１０２に送信する前に、プリンタデバイス１０２が持つ（ただし、本実施形態ではプリンタデバイス１０２に一体に取り着けられたＮＩＣ１０２ａが持つ。）印刷ジョブの順序管理機能モジュール（以下スケジューラと呼ぶ。）に印刷の要求を発行する（矢印ｃ）。スケジューラの順序管理機能によりプリンタデバイス１０２から順番の到来が通知された場合には（矢印ｄ）、ジョブ制御プリントサービス６０５は、プリンタ１０２に印刷ジョブを送信する（矢印ｅ）。
【００４３】
プリンタデバイス１０２は、印刷ジョブの完了を確認すると印刷完了の通知をジョブ制御プリントサービス６０５に通知（矢印ｆ）したり、また、プリンタデバイス１０２の状態を通知する（矢印ｆ）。
【００４４】
プリントマネージャ６０７もクライアントモジュールであり、ユーザが、ジョブ制御プリントサービス６０５内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。プリントマネージャ６０７は、ジョブ制御プリントサービス６０５のアプリケーションプログラムインタフェース（ＡＰＩ）を介して、ジョブ制御プリントサービス６０５と情報・指示をやり取りしている。
【００４５】
プリントマネージャ６０７は、主に、ジョブ制御プリントサービス６０５が管理するネットワークプリンタ１０２の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。ここでのジョブ制御プリントサービス６０５はネットワークを介して通信可能な各デバイス（印刷装置）の印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスの通知を受け付ける機能を備える。
【００４６】
更に詳細な処理としては、プリントマネージャ６０７がジョブ制御プリントサービス６０５に対してデバイスを指定したイベントを発行し、ジョブ制御プリントサービス６０５は発行されたイベントに基づくデバイスのステータスを認識して、監視に基づく結果をプリントマネージャ６０７に通知する。
【００４７】
なお、クライアント１０４からプリンタ１０２に直接印刷ジョブが送信される場合、ジョブ制御ポートモニタ６０４からプリンタ１０２へと印刷ジョブは送信される。
【００４８】
［第１の実施形態に特有な構成および処理の説明］
本発明の第１の実施形態について、図７のシーケンス図、および、図８、図９のフローチャートを用いて説明する。図７は、本発明の代行印刷処理の第１の実施形態を実現するプリントシステムにおいて、プリントサーバ１０１と、プリンタ間１０２の手順を示した図である。このプリンタ１０２には、オプションで装着するＮＩＣ上に、クライアントＰＣおよびプリントサーバからのジョブの送信をスケジュールするスケジューラが搭載されている。
【００４９】
はじめに、図７のシーケンス図をもとに、本発明の第一の実施形態のプリントシステムにおけるプリントサーバ１０１とプリンタ１０２との間における処理シーケンスを説明する。図７のプリントサーバ１０２による動作は、図６のジョブ制御プリントサービス６０５により遂行される。図７は、グループジョブにが含まれている場合のシーケンスを示している。グループジョブでない単独の印刷ジョブについては、プリンタ１０２は原則としてそれを受信した順序で順次実行する。これはオフラインジョブや手差し給紙設定されたジョブ、セキュアジョブについても同様である。
【００５０】
なお、本明細書では、ジョブの実行中にたとえばジョブ転送の一時中断などを生じるために、そのジョブを含むグループジョブ全部の転送に長時間を要する可能性のあるジョブのことをオフラインジョブと呼ぶことにする。したがって、オフラインジョブには、オフライン命令を含んだいわゆるオフラインジョブの他、手差し印刷が指定されたジョブや、実行前に認証を要求するセキュアジョブも含まれる。手差し印刷が指定されているジョブは、手差し給紙のページにさしかかった時点で、その後のジョブの受信が中断される。セキュアジョブは実行前に認証の機会提供のために中断する。なお、オフラインジョブは、手差し給紙設定されたジョブやセキュアジョブを含まない狭義の意味で使用される場合もあるが、その場合には、その狭義のオフラインジョブや手差し給紙設定されたジョブやセキュアジョブなど、実行時にジョブ転送の中断をもたらす広義のオフラインジョブを転送中断ジョブと呼ぶ。以下では特にことわらない限りオフラインジョブは広義で使用されている。
【００５１】
図７において、プリントサーバ１０１上で、グループジョブ印刷機能が実行され、複数のメンバ印刷ジョブがユーザの指示によりプリントサーバ１０２にスプールされるところから、図７のシーケンス図は開始される。なおグループジョブは、たとえば以下のようにして実行される。まずグループジョブの識別子等を含むグループジョブ開始命令をクライアントからプリントサーバ１０２送信する。引き続き、その識別子と同じ識別子を有するメンバジョブとクライアントからプリントサーバ１０２に送信する。プリントサーバ１０２では、共通の識別子を有するメンバジョブをスプールし、予め決めていた数のジョブを受信したり、あるいはグループジョブ終了命令をクライアントから受信すると、当該グループジョブのスプールを終了する。
【００５２】
図７において、同一グループとしてまとめて印刷されるべき全メンバジョブのスプールが終了すると（Ｓ７０１）、プリントサーバ１０１に存在するジョブ制御プリントサービス６０５は、ジョブ転送に要する時間が長くなるためにグループジョブがまとめて印刷できなくなる可能性のある、たとえばオフラインジョブがグループ内に含まれているかどうか確認する（Ｓ７０２）。
【００５３】
ステップＳ７０２では、プリントサーバ１０２は、スプールしたグループジョブにオフラインジョブが含まれているか判定する。
【００５４】
次に、プリントサーバ１０２は、ステップＳ７０２におけるチェックの結果に応じて、オフラインジョブが含まれていると判定した場合には、プリンタ１０２に搭載されているスケジューラに、ジョブの受信中断のおそれがあるオフラインジョブの混在を示すモード（混在モード）でグループジョブの登録を行い、指示待ちとなる。このモードはたとえばモードを標示するデータフィールドを用意し、そこにオフラインジョブの混在モードに対応する値を書き込むことで実現できる。また、グループジョブの登録命令には、それに含まれるジョブの数が含まれることが望ましい。なおスケジューラは、本実施形態ではプリンタ１０２のＮＩＣ１０２ａに搭載されているが、プリンタ１０２と一体であることからプリンタ１０２に搭載されている、と記載する場合もある。
【００５５】
一方、オフラインジョブが含まれていないと判定した場合には、プリンタ１０２に搭載されているスケジューラに、オフラインジョブの不混在を示すモード（不混在モード）でグループジョブの登録を行い、指示待ちとなる。なお図７は混在モードでグループジョブが登録された場合のシーケンスを示す。
【００５６】
スケジューラは、受信したグループジョブの登録命令を受信するとジョブＩＤを発行して（Ｓ７０４）、スケジュールアップ（スケジュール完了）をプリントサーバ１０２に応答する（Ｓ７０５）。発行されるＩＤには、個別のジョブを管理するジョブＩＤとグループジョブを管理するグループジョブＩＤとが含まれる。なお、これ以降、スケジューラは、グループジョブに属するジョブ以外のジョブの実行は、グループジョブが完了するまで中断させる。あるいは、これ以降、プリンタ１０２は、グループジョブに属するジョブの受信が完了するまでは、グループ以外のジョブは受け付けない。こうすることでグループジョブの一体性を保持している。
【００５７】
プリントサーバ１０１は、スケジューラからスケジュールアップの指示を受信すると、管理しているジョブのジョブステータスをジョブの転送中を示す状態に変更する（Ｓ７０６）。次に、グループ内の先頭のジョブから送信を開始する（Ｓ７０９）。ジョブはＮＩＣを１０２ａを通してプリンタ１０２に受信される。
【００５８】
このプリンタ１０２で受信されたジョブは、ただちに解析が開始される（Ｓ７１０）。それと同時に、プリンタ１０２で管理するジョブのステータスが、解析が開始されたことを示す「プレプロセシング」に変更されて、それがスケジューラに通知される（Ｓ７１１）。スケジューラは、プリンタ１０２からのジョブのステータス通知後、直ちにプリンタ１０２に対して当該ジョブの停止を指示する（Ｓ７１２）。スケジューラは、プリンタ１０２に対して、同一グループ内のすべてのジョブを受信し、停止するまで、同様に処理を続ける（Ｓ７１３〜Ｓ７１８）。なお、スケジューラは、ジョブステータス通知をプリンタ１０２から受信した場合に、当該ジョブの停止命令をプリンタ１０２に対して発行すべきか否かを判定する。この判定手順については図９のステップＳ９１０で説明する。同一グループ内のすべてのジョブを受信したことは、ステップＳ７０４で発行したグループジョブのジョブＩＤを有するジョブを、グループジョブの登録命令に含まれるたとえばメンバジョブの数だけ受信したなら全て受信したと判定することなどにより判定できる。
【００５９】
ジョブ制御プリントサービス６０５は、すべてのジョブの送信が終了すると、ジョブステータスを「全ジョブ転送済み」に更新する。一方スケジューラは、同一グループ内の全ジョブの受信を確認の上（Ｓ７２０）、プリンタ１０２内で停止しているジョブについて、先頭から順に再開命令を発行する（Ｓ７２１）。プリンタ１０２は再開命令に応じて印刷を行う。なおスケジューラによる全ジョブの受信の確認は、上記したジョブＩＤを用いた方法で行うことができる。
【００６０】
さて一方、不混在モードのグループのメンバジョブに対しては、スケジューラはステップＳ７１２やＳ７１６におけるジョブ停止命令を発行することはない。そのため、各メンバジョブは、それがプリンタ１０２により受信される都度実行され、平行して同一グループに属する後続のジョブの受信も進行する。このため、ファーストプリントの時間は従来通りであり、印刷完了までの時間を短縮できる。
【００６１】
以上のような手順で処理を行うことにより、例えば、グループジョブに属する先頭のジョブが、そのジョブの実行時にプリンタをオフラインにして停止するようなオフラインジョブあったとしても、同一グループでまとめて印刷すべきジョブは、メンバジョブの実行時にはすべてプリンタに受信されている。そのため、まとめて印刷すべきグループジョブの受信が中断して、グループとしての出力の一体性が失われるおそれのある状況を回避することができる。
【００６２】
＜ジョブ制御プリントサービスおよびスケジューラの処理＞
次に、前述した本発明の第一の実施形態のシーケンスにおける、プリントサーバ１０１と、プリンタ１０２に送信されるジョブのスケジュールを管理するスケジューラの処理について、図８、図９のフローチャートを用いて説明する。基本的には図７で説明したとおりであるが、図７には表されていない処理の条件分岐等についてもフローチャートには記載されている。
【００６３】
図８は、本発明の第１の実施形態における、プリントサーバ１０１上でのジョブ制御プリントサービス６０５の手順を示したフローチャートである。図８において、一般的なアプリケーションソフトとウインドウズ（登録商標）スプーラ、または、特別なソフトウェアからの登録などにより、グループジョブ印刷機能をもちいた印刷処理が実行されると、ステップＳ８０１において、ジョブ制御プリントサービス６０５で、ジョブのスプールが開始され、順にジョブがスプールされる。ステップＳ８０２において、すべてのジョブのスプールが終了すると、ステップＳ８０３において、ジョブ制御プリントサービス６０５にスプールされた、同一グループのジョブとして印刷されるジョブ中に、オフラインジョブがあるかどうか判別する。この判別方法は、例えば、ジョブ制御プリントサービス６０５や、ジョブ制御ポートモニタ６０４が、プリントジョブ中のコマンド指示部をパースするなどして識別してもよいし、他のソフトウェアからのジョブのスプール時に個別に通知されてもよい。本発明の実施形態においては、グループジョブ印刷機能の指示手段やジョブの種類の識別手段には依存しない。
【００６４】
オフラインジョブが存在すれば、ステップＳ８０４に移行し、ジョブ制御プリントサービス６０５は、オフラインジョブ有のモードでグループジョブをスケジューラに登録する。このとき、個別のジョブの登録と、グループとしての登録を一度に実施し、スケジューラが個別のジョブを管理するジョブＩＤとグループジョブを管理するグループジョブＩＤを取得する。
【００６５】
一方、オフラインジョブが存在しなければ、ステップＳ８０７に移行し、ジョブ制御プリントサービス６０５は、オフラインジョブなしのモードでグループジョブをスケジューラに登録する。このとき、個別のジョブの登録と、グループとしての登録を一度に実施し、スケジューラが個別のジョブを管理するジョブＩＤとグループジョブを管理するグループジョブＩＤを取得する。
【００６６】
ステップＳ８０５では、スケジューラから登録したグループジョブのスケジュールアップの指示がくるまで待ち状態となる。ステップＳ８０５において、プリンタ１０２へのジョブ送信を管理するスケジューラから、登録したグループジョブに関するスケジュールアップの指示を受けると、ステップＳ８０５の待ち状態からステップＳ８０６に進む。このスケジュールアップの指示は、グループごとのグループジョブＩＤでもよいし、グループ内の先頭のジョブのように個別のジョブを識別するジョブＩＤで指定されてもよい。ステップＳ８０６において、グループ内のジョブについてすべてのジョブを先頭から順に送信してプリントサーバ１０１上の処理を終了する。このときに、グループジョブ印刷機能の能力により、個別にジョブを送信するだけのグループジョブ印刷機能であっても、１セッションの通信中に、同一グループのジョブを送信するようなグループジョブ印刷機能であるなど、どのような通信方法によるジョブ送信であっても、本発明の実施形態は適用することができる。
【００６７】
次に、本発明の第１の実施形態における、プリンタ１０２に送信されるジョブのスケジュールを管理するスケジューラの処理について、図９のフローチャートを用いて説明する。
【００６８】
図９は、本発明の第１の実施形態において、プリントサーバ１０１のジョブ制御プリントサービス６０５にジョブがすべてスプールされ、スケジューラに対して、オフラインジョブの有のモードでジョブの登録を行う時点から開始される。
【００６９】
ステップＳ９０１において、グループジョブ印刷機能の全ジョブをジョブ制御プリントサービス６０５が、プリンタ１０２のスケジューラに登録を行う。このときに、スケジューラは、各メンバジョブごとに、ジョブ制御プリントサービス６０５から受信した登録情報、たとえばジョブＩＤやサイズ、グループジョブを識別するグループジョブＩＤや、ジョブの種類などを、例えば、図１０に示すようなジョブ管理情報として記録する。図１０の管理情報には、そのジョブが属するグループジョブＩＤ１０１１、ジョブ制御プリントサービス６０５が管理するジョブＩＤ（１）１０００、スケジューラが発行して管理するジョブＩＤ（２）１００１、プリンタなどの出力装置が装置内のジョブの管理に使用するジョブハンドル１００７、また、ジョブ中に埋め込まれ、各サービスやプリンタなどの管理が異なるジョブ管理情報を関連付けるためのジョブ関連情報１０１０、など、ジョブの識別に必要な情報は、すべて記録できる。そのほか、ジョブの種類（オフラインジョブやセキュアジョブ等）１００９、設定されたパスワード１００８、実行されるプリンタ名１００２、ジョブが解析中（プレプロセシング）であること等を示すジョブステータス１００４、印刷対象とされているドキュメント名１００５、データサイズ１００６等を含む。これらはジョブ制御プリントサービス６０５から受信した登録情報をもとにテーブルに記録される。このテーブルおよび図１１のテーブルは、ＮＩＣ１０２ａのＲＡＭに確保される。
【００７０】
次にステップＳ９０３において、ジョブの受信を停止させるオフラインジョブの混在の有無を示す情報をグループの図１１のようなグループジョブの管理情報に記録する。ステップＳ９０２およびＳ９０３の処理は一連の登録処理として実行することもできる。グループジョブ管理情報には、グループジョブＩＤ１１０１、グループジョブが転送中であるとか転送完了したことなどを表すステータス１１０２、実行するプリンタ名１１０３、オフラインジョブを含むことを示すオフライン情報１１０４、グループジョブに属するメンバジョブのジョブ管理情報（図１０参照）へのポインタ１１０５等を含む。したがってステップＳ９０３においては、オフライン情報１１０４に、ジョブ制御プリントサービス６０５から受信したグループジョブ登録命令に含まれるオフラインジョブの有無を示す情報を記録する。
【００７１】
次に、ステップＳ９０４において、スケジューラは、各ジョブのジョブＩＤを発行し、プリントサーバ１０１のジョブ制御プリントサービス６０５に通知する。その後、ステップＳ９０５において、他のジョブなども含めた、プリンタ１０２に送信されるジョブのスケジュール状況を確認し、ステップＳ９０６において、登録されているグループジョブの全ジョブが送信可能と判断すると、ステップＳ９０７に進み、プリントサーバ１０１上のジョブ制御プリントサービス６０５に対し、グループジョブのスケジュールアップを指示する。
【００７２】
スケジュールアップ指示の後、ステップＳ９０８において、ジョブの受信通知を待つ。プリンタ１０２にジョブが送信され、プリンタ１０２からのイベント（ジョブステータス）通知により、ジョブのプリンタ１０２への投入がスケジューラに通知される。ステップＳ９１０において、スケジューラは、プリンタ１０２のコントローラから通知されたジョブステータスに埋め込まれたジョブＩＤ（ジョブＩＤ（１）１０００でもジョブＩＤ（２）１００１でも、いずれでもジョブ制御プリントマネージャ６０５と共有するものであればよい。）を基に、当該ジョブが、スケジューラが管理するジョブ管理情報（図１０）を参照して、その属するグループジョブＩＤ１０１１を獲得する。そして、そのグループジョブＩＤを有するグループジョブ情報（図１１）のオフラインジョブ情報１１０４を参照し、そのグループジョブにオフラインジョブが含まれているか判別する。そして、ジョブステータス通知が、オフラインジョブが含まれているグループに属するジョブからのものであると判定されたならば、ステップＳ９１１において、スケジューラは、プリンタ１０２のコントローラに指示を出し、ジョブの出力処理を停止させる。
【００７３】
次にステップＳ９１２において、同一グループのすべてのジョブがプリンタ１０２に受信されたかどうか判断する。すべてのジョブの受信が終了するまで、ステップＳ９０８〜ステップＳ９１１の手順を繰り返す。ステップＳ９１２において、同一グループ内のすべてのジョブの受信を確認する。全てのジョブの受信が確認されたなら、ステップＳ９１３において、同一グループ内の先頭のジョブから順にジョブの停止を解除して、同一グループのすべてのジョブをまとめて印刷させる。これは、グループに属するすべてのジョブの受信が完了してれば、そのグループに属するオフラインジョブ実行されても、グループジョブの受信処理が遅延、たとえば受信途中で中断することは防止できるためである。
【００７４】
以上の手順により、グループジョブの中にオフラインジョブが含まれていたとしても、オフラインジョブの実行により後続するグループジョブを構成する他のジョブのホストからプリンタへの送信を停滞させるという事態を防ぐことができる。このためにグループジョブを一まとめとして迅速にプリンタ側に取り込めることができる。そして、グループジョブ転送途中で生じるジョブ転送の中断により、
なお、スケジューラは、プリントシステムにおける、別のＰＣ上にあっても、本発明の実施形態は実施可能であるが、特に、プリンタ上に搭載されることにより、スケジューラ、プリンタ間の通信のトラブルや、処理時間のロスによる問題が低減することを、ほぼ解消することができる。また、維持費のかかるプリントサーバなどを設置する必要もないなどの効果を出すことができる。
【００７５】
［変形例１］
スケジューラが混在モードのグループジョブの各メンバに対して再開命令を発行した場合、その中のオフラインジョブの実行によって、たとえば後続するグループジョブの転送が中断されることもあり得る。そこで、スケジューラは、混在モードのグループジョブを実行中であることを示すフラグを用意しておき、図７のステップＳ７２１の開始直前にそのフラグをセットする。そして、プリンタ１０２から当該混在モードのグループに属するジョブの実行が全て完了した旨の通知を受けたときにそのフラグをリセットする。そして、そのフラグがセットされている間は、グループジョブの登録命令に対してスケジュールアップを応答しない。こうすることで、前のグループジョブの実行により、後続するグループジョブの転送の中断を防止することができる。
【００７６】
［変形例２］
変形例２を拡張すると、先行する単独のオフラインジョブにより後続のグループジョブの転送の中断が生じることを防止できる。すなわち、スケジューラは、単独のオフラインジョブを受信し、未だに実行完了していないことを示すフラグを変形例２に加えて用意しておく。そして、オフラインジョブをクライアントやサーバ１０２から受信したときにそのフラグをセットする。そして、プリンタ１０２から当該オフラインジョブの実行が全て完了した旨の通知を受けたときにそのフラグをリセットする。そして、そのフラグがセットされている間は、グループジョブの登録命令に対してスケジュールアップを応答しない。こうすることで、先行するオフラインジョブの実行により、後続するグループジョブの転送の中断を防止することができる。
【００７７】
［変形例３］
図９のステップＳ９１３においては、グループに属する全ジョブの受信を完了してからジョブを再開させている。しかしながら、全ジョブの受信を完了を待たずに、オフラインジョブによるジョブ転送の中断を解除する指示などがプリンタに入力された場合には、ステップＳ９１３の処理を実行するようにしても良い。例えば、オフラインジョブが手差し印刷設定を含むジョブである場合には、プリンタに備えられた手差し給紙口から指定サイズの用紙が挿入されたことが検知されたことを示す信号をトリガとして、グループジョブを始めるようにしても良い。したがって、この場合には、ステップＳ９０８の直前で、手差し給紙口に指定された用紙が挿入されていることを示す信号の有無を判定し、信号があればステップＳ９１３に分岐する。また、ステップＳ９０８、Ｓ９１０、Ｓ９１２で「ＮＯ」と判定された場合には、手差し給紙口に指定された用紙が挿入されていることを示す信号の有無を判定に戻る。このため、手差し給紙口に指定された用紙が挿入された場合、その時点までに停止されているジョブ（手差し給紙設定されたジョブと同一グループに属するジョブ）は再開され、その後に受信するジョブは受信した順序で実行される。
【００７８】
これは手差し給紙設定のされたジョブに限らず、その他のオフラインジョブが実行された場合でも、ジョブ転送の中断が生じる理由を解消するイベントが全ジョブの受信完了前に生じていれば、そのイベントをトリガとしてジョブを再開させたり、ジョブの停止を回避したりすることもできる。
【００７９】
また、オフラインジョブを含むグループジョブの受信が完了し印刷出力が開示されるまで、他の印刷ジョブを受信し出力できるようにすれば、より効率的にプリンタを稼動させることができる。
【００８０】
［第２の実施形態に特有な構成および処理の説明］
本発明の第２の実施形態について、図１２のシーケンス図、および、図１３、図１４のフローチャートを用いて説明する。そのほかの構成については第１の実施形態と同様である。初めに、図１２のシーケンス図をもとに、本発明の第２の実施形態におけるプリントシステムのシーケンスを説明する。本実施形態は、第１の実施形態ではオフラインジョブを含むグループジョブについてはその実行タイミングをスケジューラから停止命令を出すことで遅らせているのに対して、本実施形態ではオフラインジョブを含むグループジョブに属するジョブをセキュアジョブとしてプリンタに送信する。それによってパスワードが入力されるまでプリンタによるその実行を停止させ、実行タイミングをパスワードの発行タイミングで調整する点で相違している。その他の点においては基本的に同一である。なお図１２はオフラインジョブを含むグループジョブについて説明しており、オフラインジョブを含まないグループジョブについては、表されていない。このグループジョブは通常のグループジョブとして処理される。
【００８１】
図１２において、プリントサーバ１０１上で、グループジョブ印刷機能が実行され、複数のプリントジョブがユーザーの指示により、プリントサーバ１０１にスプールされる時点（Ｓ１２０１）から、図１２のシーケンス図は開始される。同一グループとしてまとめて印刷されるべき全ジョブのスプールが終了すると（Ｓ１２０２）、プリントサーバ１０１上に存在するジョブ制御プリントサービス６０５は、ジョブ送信のための通信処理時間が長びいてまとめて印刷できない危険性の高いオフラインジョブがグループ内に含まれているかどうか確認し、含まれている場合には当該グループのジョブをすべてセキュアジョブに変更する（Ｓ１２０３）。セキュアジョブとは、プリンタでジョブを実行する際に、認証（本実施形態ではパスワード認証）が要求され、認証されて初めて実行されるジョブである。通常の印刷ジョブをセキュアジョブに変更するためには、たとえばジョブヘッダ等の制御情報に含まれる「セキュアジョブ」フィールドの値を、セキュアジョブであることを表す値に書き換えることで実現できる。セキュアジョブがパスワード認証を要求する場合、パスワードの入力はプリンタの操作部からで可能であるが、本実施形態ではホストコンピュータから送信し、スケジューラがそれを保持してセキュアジョブ実行時にプリンタに送信・入力する。
【００８２】
次に、プリンタ１０２上に搭載されているスケジューラに、通常の登録とは異なり、セキュアジョブのモードでグループジョブの登録を行う（Ｓ１２０４）。スケジューラは登録要求を受信すると、グループジョブＩＤと各メンバジョブのジョブＩＤを発行し、ジョブ管理情報（図１０）およびグループジョブ情報（図１１）に、必要な情報を登録する（Ｓ１２０５）。必要な情報の一つとしてセキュアジョブであることを示す情報が含まれる。この情報は、たとえば図１１のオフラインジョブ情報１１０４に、オフラインジョブ情報に代えて登録される。
【００８３】
次に、セキュアジョブ用のパスワードをジョブ毎にプリンタ１０２（スケジューラ）に通知して指示待ちとなる（Ｓ１２０６）。スケジューラはパスワードを受信すると図１０のジョブ管理情報のパスワード１００８に登録する（Ｓ１２０７）。そして、スケジューラはグループジョブの受付が可能となった状態で。スケジュールアップの指示を通知する（Ｓ１２０８）。
【００８４】
スケジューラから、スケジュールアップの指示が通知されると、プリントサーバ１０１は、管理しているジョブのジョブステータスをジョブの転送中を示す状態に変更し（Ｓ１２０９）、スケジューラにも通知する（Ｓ１２１０）。次に、グループ内の先頭のジョブから送信を開始する（Ｓ１２１１）。
【００８５】
プリンタ内に投入されたジョブはセキュアジョブであるため、プリンタ１０２によりジョブの解析後順にパスワード入力待ち状態とされ、実行されずに停止する（Ｓ１２１２）。プリンタ１０２が同一グループ内のすべてのジョブを受信し、停止するまで、同様の処理が実行される（Ｓ１２１３〜Ｓ１２１７）。ジョブ制御プリントサービス６０５は、すべてのジョブの送信が終了すると、ジョブステータスを更新し（Ｓ１２１８）、スケジューラに対し、全ジョブの転送済みステータスを通知する（Ｓ１２１９）。
【００８６】
次に、スケジューラは、同一グループ内の全ジョブの受信を確認の上（Ｓ１２２０）、プリンタ１０２内で、停止しているジョブに対し、先頭から順に通知されているパスワードをプリンタ１０２のコントローラに通知して（Ｓ１２２１）、ジョブを再開する（Ｓ１２２２）。
【００８７】
以上のような手順で処理を行うことにより、例えば先頭のジョブが、ジョブの実行時にはプリンタをオフラインにして停止するようなオフラインジョブであったとしても、同一グループでまとめて印刷すべきジョブは、最初のジョブが実行される前にすでにプリンタに受信されている。そのため、まとめて印刷すべきジョブの受信が中断する恐れのある、ジョブの転送処理時間が増大するような状況を回避することができる。
【００８８】
次に、前述した本発明の第２の実施形態のシーケンスにおける、プリントサーバ１０１と、プリンタ１０２に送信されるジョブのスケジュールを管理するスケジューラの処理について、図１３、図１４のフローチャートを用いて説明する。
【００８９】
図１３において、一般的なアプリケーションソフトとウインドウズ（登録商標）スプーラ、または、特別なソフトウェアからの登録などにより、グループジョブ印刷機能をもちいた印刷処理が実行されると、ステップＳ１３０１において、ジョブ制御プリントサービス６０５で、ジョブのスプールが開始され、順にジョブがスプールされる。
【００９０】
ステップＳ１３０２において、すべてのジョブのスプールが終了すると、ステップＳ１３０３において、ジョブ制御プリントサービス６０５にスプールされた、同一グループのジョブとして印刷されるジョブ中にオフラインジョブがあるかどうか判別する。オフラインジョブが存在すれば、ステップＳ１３０４において、同一グループ内のすべてのジョブについてそのコマンドを変更してセキュアジョブに変更する。本実施形態は、コマンドの変更でセキュアジョブへの変更を実現する例を示しているが、ジョブを作り直したり、別フォーマットのデータに作り直すなど、どのような変更方法であっても、本発明の第２の実施形態は実現することができる。
【００９１】
次にステップＳ１３０５において、ジョブ制御プリントサービス６０５は、オフラインジョブ有のモードでグループジョブをスケジューラに登録する。このとき、個別のジョブの登録と、グループとしての登録を一度に実施し、スケジューラが個別のジョブを管理するジョブＩＤとグループジョブを管理するグループジョブＩＤを取得したのち、ステップＳ１３０６において、セキュアジョブ用のパスワードのようなセキュアジョブを実行するのに必要な情報をスケジューラに通知する。このパスワードは、プリンタにおけるジョブの実行タイミングを制御するために使用されるものなので、すべてのジョブについて同一のパスワードを予め決めておきそれを使用することができる。もちろん、セキュリティ保持を兼ねる場合には、各ジョブ毎に個別に利用者に設定させても良い。
【００９２】
次にステップＳ１３０７にすすみ、スケジューラから登録したグループジョブのスケジュールアップの指示がくるまで待ち状態となる。ステップＳ１３０７において、プリンタ１０２へのジョブ送信を管理するスケジューラから、登録したグループジョブに関するスケジュールアップの指示を受けると、ステップＳ１３０７の待ち状態からステップＳ１３０８に進む。このスケジュールアップの指示は、グループごとのグループジョブＩＤでもよいし、グループ内の先頭のジョブのように個別のジョブを識別するジョブＩＤで指定されてもよい。
【００９３】
ステップＳ１３０８では、ジョブ制御プリントサービス６０５が保持するジョブステータスを「転送中」に変更し、そのジョブステータスをスケジューラに送信する。ステップＳ１３０９において、グループ内のジョブについてすべてのジョブを先頭から順に送信する（ステップＳ１３１０）。そして、ステップＳ１３１１でジョブステータスを「転送済」に変更し、そのジョブステータスをスケジューラに送信してプリントサーバ１０１上の処理を終了する。
【００９４】
一方、ステップＳ１３０３において、処理対象のグループジョブに属するジョブは実行時にジョブの送信処理を停止させないジョブばかりである場合、すなわちグループジョブ印刷機能の実行を損なわないジョブばかりであれば、ステップＳ１３１２において、グループジョブとそれに属する各ジョブの登録をスケジューラに対して行い、ステップＳ１３０７からの処理を実行する。
【００９５】
次に、本発明の第２の実施形態における、プリンタ１０２に送信されるジョブのスケジュールを管理するスケジューラの処理について、図１４のフローチャートを用いて説明する。図１４は、本発明の第第２の実施形態において、プリントサーバ１０１のジョブ制御プリントサービス６０５にジョブがすべてスプールされ、スケジューラに対して、オフラインジョブの有のモードでジョブの登録を行う時点から開始される。
【００９６】
ステップＳ１４０１において、グループジョブ印刷機能の全ジョブについて、ジョブ制御プリントサービス６０５からプリンタ１０２のスケジューラに対する登録を受け付ける。ステップＳ１４０２において、スケジューラはグループジョブの登録を行う。これはステップＳ９０２と同様である。ステップＳ１４０３においては、スケジューラが管理する各ジョブやグループジョブのＩＤを発行し、各ジョブごとに、ジョブ制御プリントサービス６０５から受信した登録情報、たとえばジョブＩＤやサイズ、グループジョブを識別するグループジョブＩＤや、ジョブの種類などがジョブ管理情報（図１０）およびグループ情報（図１１）として記録される。もちろんこの後に発行される、スケジューラにより割り当てられるジョブＩＤについては、割り当てられたときに登録される。ステップＳ１４０２およびステップＳ１４０３の処理はひとまとまりの処理として行われても良い。図１０のジョブ管理情報には、ジョブ制御プリントサービス６０５が管理するジョブＩＤ、スケジューラが発行し、管理するジョブＩＤ、プリンタなどの出力装置が装置内のジョブの管理に使用するジョブハンドル、また、ジョブ中に埋め込まれ、各サービスやプリンタなどの管理が異なるジョブ管理情報を関連付けるためのジョブの識別子など、ジョブの識別に必要な情報は、すべて記録できる。加えて、さらにセキュアジョブ用のパスワードも記録することができる。
【００９７】
次に、ステップＳ１４０４において、ジョブ制御プリントサービス６０５から、セキュアジョブ用パスワードの通知があると、同一グループ内のすべての個別のジョブ管理情報にパスワードを記録する。次にステップＳ１４０５において、スケジューラのジョブのスケジュール状況を確認し、ステップＳ１４０６において、スケジュールアップ可能か判断する。スケジュールアップ可能になれば、ステップＳ１４０７において、プリントサーバ１０１上のジョブ制御プリントサービス６０５に対し、スケジュールアップを通知する。ステップＳ１４０８において、ジョブの受信待ち状態となる。
【００９８】
ジョブ制御プリントサービス６０５がジョブの送信を実行し、終了すると、ジョブの転送済みの通知をもとに、同一グループの全ジョブの受信を確認する。転送済みステータスを受信して全ジョブの受信が確認された場合には、スケジューラは、ステップＳ１４０９にすすむ。ステップＳ１４０９では、スケジューラは、ジョブ管理情報から、グループジョブに属する各ジョブについてセキュアジョブかどうか判断する。セキュアジョブであれば、ステップＳ１４１０においてグループに属する各ジョブについて、そのパスワードをプリンタ１０２のコントローラに通知する。プリンタ１０２は、パスワードを受信するとセキュアジョブを再開することにより、同一グループのジョブをまとめて印刷する。なお、プリンタ１０２によるパスワード認証は、たとえばスケジューラが登録されたパスワードをプリンタ１０２のコントローラに渡しておくことで行える。あるいは、スケジューラが認証を行う構成であっても良い。いずれにしてもパスワードはスケジューラからプリンタ１０２に入力されて、認証されセキュアジョブが実行される。
【００９９】
以上のように、本発明の第２の実施形態では、グループジョブにオフラインジョブが含まれている場合に、そのグループに属するジョブをすべてセキュアジョブに変更することで、パスワードの入力タイミングにより、各ジョブの実行タイミングを制御することができる。そのため、グループに属する全ジョブをプリンタに転送してからジョブの実行を開始させることで、オフラインジョブ実行により後続する他のジョブの受信を遅延させるという事態を防ぎ、短い通信時間でグループジョブをプリンタ側に取り込むことができる。
【０１００】
また、グループジョブに含まれる複数のジョブがプリンタ側で全て受信されたとしても、グループジョブを構成する複数のジョブ全てがセキュアジョブに変更されているので、特にグループジョブにオフラインジョブが含まれているか否かを管理し、含まれている場合には他のジョブの印刷出力を停止するというプリンタ側の煩雑な作業を不要とし、セキュアジョブに対する印刷出力の抑制の仕組みで、グループジョブの一体性確保を実現することができる。
【０１０１】
［第３の実施形態に特有な構成および処理の説明］
第１実施形態、第２実施形態では、印刷ジョブの発行元から自発的に転送中断ジョブを発行するよう説明を行なってきた。しかし、これに限定されるものではない。第３実施形態においては、印刷ジョブをプリンタにおいて受信した後に、転送中断ジョブとしてのオフラインジョブが発生した場合でも本願発明を適用できる。
【０１０２】
プリンタには所定サイズの媒体（紙媒体など）を収納する媒体収納が備えられている。そして、印刷ジョブ発行元からの印刷ジョブに指定された媒体サイズを、備えられた媒体収納手段から獲得できない場合にオフラインジョブが発生することがある。
【０１０３】
そして、このような、印刷ジョブ発行元からはオフラインジョブを指定されていないにもかかわらず、印刷ジョブを受信した後に発生するような場合にでも、複数の印刷ジョブを含むグループジョブにオフラインジョブが含まれる（印刷ジョブを受信後発生する）場合に、オフラインへの移行を含むオフラインジョブの処理を行なう前に、グループジョブに含まれる複数の印刷ジョブを受信すれば、上記実施形態と同様の効果を得ることができる。
【０１０４】
［変形例４］
第１実施形態、第２実施形態、第３実施形態ともに、グループジョブにオフラインジョブが含まれるか否かの判定をホスト側のジョブ制御プリントサービスにより行う代わりに、プリンタ側、特にスケジューラで判断させるようにしても良い。
【図面の簡単な説明】
【０１０５】
【図１】本発明のプリントシステムの構成を示すシステム構成図である。
【図２】図１に示した情報処理装置の構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図である。
【図６】ウインドウズ（登録商標）が提供するプリントスプーラとジョブ制御プリントサービスにおける印刷ジョブの関係を示す図である。
【図７】本発明の第１の実施形態の手順を示すシーケンス図である。
【図８】本発明の第１の実施形態のプリントサーバの手順を示すフローチャートである。
【図９】本発明の第１の実施形態のスケジューラの手順を示すフローチャートである。
【図１０】本発明の実施形態におけるジョブ管理情報の一例である。
【図１１】本発明の実施形態におけるグループジョブの管理情報の一例である。
【図１２】本発明の第２の実施形態の手順を示すシーケンス図である。
【図１３】本発明の第２の実施形態のプリントサーバの手順を示すフローチャートである。
【図１４】本発明の第２の実施形態のスケジューラの手順を示すフローチャートである。
【図１】
2006056072.tif 000003
【図２】
2006056072.tif 000004
【図３】
2006056072.tif 000005
【図４】
2006056072.tif 000006
【図５】
2006056072.tif 000007
【図６】
2006056072.tif 000008
【図７】
2006056072.tif 000009
【図８】
2006056072.tif 000010
【図９】
2006056072.tif 000011
【図１０】
2006056072.tif 000012
【図１１】
2006056072.tif 000013
【図１２】
2006056072.tif 000014
【図１３】
2006056072.tif 000015
【図１４】
2006056072.tif 000016