(57)【要約】【課題】  グループジョブについて代行印刷するにあたり、該グループジョブに含まれるすべての印刷ジョブを印刷する。【解決手段】  グループジョブを送信可能な情報処理装置における情報処理方法であって、複数の印刷装置の属性を取得する工程（ステップＳ１００４）と、前記グループジョブに含まれる複数の印刷ジョブを印刷可能な印刷装置を、前記属性に基づいて、前記複数の印刷装置から検索する工程（ステップＳ１００５）と、検索されたいずれかの印刷装置において前記複数の印刷ジョブを印刷するよう、該複数の印刷ジョブを送信する送信手段に送信させる工程（ステップＳ１００９）とを備える。【選択図】  図１０
2006146716.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷装置と通信可能に接続され、該印刷装置に対して複数の印刷ジョブを含むグループジョブを送信可能な情報処理装置であって、
前記複数の印刷装置の属性を取得する取得手段と、
前記グループジョブに含まれる複数の印刷ジョブを印刷可能な印刷装置を、前記属性に基づいて、前記複数の印刷装置から検索する検索手段と、
前記複数の印刷ジョブを、前記検索手段により検索されたいずれかの印刷装置に送信するよう指示する指示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記検索手段による検索の結果、前記複数の印刷ジョブに含まれるジョブ属性に基づく印刷が可能な印刷装置を検出できなかった場合に、前記グループジョブを分割する分割手段を備え、
前記指示手段は、前記分割手段により分割されたグループジョブのそれぞれを、異なる印刷装置に送信するよう指示することを特徴とする情報処理装置。
【請求項３】
前記分割手段は、
分割後の前記グループジョブのそれぞれが、送信先の印刷装置において前記複数の印刷ジョブに含まれるジョブ属性に基づく印刷が可能となるように、前記グループジョブを分割することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記分割手段は、
分割後の前記グループジョブの数が最小となるように、前記グループジョブを分割することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記分割手段は、
分割前の前記グループジョブの印刷順序が保たれるように、前記グループジョブを分割することを特徴とする請求項２または３に記載の情報処理装置。
【請求項６】
分割後の前記グループジョブの数が最小となるように、前記グループジョブを分割するか、分割後の前記グループジョブの印刷順序が、分割前の前記グループジョブの印刷順序が保たれるように、前記グループジョブを分割するかを指定する指定手段を更に備え、
前記分割手段は、前記指定手段による指定に基づいて、前記グループジョブを分割することを特徴とする請求項２乃至５のいずれかに記載の情報処理装置。
【請求項７】
複数の印刷装置と通信可能に接続され、該印刷装置に対して複数の印刷ジョブを含むグループジョブを送信可能な情報処理装置における情報処理方法であって、
前記複数の印刷装置の属性を取得する取得工程と、
前記グループジョブに含まれる複数の印刷ジョブを印刷可能な印刷装置を、前記属性に基づいて、前記複数の印刷装置から検索する検索工程と、
前記検索工程により検索されたいずれかの印刷装置において前記複数の印刷ジョブを印刷するよう、該複数の印刷ジョブを送信する送信手段に送信させる送信工程と
を備えることを特徴とする情報処理方法。
【請求項８】
前記検索工程による検索の結果、前記複数の印刷ジョブに含まれるジョブ属性に基づく印刷が可能な印刷装置を検出できなかった場合に、前記グループジョブを分割する分割工程を備え、
前記送信工程は、前記分割工程により分割されたグループジョブのそれぞれを、異なる印刷装置にて印刷するよう、前記送信手段に送信させることを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記分割工程は、
分割後の前記グループジョブのそれぞれが、送信先の印刷装置において前記複数の印刷ジョブに含まれるジョブ属性に基づく印刷が可能となるように、前記グループジョブを分割することを特徴とする請求項７に記載の情報処理方法。
【請求項１０】
前記分割工程は、
分割後の前記グループジョブの数が最小となるように、前記グループジョブを分割することを特徴とする請求項７または８に記載の情報処理方法。
【請求項１１】
前記分割工程は、
分割前の前記グループジョブの印刷順序が保たれるように、前記グループジョブを分割することを特徴とする請求項７または８に記載の情報処理方法。
【請求項１２】
分割後の前記グループジョブの数が最小となるように、前記グループジョブを分割するか、分割後の前記グループジョブの印刷順序が、分割前の前記グループジョブの印刷順序が保たれるように、前記グループジョブを分割するかを指定する指定工程を更に備え、
前記分割工程は、前記指定工程における指定に基づいて、前記グループジョブを分割することを特徴とする請求項７乃至１１のいずれかに記載の情報処理方法。
【請求項１３】
請求項７乃至１２のいずれかに記載の情報処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
【請求項１４】
請求項７乃至１２のいずれかに記載の情報処理方法をコンピュータによって実現させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の印刷装置と通信可能に接続された情報処理装置において生成される印刷ジョブを処理する処理技術に関するものである。
【背景技術】
【０００２】
従来、ネットワークプリンタでは、ホストから送信されてきた印刷ジョブを印刷出力するにあたり、印刷ジョブの受け付け順序に従って行っていた。このため、複数のホストからそれぞれ複数の印刷ジョブが送信されてきた場合、ネットワークプリンタでは、異なるホストからの印刷ジョブを相前後して受信することとなり、当該印刷ジョブを出力した排紙トレイには異なるホストからの印刷物が混在する場合があった。この結果、ユーザは異なるホストから送信されてきた印刷ジョブの印刷物を仕分けなければならず、従来のネットワークプリンタはユーザにとって利便性が悪かった。
【０００３】
このような問題を回避するために、最近では、複数の印刷ジョブをまとめて印刷する印刷ジョブ制御方式が種々提案されてきており、例えば、以下のような方式が挙げられる。
【０００４】
（１）ネットワークプリンタに送信する前に、ホストにおいて、複数の印刷ジョブをプリンタ記述言語を用いて１つの印刷ジョブに結合する方式
（２）ホストが複数の印刷ジョブをネットワークプリンタに送信するときに印刷ジョブを結合するコマンドをネットワークプリンタに送ることによって、ネットワークプリンタで印刷ジョブの結合処理をして排紙する方式
（３）予め登録した複数ホストからの印刷ジョブについてプリントサーバが順序制御を行い、印刷ジョブのグループ単位ごとにネットワークプリンタに送信することにより、ネットワークプリンタで排紙される印刷ジョブがグループ毎にまとまって排紙される方式
（４）複数の印刷ジョブをグループジョブとし、グループジョブ内の複数の印刷ジョブを、ホストからネットワークプリンタに送信する時に、印刷プロトコルの一つのセッションで送信する方式
上記印刷ジョブ制御方式によれば、異なるホストからの印刷ジョブが互いに相前後することがなくなり、同一のホストから送信されてきた複数の印刷ジョブをまとめて印刷することが可能となる。
【０００５】
さらに、上記（４）のように、グループジョブを生成する方式にあっては、グループジョブによる印刷中にネットワークプリンタでエラーが発生した場合であっても、別のネットワークプリンタに印刷を行わせる「代行印刷」が可能であり、例えば、以下のような方式により実現されている。
【０００６】
（１）ネットワークプリンタのエラーにより代行印刷処理が発生した場合、代行先のネットワークプリンタの能力（用紙サイズ等の印刷装置の属性）が原因で一部の印刷ジョブが印刷されない問題を回避するために、グルーピングを解除して個別の印刷ジョブとして、代行印刷する方式
（２）予め指定されたグループジョブの代行先にグループジョブを移動する方式（この際、代行先のネットワークプリンタの印刷条件のチェックは行われない。かかる方式の具体例は、例えば特許文献１参照）、または、代行先が指定されていない場合は印刷先変更ダイアログを表示して、代行先をユーザに指定させる方式
【特許文献１】特開２００１−０７５７６８公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来のグループジョブに対する代行印刷には、以下のような問題があった。
【０００８】
（１）代行先に登録されたネットワークプリンタへグループジョブを移動させる際に、代行先のネットワークプリンタの印刷条件をチェックしないため、代行先のネットワークプリンタにおいてグループジョブに含まれるすべての印刷ジョブを印刷することができない場合がある。
【０００９】
（２）更に、代行先に指定されたネットワークプリンタの中にグループジョブに含まれるすべての印刷ジョブを印刷できるネットワークプリンタが存在しない場合、どの代行先ネットワークプリンタにグループジョブを移動させても印刷されない印刷ジョブが発生してしまう。
【００１０】
（３）更に、代行印刷の際にグルーピングを解除すると、代行印刷発生後は、異なるホストからの印刷ジョブが混在してしまうこととなる。
【００１１】
本発明は上記課題に鑑みてなされたものであり、複数の印刷ジョブから構成されるグループジョブについて代行印刷するにあたり、グループジョブの代行を行ったとしても、よりユーザ所望の仕上がりの出力を実現する情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
複数の印刷装置と通信可能に接続され、該印刷装置に対して複数の印刷ジョブを含むグループジョブを送信可能な情報処理装置であって、
前記複数の印刷装置の印刷処理能力を取得する取得手段と、
前記グループジョブに含まれる複数の印刷ジョブを印刷可能な印刷装置を、前記印刷処理能力に基づいて、前記複数の印刷装置から検索する検索手段と、
前記複数の印刷ジョブを、前記検索手段により検索されたいずれかの印刷装置に送信するよう指示する指示手段とを備える。
【発明の効果】
【００１３】
複数の印刷ジョブから構成されるグループジョブについて代行印刷するにあたり、グループジョブの代行を行ったとしても、よりユーザ所望の仕上がりの出力を実現することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１５】
＜印刷処理システムの構成例＞
図１は、本発明の一実施形態に係る情報処理装置を備える印刷処理システムの構成を示す図である。同図において、１０１、１０２、１０３、１０４は、ネットワーク１０６に接続され、相互に通信可能な情報処理装置（ネットワークコンピュータ）であり、典型的にはパーソナルコンピュータ（ＰＣ）である。また、１０５は、印刷装置としてのネットワークプリンタである。
【００１６】
これらのうち、１０２、１０３、１０４はクライアントコンピュータ（以下、クライアント）であり、それぞれイーサネット（登録商標）などのネットワークケーブルによってネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能である。また、印刷データをプリンタ言語に変換する機能を有するプリンタドライバも搭載している。ここで、各クライアント１０２〜１０４は複数のプリンタドライバをサポートするものとする。
【００１７】
これに対し１０１はサーバコンピュータ（以下、サーバ）であり、ネットワークケーブルによってネットワーク１０６に接続され、ネットワーク１０６で使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。なお、本実施形態において、このサーバ１０１は、ネットワーク１０６に接続されているネットワークプリンタ１０５を管理するプリントサーバとして機能する。具体的には、プリントサーバ１０１は、クライアント１０２〜１０４から印刷データを含まない印刷ジョブを受け取って印刷順序を管理し、印刷順序になったクライアント１０２〜１０４に対して印刷データを含む印刷ジョブの送信許可を通知する機能や、ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得してクライアント１０２〜１０４に通知する機能などを有している。
【００１８】
ネットワークプリンタ１０５は、ネットワークインタフェースを介してネットワーク１０６と接続されており、クライアント１０２〜１０４から送信されてくる印刷ジョブを解析し、１ページずつドットイメージに変換して印刷する。なお、同図にネットワークプリンタ１０５は１台しか示されていないが、他にも複数のネットワークプリンタが接続されているものとする。各ネットワークプリンタの機能は相違するものであってもよい。
【００１９】
また、１０６はネットワークであり、クライント１０２〜１０４、プリントサーバ１０１、ネットワークプリンタ１０５等と接続している。
【００２０】
＜ネットワークコンピュータのハードウェア構成例＞
図２は、ネットワークコンピュータ１０１〜１０４の構成を説明するブロック図である。図２において、２００は装置全体の制御を行うＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや、本実施形態のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２１】
２０１は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、印刷データ処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段としてのＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２２】
２０３は記憶媒体読み込み手段としてのフロッピディスクドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて、記憶媒体としてのＦＤ２０４に記憶された各種プログラム等を本ネットワークコンピュータ１０１〜１０４にロードすることができる。２０４は記憶媒体であるフロッピディスク（ＦＤ）であり、ネットワークコンピュータ１０１〜１０４が読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００２３】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。更に、スプール手段であるスプーラはここに確保される。スプール手段は、クライアント１０２〜１０４ではクライアントスプーラのことであり、プリントサーバ１０１ではサーバスプーラのことである。また、プリントサーバ１０１では、クライアント１０２〜１０４から受けた印刷ジョブを格納し順序制御を行うためのテーブルもこの外部記憶手段に格納される。
【００２４】
２０６は指示入力手段であるキーボードであり、ユーザがクライアント１０２〜１０４に対して、また、オペレータや管理者がプリントサーバ１０１に対して、デバイスの制御コマンドの命令等を入力指示するものである。２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、ネットワークプリンタ１０５の状態等を表示したりするものである。
【００２５】
２０８はシステムバスであり、クライアントやプリントサーバであるネットワークコンピュータ内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介してネットワークコンピュータ１０１〜１０４は外部装置とのデータのやり取りを行う。
【００２６】
なお、上記ネットワークコンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤなどで変更することも可能である。
【００２７】
＜ＲＡＭ２０２またはＦＤ２０４のメモリマップの構成＞
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２８】
なお、本実施形態では、ネットワークプリンタ制御プログラムおよび関連データをＦＤ２０４から直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがＦＤ２０４からインストールされているＨＤ２０５から、ＲＡＭ２０２にロードするようにしてもよい。また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤＲ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２９】
ネットワークプリンタ制御プログラムは、クライアント１０２〜１０４においては、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含む。また、プリントサーバ１０１においては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。さらに、このような制御を行う本実施形態のネットワークプリンタ制御プログラムは、クライアント１０２〜１０４にインストールされるモジュール（ジョブ制御プリントサービス。詳細は後述。）と、プリントサーバ１０１にインストールされるモジュールを別々に分けてもよいし、ひとつのネットワークプリンタ制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能するようにしてもよい。あるいは、一台のネットワークコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとをともにインストールし、同時にあるいは時分割で、擬似的に平行動作させる構成も可能である。
【００３０】
３０１は基本Ｉ／Ｏプログラムであり、ネットワークコンピュータの電源がＯＮされたときに、ＨＤ２０５からＯＳをＲＡＭ２０２に読み込み、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本ネットワークプリンタ制御プログラムを実行する領域が確保されている。
【００３１】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明するネットワークプリンタ制御プログラム、４０４はその関連データである。ネットワークプリンタ制御プログラム４０３は、本実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント１０２〜１０４及びプリントサーバ１０１共に、同様の構成をとっている。
【００３２】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データが格納されている。
【００３３】
＜クライアント１０２〜１０４におけるソフトウェア構成例＞
はじめに、上記ネットワークプリンタ制御プログラムを備える印刷処理システムについて以下の説明で用いられる各種用語について説明する。以下の説明において、「プリンタ」とは、プリンタドライバと出力ポートとの組み合わせをいい、上述したデバイス（物理プリンタ）である「ネットワークプリンタ」とは異なる概念として定義される。
【００３４】
また、アプリケーションからの印刷指示に応じてＷｉｎｄｏｗｓ（登録商標）等のＯＳを介して出力される描画命令（一般的にＤＤＩ或いはＧＤＩと呼ばれている）を解釈しページ記述言語を生成しネットワークプリンタ１０５へ出力させるようなプリンタドライバを「ＰＤＬドライバ」と称す。なお、ここで用いられるＯＳとしてはＷｉｎｄｏｗｓ（登録商標）に限定されるものではなく、描画命令を備えるＯＳであれば他のＯＳであっても適用可能であることは言うまでもない。
【００３５】
さらに、以下の説明において、「グループジョブ」とは、ユーザインターフェースを介してユーザが複数の印刷ジョブをグルーピングさせることで生成される印刷ジョブをいい、単独の印刷ジョブである「シングルジョブ」に相対する概念である。
【００３６】
図６は、クライアント１０２〜１０４において、印刷データなどを印刷するアプリケーションから発行された描画命令を含む印刷ジョブが、どのように処理されるかを示した図である。
【００３７】
はじめに処理の概略について述べる。通常、ユーザから印刷指示がなされると、アプリケーションプログラム６０１は一連の描画命令をＯＳを介して生成させる。この生成された描画命令はＰＤＬドライバ６０２を経て所定の形式の印刷ジョブに変換された後、ウインドウズスプーラ６０４（Ｗｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ）に渡される。Ｗｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ６０４は、ユーザがユーザインタフェースを介して選択し指示したポートモニタに印刷ジョブを渡して、ネットワークプリンタ１０５に送信させる手順をとる。なお、本実施形態においてユーザは、あらかじめジョブ制御ポートモニタ６２１を指定して印刷指示を行っているものとする。
【００３８】
次に各ソフトウェアの動作について述べる。アプリケーションプログラム６０１は一連の描画命令をＯＳを介して生成させる。ここで、ＯＳを介して生成された描画命令は、ＰＤＬドライバ６０２に引き渡す。
【００３９】
ＯＳを介して生成された描画命令を受け取ったＰＤＬドライバ６０２では、ネットワークプリンタ１０５で印刷するためのページ記述言語を生成し、ジョブ制御ポートモニタ６２１に印刷ジョブとして送信する。また、ＰＤＬドライバ６０２のユーザインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ６２１に送信する。
【００４０】
ジョブ制御ポートモニタ６２１では、印刷ジョブをネットワークプリンタ１０５に送信するのではなく、印刷ジョブ制御システム用プリントサービス６２２（以降、ジョブ制御プリントサービスと略記）に送信する。このとき、印刷処理を行うよう設定されたＰＤＬドライバ６０２に対応するジョブ制御ポートモニタ６２１ならびにジョブ制御サービス６２２を介して対応するネットワークプリンタ１０５に印刷ジョブを送信する。
【００４１】
印刷ジョブ制御システム用プリントマネージャ６２３（以降、プリントマネージャと略記）は、ユーザがジョブ制御プリントサービス６２２内部で印刷ジョブがどのような状態にあるかを調べたり、印刷ジョブを操作したりするためのユーザインタフェースを提供する。プリントマネージャ６２３は、ジョブ制御プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を介して、ジョブ制御プリントサービス６２２と情報・指示をやり取りを行う。更に詳細な処理としては、プリントマネージャ６２３がジョブ制御プリントサービス６２２に対してネットワークプリンタ１０５を指定してのイベントを発行し、ジョブ制御プリントサービス６２２は発行されたイベントに基づくネットワークプリンタ１０５のステータスを監視して、該監視に基づく結果をプリントマネージャ６２３に通知する。
【００４２】
＜ネットワークプリンタ１０５とクライアント１０２〜１０４におけるソフトウェア構成との関係＞
次に、図７を用いて、ネットワークプリンタ１０５とクライアント１０２〜１０４内のソフトウェア構成との関係について説明する。
【００４３】
図７に示すように、概念的には、ＰＤＬドライバ６０２、スプーラ６０４、ジョブ制御ポートモニタ６２１は、ネットワークプリンタ１０５Ａ〜Ｃごとに用意されている。また、ＯＳがＷｉｎｄｏｗｓ（登録商標）の場合には、これらをまとめてＷｉｎｄｏｗｓ（登録商標）プリントシステム（７００）と称する場合もある。
【００４４】
ジョブ制御プリントサービス６２２には、ネットワークプリンタ１０５Ａ〜１０５Ｃに対応する数のプリンタキュー７０１Ａ、７０１Ｂ、７０１Ｃ及び出力ポート７０２Ａ、７０２Ｂ、７０２Ｃが含まれている。この出力ポートには対応するネットワークプリンタのＩＰアドレス又はネームサービス（ＤＮＳ：Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）で使用されるネームが関連付けられている。そして、このＩＰアドレス又はネームに基づき印刷ジョブの送信先が特定され印刷ジョブの送信（出力）が行われる。なお、本実施形態では、物理的な装置であるネットワークプリンタ単位にプリンタキューを設定することとしているが、本発明はこれに限定されるものではなく、論理プリンタ単位にプリンタキューを設定してもよい。つまり、複数のネットワークプリンタに対して１つの論理プリンタを設定して、その論理プリンタについて１つのプリンタキューを設定しても良いし、更には、１つのネットワークプリンタに対して複数の論理プリンタを設定して、その複数の論理プリンタのそれぞれに対してプリンタキューを設定してもよい。
【００４５】
印刷ジョブをネットワークプリンタに送信する場合、アプリケーション６０１は、印刷機能を持つネットワークプリンタに対応するプリンタキューを指定して印刷指示を発行する。この印刷指示に基づいてＰＤＬドライバ６０２によって生成された印刷ジョブがジョブ制御ポートモニタ６２１からジョブ制御プリントサービス６２２に渡されると、その印刷ジョブのジョブ情報（後述）は、まずプリンタキュー７０１に保持される。そして、その印刷ジョブがネットワークプリンタ１０５に送信される。
【００４６】
＜印刷ジョブ情報テーブルの構成＞
図８は、ジョブ制御プリントサービス６２２が管理する印刷ジョブ情報テーブルの構成の一例を示した図である。
【００４７】
本実施形態で使用される印刷ジョブ情報テーブル８０１は、ジョブ制御ポートモニタ６２１から印刷ジョブがジョブ制御プリントサービス６２２に送信されることにより、プリンタキュー７０１によって作成される。ジョブＩＤ８０２は、プリンタキュー７０１が管理する印刷ジョブ情報テーブル８０１に割り当てる任意のＩＤであり、印刷ジョブを識別するＩＤとして使用される。
【００４８】
ドキュメント名８０３は、アプリケーション６０１が印刷する印刷データの名前で、ジョブ制御ポートモニタ６２１がジョブ制御プリントサービス６２２に印刷ジョブを送信するときにプリンタキュー７０１に通知する。スプールファイルパス８０４は、ジョブ制御ポートモニタ６２１がジョブ制御プリントサービス６２２に送信した印刷ジョブを、ジョブ制御プリントサービス６２２がＨＤ２０５に保存したファイルパスである。
【００４９】
印刷設定情報８０５は、ＰＤＬドライバ６０２のユーザインタフェースを介して設定された用紙サイズ、ステープル指示等のネットワークプリンタ１０５で印刷を行うために必要なプリンタ機能の情報である。グループＩＤ８０６は、アプリケーション６０１が印刷ジョブのグルーピングを指定したときにプリンタキュー７０１が発行した任意のグループＩＤである。このグループＩＤによって印刷ジョブのグループを識別することができる。グループ終了フラグ８０７は、グループジョブ内の最後の印刷ジョブを示すフラグである。
【００５０】
＜プリンタキュー情報の構成＞
図９は、プリンタキュー情報９０１を示す図であり、プリンタキュー７０１で受け付けた印刷ジョブは、プリンタキュー情報９０１に基づいて処理される。
【００５１】
ここで、プリンタキュー情報９０１の設定内容である、プリンタ名９０２、ドライバ名９０３、デバイスＩＰアドレス９０４、代行先ネットワークプリンタ９０６、グループ分割の条件９０７について説明する。
【００５２】
プリンタ名９０２は、Ｗｉｎｄｏｗｓ（登録商標）のプリンタオブジェクトの名前を示しており、プリンタオブジェクト毎に異なる名前であり、これによりプリンタオブジェクトを識別することができる。
【００５３】
ドライバ名９０３は、プリンタオブジェクトに設定されているＰＤＬドライバの名前である。デバイスＩＰアドレス９０４は、対応するネットワークプリンタ１０５のＩＰアドレスである。
【００５４】
代行先ネットワークプリンタ９０６は、プリンタキュー７０１の処理で、ネットワークプリンタでエラーが発生して印刷が行えなくなった場合に出力先を変更して代行印刷を行うために、図１６に示すようなダイアログ１６００で、ユーザによって予め設定された代行先のネットワークプリンタ（図１６の１６０１参照）のリストである（なお、図１６は、プリンタキュー７０１の代行先ネットワークプリンタ９０６、グループ分割の条件９０７をユーザが設定するためのプリンタ設定ダイアログの一例を示している）。なお、リストには代行先として優先度（図１６の１６０２参照）の高いネットワークプリンタから順に登録される。
【００５５】
グループ分割の条件９０７は、図１６に示すようなダイアログ１６００でユーザによって予め設定された条件（図１６の１６０３参照）であり、グループジョブで代行印刷が発生した場合にグループ分割の条件として、グループ数が最小となるように分割するか、代行前の印刷順序を維持して分割するかについての情報が格納される。
【００５６】
＜代行印刷処理を行う場合の処理の流れ＞
図１０は、ジョブ制御プリントサービス６２２における処理の流れを示すフローチャートであり、特に、プリンタエラーなどが発生したことにより、グループジョブを異なるネットワークプリンタに代行印刷する場合の処理の流れを示している。
【００５７】
ここで、本実施形態における、グループジョブの移動先である、代行先ネットワークプリンタの候補を決定する方法について説明しておく。
【００５８】
本実施形態では、プリンタキュー７０１に登録されている代行先ネットワークプリンタ（９０６）に対応するネットワークプリンタ１０５に対して、印刷ジョブ情報テーブル８０１の印刷設定情報８０５に対応するネットワークプリンタ１０５が保持している能力、言い換えれば印刷装置の属性を取得する。例えば、ネットワークプリンタ１０５の給紙段に入っている用紙サイズ（Ａ３、Ａ４等）やステープル機能の有無などが挙げられる。また、能力として印刷ジョブで規定された印刷出力枚数分の用紙が存在するか、あるいはトナーなどの記録材が代行する印刷ジョブを印刷出力する上で十分な残量であるかなど、印刷装置の動的な属性も含まれる。
【００５９】
以上により取得したネットワークプリンタ１０５の能力が代行対象となっている印刷ジョブの印刷ジョブ情報テーブル８０１の印刷設定情報８０５に登録されている項目を含む場合には、当該ネットワークプリンタ１０５が代行対象の印刷ジョブを印刷できる能力を持っており、代行可能であると判断する。
【００６０】
例えば、代行対象となっている印刷ジョブＡにおける印刷ジョブ情報テーブル８０１の印刷設定情報８０５の用紙サイズがＡ３であり、ネットワークプリンタ１０５Ａの給紙段にＡ３，Ａ４の用紙が入っている場合、印刷ジョブＡをネットワークプリンタ１０５Ａに代行可能であると判断する。
【００６１】
ステップＳ１００１では、ジョブ制御プリントサービス６２２がネットワークプリンタ１０５のエラーが発生したことを検知すると、ステップＳ１００２に処理を移行する。エラーが発生しなければ、ステップＳ１００１で待機する。
【００６２】
ステップＳ１００２では、エラーが発生したネットワークプリンタ１０５に対応するプリンタキュー７０１に登録されている印刷ジョブの印刷ジョブ情報テーブル８０１におけるグループＩＤ８０６より、印刷ジョブがグループジョブであるか否かを判断する。この時、プリンタキュー７０１に登録されている印刷ジョブ情報テーブル８０１は、エラーが発生したネットワークプリンタ１０５に印刷する印刷ジョブについての印刷ジョブ情報テーブルである。
【００６３】
ステップＳ１００２でグループジョブでなかった場合、ステップＳ１０１７でプリントキュー情報９０１に登録されている代行先ネットワークプリンタ９０６の代行可能なネットワークプリンタへ印刷ジョブを移動し、ステップＳ１００９において、代行印刷先のプリンタキュー７０１に対して印刷ジョブ情報テーブル８０１の登録を行う。
【００６４】
以下、ステップＳ１００２でグループジョブと判断された印刷ジョブにおける代行印刷の流れを示す。
【００６５】
ステップＳ１００３では、代行先ネットワークプリンタを決定するために使用する代行先ネットワークプリンタの優先度を示すカウンタＮを１にセットする。
【００６６】
ステップＳ１００４では、プリンタキュー７０１の代行先ネットワークプリンタ９０６でＮ番目に登録されている（優先度Ｎの）ネットワークプリンタ１０５から印刷ジョブ情報テーブル８０１の印刷設定情報（用紙サイズ、ステープル指示等）に対応するデバイス情報（例えばネットワークプリンタ１０５の給紙段に入っている用紙サイズ）をジョブ制御プリントサービス６２２が取得する。ここで取得したデバイス情報はネットワークプリンタのＲＡＭ２０２に記憶されている。なお、本実施形態では、デバイス情報を代行発生時に取得しているが、デバイス情報をあらかじめ取得し、プリンタキュー情報９０１等に登録しておく形態でもよいし、あるいはＰＤＬドライバの能力として取得してもよい。
【００６７】
ステップＳ１００５では、ステップＳ１００４でネットワークプリンタ１０５から取得したデバイス情報から、グループジョブのすべての印刷ジョブが印刷ジョブの条件（＝ジョブ属性。例えば、ステープル、カラー印刷、高解像度印刷、各種製本処理等）に基づいて代行可能かを判断する。
【００６８】
なお、本実施形態では、あらかじめあるいは代行発生時にデバイス情報をすべて取得したうえで、当該取得されたデバイス情報のテーブルに対してグループジョブのすべての印刷ジョブを代行可能か否か判断することで、代行可能なネットワークプリンタの「検索」を行うこととしたが、特にこのような構成に限られるものではない。例えば、各ネットワークプリンタごとに代行可能か否かを問い合わせ、順次判別することにより、代行可能なネットワークプリンタを検索するようにしてもよい。
【００６９】
すべての印刷ジョブが代行可能である場合はステップＳ１００８に処理を移行し、代行不可能な印刷ジョブが存在する場合はステップＳ１００６に処理を移行する。
【００７０】
ステップＳ１００８では、ステップＳ１００５で代行可能と判断したネットワークプリンタ１０５に対してグループジョブのすべての印刷ジョブを移動し、ステップＳ１００９において、代行印刷先のプリンタキュー７０１に対して印刷ジョブ情報テーブル８０１の登録を行う。
【００７１】
ステップＳ１００６では、印刷ジョブ情報テーブル８０１の代行先ネットワークプリンタ９０６に登録されているすべてのネットワークプリンタに対してステップＳ１００５のチェックが行われたか（Ｎが代行先ネットワークプリンタ９０６に登録されたネットワークプリンタの数と等しいか）を判断する。すべてのネットワークプリンタでチェック済みの場合、ステップＳ１０１０に処理を移行し、チェックするネットワークプリンタが残っている場合はステップＳ１００７に処理を移行する。ステップＳ１００７では、Ｎをカウントアップし、ステップＳ１００４に処理を移行する。
【００７２】
以下、グループジョブのすべての印刷ジョブが１つのネットワークプリンタへ代行できなかった場合のグループジョブの分割による代行処理について説明する。
【００７３】
ステップＳ１０１０では、プリントキュー情報９０１のグループ分割の条件９０７を参照し、グループ数が最小となるように分割するか、代行前の印刷順序を維持して分割するかを判断する。
【００７４】
ステップＳ１０１１では、後述するグループ数が最小となるグループ分割による印刷ジョブの移動処理を行う。
【００７５】
ステップＳ１０１２では、後述する代行前の印刷順序を維持してのグループ分割による印刷ジョブの移動処理を行う。
【００７６】
ステップＳ１０１３では、ステップＳ１０１１またはステップＳ１０１２の処理の結果、代行元ネットワークプリンタのプリンタキューに残っている印刷ジョブにおいて、印刷ジョブ情報テーブル８０１のグループＩＤ８０６に登録されている印刷ジョブが残っているかをチェックすることで、グループジョブのすべての印刷ジョブが移動されたかを判断する。
【００７７】
ステップＳ１０１４では、ステップＳ１０１３ですべての印刷ジョブが移動されていると判断された場合、代行印刷先のプリンタキュー７０１に対して印刷ジョブ情報テーブル８０１の登録を行う。
【００７８】
ステップＳ１０１５では、ステップＳ１０１３でプリンタキューに印刷ジョブが残っていると判断された場合、残っている印刷ジョブのグループＩＤを削除し、図１７に示すような手動代行ダイアログ１７００を表示し、ユーザによる代行先の設定を促す（なお、図１７は、図１０のステップＳ１０１５で表示される手動代行ダイアログの一例を示している。このダイアログは、プリンタキュー７０１に登録されている印刷ジョブのドキュメント名８０３と、ジョブ制御サービス６０５に登録されているプリンタキュー７０１のプリンタ名９０２を表示し、ユーザに対して他のネットワークプリンタへの代行印刷を促すダイアログである）。ユーザが代行先を指定すると（図１７の１７０１を選択し、代行印刷ボタン１７０２を押すと）、ステップＳ１０１６で印刷ジョブを移動し、ステップＳ１０１４において、代行印刷先のプリンタキュー７０１に対して印刷ジョブ情報テーブル８０１の登録を行う。
【００７９】
図１１は、図１０のステップＳ１００８におけるプリンタキュー７０１での印刷ジョブの移動を、印刷設定情報として用紙サイズを例に示した図である。図１１で示したように、ネットワークプリンタ１１０２においてエラーが発生した場合、グループジョブ１１０１内のすべての印刷ジョブの条件（ジョブ属性）を満たすネットワークプリンタ１１０３へ代行することで、グループジョブ１１０１のグループ状態を保持したまま移動できるため、移動先においても他の印刷ジョブによる割り込みを防ぐことができる。
【００８０】
図１２は、図１０のステップＳ１０１１におけるグループ数が最小となるグループ分割による印刷ジョブの移動処理の流れを示すフローチャートである。
【００８１】
ステップＳ１２０１では、代行先ネットワークプリンタを決定するために使用する代行先ネットワークプリンタの優先度を示すカウンタＮを１にセットする。
【００８２】
ステップＳ１２０２では、優先度Ｎ（Ｎ＝１）のネットワークプリンタに対してすでに印刷ジョブを移動済みであるかを判断する。移動済みである場合はステップＳ１２０３でＮをカウントアップし、ステップＳ１２０４に処理を移行する（本実施形態では、代行先に選択されたネットワークプリンタには、移動可能な印刷ジョブをすべて移動していくため、すでに印刷ジョブを移動済みのネットワークプリンタには残りの印刷ジョブの中に移動可能な印刷ジョブは残っていない。そのため、代行可能であるかのチェックをスキップする）。
【００８３】
ステップＳ１２０４では、ステップＳ１００４で保存した優先度Ｎのネットワークプリンタのデバイス情報を使って、優先度Ｎのネットワークプリンタにてジョブ属性に基づく代行が可能な印刷ジョブの数を判断し、ネットワークコンピュータのＲＡＭ２０２に記憶する。
【００８４】
ステップＳ１２０５では、すべての代行先ネットワークプリンタをチェックしたか（Ｎがプリントキュー情報９０１の代行先ネットワークプリンタ９０６に登録されたネットワークプリンタの数と等しいか）を判断する。すべての代行先ネットワークプリンタをチェック済みの場合、ステップＳ１２０８に処理を移行し、チェックすべきネットワークプリンタが残っている場合はステップＳ１２０６に処理を移行する。
【００８５】
ステップＳ１２０６では、優先度Ｎをカウントアップし、ステップＳ１２０７に処理を移行する。
【００８６】
ステップＳ１２０７では、優先度Ｎのネットワークプリンタに対してすでに印刷ジョブを移動済みであるかを判断する。移動済みの場合はステップＳ１２０６に戻りＮをカウントアップし、移動していない場合はステップＳ１２０４に処理を移行する（本実施形態では、代行先に選択されたネットワークプリンタには、移動可能な印刷ジョブをすべて移動していくため、すでに印刷ジョブを移動済みのネットワークプリンタには残りの印刷ジョブの中に移動可能な印刷ジョブは残っていない。そのため、代行可能であるかのチェックをスキップする）。
【００８７】
ステップＳ１２０８では、ステップＳ１２０４で記録した印刷ジョブ数を参照することで、１つ以上の印刷ジョブを代行可能なネットワークプリンタが存在するかを判断する。代行可能なネットワークプリンタが存在する場合はステップＳ１２０９へ処理を移行し、代行可能なネットワークプリンタが存在しない場合はグループ数が最小となるグループ分割による印刷ジョブの移動処理を終了し、ステップＳ１０１３に処理を移行する。
【００８８】
ステップＳ１２０９では、ステップＳ１２０４で記録した印刷ジョブ数を参照することで、代行可能な印刷ジョブの数が最大のネットワークプリンタの中で代行先の優先度の最も高いネットワークプリンタを選択し、印刷ジョブ情報テーブル８０１のグループＩＤ８０６を変更して選択されたネットワークプリンタのプリンタキュー７０１へ代行可能な印刷ジョブをすべて移動する。
【００８９】
ステップＳ１２１０では、プリンタキュー７０１に残っている印刷ジョブがすべて移動されたかを判断する。プリンタキュー７０１に印刷ジョブが残っている場合はステップＳ１２０１へ処理を移行する。プリンタキュー７０１にジョブが残っていない場合は、グループ数が最小となるグループ分割による印刷ジョブの移動処理を終了し、ステップＳ１０１３に処理を移行する。
【００９０】
図１３は、グループ数が最小となるグループ分割による印刷ジョブの移動処理におけるプリンタキュー７０１での印刷ジョブの移動を、印刷設定情報として用紙サイズを例に示した図である。図１３に示したように、ネットワークプリンタ１３０２でエラーが発生した場合、ネットワークプリンタ１３０４、１３０５、１３０７においてそれぞれ代行可能な印刷ジョブ数は、２、３、４である。つまり、ネットワークプリンタ１３０７において代行可能な印刷ジョブ数が最も多いため、ネットワークプリンタ１３０７に４つの印刷ジョブ（Ｂ４、Ａ４、Ｂ３、Ｂ３）が移動される。次にグループジョブ１３０１のうち、ネットワークプリンタ１３０７に移動された４つの印刷ジョブを除く、残りの１つの印刷ジョブ（Ａ３）について、ネットワークプリンタ１３０４及び１３０５での代行可否を判断する。すると、ネットワークプリンタ１３０４において当該印刷ジョブ（Ａ３）を代行可能であることから、当該印刷ジョブ１３０３が移動される。
【００９１】
この結果、ネットワークプリンタ１３０２において発生したエラーにより、グループジョブ１３０１は、ネットワークプリンタ１３０４と１３０７とに分かれて出力されることとなる。このように、分割されるグループ数が最小となるようにグループジョブ１３０１が分割されるが、印刷順序は代行前の順序と異なる。
【００９２】
なお、本実施形態では、グループ数が最小となるグループ分割の方法として、印刷可能な印刷ジョブ数が最大のネットワークプリンタを順に選択する方法を取っているが、分割した結果、グループ数が最小となる分割方法であればなんでもよい。
【００９３】
図１４は、図１０のステップＳ１０１２における印刷順序を保つグループ分割による印刷ジョブの移動処理の流れを示すフローチャートである。
【００９４】
ステップＳ１４０１では、代行先ネットワークプリンタを決定するために使用する印刷ジョブのプリンタキュー７０１での配列順を示すカウンタＭを１にセットする。
【００９５】
ステップＳ１４０２では、代行先ネットワークプリンタを決定するために使用する代行先ネットワークプリンタの優先度を示すカウンタＮを１にセットする。
【００９６】
ステップＳ１４０３では、ステップＳ１００４で保存した優先度Ｎのネットワークプリンタのデバイス情報を使って、優先度Ｎのネットワークプリンタに、プリンタキュー７０１のＭ番目以降の印刷ジョブで代行可能な印刷ジョブ数をネットワークコンピュータのＲＡＭ２０２に記憶する。
【００９７】
ステップＳ１４０４では、すべての代行先ネットワークプリンタをチェックしたか（Ｎがプリントキュー情報９０１の代行先ネットワークプリンタ９０６に登録されたネットワークプリンタの数と等しいか）を判断する。すべての代行先ネットワークプリンタをチェック済みの場合、ステップＳ１４０６に処理を移行し、チェックすべきネットワークプリンタが残っている場合はステップＳ１４０５に処理を移行する。
【００９８】
ステップＳ１４０５では、Ｎをカウントアップし、ステップＳ１４０３に処理を移行する。
【００９９】
ステップＳ１４０６では、ステップＳ１４０３で記録した印刷ジョブ数を参照することで、１つ以上の印刷ジョブをジョブ属性に基づいて代行することが可能なネットワークプリンタが存在するかを判断する。ジョブ属性に基づいて代行することが可能なネットワークプリンタが存在する場合はステップＳ１４０７へ処理を移行し、代行可能なネットワークプリンタが存在しない場合はステップＳ１４１０でＭをカウントアップし、ステップＳ１４０９に処理を移行する。
【０１００】
ステップＳ１４０７では、ステップＳ１４０４で記録した印刷ジョブ数を参照することで、代行可能な印刷ジョブ数が最大のネットワークプリンタの中で代行先の優先度の最も高いネットワークプリンタを選択し、印刷ジョブ情報テーブル８０１のグループＩＤ８０６を変更して選択されたネットワークプリンタのプリントキュー７０１へ代行可能な印刷ジョブをすべて移動する。
【０１０１】
ステップＳ１４０９では、Ｍがプリンタキュー７０１に残っている印刷ジョブ数より大きいかを判断する。「Ｍ＞プリンタキュー７０１に残っている印刷ジョブ数」の場合は、印刷順序を保つグループ分割による印刷ジョブの移動処理を終了し、ステップＳ１０１３に処理を移行する。「Ｍ≦プリンタキュー７０１に残っている印刷ジョブ数」の場合はステップＳ１４０２に処理を移行する。
【０１０２】
図１５は、印刷順序を保つグループ分割による印刷ジョブの移動処理におけるプリンタキュー７０１での印刷ジョブの移動を、印刷設定情報として用紙サイズを例に示した図である。図１５に示したように、ネットワークプリンタ１５０２においてエラーが発生すると、優先度の最も高いネットワークプリンタ１５０４において、グループジョブ１５０１に含まれる印刷ジョブを代行可能であるか否かを、印刷ジョブの印刷順序に従って判断する。ネットワークプリンタ１５０３では、グループジョブ１５０１のうち、印刷順序が１番目と２番目の印刷ジョブを代行可能であることから、印刷ジョブ１５０３がネットワークプリンタ１５０４に移動される。次に、優先度が２番目に高いネットワークプリンタ１５０６について、グループジョブ１５０１に含まれる印刷ジョブのうち、ネットワークプリンタ１５０４に移動された印刷ジョブを除く残りの印刷ジョブの代行可否を、印刷順序に従って判断する。ネットワークプリンタ１５０６では、印刷順序が３〜５番目の印刷ジョブを代行可能であることから、印刷ジョブ１５０５がネットワークプリンタ１５０６に移動される。この結果、代行前の印刷順序を保ってグループジョブが分割される。
【０１０３】
なお、本実施形態では、代行前の印刷順序を保つグループ分割の方法として、プリンタキューの先頭から印刷可能な印刷ジョブ数が最大のネットワークプリンタを順に選択する方法を取っているが、分割した結果、印刷順序を保つ分割方法であればなんでもよい。
【０１０４】
以上説明したように、従来は、代行先に登録されたネットワークプリンタへ印刷ジョブを移動する際に、代行先ネットワークプリンタの印刷条件をチェックしなかったため、代行先のネットワークプリンタですべての印刷ジョブが印刷されない可能性があったのに対して、本実施形態によれば、代行先に指定されたネットワークプリンタの印刷処理能力（印刷装置の属性）を取得して、グルーピングされたすべての印刷ジョブを印刷可能なネットワークプリンタを探索したうえで、印刷可能なネットワークプリンタへグループジョブを移動することで、代行先でもグルーピングを保ったままグループジョブの印刷を行うことが可能となる。
【０１０５】
また、代行先に指定されたネットワークプリンタの中にグルーピングされたすべての印刷ジョブを印刷できるネットワークプリンタが存在しない場合、どの代行先ネットワークプリンタにグルーピングされた印刷ジョブを移動しても印刷されない印刷ジョブが発生してしまうという課題に対して、グループジョブを分割して、各印刷ジョブを印刷可能なネットワークプリンタを検索し、複数のネットワークプリンタへグループを再構成して分割したグループジョブを移動するよう構成することで、各代行先ネットワークプリンタでグループジョブのまま印刷することが可能となる。
【０１０６】
また、グループジョブを分割する方法として、分割されるグループ数が最小となるように分割するか、または代行前のグループジョブの印刷順序を保つように分割するかをユーザが印刷の目的に従って設定することが可能な構成とすることにより、分割されるグループ数が最小とするように設定した場合には、分割されるグループ数が最小となり、グループジョブを可能な限りまとまめて印刷することが可能となる。また、代行前のグループジョブの印刷順序を保つように設定した場合には、分割される印刷順序が保たれ、グループジョブが分割されても前後の印刷順序が保ったまま印刷することが可能となる。
【０１０７】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１０８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１０９】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１０】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１２】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１１３】
【図１】本発明の一実施形態にかかる情報処理装置を備える印刷処理システムを示す構成図である。
【図２】本発明の一実施形態にかかる情報処理装置（ネットワークコンピュータ）のハードウェア構成図である。
【図３】ネットワークコンピュータにおけるＲＡＭ２０２のメモリマップを表す図である。
【図４】ネットワークコンピュータにおけるＦＤ２０４のメモリマップを表す図である。
【図５】ネットワークコンピュータと、該ネットワークコンピュータのＦＤドライブに対して挿入されるＦＤとの関係を示す図である。
【図６】クライアントにおけるソフトウェア構成並びに印刷処理を示した図である。
【図７】ネットワークプリンタ１０５とクライアント１０２〜１０４内のソフトウェア構成との関係について説明するための図である。
【図８】ジョブ制御サービスが管理する印刷ジョブ情報テーブルを示した図である。
【図９】プリンタキューで管理するプリンタキュー情報を示す図である。
【図１０】ジョブ制御プリントサービスにおける処理の流れを示すフローチャートである。
【図１１】図１０のステップＳ１００８におけるプリンタキューでの印刷ジョブの移動を示した図である。
【図１２】図１０に示したフローチャートにおける「グループ数最小のグループ分割」での代行印刷処理を示すフローチャートである。
【図１３】「グループ数が最小となるグループ分割」によるジョブの移動処理におけるプリンタキューでの印刷ジョブの移動を示した図である。
【図１４】図１０に示したフローチャートにおける「印刷順序を保つグループ分割」での代行印刷処理を示すフローチャートである。
【図１５】「印刷順序を保つグループ分割によるジョブの移動処理」におけるプリンタキューでの印刷ジョブの移動を示した図である。
【図１６】プリンタキューの代行先ネットワークプリンタ、グループ分割の条件をユーザが設定するためのプリンタ設定ダイアログの一例を示した図である。
【図１７】手動代行ダイアログの一例を示した図である。
【図１】
2006146716.tif 000003
【図２】
2006146716.tif 000004
【図３】
2006146716.tif 000005
【図４】
2006146716.tif 000006
【図５】
2006146716.tif 000007
【図６】
2006146716.tif 000008
【図７】
2006146716.tif 000009
【図８】
2006146716.tif 000010
【図９】
2006146716.tif 000011
【図１０】
2006146716.tif 000012
【図１１】
2006146716.tif 000013
【図１２】
2006146716.tif 000014
【図１３】
2006146716.tif 000015
【図１４】
2006146716.tif 000016
【図１５】
2006146716.tif 000017
【図１６】
2006146716.tif 000018
【図１７】
2006146716.tif 000019