"印刷装置に依存しない中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と、前記印刷ジョブを管理するプリントサーバと、印刷装置とを含むプリントシステムであって、前記プリントサーバは、前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶手段と、前記印刷装置から、前記記憶手段に記憶されている前記中間形式の印刷ジョブに対する印刷設定情報の変更指示を受信する設定変更受信手段と、前記印刷設定情報の変更指示に従い、前記印刷ジョブの印刷設定情報を更新する更新手段と、前記印刷装置から印刷要求を受信する印刷要求受信手段と、前記印刷要求に従って当該中間形式の印刷ジョブと前記更新手段により更新された印刷設定情報に基づいて前記印刷装置にて印刷可能な形式の印刷ジョブを生成し、当該生成された印刷ジョブを当該印刷装置へ送信するジョブ送信手段とを有し、前記印刷装置は、印刷ジョブを選択する選択手段と、前記選択手段により選択された印刷ジョブに対する前記印刷設定情報の変更指示を送信する設定変更送信手段と、前記プリントサーバへ前記印刷ジョブに対する前記印刷要求を送信する印刷要求送信手段と、前記ジョブ送信手段により送信された印刷ジョブを印刷する印刷手段とを有することを特徴とするプリントシステム。前記プリントサーバの更新手段は、前記情報処理装置から受信したユーザトークンを用いて、設定変更を行うことを特徴とする請求項1に記載のプリントシステム。前記印刷設定情報の変更指示には、部数、面付け、カラーモード、ページ集約のうち少なくとも一つの設定変更を含むことを特徴とする請求項1に記載のプリントシステム。前記プリントサーバのジョブ送信手段は、前記印刷要求に従って前記印刷ジョブを所定の印刷装置にて出力可能な形式に変換する際に、前記出力可能な形式に変換できる前記所定の印刷装置に対応したプリンタドライバがインストールされていない場合には、新たに当該所定の印刷装置に対応したプリンタドライバをインストールすることを特徴とする請求項1に記載のプリントシステム。印刷装置に依存しない中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と、前記印刷ジョブを管理するプリントサーバと、印刷装置とを含むプリントシステムにおける印刷方法であって、前記プリントサーバにおいて、記憶手段が、前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶工程と、設定変更受信手段が、前記印刷装置から、前記記憶工程にて記憶されている前記中間形式の印刷ジョブに対する印刷設定情報の変更指示を受信する設定変更受信工程と、更新手段が、前記印刷設定情報の変更指示に従い、前記印刷ジョブの印刷設定情報を更新する更新工程と、印刷要求受信手段が、前記印刷装置から印刷要求を受信する印刷要求受信工程と、ジョブ送信手段が、前記印刷要求に従って当該中間形式の印刷ジョブと前記更新工程において更新された印刷設定情報に基づいて前記印刷装置にて印刷可能な形式の印刷ジョブを生成し、当該生成された印刷ジョブを当該印刷装置へ送信するジョブ送信工程とを有し、前記印刷装置において、選択手段が、印刷ジョブを選択する選択工程と、設定変更送信手段が、前記選択工程において選択された印刷ジョブに対する前記印刷設定情報の変更指示を送信する設定変更送信工程と、印刷要求送信手段が、前記プリントサーバへ前記印刷ジョブに対する前記印刷要求を送信する印刷要求送信工程と、印刷手段が、前記ジョブ送信工程により送信された印刷ジョブを印刷する印刷工程とを有することを特徴とする印刷方法。印刷装置に依存しない中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と印刷装置と通信するプリントサーバであって、前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶手段と、前記印刷装置から、前記記憶手段に記憶されている前記中間形式の印刷ジョブに対する印刷設定情報の変更指示を受信する設定変更受信手段と、前記印刷設定情報の変更指示に従い、前記印刷ジョブの印刷設定情報を更新する更新手段と、前記印刷装置から印刷要求を受信する印刷要求受信手段と、前記印刷要求に従って前記中間形式の印刷ジョブと前記更新手段により更新された印刷設定情報に基づいて前記印刷装置にて印刷可能な形式の印刷ジョブを生成し、前記生成された印刷ジョブを前記印刷装置へ送信するジョブ送信手段とを有することを特徴とするプリントサーバ。印刷装置に依存しない中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と印刷装置と通信するプリントサーバにおける制御方法であって、記憶手段が、前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶工程と、設定変更受信手段が、前記印刷装置から、前記記憶工程において記憶されている前記中間形式の印刷ジョブに対する印刷設定情報の変更指示を受信する設定変更受信工程と、更新手段が、前記印刷設定情報の変更指示に従い、前記印刷ジョブの印刷設定情報を更新する更新工程と、印刷要求受信手段が、前記印刷装置から印刷要求を受信する印刷要求受信工程と、ジョブ送信手段が、前記印刷要求に従って前記中間形式の印刷ジョブと前記更新工程において更新された印刷設定情報に基づいて前記印刷装置にて印刷可能な形式の印刷ジョブを生成し、前記生成された印刷ジョブを前記印刷装置へ送信するジョブ送信工程とを有することを特徴とする制御方法。コンピュータを、情報処理装置から受信した中間形式の印刷ジョブを記憶する記憶手段、印刷装置から、前記記憶手段に記憶されている前記中間形式の印刷ジョブに対する印刷設定情報の変更指示を受信する設定変更受信手段、前記印刷設定情報の変更指示に従い、前記印刷ジョブの印刷設定情報を更新する更新手段、前記印刷装置から印刷要求を受信する印刷要求受信手段、前記印刷要求に従って前記中間形式の印刷ジョブと前記更新手段により更新された印刷設定情報に基づいて前記印刷装置にて印刷可能な形式の印刷ジョブを生成し、前記生成された印刷ジョブを前記印刷装置へ送信するジョブ送信手段として機能させるためのプログラム。従来の方法では、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、印刷設定情報の変更を指示することが困難である。サーバ上に一次蓄積される印刷データの形式は、印刷装置に依存したPDLPageDescriptionLanguageであるため、印刷設定情報の変更の指示通りにPDLを編集しなければならない。具体例を示す。ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、4ページを1ページに割り付けるような印刷設定以後、4in1と称するを指示したとする。このとき、サーバ上に一次蓄積される印刷データ、即ちPDLを4in1に適合するように変更する必要がある。もし、PDLが印刷装置の解像度に依存するラスタ形式であるなら、4in1を実現するためにラスタ画像を縮小することになるので、細線の消失等、品質上の様々な問題が生じる。また、PDLは多種多様な仕様が存在するので、それら複数のPDLに対応することは多大な労力を必要とする。そもそも、PDLの仕様が非公開であったら、PDLを変更することもできない。また、ユーザが印刷装置から印刷設定情報の変更を指示する方法として、印刷装置上のパネルにクライアントPC上で動作しているプリンタドライバのUIを表示する方法は、プルプリントシステムに適用するのが困難である。ユーザが、プルプリントを実行するためにクライアントPC上で印刷を指示する時点では、まだ出力対象の印刷装置は確定していないので、使用するプリンタドライバUIの機能は印刷装置に依存しない汎用的なものにならざるを得ない。そして、ユーザが印刷装置に赴き、印刷装置上のパネルを操作する時点で初めて出力対象の印刷装置が確定する。つまり、印刷装置上のパネルに表示するプルプリント用のプリンタドライバUIの機能は汎用的なものに過ぎない、即ち印刷装置固有の機能を使えないので、印刷設定可能な機能が限定されてしまう。上記課題を解決するため、本発明は以下の構成を有する。すなわち、印刷装置に依存しない中間形式の印刷ジョブを生成する仮想プリンタドライバを備える情報処理装置と、前記印刷ジョブを管理するプリントサーバと、印刷装置とを含むプリントシステムであって、前記プリントサーバは、前記情報処理装置から受信した前記中間形式の印刷ジョブを記憶する記憶手段と、前記印刷装置から、前記記憶手段に記憶されている前記中間形式の印刷ジョブに対する印刷設定情報の変更指示を受信する設定変更受信手段と、前記印刷設定情報の変更指示に従い、前記印刷ジョブの印刷設定情報を更新する更新手段と、前記印刷装置から印刷要求を受信する印刷要求受信手段と、前記印刷要求に従って当該中間形式の印刷ジョブと前記更新手段により更新された印刷設定情報に基づいて前記印刷装置にて印刷可能な形式の印刷ジョブを生成し、当該生成された印刷ジョブを当該印刷装置へ送信するジョブ送信手段とを有し、前記印刷装置は、印刷ジョブを選択する選択手段と、前記選択手段により選択された印刷ジョブに対する前記印刷設定情報の変更指示を送信する設定変更送信手段と、前記プリントサーバへ前記印刷ジョブに対する前記印刷要求を送信する印刷要求送信手段と、前記ジョブ送信手段により送信された印刷ジョブを印刷する印刷手段とを有する。本発明により、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、印刷設定の変更を指示することが可能となる。しかも、印刷装置上で動作する印刷設定変更を指示するプログラムは、クライアントPCではなく、サーバ上にある印刷装置に適したプリンタドライバに印刷設定変更を依頼するため、適切な印刷設定変更が可能になる。[システム構成]以下、本発明を実施するための形態について図面を用いて説明する。図1は、本発明に係る情報処理装置、プリントサーバ、アドレス管理サーバ、および印刷装置を適用可能なプリントシステムの構成の一例を示すシステム構成図である。図1の事業所Aに示すように、本実施形態のプリントシステムは、1又は複数のクライアントPC100、1又は複数のプリントサーバ101、1又は複数の複合機102、アドレス管理サーバ103、1又は複数のログインサービスPC104、ディレクトリサービスサーバ105がローカルエリアネットワークLAN106を介して接続される構成となっている。クライアントPC100には、仮想プリンタドライバがインストールされている。この仮想プリンタドライバは、クライアントアプリケーションから受け取ったデータに基づいて、特定の複合機に依存しない中間形式の印刷ジョブを生成し、プリントサーバ101へ送信する。なお、中間形式の印刷ジョブとは、フォーマットに関する共通仕様が一般に公開されており、かつ再編集が容易な形式の印刷データを意味する。例えば、EMFSPOOL形式EnhancedMetafileSpoolFormat、XPSXMLPaperSpecificationなどがある。本実施形態においては、EMFSPOOL形式を使って説明するが、XPSやPDFなど他の中間形式の印刷データであってもかまわない。プリントサーバ101は、受信した該印刷ジョブを所定の格納場所に保存する。また、プリントサーバ101は、ジョブ管理データベース以後、ジョブ管理DBと呼ぶを備え、該印刷ジョブに関するメタデータを、ジョブ管理DBに記憶する。プリントサーバ101は、ジョブ管理DBに記憶しているメタデータから印刷ジョブ一覧情報印刷ジョブ一覧データを生成し、複合機102へ転送する。プリントサーバ101は、ジョブ管理DBに記憶しているメタデータと複合機102から受信する印刷設定情報とを使って、印刷設定情報の更新を行い、複合機102へ更新した印刷設定情報を転送する。さらに、プリントサーバ101は、上記所定の格納場所に保存している印刷ジョブとジョブ管理DBに記録管理しているメタデータとからPDLPrinterDescriptionLanguageデータを生成し、複合機102へ転送する。アドレス管理サーバ103は、アドレス管理データベース以後、アドレス管理DBと呼ぶを備える。アドレス管理サーバ103は、本実施形態のプルプリント処理の実行時に、印刷ジョブを管理するプリントサーバ101のアドレス情報以下、アドレスとユーザ識別子を、アドレス管理DBに記憶する。さらに、アドレス管理サーバ103は、複合機102からの印刷ジョブ一覧要求に応じて、複合機102から受信したユーザ識別子に対応するプリントサーバ101のアドレスを複合機102へ送信する。ログインサービスPC104は、複合機102のログインサービスとして、ディレクトリサービスサーバ105で記憶されているクライアントPC100のログインユーザ名、パスワード例えば、マイクロソフト社のWindows登録商標のログインユーザ名、パスワードに基づく認証処理を行う。ここでの認証処理の例として、SSOSingleSign-ONが挙げられる。ログインサービスPC104の例として、キヤノン社のセキュリティエージェントSecurityAgentを搭載したパーソナルコンピュータが挙げられる。ディレクトリサービスサーバ105は、ネットワーク上に存在するサーバ、クライアント、プリンタ等のハードウェア資源や、それらを使用するユーザの属性クライアントPC100のログインユーザ名、パスワードを含む、アクセス権等の情報を記憶する。ディレクトリサービスサーバ105の一例として、アクティブディレクトリActiveDirectory機能を搭載したサーバが挙げられる。また、事業所Bは、1又は複数のクライアントPC100,1又は複数のプリントサーバ101,1又は複数の複合機102がLAN106を介して接続される構成を有する。本実施形態のプリントシステムは、上述した構成の事業所Aと、1又は複数の事業所Bとが、WAN107を介して接続される構成であってもよい。また、各サーバの機能は、一台の装置で複数のサーバとしての機能を実現しても良いし、複数台の装置で、一つの機能を協働して実現しても構わない。[情報処理装置]図2を用いて、図1に示したクライアントPC100、プリントサーバ101、アドレス管理サーバ103、ログインサービスPC104、ディレクトリサービスサーバ105に適用可能な情報処理装置のハードウェア構成について説明する。図2は、図1に示したクライアントPC100、プリントサーバ101、アドレス管理サーバ103、ログインサービスPC104、ディレクトリサービスサーバ105に適用可能な情報処理装置のハードウェア構成を示すブロック図である。図2において、CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOSBasicInput/OutputSystemやオペレーティングシステムプログラム以下、OSや、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。また、入力コントローラ205は、キーボード209やマウス不図示等のポインティングデバイス等からの入力を制御する。ビデオコントローラ206は、モニタ210への表示を制御する。一般に、モニタ210は液晶ディスプレイやCRT等の表示器である。これらは必要に応じて管理者が使用するものである。メモリコントローラ207は、ブートプログラム、各種のアプリケーション、編集ファイル、各種データ等を記憶するハードディスクHD、SSDSolidStateDrive、SDメモリカード等の外部メモリ211へのアクセスを制御する。通信I/Fコントローラ208は、ネットワーク例えば、図1に示したLAN106を介して外部機器と接続通信し、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開ラスタライズ処理を実行することにより、モニタ210上での表示を可能としている。また、CPU201は、モニタ210上のマウスカーソル不図示等でのユーザ指示を可能とする。本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。[コントローラユニット]図3を用いて、図1に示した複合機102を制御するコントローラユニットのハードウェア構成について説明する。図3は、図1に示した複合機102のコントローラユニットのハードウェア構成の一例を示すブロック図である。図3において、コントローラユニット316は、画像入力デバイスとして機能するスキャナ314や、画像出力デバイスとして機能するプリンタ312と接続する。その一方で、コントローラユニット316は、LAN例えば、図1に示したLAN106や公衆回線WAN例えば、PSTNまたはISDN等と接続することで、画像データやデバイス情報の入出力を行う。コントローラユニット316において、CPU301は、システム全体を制御するプロセッサである。RAM302は、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。ROM303は、システムのブートプログラムや各種制御プログラムが格納されている。ハードディスクドライブHDD304は、システムを制御するための各種プログラム,画像データ等を格納する。操作部インタフェース操作部I/F307は、操作部UI308とのインタフェース部であり、操作部308に表示する画像データを操作部308に対して出力する。また、操作部I/F307は、操作部308から本システム使用者が入力した情報例えば、ユーザ情報等をCPU301に伝える役割をする。なお、操作部308はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下指等でタッチすることにより、各種指示を行うことができる。ネットワークインタフェースNetworkI/F305は、ネットワークLANに接続し、データの入出力を行う。モデムMODEM306は、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。外部インタフェース外部I/F318は、USB、IEEE1394,プリンタポート,RS-232C等の外部入力を受け付けるI/F部である。なお、本実施形態においては認証で必要となるICカードの読み取り用のカードリーダ319が外部I/F318に接続されている。そして、CPU301は、この外部I/F318を介してカードリーダ319によるICカードからの情報読み取りを制御し、該ICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。イメージバスインタフェースIMAGEBUSI/F320は、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。画像バス315は、PCIバスまたはIEEE1394で構成される。画像バス315上には以下のデバイスが接続される。ラスタイメージプロセッサRIP310は、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。プリンタインタフェースプリンタI/F311は、プリンタ312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。また、スキャナインタフェーススキャナI/F313は、スキャナ314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。画像処理部317は、入力画像データに対し補正、加工、編集を行う。また、画像処理部317は、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。スキャナ314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットされ、装置使用者が操作部308から読み取り起動指示する。これにより、CPU301がスキャナ314に指示を与え、原稿フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。プリンタ312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等がある。本発明が適用可能であれば、どの方式の装置を用いても構わない。プリント動作の起動は、CPU301からの指示によって開始する。なお、プリンタ312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を備え、それに対応した用紙カセットがある。操作部308は、LCD表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部308のストップキーは、稼働中の動作を止める働きをする。また、操作部308のIDキーは、使用者のユーザIDを入力する際に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。カードリーダ319は、CPU301からの制御により、ICカード例えば、ソニー社のフェリカFeliCa登録商標内に記憶されている情報を読み取り、該読み取った情報を外部I/F318を介してCPU301へ通知する。以上のような構成によって、複合機102は、スキャナ314から読み込んだ画像データをLAN106上に送信し、LAN106から受信した印刷データをプリンタ312により印刷出力することができる。また、スキャナ314から読み込んだ画像データをモデム306により、公衆回線上にFAX送信し、公衆回線からFAX受信した画像データをプリンタ312により出力することできる。[プルプリント処理の流れ]図4を用いて、本実施形態のプリントシステムにおけるプルプリントの全体の流れについて説明する。その前に、まず、本実施形態のプルプリントを実行するための前提について説明する。本実施形態のプルプリントを実現するための仮想プリンタドライバをプリントサーバ101に共有プリンタとしてインストールしておく。仮想プリンタドライバは、クライアントアプリケーション400から指示された印字や描画命令の出力に基づいて印刷データを生成する機能を有する。更に、プリンタドライバやプリンタが備える機能を制御するための印刷設定情報の設定を受け付ける機能ユーザインタフェースと、その印刷設定情報をインストールされた論理プリンタごとに外部記憶装置に記憶する機能等を有する。また、この印刷設定情報は、米国Microsoft社のWindows登録商標の場合、DEVMODE構造体に格納される。このDEVMODE構造体とは、プリンタが使用可能な機能,レイアウト設定,仕上げ設定,給排紙設定,印字品質設定等の論理プリンタに関するデフォルトの動作条件を含む各種設定を記憶するために、米国Microsoft社が規定したものである。この情報は、インストールされた論理プリンタごとに外部記憶装置に記憶される。各クライアントPC100は、仮想プリンタドライバをプリントサーバ101からポイントプリント等でダウンロードしてインストールし、仮想プリンタドライバ401の論理プリンタを追加しておく。以下、本実施形態のプルプリントの全体の流れについて説明する。図4は、本実施形態のプリントシステムにおけるプルプリントどこでもプリント登録商標の全体の流れを説明する模式図である。図4に示すように、まず、ユーザは、クライアントPC100にログインし、該クライアントPC100で実行されるクライアントアプリケーション400から仮想プリンタドライバ401に対応する論理プリンタへの印刷指示を行う1-1。この際、ユーザは仮想プリンタドライバを使って印刷設定情報を設定できる。ただし、ここで設定できる印刷設定情報は、特定のプリンタに特化した設定はできず、汎用的な内容に限られる。具体的には、全てのプリンタで対応できる印刷設定情報である。この印刷指示に応じて、クライアントPC100のクライアントアプリケーション400は、グラフィックエンジン不図示を介して、仮想プリンタドライバ401にデータを送信する。クライアントPC100の仮想プリンタドライバ401は、該クライアントアプリケーションからグラフィックエンジンを介して受け取ったデータに基づいてデバイスに依存しないEMFSPOOL形式の印刷ジョブを生成する。そして、クライアントPC100は、生成したEMFSPOOL形式の印刷ジョブをプリントサーバ101に送信する1-2。プリントサーバ101にて、プリントプロセッサ402は、仮想プリンタドライバ401から送信されてきたEMFSPOOL形式の印刷ジョブを読み取り、印刷ジョブのメタデータを生成する。そして、プリントプロセッサ402は、ジョブ管理サービス403へメタデータと印刷ジョブを送信する1-3。ジョブ管理サービス403は、プリントサーバ101上の所定の格納場所にEMFSPOOL形式の印刷ジョブを保存する。さらにジョブ管理サービス403は、メタデータをジョブ管理DB404プリントサーバ101の外部記憶装置上に構築されるに登録する1-4。このとき、プリントサーバ101は、上記所定の格納場所に印刷ジョブを保存するだけで、印刷装置への送信は行わない。さらに、プリントサーバ101は、印刷ジョブの識別子とユーザ識別子をアドレス管理サーバ103上のアドレス管理サービス405へ登録するために送信する1-5。アドレス管理サービス405は、ジョブ管理サービス403から、印刷ジョブの識別子とユーザ識別子を受信すると、プリントサーバ101のアドレスも加えてアドレス管理DB406に登録する1-6。本実施形態において、アドレス管理DB406は、アドレス管理サーバ103の外部記憶装置上に構築される。なお、本実施形態では、機器を判別するためのアドレスとしてIPアドレスを使用する。本実施形態では、ジョブ識別子としてGUIDGlobalUniqueIdentifierを使用する。複合機102は、カードリーダ319により読み取り可能なICカードを検知すると、該ICカード内の個人認証情報を読み取り、該読み取った個人認証情報を認証要求として認証サーバ不図示に送信する。個人認証情報は、認証に用いられる情報であり、例えば該ICカードの製造番号でも良い。ユーザを一意に特定できる情報であればよく、特に限定するものではない。認証サーバは、複合機102より個人認証情報を受信すると、該個人認証情報の認証処理を認証サーバの外部記憶装置上に記憶されるICカード認証用テーブルに基づいて行い、認証結果を複合機102に返信する。なお、認証処理に成功した場合には、認証結果として、クライアントPC100のユーザ識別子を送信するものとする。なお、この認証サーバの機能を実現できればその機能を有する機器はいずれでも良く、例えば、アドレス管理サーバ103にあってもよい。複合機102上のパネルアプリケーション407は、認証に成功した旨の認証結果クライアントPC100のログインユーザ識別子を受信する。本実施形態では、ユーザ識別子としてユーザ名を使用する。もちろん、ユーザを識別する手段としてICカードの製造番号などでもかまわない。パネルアプリケーション407は、プリントサーバ101に印刷ジョブ一覧を要求するが、その前に印刷ジョブ一覧を取得するためにプリントサーバ101のIPアドレスを取得する前処理を実施する。パネルアプリケーション407は、アドレス管理サーバ103上のアドレス管理サービス405にユーザ名を送信する2-1。これにより、アドレス解決指示手段を実現する。アドレス管理サービス405は、受信したユーザ名に対応するプリントサーバ101のアドレスをアドレス管理DB406を参照して取得する2-2。そして、アドレス管理サービス405は、パネルアプリケーション407へプリントサーバ101のアドレスを返信する2-3。このアドレスを受信することにより、パネルアプリケーション407は、アドレス受信手段を実現する。パネルアプリケーション407は、アドレス管理サービス405からプリントサーバ101のアドレスを受信すると、取得したアドレスに基づいて、プリントサーバ101上のジョブ管理サービス403へ対し印刷ジョブ一覧を要求する2-4。これにより、パネルアプリケーション407は、一覧要求送信手段を実現する。また、この印刷ジョブ一覧要求を受信することで、ジョブ管理サービス403は、一覧要求受信手段を実現する。ジョブ管理サービス403は、ジョブ管理DB404を参照して2-5、該ユーザ名に対応する印刷ジョブ一覧を生成し、パネルアプリケーション407へ印刷ジョブ一覧を返信する2-6。これにより、一覧送信手段を実現する。また、この印刷ジョブ一覧を受信することで、パネルアプリケーション407は、一覧受信手段を実現する。パネルアプリケーション407は、ジョブ管理サービス403から印刷ジョブ一覧を受信すると、該印刷データ一覧を操作部308のUI上に表示する。そして、ユーザにより、印刷ジョブが選択され、印刷設定情報の変更指示、及び印刷指示がなされると、パネルアプリケーション407は、該選択された印刷ジョブの印刷設定情報をジョブ管理サービス403に送信する3-1。これにより設定変更送信手段を実現する。また、この印刷設定情報の変更を受信することにより、ジョブ管理サービス403は、設定変更受信手段を実現する。ジョブ管理サービス403は、パネルアプリケーション407から印刷設定情報を受信すると、ジョブ管理DB404を参照する3-2。そしてジョブ管理サービス403は、クライアントPCで設定された汎用的な印刷設定情報をパネルアプリケーション407から受信した印刷設定情報に変更し、パネルアプリケーション407へ変更した印刷設定情報を返信する3-3。これにより、設定送信手段を実現する。また、送信された印刷設定情報を受信することで、パネルアプリケーション407は設定受信手段を実現する。パネルアプリケーション407は送信した印刷設定情報と受信した印刷設定情報を比較し、印刷設定情報の変更が正しく機能したかどうか判定する。正しく機能しなかった場合は、パネルアプリケーション407は、操作部308のUI上にその旨のメッセージを表示する。そして、パネルアプリケーション407は、改めてジョブ管理サービス403に対し印刷要求出力指示を行う4-1。これにより印刷要求送信手段を実現する。また、この印刷要求を受信することにより、ジョブ管理サービス403は、印刷要求受信手段を実現する。ジョブ管理サービス403は、パネルアプリケーション407から印刷指示を受信すると、ジョブ管理DB404を参照して印刷に必要な情報を取得する4-2。そして、ジョブ管理サービス403は、該印刷指示に基づいて印刷処理を実行するために、ジョブ管理DB404から取得した情報に基づいて、EMFSPOOL形式の印刷ジョブを取得する。そして、その印刷ジョブに対するPDL変換処理等の指示をプリンタドライバへ行う4-3。ここでは、印刷要求を発行したプリンタのプリンタドライバに対してPDL変換処理が指示される。なお、本願ではプリントサーバに予め各デバイスのプリンタドライバがインストールされているものとして説明するが、それに限る必要はない。その後、プリンタドライバ408は、複合機102にPDLジョブを送信して複合機102で印刷する4-4。これにより、ジョブ送信手段を実現する。なお、ここでのPDLジョブとは、EMFSPOOL形式の印刷ジョブに対して、印刷可能なPDL形式に変換したジョブを指す。このPDL形式のジョブに変換することにより、複合機102にて出力が可能となる。最後に、ユーザにより、印刷ジョブの削除が指示されると、パネルアプリケーション407は、ジョブ管理サービス403に対し指定された印刷ジョブの削除を指示する5-1。ジョブ管理サービス403は、パネルアプリケーション407から印刷ジョブの削除要求を受信すると、まず、アドレス管理サービス405へ登録した印刷ジョブ識別子の削除を指示する5-2。アドレス管理サービス405は、ジョブ管理サービス403から印刷ジョブ識別子の登録解除要求を受信すると、アドレス管理DB406の該当するレコードを削除する5-3。次に、ジョブ管理サービス403は、ジョブ管理DBの該当するレコードを削除し5-4、EMFSPOOL形式の印刷ジョブファイルも削除する。以上、プリントシステム全体の流れを説明した。なお、図5は、図4のプリントシステムにおけるデータの詳細を表形式で表したものである。以降、フローチャートを使って詳細に説明するが、その際に図5を併用して説明を補足していく。[印刷指示動作]図1に示したクライアントPC100上で動作するクライアントアプリケーション400上での印刷指示について説明する。図6は、図1に示したクライアントPC100上で動作するクライアントアプリケーション400の印刷画面の一例を示す模式図であり、クライアントPC100のCPUの制御により表示器に表示される。プリンタ選択部610は、クライアントPC100に設定されている論理プリンタから、印刷を行う論理プリンタを選択するためのものである。このプリンタ選択部610において、どこでも印刷601は、本実施形態のプルプリント設定された仮想プリンタドライバに対応する論理プリンタとする。さらに、プリンタ選択部610におけるCxxxxix3250602,Cxxxxix5051603は、通常のプリンタドライバに対応する論理プリンタとする。ユーザは、プリンタ選択部610で、いずれかの論理プリンタを選択し、OKボタン605をポインティングデバイス不図示等で指示する。すると、クライアントアプリケーション400は、印刷のためのデータを、プリンタ選択部610で選択された論理プリンタに対応するプリンタドライバにグラフィックエンジンを介して送信する。以下、プリンタ選択部610でどこでも印刷601が選択されて印刷指示がなされた場合の仮想プリンタドライバの動作について説明する。[第1の制御処理]図7は、本発明のプリントシステムにおける第1の制御処理手順の一例を示すフローチャートであり、図4に示した1-1から1-6までの処理手順に対応する。なお、図4に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。SA700~SA702は、図4に示した仮想プリンタドライバ401による印刷ジョブ投入処理に対応する。これらフローチャートの処理は、図1に示したクライアントPC100のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。SB700~SB706は、図4に示したプリントプロセッサ402によるメタデータ生成送信処理及び印刷ジョブ転送処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。SC700~SC709は、図4に示したジョブ管理サービス403によるメタデータ登録処理及び印刷ジョブ保存処理対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。SD700~SD704は、図4に示したアドレス管理サービス405による印刷ジョブ識別子登録処理に対応する。これらフローチャートの処理は、図1に示したアドレス管理サーバ103のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。まず、クライアントPC100の仮想プリンタドライバ401による印刷ジョブ投入処理を説明する。SA700において、仮想プリンタドライバ401の処理が開始する。SA701において、仮想プリンタドライバ401は、図4のクライアントアプリケーション400から入力されたデータをEMFSPOOL形式の印刷ジョブとして出力する。これは図4の1-1と1-2に相当する。米国Microsoft社のWindows登録商標の場合、プリンタドライバへの入力はDDIDeviceDriverInterfaceと呼ばれるOSOperatingSystemによる関数呼び出しによって実施される。仮想プリンタドライバ401は、DDIの呼び出しと同時に渡されるパラメータを解釈して、EMFSPOOL形式の印刷ジョブを生成し、OSが管理するスプーラ不図示へ生成したジョブを出力する。一般に、プリンタドライバの役割は、出力対象のデバイスに依存した印刷ジョブを生成し出力することであるが、本実施形態においては、複合機102に依存しない中間形式の印刷ジョブを生成し、出力することが重要である。これによって、複合機102の構成が変更されたとしても、本発明のプリントシステムにおいて仮想プリンタドライバ401の構成に変更は生じない。つまり、複合機固有の機能をプルプリントシステムで使用することが容易に実現できる。SA702で処理を終了する。次にプリントサーバ101のプリントプロセッサ402によるメタデータ生成送信処理及び印刷ジョブ転送処理を説明する。米国Microsoft社のWindows登録商標の場合、OSがプリントプロセッサに対し印刷ジョブの処理を依頼する際に呼び出すPrintDocumentOnPrintProcessor関数の内部処理を示す。SB700において、プリントプロセッサ402は、プリントサーバ101上で処理を開始する。SB701において、プリントプロセッサ402は、仮想プリンタドライバ401から出力され、OSにて管理されている印刷ジョブの形式に関する情報を取得する。そして、プリントプロセッサ402は、OSのスプーラに出力されたジョブの種類がRAW形式かどうか判定する。RAW形式とは、プリンタドライバが出力した印刷ジョブを意味する。つまり、仮想プリンタドライバ401は、SA701にて印刷ジョブを出力しているので、ここではRAW形式と判定され、SB702へ進む。RAW形式と判定されない場合は、SB706へ進み、処理を終わる。SB702において、プリントプロセッサ402は、メタデータを生成する。メタデータは、図5の1-3行の送信データ列にある、GUIDGlobalUniqueIdentifier、ジョブ名、ユーザ名、DEVMODE、仮想プリンタドライバの論理プリンタ名である。具体的には、図13aのようなXML形式で表現される。JobInfo要素のGuid属性には、本発明のプリントシステムにおいて一意となる印刷ジョブの識別子を記述する。JobInfo要素のJobName属性には、図4の1-1の過程で指定されたジョブの名前を記述する。JobInfo要素のUserName属性には、図4の1-1の過程で印刷を実行したユーザの名前を記述する。JobInfo要素のPrintQueueName属性には、図4の1-1の過程で使用された論理プリンタの名前を記述する。DocumentSettings要素のDevmodeSnapshot属性には、図4の1-1の過程で指定された最初のページの印刷設定情報DEVMODEを記述する。なお、DEVMODEはバイナリ形式なので、XMLで記述するためにBase64と呼ばれる手法によりテキスト化している。SB703おいて、プリントプロセッサ402は、SB702で生成したメタデータをジョブ管理サービス403へ送信する。米国Microsoft社のWindows登録商標の場合、送信プロトコルとして名前付きパイプを使うと高効率である。しかも、後述するユーザトークン取得に関しても名前付きパイプの使用は都合が良い。SB704において、プリントプロセッサ402は、OSのスプーラからスプールデータを読み込む。ここでのスプールデータとは、仮想プリンタドライバ401により出力された印刷ジョブに対応する。そして、SB705において、プリントプロセッサ402は、読み込んだスプールデータをジョブ管理サービス403へ送信する。SB706で処理を終了する。次にジョブ管理サービス403によるメタデータ登録処理及び印刷ジョブ保存処理を説明する。SC700において、ジョブ管理サービス403は、プリントサーバ101上で処理を開始する。SC701において、ジョブ管理サービス403は、名前付きパイプのサーバとして機能することによって、プリントプロセッサ402によりB704で送信されたメタデータを図13aのようなXML形式で受信する。なお、プリントプロセッサ402とのコネクションを確立する際に、ジョブ管理サービス403は、名前付きパイプのクライアント即ちプリントプロセッサ402のユーザトークンを取得するSC702。ユーザトークンの使用方法については後述する。SC703において、ジョブ管理サービス403は、印刷ジョブを保存するファイルパスを決定する。SC704において、ジョブ管理サービス403は、プリントプロセッサ402によるSB705にて送信されたEMFSPOOL形式の印刷ジョブを受信する。SC705において、ジョブ管理サービス403は、受信したEMFSPOOL形式の印刷ジョブをSC703で決定したファイル名で保存し、SC706において現在の日付時刻を生成する。これをもって印刷ジョブ投入時刻とする。SC707において、ジョブ管理サービス403は、SC701で受信したメタデータとSC702で取得したユーザトークンとSC703で決定したファイル名とSC706で生成した日付時刻を新規レコードとして図4のジョブ管理DB404に登録する。SC708において、ジョブ管理サービス403は、アドレス管理サービス405へ印刷ジョブ識別子登録コマンドを送信する。このとき、ジョブ管理サービス403は、SC701で受信したメタデータに含まれるGUIDとユーザ名も送信する。SC709で処理を終了する。次にアドレス管理サービス405による印刷ジョブ識別子登録処理を説明する。SD700において、アドレス管理サービス405は、アドレス管理サーバ103上で処理を開始する。SD701において、アドレス管理サービス405は、ジョブ管理サービス403からSC708で送信されたGUIDとユーザ名を受信する。なお、ジョブ管理サービス403とのコネクションを確立する際に、アドレス管理サービス405は、プリントサーバ101のIPアドレスを取得するSD702。SD703において、アドレス管理サービス405は、SD701で受信したGUIDとユーザ名とSD702で取得したIPアドレスを図4のアドレス管理DB406に新規レコードとして登録する。SD704で処理を終了する。[第2の制御処理]図8は、本発明のプリントシステムにおける第2の制御処理手順の一例を示すフローチャートであり、図4に示した2-1から2-6までの処理手順に対応する。なお、図8に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。SE800~SE813は、図4に示したパネルアプリケーション407による印刷ジョブ一覧表示処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。SD800~SD807は、図4に示したアドレス管理サービス405によるアドレス解決処理に対応する。これらフローチャートの処理は、図1に示したアドレス管理サーバ103のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。SC800~SC810は、図4に示したジョブ管理サービス403による印刷ジョブ一覧生成処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。まず、パネルアプリケーション407による印刷ジョブ一覧表示処理を説明する。SE800において、パネルアプリケーション407の処理が開始する。SE801において、パネルアプリケーション407は、ログイン表示画面図15aを操作部308の表示部に表示するように制御する。そして、SE802において、パネルアプリケーション407は、ICカード等によるユーザ認証を行う。本実施形態において、ユーザ認証は重要なプロセスではないので、ここでは、認証カードの検出方法やICカードの識別ID取得方法や認証サーバによる認証処理といった詳細説明を省略する。SE803において、パネルアプリケーション407は、認証結果を判定する。SE803にて、認証エラーである旨の認証結果が得られた場合には、SE804において、パネルアプリケーション407は、エラー表示画面図15bを操作部308の表示部に表示するように制御する。パネルアプリケーション407は、該エラー表示画面にてOKボタンの押下を受け付けると、SE801に戻り、再度、ログイン表示画面を表示制御する。一方、SE803にて認証が成功したと判定した場合、SE805へ進む。SE805において、パネルアプリケーション407は、認証に成功したユーザ名を取得する。SE806において、パネルアプリケーション407は、アドレス管理サービス405にユーザ名を送信する。次に、SE807において、パネルアプリケーション407は、アドレス管理サービス405からプリントサーバ101のIPアドレスのリストを受信する。つまり、アドレス管理サービス405に対し、ユーザ名で対象となる印刷ジョブを絞り込み、その印刷ジョブを保持するジョブ管理サービスのIPアドレスを返信することを要求している。続くSE808からSE811までは、IPアドレスのリストからIPアドレスを列挙するループ処理である。SE808において、パネルアプリケーション407は、IPアドレスのリストからIPアドレスを取り出す。SE809において、パネルアプリケーション407は、IPアドレスを取り出せたか否かを判定する。IPアドレスを取り出せた場合、SE810へ進み、パネルアプリケーション407は、ジョブ管理サービス403に印刷ジョブ一覧要求コマンドを送信する。このときユーザ名も併せて送信する。SE811において、パネルアプリケーション407は、ジョブ管理サービス403から印刷ジョブ一覧を受信する。この印刷ジョブ一覧は、図5の2-6行の送信データ列にある、GUID、ジョブ名、部数、両面、カラーモード、ページ集約、日付時刻である。具体的には、図14のようなXML形式の印刷ジョブ一覧情報として表現される。JobList要素は、ジョブの数だけのJobInfo要素を保持する。JobInfo要素のGuid属性は図13aで説明したGuidと同じものである。JobInfo要素のJobName属性も図13aで説明したJobNameと同じものである。一方、DocumentSettings要素が保持する各種属性は図8のものと大きく異なる。CopyCount属性は、印刷部数を指定する。Duplexing属性は片面印刷を使用するか、両面印刷を使用するかを指定する。具体的には、OneSidedと記述すると、片面印刷を指定する。TwoSideLongEdgeと記述すると、両面長辺綴じを指定する。TwoSidedShortEdgeと記述すると、両面短辺綴じを指定する。OutputColor属性は、色に関する出力方法を指定する。Colorと記述すると、カラーを指定する。Monochromeと記述すると、モノクロを指定する。PagePerSheet属性は、用紙の片面に印刷するように選択できるページ数を指定する。DateTime属性は、ジョブ投入時刻を指定する。SE808からSE811において、パネルアプリケーション407はIPアドレスのリストからIPアドレスを取り出し終えると、SE812に進む。SE812にて、パネルアプリケーション407は、印刷ジョブ一覧表示画面図15cを操作部308の表示部に表示するように制御する。SE813で処理を終了する。次にアドレス管理サービス405によるアドレス解決処理を説明する。SD800において、アドレス管理サービス405の処理が開始する。SD801において、アドレス管理サービス405は、パネルアプリケーション407のSE806から送信されるユーザ名を受信する。SD802において、アドレス管理サービス405は、図4のアドレス管理DB406からSD801で得たユーザ名と一致するレコードを探索する。SD803において、アドレス管理サービス405は、探索したレコードから1つのレコードを取り出す。SD804において、アドレス管理サービス405は、レコードを取り出せたかどうか判定する。レコードが取り出せるときは、SD805へ進み、アドレス管理サービス405は、レコードからジョブ管理サービス403が動作するプリントサーバ101のIPアドレスを取り出す。SD803からSD805において、探索した全レコードからIPアドレスを取り出し終えると、SD806へ進み、アドレス管理サービス405は、パネルアプリケーション407へIPアドレスのリストを返信する。SD807で処理を終了する。次にジョブ管理サービス403による印刷ジョブ一覧生成処理を説明する。SC800において、ジョブ管理サービス403の処理が開始する。SC801において、ジョブ管理サービス403は、パネルアプリケーション407のSE810から印刷ジョブ一覧要求を受け付ける。このときジョブ管理サービス403は、ユーザ名も併せて受信する。SC802において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC801で得たユーザ名と一致するレコードを探索する。SC803において、ジョブ管理サービス403は、探索したレコードから1つのレコードを取り出す。SC804において、ジョブ管理サービス403は、レコードを取り出せるかどうかを判定する。レコードを取り出せるときは、SC805へ進み、ジョブ管理サービス403は、レコードからGUIDとジョブ名とDEVMODEと仮想プリンタドライバの論理プリンタ名とユーザトークンと日付時刻を取り出す。SC806において、ジョブ管理サービス403は、SC804で得たユーザトークンを使って、自身のスレッドを偽装する。スレッドを偽装している間、スレッドは図4のクライアントアプリケーション400で印刷を実行したユーザのセキュリティコンテキストで実行される。つまり、ここでの偽装するとは、ユーザのセキュリティコンテキストを用いて、その権限によりスレッドを実行することを意味する。また、ここで、スレッドとは、印刷設定情報の変更により生じるスレッドを意味する。SC807において、ジョブ管理サービス403は、SC805で得たDEVMODEからカラーモード、両面、ページ集約、部数、といった個々の情報を取り出す。DEVMODEは、プリンタドライバが管理するプリンタドライバ固有のデータ形式であるので、DEVMODEから個々の情報を取り出すためには、DEVMODEを生成したプリンタドライバに問い合わせる必要がある。SC807で仮想プリンタドライバの論理プリンタ名を取得済みなので、この論理プリンタ名に対応する論理プリンタを使ってDEVMODEから個々の情報を取り出すことになる。一般に、DEVMODEから個々の情報を取り出す手法としては、プリンタドライバにDEVMODEを操作する独自の拡張インタフェースを設けて、そのインタフェースを経由することが多い。近年は、プリントチケットと呼ばれる米国Microsoft社が規定したXMLによる印刷設定格納形式を利用する方法も利用ある。即ち、プリンタドライバがプリントチケットをサポートするならば、DEVMODEをプリントチケットに変換し、プリントチケットから個々の情報を取り出してもよい。SC808において、ジョブ管理サービス403は、スレッドの偽装を解除する。SC803からSC808において、探索した全レコードから個々の印刷設定情報を取り出し終えると、SC809へ進み、ジョブ管理サービス403は、印刷ジョブ一覧図14を生成する。そして、ジョブ管理サービス403は、パネルアプリケーション407へ印刷ジョブ一覧を返信する。SC810で処理を終了する。[第3の制御処理]図9は、本発明のプリントシステムにおける第3の制御処理手順の一例を示すフローチャートであり、図4に示した3-1から3-3までの処理手順に対応する。なお、図9に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。SE900~SE913は、図4に示したパネルアプリケーション407による印刷設定情報の変更確認、及び印刷指示処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。SC900~SC911は、図4に示したジョブ管理サービス403による印刷設定情報の変更処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。まず、パネルアプリケーション407による印刷設定情報の変更確認及び印刷指示処理を説明する。SE900において、パネルアプリケーション407の処理が開始する。なお、図8のSE812において、印刷ジョブ一覧表示画面図15cを操作部308の表示部に表示するように制御している。SE901において、パネルアプリケーション407は、印刷ジョブの選択とプリントするボタン1422の押下をユーザから受け付ける。すると、SE902において、パネルアプリケーション407は、印刷設定情報の変更画面図16aを操作部308の表示部に表示するように制御する。図16aの設定1431は、カラーモードの指定を意味し、モノクロとカラーのどちらかをチェックできる。図16aの設定1432は、両面片面の指定を意味し、片面、両面長辺綴じ、両面短辺綴じのうち1つの面付けを選択できる。図16aの設定1433は、ページ集約の指定を意味し、1in1、2in1、4in1、6in1、8in1、9in1、16in1のうち1つを選択できる。図16aの設定1434は、印刷部数の指定を意味し、1から9999までの値を指定できる。なお、図16aは、図15cにおいて文書名決算報告書の印刷ジョブの選択を受け付けて、プリントするボタン1422の押下を受け付けた場合の印刷設定情報の変更例を示している。SE903において、パネルアプリケーション407は、印刷設定情報の変更をユーザから受け付ける。ここでは、図16aの設定1432の両面片面指定を、片面から両面長辺綴じに変更したとする。SE904において、パネルアプリケーション407は、印刷設定情報が変更されたかどうか判定する。印刷設定情報が変更されていない場合は、以後の印刷設定情報の変更確認処理をスキップし、SE911へ進む。印刷設定情報が変更された場合は、SE905へ進む。SE905において、パネルアプリケーション407は、ジョブ管理サービス403へ印刷設定情報を送信する。この印刷設定情報は、図5の3-1行の送信データ列にある、GUID、部数、両面、カラーモード、ページ集約、複合機のモデル名である。具体的には、図13bのようなXML形式で表現される。JobInfo要素のGuid属性は図13aで説明したGuidと同じものである。JobInfo要素のDeviceModelName属性は、図1の複合機102のモデル名を記述する。DocumentSettings要素が保持する各種属性は図14で説明したものと同様である。ただし、SE903で片面を両面長辺綴じに変更しているので、Duplexing属性はTwoSideLongEdgeになる。SE906において、パネルアプリケーション407は、ジョブ管理サービス403から印刷設定情報の変更指示が反映された印刷設定情報を受信する。この印刷設定情報は、図5の3-3行の送信データ列にある、GUID、部数、両面、カラーモード、ページ集約である。具体的には、図13cのようなXML形式で表現される。内容は図13bとほぼ同じなので説明は省略する。SE907において、パネルアプリケーション407は、SE905で送信した印刷設定情報とSE906で受信した印刷設定情報を比較する。前に述べたようにSE905で送信した印刷設定情報ではDuplexing属性をTwoSideLongEdgeと指定した。しかし、SE906で受信した印刷設定情報のDuplexing属性はOneSidedとなったとする。このように送信設定と受信設定が一致しないことは原理的に大いにありうる。例えば、SE903で変更対象外の設定情報として用紙サイズがあるが、図4の1-1の段階で用紙サイズははがきになっていたとする。そして、印刷設定情報の禁則条件として、用紙がはがきの場合、両面片面指定は片面しか選択できないとする。かつ、禁則条件適用の優先度は両面片面指定よりも用紙サイズの指定の方が高いとする。となると、Duplexing属性は常にOneSidedにならざるを得ない。パネルアプリケーション407にプリンタドライバと同様の高度な禁則処理を実装すれば、図16a設定変更入力の時点で両面指定を変更できないようにすることも可能であるが、パネルアプリケーションの実装難易度が非常に高くなる。本実施形態のように、パネルアプリケーション407では印刷設定情報の禁則処理を行わず、印刷設定情報を変更したら都度、変更可能かどうかプリンタドライバに問い合わせる方が容易な上、汎用性も増す。SE905で送信した印刷設定情報とSE906で受信した印刷設定情報を比較した結果、差異が無い場合は、SE911へ進む。一方、差異がある場合は、SE908へ進み、パネルアプリケーション407は、エラー表示画面図16bを操作部308の表示部に表示するように制御する。ここでは、SE906で受信した印刷設定情報のDuplexing属性はOneSidedになっているので、図16bのエラー表示も片面から両面長辺綴じに変更できなかった旨の内容となっている。SE909において、パネルアプリケーション407は、印刷続行指示の入力を受け付ける。SE910において、パネルアプリケーション407は、OKボタン1442の押下を受け付けると、SE911へ進む。SE911の印刷指示処理については後述する。そしてSE912へ進む。一方、パネルアプリケーション407は、図16bのエラー表示画面でキャンセルボタン1441の押下を受け付けると、SE912へ進み、図16bのエラー表示画面及び図16aの印刷設定情報の変更画面を閉じる。SE913で処理を終了する。次にジョブ管理サービス403による印刷設定情報の変更処理を説明する。SC900において、ジョブ管理サービス403の処理を開始する。SC901において、ジョブ管理サービス403は、パネルアプリケーション407のSE905から図13bのようなXML形式で印刷設定情報を受信する。SC902において、ジョブ管理サービス403は、印刷設定情報の変更のための論理プリンタを作成する。詳細は図10にて後述する。SC903において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC901で得たGUIDと一致するレコードを探索する。SC904において、ジョブ管理サービス403は、探索して得られたレコードからDEVMODEとユーザトークンを取得する。SC905において、ジョブ管理サービス403は、SC904で得たユーザトークンを使って、自身のスレッドを偽装する。スレッドを偽装している間、スレッドは図4のクライアントアプリケーション400で印刷を実行したユーザのセキュリティコンテキストで実行される。SC906において、ジョブ管理サービス403は、SC901で得た個々の印刷設定情報をSC904で得たDEVMODEに適用する。DEVMODEは、プリンタドライバが管理するプリンタドライバ固有のデータ形式であるので、DEVMODEに個々の情報を適用するためには、DEVMODEを生成したプリンタドライバにDEVMODEの更新を依頼する必要がある。図9におけるSC902で論理プリンタを生成済みなので、この論理プリンタを使ってDEVMODEに対し個々の情報を適用することになる。一般に、DEVMODEに個々の情報を適用する手法としては、プリンタドライバにDEVMODEを操作する独自の拡張インタフェースを設けて、そのインタフェースを経由することが多い。近年は、プリントチケットと呼ばれる米国Microsoft社が規定したXMLによる印刷設定格納形式を利用する方法もある。即ち、プリンタドライバがプリントチケットをサポートするならば、DEVMODEをプリントチケットに変換し、プリントチケットに対し個々の情報を適用し、プリントチケットからDEVMODEに変換してもよい。SC907において、ジョブ管理サービス403は、ジョブ管理DB404に保存しているDEVMODEをSC906で変更したDEVMODEを使って更新する。SC908において、ジョブ管理サービス403は、SC906で更新したDEVMODEからカラーモード、両面、ページ集約、部数、といった個々の情報を取り出す。個々の情報の取り出し方は、図8のSC807と同じである。SC909において、ジョブ管理サービス403は、スレッドの偽装を解除する。SC910において、ジョブ管理サービス403は、パネルアプリケーション407へ図13cのようなXML形式で変更した印刷設定情報を返信する。SC911で処理を終了する。[論理プリンタ作成処理]図10は、図9のSC902で呼び出される論理プリンタ作成処理のフローチャートである。SC1000において、ジョブ管理サービス403の処理を開始する。SC1001において、ジョブ管理サービス403は、図1の複合機102のIPアドレスを取得する。この複合機102のIPアドレスは、パネルアプリケーション407とのデータ送受信のコネクションが確立した際に入手しておく。SC1002において、ジョブ管理サービス403は、図1の複合機102のモデル名をサポートしたプリンタドライバがプリントサーバ101上にインストールされているかどうか判定する。プリンタドライバがインストールされていない場合、SC1003へ進み、ジョブ管理サービス403は、図1の複合機102のモデル名をサポートしたプリンタドライバをプリントサーバ101上にインストールする。これにより、印刷ジョブを当該モデル名の複合機が出力可能な形式に変換可能となる。そして、SC1004へ進む。一方、SC1002でインストール済みと判定された場合は、SC1004へ進む。なお、この段階でインストール済みとなったプリンタドライバは、図4のプリンタドライバ408に相当する。SC1004において、ジョブ管理サービス403は、インストール済みのプリンタドライバから構成され、かつ、SC1001で得たIPアドレスを出力ポートとして構成される論理プリンタがプリントサーバ101上に存在するかどうか判定する。存在しない場合、SC1005へ進む。SC1005にて、ジョブ管理サービス403は、インストール済みのプリンタドライバを使ってSC1001で得たIPアドレスを出力ポートとする論理プリンタを作成する。そして、SC1006へ進む。一方、SC1004で存在すると判定された場合は、SC1606へ進む。SC1006で処理を終了する。[第4の制御処理]図11は、本発明のプリントシステムにおける第4の制御処理手順の一例を示すフローチャートであり、図9のSE911で呼び出される印刷指示処理のフローチャートでもある。図4に示した4-1から4-4までの処理手順に対応する。なお、図11に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。SE1100~SE1107は、図4に示したパネルアプリケーション407による印刷指示処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。SC1100~SC1109は、図4に示したジョブ管理サービス403による印刷処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。まず、パネルアプリケーション407による印刷指示処理を説明する。SE1100において、パネルアプリケーション407の処理を開始する。SE1101において、パネルアプリケーション407は、ジョブ管理サービス403へ印刷指示要求コマンドを送信する。このとき、パネルアプリケーション407は、選択済みの印刷ジョブのGUIDと複合機102のモデル名も併せて送信する。SE1102において、パネルアプリケーション407は、ジョブ管理サービス403から送信された印刷実行結果成否情報を受信する。SE1103において、パネルアプリケーション407は、受信した情報に基づき、印刷実行に成功したかどうかを判定する。失敗した場合は、SE1104へ進み、パネルアプリケーション407は、エラー表示画面図16cを操作部308の表示部に表示するように制御する。そしてSE1107へ進む。一方、SE1103において、印刷実行に成功したと判定した場合は、SE1105へ進む。SE1105において、パネルアプリケーション407は、図16aのプリント後文書消去チェックボックス1435がチェックされていたかどうかを判定する。プリント後に削除する指示があった場合、SE1106へ進み、パネルアプリケーション407は、印刷ジョブを削除する。詳細は図12を用いて後述する。そしてSE1107に進む。SE1107で処理を終了する。次にジョブ管理サービス403による印刷処理を説明する。SC1100において、ジョブ管理サービス403の処理を開始する。SC1101において、ジョブ管理サービス403は、パネルアプリケーション407のSE1101から印刷指示コマンドを受信する。このとき、ジョブ管理サービス403は、印刷対象の印刷ジョブのGUIDと複合機102のモデル名も併せて受信する。SC1102において、ジョブ管理サービス403は、印刷実行変更のための論理プリンタを作成する。処理内容は、図9のSC902と同じである。詳細は図10で述べた通りである。SC1103において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1101で得たGUIDと一致するレコードを探索する。SC1104において、ジョブ管理サービス403は、探索して得られたレコードからEMFSPOOLのファイル名とDEVMODEとユーザトークンとを取得する。なお、ここで取得されるDEVMODEは、図16aを使って設定された印刷設定情報である。SC1105において、ジョブ管理サービス403は、SC1104で得たユーザトークンを使って、自身のスレッドを偽装する。スレッドを偽装している間、スレッドは図4のクライアントアプリケーション400で印刷を実行したユーザのセキュリティコンテキストで実行される。SC1106において、ジョブ管理サービス403は、SC1102で得た論理プリンタに対し、SC1104で得たEMFSPOOLとDEVMODEをレンダリングして印刷処理を実行する。そして、ジョブ管理サービス403は、論理プリンタを構成するプリンタドライバはPDLを生成し、複合機102にPDLを送信する。SC1107において、ジョブ管理サービス403は、スレッドの偽装を解除する。SC1108において、ジョブ管理サービス403は、パネルアプリケーション407へ印刷実行結果成否を返信する。SC1109で処理を終了する。[第5の制御処理]図12は、本発明のプリントシステムにおける第5の制御処理手順の一例を示すフローチャートであり、図4に示した5-1から5-4までの処理手順に対応する。なお、図12に示されたフローチャートにおいて、実線矢印は処理の流れを示し、破線矢印は装置間のデータの送受信を示している。SE1200~SE1203は、図4に示したパネルアプリケーション407による印刷ジョブ削除指示処理に対応する。これらフローチャートの処理は、図1に示した複合機102のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。SC1200~SC1207は、図4に示したジョブ管理サービス403処理による印刷ジョブ削除処理に対応する。これらフローチャートの処理は、図1に示したプリントサーバ101のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。SD1200~SD1204は、図4に示したアドレス管理サービス405による印刷ジョブ識別子登録解除処理に対応する。これらフローチャートの処理は、図1に示したアドレス管理サーバ103のCPUが外部メモリに格納されたプログラムをRAM上にロードして実行することにより実現される。まず、パネルアプリケーション407による印刷ジョブ削除指示処理を説明する。SE1200において、パネルアプリケーション407の処理を開始する。なお、前述した通りSE1200の呼び出しは、図11のSE1106であるが、もう一つ、図14cの消去ボタン1421の押下をユーザから受け付けた場合も同様に当ステップを呼び出す。SE1201において、パネルアプリケーション407は、削除対象の印刷ジョブのGUIDを取得する。SE1202において、パネルアプリケーション407は、ジョブ管理サービス403へ印刷ジョブ削除指示コマンドを送信する。このとき、パネルアプリケーション407は、SE1201で取得したGUIDも併せて送信する。SE1203で処理を終了する。次にジョブ管理サービス403による印刷ジョブ削除処理を説明する。SC1200において、ジョブ管理サービス403の処理を開始する。SC1201において、ジョブ管理サービス403は、パネルアプリケーション407のSE1202から印刷ジョブ削除指示コマンドを受信する。このとき、ジョブ管理サービス403は、削除対象の印刷ジョブのGUIDも併せて受信する。SC1202において、ジョブ管理サービス403は、アドレス管理サービス405へ印刷ジョブ識別子登録解除コマンドを送信する。このとき、ジョブ管理サービス403は、SC1201で得たGUIDも併せて送信する。SC1203において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1201で得たGUIDと一致するレコードを探索する。SC1204において、ジョブ管理サービス403は、探索して得られたレコードからEMFSPOOLのファイル名を取得する。SC1205において、ジョブ管理サービス403は、取得したファイル名に基づいて、EMFSPOOLのファイルを削除する。SC1206において、ジョブ管理サービス403は、図4のジョブ管理DB404からSC1203で得たレコードを削除する。SC1207で処理を終了する。次にアドレス管理サービス405による印刷ジョブ識別子登録解除処理を説明する。SD1200において、アドレス管理サービス405の処理を開始する。SD1201において、アドレス管理サービス405は、ジョブ管理サービス403のSC1202から印刷ジョブ識別子登録解除コマンドを受信する。このとき、アドレス管理サービス405は、対象の印刷ジョブ識別子であるGUIDも併せて受信する。SD1202において、アドレス管理サービス405は、図4のアドレス管理DB406からSD1201で得たGUIDと一致するレコードを探索する。SD1203において、アドレス管理サービス405は、図4のジョブ管理DB404からSD1202で得たレコードを削除する。SD1204で処理を終了する。[第6の制御処理]図9のSE902において、印刷設定変更画面図16aを操作部308の表示部に表示しているが、印刷時にユーザが設定した印刷設定にエラーがあった場合の制御処理について以下に説明する。なお、ユーザが設定した印刷設定とは、図4に示した仮想プリンタドライバ401がユーザからの印刷指示を受けた際に仮想プリンタドライバ401が提供するUIを使用してユーザが設定した印刷設定のことを指す。ユーザは、クライアントPC100で印刷を指示した後、実際に出力する複合機102のところに行って、複合機102に付属しているパネルを操作する。そして、ユーザは、先ほどの印刷データを指定して出力する。この際に実際に出力するデバイス複合機102でサポートしていない機能を印刷設定として指定していた場合、印刷設定に矛盾が生じる。具体的な例として、出力するデバイスがサポートしている用紙種類が普通紙、および色紙である場合に、印刷設定に再生紙が指定されてきた場合、この用紙種類のままでは印刷できないため、印刷設定に矛盾が発生する。ここでは、この矛盾が発生した場合をエラーと呼び、このエラーを解消するための制御処理を以下に説明する。まず、複合機102のパネルアプリケーション407から印刷指示を受信したプリントサーバ101のジョブ管理サービス403は、指定されたメタデータと印刷ジョブから印刷設定を取り出す。そして、ジョブ管理サービス403は、出力するデバイスに対応したプリンタドライバ408に印刷設定を渡す。印刷設定を受け取ったプリンタドライバ408は、受け取った印刷設定に矛盾が発生している印刷項目があれば、その項目および、その項目に対して印刷可能な設定値リストの印刷エラーデータを作成する。そして、プリンタドライバ408は、作成した印刷エラーデータを呼び出し元のジョブ管理サービス403に返す。なお、プリンタドライバは、実際に出力するデバイスのデバイスオプションと同期が取れていない可能性があるので、この時にデバイスと通信を行い、最新のデバイスオプション情報を取得してから印刷エラーデータを作成してもよい。また、プリンタドライバ408が上記処理をサポートしていない場合、ジョブ管理サービス403がWindowsAPIのような汎用的なI/Fを使用して印刷エラーデータを作成してもよい。具体的な印刷エラーデータの例を図17に示す。ただし、図17は印刷エラーデータの記述方法を限定するものではなく、エラーが発生している印刷項目、設定値、及びエラーを回避するための選択リストが記述されていればよい。ジョブ管理サービス403は、図17に示したような印刷エラーデータをプリンタドライバ408から受信した後、そのデータをパネルアプリケーション407に送信する。パネルアプリケーション407は、印刷設定変更画面図16aを作成する際に先ほど受信した印刷エラーデータを付加して複合機102の操作部308が表示するように制御する。図18は、操作部308が表示する印刷エラーデータを付加した印刷設定変更画面の例を示している。ここで図18のメッセージ1801は、ユーザが予め設定した印刷設定にエラーが発生している印刷項目があることをユーザに通知するためのエラーメッセージを示している。さらに図18の設定1802は、実際にエラーが発生している印刷項目用紙種類と印刷が不可能な設定値再生紙、及びそれを回避することができる設定値のリスト普通紙を表示している。設定1802にて提示される普通紙の欄は設定値が選択可能になっており、図17に示した印刷エラーデータの例では、普通紙、色紙、指定しないの3つの値のうちのいずれかが選択可能となっている。ここで、指定しないの設定値は、印刷設定の設定値再生紙を無効にすることを意味する設定値とする。なお、図18に示した印刷設定変更画面の各構成要素である1431~1437の表示方法、並びに制御処理については[第3の制御処理]で説明しているため、ここでは説明を省略する。なお、図18の画面構成は一例であり、配置や表示形式などをこれに限定するものではない。以上、本発明により、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、印刷設定情報の変更を指示することが可能となる。しかも、印刷装置上で動作する印刷設定情報の変更を指示するプログラムは、クライアントPCではなく、サーバ上にある印刷装置に適したプリンタドライバに印刷設定情報の変更を依頼するため、適切な印刷設定情報の変更が可能になる。<その他の実施形態>また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"