(57)【特許請求の範囲】
【請求項１】
クライアント端末とプリントサーバとの通信を仲介する該クライアント端末で動作する仲介モジュールによる制御方法であって、
前記クライアント端末のスプーラシステムからリクエストを受け付けた場合に、該リクエストの変換処理を実行する変換工程と、
前記変換処理の後のリクエストを、前記プリントサーバに対応する宛先に送信する送信工程と、
前記送信工程でのリクエストの送信の後に、プロキシサーバからプロキシ認証が必要であることを示す第１の認証エラーを受信した場合に、前記スプーラシステムに対して、前記プロキシ認証とは異なる認証が必要であることを示す第２の認証エラーを通知する通知工程と、を有し、
前記変換工程では、前記第２の認証エラーに対する応答として、前記スプーラシステムから、プロキシ認証に利用できる認証情報を含むリクエストを受け付けた場合に、該リクエストの変換処理として、プロキシ認証のための情報としてリクエストに対して前記認証情報が付与され、
前記送信工程では、プロキシ認証のための情報として前記認証情報が付与されたリクエストが、前記プリントサーバに対応する宛先に送信されることを特徴とする制御方法。
【請求項２】
前記変換処理では、前記スプーラシステムからのＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）に従うリクエストが、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に従うリクエストに変換されることを特徴とする請求項１に記載の制御方法。
【請求項３】
前記変換工程では、ＨＴＴＰに従うリクエストのヘッダにおけるプロキシ認証のための情報として、前記認証情報が付与されることを特徴とする請求項２に記載の制御方法。
【請求項４】
ＨＴＴＰに従うリクエストのヘッダでは、プロキシ認証のための情報と、前記第２の認証エラーに対応する情報とがそれぞれ設定でき、
前記変換工程では、前記プロキシサーバから第１の認証エラーを受信した場合における前記プリントサーバに対応する宛先に送信すべきリクエストのための前記変換処理として、前記第２の認証エラーに対応する情報としては前記認証情報が付与されずに、プロキシ認証に用いる情報として前記認証情報が付与されることを特徴とする請求項１乃至３のいずれか１項に記載の制御方法。
【請求項５】
前記スプーラシステムからのリクエストは、前記プリントサーバに対する、プリンタ情報の取得要求、及び印刷指示のための要求の少なくともいずれかであることを特徴とする請求項１乃至４のいずれか１項に記載の制御方法。
【請求項６】
前記仲介モジュールは、前記プリントサーバとの通信において、通信の帯域制限制御、印刷データの圧縮送信、及びリカバリの少なくともいずれかの処理を行うことを特徴とする請求項１乃至５のいずれか１項に記載の制御方法。
【請求項７】
請求項１乃至６のいずれか１項に記載の工程をコンピュータに実行させるためのプログラム。
【請求項８】
プリントサーバとの通信を仲介する仲介モジュールが動作するクライアント端末であって、
前記クライアント端末のスプーラシステムからリクエストを受け付けた場合に、該リクエストの変換処理を実行する変換手段と、
前記変換処理の後のリクエストを、前記プリントサーバに対応する宛先に送信する送信手段と、
前記送信手段によるリクエストの送信の後に、プロキシサーバからプロキシ認証が必要であることを示す第１の認証エラーを受信した場合に、前記スプーラシステムに対して、前記プロキシ認証とは異なる認証が必要であることを示す第２の認証エラーを通知する通知手段と、を前記仲介モジュールの機能として有し、
前記変換手段は、前記第２の認証エラーに対する応答として、前記スプーラシステムから、プロキシ認証に利用できる認証情報を含むリクエストを受け付けた場合に、該リクエストの変換処理として、プロキシ認証のための情報としてリクエストに対して前記認証情報を付与し、
前記送信手段は、プロキシ認証のための情報として前記認証情報が付与されたリクエストを、前記プリントサーバに対応する宛先に送信することを特徴とするクライアント端末。
【請求項９】
前記変換手段は、前記変換処理として、前記スプーラシステムからのＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）に従うリクエストを、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に従うリクエストに変換することを特徴とする請求項８に記載のクライアント端末。
【請求項１０】
前記変換手段は、ＨＴＴＰに従うリクエストのヘッダにおけるプロキシ認証のための情報として、前記認証情報を付与することを特徴とする請求項９に記載のクライアント端末。
【請求項１１】
ＨＴＴＰに従うリクエストのヘッダでは、プロキシ認証に用いる情報と、前記第２の認証エラーに対応する情報とがそれぞれ設定でき、
前記変換手段は、前記プロキシサーバから第１の認証エラーを受信した場合における前記プリントサーバに対応する宛先に送信すべきリクエストのための前記変換処理として、前記第２の認証エラーに対応する情報としては前記認証情報を付与せずに、プロキシ認証に用いる情報として前記認証情報を付与することを特徴とする請求項８乃至１０のいずれか１項に記載のクライアント端末。
【請求項１２】
前記スプーラシステムからのリクエストは、前記プリントサーバに対する、プリンタ情報の取得要求、及び印刷指示のための要求の少なくともいずれかであることを特徴とする請求項８乃至１１のいずれか１項に記載のクライアント端末。
【請求項１３】
前記仲介モジュールは、前記プリントサーバとの通信において、通信の帯域制限制御、印刷データの圧縮送信、及びリカバリの少なくともいずれかの処理を行うことを特徴とする請求項８乃至１２のいずれか１項に記載のクライアント端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットプリンティングプロトコルなど、オペレーションシステムが標準でサポートしているプロトコルのポートを利用した際の通信における認証技術に関する。
【背景技術】
【０００２】
ＯＳ（オペレーションシステム）が動作する情報処理装置（クライアント端末など）において印刷処理を実行する際には、該ＯＳにあらかじめ組み込まれている標準ポートモニタを指定して印刷指示が行える。該標準ポートモニタによって、プリンタドライバが生成した印刷データが、クライアント端末から印刷装置に送信される。
【０００３】
クライアント端末及び印刷装置に加え、プリントサーバを含むプリントシステムにおいても、ユーザは、標準ポートモニタを指定してプリントサーバ上に管理される仮想プリンタに対して印刷指示を行うことでプリントサーバへ印刷データの入稿ができる。プリントサーバの仮想プリンタに対して入稿された印刷データは、その後、仮想プリンタの機能により、印刷装置に送信され、印刷される。
【０００４】
前述のプリントシステムにおいて、クライアント端末とプリントサーバとの間にプロキシサーバが存在する場合がある。たとえば、Ｗｉｎｄｏｗｓ（登録商標）システムの標準ポートを利用したＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔ  Ｐｒｏｔｏｃｏｌ）での印刷は、ＯＳのプロキシ設定にしたがって動作している。
【０００５】
クライアント端末がプリントサーバに対してＩＰＰを利用して印刷データを入稿する際には、まず、クライアント端末でポートを管理するスプーラシステムが、プロキシサーバに対してリクエストが送信されることになる。スプーラシステムとプロキシサーバとの通信においては、プロキシ認証が必要となる。この認証に失敗した場合には、プロキシサーバからスプーラシステムに対してプロキシ認証エラーが通知される。
【０００６】
従来技術としての特許文献１によれば、アプリケーションとプロキシサーバとの間で認証エラーが発生した場合には、ユーザに手動で認証情報を入力させる方法が提案されている。
【０００７】
ここで、ＯＳの仕様では、スプーラシステムが自らプロキシサーバに対してリクエストを送った場合には、スプーラシステムが、プロキシサーバからのプロキシ認証エラーが発生した旨の通知に対して、自ら管理している認証情報を送信する。これによって、プロキシサーバに対するプロキシ認証が行われることになる。
【０００８】
なお、前述したＯＳに組み込まれている標準ポートモニタには印刷データを送信する単純な機能しかない。例えば、データ送信時の一時的な通信断等で、リトライなどすることなくエラーとなってしまうケースがある。つまり、標準ポートモニタは、印刷データ転送で求められる通信制御やリトライ処理等についての機能が十分ではない。そこで、印刷装置のベンダは、このような通信制御やリトライ処理等の機能を実装したカスタムポートモニタを、標準ポートモニタに代わって利用できるよう用意している。
【０００９】
一方で、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）８のような新しいＯＳの環境では、新しいプリントシステムが実現されており、プリンタベンダが用意するようなカスタムポートモニタが該システムに登録できず、標準ポートモニタのみを利用する仕組みとなっている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１２−８４０８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述の新しいＯＳの環境下でも、前述した通信制御やリトライ処理等を実現するために、カスタムポートモニタに代えて、クライアント端末の標準ポートモニタとプリントサーバとの間に通信を仲介するモジュールを配備することが考えられる。そして、この仲介モジュールが必要な通信制御やリトライ処理等を実現しつつ、印刷データの転送を行うことになる。
【００１２】
しかしながら、仲介モジュールを利用した場合であっても、この仲介モジュールとプリントサーバとの間にプロキシサーバが存在するような場合には、プロキシ認証が行えないという問題がある。
【００１３】
前述した仲介モジュールを経由した印刷では、ポートを管理するスプーラシステムが仲介モジュールに対応するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）に対してリクエストを送ることになる。その後、仲介モジュールはプロキシサーバを経由してプリントサーバにリクエストを転送することになる。この際に、仲介モジュールとプロキシサーバとの間でプロキシ認証エラーが発生したとする。当然、仲介モジュールは、スプーラシステムに対してプロキシ認証エラーを通知する。しかしながら、ＯＳの仕様でスプーラシステムは、自らプロキシサーバに対してリクエストを送ってはいないので、このようなプロキシ認証エラーの通知に対しては、認証情報の送信を行わないようになっている。結果として、ＩＰＰを利用した仲介モジュール経由の印刷は、プロキシ認証に失敗してしまうことになる。
【００１４】
ここで、特許文献１に開示されているように、プロキシ認証エラーに際して、仲介モジュールでユーザに認証情報を入力させる仕組みを用意することも考えられる。しかしながら、この場合には、ユーザがあらかじめＯＳに対して認証情報を設定しているにもかかわらず、仲介モジュール経由の印刷に際しては、その度に手動で認証情報を再入力する手間が増えてしまう。
【００１５】
また、バッチ処理などで、クライアント端末からプリントサーバに印刷ジョブを投入するような無人のプリントシステムを実現することができない。
【課題を解決するための手段】
【００１６】
上述の課題を解決するために、本発明に係るクライアント端末とプリントサーバとの通信を仲介する該クライアント端末で動作する仲介モジュールによる制御方法は、前記クライアント端末のスプーラシステムからリクエストを受け付けた場合に、該リクエストの変換処理を実行する変換工程と、前記変換処理の後のリクエストを、前記プリントサーバに対応する宛先に送信する送信工程と、前記送信工程でのリクエストの送信の後に、プロキシサーバからプロキシ認証が必要であることを示す第１の認証エラーを受信した場合に、前記スプーラシステムに対して、前記プロキシ認証とは異なる認証が必要であることを示す第２の認証エラーを通知する通知工程と、を有し、前記変換工程では、前記第２の認証エラーに対する応答として、前記スプーラシステムから、プロキシ認証に利用できる認証情報を含むリクエストを受け付けた場合に、該リクエストの変換処理として、プロキシ認証のための情報としてリクエストに対して前記認証情報が付与され、前記送信工程では、プロキシ認証のための情報として前記認証情報が付与されたリクエストが、前記プリントサーバに対応する宛先に送信されることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、上記した仲介モジュールを利用した通信においても、認証エラー発生時に人手なしに、プロキシ認証が行えるようになる。
【図面の簡単な説明】
【００１８】
【図１】本発明におけるネットワークシステムの構成例を示すブロック図
【図２】本発明における情報処理装置のハードウェアの構成例を示す図
【図３】本発明におけるクライアント端末、プリントサーバのモジュール構成例を示す図
【図４】プリントプロキシ、及び印刷管理モジュールの詳細を説明するための図
【図５】本発明におけるプリントシステム内で管理される情報の例を示す図
【図６】実施例１におけるプリントシステムでの印刷データの入稿までのシーケンスを示す図
【図７】実施例１におけるプリントシステムでのプロキシ認証に係るシーケンスを示す図
【図８】実施例２におけるプリントプロキシ３０５の設定画面の一例を示す図
【図９】実施例２におけるプリントシステムでのプロキシ認証に係るシーケンスを示す図
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態について図面を用いて説明する。
【００２０】
（実施例１）
図１は、本発明におけるネットワークシステムの構成例を示すブロック図である。
【００２１】
図１において、クライアント端末１０１、印刷装置１０２、プロキシサーバ１０３、プリントサーバ１０４は、ネットワーク１０５〜１０６を介して接続されている。なお、クライアント端末１０１、印刷装置１０２は、複数台接続されていても、本発明を適用することができる。
【００２２】
ネットワーク１０５〜１０６は、データの送受信が可能な、いわゆる通信ネットワークで、例えば、インターネット等のＬＡＮ、ＷＡＮ等や、その他のあらゆるネットワークの組み合わせにより実現されるものでよい。また、クライアント端末１０１と、プロキシサーバ１０３間、プロキシサーバ１０３、プリントサーバ１０４間、プリントサーバ１０４と印刷装置１０２間の通信手段は夫々異なっていてもよい。また、本実施例に含まれる装置間の通信はイーサネット（登録商標）ケーブルを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
【００２３】
本発明では、クライアント端末１０１がプリントサーバ１０４へ通信する際は、プロキシサーバ１０３を経由して通信することを想定している。クライアント端末１０１では、対象の文書を参照して印刷実行可能な、ビューワやエディタ機能を備えたアプリケーション等を実行する環境が内蔵されている。クライアント端末１０１は、例えばデスクトップパソコン、ノートパソコン、スマートフォンやタブレットＰＣ等から成る。
【００２４】
プロキシサーバ１０３は、ネットワーク１０５上の端末からネットワーク１０６上の端末への通信を代行する。また、プロキシサーバ１０３は不図示の認証サーバと連携して、ネットワーク１０５とネットワーク１０６の間の通信制御を行う。プリントサーバ１０４は、外部インターフェースを有しており、クライアント端末１０１など、ネットワークを介した文書データの入稿や印刷指示の要求を受け付ける。また、プリントサーバ１０４は、プリントサーバ１０４は、複数台存在してもよく、その場合は、ロードバランサより仮想的にひとつのサーバとして振る舞うような冗長性を持たせた構成を取ることもできる。また、プリントサーバ１０４は、印刷装置１０２の監視や管理、印刷ジョブの制御や監視、印刷装置１０２への印刷ジョブの転送を行う。
【００２５】
図２は、クライアント端末１０１、プロキシサーバ１０３、プリントサーバ１０４などの情報処理装置のハードウェアの構成例を示す図である。
【００２６】
図２において、２０２は装置全体の制御を行うＣＰＵであり、ハードディスク（ＨＤＤ）２０５に格納されているアプリケーションプログラム、ＯＳ等を実行し、ＲＡＭ２０３にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。２０４は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、印刷処理の際に使用する印刷データ、プリンタ情報等の各種データを記憶する。２０３は一時記憶手段としてのＲＡＭであり、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤＤ）である。記憶手段２０５では、文書エディタ等のアプリケーションプログラム、プリントサーバプログラム、ＯＳ、各種ドライバ、プリントプロキシを実現するためのプログラム、関連プログラム等が格納されている。後述される実施例は、ここに格納された各プログラムが実行されることにより実現されることになる。２０６は表示手段であるディスプレイであり、キーボード２０７から入力したコマンドや、アプリケーションの出力画面、プリンタのステータス等を表示したりするものである。２０８は外部装置Ｉ／Ｆであり、印刷装置、ＵＳＢ機器、周辺機器を接続するためのＩ／Ｆである。２０７は指示入力手段であるキーボードである。２０１はシステムバスであり、クライアント端末、プリントサーバ内におけるデータの流れを司るものである。２０９はネットワークインタフェースカード（ＮＩＣ）であり、該インターフェース２０９、ネットワーク１０５〜１０６を介して外部装置とのデータのやり取りを行う。なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤＤなどで変更することも可能である。
【００２７】
図３は、本発明におけるクライアント端末、プリントサーバのモジュール構成例を示す図である。
【００２８】
クライアント端末１０１は、ＧＤＩアプリケーション３０１、スプーラ３０２、１以上のプリンタドライバ３０３、標準ポートモニタ３０４、プリントプロキシ３０５といった構成を有する。
【００２９】
ＧＤＩアプリケーション３０１は、印刷対象の文書ファイルのグラフィカルな描画を、ディスプレイやスプーラ３０２等に出力可能なアプリケーションである。本実施例では、ＯＳのＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）による印刷機能を備えたエディタアプリケーション等を想定しているが、これに限らず、スプーラ３０２に描画データを出力可能なその他のアプリケーションでもよい。ＧＤＩアプリケーション３０１は、ユーザの印刷指示に従って、予めＯＳに登録されたプリンタオブジェクトに印刷指示を行う。ここで、プリンタオブジェクトは、スプーラ３０２で管理され、後述のプリンタ情報５１０を含む。
【００３０】
スプーラ３０２は、ＯＳのスプーラシステムを構成する。スプーラ３０２は、プリンタオブジェクトに係る情報であるプリンタ情報５１０の管理と、印刷データのスプールを行う。スプーラ３０２は、ＧＤＩアプリケーション３０１からの印刷指示に応じて、プリンタオブジェクトに関連付けられたプリンタドライバ３０３に印刷データの生成指示を行う。また、スプーラ３０２は、プリントプロキシ３０５を介して、プリントサーバ１０４上の仮想プリンタ情報５３０の取得や、プリンタドライバ３０３から受け取った印刷データのスプールを行う。さらに、スプーラ３０２は、スプールした印刷データを、標準ポートモニタ３０４が制御する所定の印刷ポートに転送する。
【００３１】
プリンタドライバ３０３は、スプーラ３０２からの要求に応じて、印刷装置１０２で解釈可能なＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等の印刷データを生成し、生成した印刷データをスプーラ３０２に送る。ここでプリンタドライバ３０３が生成する印刷データには、文書名、印刷設定等の情報を含めることができる。
【００３２】
標準ポートモニタ３０４は、ＯＳに標準で搭載されるポートモニタである。標準ポートモニタ３０４は、スプーラ３０２からの出力である印刷ポートを制御し、ＴＣＰ／ＩＰ等の印刷ポートの種類に従い、プリントプロキシ３０５に対し、印刷データの出力処理や、仮想プリンタ情報５３０の取得要求を行う。また、標準ポートモニタ３０４は、一般的なプリントプロトコルに対応しており、本実施例では、ＴＣＰ／ＩＰポートを用いた、ＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）でプリントプロキシ３０５との通信を行うものとする。標準ポートモニタ３０４とプリントプロキシ３０５間の通信プロトコルについては、ＩＰＰに限らず、後述する処理フローが実現できるプロトコルであればよい。
【００３３】
プリントプロキシ３０５は、標準ポートモニタ３０４を介したスプーラ３０２からの要求に従って、プリントサーバ１０４上の印刷管理モジュール３０６と通信を行う。つまり、標準ポートモニタ３０４とプリントサーバ１０４との間の仲介モジュールとして動作する。そして、クライアント端末１０１とプリントサーバ１０４間で印刷データや仮想プリンタ情報５３０の受け渡しを行う。さらに、プリントプロキシ３０５は、後述の転送設定情報５２０に従い、プリントサーバ１０４との間での通信の帯域制限制御や、印刷データの圧縮送信、リカバリ等の処理を行う。
【００３４】
プリントサーバ１０４は、印刷管理モジュール３０６を有する。印刷管理モジュール３０６は、後述の仮想プリンタ情報５３０や印刷ジョブ情報５４０を管理し、クライアント端末１０１のプリントプロキシ３０５の要求に応じて、応答を返す。また、印刷管理モジュール３０６は、仮想プリンタ情報５３０に保持している仮想プリンタに関連付けられた、ひとつ以上の印刷装置１０２と接続している。印刷管理モジュール３０６は、仮想プリンタへの印刷指示の要求等に従い、関連づけられた印刷装置１０２への印刷データの送信や、印刷装置１０２のステータス監視等を行う機能を持つ。
【００３５】
次に、図４を用いて、本発明の特徴となるプリントプロキシ３０５及び印刷管理モジュール３０６の詳細を説明する。なお、プリントプロキシ３０５及び印刷管理モジュール３０６は、クライアント端末、プリントサーバの記憶装置（ＨＤ２０５など）に記憶されている関連プログラムが、ＲＡＭ２０３にロードされＣＰＵ２０２によって実行されることで実現される。
【００３６】
プリントプロキシ３０５は、データ送受信部４０１、メッセージ変換部４０２、及びＰＤＬデータ解析部４０３を有する。
【００３７】
データ送受信部４０１は、プリントプロキシ３０５の外部の構成との通信を司る。データ送受信部４０１は、ＯＳの標準ポートモニタ３０４からＩＰＰでの要求メッセージを受けると、メッセージ変換部４０２に要求内容を渡す。そして、該要求の応答としてプリントサーバ１０４へのメッセージを受け取り、プリントサーバ１０４へ該メッセージを含む要求を転送する。また、データ送受信部４０１は、プリントサーバ１０４から応答などのメッセージを受け取ると、メッセージ変換部４０２に渡す。そして、その応答としてＩＰＰに従った応答メッセージを受け取り、標準ポートモニタ３０４に転送する。
【００３８】
さらに、データ送受信部４０１は、プリントサーバ１０４との通信において、後述の転送設定情報５２０内のネットワークに関する設定に従って、印刷データの圧縮や、ネットワーク帯域の制御、リトライ処理等を行う。つまり、データ送受信部４０１が、標準ポートモニタ３０４では実現できない印刷時の拡張処理を実行することになる。これにより、クライアント端末１０１と、プリントサーバ１０４間でより安定した通信を実現できる。
【００３９】
なお、前述したように、データ送受信部４０１と印刷管理モジュール３０６の間の通信ではプロキシサーバ１０３を経由する。この通信において発生するプロキシ認証の処理の詳細については、図７を用いて後述する。
【００４０】
メッセージ変換部４０２は、プリントプロキシ３０５と標準ポートモニタ３０４間のＩＰＰに準拠したメッセージと、プリントプロキシ３０５とプリントサーバ１０４間の任意のプロトコルに準拠したメッセージの相互変換を行う。本実施例で、プリントプロキシ３０５とプリントサーバ１０４間の通信は、プリントプロキシ３０５がプリントサーバ１０４のＷｅｂサービスを呼び出すためのＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）によるメッセージを用いる。
【００４１】
また、メッセージ変換部４０２は、データ送受信部４０１から印刷要求メッセージを受け取った場合、印刷データをＰＤＬデータ解析部４０３に渡し、印刷データに含まれる文書名や印刷設定等の情報を受け取る。
【００４２】
ＰＤＬデータ解析部４０３は、メッセージ変換部４０２からの情報をプリントサーバ１０４へ送る要求に含める。ＰＤＬデータ解析部４０３は、メッセージ変換部４０２から印刷データを受けると、印刷データの解析を行う。ＰＤＬデータ解析部４０３は、印刷データに前述のジョブに関する情報が含まれる場合、それを抽出し、メッセージ変換部４０２に返す。
【００４３】
印刷管理モジュール３０６は、データ送受信部４０４、仮想プリンタ管理部４０５及び印刷ジョブ管理部４０６を有する。
【００４４】
データ送受信部４０４は、印刷管理モジュール３０６の外部構成との通信を司る。データ送受信部４０４は、前述のプリントプロキシ３０５からの各要求を受付け、その内容に従って、印刷ジョブ管理部４０６、仮想プリンタ管理部４０５に処理を依頼する。仮想プリンタ情報の取得要求を受け付けた場合、データ送受信部４０４は、要求に含まれる仮想プリンタ名を指定して仮想プリンタ管理部４０５に問い合わせを行う。これにより、該当する仮想プリンタ情報５３０を取得する。印刷ジョブの入稿要求を受付けた場合には、データ送受信部４０４は、要求に含まれる印刷ジョブ情報５４０と、印刷データを印刷ジョブ管理部４０６に渡し、印刷ジョブ情報５４０の登録を依頼する。また、データ送受信部４０４は、プリントサーバ１０４とネットワークで接続されている印刷装置との通信を行う。データ送受信部４０４は、印刷中の印刷ジョブのステータスや印刷装置の情報を監視し、仮想プリンタ管理部４０５、印刷ジョブ管理部４０６に通知する機能を持つ。
【００４５】
仮想プリンタ管理部４０５は、後述の仮想プリンタ情報５３０を管理する。仮想プリンタ情報５３０の問い合わせを受けた場合、事前に登録されている仮想プリンタ情報５３０から、該当の仮想プリンタ情報５３０を検索して返す。また、印刷装置１０２の情報を受けた場合には、その内容で該当の仮想プリンタ情報５３０を更新する。
【００４６】
印刷ジョブ管理部４０６は、後述の印刷ジョブ情報５４０を管理する。印刷データの入稿要求を受け付けた場合、要求に含まれる内容で印刷ジョブ情報５４０を登録するとともに、印刷ジョブ情報５４０に関連付けられる印刷データを保持する。また、印刷中の印刷ジョブ情報５４０を受け付けた場合には、その内容で、印刷ジョブ情報５４０を更新する。
【００４７】
図５は、本発明のプリントシステム内で管理される情報の例を示す図である。
【００４８】
クライアント端末１０１上のスプーラ３０２では、プリンタ情報５１０が管理される。
【００４９】
プリンタ情報５１０は、ＯＳに登録されているプリンタオブジェクトの情報である。プリンタ名５１１は、ＧＤＩアプリケーション３０１等で参照されるプリンタ名であり、ＯＳ上でプリンタオブジェクトを一意に決定する識別子である。プリンタドライバ名５１２は、プリンタオブジェクトに対し印刷指示が行われた際に使用するプリンタドライバ３０３を表し、クライアント端末１０１にインストールされているプリンタドライバ３０３のいずれかを指す。
【００５０】
印刷ポートＵＲＩ５１３は、印刷指示が行われた際の印刷データの出力先を表す。本実施例では、以下のような情報が設定される。
“ｈｔｔｐ：／／１２７．０．０．１：８０００／ｐｒｉｎｔｅｒｓ／ｍｙｐｒｉｎｔｅｒ／．ｐｒｉｎｔｅｒ”
この情報には、宛先であるプリントプロキシ３０５を指す情報、ポート、プリントサーバ１０４上の仮想プリンタを識別する仮想プリンタ名が含まれている。例えば、「１２７．０．０．１：８０００」はプリントプロキシ３０５を指す情報であり、「ｍｙｐｒｉｎｔｅｒ」は仮想プリンタ名を示す情報である。
【００５１】
認証情報５１４は、プロキシサーバ１０３に対する認証情報や、プリントサービス１０４に対する認証情報が格納されている。なお、本発明が想定しているスプーラ３０２は、ＯＳの仕様に準拠するスプーラシステムを構成するモジュールであって、認証情報５１４として、プロキシサーバ、プリントサービスに係らず、一つの認証情報のみが設定可能となっている。
【００５２】
また、クライアント端末１０１上のプリントプロキシ３０５では、転送設定情報５２０が保持される。転送設定情報５２０は、プリントサーバ１０４との間の通信に関する転送設定値である。
【００５３】
プリントサーバＵＲＬ５２１は、プリントサーバ１０４の受付エンドポイントを表し、プリントプロキシ３０５が各要求を送信する際の宛先を表す。圧縮送信設定５２２、帯域制限設定５２３、リトライ設定５２４は夫々、プリントプロキシ３０５がプリントサーバ１０４と通信する際の制御を行うための設定値である。
【００５４】
プリントサーバ１０４上の印刷管理モジュール３０６では、仮想プリンタ情報５３０が管理される。仮想プリンタ情報５３０は、プリントサーバ１０４に登録されている仮想プリンタの情報である。
【００５５】
仮想プリンタ名５３１は、プリントサーバ１０４上の仮想プリンタの名前であり該当の仮想プリンタ情報５３０を一意に決定する識別子である。印刷装置のＩＰアドレス５３２は、仮想プリンタと関連付けられる印刷装置１０２のＩＰアドレスを指す。また、プリンタドライバ名５３３は、印刷装置１０２に対応したプリンタドライバ３０３の名前であり、仮想プリンタがこのプリンタドライバ３０３で生成された印刷データを印刷可能であることを表す。
【００５６】
プリントサーバ１０４上の印刷管理モジュール３０６では、印刷ジョブ情報５４０が更に管理される。印刷ジョブ情報５４０は、プリントサーバ１０４に入稿された印刷データに対応するジョブの情報である。
【００５７】
印刷ジョブＩＤ５４１は、プリントサーバ１０４上のジョブを一意に決定する識別子である。文書名５４２は、入稿された印刷データの元となった文書ファイルのファイル名である。出力先仮想プリンタ名５４３は、印刷ジョブに関連付けられる仮想プリンタ情報５３０を指す識別子である。印刷設定５４４は、印刷データに付随して設定された設定内容を含む。
【００５８】
＜プリントシステムにおける印刷データの入稿までのシーケンス＞
図６のシーケンスは、本実施例におけるプリントシステムでのプリンタオブジェクトの作成や印刷データの入稿などの処理の概要を示すためのものである。
【００５９】
本実施例では、クライアント端末１０１とプリントサーバ１０４の間の全ての通信はプロキシサーバ１０３を経由する想定であり、その間でプロキシ認証エラーが発生した場合にプリントプロキシ３０５による特徴的な制御が行われる。その説明の前に、図６を用いて、該エラーが発生しなかった場合の、クライアント端末１０１とプリントサーバ１０４の間で行われる通信の２つ例の概要を説明する。
【００６０】
シーケンス６００は、クライアント端末１０１上でプリンタオブジェクトを作成する際の処理を示すシーケンスである。
【００６１】
まず、Ｓ６００１において、スプーラ３０２は、ユーザの入力に応じて、プリンタ名５１１と、プリンタドライバ名５１２、印刷ポートＵＲＩ５１３の指定を含むプリンタオブジェクトの作成指示を受け付ける。Ｓ６００２で、スプーラ３０２は、標準ポートモニタ３０４を通して、Ｓ６００１で指定された印刷ポートＵＲＩ５１２にＩＰＰでのプリンタ情報の取得要求を送る。ここで、印刷ポートＵＲＩ５１２は、前述した通り、プリントプロキシ３０５の宛先、ポートと、仮想プリンタ名を含むＵＲＩである。
【００６２】
プリントプロキシ３０５のデータ送受信部４０１でプリンタ情報の取得要求を受け付けた場合に、Ｓ６００３で、メッセージ変換部４０２が、受け取った取得要求に宛先として含まれる印刷ポートＵＲＩ５１２から、仮想プリンタ名を抽出する。さらに、メッセージ変換部４０２が、抽出された情報を用いてプリントサービス１０４への仮想プリンタ情報の取得要求に変換する。このようなＳ６００３でのメッセージの変換後、Ｓ６００４で、データ送受信部４０１が、転送設定情報５２０を参照し、プリントサーバＵＲＬ５２１に対して、仮想プリンタ情報の取得要求の送信を行う。なお、プリントプロキシ３０５のデータ送受信部４０１は、圧縮送信設定５２２、帯域制限設定５２３、リトライ設定５２４に従って、プリントサーバ１０４と通信を行う。また、このとき、プロキシサーバ１０３での認証に成功した際に、Ｓ６００４で示すように、プリントサーバ１０４への仮想プリンタ情報の取得要求の送信が成功する。
【００６３】
印刷管理モジュール３０６のデータ送受信部４０４で取得要求を受け付けた場合に、Ｓ６００５において、仮想プリンタ管理部４０５が、該要求に含まれる仮想プリンタ名５３１を用いて、該当する仮想プリンタ情報５３０を検索する。Ｓ６００６において、データ送受信部４０４が、Ｓ６００５の検索で見つかった仮想プリンタの情報を、プリントプロキシ３０５に応答する。
【００６４】
プリントプロキシ３０５のデータ送受信部４０１で仮想プリンタ情報の取得要求に対する応答（Ｓ６００６）を受信すると、Ｓ６００７において、メッセージ変換部４０２が、該応答の内容をＩＰＰに従ったメッセージに変換する。その後、Ｓ６００８において、データ送受信部４０１が、Ｓ６００２での標準ポートモニタ３０４からの取得要求の応答として、変換後のメッセージを送信する。
【００６５】
Ｓ６００９において、スプーラ３０２は、標準ポートモニタ３０４を介したＳ６００８で受信した応答に従い、ユーザからのプリンタオブジェクト作成指示（Ｓ６００１）に含まれる内容でプリンタ情報５１０を登録する。Ｓ６００９において、スプーラ３０２は、ユーザに対してプリンタオブジェクトの作成の完了を、画面などを介して通知する。
【００６６】
続いて、シーケンス６１０は、クライアント端末１０１上からプリントサーバ１０４へ、印刷データを入稿する処理を示すシーケンスである。
【００６７】
まず、ＧＤＩアプリケーション３０１は、Ｓ６１０１でのユーザからの印刷対象の文書データと印刷先のプリンタ名、印刷設定の指定を含む印刷要求の指示入力に応じて、Ｓ６１０２において、その内容でスプーラ３０２に印刷指示を行う。
【００６８】
Ｓ６１０３において、スプーラ３０２は、受け取った指示に含まれるプリンタ名５１１を用いて、プリンタ情報５１０を参照し該当するプリンタオブジェクトを特定し、プリンタドライバ名５１２を取得する。Ｓ６１０４において、スプーラ３０２は、取得されたプリンタドライバ名５１２に対応するプリンタドライバ３０３に印刷データの生成要求を行う。Ｓ６１０５において、プリンタドライバ３０３は、生成要求に含まれる、文書データの文書名や、印刷設定を含めた印刷データであるＰＤＬデータ（印刷データ）を生成する。Ｓ６１０６において、プリンタドライバ３０３は、生成したＰＤＬデータをスプーラ３０２に返す。
【００６９】
Ｓ６１０７において、スプーラ３０２は、受け取ったＰＤＬデータを、プリンタ情報５１０の印刷ポートＵＲＩ５１３を宛先として、印刷指示要求として送信する。この印刷指示要求は、ＰＤＬデータを含むＩＰＰに従うメッセージであり、標準ポートモニタ３０４を介して、プリントプロキシ３０５に送信される。Ｓ６１０８において、スプーラ３０２は、印刷指示要求の送信が完了した時点で、ＧＤＩアプリケーション３０１に印刷要求完了を通知する。
【００７０】
Ｓ６１０９で、プリントプロキシ３０５のデータ送受信部４０１による印刷指示要求の受信に応じて、ＰＤＬ解析部４０３が該要求に含まれるＰＤＬデータの解析を行う。この解析によって、ＰＤＬデータに含まれる文書名、印刷設定等を抽出する。
【００７１】
Ｓ６１１０において、メッセージ変換部４０２は、メッセージ変換処理として、Ｓ６１０９で抽出した情報と、印刷指示要求の印刷ポートＵＲＩ５１３に含まれる仮想プリンタ名を用いて、プリントサーバ１０４への印刷データの入稿要求を生成する。Ｓ６１１１において、データ送受信部４０１が、転送設定情報５２０の設定値に従って、入稿要求の送信が行われる。プリントプロキシ３０５からプリントサーバ１０４へは、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に従う要求の送信が実行される。このとき、プロキシサーバ１０３での認証に成功した際に、Ｓ６１１１で示すように、プリントサーバ１０４への入稿要求の送信が成功する。
【００７２】
プリントサーバ１０４上の印刷管理モジュール３０６のデータ送受信部４０４は、プリントプロキシ３０５から、印刷データの入稿要求を受け付ける。Ｓ６１１２で、印刷ジョブ管理部４０６が、新しい印刷ジョブＩＤ５４１を発行するとともに、入稿要求に含まれる情報に基づき、印刷ジョブ情報５４０を登録する。印刷ジョブ情報５４０の登録が完了すると、Ｓ６１１３において、データ送受信部４０４が、入稿完了の通知をプリントプロキシ３０５に応答する。
【００７３】
Ｓ６１１４において、プリントプロキシ３０５のデータ送受信部４０１での入稿完了の通知の受信に応じて、メッセージ変換部４０１が該通知内容をＩＰＰに従ったメッセージに変換する。その後、Ｓ６１１５において、データ送受信部４０１は、標準ポートモニタ３０４を介して、印刷完了を示す変換後のメッセージをスプーラ３０２に送信する。
【００７４】
＜プロキシ認証に係るシーケンス＞
図７は、図６のシーケンス６００を例に、クライアント端末１０１からのリクエストにおいて、プロキシサーバ１０３での認証に失敗した場合のプリントプロキシの処理を詳しく説明するためのシーケンスである。本図において、図６と同じ処理については同じ符号を付与しているので、その説明については割愛する。
【００７５】
Ｓ７００１において、プリントプロキシ３０５のデータ送受信部４０１は、Ｓ６００４で示すプリントプロキシ３０５から印刷管理モジュール３０６への取得要求の際に、プロキシサーバ１０３からプロキシ認証エラーの通知を受信する。
【００７６】
ここで、通常、スプーラ３０２は、ＯＳの仕様に従い動作しており、ＯＳにプロキシ設定がされていない場合や、特定の通信にプロキシを使用しない例外設定がされている場合は、Ｓ７００１での取得要求のようなリクエストには認証情報を付加しない。
【００７７】
また、スプーラ３０２は、ＩＰＰを用いたそのようなリクエストに対してプロキシ認証エラーが応答されても、認証情報を付加したリクエストの再送を行わない。これは、Ｓ７００１ではスプーラ３０２はプロキシサーバ１０３を示すプリントサーバＵＲＬ５２１に対して取得要求を送信しているため、スプーラ３０２がプロキシサーバに対してリクエストが行われていることを認識していないためである。
【００７８】
そこで、Ｓ７００２において、プリントプロキシ３０５のメッセージ変換部４０２は、Ｓ７００１でプロキシサーバ１０３から受け取ったプロキシ認証エラーの変換処理を実行する。具体的には、プロキシ認証エラーを、プリントサーバ１０４上のＷｅｂサーバ（不図示）で発生し得る（ユーザ）認証に対応するエラー（以降、サーバ認証エラー）に変換（置換）する。その後、データ送受信部４０１は、変換後のサーバ認証エラーをスプーラ３０２に応答する。
【００７９】
ここで、プロキシサーバ１０３から受け取ったプロキシ認証エラーを示すメッセージには、ＨＴＴＰヘッダに含まれるステータスコードとして「４０７（Ｐｒｏｘｙ−Ａｕｔｈｅｎｔｉｃａｔｅ）」が設定されている。一方で、変換後のサーバ認証エラーについては、ＨＴＴＰヘッダに含まれるステータスコードとして「４０１（Ａｕｔｈｅｎｔｉｃａｔｅ）」が設定されている。サーバ認証エラーは、認証に失敗した場合など、プロキシ認証以外の認証が必要であることを示す。
【００８０】
Ｓ７００３において、スプーラ３０２は、サーバ認証エラーを示すステータスコードを含む応答の受信に応じて、認証情報５１４を付加したプリンタ情報の取得要求の再送を、プリントプロキシ３０５に対して実行する。具体的には、取得要求であるＨＴＴＰリクエストの「Ａｕｔｈｏｒｉｚａｔｉｏｎ」に認証情報５１４を設定する。
【００８１】
なお、前述したが、本発明が想定しているスプーラ３０２は、ＯＳの仕様に準拠するモジュールであって、認証情報５１４として、プロキシサーバ、プリントサービス（サーバ）に係らず、一つの認証情報のみが設定されている。よって、プロキシサーバを指定して要求を行った際にプロキシ認証エラーが応答された際も、Ｓ７００３でサーバ認証エラーが応答された際にも、スプーラ３０２は再送するリクエストに対して同じ認証情報を設定することになる。
【００８２】
Ｓ７００４において、プリントプロキシ３０５のメッセージ変換部４０２は、受け取った取得要求に含まれる認証情報を抽出して複製し、プロキシ認証情報としてプリントサービス１０４への仮想プリンタ情報の取得要求に付加する。具体的には、プリンタ情報取得要求のＨＴＴＰヘッダの「Ａｕｔｈｏｒｉｚａｔｉｏｎ」の情報を複製し、仮想プリンタ情報の取得要求に対して「Ｐｒｏｘｙ−Ａｕｔｈｏｒｉｚａｔｉｏｎ」情報を追加する。
【００８３】
Ｓ７００５において、プリントプロキシ３０５のデータ送受信部４０１で、Ｓ７００４で変換した仮想プリンタ情報の取得要求の送信処理を行う。
【００８４】
なお、プロキシサーバ１０３が存在せず、プリントサーバ１０４上のＷｅｂサーバ（不図示）で認証が行われているプリントシステムの場合には、プリントプロキシ３０５は、Ｗｅｂサーバから受け取ったサーバ認証エラーをそのままスプーラ３０２に応答する。その後の処理は、Ｓ６００３〜Ｓ６０１０で説明した処理と同様となる。
【００８５】
本実施例によれば、クライアント端末上のプリントプロキシ３０５が、発生した認証エラーの種類に応じて、スプーラ３０２に応答すべき認証エラーを判別する。そうすることで、ＯＳの標準ポートモニタを利用してプリントプロキシ３０５を経由した印刷などのリクエストを行う場合に、プロキシサーバで認証エラーが発生したとしても、プリントプロキシ３０５がスプーラ３０２から認証情報を引き出すことが可能となる。よって、ユーザが認証エラー時に認証情報を再入力するといった手間なしで、プロキシ認証を行うことが可能となる。
【００８６】
（実施例２）
実施例１では、プリントプロキシ３０５において、要求毎にどの認証を行う要求であるか判断できないため、「Ａｕｔｈｏｒｉｚａｔｉｏｎ」の情報を複製して、追加する方法をとっている。
【００８７】
ここで、実施例１においては、プロキシサーバ１０３でＰｒｏｘｙ−Ａｕｔｈｏｒｉｚａｔｉｏｎに設定された情報が参照された後、印刷管理モジュール３０６との通信時には、その情報が破棄される。しかし、スプーラ３０２によりサーバ認証エラーの受信に応じてリクエストのＡｕｔｈｏｒｉｚａｔｉｏｎに設定された情報は、ここでは破棄されずに、そのままプリントサーバ１０４に送信される。印刷管理モジュール３０６での処理ではプロキシ認証情報は必要のないため、プリントサーバ１０４にこのような認証情報が送信されることは、セキュリティ上の問題となる可能性がある。
【００８８】
そこで、本実施例では、実施例１に対して、スプーラ３０２からの要求に含まれる認証情報が、サーバ認証、プロキシ認証のどちらの対する認証情報かを判断する処理を追加している。なお、本実施例では、実施例１とシステム構成や各装置の構成などはほぼ同様のため、その差異について詳しく説明する。
【００８９】
図８は、プリントプロキシ３０５が提供する設定画面の一例である。ユーザは、この設定画面８００を介してプリントプロキシに係る設定を行うことにより、プリントプロキシ３０５が使用する認証情報をあらかじめ指定することができる。
【００９０】
８０１は、どの認証情報を使用するかをプリントプロキシ３０５が自動で判断するための設定項目である。この項目が指定された際の、プリントプロキシ３０５の具体的な判断方法に関しては、図９において説明する。
【００９１】
８０２は、ユーザが認証方法をあらかじめ指定するための設定項目である。プリントプロキシ３０５は、設定項目８０２に対する指定に応じて、Ａｕｔｈｏｒｉｚａｔｉｏｎ、Ｐｒｏｘｙ−Ａｕｔｈｏｒｉｚａｔｉｏｎのどちらをリクエストのヘッダに追加するかを決定し、さらに指定されていない認証方法に対応する認証情報はリクエストのヘッダから削除する。設定項目８０１、８０２は排他的な設定となる。
【００９２】
＜プロキシ認証に係るシーケンス＞
図９は、プリントプロキシ３０２における、設定画面８００で設定項目８０１が指定された際の処理例の詳細を説明するためのシーケンスである。実施例１の図７の説明と重複する処理については、同じ符号を付与して説明を省略し、そして、Ｓ６００６以降の同様の処理は図から省略している。
【００９３】
Ｓ９００１において、プリントプロキシ３０５は、メッセージ変換部４０２で、Ｓ７００３でのスプーラ３０２からのプリンタ情報の取得要求に含まれる認証情報を削除して、ＨＴＴＰに従う仮想プリンタ情報の取得要求に変換する。プリントプロキシ３０５は、さらに、認証情報を削除するまえのプリンタ情報取得要求を一時的に保持する。
【００９４】
Ｓ９００２において、プリントプロキシ３０５が、変換処理後の仮想プリンタ情報の取得要求を、プリントサーバＵＲＬ５２１に対して送信する。ここで、プリントプロキシ３０５は、７００２でサーバ認証エラーをスプーラ３０２に送信しているが、この状態などのデータを内部的に管理していない。つまり、Ｓ７００３で受信した認証情報を含む取得要求が、Ｓ７００２で応答したサーバ認証エラーに対応するものであるとは判断できない。よって、プリントプロキシ３０５、再度、認証情報が設定されていないリクエストを、プリントサーバＵＲＬ５２１に対して送信した上で、プロキシ認証エラーとサーバ認証エラーとの何れが応答するかを試行する。
【００９５】
プリントプロキシ３０５は、Ｓ９００２で送信した取得要求に対して応答される認証エラーの内容に応じて、以降の処理を切り替える。
【００９６】
プロキシ認証エラー（４０７）を受信した場合（Ｓ９００３）には、Ｓ９００４において、プリントプロキシ３０５のメッセージ変換部４０２が、Ｓ９００１で保持したプリンタ情報の取得要求から仮想プリンタ情報取得要求を生成するための変換処理を実行する。プリンタ情報の取得要求に「Ａｕｔｈｏｒｉｚａｔｉｏｎ」情報として含まれる認証情報を削除し、ＨＴＴＰに従う仮想プリンタ情報の取得要求におけるＨＴＴＰヘッダに「Ｐｒｏｘｙ−Ａｕｔｈｏｒｉｚａｔｉｏｎ」の情報として該認証情報を付加する。
【００９７】
一方で、サーバ認証エラー（４０１）を受信した場合（Ｓ９００５）には、Ｓ９００６において、プリントプロキシ３０５のメッセージ変換部４０２が、Ｓ９００１で保持したプリンタ情報の取得要求から仮想プリンタ情報取得要求を生成するための変換処理を実行する。具体的には、ＨＴＴＰに従う仮想プリンタ情報の取得要求におけるＨＴＴＰヘッダに「Ｐｒｏｘｙ−Ａｕｔｈｏｒｉｚａｔｉｏｎ」の情報として該認証情報を付加しない。なお、本シーケンスの例では、Ｓ７００１でプロキシサーバ１０３によりプロキシ認証エラー（４０７）を受信した場合の処理を想定しているので、サーバ認証エラー（４０１）を受信することはない。
【００９８】
Ｓ９００７において、プリントプロキシ３０５は、Ｓ９００４での変換処理後の仮想プリンタ情報の取得要求を、プリントサーバＵＲＬ５２１（印刷管理モジュール３０６）に対して、送信する。
【００９９】
なお、設定画面８００の設定項目８０２で、認証方法が指定されていた際には、前述したＳ９００２〜Ｓ９００６の処理の代わりに、Ｓ９００４またはＳ９００６と同様の処理のみが行われることになる。具体的には、設定項目８０２でプロキシ認証が指定されていた場合には、Ｓ９００４と同様に、プリントプロキシ３０５が、「Ｐｒｏｘｙ−Ａｕｔｈｏｒｉｚａｔｉｏｎ」にのみ認証情報が設定された仮想プリンタ情報の取得要求を生成する。また、設定項目８０２でサーバ認証が指定されていた場合には、Ｓ９００６と同様に、プリントプロキシ３０５が、「Ｐｒｏｘｙ−Ａｕｔｈｏｒｉｚａｔｉｏｎ」の情報として認証情報を付加せずに、仮想プリンタ情報の取得要求を生成する。
【０１００】
以上、本実施例によれが、認証情報が不用意に外部に送信されることを防ぐことが可能となる。
【０１０１】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【０１０２】
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【０１０３】
１０１  クライアント端末
１０２  印刷装置
１０３  プロキシサーバ
１０４  プリントサーバ
３０２  スプーラ
３０４  標準ポートモニタ
３０５  プリントプロキシ
３０６  印刷管理モジュール
【図１】
0006465755.tif 000002
【図２】
0006465755.tif 000003
【図３】
0006465755.tif 000004
【図４】
0006465755.tif 000005
【図５】
0006465755.tif 000006
【図６】
0006465755.tif 000007
【図７】
0006465755.tif 000008
【図８】
0006465755.tif 000009
【図９】
0006465755.tif 000010