(57)【要約】【課題】  第１スプールファイルに連動した第２スプールファイルのスプール及びデバイスへの転送を効率よく行う。【解決手段】  情報処理装置により実行される印刷制御プログラムにおいて、印刷データ生成モジュールを介して作成されてスプールされる印刷データを再度独自スプールするスプールし、スプールされた印刷データのスプールと、代行先デバイスへの印刷データの送信とを並行して実行する。【選択図】  図１４
2004265387.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置により実行される印刷制御プログラムであって、
印刷データ作成モジュールを介して作成されてスプールされる印刷データを再度スプールするスプールステップと、
前記スプールステップにおける印刷データのスプールと、再送先或は代行先デバイスへの印刷データの出力とを並行して実行する制御ステップとを有することを特徴とする印刷制御プログラム。
【請求項２】
前記印刷データ作成モジュールを介して作成される印刷データに対応して発行される第１ＩＤと、前記第１ＩＤとは別に前記スプールステップにおいてスプールされる印刷データに第２ＩＤを作成するＩＤ作成ステップと、
前記ＩＤ作成ステップにおいて作成される第２ＩＤに対応したジョブ管理を行う管理ステップとを有することを特徴とする請求項１に記載の印刷制御プログラム。
【請求項３】
前記第１ＩＤはＯＳを介して発行されるＩＤであることを特徴とする請求項２に記載の印刷制御プログラム。
【請求項４】
前記制御ステップは、前記印刷データの代行時或いは再送時に、代行前或いは再送前に既にスプール済みの続きからスプールを継続することを特徴とする請求項１に記載の印刷制御プログラム。
【請求項５】
複数のプリンタの中から代行設定画面を介して指示された代行先のプリンタに対して前記第２ＩＤの通知を行う通知ステップと、
前記通知ステップにおいて通知された第２ＩＤに基づいて代行すべき印刷データを特定する特定ステップと、
前記特定ステップにおいて特定された印刷データを読み込む読込ステップとを有し、前記制御ステップは前記スプールステップにおける印刷データのスプールと前記読込ステップとを並行して処理するようにすることを特徴とする請求項１から４の何れかに記載の印刷制御プログラム。
【請求項６】
前記複数のプリンタの夫々にはポート情報が対応して設定されていることを特徴とする請求項１から５の何れかに記載の印刷制御プログラム。
【請求項７】
請求項１から６の何れかに記載のプログラムをコンピュータ可読の形態で記憶した記憶媒体。
【請求項８】
印刷制御を実行する情報処理装置であって、
印刷データ作成モジュールを介して作成されてスプールされる印刷データを再度独自スプールするスプールス手段と、
前記スプール手段による印刷データのスプールと、再送先或は代行先デバイスへの印刷データの出力とを並行して実行する制御手段とを有することを特徴とする情報処理装置。
【請求項９】
前記印刷データ作成モジュールを介して作成される印刷データに対応して発行される第１ＩＤと、前記第１ＩＤとは別に前記スプール手段によりスプールされる印刷データに第２ＩＤを作成するＩＤ作成手段と、
前記ＩＤ作成手段により作成される第２ＩＤに対応したジョブ管理を行う管理手段とを有することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記第１ＩＤはＯＳを介して発行されるＩＤであることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記制御手段は、前記印刷データの代行時或いは再送時に、代行前或いは再送前に既にスプール済みの続きからスプールを継続することを特徴とする請求項８に記載の情報処理装置。
【請求項１２】
複数のプリンタの中から代行設定画面を介して指示された代行先のプリンタに対して前記第２ＩＤの通知を行う通知手段と、
前記通知手段により通知された第２ＩＤに基づいて代行すべき印刷データを特定する特定手段と、
前記特定手段によって特定された印刷データを読み込む読込手段とを有し、前記制御手段は前記スプール手段による印刷データのスプールと前記読込手段による読込とを並行して実行するようにすることを特徴とする請求項８から１０の何れかに記載の情報処理装置。
【請求項１３】
前記複数のプリンタの夫々にはポート情報が対応して設定されていることを特徴とする請求項８から１２の何れかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一時的に記憶された印刷用のスプールファイルを利用して再印刷を行う仕組みに関する。
【背景技術】
【０００２】
Ｗｉｎｄｏｗｓ（登録商標）の仕組みにおいて、ＯＳを介してスプールファイルとして書込まれたファイルデータをスプールが完了することを待つことなく、逐次転送する転送技術が知られている。
【０００３】
また、Ｗｉｎｄｏｗｓ（登録商標）の仕組みにおいて作成される印刷用のスプールファイルとは独自のスプールファイルを作成して、該スプールファイルを再印刷に利用するような技術が知られている。
【０００４】
例えば、特許文献１には、印刷装置に転送した印刷データを、転送終了後にも利用するために一時的にスプールし、この記憶されたスプールされた印刷データを再度印刷装置に転送する再転送の技術が知られている。
【特許文献１】特開２００２−１９６９１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術においては、再転送に用意した独自スプールファイルの再転送を行うにあたって、印刷データが再度読み込み可能で既にスプールが終了していることが前提であり、シーケンシャル処理を前提にしているものとなっていた。
【０００６】
例えば、印刷データのスプールが行われている最中に、印刷を継続できないような印刷装置の状態が認識されたとしても、スプールファイルのスプール終了を待つ必要があり、他のデバイスなどにスプールファイルの再転送を行うまでに時間を要するという問題があった。
【０００７】
本発明は上記の課題に鑑みてなされたものであり、独自のスプールファイルを利用することにより印刷データの再転送を行うような仕組みにおいて、再転送をより高速に行うことができる印刷制御の仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明は上記課題を鑑みてなされたものであり、情報処理装置により実行される印刷制御の仕組みにおいて、印刷データ作成モジュールを介して作成されてスプールされる印刷データを再度独自スプールし、この独自スプールにおける印刷データのスプールと、再送先或は代行先デバイスへの印刷データの出力とを並行して実行する仕組みを提供することを目的とする。
【発明の効果】
【０００９】
本発明によれば、印刷データのスプールが行われている最中に、印刷を継続できないような印刷装置の状態が認識されたとしても、スプールファイルのスプール終了を待つ必要がなく、速やかに他のデバイスなどにスプールファイルの再転送を行うことが可能となる。
【００１０】
また、本発明によれば、代行先のポートの設定が「スプール後送信」するモードであったとしても、当初ユーザが意図したポートの設定を引き継ぐ事により、ユーザの意図した通りの速やかな印刷が実現される。
【発明を実施するための最良の形態】
【００１１】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【００１２】
〔第１実施例〕
図１は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、１台、または複数台接続されていることを仮定している。
【００１３】
図１において、１０２、１０３、１０４はクライアントコンピュータ（クライアント）としての情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続される。クライアント装置１０２〜１０４の各々は、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数登録可能なものとする。１０１は本実施形態のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０６に接続される。プリントサーバ１０１は、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０６に接続されている複数のプリンタを管理している。
【００１４】
なお、クライアント１０２〜１０４とプリントサーバ１０１は、一般的な情報処理装置にそれぞれ異なる制御を行う印刷制御プログラムを実行可能に格納することにより構成することができる。
【００１５】
また、プリントサーバ１０１として一般的な情報処理装置を用いた場合、クライアント１０２〜１０４の機能を同時に持たせることもできる。本実施形態におけるプリントサーバ１０１は、さらにクライアント１０２、１０３、１０４から出力された印字データを含む印刷ジョブを格納してプリンタに印刷させたり、または、クライアント１０２、１０３、１０４から印字データを含まない印刷ジョブを受け取り、クライアント１０２、１０３、１０４の印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知したり、ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得し、クライアント１０２、１０３、１０４に通知したりする機能を揃えている。
【００１６】
１０５はネットワークプリンタであり、不図示のネットワークインタフェースを介してネットワーク１０６と接続されている。ネットワークプリンタ１０５は、クライアントコンピュータ１０２〜１０４から送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換して、１ページ毎に印刷する。１０６はネットワークであり、クライント１０２、１０３、１０４、サーバ１０１、ネットワークプリンタ１０５等と接続している。
【００１７】
また、図中ではネットワークプリンタ１０５は１台しか示されていないが実際には複数台のネットワークプリンタが接続されているものとする。更に、このネットワークプリンタ１０５は、後述するデバイス６１４に相当するものであるが、このデバイス６１４には、電子写真方式のレーザービームプリンタ／複写機／デジタル複合機／ファクシミリや、インクジェット方式のプリンタ／デジタル複合機など様々な記録方式の画像形成装置が適用されることはいうまでもない。
【００１８】
図２は、本実施形態のクライアント１０２〜１０５及びプリントサーバ１０１として利用可能な情報処理装置の構成を説明するブロック図である。上述したように、クライント１０２、１０３、１０４及びプリントサーバ１０１は同様のハードウェア構成を有した情報処理装置によって実現可能である。以下、図２をクライアントとサーバの構成を説明するブロック図として説明する。
【００１９】
図２において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２０】
２０１はＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段を提供するＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。２０３はフレキシブルディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。２０４は記憶媒体としてのフレキシブルディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。なお、記憶媒体としては、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意の媒体を利用できる。
【００２１】
２０５は外部記憶装置の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）である。ＨＤ２０５には、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等が格納されている。また、スプール手段であるスプーラはこのＨＤ２０５に確保される。なお、スプール手段は、クライアント１０２〜１０４ではクライアントスプーラのことであり、プリントサーバ１０１ではサーバスプーラのことである。また、プリントサーバ１０１では、クライアント１０２〜１０４から受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶装置（ＨＤ２０５）に生成されて格納される。
【００２２】
２０６は指示入力を行なうためのキーボードである。キーボード２０６を用いることにより、ユーザがクライアントコンピュータに対して、或いは、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示する。なお、指示入力を行なうためにポインティングデバイス（不図示）を備えてもよい。
【００２３】
２０７はディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりする。２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司る。２０９はインタフェースであり、該インタフェース２０９を介して情報処理装置はネットワーク１０６と接続され、外部装置とのデータのやり取りを行うことが可能となる。
【００２４】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。図３には、ＦＤ２０４に格納されている上記ネットワークプリンタ制御プログラムがＲＡＭ２０２にロードされ、実行可能となった状態のメモリマップが示されている。
【００２５】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラムおよび関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカード等であってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２６】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアント１０２〜１０４において印刷ジョブの印刷先の変更を指示したり、印刷順序の変更を指示するための制御を行うプログラムを含む。また、印刷制御プログラムは、プリントサーバ１０１において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本実施形態の印刷制御プログラムは、クライアント１０２〜１０４にインストールされるモジュールと、プリントサーバ１０１にインストールされるモジュールを別々に分けてもよい。或いは、一つの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成をとることも可能である。
【００２７】
図３において、３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。３０２はオペレーティングシステム（ＯＳ）、３０３はネットワークプリンタ制御プログラムであり、それぞれＲＡＭ２０２上に確保された領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本実施形態のプリンタ制御プログラム（３０３）等を実行する際に利用される作業領域が確保されている。
【００２８】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４００は上記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアント、サーバ共、同様の構成をとっている。
【００２９】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、図４で説明したように本実施形態で説明するネットワークプリンタ印刷制御プログラムおよび関連データが格納されている。
【００３０】
次に上に述べてきた各構成に基づき動作する印刷制御処理についての説明を行う。
【００３１】
図６は本実施形態における印刷システムの概要を示す。
【００３２】
クライアントコンピュータの表示部に表示されたアプリケーションＵＩ（以下ＵＩのことをユーザインタフェースと呼ぶ）を介して印刷指示がされる。この印刷指示に基づきアプリケーションからＯＳを介した印刷指示がプリンタドライバ６０１に行われる。プリンタドライバ６０１はＯＳを介して供給される描画命令（ＤＤＩ）に基づき頁記述言語データを作成する。この頁記述言語データには描画データとジョブ制御データの双方が含まれる。また、本実施形態においては頁記述言語データのことを印刷データと呼ぶこともある。なお、以下ではプリンタドライバにより印刷データが作成される形態を例に説明を行なうがこれに限定されるものではない。例えば、アプリケーション６０７が帳票アプリケーションの場合などにアプリケーション６０７にプリンタドライバの機能が含まれる場合がある。印刷データ作成モジュールとして機能するものであればプリンタドライバやアプリケーションが適用される。
【００３３】
作成された頁記述言語データは、スプーラ６０２によりスプールファイル６０３として書込まれる。アプリケーションから選択されたプリンタに関連付けられたポートがＬＰＲポート６０４の場合は、ＬＰＲプロトコルを用いてスプーラ６０２から転送されてきた印刷データがデバイス６１４に送られる。また、デバイス６１４に送信された印刷データは送信後に順次消去されていく。一方、プリンタに関連付けられたポートがジョブ制御サービスポートモニタ６０５である場合には、スプーラ６０２から転送されてきた印刷データがジョブ制御サービスポートモニタ６０５を介してジョブファイル６０９が再度スプールされる。
【００３４】
このスプーラ６０２からジョブ制御サービスポートモニタ６０５に印刷データが転送される際に、図７のポート名が特定される。なお、デスプール開始時スプーラ６０２からジョブ制御サービスポートモニタ６０５に通知される情報の様子を図７に示す。
【００３５】
ここで、図７の説明を行う。７０１はジョブ転送の開始を示し、７０２はプリンタ名を示す。７０２のプリンタ名は図８の８０１のプルダウンメニューに表示されたプリンタ名から、ユーザの指示に応じた選択されたプリンタ名に対応する。尚、図８の８０１に示される各プリンタ名に対応するプリンタには、ポート名が対応しており、複数のプリンタ名から何れのプリンタが選択されると、図９の９０１に示されるようにポートに対応した表示がなされる。
【００３６】
７０３は、図８の８０１から選択されたプリンタ名に対応し、予め設定されたポート名を示す。これは、図９の９０１に相当する。
【００３７】
７０４は例えば印刷要求に応じてＯＳの仕組みを介して発行されたジョブＩＤに対応する。７０４はＯＳを介して発行された印刷要求を識別する為のＩＤに関連付けられていれば良い。
【００３８】
更に図８、図９について詳しく説明すると、図８は、印刷時にクライアント１０２〜１０４の表示部に表示される印刷設定画面の一例を示す。図８はクライアント１０２〜１０４が選択可能な複数のプリンタのリストを示すものであり、８０１の選択リストから「プリンタＥ」が選択されている様子を示している。
【００３９】
「プリンタＡ」はＰｏｒｔ６０４に関連付けられた通常のプリンタを、「プリンタＣ」はＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ（登録商標））ライターを、「自動代行君」、「同報君」は複数のデバイス６１４を対象とした印刷を行う為の仮想プリンタを示し、プリンタＢ及びプリンタＤをメンバプリンタとして登録してある。プリンタＢ及びプリンタＤは、仮想プリンタからの印刷のほか、直接これらのプリンタを選択して、印刷を行う事も可能である。
【００４０】
図９は「プリンタＥ」が選択された場合に図８の表示が変更された様子を示す。９０１は「プリンタＥ」のポート名を示す。
【００４１】
図６の説明に戻ると、図７に示される情報を受けたジョブ制御サービスポートモニタ６０５は、受信した図７の情報をジョブ開始通知としてジョブ制御プリントサービス６１０に通知する。この通知には少なくとも第１ジョブＩＤ（第１ＩＤとも呼ぶ）が含まれていればよい。ジョブ制御プリントサービス６１０はジョブ制御サービスポートモニタ６０５からのジョブ開始通知（Ｓ１４０２）に応答して、ジョブ制御サービス内部で印刷要求を識別するための第２のジョブＩＤ（第２ＩＤとも呼ぶ）と、第２ＩＤに対応したジョブファイル６０９のパスを応答する（Ｓ１４０３）。さらに、ジョブ制御プリントサービスポートモニタ６０５は、ジョブファイル６０９にスプーラから投入された印刷データを書込み、ジョブ制御プリントサービス６１０へジョブの書き込みを通知する（Ｓ１４０４）。
【００４２】
ジョブ制御プリントサービス６１０はジョブ制御プリントサービスポートモニタ６０５からのジョブファイルへのジョブの書き込み通知（Ｓ１４０４）を受けると、ジョブファイル６０９に書込まれた頁記述言語データを順次読込み複数のデバイス６１４の中で対応するデバイスに送信する。
【００４３】
プリントマネージャ６１１はＡＰＩ６１２を介してジョブ制御プリントサービス６１０と各種情報の送受信を行う。例えば、プリントマネージャ６１１はジョブ制御プリントサービス６１０が監視するデバイス６１４の状態情報の通知を反映したＵＩを作成したり、各種印刷指示の入力画面を提供する。特に、代行ＵＩ６１３はジョブ制御プリントサービスからデバイス６１４の障害情報を受け取ったことに対応して、代行印刷の指示を行う機能を備えたＵＩをクライアント画面に表示する。ここで、表示されるＵＩは図１１に示されるものであり、後述にて詳しく説明する。
【００４４】
図１０は、図６のジョブ制御プリントサービス６１０の詳細を示す。６１０内の各ブロックはプログラムコードとそれに付随するデータをひとまとまりの単位としたオブジェクトを示す。
【００４５】
ジョブ出力モジュール１００１は印刷データのデバイス６１４への送信を制御する。
【００４６】
デバイス監視モジュール１００３はネットワークケーブルなどの通信回線を介してデバイスの状態情報を監視する機能を備える。デバイス監視モジュール１００３はデバイスに問合せを行ったり、デバイスから自発的に通知されてくる状態情報を受信する機能を備える。
【００４７】
状態情報としては、デバイス６１４における紙／トナーなどの消耗品無し、ジャム、ドアオープン、等のエラー情報や、デバイス６１４におけるジョブの予約数などデバイスの負荷情報などを含む。ジョブ管理モジュール１００２或いは或いはジョブ出力モジュールは検知した障害情報を上に説明したプリントマネージャ６１１ジョブ制御プリントサービス６１０として通知する。
【００４８】
ジョブ管理モジュール１００２はデバイス監視モジュール１００３とジョブ出力モジュール１００１との情報の送受信を仲介する機能を備える。またジョブ制御プリントサービスが、前述のサーバ１０１上でサーバプログラムとして動作している場合、及び／又は、同一デバイスへジョブ出力を行う複数のジョブが出力モジュール中に存在した場合には、それぞれのジョブの送信順序を制御する機能も備える。図１０中の双方向矢印１００４はスケジュール（出力順序制御）の依頼と、スケジュールアップ（出力開始指示）とを示す。
【００４９】
図１２はジョブ出力モジュール１００１の詳細を示す。６０５及び１００１内の各ブロックはオブジェクトを示す。
【００５０】
ジョブ出力モジュール１００１内では、プリンタ及びＰｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔという単位でジョブを管理する。これは、ＯＳのスプーラに登録されているプリンタ及びポートに対応しているが、ジョブ制御プリントサービス内部で制御を行う為に必要な拡張プリンタ情報を保持している。この設定可能なプリンタの情報としては、例えば図１６に記載のように、ジョブの優先度や、印刷待ちジョブの個数がいくつあった場合に代行印刷を行うかなどの代行発生条件がある。
【００５１】
また、ポート（Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ）のオプション属性としては、図１７に記載のように、デバイスのアドレスやモデル名のほか、送信プロトコル、デバイスへの転送方法等がある。
【００５２】
プリンタで受け付けたジョブは対応するＰｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔを経由してデバイスへ転送される。なお、１つのデバイスを指すＰｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔが複数存在した場合、プリンタで受け付けた印刷データは、Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔにおいて順序制御され順次デバイスへ転送される。
【００５３】
次に、図１１、図１２、図１３、図１５、図１６、図１７を併せて図１４のフローチャートの説明を行う。図１４はプリンタドライバを介して作成されてスプールされる印刷データを再度独自スプールし、この独自スプールと、独自スプールされた代行先デバイスへの印刷データの送信と、を並行して実行する処理に対応する。
【００５４】
図９に示されるユーザインタフェースを介して設定されたプリンタＥへのアプリケーションからの印刷指示がなされると、ＯＳからの印刷開始イベントがジョブ出力モジュール１００１内のプリンタＥに通知されステップＳ１４０１の印刷開始イベントとして認識される。プリンタＥでは新規にジョブが発行された事を検知したらジョブ管理情報から、未使用の第２ＩＤを選択／生成し、ＯＳから取得したジョブの属性及び第１ＩＤと共にジョブ情報をジョブ管理情報１２０１に登録する。プリンタＥによる新規ジョブ発行の検知はプリンタＥが直接でもよく、所定のソフトウェアモジュールを介して検知するような形態でも良い。尚、ジョブ管理情報１２０１はＲＡＭ２０２上に保存され高速にアクセス可能な構成となっているが、図１３に記載のジョブ属性のコピーはファイルとしてＨＤ２０５上に保存され、ジョブファイル６０９と共に、ＰＣ再起動時にも利用可能な構成となっている。
【００５５】
ジョブ情報の詳細は図１３（ａ）に示されるように、第１ＩＤ１３０３と第２ＩＤ１３０１、１３０２の対応のほか、ジョブファイル６０９の名称１３０４、プリンタ名１３０５、ポート名１３０６、ジョブの状態１３０７、受け付け時刻等１３０８、優先順位１３０９が保存されている。また、図１３の（ｂ）の１３１０乃至１３１８の情報は図１３の（ａ）の１３０１乃至１３０９に夫々対応しているので、ここでは詳しい説明を省略する。この図１３に示されるジョブ識別子やオリジナルジョブ識別子を作成することにより、ＯＳジョブＩＤに連度するジョブファイル６０９のスプール処理とは別にジョブファイル６０９にスプールされた印刷データをデバイスへ適宜転送することが可能となる。
【００５６】
ジョブ情報はジョブ識別子やオリジナルジョブ識別子やプリンタ名や第１ＩＤの中から任意組み合わせで抽出することによって検索可能であり、ＡＰＩ６１２や不図示の内部インタフェースによって、プリンタ１２０８、Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ１２０９等からアクセス可能に構成されている。また、ジョブ識別子については単独でも検索可能となっている。また、図１２中のＰｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ１２０９、１２１３はプリンタＥ、プリンタＢとは別個に記載してあるが、プリンタＥ、プリンタＢ等の所定の機能モジュールに含めるようにしても良い。
【００５７】
前記印刷指示の結果、アプリケーションプログラムが描画したデータは、ＤＤＩを通してＯＳのスプーラ６０２によってスプールされ、スプールファイル６０３が作成される。スプーラ６０２は該ファイルを順次読み取りジョブ制御サービスポートモニタ６０５へジョブデータを通知する。
【００５８】
スプーラ６０２からジョブ制御サービスポートモニタ６０５へのジョブデータ送信開始が通知されると、ステップＳ１４０２においては、ジョブ制御サービスポートモニタ６０５から図７に示される情報を含んだＪｏｂ開始要求をプリンタＥに通知する。
【００５９】
ステップＳ１４０３においては、ジョブ制御ポートモニタ６０５はステップＳ１４０１の通知に基づきプリンタＥより更新されたジョブ管理情報１２０１中からプリンタ名及び第１ＩＤをキーとして検索された図１３に示されているジョブ情報のうち第２ＩＤ及びＦｉｌｅ名をステップＳ１４０２の応答として受け取る。
【００６０】
スプーラ６０２からジョブデータを受け取ったジョブ制御サービスポートモニタ６０５はステップＳ１４０３において受信した情報に基づき第２ＩＤに対応するジョブのジョブファイル名のファイルへジョブの書き込みを開始し、ステップＳ１４０４において、第２ＩＤとジョブの書き込み開始をプリンタＥへ通知する。ステップＳ１４０４の通知を受けたプリンタＥでは、ステップＳ１４０５において、ＰｒｏｘｙＯｕｔＰｕｔＰｏｒｔＥに対して第２ＩＤに対応するジョブの送信予約／登録を行う。そして、Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  ＰｏｒｔＥでは、プリンタＥから登録された第２ＩＤを送信待ちジョブのキュー１２１０へ登録する。
【００６１】
本発明の実施例における印刷制御プログラムは、ジョブ制御サービスポートモニタ６０５におけるジョブファイル６０９のスプール処理の動作と、Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔにおける送信処理を並行動作するか否かを排他的に選択可能なものとする。
【００６２】
この選択可能についての具体的に説明すると、図１７において、「ジョブのデバイスへの転送」チェックボックスが選択ボタンに対応するものであり、「スプールしながら転送する」が選択されている場合には、スプール動作と送信処理を並行動作し、「スプール後に転送する」が選択されている場合は、従来のプログラム同様スプール完了後に転送するように構成されている。この図１７の設定画面は各Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ毎の設定のために用意されている。
【００６３】
ポートの転送モードの属性として、スプールしながら転送するが選択されている場合、Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  ＰｏｒｔＥでは、後述のステップＳ１４１２における第２ＩＤジョブ書き込み終了通知を待たずとも、転送候補としてピックアップされる。転送候補としてマークされたジョブは、１２０１及び図１３に示されているジョブ情報から、優先順位、受付時刻等によって送信順序が決定される。ジョブ送信順序の決定方法に関しては本発明とは直接関係が無いため、此処では詳細を説明しない。
【００６４】
プリンタＥによって登録された第２ＩＤで識別されるジョブは、送信順序に達すると、ステップＳ１４０６において、プリンタＥに対応しているＰｒｏｘｙＯｕｔｐｕｔＰｏｒｔＥは、ジョブファイル６０９の読込を行うと共に、読み込んだ印刷データをデバイス６１４（プリンタデバイスＥ）に送信する。送信される印刷データを受信したプリンタデバイスＥでは、印刷データに基づくメディアへの記録を実行する。このようにＰｒｏｘｙＯｕｔｐｕｔＰｏｒｔの機能により、ジョブファイル６０９へのプリンタドライバを介して作成されて印刷データの独自スプールを継続しながら、出力先デバイスへの印刷データの転送とを並行して実行する制御が実現され、スループットの早い印刷制御の仕組みを提供することができる。
【００６５】
ここで、デバイスにおいて所定の障害が発生したことが、デバイス監視モジュール１００３を介してプリントマネージャ６１１に通知がされると（Ｓ１５０１に対応）、図１１に示されるような代行ＵＩ６１３がプリントマネージャ６１１によって起動される（Ｓ１５０２に対応）。
【００６６】
ここで図１１の説明を詳しくすると、図１１中の「代行先として選択可能なプリンタ一覧」に表示されるプリンタのリストは図１２中のＰｒｏｘｙＯｕｔＰｕｔＰｏｒｔを備えるプリンタＥや、プリンタＢなどに対応する。
【００６７】
代行ＵＩ６１３においては、代行が発生したジョブとその印刷を遂行するに必要なプリンタ機能／装備（１１０１）及び代行可能なプリンタのリスト及びその状態（１１０４）が表示される。１１０１においてはスプールファイル６０３にスプールされた印刷データに基づき特定されるプリンタの機能／装備などのジョブの情報が表示される。例えば、ステイプル機能の有無、所定サイズ給紙カセットを備えるか否か等の機能に係る表示が行われる。
【００６８】
さらに代行先のプリンタ候補例えばプリンタＢを選択すると該プリンタが保持しているオプション構成（用紙サイズ、ステイプル、両面等）の情報が、プリンタ機能画面（１１０３）に表示される。本発明に係わる印刷装置においてはスプールしながらジョブの転送を行う為に、代行が発生した時点ではジョブの属性が確定していない場合がある。具体的には、スプーラ６０２に全ての印刷データがスプールされておらず、全印刷データの枚数が確定しないない、用紙サイズの確定が行われていない場合などが挙げられる。
【００６９】
また、図１１においては印刷に必要な機能が表示されていないが、このような場合に１１０２に記載の「プリンタ情報の更新」ボタンを押下することにより、プリントマネージャ６１１からジョブ制御プリントサービス６１０に対してジョブ及びプリンタの属性／状態情報取得が行われ、最新の処理状況に応じたジョブの情報或いは代行先プリンタの状態を表示する事ができる。また最新の処理状況の変更をジョブ制御プリントサービスからプリントマネージャに対し非同期に通知し、これを検知して代行ＵＩ図１１の再表示を行う様に構成しても良い。
【００７０】
そして、１１０４に指示がなされると、図１８に示されるＵＩ（印刷設定画面）が表示される。図１８のＵＩを介して代行先のプリンタでの印刷開始ページ（論理ページ）をクライアントから指定する事ができる。詳細にいては後述する。
【００７１】
図１４の説明に戻ると、図１１の代行ＵＩを介して代行プリンタの指定が本印刷システムに入力されると、ステップＳ１４０７においてＡＰＩ６１２を介しプリンタＥに代行指示の通知がされる（Ｓ１５０３に対応）。
【００７２】
図１４の場合は図１１の代行ＵＩを介してプリンタＢを代行先プリンタとする指示が本印刷システムに入力された場合を示す。
【００７３】
ステップＳ１４０８において、プリンタＥは、第２ＩＤと続行して出力すべき印刷範囲を示す頁情報或いは部数情報とを少なくともプリンタＢに通知する。
【００７４】
ここで出力すべき印刷範囲について詳しく説明する。
（１）排紙時のバイスからのイベント、或いは、デバイス監視モジュールからデバイス６１４へのポーリングよって取得される排紙済みの面数に基づく。
（２）図１８のような代行先プリンタにおける出力開始ページに基づく。
【００７５】
まず、（１）について詳しく説明すると、物理媒体が一枚排紙される毎にデバイスからイベントがデバイス監視モジュール１００３に通知される。
【００７６】
或いは、イベントを取りこぼした場合に備え、ポーリングにより排紙済みの面数を取得する。具体的にはデバイス監視モジュール１００３がデバイス６１４から印刷続行できない状態を検知した時に、ポーリングによりデバイス６１４での排紙済みの面数を取得する。この際、デバイス６１４から印刷続行できない状態を検知した後に、所定時間待機してデバイス監視モジュール１００３よりポーリングするようにすれば、より確実な排紙面数を取得することができる。
【００７７】
次に（２）について詳しくすると、図１１は、デバイス監視モジュール１００３（ジョブ制御プリントサービス６１０）によってデバイス６１４で印刷続行できない状態を検知した時に、代行元のプリンタの排紙状況に応じて、プリントマネージャー６１１によって代行ＵＩ６１３が表示されることによってユーザに提示される。
【００７８】
代行元のプリンタの排紙状況が一枚（物理媒体）も排紙されていない場合には、図１８は表示されない。例えば、物理媒体の排紙が９枚確認されていれば、図１８の１８８０１に示されるように、「１０」が初期値として設定されている。例えば、排紙済みのページが汚れているような場合や、何らかの原因でデバイス管理モジュールの検知が間違っていたような場合に備え、ユーザに開始ページを設定させることもできる。
【００７９】
一方、一枚でも排紙されている場合には１８０１に、排紙済みの面数を加味した開始ページが初期値に設定された図１８のＵＩが表示される。そして、図１８の１８０２の印刷開始ボタンに指示がなされると、開始ページ１８０１で設定された「続頁」と、ジョブファイル６０９の全てとをデバイス６１４に送る。また、「続頁」に該当するページからのジョブファイル６０９を代行先のデバイス６１４に転送しても良いし、「続頁」に該当するページからのジョブファイル６０９を生成しなおしても良い。
【００８０】
また、ステップＳ１４０７の代行指示を受けたプリンタＥは、ステップＳ１４０９において、ステップＳ１４０８の処理と並行して、ＰｒｏｘｙＯｕｔＰｕｔＰｏｒｔＥに対して第２ＩＤに対応するジョブのキャンセル／削除の指示を行う。この際、スプール処理が継続されている場合には、送信処理のみをキャンセルし、ジョブの状態１３０７を「スプール中    削除中」として図１３（ａ）のジョブ情報をジョブ管理情報１２０１に残しておく。
【００８１】
ステップＳ１４０８の通知を受けたプリンタＢは、ステップＳ１４１０において新規にジョブを管理するための第３のＩＤ（第３ＩＤとも言う）を生成し、代行されたジョブを示す第２ＩＤを用いてジョブ管理情報１２０１から第２ＩＤ（ジョブ識別子或いはオリジナルジョブ識別子）に対応したジョブ情報図１３（ａ）を参照し、第３ＩＤのジョブ属性としてコピーし設定する。コピーすべきジョブ属性を参照する情報としては代行元のジョブを特定できる情報であれば良い。
【００８２】
この際、プリンタＥにおけるプリンタＥに固有の属性（引く継ぐべきではない属性）、例えばジョブの状態（プリンタＥではスプール中−削除中でありプリンタＢでは送信待ちである）はコピーしない。これによって作成されたジョブ情報を図１３（ｂ）に示す。
【００８３】
そして、ステップＳ１４１０において、印刷データの代行時或いは再送時に、代行前或いは再送前に既にスプール済みの続きからスプールを継続しながら、スプールされたデータを代行先或いは再送先のプリンタデバイスに送信することができる。これにより、最初にプリンタＥ用にスプールした処理をプリンタＢ用に再度やり直す必要がなく、プリンタＥにおいて行なったスプールの処理を新たな代行先或いは再送先に活用することができる。
【００８４】
ステップＳ１４１１においては、ステップＳ１４０６と同様にプリンタドライバを介して作成されてスプールされる印刷データを再度独自スプール（ジョブファイル６０９）し、この独自スプールと、代行先デバイスへの独自スプールされた印刷データの送信とが並行して実行される。尚、このステップＳ１４１１の処理と、ジョブ制御サービスポートモニタ６０５によるジョブファイル６０９の処理は異なるＩＤの元に並行して実行されているものとする。具体的に説明すると、ジョブ制御サービスポートモニタ６０５は、代行が発生した場合にも、ジョブファイル６０９への書き込みを最初からやり直すことなく、既にスプール済みの続きから継続する。さらに具体的には、プリンタＥからプリンタＢに代行が発生した場合に、第３ＩＤの元にスプールされるジョブファイル６０９は、以前に第２ＩＤに対応してジョブ制御サービスポートモニタによって書き込まされていたジョブファイル６０９の既存部分の続きから書き込むことになる。
【００８５】
このようにステップＳ１４０６、Ｓ１４１２のＰｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔの機能により、ジョブファイル６０９へのプリンタドライバを介して作成されて印刷データの独自スプールをステップＳ１４０４乃至１４１２の処理の実行中も継続でき、また代行先デバイスへの印刷データの転送を並行して実行する印刷制御が実現される。
【００８６】
例えば、ステップＳ１４０８における通知をプリンタＢが受信した際に、ジョブ制御サービスポートモニタ６５０によりジョブファイル６０９のスプールが８０％既に完了していたような場合でも、プリンタＢは代行先のプリンタデバイスに対して既にスプールされたファイルの必要な部分から適宜転送を行うことができる。必要な部分としては例えば、最初からのスプールファイルであったり（デバイス６１４へ送信する際にはＳ１４０８の通知に基づく頁情報を付す）、Ｓ１４０８の通知に基づく頁からのスプールファイルであったりする。更新された情報は１１０２に記載の「プリンタ情報の更新」ボタン押下に応じて図１１ＵＩに反映される。
【００８７】
一方、ジョブ制御サービスポートモニタ６０５により、ジョブファイル６０９の書き込みが終了した場合にはジョブファイルの書き込み終了の同期シグナルが通知される（ステップＳ１４１２）。同期シグナルの通知は、プリンタＢに直接通知しても良いし、セマフォ等を用いて（ｓｅｍａｐｈｏｒｅ：並行して動作しているプロセス間で同期を取ったり割り込み処理の制御を行なう機構。また、そのためにプロセス間で交換される信号。）通知しても良い。
【００８８】
一方、図１２の１２０６に示されるように第２ＩＤを付した書き込み終了通知がジョブ制御サービスポートモニタ６０５からプリンタＥに対して行われる。プリンタＥは、確定されたジョブの属性情報（用紙サイズ、用紙枚数等）を元にジョブ管理情報１２０１を更新する。この更新の際にはオリジナル識別子（第２ＩＤ）を持つ全てのジョブ情報が更新される。このように、第２ＩＤを併用した所定の通知に基づき再度スプールされるジョブファイル６０９の管理をすることができる。
【００８９】
また、ステップＳ１４１２の同期シグナルを検知したプリンタＢ（ＰｒｏｘｙＯｕｔＰｕｔＰｏｒｔＢ）では、ステップＳ１４１１において、検知をした時点で存在したプリンタデバイスＢに送信するジョブファイルの読込が終了した際に、これ以上送信すべきジョブファイルがないことを認識すると共に、ジョブの送信処理を終了する。さらに別の形態としては、ジョブ制御サービスポートモニタ６５０からプリンタＥとプリンタＢとに第２ＩＤに対応するジョブの書き込みを終了したことを通知するようにしても良いし、或いは、ジョブ制御サービスポートモニタがプリンタＥへ通知し、さらにプリンタＥが代行先のプリンタＢへ通知するようにしても良い。
【００９０】
デバイスＢでの印刷完了が、デバイス監視モジュール１００３によって検知され、ジョブ管理モジュール１００２を経由してジョブ出力モジュール１００１へ通知されるとジョブ管理情報１２０１からジョブ情報の図１３（ａ）（ｂ）と、ジョブファイル６０９が削除され、印刷処理が完了する。
【００９１】
このように第１実施例によれば、プリンタドライバを介して作成されてスプールされる印刷データを再度独自スプールし、この独自スプールと、独自スプールされた代行先デバイスへの印刷データの送信と、を並行して実行することができるようになったので、印刷データの再送や他のデイバスへの転送を行う上で必要になってくる独自スプールファイルのデバイスへの送信開始を迅速に行えるようになった。
【００９２】
また、プリンタドライバを介して作成される印刷データに対応してＯＳを介して発行される第１ＩＤとは別に、独自スプールされる印刷データに第２ＩＤを作成し、この第２ＩＤに基づく、言い換えればオリジナルジョブとは別に発行されたＩＤ（第２ＩＤや第３ＩＤ）に対応したジョブ管理を行うことができるようになったので、スプーラ６０２からジョブ制御サービスポートモニタ６０５へのデスプールなどのＯＳ独自の処理が終了した後も再送／代行を伴うジョブ追跡／管理が可能となった。さらに、情報処理装置（ＰＣ）の再起動が行われ、ＯＳが再起動前の印刷処理において発行したジョブＩＤと重複するようなＩＤ（第１ＩＤ）を発行するようなことがあっても。確実にジョブの追跡／管理を行えるようになった。
【００９３】
また、従来の独自スプールファイルの書き込みが既に終了していることを前提にして独自スプールファイルの転送／再送信を行い、スプールファイルの書き込み終了を意識する必要がなかった。これに対して、本実施形態においては、独自スプールファイル（ジョブファイル６０９）の書き込み終了を検知できるようになったので、独自スプールファイルの書き込みをしながらデバイスへ独自スプールファイルを送信する形態において、これ以上送信すべく独自スプールファイルがないとされた場合も、独自スプールファイルの終了が認識されているので確実に独自スプールファイルの送信終了できるようになった。
【００９４】
なお、上記説明においては、スプールについて「独自」という言葉を用いてきたが、本質的には、これに限定されるものではない。つまり、再スプールされるジョブファイル６０９を、スプールファイル６０３とは別のジョブとして管理できるＩＤであれば適用可能となる。
【００９５】
例えば、ジョブ制御サービスポートモニタ６０５がジョブ制御プリントサービス６１０の機能を含み、且つ、ジョブファイル６０９を保持しつつ該保持したジョブファイル６０９をＯＳのスプーラ６０２を用いて「スプールファイル６０３’」を再スプールしジョブ制御サービスポートモニタ６０５への再投入を行う。
【００９６】
そして、この「スプールファイル６０３’」に対してＯＳから発行されたＩＤに対応して再送信される「ジョブファイル６０９’」を管理でき、再度スプールする印刷データ（ジョブファイル６０９）のスプールと、再送先或は代行先デバイスへの印刷データ（ジョブファイル６０９’）の送信とを並行して実行することができる。
【００９７】
〔第２実施例〕
第１実施例では、プリンタＥがプリンタＢを代行先のプリンタとして処理することを説明してきが、第２実施例においては、更にプリンタＢが代行処理を実行することについて説明を行う。尚、第２実施例における印刷システムも、図１乃至１７と同様の仕組みを備えるものとする。ここでは、第１実施例との差異について説明を行う。
【００９８】
プリンタＢにおいて代行ＩＤ３に対応するジョブの代行がさらに発生した場合、代行ＵＩによって第３ＩＤのジョブの代行先としてプリンタＤが指定された場合には、プリンタＤによって第４ＩＤが生成される。また、代行されたジョブを示す第３ＩＤを用いてジョブ管理情報１２０１から第３ＩＤに対応したジョブ情報図１３（ｂ）から必要なジョブ属性をコピーし新たなジョブ情報を作成する。即ち、上に説明したステップＳ１４１０、Ｓ１４１１の処理が行われ、図１３（ｂ）に相当する新たなジョブ情報が作成される。また、ステップＳ１４１２応じたジョブ情報の削除も第１実施例と同様に行われる。
【００９９】
一方、プリンタＢではステップＳ１４０８と同様に、第３ＩＤ及び第２ＩＤの情報と、続行して出力すべき印刷範囲を示す頁情報或いは部数情報をプリンタＤに通知する。尚、この通知には少なくとも第２ＩＤが含まれるようにして、被通知元のプリンタＤが通知元がオリジナルジョブ識別子の第２ＩＤに対応するファイル名などの各種属性を特定可能であれば良い。
【０１００】
さらにプリンタＢは、ステップＳ１４０９と同様のＰｒｏｘｙＯｕｔｐｕｔＰｏｒｔＢにおける第３ＩＤに対応するジョブのキャンセル／削除の指示を行う。この際、スプール処理が継続されている場合には、送信処理のみをキャンセルし、ジョブの状態１３１６を「スプール中    削除中」として図１３（ｂ）に表示のジョブ情報をジョブ管理情報１２０１に残しておく。
【０１０１】
〔第３実施例〕
第１実施例及び第２実施例においては、代行時に代行先のＰｒｏｘｙＯｕｔｐｕｔの送信モード設定に従う事を説明してきたが、第３の実施例については、さらに代行元（プリンタＥにおけるＰｒｏｘｙＯｕｔｐｕｔＰｏｒｔＥ）の設定に従う処理について説明を行う。尚、第３実施例における印刷システムも図１乃至図１７と同様の仕組みを備えるものとする。ここでは第１実施例及び第２実施例との差異についの説明を行う。
【０１０２】
ステップＳ１４０２において、ジョブ制御サービスポートモニタ６０５からジョブのスプール開始とポート名が通知されると、プリンタＥはポート名からＰｒｏｘｙ  Ｏｕｔｐｕｔ  ＰｏｒｔＥの送信モード設定（図１２では転送モードと記載）を取得し、ジョブ属性の情報として図１３（ａ）や（ｂ）に記載のジョブ情報に追加保存を行う（図１３には図示せず）。
【０１０３】
ここで、ステップＳ１４０７のような代行指示が入力されると、代行先のＰｒｏｘｙＯｕｔｐｕｔＰｏｒｔＢは、ジョブの属性を判定し、Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  ＰｏｒｔＢの送信モード設定が「スプール終了後送信する」であってもジョブの属性が「スプールしながら送信する」であった場合にはジョブ制御サービスポートモニタ６０５からの書き込み開始通知があったジョブについて、送信候補としてマークの情報をつける。
【０１０４】
マークが付されたジョブに対応する独自スプールファイルはスプール中であったとしても、Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  ＰｏｒｔＢの送信モード設定に係らず、直ちにデバイスに送信される。
【０１０５】
また、マークが付けされたジョブが複数あった場合には予め定められた優先順位に従って、送信すべきジョブを１つ決定する。送信モードはステップＳ１４１０において代行先のプリンタ（プリンタＢ）においてジョブ情報の参照が行われる際に、代行先のジョブ情報としてコピーされる。
【０１０６】
このように第３の実施形態によれば、代行先のポートの設定（属性）が「スプール後送信」するモードであったとしても、当初ユーザが意図した最初に指定したプリンタのポートの設定（属性）を引き継ぐ事により、ユーザの意図した通りの速やかな印刷が実現される。
【０１０７】
〔その他の実施形態〕
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１０８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体はプログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１０９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１１０】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１１１】
【図１】実施形態における印刷処理システムの構成を示す図である。
【図２】実施形態における印刷処理システムにおけるコンピュータの構成を示すブロック図である。
【図３】実施形態におけるコンピュータのＲＡＭのメモリマップの一例を示す図である。
【図４】実施形態におけるＦＤのメモリマップの一例を示す図である。
【図５】実施形態におけるコンピュータのＦＤドライブに挿入されるＦＤとの関係を示す図である。
【図６】実施形態における印刷制御システムの概略を示す図である。
【図７】実施形態におけるジョブ開始通知情報の一例を示す。
【図８】実施形態における印刷設定画面の一例を示す。
【図９】実施形態における印刷設定画面の一例を示す。
【図１０】実施形態における印刷制御システムの詳細を示す図である。
【図１１】実施形態における印刷設定画面の一例を示す。
【図１２】実施形態における印刷制御システムの詳細を示す図である。
【図１３】図１２におけるジョブ情報の一例を示す図である。
【図１４】実施形態における印刷制御処理のフローチャートを示す図である。
【図１５】実施形態における印刷制御処理のフローチャートを示す図である。
【図１６】実施形態における印刷設定画面の一例を示す。
【図１７】実施形態における印刷設定画面の一例を示す。
【図１８】１１０４に指示がなされた際に表示される印刷設定画面の一例を示す。
【図１】
2004265387.tif 000003
【図２】
2004265387.tif 000004
【図３】
2004265387.tif 000005
【図４】
2004265387.tif 000006
【図５】
2004265387.tif 000007
【図６】
2004265387.tif 000008
【図７】
2004265387.tif 000009
【図８】
2004265387.tif 000010
【図９】
2004265387.tif 000011
【図１０】
2004265387.tif 000012
【図１１】
2004265387.tif 000013
【図１２】
2004265387.tif 000014
【図１３】
2004265387.tif 000015
【図１４】
2004265387.tif 000016
【図１５】
2004265387.tif 000017
【図１６】
2004265387.tif 000018
【図１７】
2004265387.tif 000019
【図１８】
2004265387.tif 000020