"印刷装置と通信可能なサーバ装置であって、印刷指示に応じて印刷ジョブを生成するジョブ生成手段と、前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段と、印刷装置から識別情報を含む要求を受信する第1受信手段と、前記第1受信手段により受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、前記第1受信手段により前記要求を受信した後に、識別情報を含む更なる情報を印刷装置から受信した場合であって、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合には、前記印刷ジョブに対する処理を変更するジョブ制御手段と、を備えることを特徴とするサーバ装置。前記ジョブ制御手段は、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合に、前記出力手段による出力先の印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信し、前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記印刷ジョブをキャンセルすることを特徴とする請求項1に記載のサーバ装置。前記ジョブ制御手段は、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合に、前記出力手段による出力先の印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信し、前記更なる情報の送信元の印刷装置が前記出力先の印刷装置とは異なる別の印刷装置であった場合に、前記通知が正常状態を示す場合は、前記印刷装置と前記別の印刷装置による分散印刷を実行し、前記通知が異常状態を示す場合は前記別の印刷装置による代行印刷を実行することを特徴とする請求項1に記載のサーバ装置。前記ジョブ制御手段は、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合に、前記出力手段による出力先の印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信し、前記通知が正常状態を示す場合に前記特定の識別情報に関連付けられている前記印刷ジョブの実行を一時停止することを特徴とする請求項1に記載のサーバ装置。実行中の印刷ジョブの進行状況の通知を受信する第3受信手段と、前記第3受信手段で受信された進行状況の通知に基づくジョブ状況情報を前記実行中の印刷ジョブに対応付けて前記保持手段に保持させる保持制御手段とを更に備えることを特徴とする請求項1乃至4のいずれか1項に記載のサーバ装置。前記出力手段は、前記第1受信手段により受信した要求に含まれる識別情報に基づき読み込まれる印刷ジョブに対応して前記ジョブ状況情報が保持されている場合、そのジョブ状況情報に基づいて印刷ジョブを再出力することを特徴とする請求項5に記載のサーバ装置。前記第1受信手段で受信した要求に含まれる出力先情報を前記印刷ジョブの出力先に設定する出力先設定手段を更に備えることを特徴とする請求項1乃至6のいずれか1項に記載のサーバ装置。情報処理装置と印刷装置が通信可能な印刷システムであって、前記情報処理装置は、印刷ジョブを生成するジョブ生成手段と、前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段とを備え、前記印刷装置は、前記情報処理装置へ識別情報を含む要求を発行する発行手段を備え、前記情報処理装置は、前記印刷装置から前記要求を受信する第1受信手段と、前記第1受信手段により受信した前記要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、前記第1受信手段により前記要求を受信した後に、識別情報を含む更なる情報を印刷装置から受信した場合であって、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合には、前記印刷ジョブに対する処理を変更するジョブ制御手段と、を備えることを特徴とする印刷システム。印刷装置と通信可能なサーバ装置によるジョブ制御方法であって、ジョブ生成手段が、印刷指示に応じて印刷ジョブを生成するジョブ生成工程と、保持手段が、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて、保持部に保持する保持工程と、第1受信手段が、印刷装置から識別情報を含む要求を受信する第1受信工程と、出力手段が、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、該読み出された前記印刷ジョブを前記印刷装置へ出力する出力工程と、ジョブ制御手段が、前記第1受信工程で前記要求を受信した後に、識別情報を含む更なる情報を印刷装置から受信した場合であって、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合には、前記印刷ジョブに対する処理を変更するジョブ制御工程と、を有することを特徴とするジョブ制御方法。前記ジョブ制御工程では、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合に、前記出力工程における出力先の印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信し、前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記印刷ジョブをキャンセルすることを特徴とする請求項9に記載のジョブ制御方法。前記ジョブ制御工程では、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合に、前記出力工程における出力先の印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信し、前記更なる情報の送信元の印刷装置が前記出力先の印刷装置とは異なる別の印刷装置であった場合に、前記通知が正常状態を示す場合は、ジョブ制御手段が、前記印刷装置と前記別の印刷装置による分散印刷を実行し、前記通知が異常状態を示す場合は前記ジョブ制御手段が前記別の印刷装置による代行印刷を実行することを特徴とする請求項9に記載のジョブ制御方法。前記ジョブ制御工程では、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合に、前記出力工程における出力先の印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信し、前記通知が正常状態を示す場合に、ジョブ制御手段が、前記特定の識別情報に関連付けられている前記印刷ジョブの実行を一時停止することを特徴とする請求項9に記載のジョブ制御方法。第3受信手段が、実行中の印刷ジョブの進行状況の通知を受信する第3受信工程と、保持制御手段が、前記第3受信工程で受信された進行状況の通知に基づくジョブ状況情報を前記実行中の印刷ジョブに対応付けて前記保持部に保持させる保持制御工程とを更に備えることを特徴とする請求項9乃至12のいずれか1項に記載のジョブ制御方法。前記出力工程では、前記第1受信工程により受信した要求に含まれる識別情報に基づき読み込まれる印刷ジョブに対応して前記ジョブ状況情報が保持されている場合、そのジョブ状況情報に基づいて印刷ジョブを再出力することを特徴とする請求項13に記載のジョブ制御方法。出力先設定手段が、前記第1受信工程で受信した要求に含まれる出力先情報を前記印刷ジョブの出力先に設定する出力先設定工程を更に備えることを特徴とする請求項9乃至14のいずれか1項に記載のジョブ制御方法。情報処理装置と印刷装置が通信可能な印刷システムによるジョブ制御方法であって、前記情報処理装置において、印刷ジョブを生成するジョブ生成工程と、前記情報処理装置において、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、前記印刷装置において、前記情報処理装置へ識別情報を含む要求を発行する発行工程と、前記情報処理装置において、前記印刷装置から前記要求を受信する第1受信工程と、前記情報処理装置において、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、読み出された前記印刷ジョブを前記情報処理装置から前記印刷装置へ出力する出力工程と、前記情報処理装置において、前記第1受信工程で前記要求を受信した後に、識別情報を含む更なる情報を印刷装置から受信した場合であって、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合には、前記印刷ジョブに対する処理を変更するジョブ制御手段と、を有することを特徴とするジョブ制御方法。請求項9乃至16のいずれか1項に記載されたジョブ制御方法をコンピュータに実行させるためのコンピュータプログラム。請求項9乃至16のいずれか1項に記載されたジョブ制御方法をコンピュータに実行させるためのコンピュータプログラムを格納したことを特徴とする記憶媒体。しかしながら、プルプリントシステムでは、ユーザがプリントサーバ側から取り込むべき印刷ジョブのジョブ名を印刷装置の操作部から指定する必要があり、ユーザは煩雑な作業が強いられてしまう。一方、印刷ジョブのジョブ名ではなく、印刷対象とするデータの場所所謂URLを印刷装置の操作部から指定し、プルプリントを行うという技術も知られているが、やはり、ユーザに煩雑な作業を強いるという点では、共通の課題を抱えていた。本発明は上記の課題に鑑みてなされたものであり、プルプリントシステムにおける印刷対象データの指定を容易に行えるようにすることを目的とする。また、更に、印刷ジョブに対する制御も容易に行えるようにすることを目的とする。上記の目的を達成するための本発明の一態様によるサーバシステムは以下の構成を備える。即ち、印刷装置と通信可能なサーバ装置であって、印刷指示に応じて印刷ジョブを生成するジョブ生成手段と、前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段と、印刷装置から識別情報を含む要求を受信する第1受信手段と、前記第1受信手段により受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、前記第1受信手段により前記要求を受信した後に、識別情報を含む更なる情報を印刷装置から受信した場合であって、前記更なる情報に含まれる識別情報が前記特定の識別情報であった場合には、前記印刷ジョブに対する処理を変更するジョブ制御手段と、を備える。本願発明によれば、従来のプルプリントシステムに比較し、ユーザに煩雑な作業を強いることなく、容易にユーザが印刷出力すべき出力物を得ることができるようになる。また、さらに、印刷ジョブに対する制御も容易に行える。以下、添付の図面を参照して本発明の好適な実施形態を説明する。[第1実施形態]<システム構成>図1は、本実施形態に係るプリントシステムの全体構成を示すブロック図である。本プリントシステムは、情報処理装置としてのクライアントPCコンピュータ101~103と、印刷装置プリントデバイスとしてのネットワークプリンタ104~105とを含む。これら装置が互いに接続されていることにより、全体としてネットワークを構成している。クライアントPC101~103には、印刷制御プログラムが実行可能に格納されている。クライアントPC101~103は、本プリントシステムに含まれるネットワークプリンタ104~105を管理する機能のほか、ネットワークで使用されるファイルを蓄積したり、ネットワークの使用状態を監視したりする機能を有する。具体的には、クライアントPC101~103は、自身により印刷ジョブを作成し、ネットワークプリンタ104~105のスケジューラにスケジュール要求を発行する機能を有する。また、クライアントPC101~103は、ネットワークプリンタ104~105のスケジューラからの指示により、印刷データの転送を開始する機能を有する。ネットワークプリンタ104~105は、クライアントPC101~103から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。なお、ネットワークプリンタ104~105としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。また、ネットワークプリンタ104~105は、複数のクライアントPC101~103からの印刷要求を受け付け、受け付けた印刷要求の順序を決定し、印刷指示を発行する機能や、ネットワークプリンタ104~105に転送された印刷ジョブ、ネットワークプリンタ104~105の状態を監視し、印刷の終了やプリンタ状態をクライアントPC101~103に通知する機能を有する。なお、本プリントシステムに含まれる装置間の通信は、イーサネット登録商標ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。図2は、本実施形態に関わる印刷システムのハードウェア構成を説明するブロック図である。ネットワークプリンタ104,105以下、ネットワークプリンタは、大きく分けてネットワークプリントサーバ220とプリンタコントローラ219という、異なる制御系を司る2つのデバイスで構成されている。ネットワークプリントサーバ220において、ネットワークプリントサーバ用CPU201以下、CPU201は、書き換え可能なフラッシュROM203に記憶された制御プログラムに基づいて各種制御を実現する。例えば、CPU201は、システムバス204に接続されるネットワークコントローラLANC205を用いて、ローカルエリアネットワークLAN212に接続されたホストコンピュータ等の複数の外部装置不図示との通信を制御する。CPU201は、この通信において所定のネットワーク通信プロトコルを用い、外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御する。そして、拡張インターフェースコントローラEXPC207を介して接続されるプリンタコントローラ219に対して適切なデータ転送制御が行なわれる。RAM202はCPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。LED206はネットワークプリントサーバの各種動作状態をLEDの点滅パターンや色で示す表示部である。表示される動作状態としては、ネットワークコントローラLANC205とローカルエリアネットワークLAN212の電気的な接続状態LINKやネットワーク通信モード10Baseや100Base、全二重、半二重等が挙げられる。さらにネットワークプリントサーバ220とプリンタコントローラ219を繋ぐ拡張インターフェース217は、図示しないコネクタで構成されている。ネットワークプリントサーバ220は着脱可能であり、例えばプリント基板によって構成され、同様の構成を持つ別のプリンタにこのネットワークプリントサーバ220を装着することも可能となっている。プリンタコントローラ219において、プリンタコントローラ用CPU208は、システムバス211に接続される各種デバイスとのアクセスを統括的に制御する。CPU208は、ROM209に記憶された制御プログラム等あるいはディスクコントローラDKC215を介して接続された外部メモリ210に記憶された制御プログラムやリソースデータ資源情報等に基づいて上記制御を実現する。例えば、CPU208は、拡張インターフェースコントローラEXPC213を介して接続されるネットワークプリントサーバ220から受信される印刷データに基づいてラスタコントローラ223に出力画像情報を生成させる。そして、プリンタエンジン216に対して、生成した画像信号を出力させる。なお、プリンタエンジン216は既知の印刷技術を利用するものである。好適な実施例としては、例えば電子写真方式レーザービーム方式やインクジェット方式、昇華方式、熱転写方式等が挙げられる。RAM214はCPU208の主メモリ、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。操作パネル操作部218は、ネットワークプリンタ104の動作モード等の設定や印刷データの取り消し等の操作をユーザに行うためのボタンを有する。また、ネットワークプリンタ104の動作状態を示す液晶パネルやLED等の表示部も操作パネル218に配されている。なお、外部I/Oインターフェース222は外部装置221と情報のやり取りを行う。次に、本プリントシステムのクライアントPC101~103内に存在するプルプリントサーバ305のソフトウェア構成について説明する。なお、プルプリントサーバのことを複数のソフトウェア機能から構成されるという意味で、サーバシステムと呼ぶこともある。以下では、プルプリントサーバという用語を用いて説明を行う。図3は、プルプリントサーバ305におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、クライアントPC内のCPU不図示が所定の制御プログラムを実行することにより実現される。なお、図3では、ネットワークプリンタ104,105をプリントデバイス306で示している。通常、MicrosoftWord登録商標などの一般的なアプリケーションプログラム301は印刷の指示を受け付けると、一連の描画コマンドをOSを介して生成する。この上位からの描画コマンドをOSを介して受け取ったPDLページ記述言語ドライバ302は、一連の描画コマンドに基づいてネットワークプリンタ104~105で解釈可能なPDLファイルを含む印刷ジョブを生成する。PDLドライバ302は、プリントデバイス306へ印刷ジョブを送信するために、生成した印刷ジョブをスプーラ303に渡す。ここではOSをWindows登録商標と仮定しているのでスプーラ303はウィンドウズ登録商標スプーラである。ただし、本発明を適用するコンピュータのOSはWindows登録商標に限定されるものではなく、描画命令を備えるものであれば他のOSも適用可能であることは言うまでもない。スプーラ303は、ユーザがユーザインターフェースを介して選択し指示したポートモニタ304に印刷ジョブを渡して、ネットワークプリンタ104~105等のプリントデバイス306に送信させる手順をとる矢印a。ここでは、ユーザはあらかじめプルプリントサーバ305に印刷データを転送するためのポートモニタ304以降、ジョブ制御ポートモニタと略記を指定して印刷を指示したものとして説明を進める。プリンタドライバインターフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ304に送信される。ジョブ制御ポートモニタ304はプリントサービスを行うプルプリントサーバ305に印刷ジョブと印刷設定情報を送信する矢印b。また、クライアントPC101~103においてプルプリントサーバ305と別のプルプリントサーバ308のジョブ登録アプリケーション309はAPI310を介し、プルプリントサーバ305に印刷データを投入する矢印g。このように上位のアプリケーションが様々な場所に存在する場合に本実施形態を適用することができる。プルプリントサーバ305は、転送された印刷ジョブ及びデバイスの状態を管理する機能を備える。また、プルプリントサーバ305は、プリントデバイス306から通知されるデバイス状態やジョブの状態などの情報を管理したり、プリントデバイス306に対して所定の命令をする機能も備える。これは、複数のプリントデバイス本例では、ネットワークプリンタ104,105のデバイス情報やジョブ情報を管理する機能に相当する。プルプリントサーバ305は、印刷データをプリントデバイス306に送信する前に、プリントデバイス306が持つ印刷ジョブの順序管理機能に印刷の要求を発行する。そして、順序管理機能に基づき印刷実行の順番が到来した場合には、プリントデバイス306からの印刷指示により、プリントデバイス306に印刷データを送信する矢印c、d、e。また、プルプリントサーバ305は、印刷中にプルプリントエージェント606図6で認証情報記録媒体521の存在が検知できなくなるとプリントデバイス306に対して印刷のキャンセル停止中断を指示するS2203。なお、プルプリントサーバ305の動作については、後述の図6や図22で詳しく説明する。プリントデバイス306は、自身の状態をプルプリントサーバ305に通知する矢印f。例えば、プリントデバイス306は、印刷データの完了を確認すると、印刷完了の通知をプルプリントサーバ305に対して行う。プリントマネージャ307は、ユーザが、プルプリントサーバ305内部で印刷ジョブがどのような状態にあるかを調べたり、印刷ジョブを表示操作する為のユーザインターフェースを提供したりするプログラムである。プリントマネージャ307は、プルプリントサーバ305のソフトウェアのインターフェースAPI:ApplicationProgramInterfaceを介して、プルプリントサーバ305と情報指示をやり取りしている。そして、プリントマネージャ307は、やり取りした情報に基づく表示を行う。そして、主に、プルプリントサーバ305が管理するプリントデバイス306の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、プルプリントサーバとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー/警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。またイベントの通知の種別として印刷排紙完了面数、印刷ジョブ終了ステータス等のジョブの進行状況も挙げることもできる。ここでのプルプリントサーバ305はネットワークを介して通信可能な各デバイス印刷装置の印刷実行中、電力制御状態、障害情報紙ジャム等のステータスの通知を受け付ける機能を備える。更に詳細な処理として、プリントマネージャ307はプルプリントサーバ305に対してデバイスを指定したイベントを発行する。プルプリントサーバ305は発行されたイベントが指定するデバイスのステータスを認識し、監視に基づく結果をプリントマネージャ307に通知する。<印刷ジョブの流れ>次に、図4を用いてアプリケーション301からプリントデバイス306までの印刷ジョブの流れについて説明する。ここで、図3と同じソフトウェア構成について同じ参照番号を付与している。図4に示すように、概念的には、PDLドライバ302、スプーラ303、ジョブ制御ポートモニタ304は、プリントデバイス毎306,306Aに用意されている。OSがWindows登録商標の場合には、これらをまとめてウィンドウズ登録商標プリントシステム400と称する場合もある。なお、プリントデバイス306,306Aはネットワークプリンタ105,106に対応する。プルプリントサーバ305には、プリントデバイス306,306Aに対応する数のプリントキュー401、401A及び出力ポート402、402Aが含まれている。これらのプリントキュー401、401Aや出力ポート402、402Aは、それぞれ図10や図11で示されるような情報によりプルプリントサーバ305が管理している。この出力ポート402,402Aには対応する印刷装置のIPアドレス又は名前解決DNS:DomainNameSystemで使用されるネームが関連付けられている。そして、このIPアドレス又はネームに基づき、ジョブのスケジュール要求先やジョブの送信先が特定され、ジョブの送信出力が行なわれる。印刷を行う場合、アプリケーション301はプリンタを指定して印刷指示を発行する。この印刷指示に基づいてPDLドライバ302によって生成された印刷ジョブがジョブ制御ポートモニタ304からプルプリントサーバ305に渡される。その印刷ジョブがプルプリントの場合、プルプリントサーバ305は当該印刷ジョブをプリントキュー401プルプリント用に保持する。また、通常プリントの印刷ジョブであった場合、プルプリントサーバ305は、当該印刷ジョブをプリントキュー401A通常プリント用に保持し、出力ポート402に印刷ジョブの受け付け指示を出す。つまり、キューへの印刷ジョブ登録で、即時に、スケジュール要求を発行する図7の701。出力ポート402は、印刷するジョブを受け付ける。なお、印刷ジョブがプルプリントか通常プリントかは、PDLドライバによって提供されるユーザインターフェースによってユーザが設定することができる。後に詳述するが、プルプリントエージェント606図6は、認証情報記録媒体521図5から読み取られる所定の情報を検知する。そして該検知に応じて、ユーザ識別情報とデバイスアドレスを含む情報1301図13をプルプリントサーバ305に送る。ここでユーザ識別情報とは、ある特定の個人を識別する情報、又は、部門を識別する為の情報を指す。この情報としては、例えば、文字データやビットデータなどを適用できる。プルプリントサーバ305は、このユーザ識別情報を含む又は関連付けられた印刷ジョブが1つ又は複数存在する場合に、デバイスアドレスに該当するプリントデバイス306にスケジュールの要求を発行する。より詳細には、該当するプリントデバイスのデバイススケジューラに対してスケジュール要求を発行する図7。プリントデバイス306のデバイススケジューラは、自身が持つスケジューリング機能に基づいて、複数のプルプリントサーバ305から受け付けたジョブのスケジューリング処理を行い、プルプリントサーバ305に対して印刷指示を発行する。印刷指示を受け付けたプルプリントサーバ305は、出力ポート402を介してプリントデバイス306に印刷データを出力する。また、印刷中に、プルプリントエージェント606において認証情報記録媒体521の存在が検知できなくなると、プルプリントサーバ305はプリントデバイス306に対し印刷ジョブのキャンセルを指示する後述の図22のS2203。デバイススケジューラはその指示に従い印刷処理をキャンセルし、ジョブの進行状況例えば印刷排紙完了面数等のジョブ進行状況をプルプリントサーバ305に通知する図8のS814。プルプリントサーバ305はその通知された進行状況に基づくジョブ状況情報印刷又は排紙が完了した印刷面数を印刷ジョブと対応付けて保持する。このジョブ状況情報とは印刷ジョブについてどれほどまでの印刷が完了しているかを識別する為の情報を指す。つまりプルプリントサーバ305が印刷ジョブの再出力開始ページを識別できれば、再出力先ページそのものであっても良いし、印刷が完了しているページであっても良い。そして、再度、認証情報記録媒体521がプルプリントエージェント606により検知された場合は、プルプリントエージェントから通知されてくるユーザ識別情報に対応して保持してある印刷面数からジョブ出力を開始する。図5は、本実施形態に係る印刷システムにおけるプリントデバイス306内のネットワークプリントサーバ220およびプリンタコントローラ219の各記憶デバイスに記憶された制御プログラム内のソフトウェア構成を説明するブロック図である。なお、図5中に示されるソフトウェア構成は本発明に係る主要な箇所を示したものであり、勿論、印刷出力処理を行う為のほかのソフトウェア構成も実際には含まれる。また図示された各制御プログラムは、各制御機器のCPUCPU201,208によってプログラムが解析され処理される。オペレーティングシステム501はネットワークプリントサーバ220の基本的なデータの入出力制御を統括する。さらに、オペレーティングシステム501は、ファイルシステム505、拡張インターフェースドライバ507、ネットワークインターフェースドライバ506を内包している。ファイルシステム505は、プログラム/データ記憶部508及びライセンス記憶部509との入出力制御を行う。拡張インターフェースドライバ507は、プリンタコントローラ219と拡張インターフェース217を介して通信制御を行う。ネットワークインターフェースドライバ506は、LANC205を制御し、ローカルエリアネットワークLAN212の通信媒体を介して不図示のホストコンピュータ等の外部装置と通信を行う。アプリケーションプログラムインターフェースAPI502は、アプリケーションプログラムに対して上記オペレーティングシステムが備える各種機能を提供する。アプリケーションプログラムとしては、ネットワークプリントサーバ220で動作するユーザアプリケーション503やプリンタ200やユーザアプリケーションの登録管理を行う管理アプリケーション504等が挙げられる。また、アプリケーションプログラムインターフェース502が提供する機能APIは以下のとおりである。データ転送APIは、印刷データの送受信機能を提供する。リソース制御APIは、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行う。プリンタ制御APIは、プリンタ200の再起動や設定値の初期化や設定等の制御を行う。ジョブ制御APIは、印刷ジョブの取り消しや再印刷指示などを制御する。プリントサーバ制御APIは、ネットワークプリントサーバ220の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行う。プリンタコントローラ219のオペレーティングシステム512は、プリンタコントローラ219の各種処理制御を統括する。オペレーティングシステム512は、プリンタエンジン制御部514とファイルシステム515を含む。プリンタエンジン制御部514はプリンタエンジン216との通信制御を行う。また、ファイルシステム515は、機種依存リソース/プログラム記憶部516及びライセンス記憶部517との入出力制御を行う。機種依存リソース/プログラム記憶部516は、ネットワークプリントサーバ220から参照されるビットマップ画像やエラーメッセージ等の機種依存リソース及びネットワークプリントサーバ上で動作する機種依存アプリケーションプログラム等を記憶する。拡張インターフェース制御部513は、拡張インターフェース217を介してネットワークプリントサーバ220との通信制御を行う。また、拡張インターフェース制御部513は、各論理インターフェースを介してネットワークプリントサーバ220から要求された命令をオペレーティングシステム512に対して転送し、その処理結果をネットワークプリントサーバ220に対して返信する。図5では、拡張インターフェース制御部513が備える論理インターフェースとして、データ転送論理インターフェース、リソース制御論理インターフェース、プリンタ制御論理インターフェース、ジョブ制御論理インターフェースが示されている。データ転送論理インターフェースは制御種別毎に印刷データの入出力を制御する。リソース制御論理インターフェースは機種依存リソース/プログラム記憶部516に記憶された各種データの入出力を制御する。プリンタ制御論理インターフェースは、プリントデバイス306の再起動や設定値の初期化や設定等の制御を行う。ジョブ制御論理インターフェースは、印刷ジョブの取り消しや再印刷指示などを制御する。ネットワークプリントサーバ220において、USB制御部518は、USBケーブル519で接続された外部機器である、認証情報読取装置520を介し、認証情報記録媒体521から認証情報と認証情報記録媒体の存在状態情報を取得する。認証情報は、上述した、印刷ジョブに含めたユーザ識別情報に対応する。また、存在状態情報は、認証情報記録媒体521が認証情報読取装置520に装着されているか否かを示す。認証情報記録媒体521を物理的に検知し、該検知信号を存在状態情報としても認証情報記録媒体521の存在、即ち解除されたことを識別できる。この存在状態情報を検知することでユーザ識別情報を入力できない状態、即ち認証情報記録媒体521が除去されたことを検知できる。なお、本実施形態では、ユーザの存在または、ユーザを特定、認証するための装置として、USBを介して接続された認証情報読取装置520と認証情報記録媒体521を用いているがこれに限られるものではない。例えば認証情報読取装置520と認証情報記録媒体521に代えて、接続式不揮発性記録媒体ICカード等、赤外線等によるユーザの検出、静脈認証装置、指紋認証読取装置、角膜認証読取装置、音声認証読取装置等を認証情報取得機器として用いることがでる。従って、図5に示したUSB制御部518は、USB制御に限られるものではなく、実装された認証情報取得機器に応じた接続プロトコルを制御する制御部となる。ネットワーク制御部511は、ネットワークインターフェースドライバ506がLAN212を介してクライアントPC101~103からの通知を受け付けた場合に、受信の通知を受け付ける。ネットワーク制御部511は、この通知に基づいて、どのプルプリントサーバ305からの通信であるかを判断したり、通信の制御を行ったりすることができる。LPD/RAW510は、プルプリントサーバ305が送信する印刷データを受け付けるプロトコルを制御するモジュールであり、受け付けた印刷データをプリンタコントローラ219に渡すことができる。また、ユーザアプリケーション503はプリントコントローラ219の機種依存リソース/プログラム記憶部516またはネットワークプリントサーバ220のプログラム/データ記憶部508に格納される。プリントデバイス306が起動すると、CPU201は、プログラム/データ記憶部508または516に格納されたユーザアプリケーション503が持つライセンスと、ライセンス記憶部509または517が持つライセンスとを比較する。こうして、CPU201は両者が一致しているかどうかを判断する。一致していた場合は適正アプリケーションプログラムであると判断し、アプリケーションプログラムをネットワークプリントサーバ220のRAM202にロードする。次に、本実施形態のプルプリントを実現するデバイススケジューラ600とプルプリントエージェント606のソフトウェア構成について図6を用いて説明する。デバイススケジューラ600及びプルプリントエージェント606は、デバイス上のユーザアプリケーション503であり、本プリントシステムのスケジューリング機能や、プルプリントサーバ305から受け付けた印刷ジョブを管理する管理機能を持つ。通信接続管理部601は、クライアントPC101~103の接続状況や、プルプリントサーバ305に通知すべき情報を管理する。通信接続管理部601は、接続しているクライアントを表すクライアント情報1502図15をクライアント管理キュー1501で管理する。なお、通信接続管理部601は、プログラムアプリケーションインターフェース502のデータ転送API、ネットワークインターフェースドライバ506を経由してプルプリントサーバ305と通信を行う。スケジュール管理部602は、クライアントPC101~103のプルプリントサーバ305から受け付けた印刷ジョブのスケジューリングを行う。スケジュール管理部602は、ジョブ管理部603とデバイス管理部604を有する。ジョブ管理部603は、クライアントPC101~103のプルプリントサーバ305が発行したスケジュール要求や、プルプリントサーバ305が印刷を要求するジョブを管理する。ジョブ管理部603は、プルプリントサーバ305が印刷を要求するジョブの情報図16のジョブ情報1602をジョブ管理キュー1601図16で管理している。デバイス管理部604は、プリンタコントローラ219からプリンタの状態や受け付けた印刷ジョブの状態を示す情報イベントをイベントハンドラ605を介して受け付ける。デバイス管理部604は、プリンタコントローラ219から受け付けたイベントを通信接続管理部601やジョブ管理部603に通知する。プルプリントエージェント606はUSB管理部607、サーバ通信部608、デバイス管理部609を有する。USB管理部607はUSB制御部518を介して認証情報ユーザ識別情報を取得し、サーバ通信部608に渡す。デバイス管理部609は当該プリントデバイスのアドレス情報等を取得し、サーバ通信部608に渡す。サーバ通信部608は取得した情報をプルプリントサーバ305に送信する。図7は、クライアントPC101~103のプルプリントサーバ305が、プルプリントエージェント606から認証情報を受け付けた後、プリントデバイス306にスケジュール要求を発行し、印刷が終了するまでの処理について示す図である。プルプリントサーバ305は、認証情報を受け付けると、デバイススケジューラ600とセッション接続を開始する。セッション接続が開始されると、プルプリントサーバ305は、自身のクライアント情報図15のクライアント情報1502に示す内容を含むを通知する接続要求コマンドをデバイススケジューラ600に送信する。また、プルプリントサーバ305は、デバイススケジューラ600にジョブ/デバイス状態を通知させるためのイベント登録を要求する。更に、プルプリントサーバ305は、デバイススケジューラ600がスケジュール管理するジョブの情報を取得するジョブリスト取得コマンドを発行し、ジョブリストを取得する。一方、デバイススケジューラ600は、接続要求を受け付けると、これに含まれるクライアント情報1502図15をクライアント管理キュー1501図15により登録する。また、デバイススケジューラ600は、イベント登録の要求を受け付けると、これを該当するクライアント情報図15の1502の登録イベントに設定する。更に、デバイススケジューラ600は、ジョブリスト要求を受け付けると、ジョブ管理キュー1601図16に登録されているジョブ情報1602のリストを、ジョブリストとしてプルプリントサーバ305へ送信する。次に、プルプリントサーバ305が印刷を予約するためのスケジュール要求のコマンドを発行する。スケジュール要求には印刷すべきジョブのジョブ情報1002図10が付加されている。但し、ジョブIDについては、図7のスケジュール要求に応じて、デバイススケジューラ600により生成され返信されたものが設定される。デバイススケジューラ600はスケジュール要求を受け付けると、ジョブ管理キュー1601図16にジョブ情報1602図16を登録する。ここで、図16中のジョブIDは図10におけるジョブIDと同じもの、或は、対応するものであり、上に説明したジョブ管理部603が発行したものに相当する。ジョブ情報1602には、ドキュメント名等の情報が設定される。デバイススケジューラ600は、当該プリントデバイス306が、印刷データを受け付けられるようになったかどうかを判断する判断方法については後述する。受け付けられるようになったと判断した場合、ジョブ管理キュー1601に従って処理すべきジョブを特定し、その依頼元のプルプリントサーバに当該ジョブのスケジュールUPを発行する。なお、クライアント情報1502とジョブ情報1602の何れにもクライアントIPアドレスが記録されている。従って、クライアント管理キュー1501によって登録されたクライアント情報のうち、どのクライアント情報がジョブの依頼元のクライアントのものであるかは、クライアントIPアドレスを参照することで判断できる。このスケジュールUPの発行により、印刷データの送信を開始するようにプルプリントサーバ305を促す。また、デバイススケジューラ600は、スケジュールUPを発行すると、当該ジョブのジョブ情報1602におけるジョブ状態をスケジュールUPに更新する。プルプリントサーバ305は、スケジュールUPを受け付けると、LPD/RAW510へ印刷データの転送を開始し、転送が始まるとデバイススケジューラ600に対して転送開始を通知する。デバイススケジューラ600は、この転送開始通知を受けると、当該ジョブのジョブ情報1602におけるジョブ状態を転送中に更新する。LPD/RAW510は、印刷データを受け付けるとプリンタコントローラ219にデータを転送する。プリンタコントローラ219は、LPD/RAW510から転送されたデータに基づいて印刷を開始する。プリンタコントローラ219は、印刷を開始すると、当該ジョブの印刷状態をデバイススケジューラ600に通知する。デバイススケジューラ600は、クライアント情報1502図15の登録イベントの情報を基に、プルプリントサーバ305にジョブの印刷状態制御対象のジョブの進行状況を通知する。プルプリントサーバ305は、LPD/RAW510への印刷データの転送が終了すると、デバイススケジューラ600に対して転送終了通知を送信する。デバイススケジューラ600は、転送終了通知を受けると、ジョブ情報1602のジョブ状態を転送済に更新する。その後、プリンタコントローラ219で印刷処理が終了すると、ジョブの印刷状態として印刷完了の通知をデバイススケジューラ600に通知する。デバイススケジューラ600は、クライアント情報1502の登録イベントの情報を基に、プルプリントサーバ305にジョブの印刷完了を通知する印刷状態通知。プルプリントサーバ305は、ジョブの印刷完了を示す印刷状態通知により印刷が完了したことを確認すると、以降はプリントデバイスからの通知は不要となる。従って、プルプリントサーバ305は、デバイススケジューラ600からのイベント通知に関する登録イベントを解除するためのイベント解除要求を発行する。デバイススケジューラ600は、イベント解除要求を受け付けると、クライアント情報1502の登録イベントにイベントを通知しない旨の情報を設定する。その後、プルプリントサーバ305は、デバイススケジューラ600との接続を終了するための切断要求を発行し、本セッションを終了する。デバイススケジューラ600は、切断要求を受け付けると、クライアント管理キュー1501から該当するクライアント情報を削除し、プルプリントサーバ305との処理を終了する。図8は、本実施形態の概略動作を示す図である。図8を用いて、本実施形態の印刷システムによる動作概略を説明する。まずS801において、プルプリントエージェント606及びデバイススケジューラ600の各タスクが初期化される。この初期化処理の中で、デバイススケジューラ600は、プリンタエンジン制御部514にイベントの登録イベント登録を行うS802。これはプリンタエンジン216内でジョブが処理された際のジョブ状態変化や、プリンタにおけるエラーの発生ジャムやカバーオープン等などのデバイス状態変化等をデバイススケジューラ600を介してプルプリントサーバ305へ通知するためのものである。上述したようにデバイススケジューラ600は初期化処理が完了するとイベント待ちのループに入る。また、プルプリントエージェント606も初期処理の完了でイベント待ちのループに入る。プルプリントエージェント606は、認証情報記録媒体521が認証情報読取装置520に挿入されたことを検知すると、認証情報記録媒体521に記録されている認証情報を読み込むS803。そして、不図示の認証機構によってカード認証情報記録媒体521のオーナーを特定し、ユーザ識別情報を得る。また、プルプリントエージェント606は、プリンタエンジン制御部514を経由して当該プリントデバイスの構成情報を取得するS804。此処で取得する構成情報とは、用紙残量やトナーの有無と言った消耗品情報と、両面ユニットやステイプル装置フィニッシャーの使用可否といった装置情報を含む。続いて、プルプリントエージェント606は、S803で取得したユーザ識別情報とS804で取得したデバイス構成情報をプルプリントサーバ305へ通知するS805。本実施形態では、この通知をセッション開始通知と定義する。プルプリントサーバ305はセッション開始通知を受け取るとユーザ識別情報及びデバイス構成情報から印刷可能なジョブを選択する。この処理は図14を用いて後述する。プルプリントサーバ305は印刷を実行するために、まずイベント登録及びジョブのスケジュール予約を行うS806。このイベント登録は図7により前述したとおりである。また、スケジュール予約については図14を用いて後述する。続いて、プルプリントサーバ305はデバイススケジューラ600よりスケジュールUPを受信するS807。スケジュールUPを受信した際のプルプリントサーバ305の処理の詳細は図22により後述する。プルプリントサーバ305は、スケジュールUPを受信すると、事前に通知されたユーザ識別情報に対応する1つ又は複数の印刷ジョブをプルプリントキューから読込、プリンタエンジン制御部514に出力するS808。より正確には、プルプリントサーバ305はLPD/RAW510に印刷データを転送し、LPD/RAW510は印刷データをイメージに展開してプリンタコントローラ219へ転送する。また、プルプリントエージェント606は、認証情報記録媒体521が取り出され、ユーザ識別情報を入力できなくなったことを検知するとS809、該検知に応じた通知をプリントサーバ305に行うS810。例えば認証情報記録媒体521が取り外し検知に応じた通知としてキャンセル指示とジョブ保持指示をプルプリントサーバ305に出す。なお、図8中には、ジョブキャンセル保持命令と記載されているが通知内容としてこれに限定される訳ではない。プルプリントサーバ305が印刷ジョブ制御を行うかを識別可能するための通知であれば、例えば、認証情報記録媒体521が取り出されたことを示す情報であっても良い。プルプリントサーバ305は、S810のプリンタからの通知に応じて、デバイススケジューラ600にジョブ制御指示としてキャンセル指示を出すS811。デバイススケジューラ600はジョブキャンセル指示を受けると、プリンタエンジン制御部514に対しジョブキャンセル指示を出すS812。このジョブキャンセル指示を受けてプリンタエンジン制御部514は現在印刷中の処理を終了させ、ジョブのキャンセルを実行する。こうしてジョブのキャンセルが実行されると、デバイススケジューラ600にジョブキャンセルを通知するイベントが発行されるS813。デバイススケジューラ600は、プリンタエンジン制御部514からジョブキャンセルの通知を受けると、プルプリントサーバ305に対して印刷が完了し実際に排紙完了した印刷面数を通知するS814。プルプリントサーバ305は、通知を受けた印刷面数が当該ジョブの総面数よりも少ない場合は、後に継続した印刷を可能にするべく、当該ジョブを保持する処理を行うが、この詳細については図22のフローチャートを参照して後述する。図9は、プルプリントサーバ305にプルプリント用のジョブを登録する処理を説明するフローチャートである。図9aはアプリケーション301からジョブを登録する処理を示している。S901において、アプリケーション301はジョブを生成し、プリンタを指定して印刷指示を発行する。902において、この印刷指示に基づいてPDLドライバ302は、印刷ジョブを生成し、スプーラ303を介して印刷所ブをジョブ制御ポートモニタ304に渡す。そして、ジョブ制御ポートモニタ304は、当該印刷ジョブをプルプリントサーバ305に渡す。以下、S903~S906の処理はプルプリントサーバ305の処理である。即ち、S903において、プルプリントサーバ305は、ユーザ識別情報を取得し、S904においてこのユーザ識別情報を印刷ジョブに埋め込む。本実施形態では、プルプリントサーバ305は、印刷ジョブに対応するジョブ情報1002を生成し、これにユーザ識別情報を記述する。なお、ユーザ識別情報は認証情報記録媒体521に記録しておく認証情報と同じ情報であり、本実施形態では、不図示のGUIを提供してユーザに情報を入力させることにより認証情報は取得されるものとする。もちろん、識別情報が登録されたICカードからカードリーダによって識別情報を読み取り、ユーザ識別情報として用いるようにしてもよい。次に、S905で、プルプリントサーバ305は、ジョブ状態を停止にする。そしてS906で、プルプリントサーバ305は、プル用のプリントキュー401に状態を停止にしたジョブを留め置く。また、ジョブの登録方法ではアプリケーション301から登録する方法の他にジョブ登録アプリケーション309からジョブを登録することも可能である。この場合、ジョブ登録アプリケーション309は、図3に示すようにプルプリントサーバ305と異なるクライアントPC上に存在していても良い。ジョブ登録アプリケーション309には、例えば帳票印刷データを出力するアプリケーションや、カタログ印刷データを出力するカタログ出力アプリケーション等を適用できる。図9bはジョブ登録アプリケーションからジョブを登録する処理を説明するフローチャートである。S911において、ジョブ登録アプリケーション309は、PDLドライバを用いて作成された印刷ジョブを選択する。次に、S912において、ジョブ登録アプリケーション309上からユーザ識別情報を取得し、S913においてこのユーザ識別情報を選択された印刷ジョブに埋め込む。例えば、上述したように、ジョブ情報1002のユーザ識別情報として記述する。なお、このユーザ識別情報は、認証情報記録媒体521に記録しておく認証情報と同じ情報である。次に、S914でジョブの状態を停止にする。そして、S915においてAPI610を介して、プル用のプリントキュー401にジョブを留め置く。以上のような登録処理により、ある特定のユーザが作成する複数の印刷ジョブには共通のユーザ識別情報が含まれることになる。このようなユーザ識別情報は、所定のユーザインターフェースを介してユーザから直接入力されるものとしたが、ユーザ識別情報の管理方法はこれに限られるものではない。例えば、メモリカードに記録されたユーザIDを読み出し、これをユーザ識別情報として用いてもよい。更に、ユーザIDを本実施形態のプルプリントで用いるユーザ識別情報と対応付けて管理しておき、ユーザIDの指定に応じて対応するユーザ識別情報を取得して印刷ジョブに関連付けるようにしてもよい。そして、本実施形態では、このユーザ識別情報によりプルプリントにおける印刷ジョブの指定がなされる。なお、上記の登録においてはユーザ識別情報を印刷ジョブジョブ情報に埋め込んでユーザ識別情報を印刷情報に関連付けているが、リンク情報を用いるなどして関連付けるようにしてもよい。図10は、プルプリントサーバ305が印刷すべく発行したスケジュール要求に付加されるジョブ情報1002と、プルプリントサーバ305が複数のジョブ情報を管理するために用いるジョブ管理キュー1001のデータ構成例を示す図である。図10に示されるジョブ管理キュー及びジョブ情報はプルプリントサーバ305側に保持される。ジョブ管理キュー1001はプルプリント用のプリントキュー401に対応する。なお、図示されるジョブ管理キュー1001では、ジョブ情報そのものではなく、ジョブ情報とのリンクを示すジョブIDが管理されている。ここでこのジョブ管理キュー1001は、上に説明した図8のプリントキュー401、401Aに相当させることができる。ジョブ情報1002は、プルプリントサーバ305が印刷を開始するために発行するスケジュール要求に付加される印刷ジョブの情報である。ジョブ情報1002において、ドキュメント名は当該印刷ジョブのドキュメント名を、ジョブIDはジョブ管理部603が発行したジョブIDを示す。また、このジョブIDは、図7等で説明したスケジュール要求に応じてデバイススケジューラ600からプルプリントサーバ305に応答され、プルプリントサーバ305により管理される。また、ユーザ名はクライアントで印刷を開始したユーザ名を示す。ページ数はジョブのページ数を、ジョブ状態は印刷ジョブの状況を表す。ジョブ保持フラグは、ジョブキャンセル時に当該ジョブを保持するかを表すフラグである。また、再印刷開始ページには、印刷が中断されたジョブについて、どこまで印刷ジョブが完了したかを示すジョブ進行状況情報に基づいて、当該ジョブの再印刷時の開始ページが登録される。この再印刷開始ページから印刷を再開することにより、処理が中断された印刷ジョブを、その中断位置から再開させることができる。よって、ファースト印刷時は、再印刷開始ページには0が設定されている。ユーザ識別情報は上述のとおりである。ここで再印刷開始ページとは、図8のS814の印刷進行状況に示す情報に基づき算出されたジョブ状態状況情報に相当する。但し、再印刷開始ページに限られるものではない。再度プリンタ側からユーザ識別情報が入力され、該入力されたユーザ識別情報に対応して読込まれる印刷ジョブの出力開始ページを特定できる情報であれば、他の情報であっても良い。例えば、再印刷開始ページの変わりにS814の通知情報ジョブ進行状況情報をそのまま格納し、再度ユーザ識別情報の入力があった場合に、格納された通知情報に元に再印刷開始ページを算出しても良い。また、認証情報記録媒体521が検知できなくなり、ジョブキャンセルを実行する場合は後述のS2203、まず、ジョブ情報1002のジョブ保持フラグをONに設定し、当該ジョブをプルプリントサーバ305で保持する。また、このとき、ジョブキャンセル時点での印刷完了ページがデバイススケジューラ600から通知されるので、プルプリントサーバ305は通知された値に1をプラスし、ジョブ情報1002の再印刷開始ページに設定する。再度、認証情報記録媒体521が検知されると、プルプリントサーバ305は保存されているジョブを再印刷させる。このとき、再印刷は再印刷開始ページに設定されているページから印刷を行う。ジョブ状態は、プリントサーバ305が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでのジョブの状態を表している。ジョブの状態としては、印刷待機中、スケジュールUP状態、転送中、転送済み、印刷完了などの状態がある。ジョブIDは、印刷データに含まれるジョブのIDで、プリントデバイス側からプリンタコントローラ219内のジョブ状態をプリントサーバ側に通知する時などに付加させる情報である。ジョブ管理キュー1001は、複数のジョブ情報1002を管理するための管理キューである。上位アプリケーションからの印刷要求を受け付けると、ジョブ情報1002がジョブ管理キュー1001に登録される。また、印刷ジョブが印刷終了すると、該当するジョブ情報はジョブ管理キュー1001から削除される。一方、印刷のスケジュール要求が発行された場合、ジョブ管理キュー1001、ジョブ情報1002に関連して、指定された出力先の情報も管理される。その様子を図11に示す。図11は、プルプリントサーバ305が管理するプリンタ情報1101とポート情報1102のデータ構成例を表している。プリンタ情報1101は、プルプリントサーバ305が管理するそれぞれのプリントキューの情報を表している。プリンタ情報には、プリンタ名などの情報が含まれている。ポート情報1102は、ジョブ制御プリンタサービスが管理するそれぞれの出力ポートの情報を表している。ポート情報1102には、印刷するデバイスのIPアドレスなどの情報が含まれる。なお、後述のS1402でプリントキュー、出力ポートを特定すると、プルプリントエージェント606から送信された情報1301図13の内のデバイスアドレスがポート情報1102のIPアドレスにセットされる。また、プルプリントエージェント606から送信された情報の内のデバイス構成はポート情報1102のデバイス構成にセットされる。図12は、プルプリントエージェント606で認証情報を検知し、認証情報記録媒体521からプルプリントするために必要な情報をプルプリントサーバ305に通知するまでの処理を示すフローチャートである。まず、認証情報読取装置520は認証情報記録媒体521の状態変化を検知する。認証情報記録媒体521の状態変化とは、例えば認証情報読取装置520がカードリーダの場合には、認証情報記録媒体521カードが抜かれた、または、挿入された等の変化を指す。また、例えば認証情報読取装置520が認証情報記録媒体521を赤外線センサー等で検知する場合、認証情報記録媒体521の状態変化とは認証情報記録媒体521の存在状態有無が変化したかどうかを指す。また、認証情報読取装置520にユーザが手等をかざすことにより認証する装置手のひらの静脈パターンを用いた認証の場合も、上記と同様である。この場合、例えばプルプリントによる印刷の実行中、手をかざし続けることになる。S1201では、プルプリントエージェント606は、上述のような認証情報記録媒体521の状態変化の検知を認証情報読取装置520から受信する。認証情報記録媒体521の状態の変化が検知され、認証情報記録媒体521が存在すると判定された場合、処理はS1202からS1203に移行し、プルプリントエージェント606は、認証情報記録媒体521から認証情報ユーザ識別情報を取得する。次にS1204において、プルプリントエージェント606は、当該プリントデバイスから、当該デバイスを特定するためのデバイスアドレスを取得するとともに、デバイスの構成情報を取得図8のS804する。此処で取得する構成情報は、用紙残量やトナーの有無と言った消耗品情報と、両面ユニットやステイプル装置フィニッシャーの使用可否といった装置情報を含む。次にS1205において、プルプリントエージェント606は、S1203で取得した識別情報及びS1204で取得したデバイスアドレス及びデバイス構成情報をプルプリントサーバ305に通知するS805。一方、S1202において、認証情報記録媒体521が存在しない場合は、認証情報の入力の解除がなされたものとして、処理はS1206に移行する。S1206では、プルプリントエージェント606は、印刷継続フラグに基づき処理を分岐する。この印刷継続フラグは予め認証情報記録媒体521に記憶させておき、認証情報読取装置520に読み取らせることによりネットワークプリンタ104に入力できる。また、ネットワークプリンタ104の操作部から設定させるようにしても良いし、或は、印刷ジョブに印刷継続フラグの情報を含ませ、該含ませた印刷継続フラグをネットワークプリンタ104が読み込むようにしても良い。この印刷継続フラグがOFFであった場合はS1207に移行する。S1207では、印刷ジョブのキャンセル及びジョブの保持命令をプルプリントサーバ305に通知するS810。なお、図8のS810で説明したように、S1207の通知は、プルプリントサーバ305が印刷ジョブ制御を行うかを識別可能するための通知であればよく、例えば、認証情報記録媒体521が取り出されたことを示す情報であっても良い。一方、S1206において、印刷継続フラグがONであった場合は、S1207によるジョブのキャンセルを行わずに処理を終了する。図13はプルプリントエージェント606がS1205においてプルプリントサーバ305に送る情報のデータ構成例を示す図である。情報テーブル1301は、認証情報読取装置520で認証情報記録媒体521を検知した後にプルプリントエージェント606がプルプリントサーバ305に送信する情報が登録されている。情報テーブル1301の内容は、デバイスアドレス、識別情報、デバイス構成情報、印刷継続フラグである。ユーザ識別情報は、プルプリントの対象となるジョブを特定するために用いる情報を指す。なお、本実施形態では、プルプリントの対象となるジョブを特定するために各々のジョブに関連付けされているジョブの作成者ユーザ名を用いるがこれに限られるものではない。ジョブを固有に識別するジョブIDやジョブ名を利用してもよい。印刷継続フラグは、この値がONの場合は、印刷中に認証情報読取装置520から記録情報記録媒体521が検知できなくなってもジョブをキャンセルせず、そのまま印刷を継続するモードとすることを示す。印刷継続フラグの値がOFFの場合デフォルトはOFFは、記録情報記録媒体521が検知できなくなるとジョブがキャンセルされる。図14は、クライアントPC101~103のプルプリントサーバ305が、プルプリントエージェント606から図13に示す情報を受け付けることで実行する印刷データの転送処理を説明するフローチャートである。S1401において、プルプリントサーバ305は、プルプリントエージェント606からデバイスアドレス、ユーザ識別情報、デバイス構成情報図13を取得する。次に、S1402において、プルプリントサーバ305は、プリントキュー401を特定する。そして、S1403において、プルプリントサーバ305は、プリントキュー401プルプリント用に、上記ユーザ識別情報と一致するジョブが留め置かれているかをチェックする。該当するジョブが留め置かれている場合は、S1404において、プルプリントサーバ305は、図11のプリンタ情報1101及びポート情報1102に、S1401で取得したデバイスアドレスとデバイス構成情報を設定してS1405に処理を移行する。該当するジョブが留め置かれていない場合は、S1403からS1420へ進み、プルプリントサーバ305は、プルプリントエージェント606にエラーを通知し、処理を終了する。S1405では、プルプリントサーバ305は、デバイススケジューラ600に対しイベント未登録であるか、または、デバイススケジューラ600から印刷データの転送の開始を指示するスケジュールUPのコマンドを受け付けたか、を判断する。イベント未登録の場合は、S1406に移行する。なお、イベント未登録の状態か否かの判定は、例えば、S1407のイベント登録処理が実行済みか否かにより行うことができる。また、スケジュールUPのコマンドを受け付けるとS1410に処理を移行する。イベント未登録の場合は図7の701に示されるやり取りが行われる。まず、S1406において、プルプリントサーバ305は、デバイススケジューラ600に接続するための接続要求コマンドを発行する。接続要求には、自身のIPアドレスクライアントIPアドレスが含まれる。プルプリントサーバ305が接続要求を発行すると、プルプリントサーバ305の情報がデバイススケジューラ600のクライアント管理キュー1501図15に登録される図17により後述する。この登録により、プルプリントサーバ305とデバイススケジューラ600間で情報のやり取りを行うことが可能となる。次に、S1407では、プルプリントサーバ305は、デバイススケジューラ600に対して、ジョブイベント、デバイスイベントを登録する。この処理により、当該プルプリントサーバ305に対応したクライアント情報1502の登録イベントに必要なイベントが登録される。ジョブイベントを登録すると、プルプリントサーバ305が印刷したジョブや、他のクライアントが印刷したジョブの状態の変化がデバイススケジューラ600より通知されることになる。また、デバイスイベントを登録すると、プリントデバイス306の状態の変化がデバイススケジューラ600よりプルプリントサーバ305へ通知されるようになる。S1408では、プルプリントサーバ305は、デバイススケジューラ600で管理しているジョブ管理キュー1601に登録されているジョブIDのリストジョブリストを取得する。このジョブリストとジョブイベントにより、デバイススケジューラ600が管理するジョブの印刷状況を把握することが可能となる。以上の処理により印刷する準備が整う。S1409では、プルプリントサーバ305は、デバイスアドレスで特定されるプルプリント用プリントキューからユーザ識別情報が一致する印刷ジョブを選択する。そして、スケジュール要求とともに選択した印刷ジョブのジョブ情報を送ることにより、選択した印刷ジョブをデバイススケジューラに登録させる。そしてS1405に戻り、次の指示を待機する。なお、S1409によるスケジュール要求により、印刷対象のジョブがデバイススケジューラ600のジョブ管理キュー1601に登録され、管理されることになる。一方、S1405においてデバイススケジューラから印刷データの転送指示であるスケジュールUPのコマンドを受け付けると、処理はS1410に移行する。S1410では、プルプリントサーバ305は、印刷対象のジョブのジョブ情報1002の再印刷開始ページを印刷ジョブに設定する。S1411では、プルプリントサーバ305は、転送指示を受けたジョブの転送を開始する。印刷データの送信が開始されると、S1412において、プルプリントサーバ305は、デバイススケジューラ600に転送が開始されたこと転送開始状態を通知する。S1413で印刷データの転送が終了すると、S1414においてプルプリントサーバ305は、デバイススケジューラ600に転送が終了したことを通知する。図15は、デバイススケジューラ600の通信接続管理部601が管理するクライアント情報1502とクライアント管理キュー1501を示す図である。クライアント情報1502は、接続するクライアントPC毎に通信接続管理部601が割り振ったクライアントID、接続するクライアントPCのIPアドレスを示すクライアントIPアドレスを含む。また、クライアント情報1502は、接続するクライアントPCのプルプリントサーバ305が登録したイベントの種類を示す登録イベントを含む。イベントの種類とは、プリンタコントローラ219が発行するデバイス状態のイベントやジョブ状態のイベントの種類を表す。クライアント管理キュー1501は、接続したプルプリントサーバ305のクライアント情報1502をキューの形式で保持する。クライアントとのセッションが開始されると、該当するクライアントの情報が本管理キューに登録され、切断すると該当するクライアント情報が削除されるようになっている。図16は、プルプリントサーバ305が印刷すべく発行したスケジュール要求に付加するジョブ情報1602と、複数発生するジョブ情報を管理するジョブ管理キュー1601を示す図である。ジョブ管理キュー1601及びジョブ情報1602は、プリントデバイス側に保持される。ジョブ情報1602は、プルプリントサーバ305が印刷を開始するために発行するスケジュール要求に付加される印刷ジョブの情報である。このジョブ情報1602は、印刷ジョブのドキュメント名、デバイススケジューラ600のジョブ管理部603が発行したジョブID、プルプリントサーバ305で印刷を開始したユーザ名、ジョブのページ数を含む。また、ジョブ情報1602には、印刷ジョブの状況を表すジョブ状態、プルプリントサーバ305が転送する印刷データに含まれるジョブデータID、印刷したプルプリントサーバ305のIPアドレスを示すクライアントIPアドレスが登録される。なお、ジョブ状態は、プルプリントサーバ305が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでの状態を表しており、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。ジョブデータIDは、印刷データに含まれるジョブのIDで、プリンタコントローラ219内でのジョブ状態を通知するときなどに付加させるIDである。ジョブデータIDはプルプリントサーバ305が転送する印刷データに含まれるジョブデータのIDである。IPアドレスは印刷したクライアントのIPアドレスを示す。ジョブ管理キュー1601は、複数のジョブ情報1602を管理するための管理キューである。プルプリントサーバ305からスケジュール要求を受け付けると、ジョブ情報1602が管理キューに登録される。また、対応する印刷ジョブの印刷が終了すると、該当するジョブ情報が削除されるようになっている。次に、図17のフローチャートにより、プルプリントサーバ305からの要求や通知、デバイス管理部604からの通知、ジョブ管理部603への要求や通知を処理する通信接続管理部601による処理を説明する。S1701では、通信接続管理部601は、プルプリントサーバ305やデバイス管理部604、ジョブ管理部603からの通知や要求を受け付け、どの通知や要求であるかを判断する。S1701において受け付けた要求やイベントがプルプリントサーバ305からの接続要求であれば、処理はS1702に移行する。S1702において、通信接続管理部601は、クライアント情報1502に自身が発行したクライアントIDと要求を発したプルプリントサーバ305のIPアドレスを設定し、クライアント管理キュー1501にクライアント情報1502を登録する。S1701において受け付けた要求やイベントが、プルプリントサーバ305からのイベント登録の場合、処理はS1703に移行する。S1703において、通信接続管理部601は、該当するクライアント情報1502の登録イベントに、プルプリントサーバから登録すべく要求された通知すべきイベントの種類を設定する。イベントの種類には、ジョブの状態の変化を通知するジョブイベント、デバイスの状態の変化を通知するデバイスイベントがある。S1701において受け付けた要求やイベントがデバイス管理部604からのデバイスイベントやジョブ管理部603からのジョブイベントであれば、処理はS1704に進む。S1704では、通信接続管理部601は、クライアント管理キュー1501に登録された全てのクライアント情報1502からクライアント情報の登録イベントの設定を参照し、プルプリントサーバ305にイベントを通知すべきかどうかを判断する。通知すべきであると判断した場合には、通信接続管理部601は、プルプリントサーバ305のIPアドレスを保持し、S1705において通知すべき全てのプルプリントサーバ305に対してイベントを送信する。S1701において受け付けた要求やイベントがプルプリントサーバ305からの切断要求であれば、処理はS1706に移行する。S1706では、クライアント管理キュー1501から該当するプルプリントサーバ305のクライアント情報1502を削除する。図18は、プルプリントサーバ305からのスケジュール要求の受け付けから、スケジュールUPを発行するまでのスケジュール管理部602による処理を説明するフローチャートである。S1801において、スケジュール管理部602は、プルプリントサーバ305からの通知を受け付けると、その通知がスケジュール要求なのか、転送済み状態の通知図7の転送終了通知なのかを判断する。スケジュール要求の通知であれば、S1802に処理を移行する。S1802では、スケジュール管理部602は、ジョブ管理部603で発行したジョブIDと、スケジュール要求に付加された情報が設定されたジョブ情報1602を作成する。そして、スケジュール管理部602は、スケジュール要求を受け付けた順でジョブ管理キューに登録し、処理をS1803へ進める。一方、転送済み状態の通知であった場合は、処理はS1801から直接S1803へ進む。次に、S1803において、スケジュール管理部602は、ジョブ管理キュー1601に登録されているジョブ情報1602のジョブ状態を確認する。ジョブ状態がスケジュールUP或いは転送中のものがあれば、既にあるプルプリントサーバに印刷データを転送するように指示しているので、スケジュール管理部602は、S1801に処理を戻す。一方、ジョブ状態がスケジュールUPまたは転送中のものがなければ、プルプリントサーバ305から印刷データが送られてくる予定が無い。従って、処理はS1804に移行し、スケジュール管理部602は、スケジュールUPの発行の準備を行う。S1804では、スケジュール管理部602は、ジョブ管理キュー1601で先にスケジュール要求を受け付けた順からジョブを確認し、スケジュール待機中のジョブが見つかるとS1805に処理を移行させる。S1805では、スケジュール管理部602は、該当するクライアントに対して印刷データの転送を開始させるスケジュールUPを通知する。そして、S1806において、スケジュール管理部602は、該当するジョブ情報1602のジョブ状態をスケジュールUP状態に更新し、S1801に処理を移行する。図19は、デバイス管理部604からのジョブ状態通知イベントの受け付けと、プルプリントサーバ305からのジョブリスト要求の受け付けに対する、ジョブ管理部603の処理を示すフローチャートである。S1901において、ジョブ管理部603は、通信接続管理部601やデバイス管理部604からの通知を受け付けると、その通知がデバイス管理部604からのジョブ状態通知であるか、プルプリントサーバ305からのジョブリスト要求であるかを判断する。ジョブ状態通知であると判定されると、処理はS1901からS1902に移行し、ジョブ管理部603は、該当するジョブ情報のジョブ状態を更新する。そして、S1903に処理において、ジョブ管理部603は、当該ジョブ状態通知が印刷完了の通知であるかを判断する。印刷完了の通知でなければ、ジョブ管理部603は、処理をS1904に移行し、通信接続管理部601にジョブの状態のイベントをクライアントに発行するように通知する。一方、S1903で、印刷完了の通知であれば、処理をS1905に移行する。S1905において、ジョブ管理部603は、ジョブ管理キューから該当するジョブを削除する。そして、S1906において、ジョブ管理部603は、通信接続接続管理部601にジョブの完了イベントをプルプリントサーバ305に発行するように通知し、処理をS1901に戻す。S1901において、プルプリントサーバ305からのジョブリスト要求の受け付けると、処理はS1907へ進む。S1907では、ジョブ管理部603は、ジョブ管理キュー1601に登録されたジョブ情報1602のリストを要求元のプルプリントサーバ305に送信するように通信接続管理部601にジョブ情報リストを通知する。尚、別の実施形態としてデバイススケジューラ600がプルプリントエージェント606に対して1ページ印刷するごとに印刷ページを通知するようにしてもよい。そして、プルプリントエージェント606はその値を認証情報記録媒体521に記録する。このようにすれば、印刷中に突然プリントデバイスの電源がOFFされた場合やネットワークが断線しプルプリントサーバ305に印刷面数情報を通知できない場合でも、再印刷時に認証情報記録媒体521に記録した印刷面数を元に再印刷を行うことができる。図20は、プリンタコントローラ219からのデバイス状態、ジョブ状態通知をイベントハンドラを経由して受け付け、ジョブ管理部603や通信接続管理部601に通知するデバイス管理部604の処理を示すフローチャートである。デバイススケジューラ600が起動すると、S2001において、デバイス管理部604は、イベントハンドラ605を経由してプリンタコントローラ219に対してイベントの登録を行うS802。ここでは、デバイスの状態が変更した場合や、プリンタコントローラ219が処理する印刷ジョブの状態が変更した場合に、それらの状態を通知するようにイベント登録を行う。次に、S2002では、デバイス管理部604は、プリンタコントローラ219で発生したイベントをイベントハンドラ605経由で受け付ける。イベントを受け付けると、デバイス管理部604は、それがジョブのイベントであるかデバイスのイベントであるかを判断する。ジョブのイベントであれば、S2003において、デバイス管理部604は、ジョブ管理部603にジョブイベントを通知し、S2002に処理を移行する。デバイスのイベントであれば、処理はS2004に移行して、デバイス管理部604は、当該デバイスの状態をデバイス管理部604で保持する。その後、S2005において、デバイス管理部604は、通信接続管理部601にデバイスイベントを通知し、処理をS2002に移行する。図21は、デバイススケジューラ600からの通知やコマンドを受け付けた場合のプルプリントサーバ305の処理を示すフローチャートである。S2101において、プルプリントサーバ305は、デバイススケジューラ600からジョブイベントが通知されたか、ジョブリストが返送されてきたかを判断する。ジョブイベントが通知された場合には、処理はS2102に移行し、ジョブリストが返送された場合には、処理はS2108に移行する。プルプリントサーバ305は、ジョブリストが返送されてくると、S2108において、プルプリントサーバ305が管理するジョブ管理キュー1001で管理されるジョブ情報1002にジョブリストから得られたジョブ情報を設定する。S2102において、プルプリントサーバ305は、デバイススケジューラ600から通知されたジョブイベント通知が、ジョブ完了通知であるか、ジョブ状態変更通知ステータス通知であるかを判断する。ジョブ状態変更通知ステータス通知の場合、プルプリントサーバ305は、S2109において、該当するジョブ情報1002のジョブ状態を更新する。受け付けたイベント通知がジョブ完了通知であれば、処理はS2102からS2103に進む。S2103において、プルプリントサーバ305は、該当するジョブ情報を、ジョブ管理キュー1001から削除する。S2104では、プルプリントサーバ305は、ジョブ管理キュー1001に、印刷が終了していないジョブが残されているかを確認する。印刷が終了していないジョブが残されていれば、まだデバイススケジューラ600とのやり取りが必要である。そのため、プルプリントサーバ305は、デバイススケジューラ600との接続を継続するために、S2101に処理を移行する。S2104で、自クライアントのジョブがなければ、プルプリントサーバ305は、S2105に処理を移行し、デバイススケジューラ600との接続を終了するための処理を開始する。まず、S2105において、プルプリントサーバ305は、接続を開始したときにデバイススケジューラ600に登録したジョブイベント、デバイスイベントの登録解除を依頼する。デバイススケジューラ600は、この依頼によりクライアント情報1502のイベント登録の内容を削除する。このイベント登録の情報がなければ、デバイススケジューラ600が管理するジョブの状態が変化されてもイベントが通知されてくることはない。次にS2106において、プルプリントサーバ305は、デバイススケジューラ600に対して切断の要求を発行する。デバイススケジューラ600が切断要求を受け付けると、クライアント管理キュー1501から該当するクライアント情報1502を削除する。S2107では、プルプリントサーバ305は、デバイススケジューラ600とのセッションを切断する処理を行い、処理をS2101に戻して待機状態とする。図22は、プルプリントエージェント606からS810又はS1207に対応した通知を受信した場合のプルプリントサーバ305の処理を説明するフローチャートである。S2201で、プルプリントサーバ305は、プルプリントエージェント606からジョブキャンセル保持命令S810又はS1207に対応した通知を受信すると、処理をS2202に進める。S2202では、プルプリントサーバ305は、S2201で受信した通知に対応するユーザ識別情報の印刷ジョブを対象に、デバイススケジューラ600にジョブのキャンセルを指示するS811。図8により上述したように、ジョブのキャンセルが指示されたデバイススケジューラ600は、プリンタエンジン制御部514に対してジョブキャンセル指示を出すS812。またそれとともに、プルプリントサーバ305に対して印刷ジョブの進行状況を表す印刷面数を通知するS814。なお、ここで通知される印刷面数は、当該キャンセル指示によって印刷を終えた時点の印刷済み或は排紙済みとなった面数=ページ数である。プルプリントサーバ305は、S2203において、デバイススケジューラ600からのこの印刷面数の通知を受け取るS814。S2204では、プルプリントサーバ305は、デバイススケジューラ600から通知された印刷面数情報と当該ジョブの全面数ジョブ情報1602のページ数を比較する。印刷面数情報と当該ジョブの全面数が一致する場合は、当該ジョブの印刷が完了していると判断し、S2206でジョブ情報1002のジョブ保持フラグをOFFにする。一致しない場合は、再印刷を行えるようにS2205でジョブ保持フラグをONにする。ジョブ保持フラグについては図10で説明した通りである。続いて、S2207で、プルプリントサーバ305は、通知を受けた印刷面数印刷済みの面数に1をプラスし、ジョブ情報1002の再印刷開始ページジョブ進行状況情報にセットする。また、プルプリントサーバ305は、スケジュールUPS2403でYESと判断される場合が指示されていない1又は複数のジョブがプリントキュー401に保持されている場合には、それらジョブについてジョブ進行状況をゼロと見なす処理を実行する。なお、キャンセルの通知を受けたデバイススケジューラ600は当該ジョブの削除及び当該ジョブに関するイベント登録の解除を行うS1706。なお、図22のフローチャートの説明においては、プルプリントサーバ305による印刷ジョブの制御として、ジョブキャンセルを例に説明したが、その他の印刷ジョブ制御にも応用することができる。例えば、プルプリントサーバ305からの印刷ジョブ出力を停止し印刷ジョブの実行を一時停止する印刷ジョブ制御にも応用できる。なお、一時停止の印刷ジョブ制御についても、図22のフローチャートを適用できることは当業者であれば明白であろう。以上のように、第1実施形態によれば、クライアントPC情報処理装置とプリントデバイス印刷装置が通信可能な印刷システムが開示される。このシステムにおいて、プルプリントサーバ305は、アプリケーション301等で生成された1又は複数の印刷ジョブを、プリントデバイスから送信されてくるユーザ識別情報に基づいて読み込みが可能な形態でプルプリントキューに保持する。ここで、ユーザ識別情報は、あるユーザが生成した印刷ジョブには共通して付与される識別情報であるので、1又は複数の印刷ジョブに共通した識別情報となる。一方、プリントデバイスでは、認証情報読取装置520が認証情報記録媒体521から認証情報を読み取る。プリントデバイスは、この認証情報を識別情報として用いて要求S805、S807を発行する。プルプリントサーバ305は、発行された要求を受信し、受信した要求に含まれる識別情報に基づいて1又は複数の印刷ジョブを読込み、該読込まれた印刷ジョブをプリントデバイスへ出力する。即ち、第1実施形態によれば、ユーザ識別情報をジョブに関連付けて保存しておき、印刷装置から識別情報を入力し、それをサーバに通知することにより、識別情報に対応したジョブをサーバからダウンロードし印刷出力する。このため、従来のプルプリント方式のようにジョブを印刷装置から直接指定することが不要となる。従って、例えば、毎朝本社から各ユーザIDが関連付けられたジョブがサーバに登録され、ユーザが印刷装置に備えられたカードリーダにカードを通すだけで、カードに記録されたユーザIDがサーバに通知され、その結果、手軽に印刷ができるようになる。なお、上記第1実施形態では、ユーザ識別情報を印刷ジョブに関連付けてプルプリント時の印刷ジョブの指定に用いるがこれに限られるものではない。複数の印刷ジョブに共通して関連付けが可能な情報であればよく、印刷ジョブに与える識別情報そのものであってもよい。[第2実施形態]第1実施形態で説明したようなプルプリントシステムにおいて、印刷予約を行なったホストコンピュータが印刷予約到来時あるいは印刷データ送信中にダウンもしくは通信異常が発生する場合がある。このような場合、プリントデバイス306ネットワークプリンタ104,105は、そのホストコンピュータからの転送終了通知を待ち続け、他のホストコンピュータからの印刷データの送信処理が延々と待たされてしまう可能性がある。第2実施形態では、このような不具合を解消する構成を説明する。図23は、プルプリントサーバ305が、プルプリントエージェント606から認証情報を受け付けた後、プリントデバイス306にスケジュール要求を発行し、印刷が終了するまでの処理について示す図である。プルプリントサーバ300とデバイススケジューラ600との間のセッション開始から、プルプリントサーバ305がデバイススケジューラ600から印刷状態通知を受信するまでの手順は図7と同様である。図7で説明したように、印刷データの転送が開始されると、デバイススケジューラ600は、クライアント情報の登録イベントの情報を基に、クライアントにジョブの印刷状態を通知する。更に、第2実施形態では、プルプリントサーバ305は印刷データの転送が終了するまでの間、印刷データ転送ステータスの通知間隔に従い、デバイススケジューラ600に対して転送中出力中の通知を行う。なお、この印刷データ転送ステータス通知間隔は、スケジュールUPに含まれているものとしてもよいし、予めシステムで設定されたもの例えば所定の時間間隔であってもよい。以後、プルプリントサーバ305からLPD/RAW510への印刷データ転送終了の通知から、プルプリントサーバ305とデバイススケジューラ600との間のセッション終了までの手順は図7と同様である。次に、デバイススケジューラ600が上記転送中通知をどのように利用するかを説明する。図24は、プルプリントサーバ305からスケジュール要求を受信し、スケジュールUPから印刷処理を完了するまでのデバイススケジューラ600の処理を示すフローチャートである。S2401で、デバイススケジューラ600は、クライアント101~103のプルプリントサーバ305からスケジュール要求を受信すると、S2402においてジョブ管理キュー最下位にジョブ情報の登録を行う。S2403では、デバイススケジューラ600は、ジョブ管理キューに登録されたジョブ情報が存在するかを判断し、ジョブ情報が存在する場合には、処理をS2404に進める。S2404では、デバイススケジューラ600は、ジョブ管理キューの最上位に位置するジョブ情報を登録したクライアントプルプリントサーバに対してスケジュールUP要求を送信する。ここで、スケジュールUP要求は、印刷データの送信要求並びに印刷データ転送ステータスの通知間隔情報を含むS2405では、デバイススケジューラ600は、印刷データ転送ステータスの受信タイムアウトを計測するためのタイマーを初期化し、スタートさせる。S2406において、デバイススケジューラ600は、印刷データの転送終了通知の受信判定を行う。転送終了通知を受信していない場合は、S2407に進み、デバイススケジューラ600は、転送中ステータス転送中通知の受信判定を行う。転送中ステータスを受信済の場合には、処理はS2405に戻り、デバイススケジューラ600は、タイマーを初期化し、再スタートさせる。一方、転送中ステータスを受信していない場合には、処理はS2407からS2408に進み、デバイススケジューラ600は上記タイマーのタイムアウトを判定する。タイムアウトが発生していない場合には、処理はS2406に戻る。タイムアウトが発生している場合には、デバイススケジューラ600は転送ステータスの受信タイムアウトであると判定し、処理をS2409に進め、当該印刷データの受信処理を中止する。そして、S2410にて、デバイススケジューラ600は、クライアント101~103で動作するジョブ制御プリントサービスに対して当該ジョブが削除キャンセルされたことを通知する。その後、S2411に進み、デバイススケジューラ600は、ジョブ管理キューから当該ジョブ情報を削除し、処理を先頭に戻す。S2406において印刷データの転送終了通知が受信済であった場合は、処理はS2412に進む。S2412では、デバイススケジューラ600は、プルプリントサーバ305に当該ジョブの印刷完了の通知を行う。そして、S2411にて、デバイススケジューラ600は、ジョブ管理キューの当該ジョブ情報を削除し、処理を先頭に戻す。以上のように、第2実施形態によれば、例えば印刷予約を行なったホストコンピュータに印刷データ送信中のダウンや通信異常が発生した場合、デバイススケジューラ600は転送中通知の受信によりこれを認識することができる。その結果、データ送信中のホストコンピュータのダウンや通信異常によって他のホストコンピュータからの印刷データの送信処理が延々と待たされてしまうような不具合を防止できる。[第3実施形態]上述の第1及び第2実施形態では、プルプリントエージェント606による認証情報の検知の有無に応じて、ジョブのキャンセルや一時停止等の印刷ジョブ制御を行う構成を説明した図12、図23。一方、どのように認証情報記録媒体521からの認証情報を検知した場合に、印刷ジョブを制御するかについて、更に別の変形例も想定される。第3実施形態ではそのような変形例について説明を行う。例えば、図12では、S1202において認証情報記録媒体521が存在しない場合に、認証情報の入力が解除されたとみなし、プルプリントサーバ305に印刷ジョブの制御依頼指示が行われる。しかし、S1202で認証情報記録媒体521が存在しないか否かを判定するのではなく、認証情報記憶媒体521からの認証情報の検知が新たに、或は、再度行われたか否かの検知を行わせるようにしても良い。例えば、認証情報による認証が取れている状態で、認証情報記録媒体が取り出され、再度認証情報記録媒体の挿入が検知されることにより、認証情報の入力が解除されたとみなすようにしてもよい。例えば、図8のS803で、認証情報読取装置520は、認証情報記録媒体521が付近にかざされたことを無線通信を介して検知する。この時、認証情報読取装置520が認証情報記録媒体521を無線通信を介して検知できる距離は10センチ前後としておけば、付近を通過した人が所有する認証情報記録媒体521を誤検知する可能性は低くなる。また、この無線通信にはRFID技術等を利用し実現できる。なお、RFIDとは、RADIOFREQUENCYIDENTIFICATIONSYSTEMの略字である。また、認証情報読取装置520は、一旦、認証情報記録媒体521を検知すると所定時間は重複検知をしない。従ってユーザは、認証情報読取装置520に一旦、認証情報記録媒体521をかざした後、所定時間経過後、再度、認証情報記録媒体521を認証情報読取装置520にかざすことにより、第1、2実施形態における、認証情報記録媒体521の認証情報の入力解除と同様のことを行える。また、無線通信により一旦、認証情報記録媒体521からの認証情報を検知すると、それが検知されなくなったのを条件に、再度の認証情報の入力があったと見なしても良い。このように、認証情報記録媒体521からの認証情報の検知方法を異ならせても、第1、2実施形態の各種処理を実現できる。[第4実施形態]上述の第1乃至3実施形態では、プルプリントエージェント606の認証情報の検知態様に応じて、プルプリントサーバ305が、ジョブのキャンセルや一時停止等の印刷ジョブ制御を行う場合を説明してきた。しかし、プルプリントエージェント606及びプルプリントサーバ305の連携により、更に様々な態様の印刷ジョブ制御を行うこともできる。以下では、その具体例を、図25A,Bのフローチャートを用いて以下説明する。ここで、図25A,Bの各ステップの処理は、プルプリントサーバ305が図14で説明したS1406乃至S1409の処理を実行し、少なくともスケジュール要求を行った後に、印刷ジョブ制御を実行する場合の処理とする。また、場合によっては、図14のS1410以降スケジュールUPの受信以降の処理が行われ、印刷ジョブの出力が既に行われている途中に実行される処理とも想定できる。<図25Aのフローチャート>まず、S2501では、プルプリントサーバ305は、図13で説明した情報を受信したか否かを判定する。この図13の情報は第1実施形態で説明したように、プルプリントエージェント606が認証情報読取装置520で認証情報記録媒体521を検知したことに応じて、プルプリントサーバ305に通知する情報に対応する。例えば、第3実施形態で説明したように、認証情報記録媒体521を一旦認識させた後、認証情報記録媒体521を再度認識させることにより、S2502以降の処理が実行される。次に、S2502で、プルプリントサーバ305は、第1実施形態で説明したS1403と同様に、プリントキュー401プルプリント用に、図13に含まれるユーザ識別情報と一致するジョブが留め置かれているかをチェックする。この時、検索対象の印刷ジョブ及び検索結果の印刷ジョブは、共に1以上であってもよい。ユーザ識別情報と一致する1以上のジョブが溜め置かれていない場合、処理はS2501の判断処理に戻る。一方、ユーザ識別情報と一致する1以上のジョブが溜め置かれている場合には、処理はS2503に移る。なお、S2503以降の処理は1以上の各ジョブ夫々について個別に行われるものとする。S2503では、プルプリントサーバ305は、S2502でユーザ識別情報と一致すると判定された1以上のジョブの各々について、ジョブの状態が一時停止中か否かS2513で停止処理されたジョブであるか否かを判定する。また、印刷面数は、S2503でユーザ識別情報と一致すると判定された1以上の各々のジョブについて判定する。即ち、S2503以降の各ステップの処理は、S2503でユーザ識別情報と一致すると判定された各々のジョブについて行わせるものとする。そして、S2503でYESと判定すると処理をS2508に移行する。一方、S2503でNOと判定した場合、S2504で、デバイススケジューラ600から当該ジョブに関して印刷面数の通知を受け取る。ここでの印刷面数はS2203で説明したものと同様である。S2505では、プルプリントサーバ305は、S2204と同様にデバイススケジューラ600から通知された印刷面数情報と当該ジョブの全面数ジョブ情報1002或はジョブ情報1602のページ数を比較する。そして、一致している場合には、プルプリントサーバ305は、S2206と同様の処理をS2514で行う。なお、S2514では、既にジョブの印刷が完了していると判断するので、詳しい説明は省略する。一方、S2505でNOと判定した場合、S2506及びS2507で、プルプリントサーバ305は、上述のS2205及びS2207と同様の処理を行う。なおS2505で参照されるジョブ情報は基本的に図10にて説明したものと同様であるが、更に、図10のジョブ情報に加えて印刷出力先プリンタのデバイスアドレス図13に示される情報から取得されるが含まれる。S2508では、プルプリントサーバ305は、S2501で受信した図13に含まれるデバイスアドレスが、予め図10の形式で保存されたジョブ情報に含まれるデバイスアドレスから、変更されているかを判定する。S2508でYESと判定した場合は、図25BのフローチャートS2515以降へ処理を移行し、プリンタが変更された場合のジョブ制御処理を実行する。また、S2508でデバイスアドレスの一致が確認できれば、プリンタの変更は無しと判定し、S2509で当該デバイスの状態を調査する。ここでデバイスの状態は、図13に含まれるデバイスアドレスに基づき、任意のタイミングでプルプリントサーバ305がプリンタから取得する。また、任意のタイミングで取得したデバイスの状態をキャッシュとして保持し、取得とは非同期のタイミングでプルプリントサーバ305が参照しても良い。そして、S2509でデバイス状態が異常と判定された場合、S2512でプルプリントサーバ305は、当該印刷ジョブの処理をキャンセルし、S2501に処理を戻す。これにより、例えば、プリントデバイスで用紙無し等が発生し、ユーザが印刷ジョブをキャンセルしたいケースに対応できる。即ち、プリントデバイスで用紙無しが発生した場合に、ユーザは認証情報記録媒体521をプリントデバイスに認識させることで、当該ジョブをキャンセルさせることができる。一方、S2509でデバイス状態が正常と判定された場合は、S2510において、プルプリントサーバ305は、S2502でユーザ識別情報に一致すると判定されたジョブの状態が停止中であるか否かを判定する。この判定は、注目しているジョブの図10で説明したジョブ情報に含まれるジョブ状態の欄を参照して行うことができる。そして、S2510でYESと判定された場合ジョブ状態が停止中を示す場合には、S2511でプルプリントサーバ305からプリンタへのジョブの再出力を行う。一方、S2510でNOと判定された場合には、プルプリントサーバ305は、注目しているジョブS2502でユーザ識別情報に一致すると判定されたジョブの状態をS2513で一時停止にする。ここで、S2511の処理は、図14のS1410乃至1411に対応し、一方、S2513の処理は、図22の処理に対応する。このように、図25のフローチャートによっても、図22と同様に印刷ジョブのキャンセル及び一時停止のジョブ制御を行える。この処理により、当該ジョブのスケジュールUP待ち、或いは当該ジョブのプリント処理中の任意のタイミングで、ユーザが認証情報記録媒体521をプリントデバイスに認識させることで当該ジョブを一時停止させることができる。<図25Bのフローチャート>次に図25Bのフローチャートについて詳しく説明する。S2502で該当ジョブが有りと判定され、且つ、図13の情報が以前とは別のプリンタのプリントエージェントから通知されていれば、S2508でプリンタ変更有りと判定し図25Bのフローチャートの処理を移行する。例えば、ユーザが先に認証情報記録媒体521を検出させたプリントデバイスとは異なるプリントデバイスで認証情報記録媒体521を検出させた場合に、以前とは別のプリンタのプリントエージェントから通知が発行されることになる。まずS2515では、現在着目しているジョブ情報に含まれるデバイスアドレス変更前のデバイスアドレスに対応したプリンタの状態が正常か否かを判定する。ここでジョブの状態の取得方法については、S2509で説明した通りである。S2515でデバイス状態が異常と判定されればS2516以降で代行印刷処理を、一方、S2515でデバイス状態が正常と判定されればS2519以降で分散印刷処理を行う。<代行印刷処理>最初に代行印刷処理について説明を行う。まず、S2516で、プルプリントサーバ305は、変更前のプリンタに対してジョブキャンセルの処理を行う。このジョブキャンセル処理は、図22で説明したS2202以降の処理と同様の処理で実現することができる。なお、S2203乃至S2207の処理は、S2504乃至S2507、S2514において実行された処理と同様の処理である。従って、ステップS2516でS2203乃至S2207の処理を実行すれば、S2504乃至S2507、S2514の処理が繰り返し実行されることになる。従って、S2516では、S2203乃至S2207の処理を省略することも可能である。次に、S2517で、プルプリントサーバ305は、ジョブ情報中のデバイスアドレスを、S2508でプリンタ変更有りと判定された変更後の別のプリンタのデバイスアドレスに設定し、ジョブ情報を更新する。このジョブ情報は図10で説明したものと同様のものであり、第4実施形態では、図26に示した通りである。例えば変更前のプリンタがデバイスアドレスAに対応し、変更後のプリンタがデバイスアドレスBに対応する場合には、プルプリントサーバ305が保持するジョブ情報2601はジョブ情報2602に変更される。次に、S2518では、プルプリントサーバ305は、更新されたジョブ情報に基づき、印刷出力が行われていない続きのページから印刷出力を行わせるよう代行先のプリンタへジョブを出力する代行出力処理を行う。その後、S2501へ処理を戻す。尚、第1実施形態においても、図22の処理によって印刷が中断された後に、それまで使用していたプリントデバイスとは別のプリントデバイスにより認証情報記録媒体の検出を行わせることで、代行印刷を行わせることができる。即ち、別のプリントデバイスにより認証情報記録媒体の検出を行わせて、図14のS1410~S1414の処理を実行させるようにすれば、ユーザの意思により、任意のプリンタで代行印刷を行わせることができる。そして、上述したように、第4実施形態においても、図14のS1410乃至S1414の処理と同様に、ユーザの意思により、任意のプリンタで代行印刷を行わせることができる。<分散印刷処理>一方、S2515で正常と判断された場合には、S2508で変更有りと判定された変更後のプリンタに変更前のプリンタに割り当てられたジョブの一部を割り当て、分散印刷を行わせる。具体的には、まず、S2519で、変更前のプリンタに割り当てられたジョブの一部例えば半分を別のプリンタで印刷させるジョブを作成する。例えば、変更前のプリンタのジョブの後半ページ例えば、全ページの半分1ページを印刷開始ページとするジョブを作成する。そして、S2520でS2519で作成した新たなジョブに対してジョブ情報図26を作成すると共に、対応するジョブ管理キュー図10で説明したものに相当に新規に生成したジョブIDを登録する。また、新たに作成されたジョブ情報ではなく、分割されたジョブ情報の印刷範囲終了印刷ページの更新も行う。そしてS2512で、新規に作成したジョブ情報に基づく、ユーザが認証情報記録媒体521をかざしたプルプリントエージェントを備えるプリンタに対して、ジョブを出力し、分散印刷を実現する。以上のように第4実施形態では、プルプリントサーバ305が、プリントデバイス印刷装置から、識別情報の入力状態を示す通知を受信したことに応じて種々の印刷ジョブの制御が行われる。例えば、上記通知が示す印刷装置の状態S2509、或は、ジョブの状態S2510、或は、前記通知の出力元の印刷装置S2508に応じて、異なるジョブ制御が行われる。例えば、上記通知により、ジョブ実行の一時停止S2513、及び代行印刷処理S2516~S2518、及び分散印刷処理S2519~S2521等の何れかが実行される。このように、第4実施形態では、認証情報記録媒体521を用いて、印刷ジョブのキャンセル、一時停止を行わせることができる。更に、別のプリントデバイスに認証情報記録媒体521を検出させることで、代行印刷や分散印刷を行わせることができる。[第5実施形態]上述の第1乃至第4実施形態では、プルプリントサーバ305保持される印刷ジョブにユーザ識別情報を含ませる、又は、関連付けるよう説明してきた。そして、プルプリントエージェント606からユーザ識別情報がプルプリントサーバ305に通知された場合に、通知されたユーザ識別情報と、印刷ジョブに含まれる、又は、関連付けられた印刷ジョブを特定し出力するよう説明した。しかしながら、本願発明における、プルプリントサーバ305の1つ又は複数の印刷ジョブの保持のさせ方はこれに限定されない。例えば、図27に示されるような保持機能により1つ又は複数の印刷ジョブを保持するようにしても良い。以下、図27について、どのように1つ又は複数の印刷ジョブを保持しているかについて説明する。まず、図中のプルプリントサーバ305は、図8にて説明した、プルプリントサーバに相当する。図27中の401Aは、図8のプリントキュー401Aに相当する。図中2701は、図8におけるS805の矢印を示す。2702は図8の401図8の401Aでは無いのプルプリントキューに印刷ジョブを蓄積する代わりに、1つ又は複数の印刷ジョブを蓄積する仮想プリントキューに相当する。また、2703は別の仮想プリントキューに相当する。ここで、第3実施形態特有の部分として、この仮想プリントキュー2702,2703にユーザ識別情報が関連付けられている点である。図27では、仮想プリントキュー2702にユーザ識別情報nが、仮想プリントキュー2703にユーザ識別情報n1が夫々関連付けらている。そして、プルプリントエージェント606から、何れかのユーザ識別情報が通知されてくると、通知されたユーザ識別情報に該当する仮想プリントキューを検索する。なお、プルプリントエージェント606からユーザ識別情報が通知される条件については、上述のように、認証情報記録媒体521が取り外される場合であることに変わりはない。そして、仮想プリントキューが特定されると、該特定された仮想プリントキューに登録された1つ又は複数の印刷ジョブがプリントキュー401Aに登録され、該登録に応じて、デバイススケジューラ600に対してスケジュール要求が即時発行される。図25では、ユーザ識別情報n1が通知されているので、通知されたユーザ識別情報n1に基づき、仮想プリントキュー2703が検索される。そして、この仮想プリントキュー2703に登録されている1つの印刷ジョブがプリントキュー401Aに登録される。以上のように、図27によれば、印刷ジョブに含まれる、又は、関連付けら得ているユーザ識別情報を用いなくとも、仮想プリントキューのユーザ識別情報を検索するのみで容易に印刷すべき1つ又は複数の印刷ジョブを特定することができる。なお、この第3実施形態でも、第1及び第2実施形態と同様に、印刷ジョブにユーザ識別情報を含ませる、又は、関連付けるようにしても良い。このように、印刷装置からの送信されてくるユーザ識別情報に基づき1又は複数の印刷ジョブを読込可能な形態で保持するプルプリントサーバ305は、様々な形態で、1つ又は複数の印刷ジョブを保持することができる。[他の実施形態]以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータまたはCPUやMPUが記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSオペレーティングシステム等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形各実施形態の有機的な組み合せを含むが可能であり、それらを本発明の範囲から排除するものではない。"