(57)【要約】【課題】  本発明はメンバジョブが代行により再度作成された場合でも変更した印刷属性値を保つことが可能な情報処理装置等を提供することを目的とする。【解決手段】  本発明の構成は、外部処理装置に対してジョブデータを転送する転送手段と、前記外部処理装置を別の処理装置で代行するための代行処理を行う代行処理手段とを備えた情報処理装置において、自動代行を行うグループプリンタドライバにおけるメンバジョブの印刷属性を変更した場合、オリジナルジョブの印刷属性も変更する設定手段を有する。【選択図】  図１
2005196439.tif 000002
【特許請求の範囲】
【請求項１】
外部処理装置に対してジョブデータを転送する転送手段と、
前記外部処理装置を別の処理装置で代行するための代行処理を行う代行処理手段と、
前記ジョブデータの印刷属性値が変更された場合に変更情報を保存しておき、代行処理において保存された前記変更情報を使用して前記ジョブデータを再生成するジョブ再生成手段と、
別の処理装置に転送する転送手段を有し、
前記ジョブ再生成手段は、前記オリジナルジョブの印刷属性値を引き継いで前記ジョブデータを生成することを特徴とすることを特徴とする情報処理装置。
【請求項２】
前記ジョブ再生成手段は、前記ジョブデータの元となるオリジナルジョブから前記ジョブデータを生成することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ジョブ再生成手段は、前記ジョブデータの印刷属性値が変更された場合に前記ジョブデータの印刷属性値の変更情報をオリジナルジョブに保存しておくことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記ジョブ再生成手段は、前記ジョブデータの印刷属性値が変更された場合に、前記オリジナルジョブの印刷属性値も変更することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記ジョブ再生成手段は、前記ジョブデータの印刷属性値が変更された場合に、オリジナルジョブの種類を判断して、自動代行のオリジナルジョブの場合のみ、変更情報をオリジナルジョブに保存することを特徴とする請求項１乃至４のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、代行処理機能を有する情報処理装置等に関するものである。
【背景技術】
【０００２】
現在のプリントシステムでは、プリンタデバイスにおいて「紙なし」や「ジャム」などのエラーにより印刷が失敗した場合、プリンタ毎に設定された「紙なし」や「ジャム」などの代行印刷条件に従って別のプリンタに代行印刷を行っていた。
【０００３】
例えば、特開２００３−２７１３５４号公報には、自動代行印刷の設定が行われているか否かを判別し、自動代行印刷の設定が行われていると判断されれば自動代行印刷を実行し、設定が行われていないと判断されれば手動代行印刷を行うことにより、自動代行印刷と手動代行印刷を切り替える印刷処理装置が開示されている。
【特許文献１】特開２００３−２７１３５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記「代行印刷機能」は、印刷指示した印刷装置で印字障害が発生した場合、代行印刷先を指定する手動代行印刷において、代行印刷先となるプリンタドライバを選択する際に表示される候補が、現在登録されている全てのプリンタドライバが表示されてしまう。実際には、表示される全プリンタドライバのうち代行印刷先として利用可能なドライバは印刷ジョブによって制限されてしまうという問題点があった。これは、上述の特開２００３−２７１３５４号公報で開示されている印刷処理装置でも同様である。
【０００５】
また、後述するグループプリンタドライバから印刷された場合、後述するオリジナルジョブの優先度等の印刷属性値を継承した、後述するメンバジョブが作成される。作成されたメンバジョブに対して印刷属性値の変更を行った後に代行処理が発生した場合、メンバジョブは再度作り直される。このとき作成されるメンバジョブはオリジナルジョブの印刷属性値を継承するため、先の変更した印刷属性値が保存されないという問題があった。
【０００６】
本発明は上記従来の問題点に鑑み、メンバジョブが代行により再度作成された場合でも変更した印刷属性値を保つことが可能な情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の情報処理装置では、外部処理装置に対してジョブデータを転送する転送手段と、前記外部処理装置を別の処理装置で代行するための代行処理を行う代行処理手段とを備えた情報処理装置において、自動代行を行うグループプリンタドライバにおけるメンバジョブの印刷属性を変更した場合、オリジナルジョブの印刷属性も変更する設定手段を有することを特徴とする。
【発明の効果】
【０００８】
以上詳細に説明したように本発明によれば、メンバジョブの印刷属性値が変更された場合にオリジナルジョブの印刷属性値も変更することにより、メンバジョブの印刷属性値が変更されたあとに代行処理が発生しメンバジョブが作り直された場合でも変更後の印刷属性値を引き継ぐことが可能となり、ユーザによる印刷属性値の再設定の手間を回避することが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１０】
＜システム構成＞
図１は、本発明の印刷システムの構成を示すブロック図である。なお、本システムにおけるクライアントコンピュータは、１台または複数台接続されていることを仮定している。
【００１１】
図１において、１０２、１０３、１０４はクライアントコンピュータ（クライアント）としての情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタドライバをサポートするものとする。
【００１２】
１０１は本実施形態のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０６に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０６に接続されている複数のプリンタを管理している。構成としては、クライアント１０２〜１０４とプリントサーバ１０１は、一般的な情報処理装置であり、クライアントとプリントサーバ１０１には、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。また、プリントサーバ１０１は、一般的な情報処理装置であり、クライアント１０２〜１０４の機能を同時に持つこともできる。
【００１３】
さらに、本実施形態におけるプリントサーバ１０１は、クライアントコンピュータ１０２、１０３、１０４から印刷要求が出された印字データを含む印刷ジョブを格納して印刷したり、またはクライアントコンピュータ１０２、１０３、１０４から印字データを含まないジョブ情報のみ受け取り、クライアントコンピュータ１０２、１０３、１０４の印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知したり、ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得し、クライアントコンピュータ１０２、１０３、１０４に通知したりする機能を揃えている。
【００１４】
１０５は印刷制御装置であるネットワークプリンタであり、図示省略したネットワークインタフェースを介してネットワーク１０６と接続されており、クライアントコンピュータから送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換して１ページ毎に印刷する。プリンタ１０５としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、様々な方式のものに適応できることも無論想定される。
【００１５】
１０６はネットワークであり、クライアントコンピュータ１０２、１０３、１０４、サーバ１０１、ネットワークプリンタ１０５等と接続している。
【００１６】
＜情報処理装置の構成＞
図２は、図１に示した情報処理装置の構成を説明するブロック図であり、情報処理装置であるクライアントコンピュータ１０２、１０３、１０４も同じ構成であり、さらにサーバ１０１も同様あるいは同等のハードウエア構成とする。よって、クライアントとサーバの構成を説明するブロック図として説明する。
【００１７】
同図において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１８】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリやワークエリア等として機能する。
【００１９】
２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００２０】
２０４は記憶媒体であるフロッピー（登録商標）ディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００２１】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、及び関係プログラム等を格納している。さらに、スプール手段であるスプーラはここに確保される。スプール手段は、クライアント１０２〜１０４ではクライアントスプーラのことであり、プリントサーバ１０１ではサーバスプーラのことである。また、プリントサーバ１０１では、クライアント１０２〜１０４から受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【００２２】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータ１０２〜１０４に対して、また、オペレータや管理者がプリントサーバ１０１に対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００２３】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタ１０５の状態等を表示したりするものである。２０８はシステムバスであり、クライアント１０２〜１０４やプリントサーバ１０１であるコンピュータ内のデータの流れを司るものである。
【００２４】
２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００２５】
＜メモリマップ等の説明＞
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２６】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラム及び関係データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００２７】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２８】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアント１０２〜１０４において印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含み、またプリントサーバ１０１において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。
【００２９】
このような制御を行う本発明の印刷制御プログラムは、クライアント１０２〜１０４にインストールされるモジュールと、プリントサーバ１０１にインストールされるモジュールを別々に分けてもよいし、一つの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールを共にインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成も可能である。
【００３０】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００３１】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関係データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００３２】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
同図において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関係データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント１０２〜１０４、サーバ１０１共に同様の構成を採っている。
【００３３】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。
【００３４】
同図において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラム及び関係データを格納している。
【００３５】
＜印刷ジョブ制御システム＞
次に、本実施形態における、プリンタを複数台使用して、前述の分散、同報、及び代行といった印刷処理を行う印刷ジョブ制御システムについて説明する。なお、この印刷ジョブ制御システムの印刷処理は、上述した印刷制御プログラムで実行される。また、本実施形態では、複数のプリンタデバイスの夫々に対応する個々のプリンタドライバに対して一元的に印刷設定を指示可能で、且つ、Ｄｅ-ｓｐｏｏｌｅｒ（後述にて詳しく説明）が各プリンタドライバに描画命令を通知する際に用いる汎用印刷ファイルを生成するためにデータ（汎用ドキュメントデータ）を生成するドライバをグループプリンタドライバと呼ぶ。また、プリンタデバイスに依存した個々のプリンタドライバをメンバプリンタドライバと呼ぶ。
【００３６】
＜印刷ジョブの処理＞
図６は、アプリケーションから発行された印刷ジョブの処理を示す図であり、本システムのクライアントサーバモデルにおいてＭｉｃｒｏＳｏｆｔＷｏｒｄ（登録商標）などの一般的なアプリケーションから発行された印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを表している。
【００３７】
同図において、６００はクライアントマシンで、印刷ジョブ制御システムのクライアントモジュールが動作するマシンを指す（クライアント１０２〜１０４に相当）。
【００３８】
通常、印刷の指示がされるとアプリケーションプログラムはＯＳのグラフィック機能を介して一連の描画命令を生成させ、プリンタドライバを経てＷｉｎｄｏｗｓ（登録商標）スプーラ６０４に渡される。Ｗｉｎｄｏｗｓ（登録商標）スプーラ６０４は、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタデバイスに送信させる手順を採る。
【００３９】
本実施形態では、ユーザは予め印刷ジョブ制御システム用のポートモニタ（以下、ジョブ制御ポートモニタと記す）６２１を指定して印刷を指示する。アプリケーションプログラム６０１は一連のＯＳを介して描画命令を生成する。
【００４０】
描画命令を受け取ったグループプリンタドライバ６０３では、汎用印刷ファイルを生成するための汎用ドキュメントデータを生成し、プリンタデバイスへプリントジョブデータを送信するポートモニタではなく、ジョブ制御ポートモニタ６２１にプリントジョブデータとして送信する。ジョブ制御ポートモニタ６２１はプリントジョブデータをプリンタデバイス６５０に送信するのではなく、印刷ジョブ制御システム用のプリントサービス（以下、ジョブ制御プリントサービスと記す）６２２に送信する。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の管理するジョブ／デバイスの状態を管理する機能を備える。
【００４１】
さらに、デバイスとクライアントＰＣがピアツーピア接続環境で互いに動作するような場合には、ジョブ制御プリントサービス６２２はデバイスから通知されるデバイス状態やジョブの状態などの情報を管理したり、また、デバイスに対して所定の命令をする機能も備える。これは、複数のプリンタデバイス６５０のデバイス情報やジョブ情報を管理する機能に相当する。
【００４２】
印刷ジョブ制御システム用プリントマネージャ（以下、ジョブ制御プリントマネージャと記す）６２３は、ユーザがジョブ制御プリントサービス６２２内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェース（ＵＩ）を提供するプログラムである。
図３２は、ジョブ制御プリントマネージャ６２３のユーザインタフェース（ＵＩ）の例を示しめしている。
【００４３】
ジョブ制御プリントマネージャ６２３はジョブ制御プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ）を介して、ジョブ制御プリントサービス６２２と情報の送受信を実行し、主に、ジョブ制御プリントサービス６２２が管理する外部のプリンタデバイスの状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。
【００４４】
印刷ジョブ制御システム用サーバ（以降、ジョブ制御サーバと略記）６３０は、個々のクライアント６００上のジョブ制御プリントサービス６２２がプリンタデバイス６５０にプリントジョブデータを送信するタイミングを集中制御（スケジューリング）している。また、印刷ジョブ制御システム用サーバ６３０はネットワークを介して通信可能な各デバイス（印刷装置）の印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスを監視し、ジョブ制御プリントサービス６２２にイベントを通知する機能を備える。ここで、プリンタステータスの状態変化の監視について、ジョブ制御プリントサービス６２２は直接的に状態の変化の通知（イベント）をプリンタデバイスから取得することもできる。
【００４５】
印刷ジョブ制御システム用のマネージメントコンソール６３３（以降、ジョブ制御マネージメントコンソールと略記）は、ジョブ制御サーバ６３０が持つソフトウェアがアクセスするためのＡＰＩを介してジョブ制御サーバ６３０と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【００４６】
また、ジョブ制御サーバ６３０は、デバイス情報コントロールモジュール６３１を用いて各プリンタデバイス６５０と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報はクライアント６００側のジョブ制御プリントサービス６２２に渡すことができる。
【００４７】
＜グループプリンタドライバ６０３からの印刷＞
次に、本実施形態におけるグループプリンタドライバ６０３からの印刷について説明する。
【００４８】
グループプリンタドライバ６０３はアプリケーションプログラムが生成した一連の描画コマンドから、上述した汎用ドキュメントデータを生成する。この汎用ドキュメントデータはジョブ制御プリントサービス６２２によってプリンタデバイスの種類に依存しない中間フォーマットのファイルである汎用印刷ファイルに変換される。この汎用印刷ファイルの構成については後述する。
【００４９】
この汎用印刷ファイルは前述したようにＷｉｎｄｏｗｓ（登録商標）スプーラ６０４からジョブ制御ポートモニタ６２１を経て（図６の（ａ））、ジョブ制御プリントサービス６２２に導かれる（図６の（ｂ））。ジョブ制御プリントサービス６２２はこのプリントジョブに対して行うジョブ制御の種類に応じて、汎用印刷ファイルを基に描画コマンドを生成し（図６の（ｃ））、続いてＰＤＬドライバ６０２がその描画コマンドをプリンタデバイス６５０で解釈可能なＰＤＬファイルにする。
【００５０】
図６では、ジョブ制御プリントサービス６２２で、プリントジョブを二つに分けるジョブ制御が行われる場合において、二つのメンバジョブが生成された例を二つの矢印（ｃ）で示している。ＰＤＬドライバ６０２で生成されたＰＤＬファイルはＷｉｎｄｏｗｓ（登録商標）スプーラ６０４、ジョブ制御ポートモニタ６２１を経て（図６の（ｄ））、再びジョブ制御プリントサービス６２２に渡される（図６の（ｅ））。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の指示に従ってＰＤＬのプリントジョブデータをプリンタデバイス６５０に送信する（図６の（ｆ））。
【００５１】
ジョブ制御プリントサービス６２２は、汎用印刷ファイル中の印刷指示書の指示に従って、一つの汎用印刷ファイルを複数のプリントジョブに論理的に分割してそれぞれ別のプリンタデバイスに送信したり、一度送信したプリントジョブデータを別のプリンタデバイスに送信し直したりする。図６中の（ｃ）（ｄ）（ｅ）（ｆ）はそのような場合のプリントジョブデータの経路を示している。
【００５２】
一方、汎用印刷ファイルをアプリケーションソフトウェアが作成し、そのアプリケーションソフトウェアが直接汎用印刷ファイルを印刷ジョブとして投入する場合、一般のアプリケーションとはグループプリンタドライバ６０３への情報の渡し方や、グループプリンタドライバ６０３での処理内容が異なる。前述のように、一般のアプリケーションの場合、アプリケーションはグループプリンタドライバ６０３に描画情報を渡す際、通常のプリンタドライバと同じようにＷｉｎｄｏｗｓ（登録商標）のＧＤＩ関数を呼び出し、グループプリンタドライバ６０３がそれに応じて汎用ドキュメントデータを生成し、該生成された汎用ドキュメントデータがジョブ制御プリントサービス６２２によって汎用印刷ファイルに生成される。
【００５３】
これに対して汎用印刷ファイルを直接作成するアプリケーションの場合は、アプリケーションが汎用印刷ファイルを既に持ち、それをグループプリンタドライバ６０３に供給する。グループプリンタドライバ６０３は必要に応じて予め設定された印刷方法に基づいて汎用印刷ファイル内部の印刷指示書を書き換えてＷｉｎｄｏｗｓ（登録商標）スプーラ６０４に送る。
【００５４】
＜ＰＤＬドライバからの印刷１＞
図６では、PDLドライバ６０２はアプリケーションプログラム６０１が生成した一連の描画コマンドから、プリンタデバイス６５０で解釈可能なＰＤＬファイルを生成する。このPDLファイルはＷｉｎｄｏｗｓ（登録商標）スプーラ６０４からジョブ制御ポートモニタ６２１を経て（図６の（ｇ））、ジョブ制御プリントサービス６２２に導かれる（図６の（ｈ））。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の指示に従ってＰＤＬのプリントジョブデータをプリンタデバイス６５０に送信する（図６の（ｉ））。
【００５５】
ジョブ制御プリントサービス６２２は、ＰＤＬファイルをプリンタデバイスに送信したり、一度送信したプリントジョブデータを別のプリンタデバイスに送信し直したりする。図６中の（ｇ）（ｈ）（ｉ）はそのような場合のプリントジョブデータの経路を示している。
【００５６】
＜ＰＤＬドライバからの印刷２＞
図６では、PDLドライバ６０２はアプリケーションプログラム６０１が生成した一連の描画コマンドから、プリンタデバイス６５０で解釈可能なＰＤＬファイルを生成する。このPDLファイルはＷｉｎｄｏｗｓ（登録商標）スプーラ６０４からＷｉｎｄｏｗｓ（登録商標）のジョブ制御ポートモニタ６６０を経て（図６の（ｊ））、プリンタデバイス６５０に送信される（図６の（ｉ））。
【００５７】
Ｗｉｎｄｏｗｓ（登録商標）のジョブ制御ポートモニタ６６０を使った印刷の系（図６の（ｊ））は通常のＷｉｎｄｏｗｓ（登録商標）などのＯＳのプリントシステムで印刷する系を表していて、代行印刷などの処理は行われない。
【００５８】
＜汎用印刷ファイルの構成＞
図７は、汎用印刷ファイルの構成の一例を示した図である。
【００５９】
同図に示すように、本実施形態で使用される汎用印刷ファイルは、印刷指示部とドキュメントデータ部からなる。印刷指示部は、ドキュメントの情報と印刷指示を記述した部分である。また、ドキュメントデータは、アプリケーションのデータを汎用的な形式のデータに変換したものであり、プリンタ言語に依存しないデータフォーマットとなっている。
【００６０】
印刷指示部は、ヘッダ部、ページ情報部、印刷体裁指示部、出力方法指定部、グループプリンタドライバ設定情報部、メンバプリンタ数、メンバプリンタドライバ名、及びメンバプリンタドライバ設定情報部などから構成されている。
【００６１】
ヘッダ部は、本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。ページ情報部は、ドキュメントデータ部のドキュメントデータのページ数や、各ページのサイズなどの情報を格納する部分である。印刷体裁指示部は、印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報（Ｎ−ＵＰや製本印刷など）、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。
【００６２】
出力方法指定部は、出力方法として、分散印刷、カラーモノクロ分散印刷、代行印刷、同報印刷などの情報を格納する部分である。グループプリンタドライバ設定情報部は、後述するグループプリンタドライバのＵＩの設定情報を格納する部分である。メンバプリンタ数はグループプリンタドライバが関係付けているャ塔oプリンタの数を格納する部分である。
【００６３】
メンバプリンタドライバ名は、メンバプリンタのプリンタドライバ名を格納する部分である。メンバプリンタドライバ設定情報部は、メンバプリンタのドライバＵＩの設定情報として例えばＤＥＶＭＯＤＥ情報を格納する部分である。
このメンバプリンタドライバ名とメンバプリンタドライバ設定情報部は、前述のメンバプリンタ数に格納された数だけの格納エリアを持っている。
【００６４】
前述の図６で説明したグループプリンタドライバ６０３では、汎用印刷ファイルを生成する際、グループプリンタドライバＧＵＩ上の設定を印刷指示部へ記録する。さらに、グループプリンタドライバ６０３はＧＤＩで受け取ったデータを汎用的なデータに変換しドキュメントデータとして、本汎用印刷ファイルのドキュメントデータ部に記録することとなる。
【００６５】
＜Ｗｉｎｄｏｗｓ（登録商標）プリントシステムと印刷ジョブの関係＞
次に、図８でＷｉｎｄｏｗｓ（登録商標）が提供するプリントシステムと印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要をさらに詳しく述べる。
【００６６】
図８中で印刷ジョブ制御システム７００は、サーバ１０１とクライアント１０２、１０３または１０４の制御プログラムが動作する物理的なマシンを跨いだ印刷ジョブ制御システムの範囲を示している。また、サーバ１０１が管理している出力ポート（ＯｕｔｐｕｔＰｏｒｔ）７１１は、クライアントのジョブ制御プリントサービス６２２のプロキシ出力ポート（ＰｒｏｘｙＯｕｔｐｕｔＰｏｒｔ）７１２と関係づけられ、一つのポートに関係付けられた各クライアント上のプロキシ出力ポート全てを統一的に管理している。
【００６７】
本実施形態では、実際のプリントジョブデータは各々のクライアントのプロキシ出力ポート７１２に保持される。ジョブ制御サーバ６３０は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス６２２に対して印刷ジョブの送信指示のみを行う。その指示に応じてクライアントのジョブ制御プリントサービス６２２はプリントジョブデータをデバイス６５０に送信する。
次に、印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合の処理を説明する。
【００６８】
印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合には、前述のようにユーザまたはアプリケーション６０１はグループプリンタドライバ６０３が割り当てられたプリンタに印刷ジョブを発行しなければならない。
【００６９】
アプリケーション６０１が印刷処理を開始すると、グループプリンタドライバ６０３は、ジョブ制御プリントサービス６２２のロジカルキュー情報（後述）を取得し、印刷プロパティで参照できる図３３のような情報を、汎用印刷ファイルに設定する。
【００７０】
ジョブ制御プリントサービス６２２は、グループプリンタドライバ６０３によって処理されたジョブデータをジョブ制御ポートモニタ６２１を介して汎用印刷ファイルとして受け取る。ジョブ制御プリントサービス６２２はこのジョブを受け取り、Ｄｅ-ｓｐｏｏｌｅｒ７０１を介してＰＤＬドライバが割り当てられた別のプリンタにジョブ（メンバジョブ）を発行して印刷を行わせる。
【００７１】
この時、Ｄｅ-ｓｐｏｏｌｅｒ７０１は前述の図７で説明した汎用印刷ファイルの印刷指示部を解釈し、ドキュメントデータ部のドキュメントデータを加工して、Ｗｉｎｄｏｗｓ（登録商標）のＧＤＩに変換し、各プリンタドライバに対して印刷指示を行い印刷ジョブを発行する。例えば印刷体裁指定部に、「２−ＵＰ」の指示が記録されていた場合、用紙１枚に２ページ分のドキュメントデータを縮小レイアウトする。また、分散印刷あるいは同報印刷の場合には、それらの設定に応じて印刷指示部に記述されている複数のメンバプリンタにジョブを発行する。代行印刷の場合は、代行する条件が満たされた時に、自動代行では事前の設定、手動代行ではユーザの操作に応じてメンバジョブを発行する。
【００７２】
また、上述したＤｅ-ｓｐｏｏｌｅｒ７０１とは別のモジュールに各メンバプリンタドライバに対応する指示情報を印刷指示部から抽出させ、該抽出された各メンバプリンタドライバに対する印刷指示をＤｅ-ｓｐｏｏｌｅｒ７０１に解釈させるような形態も想定される。
【００７３】
また、Ｄｅ-ｓｐｏｏｌｅｒ７０１は、各メンバプリンタにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、各メンバプリンタのＤＥＶＭＯＤＥを作成する必要があるが、このＤＥＶＭＯＤＥは印刷指示部に記載された内容を適宜各メンバプリンタのＤＥＶＭＯＤＥに反映させて生成する。
【００７４】
クライアント側のジョブ制御プリントサービス６２２は、ＰＤＬドライバ６０２によってレンダリングされた、それぞれのメンバジョブのＰＤＬデータをジョブ制御ポートモニタ６２１を介して受け取り、受け取ったジョブに関する情報をサーバ１０１側に知らせ、ジョブデータは自身のプロキシ出力ポート（ＰｒｏｘｙＯｕｔｐｕｔＰｏｒｔ）７１２Ａまたは７１２Ｂで一時保持する。その後、ジョブ制御サーバ６３０からの送信指示を受けた後にプリントデバイス６５０に送信する。
【００７５】
＜各種の情報と代行条件等の内容＞
Ｉ．ロジカルキュー情報
図９は、ロジカルキュー（論理プリンタ管理）７０５に設定されたロジカルキュー情報を示す図である。ロジカルキュー情報は、自動代行印刷処理を行う場合に参照する情報で、代行先プリンタや代行プリンタの優先順位などの情報が設定されている。
【００７６】
図２２、図２３、図２４はロジカルキュー（論理プリンタ管理）７０５にロジカルキュー情報を設定するためのユーザインタフェースを表している。
【００７７】
図２３からロジカルキュー（ここではOutput  Managerプリンタ）を選択すると、図２４が表示され編集ボタンを押下することにより図２２が表示される。
【００７８】
図２２においてロジカルキュー（論理プリンタ管理）７０５に対して代行先のメンバプリンタを設定し、代行先のメンバプリンタの優先順位を決定する。このユーザインタフェースで設定されたロジカルキュー情報はロジカルキュー（論理プリンタ管理）７０５で管理される。
【００７９】
ＩＩ．自動代行条件
図１０は、自動代行機能を持つロジカルキュー（論理プリンタ管理）７０５に設定される自動代行条件を示す図である。自動代行条件は、ロジカルキュー（論理プリンタ管理）７０５で受け付けられたジョブの情報に設定されもので、印刷を行ったプリンタデバイスにおいて「用紙なし」などのエラーが発生した場合、代行印刷処理を行うかどうかを判断する条件である。
【００８０】
ここで、自動代行条件の設定内容の、プリンタエラー、プリンタワーニング、ポートエラー、印刷待ちジョブ数、印刷待ちジョブサイズ、及び印刷待ちジョブトータルページについて説明する。
【００８１】
自動代行条件にプリンタエラーが設定されていると、印刷したプリンタデバイスにおいて、「用紙なし」などのデバイスエラーが発生した場合に、自動代行印刷処理が行われ、印刷ジョブが異なるプリンタデバイスに印刷される。自動代行条件にプリンタワーニングが設定されていると、印刷したプリンタデバイスにおいて、トナー残量が少ないなどのデバイスワーニングの状態が発生した場合に自動代行印刷処理が行われ、印刷ジョブが異なるプリンタデバイスに印刷される。
【００８２】
自動代行条件にポートエラーが設定されていると、印刷したプリンタに対応したプロキシ出力ポート７１２Ａまたは７１２Ｂにエラー状態が発生した場合に、自動代行印刷処理が行われ、印刷ジョブが異なるプリンタデバイスに印刷される。
【００８３】
印刷待ちジョブ数は、デバイスからの出力されるのを待たされているジョブの数であり、自動代行条件に印刷待ちジョブ数が設定されているときに、印刷待機ジョブの数を越えると、自動代行印刷処理が行われ、印刷ジョブが異なるプリンタデバイスに印刷される。印刷待ちジョブサイズは、デバイスからの出力されるのを待たされているジョブの総サイズであり、自動代行条件に印刷待ちジョブサイズが設定されているときに、印刷待機ジョブの総サイズを越えると、自動代行印刷処理が行われ、印刷ジョブが異なるプリンタデバイスに印刷される。
【００８４】
印刷待ちジョブトータルページは、デバイスからの出力されるのを待たされているジョブの総ページ数であり、自動代行条件に印刷待ちジョブサイズが設定されているときに、印刷待機ジョブの総ページ数を越えると、自動代行印刷処理が行われ、印刷ジョブが異なるプリンタデバイスに印刷される。
【００８５】
また、これらの条件は、複数同時に設定することも可能である。
【００８６】
ＩＩＩ．自動代行抑止条件
図１１は、自動代行機能を持つロジカルキュー（論理プリンタ管理）７０５に設定される自動代行抑止条件を示す図である。
【００８７】
図２３から図２６はロジカルキュー（論理プリンタ管理）７０５に自動代行条件を設定するユーザインタフェースを表している。
【００８８】
図２３からロジカルキュー（ここではOutput  Managerプリンタ）を選択すると、図２４において、ロジカルキューの一覧が表示される。自動代行条件を設定するロジカルキューを選択し、図２４の選択ボタンを押下することにより図２５が表示される。代行条件を設定するには、図２５のプリンタオプションを押下し、図２６により代行条件を設定する。
【００８９】
これにより設定された代行条件は、選択されたロジカルキュー（論理プリンタ管理）７０５に設定され、ロジカルキュー（論理プリンタ管理）７０５により管理される。
【００９０】
自動代行抑止条件は、ロジカルキュー（論理プリンタ管理）７０５で受け付けられたジョブの情報に設定されもので、プリンタデバイスで自動代行条件に設定された状態が発生した場合に、自動で代行処理を行わず、手動で代行印刷処理を行うようにするための条件である。
【００９１】
以下、自動代行抑止条件の設定内容の、用紙なし、用紙詰まり、ドアオープン、トレイフル、オフライン、キャリブレーションについて説明する。
【００９２】
自動代行抑止条件に用紙なしが設定されていると、印刷したプリンタデバイスにおいて、「用紙なし」などのデバイスエラーが発生した場合に、自動代行印刷処理が行われず、図３４に示されるような代行の通知を表すポップアップダイアログが表示される。このポップアップダイアログは印刷したジョブの代行処理を行うか、または、そのまま印刷を継続するかの動作を決定することが可能である。代行処理を行うと決定した場合には、図３５に示されるような手動代行ポップアップダイアログが表示され、ユーザが印刷したジョブの代行印刷先の選択や、代行印刷するページ、部数、ジョブの削除やそのまま印刷を継続するなどの動作を決定することが可能となる。ここで、図３５は、手動代行時に表示されるポップアップダイアログを示す図であり、ユーザが印刷したジョブの代行印刷先の選択や、代行印刷するページ、部数、ジョブの削除やそのまま印刷を継続するなどの動作を決定することが可能となる。また、自動代行印刷は汎用印刷ファイルを使用した印刷であるため図３５にあるようにPDL形式が異なる種類のデバイスを代行印刷先から選択することが可能である。
【００９３】
自動代行抑止条件に用紙詰まりが設定されていると、印刷したプリンタデバイスにおいて、「用紙詰まり」などのデバイスエラーが発生した場合に、自動代行印刷処理が行われず、図３４に示されるような代行の通知を表すポップアップダイアログが表示される。このポップアップダイアログは印刷したジョブの代行処理を行うか、または、そのまま印刷を継続するかの動作を決定することが可能である。代行処理を行うと決定した場合には、図３５に示されるような手動代行ポップアップダイアログが表示され、ユーザが印刷したジョブの代行印刷先の選択や、代行印刷するページ、部数、ジョブの削除やそのまま印刷を継続するなどの動作を決定することが可能となる。
【００９４】
自動代行抑止条件にドアオープンが設定されていると、印刷したプリンタデバイスにおいて、「ドアオープン」などのデバイスエラーが発生した場合に、自動代行印刷処理が行われず、図３４に示されるような代行の通知を表すポップアップダイアログが表示される。このポップアップダイアログは印刷したジョブの代行処理を行うか、または、そのまま印刷を継続するかの動作を決定することが可能である。代行処理を行うと決定した場合には、図３５に示されるような手動代行ポップアップダイアログが表示され、ユーザが印刷したジョブの代行印刷先の選択や、代行印刷するページ、部数、ジョブの削除やそのまま印刷を継続するなどの動作を決定することが可能となる。
【００９５】
自動代行抑止条件にトレイフルが設定されていると、印刷したプリンタデバイスにおいて、「トレイフル」などのデバイスエラーが発生した場合に、自動代行印刷処理が行われず、図３４に示されるような代行の通知を表すポップアップダイアログが表示される。このポップアップダイアログは印刷したジョブの代行処理を行うか、または、そのまま印刷を継続するかの動作を決定することが可能である。代行処理を行うと決定した場合には、図３５に示されるような手動代行ポップアップダイアログが表示され、ユーザが印刷したジョブの代行印刷先の選択や、代行印刷するページ、部数、ジョブの削除やそのまま印刷を継続するなどの動作を決定することが可能となる。
【００９６】
自動代行抑止条件にオフラインが設定されていると、印刷したプリンタデバイスにおいて、「オフライン」などのデバイス状態が発生した場合に、自動代行印刷処理が行われず、図３４に示されるような代行の通知を表すポップアップダイアログが表示される。このポップアップダイアログは印刷したジョブの代行処理を行うか、または、そのまま印刷を継続するかの動作を決定することが可能である。代行処理を行うと決定した場合には、図３５に示されるような手動代行ポップアップダイアログが表示され、ユーザが印刷したジョブの代行印刷先の選択や、代行印刷するページ、部数、ジョブの削除やそのまま印刷を継続するなどの動作を決定することが可能となる。
【００９７】
自動代行抑止条件にキャリブレーションが設定されていると、印刷したプリンタデバイスにおいて、「キャリブレーション」などのデバイス状態が発生した場合に、自動代行印刷処理が行われず、図３４に示されるような代行の通知を表すポップアップダイアログが表示される。このポップアップダイアログは印刷したジョブの代行処理を行うか、または、そのまま印刷を継続するかの動作を決定することが可能である。代行処理を行うと決定した場合には、図３５に示されるような手動代行ポップアップダイアログが表示され、ユーザが印刷したジョブの代行印刷先の選択や、代行印刷するページ、部数、ジョブの削除やそのまま印刷を継続するなどの動作を決定することが可能となる。
【００９８】
また、これらの条件は、複数同時に設定することも可能である。
【００９９】
ＩＶ．代行条件
図１３は、代行機能を持つプリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに設定される代行条件を示す図である。
【０１００】
図２３、図２４、図２５、図２７はロジカルキュー（論理プリンタ管理）７０５に自動代行抑止条件を設定するユーザインタフェースを表している。
【０１０１】
図２３からロジカルキュー（ここではOutput  Managerプリンタ）を選択すると、図２４において、ロジカルキューの一覧が表示される。自動代行抑止条件を設定するロジカルキューを選択し、図２４の選択ボタンを押下することにより図２５が表示される。代行抑止条件を設定するには、図２５の代行設定を押下し、図２７により代行条件を設定する。
【０１０２】
これにより設定された代行抑止条件は、選択されたロジカルキュー（論理プリンタ管理）７０５に設定されロジカルキュー（論理プリンタ管理）７０５により管理される。
【０１０３】
代行条件は、プリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂで受け付けられたジョブの情報に設定されもので、印刷を行ったプリンタデバイスにおいて「用紙なし」などのエラーが発生した場合、図１２に示されるような手動代行ポップアップダイアログが表示され、その後の印刷処理をユーザに決定させる処理に移行する条件である。
【０１０４】
ここで、代行条件の設定内容の、プリンタエラー、プリンタワーニング、ポートエラー、印刷待ちジョブ数、印刷待ちジョブサイズ、及び印刷待ちジョブトータルページについて説明する。
【０１０５】
代行条件にプリンタエラーが設定されていると、印刷したプリンタデバイスにおいて、「用紙なし」などのデバイスエラーが発生した場合に、図１２に示されるような手動代行ポップアップダイアログが表示され、その後の印刷処理をユーザに決定させる処理に移行する。
【０１０６】
代行条件にプリンタワーニングが設定されていると、印刷したプリンタデバイスにおいて、トナー残量が少ないなどのデバイスワーニングが発生した場合に、図１２に示されるような手動代行ポップアップダイアログが表示され、その後の印刷処理をユーザに決定させる処理に移行する。
【０１０７】
代行条件にポートエラーが設定されていると、印刷したプリンタに対応したプロシキ出力ポート７１２Ａまたは７１２Ｂにエラー状態が発生した場合に、図１２に示されるような手動代行ポップアップダイアログが表示され、その後の印刷処理をユーザに決定させる処理に移行する。
【０１０８】
印刷待ちジョブ数は、デバイスからの出力されるのを待たされているジョブの数であり、代行条件に印刷待ちジョブ数が設定されているときに、印刷待機ジョブの数を越えると、図１２に示されるような手動代行ポップアップダイアログが表示され、その後の印刷処理をユーザに決定させる処理に移行する。
【０１０９】
印刷待ちジョブサイズは、デバイスからの出力されるのを待たされているジョブの総サイズであり、代行条件に印刷待ちジョブサイズが設定されているときに、印刷待機ジョブの総サイズを越えると、図１２に示されるような手動代行ポップアップダイアログが表示され、その後の印刷処理をユーザに決定させる処理に移行する。
【０１１０】
印刷待ちジョブトータルページは、デバイスからの出力されるのを待たされているジョブの総ページ数であり、代行条件に印刷待ちジョブサイズが設定されているときに、印刷待機ジョブの総ページ数を越えると、自動代行印刷処理が行われ、印刷ジョブが異なるプリンタデバイスに印刷される。
【０１１１】
また、これらの条件は、複数同時に設定することも可能である。
【０１１２】
図２８から図３１は、プリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに代行条件を設定するユーザインタフェースを表している。
【０１１３】
図２８からプリンタキュー（ここではプリンタ）を選択すると、図２９において、プリンタキューの一覧が表示される。代行条件を設定するプリンタキューを選択し、図２９の編集ボタンを押下することにより図３０が表示される。代行条件を設定するには、図３０のプリンタオプションを押下し、表示された図３１により代行条件を設定する。
【０１１４】
これにより設定された代行条件は、選択されたプリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに設定されプリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂにより管理される。
【０１１５】
Ｖ．オリジナルジョブ情報
図１４は、オリジナルジョブのジョブ情報（以下、オリジナルジョブ情報と記す）を示す図である。
【０１１６】
このオリジナルジョブ情報は、ユーザがグループプリンタドライバを選択し印刷したジョブ（つまりオリジナルジョブ）がロジカルキュー（論理プリンタ管理）７０５に渡されるときに作成されるジョブ情報で、その印刷ジョブのドキュメント名、ジョブＩＤ、メンバジョブＩＤ、ジョブ種別、印刷種別、ジョブ優先度、自動代行条件、及び自動代行抑止条件などが設定されるものである。
【０１１７】
ドキュメント名は、ユーザが印刷した印刷ジョブのドキュメント名、ジョブＩＤは、本システムがジョブ毎に割り振るジョブ識別子、メンバジョブＩＤは、オリジナルジョブを元にして作成され、プリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに渡されるジョブのジョブ識別子で、ジョブ種別は、ロジカルキュー（論理プリンタ管理）７０５に設定されているジョブの種類（オリジナルジョブ）をロジカルキュー（論理プリンタ管理）７０５が受け付けたジョブに設定する情報で、印刷種別は、ロジカルキュー（論理プリンタ管理）７０５に設定されている印刷の種類（自動代行、分散、同報等）をロジカルキュー（論理プリンタ管理）７０５が受け付けたジョブに設定する情報で、ジョブ優先度はロジカルキュー（論理プリンタ管理）７０５に設定されている優先度をロジカルキュー（論理プリンタ管理）７０５が受け付けたジョブに設定する情報で、自動代行条件は、ロジカルキュー（論理プリンタ管理）７０５に設定された自動代行条件をロジカルキュー（論理プリンタ管理）７０５が受け付けたジョブに設定する情報で、自動代行抑止条件は、ロジカルキュー（論理プリンタ管理）７０５に設定された自動代行抑止条件をロジカルキュー（論理プリンタ管理）７０５が受け付けたジョブに設定する情報である。
【０１１８】
ＶＩ．メンバジョブ情報
図１５は、メンバジョブのジョブ情報を示す図である。
【０１１９】
メンバジョブは、ユーザがグループプリンタドライバを選択し印刷したジョブを元に作成されたジョブで、メンバジョブ情報は、メンバジョブがプリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに渡されるときに作成されるジョブ情報であり、その印刷ジョブのドキュメント名、ジョブＩＤ、オリジナルジョブＩＤ、ジョブ種別、印刷種別、ジョブ優先度、自動代行条件、及び自動代行抑止条件などが設定されるものである。
【０１２０】
ドキュメント名は、ユーザが印刷したオリジナルジョブのドキュメント名から作成されたドキュメント名で、通常、オリジナルジョブと同じドキュメント名であったり、ドキュメント名の後に番号が割り当てられたものである。ジョブＩＤは、本システムがジョブ毎に割り振るジョブ識別子、オリジナルジョブＩＤは、メンバジョブの元となるオリジナルジョブのジョブ識別子で、ジョブ種別は、メンバジョブ作成時に設定されるジョブの種類（メンバジョブ）を示す情報で、印刷種別は、オリジナルジョブに設定された印刷種別を引き継いだもので、ジョブ優先度は、オリジナルジョブに設定されたジョブ優先度を引き継いだもので、自動代行条件は、オリジナルジョブに設定された自動代行条件を引き継いだもので、自動代行抑止条件は、オリジナルジョブに設定された自動代行条件を引き継いだものである。
【０１２１】
ＶＩＩ．ＰＤＬジョブ情報
図１６は、ＰＤＬジョブ情報を示す図である。
【０１２２】
ＰＤＬジョブ情報は、ユーザが印刷アプリケーションにおいてＰＤＬドライバを選択し印刷したジョブのジョブ情報であり、ここでは、このジョブをＰＤＬジョブとする。すなわち、このＰＤＬジョブ情報は、ユーザがＰＤＬドライバを選択し印刷したジョブがプリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに渡されるときに作成されるジョブ情報で、その印刷ジョブのドキュメント名、ジョブＩＤ、ジョブ種別、ジョブ優先度、代行条件などが設定されるものである。
【０１２３】
ドキュメント名は、ユーザが印刷した印刷ジョブのドキュメント名、ジョブＩＤは、本システムがジョブ毎に割り振るジョブ識別子で、ジョブ種別は、プリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに設定されたジョブの種類（オリジナルジョブ、メンバジョブ、PDLジョブ等）をプリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂが受け付けたジョブに設定する情報で、ジョブ優先度は、プリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに設定された優先度をプリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂが受け付けたジョブに設定する情報で、代行条件は、プリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに設定された代行条件をプリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂが受け付けたジョブに設定する情報である。
【０１２４】
＜自動代行印刷処理及び手動代行印刷処理における印刷データの流れ＞
図１７は、自動代行印刷処理及び手動代行印刷処理における印刷データの流れを示す図であり、図中の（１）は、アプリケーションＡが、ＰＤＬドライバ６０２Ａを選択し印刷を行った印刷ジョブの流れを表している。（２）は、（１）で選択されたＰＤＬドライバ６０２Ａに対応するプリントデバイス６５０Ａで、印刷処理前または印刷処理中にデバイスエラーが発生すると、本システムが持つ代行印刷処理によってプリンタキュー（物理プリンタ管理）７２２Ａからプリンタキュー（物理プリンタ管理）７２２Ｂにジョブを移動し、プリントデバイス６５０Ｂに代行印刷されるジョブデータの流れを表している。（３）は、アプリケーションＢが、グループプリンタドライバを選択し印刷を行った印刷ジョブの流れを表している。（４）は（３）で選択されたグループプリンタドライバに印刷された汎用印刷ファイルを元に作成されたメンバジョブが、プリントデバイス６５０Ａにおいて印刷処理前または印刷処理中にデバイスエラーが発生すると、本システムが持つ代行印刷処理によって汎用印刷ファイルを元にプリントデバイス６５０Ｂに再度印刷される印刷ジョブの流れを表している。この際、印刷しようとしていたメンバジョブを削除して、メンバジョブを再度作成しプリンタデバイス６５０Ｂに印刷することをＤｅｓｐｏｏｌｅｒ７０１に指示する。
【０１２５】
＜本実施形態の属性変更処理および代行処理＞
図１８は、本実施形態の属性変更処理を示すフローチャートである。
【０１２６】
ステップＳ１８０１において、ユーザがユーザインタフェース等から印刷ジョブの印刷属性値の変更操作を行う。ステップＳ１８０２において、ジョブ情報のジョブ種別からPDLジョブであるかを判断し、PDLジョブである場合はステップＳ１８０３においてPDLジョブの印刷属性値の変更を行う。例えば、ユーザがPDLジョブのジョブ優先度の変更操作を行った場合は、PDLジョブの優先度を変更する。
【０１２７】
ステップＳ１８０２において、PDLジョブでなかった場合、ステップＳ１８０４において、ジョブ情報のジョブ種別からオリジナルジョブであるかを判断する。オリジナルジョブである場合はＳ１８０５において、オリジナルジョブの印刷属性値の変更を行う。例えば、ユーザがオリジナルジョブのジョブ優先度の変更操作を行った場合は、オリジナルジョブの優先度を変更する。
【０１２８】
ステップＳ１８０４において、オリジナルジョブでなかった場合、ステップＳ１８０６において、ジョブ情報の印刷種別から自動代行のメンバジョブであるかを判断する。自動代行である場合はＳ１８０７においてオリジナルジョブの印刷属性値の変更を行い、Ｓ１８０８において、メンバジョブの印刷属性値の変更を行う。ステップＳ１８０６において、自動代行でなかった場合、Ｓ１８０８において、メンバジョブの印刷属性値のみ変更を行う。例えば、ユーザが自動代行のメンバジョブにおけるジョブ優先度の変更操作を行った場合は、オリジナルジョブおよびメンバジョブの優先度を変更する。分散や同報のメンバジョブの場合はメンバジョブの優先度のみ変更する。
【０１２９】
図１９は、本発明に係る代行処理を示すフローチャートである。
【０１３０】
ステップＳ１９０１において、グループプリンタドライバがアプリケーションから印刷データを受け付ける。ステップＳ１９０２において、グループプリンタドライバが受け付けた印刷データをＷｉｎｄｏｗｓ（登録商標）プリントシステム６６０経由でロジカルキュー（論理プリンタ管理）７０５が受け付ける。
【０１３１】
ステップＳ１９０３において、ロジカルキュー（論理プリンタ管理）７０５に設定されている図１０の自動代行条件、図１１の自動代行抑止条件を、ステップＳ１９０２で受け付けた印刷データに関係する図１４のオリジナルジョブ情報に設定する。ステップＳ１９０４において代行管理プラグインがジョブを受け付ける。ステップＳ１９０５において代行管理プラグインは、図９のロジカルキュー情報に設定された、印刷先を示すメンバプリンタ名の中から優先度の高いプリンタ名を取得する。ここではメンバプリンタ名１に設定されたプリンタに対応するプリンタデバイスからプリンタデバイスの状態を取得し，ジョブに設定された図１４の自動代行条件に当てはまるかどうかを判断する。
【０１３２】
例えば、プリンタプリンタデバイスが「用紙なし」エラーの状態で、自動代行条件に「プリンタエラー」が設定されていれば、自動代行条件が満たされたこととなる。自動代行条件に「プリンタエラー」が設定されていなければ、自動代行条件が満たされていないこととなる。自動代行条件が満たされていないと判断されると、ステップＳ１９０６に処理を移行し、自動代行条件が満たされていないと判断されたメンバプリンタに対応したＰＤＬドライバに印刷することをＤｅ−ｓｐｏｏｌｅｒ７０１に指示を行う。
【０１３３】
ステップＳ１９０７では、Ｄｅ−ｓｐｏｏｌｅｒ７０１が指示されたＰＤＬドライバに印刷処理を行い、ステップＳ１９０８において、プリンタキュー（物理プリンタ管理）７２２Ａまたは７２２Ｂがジョブを受け付ける。プリンタキュー（物理プリンタ管理）７２２Ａまたは７２２Ｂがジョブを受け付けるとプリンタキュー（物理プリンタ管理）７２２Ａまたは７２２Ｂがジョブ情報を作成するが、これが図１５のメンバジョブ情報となる。ステップＳ１９０９において、プリンタキュー（物理プリンタ管理）７２２Ａまたは７２２Ｂは、図１４のオリジナルジョブ情報から図１０の自動代行条件、図１１の自動代行抑止条件を取得し、図１５のメンバジョブ情報に設定する。
【０１３４】
プロシキ出力ポート７１２Ａまたは７１２Ｂにジョブを渡す前にステップＳ１９１０において、対応するプリンタデバイスからプリンタデバイスの状態を取得し、メンバジョブ情報に設定された図１４の自動代行条件に当てはまるかどうかを判断する。代行条件が満たされていない場合には、ステップＳ１９１１に処理を移行する。
【０１３５】
ステップＳ１９１１においてプロシキ出力ポート７１２Ａまたは７１２Ｂがジョブを受け付けると、ステップＳ１９１２において、ジョブ制御サーバ６３０に入力ジョブ情報を渡し、スケジューリング要求を行い、ジョブ制御サーバ６３０から印刷指示が来るのを待機する。ステップＳ１９１３において、ジョブ制御サーバ６３０から印刷指示を受け付けると、ステップＳ１９１４において、プリンタデバイスにジョブ転送を開始する。
【０１３６】
ステップＳ１９１５において、対応するプリンタデバイスからプリンタデバイスの状態を取得し、メンバジョブ情報に設定された図１４の自動代行条件に当てはまるかどうかを判断する。代行条件が満たされていない場合には、ステップＳ１９１６に処理を移行する。
【０１３７】
ステップＳ１９１６において、プリンタデバイスから印刷完了の通知を監視する。プリンタデバイスから印刷完了通知を受け付けると、処理をステップＳ１９１７に移行し、ＰＤＬドライバから受け取った印刷データや、印刷ジョブに関係するメンバジョブ情報などを削除し、ステップＳ１９１８において、オリジナルジョブの汎用印刷データ、オリジナルジョブ情報を削除し、処理を終了する。
【０１３８】
ステップＳ１９０５において、代行条件が満たされていると判断した場合には、処理をステップＳ１９ステップＳ１９に移行する。ステップＳ１９１９において、オリジナルジョブ情報に設定された、自動代行抑止条件とプリンタデバイスの状態を比較し、自動代行抑止条件に当てはまるか判断する。
【０１３９】
例えば、プリンタプリンタデバイスが「用紙なし」エラーの状態で、自動代行抑止条件に「用紙なし」が設定されていれば、自動代行抑止条件が満たされたこととなる。自動代行条件に「用紙なし」が設定されていなければ、自動代行抑止条件が満たされていないこととなる。自動代行抑止条件が満たされていないと判断されると、自動代行処理が行われることになる。ステップＳ１９２０において出力先プリンタ選択処理を行う。
【０１４０】
ステップＳ１９２０において、図９のロジカルキュー情報に設定された、印刷先を示すメンバプリンタ名の中から現在印刷されようとしていたメンバプリンタの次に優先度の高いプリンタ名を取得する。ステップＳ１９０５に処理を移行し、選択されたメンバプリンタに対応するプリンタデバイスのプリンタデバイス状態との代行条件を判断する。
【０１４１】
ステップＳ１９ステップＳ１９において、代行抑止条件が満たされていると判断された場合には、ステップＳ１９２１において図１２のような代行ポップアップダイアログを表示し、ユーザに印刷ジョブの以降の処理を選択させる。ステップＳ１９２２において、ユーザが代行ポップアップダイアログで、代行先プリンタを選び、印刷ジョブを代行することを選択した場合、処理をステップＳ１９０６に移行し、ユーザが選択したプリンタに印刷することをＤｅ−ｓｐｏｏｌｅｒ７０１に指示する。
【０１４２】
ステップＳ１９２２において、ユーザが継続することを選択した場合には、代行印刷処理を行わず処理をステップＳ１９０６に移行し印刷処理を継続する。ステップＳ１９２２において、ユーザが削除することを選択した場合には、処理をステップＳ１９１７に移行し、ジョブ削除の処理を行う。
【０１４３】
ステップＳ１９１０において、代行条件が満たされていると判断した場合には、処理をステップＳ１９２３に移行する。ステップＳ１９２３において、メンバジョブ情報に設定された、自動代行抑止条件とプリンタデバイスの状態を比較し、自動代行抑止条件に当てはまるか判断する。自動代行抑止条件が満たされていないと判断されると、自動代行処理が行われることになる。
【０１４４】
ステップＳ１９２０において出力先プリンタ選択処理を行う。ステップＳ１９２３において、自動代行抑止条件が満たされていると判断されるとステップＳ１９２４に移行する。ステップＳ１９２４において図１２のような代行ポップアップダイアログを表示し、ユーザに印刷ジョブの以降の処理を選択させる。
【０１４５】
ステップＳ１９２５において、ユーザが代行ポップアップダイアログで、代行先プリンタを選び、印刷ジョブを代行することを選択した場合、処理をステップＳ１９２６に移行し、現在印刷しようとしていた印刷ジョブを削除して、ステップＳ１９０６においてユーザが選択したプリンタに印刷することをＤｅ−ｓｐｏｏｌｅｒ７０１に指示する。
【０１４６】
ステップＳ１９２５において、ユーザが継続することを選択した場合には、処理をステップＳ１９１１に移行し、印刷処理を継続する。ステップＳ１９２５において、ユーザが削除することを選択した場合には、処理をステップＳ１９１７に移行し、ジョブ削除の処理を行う。
【０１４７】
ステップＳ１９１５において、代行条件が満たされていると判断した場合には、処理をステップＳ１９２７に移行する。ステップＳ１９２７において、メンバジョブ情報に設定された、自動代行抑止条件とプリンタデバイスの状態を比較し、自動代行抑止条件に当てはまるか判断する。自動代行抑止条件が満たされていないと判断されると、自動代行処理が行われることになる。
【０１４８】
ステップＳ１９２０において出力先プリンタ選択処理を行う。ステップＳ１９２７において、自動代行抑止条件が満たされていると判断されるとステップＳ１９２８に移行する。ステップＳ１９２８において図１２のような代行ポップアップダイアログを表示し、ユーザに印刷ジョブの以降の処理を選択させる。ステップＳ１９２９において、ユーザが代行ポップアップダイアログで、代行先プリンタを選び、印刷ジョブを代行することを選択した場合、処理をステップＳ１９２６に移行し、現在印刷しようとしていた印刷ジョブを削除して、ステップＳ１９０６においてユーザが選択したプリンタに印刷することをＤｅ−ｓｐｏｏｌｅｒ７０１に指示する。
【０１４９】
ステップＳ１９２９において、ユーザが継続することを選択した場合には、処理をステップＳ１９１６に移行し、印刷処理を継続する。ステップＳ１９２９において、ユーザが削除することを選択した場合には、処理をステップＳ１９１７に移行し、ジョブ削除の処理を行う。
【０１５０】
このように本実施形態では、自動代行を行うグループプリンタドライバにおけるメンバジョブのジョブ優先度等の印刷属性値を変更した場合、オリジナルジョブの印刷属性値も変更することにより、代行処理が発生してメンバジョブが作り直されても、変更後の印刷属性値が引き継がれるようにする。
【０１５１】
なお、本発明は、上述した実施形態の装置に限定されず、複数の機器から構成されるシステムに適用しても、一つの機器から成る装置に適用してもよい。前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、完成されることは言うまでもない。
【０１５２】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭを用いることができる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、次のプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵなどが処理を行って実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１５４】
【図１】本発明の印刷システムの構成を示すブロック図である。
【図２】図１に示した情報処理装置の構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図である。
【図６】アプリケーションから発行された印刷ジョブの処理を示す図である。
【図７】汎用印刷ファイルの構成の一例を示した図である。
【図８】Ｗｉｎｄｏｗｓ（登録商標）が提供するプリントシステム６６０と印刷ジョブ制御システムにおける印刷ジョブの関係を示す図である。
【図９】ロジカルキュー（論理プリンタ管理）７０５に設定されたロジカルキュー情報を示す図である。
【図１０】自動代行機能を持つロジカルキュー（論理プリンタ管理）７０５に設定される自動代行条件を示す図である。
【図１１】自動代行機能を持つロジカルキュー（論理プリンタ管理）７０５に設定される自動代行抑止条件を示す図である。
【図１２】物理プリンタ管理で管理される印刷ジョブの手動代行時に表示される代行先を選択するためのユーザインタフェース画面の一例を示す図である。
【図１３】代行機能を持つプリンタキュー（物理プリンタ管理）７２２Ａ，７２２Ｂに設定される代行条件を示す図である。
【図１４】オリジナルジョブ情報を示す図である。
【図１５】メンバジョブのジョブ情報を示す図である。
【図１６】ＰＤＬジョブ情報を示す図である。
【図１７】自動代行印刷処理及び手動代行印刷処理における印刷データの流れを示す図である。
【図１８】第一実施形態の代行処理を示すフローチャートである。
【図１９】本発明の代行処理を示すフローチャートである。
【図２０】本発明の代行処理を示すフローチャートである。
【図２１】論理プリンタ管理にロジカルキュー情報を設定するためのユーザインタフェース画面の一例である。
【図２２】論理プリンタ管理にロジカルキュー情報を設定するためのユーザインタフェース画面の一例である。
【図２３】論理プリンタ管理にロジカルキュー情報を設定するためのユーザインタフェース画面の一例である。
【図２４】論理プリンタ管理にロジカルキュー情報として自動代行条件を設定するためのユーザインタフェース画面の一例である。
【図２５】自動代行条件を設定するためのユーザインタフェース画面の一例である。
【図２６】自動代行抑止条件（手動代行条件）を設定するためのユーザインタフェース画面の一例である。
【図２７】物理プリンタ管理にプリントキュー情報を設定するためのユーザインタフェース画面の一例である。
【図２８】物理プリンタ管理にプリントキュー情報を設定するためのユーザインタフェース画面の一例である。
【図２９】物理プリンタ管理にプリントキュー情報を設定するためのユーザインタフェース画面の一例である。
【図３０】手動代行条件を設定するためのユーザインタフェース画面の一例である。
【図３１】ジョブ制御プリントマネージャ６２３のユーザインタフェース画面の一例である。
【図３２】論理プリンタ管理７０５の印刷プロパティを設定するためのユーザインタフェース画面の一例である。
【図３３】手動代行条件に合致した場合に、代行の通知を表すポップアップダイアログ画面の一例である。
【図３４】論理プリンタ管理で管理される印刷ジョブの手動代行時に表示される代行先を選択するためのユーザインタフェース画面の一例を示す図である。
【符号の説明】
【０１５５】
６００  クライアントマシン
６０１  アプリケーションプログラム
６０２  ＰＤＬドライバ
６０３  グループプリンタドライバ
６０４  Ｗｉｎｄｏｗｓ（登録商標）スプーラ
６２１  ジョブ制御ポートモニタ
６２２  ジョブ制御プリントサービス
６２３  ジョブ制御プリントマネージャ
６３０  ジョブ制御サーバ
６３１  デバイス情報コントロールモジュール
６３３  ジョブ制御マネージメントコンソール
６５０  プリンタデバイス
【図１】
2005196439.tif 000003
【図２】
2005196439.tif 000004
【図３】
2005196439.tif 000005
【図４】
2005196439.tif 000006
【図５】
2005196439.tif 000007
【図６】
2005196439.tif 000008
【図７】
2005196439.tif 000009
【図８】
2005196439.tif 000010
【図９】
2005196439.tif 000011
【図１０】
2005196439.tif 000012
【図１１】
2005196439.tif 000013
【図１２】
2005196439.tif 000014
【図１３】
2005196439.tif 000015
【図１４】
2005196439.tif 000016
【図１５】
2005196439.tif 000017
【図１６】
2005196439.tif 000018
【図１７】
2005196439.tif 000019
【図１８】
2005196439.tif 000020
【図１９】
2005196439.tif 000021
【図２０】
2005196439.tif 000022
【図２１】
2005196439.tif 000023
【図２２】
2005196439.tif 000024
【図２３】
2005196439.tif 000025
【図２４】
2005196439.tif 000026
【図２５】
2005196439.tif 000027
【図２６】
2005196439.tif 000028
【図２７】
2005196439.tif 000029
【図２８】
2005196439.tif 000030
【図２９】
2005196439.tif 000031
【図３０】
2005196439.tif 000032
【図３１】
2005196439.tif 000033
【図３２】
2005196439.tif 000034
【図３３】
2005196439.tif 000035
【図３４】
2005196439.tif 000036