画像形成装置に対する要求をユーザがクライアントを介して指示した場合に送信されるパラメータであって、前記要求に応じたネットワークプロトコルに従った形式で記載された第1のパラメータを受信する受信手段と、前記ネットワークプロトコルに対応している場合は、前記受信手段により受信された第1のパラメータを解釈し、解釈の結果に基づき依頼処理を実行し、前記ネットワークプロトコルに対応していない場合は、前記ネットワークプロトコルとは異なるネットワークプロトコルに従った形式で記載された第2のパラメータに、前記受信手段により受信された第1のパラメータを付加しサーバへ送信し、前記第2のパラメータを基に第1のパラメータを解釈した前記サーバから処理結果を受信し、前記処理結果に基づき依頼処理を実行する実行手段と、を有することを特徴とする画像形成装置。前記要求はデバイス探索の要求であり、前記ネットワークプロトコルとはデバイス探索用プロトコルであって、前記実行手段により第2のパラメータがサーバへ送信され、前記第1のパラメータの解釈を行った前記サーバからのメタデータの要求に応じて、個別デバイス情報、およびプリンタモデル情報を含むメタデータを提供する提供手段を有し、前記実行手段は、前記提供手段により提供されたメタデータ、および前記クライアントのアドレスを含む処理結果に基づき、前記クライアントへ前記メタデータを送信する依頼処理を実行することを特徴とする請求項1に記載の画像形成装置。前記要求は前記クライアントにインストールされたソフトウェアが提供するプリント機能からのプリントの要求であり、前記ネットワークプロトコルとは前記プリント機能に対応したプリントプロトコルであって、前記受信手段は、前記第1のパラメータの他にプリントデータを受信し、前記実行手段は、前記第2のパラメータ、およびプリントデータをサーバへ送信し、前記第1のパラメータを解釈した前記サーバから処理結果、およびプリントデータを基に変換された印刷データを受信し、前記処理結果に基づき前記印刷データを印刷する依頼処理を実行することを特徴とする請求項1または2に記載の画像形成装置。前記実行手段は、前記印刷データを印刷する場合において、前記処理結果に前記クライアントのアドレスが含まれていない場合は、印刷が完了した旨を前記クライアントへ送信せず、前記処理結果に前記クライアントのアドレスが含まれている場合は、印刷が完了した旨を前記クライアントへ送信することを特徴とする請求項3に記載の画像形成装置。画像形成装置に対する要求をユーザがクライアントを介して指示した場合に送信される依頼メッセージであって、前記要求に応じたネットワークプロトコルに従い送信される第1の依頼メッセージを受信する受信手段と、前記ネットワークプロトコルに対応している場合は、前記受信手段により受信された第1の依頼メッセージを解釈し、解釈の結果に基づき依頼処理を実行し、前記ネットワークプロトコルに対応していない場合は、前記ネットワークプロトコルとは異なるネットワークプロトコルに従い、前記受信手段により受信された依頼メッセージをサーバへ送信し、前記依頼メッセージを解釈した前記サーバから処理結果を受信し、前記処理結果に基づき依頼処理を実行する実行手段と、を有することを特徴とする画像形成装置。受信手段は、画像形成装置に対する要求をユーザがクライアントを介して指示した場合に送信される依頼メッセージであって、前記要求に応じたネットワークプロトコルに従った形式で記載された第1のパラメータを受信し、実行手段は、前記ネットワークプロトコルに対応している場合は、前記受信手段により受信された第1のパラメータを解釈し、解釈の結果に基づき依頼処理を実行し、前記ネットワークプロトコルに対応していない場合は、前記ネットワークプロトコルとは異なるネットワークプロトコルに従った形式で記載された第2のパラメータに、前記受信手段により受信された第1のパラメータを付加しサーバへ送信し、前記第2のパラメータを基に第1のパラメータを解釈した前記サーバから処理結果を受信し、前記処理結果に基づき依頼処理を実行することを特徴とする画像形成装置の制御方法。請求項6に記載の制御方法を画像形成装置に実行させるためのプログラム。この印刷システムを実現するためには、各デバイスベンダープリンタメーカーが各画像形成装置のプログラム例えば、ファームウェアに、それぞれのサービスに対応した機能、またはネットワークプロトコルを実装することで始めて実現可能となる。デバイスベンダーがこれらの印刷システムに対応する場合、新しい印刷システムが登場する都度プリンタのプログラムを更新する必要があり、費用と時間を投資して対応を進めないといけない。しかしながら、迅速に充分な機能を持ったプリンタを安価で提供することが難しくなる。また、その他の課題として、上述のようにプログラムを更新されたプリンタであっても、製品の発売後に発表される新しいネットワークプロトコルには容易には対応できないという課題が存在する。そのようなプリンタが新しいネットワークプロトコルに対応するためにプリンタのプログラムをアップデートする必要があるが、各所に販売された夫々のプリンタのアップデートを行うことは非常に繁雑な作業となる。本発明の一実施系に係る画像形成装置は、画像形成装置に対する要求をユーザがクライアントを介して指示した場合に送信される依頼メッセージであって、前記要求に応じたネットワークプロトコルに従った形式で記載された第1のパラメータを受信する受信手段と、前記ネットワークプロトコルに対応している場合は、前記受信手段により受信された第1のパラメータを解釈し、解釈結果に基づき依頼処理を実行し、前記ネットワークプロトコルに対応していない場合は、前記ネットワークプロトコルとは異なるネットワークプロトコルに従った形式で記載された第2のパラメータに、前記受信手段により受信された第1のパラメータを付加しサーバへ送信し、前記第2のパラメータを基に第1のパラメータを解釈した前記サーバから処理結果を受信し、前記処理結果に基づき依頼処理を実行することを特徴とする。クライアントに搭載されているネットワークプロトコルに対応していないプリンタであっても、インターネット上の仮想プリンタを利用することで、新しい印刷システムに対応することが可能となる。本発明の目的は、クライアントのネットワークプロトコルに対応していないプリンタが、インターネット上に存在する仮想プリンタに処理を依頼し、仮想プリンタに処理を実行させることでクライアントの要求を処理することを目的とする。本発明の各実施例で用いられる用語について説明する。ネットワークプロトコルとは、通信規約通信手順を指す。ネットワークプロトコルに対応していないデバイスとは、その通信規約通信手順を理解するためのモジュールを搭載していないことを指す。そのモジュールを搭載していないデバイスは、ネットワーク層の低レベルにおいてはパケットを受信できるが、ネットワーク層の高レベルにおいてそのパケットの内容を解釈できない。また、画像形成装置に対する要求をユーザがクライアントを介して要求したことに応じて送信されるパケットの集合を依頼メッセージと称する。詳細は後述するが、依頼メッセージは、ヘッダー部分と、パラメータ部分から構成される。以下、本発明を実施するための最良の形態について図面を用いて説明する。[システム構成]図1は本発明のシステム構成の一例を示すブロック図である。本印刷システムはクライアント情報機器100、プリンタ102、サーバ仮想プリンタ104から構成される。クライアント情報機器100とプリンタ102は適切な接続媒体101で接続され、互いに通信を行うことが可能な機能を備える。プリンタ102とサーバ仮想プリンタ104も適切な接続媒体103で接続されており、互いに通信を行うことが可能な機能を備える。通信媒体102および104は、USBやBluetoothなどのローカルなピアツーピアに接続、有線及び無線LANなどのネットワーク接続、更にインターネット接続などが考えられ、接続の形態に制限はない。尚、接続媒体103をインターネットなどの広範囲なネットワークにすることで、サーバ仮想プリンタ104にアクセス可能なプリンタ102全てに本発明の効果を適用することが可能となる。また、接続媒体101をインターネットなどの広範囲なネットワークとすることで、本発明をいわゆるクラウドプリントWebサーバを利用した印刷サービスに適用することも可能である。なお、実施例1におけるプリンタ102、およびサーバ104は同じベンダーにより提供される装置であり、クライアント情報機器100は上述のベンダーとは異なる別のベンダーにより提供されるものとする。よって、プリンタ102、および仮想プリンタ104は通信を行う際、予め定められたネットワークプロトコルで通信を行うことが決定されており、そのための通信モジュールも具備している。一方、クライアント情報機器100と、プリンタ102は必ずしも通信できるとは限らない。なぜなら、2つの装置は異なるベンダーにより生産されており、プリンタ102は、クライアント情報機器100が通信を行うために利用するネットワークプロトコルに対応していることは保証されていないからである。[ハードウェア構成]図2はプリンタ102の構成を示すブロック図である。プリンタ102はCPU12により制御される。CPU12はROM14に記憶された制御プログラムや外部メモリ22に格納された各種プログラムをRAM13にロードし、実行することが可能である。CPU12は制御プログラムの動作に基づいて入出力部16を介して入力された印刷データ等を画像信号に変換し印刷部20に出力することで印刷を行う。印刷部20は印刷ユニットである。また、CPU12は制御プログラムの動作に基づいて、入出力部16を介して入力された各種応答要求に対し処理を行い、その処理結果を入出力部16を介して出力する。尚、プリンタ102には操作部20が接続され、ユーザからの直接の入力を受け付けることも可能になっている。また、プリンタ102はスキャナユニット不図示を搭載する場合もある。図3はサーバ仮想プリンタ104の構成を示すブロック図である。サーバ仮想プリンタ104はCPU1により制御される。CPU1はROM3に記憶された基本入出力システムBIOS制御プログラムや外部メモリ11に記憶されたオペレーティングシステムや各種アプリケーションプログラムなどをRAM2にロードし、実行することが可能である。サーバ仮想プリンタ104にはユーザからの入力を受けるキーボード9や処理の結果を画像としてユーザに表示するためのディスプレイ10などが接続されている。更に、サーバ仮想プリンタ104にはプリンタ102と通信を行うためのプリンタI/F8を備える。以降、サーバ仮想プリンタ104を仮想プリンタ又は仮想プリンタ104と記載する。クライアント情報機器100については、プリンタ102に対して、印刷や各種情報取得関する情報をやり取りできる情報機器であれば良く、例えば、図3に示すハードウェア構成を有していれば良い。パーソナルコンピューター、サーバコンピュータなどのコンピュータ、PDA、携帯電話などのポータブル情報機器などが使用可能である。また、クライアント情報機器100は不図示の他の情報機器からの印刷要求を受け、プリンタ102へこれを伝達する情報機器であってもかまわない。以降、クライアント情報機器100をクライアント又はクライアント100と記載する。[ソフトウェア構成]図4はプリンタ102のソフトウェア構成を説明するためのブロック図である。プリンタ102は以下のコンポーネントで構成される。なお、これらのコンポーネントは、これらのコンポーネントに対応するプログラムを実行することにより実現される。入出力制御部210は、外部からの情報を受信する他、外部へ情報を出力する処理を行う。印刷管理部230は、印刷部20に対し印刷処理を命令する等のプロセスを管理する。ステータス情報管理部240は、プリンタの状態、およびプリンタに関する情報を管理する。プリンタ制御部220は、入出力制御部210、印刷管理部230、またはステータス情報管理部240からの情報を受信する他、情報、または指示を出力する。仮想プリンタドレス格納部201は、仮想プリンタ104のアドレス情報を保持する。尚、プリンタ制御部220は、次の様な機能を有する。処理制御部221は、プリンタ制御部220を制御するコントローラである。入力判定部222は、入出力制御部210を介して入力された情報がどのような種別の情報かを判定する。印刷指示部223は、印刷管理部230に印刷指示を与える。情報収集部224は、ステータス情報管理部240からプリンタの状態やプリンタに関する情報を収集する。プリンタの状態とは、例えば、エラー、警告、待機状態、アイドリング状態等を指す。プリンタに関する情報とは、例えば、紙残量、トナー残量、インク残量、インストールされているアプリケーション情報等を指す。出力生成部225は、入出力制御部210を介して出力する情報を生成する。図5は仮想プリンタ104のソフトウェア構成を説明するためのブロック図である。仮想プリンタ104は次のコンポーネントで構成される。受信部310は外部から情報を受信する。送信部330は外部へ情報を送信する。処理部320は受信部310で受信した情報の内容に応じた処理を実行し、必要に応じて送信部330に指示を与える。尚、処理部320は、次の様な機能を有する。処理制御部321は処理部320を制御するコントローラである。要求判定部322は受信部310を介して受信した情報がどのような種別の情報かを判定する。情報収集処理部323は仮想プリンタの情報、及びプリンタから提供された情報を収集する。印刷実行指示部324はプリンタ102に印刷実行を依頼する。応答作成部325は送信部330を介してクライアント100へ送信する情報を作成する。なお、クライアント100には制御部不図示、およびブラウザ不図示が含まれる。制御部は、OSOperatingSystemプログラムを実行することで実現され、ブラウザはブラウザプログラムを実行することで実現される。制御部が提供するUIにはデバイス探索要求を指示するためのボタンが含まれる。また、ブラウザが表示するUIには、ブラウザが表示している画像文書データを印刷指示するためのボタンが含まれる。その他、クライアント100にインストールされた別のアプリからでも上述の指示を行える。[通信データについて]図6はクライアント100、プリンタ102、仮想プリンタ104でやり取りされる要求応答メッセージを説明するための図である。図6A~Fに示されるように、メッセージの基本構造はメッセージのサイズやIDなど必要な情報が記載されたヘッダー部、とパラメータ部で構成される。ヘッダー部には、送信元の情報IPアドレス、送信先の情報IPアドレスが含まれ、パラメータ部には、利用するネットワークプロトコルに応じた形式で記載されたデータが含まれる。このパラメータ部分はメッセージの送信元が作成する。送信先が、メッセージのパラメータ部分を解釈し理解することで、送信元からの各種処理の処理依頼を実行することが可能になる。特定の機器同士でのプライベートな通信を行うだけであれば、このパラメータの仕様は特定の機器間で取り決めを行えばよい。しかし、日々、最新の機能を搭載したクライアント機が発売される中、プリンタ102が全てのクライアント機の要求に対応するネットワークプロトコルより詳細に述べると依頼メッセージのパラメータ部分に対応するのは困難である。クライアント100とプリンタ102でやりとりするメッセージA、Bはパブリックな仕様に従いパラメータ部データAの記載が行われる。例えば、実施例1においては、クライアント100のベンダーがパブリックな仕様を決定している。一方、プリンタ102、仮想プリンタ104間でやりとりされるメッセージB、C、E、Fは、プリンタ102と仮想プリンタ104の間で取り決められたプライベートな仕様に従うことでお互いがメッセージの内容を理解する。プリンタ102は、仮想プリンタ104と通信を行うためのネットワークプロトコルに事前に対応している。なぜなら、2つの装置は同じベンダーにより用意された装置であるため事前に対応させているのである。プリンタ102から仮想プリンタ104に送られるメッセージBの場合、仮想プリンタ104はパラメータ部のデータ構想最初に種別とオリジナル送信元を示す情報があり、これに不定なデータAが続くを理解できる必要がある。第2のパラメータはプリンタ102が生成するパラメータ部、種別、オリジナル送信元に対応する。第1のパラメータはクライアント100が生成するパラメータ部、データAに対応する。メッセージBは、第2のパラメータに第1パラメータが付加され、仮想プリンタ104に送信される。このように、第1の依頼メッセージメッセージAは、第2の依頼メッセージメッセージBへ変換され、メッセージは異なるネットワークプロトコルに従った形式となる。同様に、仮想プリンタ104からプリンタ102に送られるメッセージCの場合、プリンタ102はパラメータ部のデータ構造最初に種別と最終送信先を示す情報があり、これに不定なデータBが続くを理解できる必要がある。仮想プリンタ104は、プリンタ102から送信されるメッセージB、またはFを基に解釈を行い、メッセージE、またはCを作成する。メッセージE、およびCは、プリンタ102に対する命令になっており、例えば、クライアント100に対し仮想プリンタ104が生成したデータを転送する他、プリンタ102内のみで処理を行うことがある。メッセージEの場合、処理結果であるパラメータの内容例えば、データCをプリンタ102は理解できる必要があり、メッセージFの場合、データDの内容を仮想プリンタ104は理解できる必要がある。[応答メッセージの有無について]また、メッセージの種類によっては、メッセージの送信元は送信先での処理の結果について感知する必要の無いもの、或いは逆にメッセージの送信元に応答メッセージ要求メッセージに対する返事の形で処理結果を返答する必要のあるものなどがある。この応答メッセージが必要かどうかも、先のパラメータの場合と同様、多種多様なメーカーの機器間で正常に通信を行うためには、応答メッセージの有無に関する取り決め仕様が必要であり各機器はこの取り決め仕様に従って通信を行うことになる。なお、メッセージEのパラメータ部であるデータCの内容を、プリンタ102が完全理解する必要がない場合もある。例えば、クライアント100に対してデータを転送する応答メッセージの送信依頼の場合、転送するデータそのものを理解する必要は必ずしもない。[プリンタの処理フロー]図8はプリンタ102の処理を説明するためのフローチャートである。この図8を用いて、プリンタ102の処理について説明する。入力判定部222は、プリンタ102が外部からの要求を受信すると、受信した要求のパラメータ部の内容を解析する。S510入力判定部222は、要求されている内容、即ち依頼メッセージの内容を解釈できるか否か、又は解釈できるがプリンタ102では処理できないものでるか否かの判定を行う。S520換言すれば、メッセージに付随するパラメータ部の記載形式が、現在のプリンタ102がサポートしている形式以外で書かれている場合、プリンタ102では解釈できないということである。この際、入力判定処理部222は、受信したメッセージのパラメータ部に対し、プリンタ102のサポートする全てのパラメータの記述形式を当てはめても読解パースできない場合、プリンタ102において処理不可能と判断する。例えば、プリンタ102がサポートしていない圧縮形式で、パラメータが圧縮されている場合、プリンタ102がサポートしていないデータ構想でパラメータが記述されている場合などがこれに該当する。この状況を、プリンタ102はプロトコルに対応していないと称する。また、入力判定処理部222によって、パラメータ部のデータの読解パースできたが、要求されている機能がプリンタ102では処理できない場合についても説明する。例えば、PDFダイレクト印刷が要求されたことをプリンタ102は理解できるが、PDFのダイレクト印刷機能をプリンタ102が持たない場合である。更に、パラメータがXML形式で記述されているため読解は行えるが、パラメータに記載されているネームスペースで記述される機能をサポートしていない場合なども該当する。受信した要求が未知のもの或いは既知だが自機では処理不可と判断できる場合、S530に進み、仮想プリンタ104への処理依頼の作成、及び送信処理を行う。S530では、図6のメッセージAからメッセージB作成を行い、メッセージBの送信を行う。制御部221は出力作成部225に対し、メッセージBのパラメータ部の種別を処理依頼とし、オリジナルの送信元を受信したメッセージAの送信元に記載されていたアドレスとしメッセージBを作成するよう指示する。尚、このパラメータのオリジナルの送信元は、後に説明する転送依頼メッセージのパラメータの最終送信先情報に使用されるため必要となる。更に、プリンタ102が受け取った要求の内容全てを仮想プリンタ104に伝達するために、受信したメッセージAのパラメータ部であったデータAをそのままメッセージBのパラメータ部にコピーする。以上のようにして作成した仮想プリンタ104への処理依頼メッセージBは、仮想プリンタドレス格納部201に記憶されている仮想プリンタ104のアドレスに対し、入出力制御部210を介して送信される。S520にて、入出力判定部222は、要求が解釈可能であって、かつ処理可能と判断される場合、要求の内容が仮想プリンタからの転送要求かどうかを判定する。この際、入出力判定部222は、メッセージCのパラメータ部に含まれる種別が指す値が転送依頼であるか否かを判断するS540。転送要求ではない場合、S550に進み、通常の要求として処理を行う。例えば、要求の内容が印刷処理の要求であれば、印刷指示部223は印刷管理部230に対し印刷処理の実行を指示する。要求の内容が情報提供要求であれば、情報収集部224はステータス情報管理部240から情報を取得するS550。なお、通常の要求として処理を行う場合は、仮想プリンタ104からの指示である場合と、クライアント100からの指示の場合の両方を含んでいる。クライアント100からの指示で通常の要求処理を行うと言うことは、プリンタ102はクライアント100が利用するネットワークプロトコルに対応していることを指す。この通常の処理は、依頼処理に含まれる処理である。次に、今処理を行っている要求が応答を必要とするものかどうかによって処理が分かれる。要求が応答必要とするかどうかは、取り決め仕様によって規定されているため要求毎に異なる。入力判定部221は、各々の要求の種別を判断する。S560例えば、印刷要求のような処理の場合、ネットワークプロトコルの仕様によっては応答を必要としないものがある。このような要求の場合、プリンタ102での処理はここで処理は終了することになる。印刷要求はプリンタに対する印刷実行を望む要求であり、クライアント100に対し必ず情報を送信する必要がない要求である。一方、情報提供要求の場合、応答が必要とされる。このような場合、出力作成部225は、要求内容に応じた応答を作成し、入出力制御部210は要求の送信元に作成された応答を送信する。S570但し、本来応答が必要な要求ではあるが、何らかの事由により処理が失敗した場合は応答の必要が無いとネットワークプロトコルで規定されている場合、応答を返却する必要は無い。尚、図6のメッセージEはS540でNoと判定された場合に作成されるメッセージであり、応答の必要があれば、S570でメッセージFが作成され仮想プリンタ104へ送信される。S540にて、入力判定部211により仮想プリンタ104からの転送要求と判断された場合、S580にて転送先に受け取ったパラメータを含む内容を転送する。この転送処理は、依頼処理に含まれる処理である。S580では、図6のメッセージCからメッセージDを作成し、メッセージDの送信を行う。メッセージCのパラメータの種別は転送依頼であり、最終転送先には何らかのアドレスが記載されている。このパラメータの他に、プリンタ102では理解する必要の無いデータBが記載されている。これらの受信メッセージの情報から、出力作成部225はパラメータをデータBとするメッセージDを作成する。入出力制御部210は、最終送信先のアドレスを基に、クライアント100へメッセージDを送信する。メッセージBに含まれるパラメータであるオリジナルの送信元は、転送依頼メッセージのパラメータの最終送信先情報に使用される。最後に、メッセージBのパラメータは、プリンタ102が受け取った要求の内容全てを仮想プリンタ104に伝達するために、受信したメッセージAのパラメータ部のデータAをメッセージBのパラメータ部にコピーする。これにより、メッセージBのパラメータ部には、第1のパラメータと、第2のパラメータの両方が含まれることになる。以上のようにして作成した仮想プリンタ104への処理依頼メッセージBは、仮想プリンタドレス格納部201に記憶されている仮想プリンタ104のアドレスを基に、仮想プリンタ104へ送信される。[仮想プリンタの処理フロー]図9は仮想プリンタ104の処理を説明するためのフローチャートである。この図9を用いて、仮想プリンタ104の処理について説明する。仮想プリンタ104は外部から要求を受信すると、要求判定部322にて受信した要求の内容を解析する。S610次に、要求判定部322は、要求の内容がプリンタ102からの処理依頼かどうかを判定する。S620プリンタ102からの処理依頼かどうかは、要求判定部322によりメッセージのパラメータ部の種別パラメータが処理依頼になっているか否かを判定されることでわかる。処理依頼であれば、送信元プリンタからの処理依頼と判定されたことになる。プリンタからの処理依頼でなければ、要求に対する既定の処理S630を実施し処理を終了する。例えば、仮想プリンタ104に対する情報提供依頼の要求であれば、情報収集処理部323にて仮想プリンタ104自身の情報を収集し、応答作成部325にて応答メッセージが作成され、送信部330により応答が要求元に送信される。受け取った要求がプリンタ102からの処理依頼の場合、メッセージ含まれるパラメータの内容を解釈し、仮想プリンタ104自身が処理可能かどうかを判定する。S640要求処理判定部322は、受信メッセージのパラメータ部に含まれるデータAが仮想プリンタ104の理解可能な形式で記述されおり、要求される機能が仮想プリンタ104単独、或いはプリンタ102と協力することで対応かどうかを判断する。例えば、要求がPDFダイレクトの印刷要求であって、仮想プリンタ104がPDF形式をプリンタ102が処理可能なデータ形式に変換する機能を有している場合には、処理可能と判断する。S640にて、不可能と判断した場合、処理は終了する。この場合、図6のクライアント100が発行するメッセージAが要求した処理は実行されないことになる。もし、このメッセージAに対する応答メッセージが取り決め仕様上規定されているのであれば、応答メッセージはクライアント100には到達しないことなる。このため、クライアント100からみてプリンタ102は発行した要求メッセージAには非対応であったと認識できるようになる。S640にて処理可能と判定した場合、仮想プリンタ104は要求を処理する。S650この要求の処理には多種多様なものが想定される。例えば、受け取ったデータの内容が、プリンタ102に対する印刷指示を伴うものであれば、印刷実行指示部324はプリンタ102に対する印刷要求を示すパラメータを作成し、送信部330によりプリンタ102へ印刷要求のパラメータを送信する。また、受け取ったパラメータの内容がプリンタ102の情報を取得する要求であれば、情報収集処理部323は要求された情報をプリンタ102から取得するため、応答作成部325に情報取得を要求するパラメータを含むメッセージEを作成させる。そして、送信部330はプリンタ102に対して情報に取得の要求を送信する。次に、要求判定部322は、今処理している要求が応答を必要とするものかどうかを判定する。S660応答が必要かどうかは先のプリンタ102に対する説明と同様、要求毎規定されているため、各々の要求の種別により異なる。例えば、印刷要求のような処理の一方的な依頼の場合、取り決め仕様の規定によっては応答を必要としないものがある。このような要求の場合、仮想プリンタ104での処理はS650でプリンタ102に印刷要求を発行することで、終了することになる。一方、情報提供要求の場合、応答が必要であるため、応答作成部325において要求に応じた応答が作成され、送信部330により要求の送信元に応答が返信される。但し、本来応答が必要な要求ではあるが、何らかの事由により処理が失敗した場合は応答の必要が無いとプロトコルで規定される要求で、実際に処理が失敗した場合などは規定に従って応答を返却する必要は無い。応答が必要でなければ、要求に対する処理は終了する。応答が必要であれば、プリンタへの転送依頼を作成送信する処理S670に進む。S670では、メッセージBからメッセージCの作成が行われ、メッセージCが送信される。応答作成部325は作成するメッセージのパラメータの種別を転送依頼とし、同じく最終送信先にメッセージBのパラメータのオリジナル送信元に記載されていたアドレスを記入する。また、先のS650での処理結果を含み、受信したメッセージのデータAへの応答として、仮想プリンタ104で生成したデータBをパラメータとするメッセージCを作成する。[処理概要説明]次に、図6を用いて、クライアント100がプリンタ102に対して発行したメッセージAがプリンタ102で処理不可能な場合に、どのように処理されていくのかを説明する。またここでは、説明を行うに当たり、次の条件が成り立っているものとして説明を行うこととする。要求メッセージAは最終的な応答メッセージDを必要とする要求であるとメッセージAの取り決め仕様上規定されている。要求メッセージAはプリンタ102では処理不可能であるが、仮想プリンタ104では処理可能なように仮想プリンタ104は構成されている。最終的な応答メッセージDにはプリンタ102に関する情報が必要である。図7はこの例を説明するためのフローである。この図7及び図6を用いて、説明を行う。クライアント100が要求メッセージAをプリンタ102に向け送信する。S410プリンタ102が要求メッセージAを受け取り、パラメータであるデータAを処理不可と判断した場合先のS520でYesの場合、プリンタ102は仮想プリンタ104へ処理を依頼するメッセージBを作成する。メッセージの作成方法についてはS530で説明したとおりである。更に、プリンタ102は予め仮想プリンタドレス格納部201に格納されたアドレスを基に、仮想プリンタ104へメッセージBを送信する。S420仮想プリンタ104がメッセージBを受け取り、種別が処理依頼かつ、データAを処理可能と判断した場合、メッセージBに含まれるデータAの内容に応じた処理を行う。図9のS650今回、応答メッセージDは必要だという仮定であるため、プリンタ102にクライアント100への転送を依頼するメッセージCの作成も行う。メッセージCのデータBにはプリンタ102の情報が必要であるため、プリンタ102に対して必要な情報の提供を依頼するメッセージEを作成し、プリンタ102へ送信する。S430プリンタ102はメッセージEを受け取ると、このメッセージEの内容を確認する。今回の場合、情報提供依頼であるため依頼された情報をパラメータデータDとした応答メッセージFを作成し、これを仮想プリンタ104に送信する。S440仮想プリンタ104は応答メッセージFを受け取り、これに含まれていたデータDを得ることでメッセージCの作成を行う。仮想プリンタ104はS670で説明したとおり、メッセージCを作成しプリンタ102へ送信する。S450プリンタ102はメッセージCを受け取り、パラメータ部分の種別が転送依頼であることを確認した場合、データBの内容をパラメータとする応答メッセージDを作成し、最終送信先に記載されたクライアント100宛に送信する。S460最後に、クライアント100は応答Dを受け取る。S470このようにして、クライアント100は要求Aでプリンタ102に対して情報提供を要求し、応答Dとしてこれを取得できたことになる。例えば、要求Aがデバイス探索の情報提供リクエストであれば、応答Dを受けることで、必要な情報をクライアント100は取得できたことになり、プリンタ102が見つかったと認識できることになる。[処理の例示]本発明への理解を深めてもらうために、仮想的なプロトコルを想定して、本発明を適用した場合の動作について説明を行う。ディスカバリ機能の例ここでは、WS―Discovery仕様で既定される、Probe/ProbeMatches命令による検索を説明する。また、WS-MetadataExchange仕様とWS-Transfer仕様で既定されたGetmetadataによる情報の取得を用いたディスカバリ機能についても説明する。WS-Discovery仕様は、デバイス探索用プロトコルに相当する。尚、この例では以下の仮定のもとで説明を行う。プリンタ102は上記のProbe/ProbeMatches、Getmetadataには非対応であるが、仮想プリンタ104を経由することで対応可能になるものとする。また、Probeに対する応答ProbeMatchesは仮想プリンタ104のみで生成が可能であるとする。更に、Getmetadataに対する応答にはプリンタ102から個別デバイス情報及びプリンタモデルに関する情報を取得し応答する必要があるものとする。個別デバイス情報とは、各プリンタ固有の値でデバイスIDや、インク残量、紙残量等である。プリンタモデルに関する情報とは、機種情報等のモデルに関する情報である。図10はディスカバリ機能実現時のクライアント、プリンタ、仮想プリンタ間尾処理を示す図である。この図を用いて、ディスカバリ探索要求の処理の説明を行う。クライアント100はWSD対応デバイスを探索するためにProbe1001をマルチキャストで送信する。Probe1001はクライアントから不特定多数に送られるメッセージであり、クライアント100はこのメッセージに応答してきた機器がWS―Discovery仕様に準拠していることを認識できる。Probe1001がメッセージAに対応する。Probe1001を受信したプリンタ102は、Probe1001のパラメータを自身では処理不可能と判断し、Probe1001から[Probe] ́1002を生成する。そして、プリンタ102は仮想プリンタ104に処理依頼として送信する。このとき、プリンタ102はProbe1001のパラメータをパラメータ部とし、ヘッダーに仮想プリンタ104のアドレスを記載し、HTTPで送信する。[Probe] ́1002は図6のメッセージBに該当し、パラメータ部分には種別が処理依頼であること、オリジナルの送信元にクライアントのアドレスが記載され、Probe1001に含まれていたデータAがそのまま記載されている。仮想プリンタ104は、[Probe] ́1002の処理依頼からこれに応答する[ProbeMatches] ́1003を生成し、プリンタに転送依頼として送信する。[ProbeMatches] ́1003はメッセージCに該当し、パラメータ部には種別が転送依頼であること、最終転送先がクライアント100であること、が記載されたパラメータが含まれる。また、WS―Discovery仕様に従った場合、データBはProbeへの返答となる。[ProbeMatches] ́1003の転送依頼として受信したプリンタ102は、ProbeMatches1004の形式に整形して、クライアント100に送信する。この場合、メッセージCに記載された宛先を確認し、クライアント100に送信すべき情報をTCP層レベルで送信すれば良い。クライアント100は自身が発行したProbe1001に対してプリンタ102がProbeMatches1004を返答してきたため、プリンタ102をWSディスカバリに対応したデバイスであると認識することになる。尚、仮想プリンタ104が[Probe] ́1002を解釈できない、つまり、このプロトコルをサポートしていない場合、[ProbeMatches] ́1003は発行できない。このためプリンタ102はProbeMatches1004をクライアント100に返さなくなる。このケースでは、クライアント100は自信が発行したProbe1001に対する応答がプリンタ102から返って来ないため、プリンタ102はProbe/ProbeMatches命令による検索に非対応であると判断する。また、仮想プリンタから解釈できない旨返ってきたら、それに併せて、処理できない旨をクライアントに返しても良い。次に、クライアント100はプリンタ102のメタデータ情報を取得するために、Getmetadata1005を発行する。これを受けた、プリンタ102は自身で処理不可として、[Getmetadata] ́1006を作成し、仮想プリンタ104に処理依頼として送信する。[Getmetadata] ́1006は図6のメッセージBに該当し、パラメータ部分には種別が処理依頼であること、オリジナルの送信元にクライアントのアドレスが記載され、Getmetadata1005に含まれていたデータAがそのまま記載されている。仮想プリンタ104は[Getmetadata] ́1006の内容を解釈する。今回の場合、プリンタ100の個別デバイス情報ファームウェアのバージョン、フレンドリー名称、シリアルナンバーの要求及び、プリンタモデル情報デバイスのカテゴリー、製造者、製造者のURL、モデル名称、モデルナンバー、モデル用URL、プレゼンテーションURLが要求されているものとする。プリンタ102に対して、個別デバイス情報及びプリンタモデル情報を要求するため、それぞれ要求1007、1008を発行して情報を収集する。尚、この要求1007や1008は、プリンタ102が解釈可能な要求を、仮想プリンタ104が発行する。要求1007、1008を受け取ったプリンタ102これらの応答として、それぞれ個別デバイス情報、プリンタモデル情報を仮想プリンタ104に返す。要求1007は図6のメッセージE及びメッセージFを一本の線で表したものである。メッセージEのデータCには個別デバイス情報の取得要求が書きこまれており、メッセージFのデータDにはプリンタ102からの返答として個別プリンタ情報が書きこまれている。尚、図10では要求1007は一本の線で個別プリンタ情報を取得するように書いた。しかし、個別プリンタ情報を構成する各要素ファームウェアのバージョン、フレンドリー名称、シリアルナンバー毎の情報要求にしかプリンタ102が対応していないのであれば、個別に情報提供要求を行うことになる。要求1008については、個別プリンタ情報がプリンタモデル情報に代わっただけであり、要求1007と状況は同じであるため、説明は省略する。個別デバイス情報とプリンタモデル情報を取得した仮想プリンタ104は[Getmetadata] ́1006への応答として[GetRespncemetadata] ́1009を作成し、転送依頼として送信する。この、[GetRespncemetadata] ́1009は図6のメッセージCに相当し、パラメータ部分には種別が転送依頼であること、最終送信先がクライアントであることが記載されている。更にデータBには要求1007や1008で収集した個別デバイス情報、プリンタモデル情報がGetmetadata1005への応答メッセージとして含まれ、夫々仕様で規定された形式で記述されている。[GetResponcemetadata] ́1009を受信したプリンタ102はこれをGetResponcemetadata1010の形に変換し、クライアント100に送信する。このようにしてクライアント100は必要な情報をプリンタ102から取得することが可能になり、WSDで規定されたディスカバリ機能が実現可能になる。プリント機能の例次に、WSDプリントサービス仕様PrintServiceDefinitionVersion1.0ForWebServiceonDevicesを例に説明する。WSDプリントサービス仕様で既定される、CreatePrintJob命令、SnedDocument命令を用いた印刷の例でプリント機能への適用例を説明する。WSDプリントサービス仕様は、プリントプロトコルに相当する。尚、この例では以下の仮定のもとで説明を行う。プリンタ102はCreatePrintJob命令、SnedDocument命令に非対応であるが、仮想プリンタ104を経由することで対応可能になるものとする。また、CreatePrinter命令に対しては、印刷可能状態であればジョブIDを含む情報を応答として返す必要があるものとする。尚、仕様で既定されるSnedDocument命令には応答が必要であるが、ここでは本発明の全ての系を説明する意味で、この例で扱うSnedDocument命令には応答は不要であるとして説明する。更に、仮想プリンタ104からプリンタ102に対する印刷要求に対する応答も不要であるとする。図11はプリント機能実現時のクライアント、プリンタ、仮想プリンタ間の処理を示す図である。この図を用いて、プリント機能の実現時の処理の説明を行う。クライアント100は印刷を行う準備のために、CreatePrintJob1101をプリンタ102に送信する。CreatePrintJob110は印刷処理の準備要求として発行されるもので、これを受信したプリンタ側で印刷を行うことが可能であれば、ジョブID情報を返答することになる。CreatePrintJob1101を受信したプリンタ102は、この要求を処理不可能と判断し、[CreatePrintJob] ́1102を生成し、仮想プリンタ104へ処理依頼として送信する。[CreatePrintJob] ́1102は図6のメッセージBに該当し、パラメータ部分には種別が処理依頼であること、オリジナルの送信元にクライアントのアドレスが記載される。また、メッセージBには、CreatePrintJob1101に含まれていたデータAがそのまま記載されている。仮想プリンタ104は[CreatePrintJob] ́1102の処理依頼を受けると、プリンタ102が印刷を行うことが可能な状態かどうかの確認を行うために要求1103をプリンタ102に送信する。要求1103では、メッセージE及びこれに対する応答メッセージFのやり取りが行われる。メッセージEのデータCは印刷可能かどうかの状態確認依頼を示すデータがパラメータとして記載される。これへの応答メッセージFのデータDにはプリンタ102が印刷可能な状態であるかどうかを示す情報がパラメータとして記載される。プリンタ102は仮想プリンタ104からの状態確認1103要求に対して、印刷可能な状態であれば、印刷可能状態であることを示す内容を返答する。プリンタ102から印刷可能状態である返答を受けた仮想プリンタ104は、[CreatePrintJob] ́1102への応答として必要なジョブIDを生成する。更に、仮想プリンタ104はこのジョブIDを含んだ、[CreatePrintJobResponce] ́1104を作成し、プリンタ102へ転送依頼として送信する。[CreatePrintJob] ́1102はメッセージCに該当し、パラメータ部には種別が転送依頼であること、最終転送先がクライアント100であること、が記載される。また、メッセージCはWSDプリントサービス仕様に従ったデータBが記載されている。WSDプリントサービス仕様によると、データBにはCreatePrintJobへの返答であること、及びジョブIDが記載されることになる。[CreatePrintJobResponce] ́1104を受信したプリンタ102は、これをCreatePrintJobResponce1105の形に変換しクライアント100に送信する。クライアント100はCreatePrintJob1101への応答として、印刷処理可能であることを示すCreatePrintJobResponce1105をプリンタ102から受け取ることになる。これにより、プリンタ102はWSDプリントサービス仕様の仕様に則った印刷処理が可能と判断する。CreatePrintJobResponce1105のパラメータの内容が印刷可能を示す返答であれば、クライアント100はCreatePrintJobResponce1105で取得したジョブID及び印刷データを含んだSendDocument1106をプリンタ102に送信する。このメッセージによって、具体的に印刷を依頼すると同時にプリントデータをプリンタ102に送信することになる。SendDocument1106を受信したプリンタ102は、この要求を処理不可能と判断し、[SendDocument] ́1107を生成し、仮想プリンタ104へ処理依頼を送信する。[SendDocument] ́1107はメッセージBに該当し、パラメータ部分には種別が処理依頼であること、オリジナルの送信元にクライアントのアドレスが記載される。また、メッセージBはSendDocument1106に含まれていたデータAがパラメータとして記載される。仮想プリンタ104が[SendDocument] ́1107を受信すると、この命令に付加されているプリントデータを基に印刷を行うよう、プリンタ102への印刷指示1108を発行する。この命令1108はメッセージEに相当し、データCには印刷依頼である旨を示す情報と、具体的に印刷を行うプリントデータを含めることになる。なお、仮想プリンタ104は、プリントデータを印刷データPDLに変換してプリンタ102へ送信をしても良い。本例では、SendDocument1106に対する応答は不要としているため、[SendDocument] ́1107に対する応答も必要なくなる。つまり、図9のS660での判定がNoとなる。更に、印刷指示1108に対する応答も不要としているため、仮想プリンタ104側の処理はプリンタ102への印刷指示1108を発行した時点で終了する。プリンタ102は仮想プリンタ104からの印刷指示1108を受け、印刷処理を実施する。尚、今回の例では印刷指示1108に対する応答は不要である。従って、印刷処理が終了した時点で、この印刷指示1108に対するプリンタ102の処理は終了する。しかし、印刷指示1108にクライアント100のアドレスが含まれていれば、プリンタ102は印刷完了後、クライアント100へ印刷が終了した応答を送信する。このようにして、クライアント100がプリンタ102の非サポート形式の印刷指示を発行した場合であっても、適切に印刷を行えるようになる。つまり、クライアント100のユーザからは、プリンタ102はWSDプリントサービス仕様に従った印刷機能をサポートしているデバイスに見えている。他の実施例本実施例では図4の仮想プリンタドレス格納部201への仮想プリンタ104のアドレスの登録について簡単に述べる。実施例1では仮想プリンタドレス格納部201には予め仮想プリンタ104のアドレスが設定されているとした。例えば、工場出荷時の設定としてグローバルなインターネット上に配置する仮想プリンタ104のアドレスを設定しておくことで、インターネットに接続可能な環境であればどこであれ本発明の機能を提供できるようになる。しかし、この形のままでは、特定の仮想プリンタへのアクセスの集中する問題やワールドワイドで一律の新機能の提供を行うことしかできない問題などが生じる。他の実施例では、仮想プリンタドレス格納部201をプリンタ102毎に設定する例を示す。例えば企業内でプライベートな仮想プリンタ104を立てることで、アクセスの高速化や個別のユニークなプロトコル対応等を行うことができるという効果を発揮する図12は本実施例のプリンタ102のソフトウェア構成を示すブロック図である。図12aは先の実施例で説明した図4の構成に対して、仮想プリンタドレス設定部250を追加した構成になっている。図12bは仮想プリンタドレス設定部250が不図示のパネルUI上に表示するUIの例である。仮想プリンタドレス設定部250の動作について説明する。仮想プリンタドレス設定部250は、図2の操作部21の操作部を介したユーザ指示に従って、不図示の操作パネルにパネルUIに図13のごときUIを表示する。UIを表示した時点では、その時点で仮想プリンタドレス格納部201に格納されているアドレス情報URLやIPアドレスを表示する。仮想プリンタドレス格納部201に何も設定されていなければ、ブランク表示となる。尚、この710のコントロールは編集可能になっており、図2の操作部21の操作部21を介したユーザからの指示に従って、編集することが可能になっている。ユーザにより更新ボタン720が選択されると、710に記載されている情報で仮想プリンタドレス格納部201を書きかえる。また、閉じるボタン730が選択されると、仮想プリンタドレス設定部250は終了する。