"画像形成装置と、前記画像形成装置が要求する処理に応じたWebサービスを提供する複数のサーバを管理するサーバ管理装置とを備え、前記サーバ管理装置は、前記サーバからサーバの位置情報とサーバのリソースに関するリソース情報とを取得し、取得した情報をサーバ情報として管理する第1取得手段と、前記画像形成装置から処理要求を受け付ける要求受け付け手段と、前記画像形成装置から画像形成装置の位置情報を取得する第2取得手段と、前記第1取得手段により管理されているサーバ情報、前記要求受け付け手段により受け付けられた処理要求、および前記第2取得手段により取得された前記画像形成装置の位置情報とに基づき、前記処理要求に対応するWebサービスを提供するサーバを前記複数のサーバの中から選択し、選択されたサーバを前記画像形成装置に割り当てる選択手段とを備えることを特徴とするWebサービスシステム。前記第2取得手段は、前記画像形成装置の位置情報として、画像形成装置の物理的位置に関する物理的位置情報、または画像形成装置とサーバとの間の相対的位置に関する相対的位置情報を取得し、前記選択手段は、前記物理的位置情報、および前記サーバの位置情報の比較結果に基づき、前記画像形成装置の物理的位置に最も近い位置に配置されているサーバを前記処理要求に応じたWebサービスを提供するサーバとして選択し、前記物理的位置情報と前記サーバの位置情報との比較結果に基づいて前記サーバを選択できない場合には、前記相対的位置情報に基づき、前記処理要求に応じたWebサービスを提供するサーバを選択することを特徴とする請求項1に記載のWebサービスシステム。前記物理的位置情報は、前記画像形成装置の、リージョン情報、ロケール情報、ローカル時刻、GPS情報、ユーザ設定位置情報、仮想PCの位置情報、物理PCの位置情報、IPアドレス、またはネットワークドメイン情報のいずれかであり、前記相対的位置情報は、ネットワーク構成マップ、ネットワークノード間距離、通信遅延時間RTT、ローカル時刻の差異のいずれかであることを特徴とする請求項2に記載のWebサービスシステム。前記選択手段は、前記リソース情報を参照して、前記物理的位置情報と前記サーバの位置情報との比較結果、または前記相対的位置情報に基づいて選択対象となるサーバが有するリソースが前記処理要求を満たすかを判断し、前記選択対象となるサーバが有するリソースが前記処理要求を満たさない場合に、該処理要求を満たすリソースを有するサーバを、該処理要求に対応するWebサービスを提供するサーバとして選択することを特徴とする請求項2または請求項3に記載のWebサービスシステム。前記複数のサーバのリソースの状態の変化を監視する監視手段を備え、前記選択手段は、前記監視手段による前記リソースの状態の変化の監視結果に応じて、現在提供されているWebサービスを提供するための条件を満たすリソースを有するサーバを特定し、前記物理的位置情報と前記特定されたサーバの位置情報との比較結果、または前記相対的位置情報に基づいて、現在提供されているWebサービスを提供するサーバを選択し、該Webサービスを提供するサーバを現在該Webサービスを提供しているサーバから前記選択したサーバに切り替えることを特徴とする請求項4に記載のWebサービスシステム。画像形成装置が要求する処理に応じたWebサービスを提供する複数のサーバを管理するサーバ管理装置であって、前記サーバからサーバの位置情報とサーバのリソースに関するリソース情報とを取得し、取得した情報をサーバ情報として管理する第1取得手段と、前記画像形成装置から処理要求を受け付ける要求受け付け手段と、前記画像形成装置から画像形成装置の位置情報を取得する第2取得手段と、前記第1取得手段により管理されているサーバ情報、前記要求受け付け手段により受け付けられた処理要求、および前記第2取得手段により取得された前記画像形成装置の位置情報とに基づき、前記処理要求に対応するWebサービスを提供するサーバを前記複数のサーバの中から選択し、選択されたサーバを前記画像形成装置に割り当てる選択手段とを備えることを特徴とするサーバ管理装置。画像形成装置と、前記画像形成装置が要求する処理に応じたWebサービスを提供する複数のサーバを管理するサーバ管理装置とを備えるシステムにおけるWebサービス提供方法であって、前記サーバ管理装置が、前記サーバからサーバの位置情報とサーバのリソースに関するリソース情報とを取得し、取得した情報をサーバ情報として管理し、前記サーバ管理装置が、前記画像形成装置から処理要求を受け付け、前記サーバ管理装置が、前記画像形成装置から画像形成装置の位置情報を取得し、前記サーバ管理装置が、前記サーバ情報と、前記処理要求と、前記画像形成装置の位置情報とに基づいて、前記処理要求に対応するWebサービスを提供するサーバを選択して前記画像形成装置に割り当てることを特徴とするWebサービス提供方法。請求項7に記載のWebサービス提供方法をコンピュータに実行させることを特徴とするコンピュータプログラム。特許文献1のサービスバス連携方法を、画像形成装置と、当該画像形成装置から要求された処理に対応するWebサービスを提供するサーバと、当該サーバを管理するサーバ管理装置とを備えるWebサービスシステムに適用した場合、以下のような問題がある。このサービスバス連携方法の適用によっては、サーバ管理装置が、複数のWebサービスのうち、画像形成装置の位置と画像形成装置が要求する処理内容とに対応するWebサービスを選択して画像形成装置に提供することが困難である。例えば、次の様な例を用いて上述の困難性について説明する。クラウド上で動作するサーバ管理装置が、仮想プリンタをサーバとして管理し、当該サーバ上に構築される仮想デバイスが、画像形成装置から要求された処理に対応するWebサービスを提供する場合を想定する。この仮想デバイスは、Webサービスに対応する処理を実行する処理実行手段として機能する。サーバ管理装置が、プリント処理を要求した画像形成装置に対してプリント処理を実行する仮想デバイスを割り当てたときに、当該仮想デバイスが構築された仮想プリンタの本体は、画像形成装置の場所と同じ、または近接した場所に配置されているとは限らない。例えば、画像形成装置が日本に配置され、仮想プリンタの本体がアメリカに配置されている場合には、画像形成装置と仮想プリンタとの間の通信にタイムラグが生じる。従って、画像形成装置のユーザは、リソースを利用したサービスを受けるのに時間がかかってしまう。また、サーバ管理装置が管理するサーバ仮想プリンタのリソースが変動すると、画像形成装置が要求する処理に対応するWebサービスが変動する場合がある。このような場合に、特許文献1が開示するサービスバス連携方法の適用によっては、画像形成装置が要求する処理に対応するWebサービスを選択することが困難である。本発明は、上述した問題の少なくとも一つを解決するためになされたものである。本発明は、画像形成装置と画像形成装置が要求する処理に対応するWebサービスを提供するサーバを管理するサーバ管理装置とを備え、画像形成装置の位置と要求する処理内容とに応じた適正なWebサービスを選択するWebサービスシステムの提供を目的とする。本発明の一実施形態のWebサービスシステムは、画像形成装置と、前記画像形成装置が要求する処理に応じたWebサービスを提供する複数のサーバを管理するサーバ管理装置とを備える。前記サーバ管理装置は、前記サーバからサーバの位置情報とサーバのリソースに関するリソース情報とを取得し、取得した情報をサーバ情報として管理する第1取得手段と、前記画像形成装置から処理要求を受け付ける要求受け付け手段と、前記画像形成装置から画像形成装置の位置情報を取得する第2取得手段と、前記第1取得手段により管理されているサーバ情報、前記要求受け付け手段により受け付けられた処理要求、および前記第2取得手段により取得された前記画像形成装置の位置情報とに基づき、前記処理要求に対応するWebサービスを提供するサーバを前記複数のサーバの中から選択し、選択されたサーバを前記画像形成装置に割り当てる選択手段とを備える。本実施形態のWebサービスシステムによれば、画像形成装置が要求する処理に応じたWebサービスを、画像形成装置101の位置に応じた適切なサーバに提供させることができる。図1は、本実施形態のWebサービスシステムの構成例を示す図である。図1に示すWebサービスシステムは、プリンタ101、仮想デバイス管理サーバ102、仮想デバイスサーバ103、104を備える。本実施形態のWebサービス提供方法は、例えば、図1に示すWebサービスシステムによって実現される。また、本実施形態のコンピュータプログラムは、このWebサービス提供方法を実現するプログラムである。なお、Webサービスシステムが備える仮想デバイスサーバの数は、1台でもよいし、3台以上の任意の複数台でもよい。プリンタ101乃至仮想デバイスサーバ104は、それぞれ、対応するIPアドレスを保持している。IPは、InternetProtocolの略称である。プリンタ101乃至仮想デバイスサーバ104は、インターネット105等のネットワークで通信可能である。もちろん、プリンタ101乃至仮想デバイスサーバ104が、IEEE802.11などの無線LAN経由で通信するようにしてもよい。本実施形態のWebサービスシステムの機能が実現されるのであれば、プリンタ101、仮想デバイス管理サーバ、仮想デバイスサーバ上でのプログラムの動作を、プリンタ上のCPU、RAM、ROMを用いて実行するようにしてもよい。CPUは、CentralProcessingUnitの略称である。RAMは、RandomAccessMemoryの略称である。また、ROMは、ReadOnlyMemoryの略称である。また、仮想デバイス管理サーバ102上、仮想デバイスサーバ上でのプログラムの動作を、仮想コンピュータ環境で実行してもよい。プリンタ101は、本実施形態の画像形成装置である。プリンタ101が、印刷機能を提供するプリンタの他、印刷、スキャナ、FAXなどの複合機能を提供する複合機MFP等であってもよい。本実施形態では、プリンタ101は、仮想デバイス管理サーバ102に対して処理要求をする。当該処理要求は、例えば、印刷処理を求める印刷処理要求である。印刷処理要求は、印刷データの印刷処理を実行する印刷ジョブを含む。すなわち、プリンタ101は、Webサービスのクライアントとして機能する。プリンタ101は、仮想デバイス管理サーバ102、仮想デバイスサーバ103、仮想デバイスサーバ104と通信を行うための通信プロトコルを実装している。プリンタ101は、実装する通信プロトコルを用いて、仮想デバイス管理サーバまたは仮想デバイスサーバとの間のリクエスト処理要求の送受信を実行する。上記通信プロトコルは、例えば、HTTP、ファイル転送、SNMP、WS-Eventing等である。仮想デバイス管理サーバ102、仮想デバイスサーバ103、104は、リクエストの要求元であるプリンタ101からのリクエストに対応するサービスを提供する。仮想デバイス管理サーバ102は、サーバ管理装置として機能し、仮想デバイスサーバ103、104を管理する。具体的には、仮想デバイス管理サーバ102は、仮想デバイスの管理機能をWebサービスとして提供する。仮想デバイスの管理機能は、仮想デバイスの作成、削除などの管理を行う機能である。また、仮想デバイスは、仮想デバイスサーバ上で、プリンタ101からの処理要求に応じた処理を実行するWebサービスを提供する処理実行手段である。仮想デバイス管理サーバ102は、プリンタ101からの処理要求に応じた仮想デバイスサーバを選択し、選択した仮想デバイスサーバに指示して、当該処理要求に応じたWebサービスを提供する仮想デバイスを作成させる。仮想デバイスサーバ103、104は、プリンタ101が要求する処理に対応するWebサービスを提供するサーバである。具体的には、仮想デバイスサーバは、仮想デバイス管理サーバ102からの指示に従って、仮想デバイスサービスを仮想デバイスとして作成する。この仮想デバイスサービスが、プリンタ101を代理して、プリンタ101が要求する処理を実行し、当該処理の実行結果をプリンタ101に返す。本実施形態では、仮想デバイスサーバ103は日本でWebサービスを提供し、仮想デバイスサーバ104は、アメリカでWebサービスを提供するものとする。プリンタ101が仮想デバイス管理サーバ102に画像処理サービスを要求した場合を例にとって説明する。仮想デバイス管理サーバ102は、画像処理サービスに対応する仮想デバイスサーバを選択し、選択した仮想デバイスサーバに指示して、当該画像処理サービスに対応する仮想デバイスサービスのインスタンスを作成させる。仮想デバイス管理サーバ102は、Webサービス毎に、仮想デバイスサーバが作成した仮想デバイスサービスのインスタンスを管理する。この例では、仮想デバイス管理サーバ102は、画像処理サービスに対応する仮想デバイスサービスのインスタンスに関する情報を含むプロバイダー情報を、サービスレジストリ記憶部505に記憶して管理する。仮想デバイスの個々のインスタンスは、バーチャルマシンVM上で機能している。VMは、物理PCのメモリやCPUなど、仮想デバイスサービスに必要なハードウェアリソースを、仮想的に1台のPCとして構成した仮想PCである。当該VMによって実現される仮想デバイスサービスをプリンタ101が利用することによって、Webサービスこの例では画像処理サービスが提供される。具体的には、仮想デバイスサービスは、プリンタ101が行う画像処理と同様に、印刷データに対して、描画命令PDLからラスタライズ処理を行い、紙への描画データに変換する。また、仮想デバイスサービスは、各種色処理やエンジン固有情報に基づいた処理を実行する。プリンタ101が備える画像処理部が画像処理を実行する場合には、CPU、RAMなどのリソース、ROMのプログラムに応じた制限があるが、本実施形態では仮想デバイスサービスがプリンタ101を代理して画像処理を実行するので、このような制限が少ない。従って、仮想デバイスサービスによれば、プリンタ101が画像処理する場合と比べて、高速に処理を実行することができる。また、プリンタ101が備える画像処理部が故障した場合などに、仮想デバイスサービスが代理して画像処理することができる。仮想デバイスが提供する他のWebサービスとして、Scanサービス、データ圧縮/伸長サービス、データ暗号化/復号サービス、Webサーバサービス、ストレージサービス、メールサービスなどがある。また、仮想デバイス管理サーバ102、仮想デバイスサーバ103、104の機能が、物理PCによって実現されてもよいし、仮想OSや、仮想ディスクなどの仮想PCによって実現されてもよい。また、本実施形態のWebサービスシステムが備える装置間の通信は、アドレス情報を用いる任意の通信であればよい。例えば、当該通信に、IPv4やIPv6などの通信プロトコルを適用することもできる。当該通信プロトコルは、OSI参照モデルの物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層の各層におけるプロトコルを限定するものではない。図2は、仮想デバイスサーバを実現する物理PCのハードウェア構成例を示す図である。なお、Webサービスシステムが、プリンタ101に対して印刷指示を行うホストコンピュータ不図示を備える場合には、当該ホストコンピュータは、図2に示す物理PCと同様のハードウェア構成を有する。図2に示す物理PCは、CPUCentralProcessingUnit1、RAMRandomAccessMemory2、ROMReadOnlyMemory3を備える。また、物理PCは、KBCKeyboadController5、表示制御部6を備える。また、物理PCは、DKCDiskController7、NMCNetworkController8、KBKeyboad9、表示部10、外部メモリ11を備える。CPU1は、システムバス4に接続された各デバイスを統括的に制御する中央処理装置である。CPU1は、ROM3のプログラム用ROM或いは外部メモリ11に記憶されたアプリケーション文書処理プログラム等に基づいて、図形、イメージ、文字、表表計算等を含む等が混在した文書処理等の各種処理を実行する。また、CPU1は、例えば、RAM2上に設定された表示RAMへのアウトラインフォントの展開ラスタライズ処理を実行し、表示制御部6を介して表示部10に表示する。表示部10は、例えばCRTであり、表示制御部6は、例えばCRTCである。また、CPU1は、表示部10上のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは、クライアントアプリケーションやサーバサービスを使用する際、その設定などの操作に関するウインドウを開き、設定を行うことができる。なお、表示部10は、CRTに限らず、液晶やプラズマ等でもよい。RAM2は、CPU1の主メモリ、ワークエリア等として機能する。ROM3は、不図示のフォント用ROM、プログラム用ROM、データ用ROMなどを備える。フォント用ROM或いは外部メモリ11は、上記文書処理等の際に使用するフォントデータ等を記憶する。プログラム用ROM或いは外部メモリ11は、CPU1の制御プログラムであるオペレーティングシステム以下、OS等を記憶する。データ用ROM或いは外部メモリ11は、上述の文書処理等を行う際に使用する各種データを記憶する。外部メモリ11に記憶されているプログラムは、実行時にRAM2に展開されて実行される。KBC5は、KB9やポインティングデバイス不図示が入力した入力情報を制御する。表示制御部6は、表示部10への表示を制御する。DKC7は、外部メモリ11とのアクセスを制御する。NWC8は、双方向性インターフェース21を介してネットワーク106に接続されている。キーボード9は、各種キーを備えている。表示部10は、図形、イメージ文字、表等を表示する。外部メモリ11は、HDHardDisk、フロッピー登録商標ディスク等を備える。外部メモリ11は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶する。図3は、プリンタの構成例を示す図である。図3Aは、プリンタ101の外観例を示す。この例では、プリンタ101はMFPであるものとする。プリンタ101が備えるフィーダ300原稿自動送り部は、スキャナ部301でスキャンニングを行う際に自動で紙を送る機構である。原稿のスキャナ部301は、紙の情報をスキャニングして電子化を行う。UI部302は、MFPの入力操作を受け付ける。また、UI部302は、各種情報を表示する。給紙部303は、印刷の際に印刷用紙を定着部304に送る機構である。定着部304は、給紙部303から送られてきた用紙にトナーを定着させて印刷を行う機構である。排紙部305は、定着部304にて印刷された用紙を排紙する機構である。フィニッシング装置306は、排紙部305から排紙された紙を発注情報に従って、ステープルやパンチ等の処理を行う機構である。排紙トレイ307は、最終的に印刷フィニッシングされた印刷物を保持するトレイである。図3Bは、プリンタが備えるプリンタコントローラを示す。プリンタコントローラ410は、メインコントローラ409、エンジン制御部406、画像処理部407、クライアント位置情報取得部408、送受信部412を備える。メインコントローラ409は、印刷機能の全体の制御を行う。具体的には、メインコントローラ409は、外部との入出力制御を行い、エンジン制御部406や画像処理部407などに指示を出すことで印刷機能の制御を行う。メインコントローラ409が備えるオフロード処理制御部400は、MFPの処理に関して、仮想デバイス管理サーバ102や仮想デバイスサーバと通信する主制御部である。オフロード制御部400は、メインコントローラ409上のCPU402、ROM403、RAM404、HDD405、ネットワーク制御部401で動作する。これらを専用のオフロード制御用ハードウェアとして独立させることにより、より高可用性のシステムを構築することができる。ネットワーク制御部401は、外部機器との間の通信制御を行う。LAN100を介して、不図示のクライアントPCから印刷指示の受信や、構成情報の取得指示を受信し、指示に従った処理の結果を送信する。また、ネットワーク制御部401は、LAN100やインターネット105を介して、仮想デバイス管理サーバ102、仮想デバイスサーバと通信を行う。CPU402は、コントローラバス411に接続された各デバイスを制御する中央処理装置である。CPU402は、ROM403のプログラム用ROM或いは外部メモリであるHDD405に記憶されたプログラムに基づいて、プリンタ101の制御のための各種処理を実行する。ROM403は、CPU402で実行されるプログラム等の記憶領域として機能する。RAM404は、CPU402の主メモリ、ワークエリア等として機能する。HDD405は、プログラム、ワークエリア、ユーザデータの記憶領域として機能する。エンジン制御部406は、プリンタ101における印刷機能の制御を行う。この印刷機能の制御は、紙の搬送や定着機の制御である。具体的には、エンジン制御部406は、給紙部303から搬送された紙を定着部304に送り、画像処理部407で処理された描画データを紙へ転写する。定着部304は、給紙部303から送られてきた用紙にトナーを定着させて印刷を行う。定着部304にて印刷された紙は排紙部305へ搬送される。画像処理部407は、描画命令PDLからラスタライズ処理を行い、紙への描画データに変換する。また、画像処理部407は、各種色処理やエンジン固有情報を元にした処理なども行う。クライアント位置情報取得部408は、プリンタ101の位置に関する情報であるクライアント位置情報を取得し、送受信部412およびインターネット105を介して、仮想デバイス管理サーバ102に対して送信する。クライアント位置情報取得部408は、クライアント位置情報として、物理的位置情報または相対的位置情報を取得する。物理的位置情報は、プリンタ101の物理的位置に関する情報である。相対的位置情報は、プリンタ101と仮想デバイスサーバとの間の相対的位置に関する情報である。後述する仮想デバイス管理サーバ102は、プリンタ101から取得したクライアント位置情報を用いて、プリンタ101からの処理要求に対応するWebサービスを提供する仮想デバイスサーバを選択する。送受信部412は、メインコントローラ409の指示に従って、仮想デバイス管理サーバ102、仮想デバイスサーバとの間で情報を送受信する。図5Aは、物理的位置情報の例を示す。物理的位置情報の一例は、地域情報である。クライアント位置情報取得部408は、例えば、リージョン情報、ロケール情報、ローカル時刻、または、GPS情報、ユーザ設定位置情報、仮想PCの位置情報、物理PCの位置情報、IPアドレス、ネットワークドメイン情報等を物理的位置情報として取得する。図5Bは、相対的位置情報の例を示す。相対的位置情報は、プリンタ101と仮想デバイスサーバの相対的な位置情報である。相対的位置情報の一例は、ネットワーク構成マップ、ネットワークノード間距離、通信遅延時間RTTRoundTripTime、ローカル時刻の差異等である。図5B中に示すサービス識別は、Webサービスを提供する仮想デバイスサーバを示す。例えば、プリントサービスを提供する仮想デバイスサーバに対応するサービス識別子は、Print001,Print002,またはPrint003である。ホップ数は、プリンタ101と各々の仮想デバイスサーバとの間の通信時のルータ通過数である。通信遅延は、プリンタ101と各々の仮想デバイスサーバとの間の通信時の通信遅延時間RTTである。時差は、プリンタ101と各々の仮想デバイスサーバとのローカル時刻の差異である。図4は、Webサービスシステムが備える各装置の機能ブロック図の例である。図4の説明の前提として、クライアントPC不図示上で動作するプリンタドライバが、所定のアプリケーションから受けた印刷指示に従って、印刷データを生成し、印刷データをプリンタ101に渡すものとする。プリンタ101は、渡された印刷データを印刷処理するジョブ印刷ジョブを含む印刷処理要求を、インターネット105を介して仮想デバイス管理サーバ102に送信する。プリンタ101が備える各部については、図3Bを参照して説明したので、図4を参照した詳細な説明は省略する。仮想デバイス管理サーバ102、仮想デバイスサーバ103、104が備える各処理部について説明する。仮想デバイス管理サーバ102、仮想デバイスサーバ103,104が備える各処理部は、ROMもしくは外部メモリなどに格納されており、必要に応じて、RAMを用いてCPUにて実行される。仮想デバイス管理サーバ102、仮想デバイスサーバ103、104で共通の処理部については、同じ符号で示し、説明を省略する。送受信部501は、NWC8図2を参照を用いて、プリンタ101のネットワーク制御部401との間で、情報を送受信する。例えば、送受信部501は、プリンタ101からの処理要求や情報取得の指示を受信し、これらに対する応答をプリンタ101に送信する。プリンタ101のメインコントローラ409が、画像処理部407の代理処理を仮想デバイスサーバ103に作成された仮想デバイスサービス515に実行させる場合を想定する。この場合、送受信部412が、エンジン制御部406の指示に従って、仮想デバイスサーバ103の送受信部501に対して、当該代理処理の実行の指示を送信する。仮想デバイスサーバ103の送受信部501は、代理処理の実行結果をプリンタ101の送受信部412に返す。画像処理部407の代理処理は、印刷処理の実行に限定されない。また、プリンタ101のメインコントローラ409が、エンジン制御部406の代理処理を仮想デバイスサーバに作成された仮想デバイスサービス515に実行させるようにしてもよい。また、プリンタ101のメインコントローラ409が、エンジン制御部406または画像処理部407でエラーが生じた場合に、当該エラーに関する処理を仮想デバイスサーバに作成された仮想デバイスサービス515に実行させるようにしてもよい。Webサーバ502は、プリンタ101の送受信部412とRESTプロトコルやSOAPプロトコルなどにより通信するWebサービスサーバである。また、Webサーバ502は、仮想デバイス管理サーバ102の仮想デバイス管理部503との間でも、RESTプロトコルやSOAPプロトコルなどにより通信する。本実施形態における通信に用いられるプロトコルは、RESTプロトコルやSOAPプロトコルに限定されない。プリンタ101とWebサーバ502との間の通信は、TCPやUDPプロトコル、HTMLプロトコルなどを用いた通信でもよい。仮想デバイス管理サーバ102が備えるWebサーバ502は、プリンタ101から処理要求を受け取り、仮想デバイス管理部503に渡す。仮想デバイス管理部503は、当該処理要求を受け付ける要求受け付け手段として機能する。また、Webサーバ502は、仮想デバイス管理部503から受け取った応答情報を送受信部501に渡す。例えば、プリンタ101からWebサーバ502に対して、描画処理を要求した場合を想定する。この描画処理の要求は、描画命令PDLを含む。仮想デバイス管理部503は、この描画命令に応じた描画処理をさせる仮想デバイスサーバにアクセスするための情報アクセス情報を応答情報として送受信部501に渡す。仮想デバイスサーバのアクセル情報は、例えば、仮想デバイスサーバのエンドポイントの情報である。送受信部501は、この応答情報をプリンタ101の送受信部412に返信する。仮想デバイスサーバ103、104が備えるWebサーバ502は、仮想デバイス管理サーバ102やプリンタ101からの要求を受け取り、仮想デバイス制御部514に渡す。また、Webサーバ502は、仮想デバイス制御部514から受け取った応答情報を送受信部501に渡す。仮想デバイス管理サーバ102が備える仮想デバイス管理部503は、プリンタ101への情報のやりとりを行う。このために、仮想デバイス管理部503は、プリンタコントローラ410が備える必要な処理部を呼び出す制御を行う。また、仮想デバイス管理部503は、仮想デバイスサーバ103、104の仮想デバイス制御部514に指示して、仮想デバイスサービス515を制御する。この制御において、仮想デバイス管理部503、Webサーバ502、送受信部501は、1つのインスタンスで複数のプリンタ101のリクエストを処理することもできる。また、仮想デバイス管理サーバ102、仮想デバイスサーバ103、104に対する処理要求元となるプリンタ101が多数の場合は、TCPセッションを長時間、かつ、多数保持するためのネットワークロードバランサを設けるようにしてもよい。これにより、より大規模なシステムを容易に作成できる。次に、本実施形態における、仮想デバイス管理サーバ102のホストコンピュータとしての機能、当該ホストコンピュータ上で動作するWebサーバサービスであるプロバイダー、およびWebサーバ上で動作するWebサービスについて説明する。なお、本実施形態においては、仮想デバイスサービス515がWebサービスとして動作する。プロバイダー情報管理部504は、仮想デバイスサーバの情報サーバ情報をプロバイダー情報として仮想デバイスサーバから取得する第1取得手段として機能する。プロバイダー情報管理部504は、取得したプロバイダー情報をサービスレジストリ記憶部505に登録する。プロバイダー情報は、プロバイダー情報は、仮想デバイスサーバの位置情報、仮想デバイスサーバのリソース情報、仮想デバイスサーバのハードウェアリソース情報を含む。これらの情報は、仮想デバイスサーバの仮想デバイスサービス515が提供するWebサービスと対応付けられる。仮想デバイスサーバのプロバイダー位置情報取得部512が、仮想デバイスサーバの位置情報を取得する。リソース情報取得部511が、仮想デバイスサーバのリソース情報を取得する。また、ハードウェアリソース情報取得部510が、仮想デバイスサーバのハードウェアリソース情報を取得する。そして、送受信部501が、当該仮想デバイスサーバの位置情報、仮想デバイスサーバのリソース情報、仮想デバイスサーバのハードウェアリソース情報を含むプロバイダー情報を仮想デバイス管理サーバ102のプロバイダー情報管理部504に渡す。仮想デバイスサーバの位置情報は、地域情報を含む。地域情報は、例えば、リージョン情報、ロケール情報、ローカル時刻である。また、仮想デバイスサーバの位置情報は、物理的位置情報または相対的位置情報を含む。物理的位置情報は、例えば、GPS情報、ユーザ設定位置情報、仮想PCの位置情報、物理PCの位置情報、IPアドレス、ネットワークドメイン情報である。相対的位置情報は、ネットワーク構成マップ、ネットワークノード間距離、通信遅延時間RTT、ローカル時刻の差異を含む。リソース情報は、例えば、物理PC、ホストOS、仮想PCそれぞれのCPU使用率、Networkカード使用率、ディスクI/O使用率、ディスク転送速度、ネットワークカード転送量、仮想ネットワークの転送速度、ディスク空き容量を含む。図5Cは、プロバイダー情報が含む仮想デバイスサーバの位置情報の例を示す。また、図5Dは、プロバイダー情報が含むリソース情報の例を示す。仮想デバイスサーバの位置情報、リソース情報は、各々のWebサービスに対応付けられている。図5C,D中の識別子が、各々のWebサービスを示す。本実施形態において仮想PC、仮想サーバ、仮想OSなどの仮想化技術が使われている場合は、仮想デバイスサーバは、オペレーティングシステム、または仮想化OS上の仮想化管理インターフェースからリソース情報を取得することができる。また、ハードウェアリソース情報に関しても、仮想OSを管理するホストOSまたは仮想化OSから情報を取得することができる。サービスレジストリ記憶部505は、プロバイダー情報管理部504が取得したプロバイダー情報を記憶する。サービスプロバイダー判定部506は、仮想デバイス管理部503からの指示に従って、プリンタ101からの処理要求に対応するWebサービスを提供する仮想デバイスサーバと、当該仮想デバイスサーバ上で動作する仮想デバイスサービス515とを選択する。サービスプロバイダー判定部506は、仮想デバイス管理部503の指示に従って、以下の処理を実行する。サービスプロバイダー判定部506は、プリンタ101から取得した処理要求の内容と、クライアント位置情報と、サービスレジストリ記憶部505内のプロバイダー情報とに基づいて、選択する仮想デバイスサーバと仮想デバイスサービスとを判断する。すなわち、プロバイダー情報管理部504とサービスプロバイダー判定部506と仮想デバイス管理部503は、処理要求に対応するWebサービスを提供する仮想デバイスサーバを選択して画像形成装置101に割り当てる選択手段として機能する。サービスデプロイ部507は、仮想デバイス管理部503の指示に従って、サービスデプロイ処理を実行する。サービスデプロイ処理は、選択された仮想デバイスサーバすなわちプリンタ101からの処理要求を処理する仮想デバイスサーバに作成される仮想デバイスサービス515を稼動させる処理である。このために、まず、仮想デバイス管理部503が、サービスプロバイダー判定部506の判断結果に基づいて、仮想デバイスサービス515の稼動先を決定する。そして、サービスデプロイ部507が、仮想デバイスサーバが仮想デバイスサービス515を作成するときに必要なソフトウェアのインストールおよびソフトウェアの設定を行う。インストールおよび設定されるソフトウェアは、ハイパーバイザー、オペレーティングシステム、Webサーバサービス、データベースサービス、Webサービス、エンタープライズサービスバスを含む。ハイパーバイザーは、オペレーティングシステムを仮想化するOS仮想化ソフトである。また、このソフトウェアは、サービスレジストリクライアント、仮想デバイスサービスなどを含む。サービスデプロイ部507は、プリンタ101からの処理要求を処理する仮想デバイスサーバに、このソフトウェアのインストールを行い、さらに、プリンタ101からの処理要求を処理する仮想デバイスサービス515を稼動する。仮想デバイスサービス515を高速に稼動するために、サービスデプロイ部507が、これらのソフトウェアのインストールを、プリンタ101からの処理要求に基づく需給予測から事前に準備しておくようにしてもよい。例えば、サービスデプロイ部507が、プリンタ101に依存しない、設定値がデフォルト値の仮想デバイスサービス515を事前稼動しておき、プリンタ101からの処理要求に応じて、仮想デバイスサービス515の設定を行う。これにより、仮想デバイスサービス515の稼動を高速に行うことができる。リソース監視部508は、サービスレジストリ記憶部505内のプロバイダー情報が含むリソース情報を監視する。具体的には、リソース監視部508は、複数の仮想デバイスサーバのリソースの状態の変化を監視する監視手段として機能する。リソース情報は、仮想デバイスサーバによる仮想デバイスサービス515の作成や消滅、プリンタ101からの処理要求に応じた処理を実行する仮想デバイスサービス515の負荷により変動する。また、仮想デバイスサービス515が稼動する仮想デバイスサーバが、仮想OS上で動作している場合は、他の仮想OSの負荷状態により、リソース情報が変動する場合がある。このような場合、リソース監視部508が、リソース情報の変動を検出し、サービスプロバイダー判定部506が、プリンタ101からの処理要求を最適に処理できる仮想デバイスサーバおよび仮想デバイスサービス515を再決定する。すなわち、サービスプロバイダー判定部506が、リソースの状態の変化の監視結果に応じて、現在提供されているWebサービスを提供するための条件を満たすリソースを有する仮想デバイスサーバを特定する。サービスプロバイダー判定部506が、物理的位置情報と上記特定された仮想デバイスサーバの位置情報との比較結果、または相対的位置情報に基づいて、現在提供されているWebサービスを提供するサーバを選択する。そして、仮想デバイス管理部503が、Webサービスを提供する仮想デバイスサーバを、現在該Webサービスを提供しているサーバから選択したサーバに切り替える。Webサービス移動部509は、サービスプロバイダー判定部506が仮想デバイスサーバおよび仮想デバイスサービス515を再決定した場合に、以下の処理を実行する。Webサービス移動部509は、プロバイダー情報で管理する当該処理要求に応じたWebサービスを提供する仮想デバイスサーバおよび仮想デバイスサービス515を変更する。図4に示す仮想デバイスサーバは2台であるが、本実施形態のWebサービスシステムが、仮想デバイスサーバが3台以上にスケールアウトされた構成をとることもできる。例えば、処理の要求元のプリンタ101の台数や、仮想デバイスサーバの処理負荷に応じて、仮想デバイスサーバをスケールアウトする。スケールアウトされた仮想デバイスサーバと仮想デバイス管理サーバ102との間をサービスバスでつなぐことにより、大規模なシステムを構築することができる。仮想デバイス管理部は、スケールアウトにより追加された仮想デバイスサーバの仮想デバイス制御部514に指示して、仮想デバイスサービス515を作成させる。仮想デバイス制御部514は、仮想デバイスサービス515を作成し、作成した仮想デバイスサービス515にアプリケーションや設定情報をロードし、処理可能な仮想デバイスサービス515を増やす。仮想デバイス管理部503は、仮想デバイスサービス515だけではなく、VM上にオペレーティングシステムやWebサーバ502を追加するようにしてもよい。なお、仮想デバイスサービス515や仮想デバイスサーバを減らすことにより、スケールダウン処理を行うようにしてもよい。仮想デバイスサーバが備えるハードウェアリソース情報取得部510は、仮想デバイスサーバにインストールされているハードウェアリソースの情報を取得する。ハードウェアリソース情報は、プリンタ101からの処理要求をハードウェア処理するためのデバイスに関する情報デバイス情報を含む。ハードウェアリソース情報は、例えば、SSL通信を高速に処理するためのSSLアクセラレータ、暗号化アクセラレータや画像処理を高速に処理するためのGPUの情報を含む。また、ハードウェアリソース情報は、データの圧縮伸張を処理する圧縮伸張アクセラレータ、高速通信を行う広帯域ネットワークカードの情報を含む。また、ハードウェアリソース情報は、例えば、メモリやCPUの情報、ストレージ情報を含む。また、デバイス情報は、例えば、サポートしている処理に関する情報やデバイスのステータスを含む。例えば、SSLアクセラレータのデバイス情報は、SSLやTLSのプロトコルバージョンである。また、圧縮伸張アクセラレータのデバイス情報は、圧縮アルゴリズムおよびその属性などを含む。リソース情報取得部511は、前述したリソース情報を取得する。プロバイダー位置情報取得部512は、前述した仮想デバイスサーバの位置情報を取得する。プロバイダー位置情報記憶部513は、プロバイダー位置情報取得部512が取得した仮想デバイスサーバの位置情報を記憶する。仮想デバイス制御部514は、仮想デバイス管理サーバ102の仮想デバイス管理部503から受けた指示に従って、以下の処理を実行する。仮想デバイス制御部514は、ハードウェアリソース情報取得部510からハードウェアリソース情報を取得する。また、仮想デバイス制御部514は、リソース情報取得部511からリソース情報を取得する。また、仮想デバイス制御部514は、プロバイダー位置情報記憶部513から仮想デバイスサーバの位置情報を取得する。そして、仮想デバイス制御部514は、取得したこれらの情報をプロバイダー情報として、送受信部501を介して仮想デバイス管理サーバ102に対して送信する。また、仮想デバイス制御部514は、仮想デバイスサービス515を作成する。仮想デバイスサービス515は、プリンタ101からの処理要求に応じた処理を実行するWebサービスである。仮想デバイスサービス515は、Webサーバ502上で動作する。例えば、仮想デバイスサービス515は、プリンタ101の画像処理部407の代理処理を行う。プリンタ101の画像処理部407が故障した場合や、画像処理部407の処理能力が足りず、処理に時間がかかる場合に、仮想デバイスサービス515が画像処理部407の替わりに処理を行う。仮想デバイスサービス515が、プリンタ101が有していない機能の処理を実行するようにしてもよい。例えば、プリンタ101にOCR機能が無い場合に、仮想デバイスサービス515が、OCR機能を提供する。これにより、プリンタ101にOCR機能が追加された場合と同様の機能を実現することができる。仮想デバイスサービス515は、仮想デバイスサービス515の機能を実現するための機能毎のプログラムをロードする。これにより、仮想デバイスサービス515が、プリンタ101の代わりに様々な機能を提供できる。仮想デバイスサービス515が提供するWebサービスは、仮想デバイス管理サーバ102のプロバイダー情報管理部504で管理される。具体的には、Webサービスと対応付けられた、仮想デバイスサーバの位置情報、仮想デバイスサーバのリソース情報、仮想デバイスサーバのハードウェアリソース情報が、プロバイダー情報としてサービスレジストリ記憶部505に記憶される。これにより、仮想デバイス管理部503は、仮想デバイスサービス515が提供するWebサービスを作成、検索することができる。プリンタ101の処理要求に応じたWebサービスのプリンタ101への割り当てについて説明する。前述したように、仮想デバイスサーバ103は日本でWebサービスを提供し、仮想デバイスサーバ104はアメリカでWebサービスを提供するものとする。仮想デバイス管理サーバ102のサービスプロバイダー判定部506は、サービスレジストリ記憶部505から取得したプロバイダー情報と、プリンタ101からの処理要求の内容が示すWebサービスとに基づいて、以下の処理を実行する。サービスプロバイダー判定部506は、Webサービスに対応付けられている仮想デバイスサーバの位置情報を取得する。サービスプロバイダー判定部506は、プリンタ101から取得したクライアント位置情報が物理的位置情報である場合に、以下の処理を実行する。サービスプロバイダー判定部506は、当該物理的位置情報と上記取得した仮想デバイスサーバの位置情報とを比較し、該比較結果に基づいて、以下の処理を実行する。サービスプロバイダー判定部506は、プリンタ101の物理的位置に最も近い位置に配置されている仮想デバイスサーバを、処理要求に対応するWebサービスを提供する仮想デバイスサーバとして選択する。例えば、サービスプロバイダー判定部506が、処理要求に対応するWebサービスを提供する仮想デバイスサーバとして、日本にある仮想デバイスサーバ103を選択した場合、仮想デバイスサーバ103に仮想デバイスサービス515が作成される。また、例えば、サービスプロバイダー判定部506が、処理要求に対応するWebサービスを提供する仮想デバイスサーバとして、アメリカにある仮想デバイスサーバ103を選択した場合、仮想デバイスサーバ103に仮想デバイスサービス515が作成される。サービスプロバイダー判定部506が、リージョン情報だけではなく、東京や大阪などのデータセンター、データセンター内の物理PC位置に基づいて、処理要求に対応するWebサービスを提供する仮想デバイスサーバを選択するようにしてもよい。また、クライアント位置情報が相対的位置情報である場合に、サービスプロバイダー判定部506は、以下のようにして仮想デバイスサーバの選択をするようにしてもよい。サービスプロバイダー判定部506は、例えば、プリンタ101との間での通信遅延時間RTTが最も短い仮想デバイスサーバを、処理要求に対応するWebサービスを提供する仮想デバイスサーバとして選択する。図6は、Webサービスシステムの動作処理例を説明するシーケンス図である。まず、プリンタ101のクライアント位置情報取得部408が、クライアントの物理的位置情報を取得するP1。次に、仮想デバイス管理サーバ102の仮想デバイス管理部503が起動するP2。次に、プロバイダー情報管理部504が起動するP3。次に、仮想デバイスサーバ103、104の仮想デバイス制御部514が起動するP4。これにより、仮想デバイスサービス515を提供できる準備が整う。続いて、プロバイダー位置情報取得部512が起動し、プロバイダー位置情報取得部512が、仮想デバイスサーバの位置情報を取得するP5。次に、仮想デバイスサーバ103、104のWebサーバ502が起動するP6。続いて、ハードウェアリソース情報取得部510が起動してハードウェアリソース情報を取得する。また、リソース情報取得部511が起動してリソース情報を取得するP7。次に、仮想デバイスサーバ103、104が、仮想デバイス制御部514の起動が完了したことを、仮想デバイス管理サーバ102の仮想デバイス管理部503に通知する。この時点では、プリンタ101の処理要求と関連付けられた仮想デバイスサービス515は起動していない。仮想デバイスサーバ103、104は、仮想デバイス管理サーバ102に対して、P5,P7において取得した情報を含むプロバイダー情報を送信するP8。そして、仮想デバイス管理サーバ102が、プロバイダー情報をサービスレジストリ記憶部505に記憶するP9。上記のP2乃至P9の処理によって、仮想デバイス管理サーバ102、仮想デバイスサーバ103、104が、プリンタ101に対して仮想デバイスサービス515を提供できる状態になる。次に、プリンタ101が、仮想デバイスサーバの仮想デバイスサービス515に実行させる処理を決定し、仮想デバイス管理サーバ102の仮想デバイス管理部503に処理要求を送信するP10。P10においては、プリンタ101は、さらに、P1で取得したクライアント位置情報を仮想デバイス管理サーバ102に対して送信する。なお、P1でクライアント位置情報物理的位置情報が取得されなかった場合には、プリンタ101から仮想デバイス管理サーバ102に対してクライアント位置情報が送信されない。なお、プリンタ101の各処理部がハードウェアやソフトウェアで特別な処理を行っている場合、当該処理部の代理処理を実行する仮想デバイスサービス515は、上記特別な処理と同様の処理を行える必要がある。次に、仮想デバイス管理サーバ102の仮想デバイス管理部503が、クライアント位置情報物理的位置情報を用いて仮想デバイスサーバを選択できるかを判断するP11。物理的位置情報を用いて仮想デバイスサーバを選択できる場合には、P16以降の処理を実行する。プリンタ101から物理的位置情報が送信されない場合や、物理的位置情報によって仮想デバイスサーバを選択できない場合には、仮想デバイス管理サーバ102は、物理的位置情報を用いて仮想デバイスサーバを選択できないと判断し、以下の処理を実行する。まず、仮想デバイス管理サーバ102が、相対的位置計測サーバリストをプリンタ101に対して送信するP12。相対的位置計測サーバリストは、処理要求に応じたWebサービスを提供する仮想デバイスサーバの候補のリストである。仮想デバイス管理サーバ102は、例えば、処理要求に応じたWebサービスを提供可能な仮想デバイスサーバの中から、所定の数の仮想デバイスサーバを候補として選択し、相対的位置計測サーバリストに含める。この例では、仮想デバイスサーバ103、104が、相対的位置計測サーバリストに含まれているものとする。次に、プリンタ101が、仮想デバイス管理サーバ102から受信した相対的位置計測サーバリストから、仮想デバイスサーバの候補を取得するP13。そして、プリンタ101が、当該候補の仮想デバイスサーバの相対的位置情報を取得するP14。具体的には、プリンタ101は、仮想デバイスサーバのプロバイダー位置情報取得部512との通信処理により、相対的位置情報を取得する。取得される相対的位置情報は、例えば、ネットワーク構成マップ、ネットワークノード間距離、通信遅延時間RTT、ローカル時刻の差異等である。プリンタ101が、仮想デバイス管理サーバ102の仮想デバイス管理部503に対して、取得した相対的位置情報をクライアント位置情報として返信するP15。次に、仮想デバイス管理サーバ102が、プリンタ101からの処理要求の内容と、プリンタ101から取得したクライアント位置情報と、プロバイダー情報とに基づいて、処理要求に応じたWebサービスを提供する仮想デバイスサーバを選択するP16。例えば、仮想デバイス管理サーバ102は、プロバイダー情報を参照して、当該Webサービスを提供可能な仮想デバイスサーバを取得する。そして、仮想デバイス管理サーバ102は、相対的位置情報を参照して、上記取得された仮想デバイスサーバのうち、プリンタ101との間での通信遅延時間RTTが最も短い仮想デバイスサーバを選択する。仮想デバイス管理サーバ102が、上記取得された仮想デバイスサーバのうち、プリンタ101との通信で通過するルータ数であるホップ数が最も少ない仮想デバイスサーバを選択するようにしてもよい。また、仮想デバイス管理サーバ102が、上記取得された仮想デバイスサーバのうち、プリンタ101との間のローカル時刻の差が最も少ない仮想デバイスサーバを選択するようにしてもよい。この例では、仮想デバイスサーバ104が選択されたものとする。次に、仮想デバイス管理サーバ102が、サービスデプロイ処理を実行するP17。そして、仮想デバイス管理サーバ102の仮想デバイス管理部503が、仮想デバイスサーバ104に対して、仮想デバイスサービス515の作成を指示するP18。P18においては、仮想デバイス管理部503は、さらに、仮想デバイスサービス515にロードされるアプリケーションの情報と設定情報とを決定した上で、決定した情報を仮想デバイスサーバ104に送信する。なお、プリンタ101からの処理要求によっては、1つの仮想デバイスサービス515が複数のプリンタ101の代理処理を行うことも可能である。仮想デバイス管理サーバ102は、当該代理処理が可能であるか否かを、プロバイダー情報が含む、稼働中の仮想デバイスサービス515に関する情報に基づいて判断する。また、仮想デバイス管理サーバ102のリソース監視部508は、仮想デバイスサーバ103、仮想デバイスサーバ104のリソースを監視している。そして、プリンタ101から近い位置にある仮想デバイスサーバ103のリソースに余裕ができた場合、仮想デバイス管理サーバ102は、以下の処理を行う。仮想デバイス管理サーバ102は、Webサービスを提供する仮想デバイスサーバを仮想デバイスサーバ103に変更するとともに、仮想デバイスサーバ103に対して仮想デバイスサービス515の作成を指示する。図6のP19においては、仮想デバイスサーバ104の仮想デバイス制御部514が、仮想デバイス管理サーバ102の指示に従って、仮想デバイスサービス515を作成する。また、リソース情報取得部511が、仮想デバイスサーバのリソース情報を取得し、仮想デバイス制御部514にリソース情報の更新情報を通知するP20。リソース情報の更新情報は、更新後のリソース情報である。次に、仮想デバイス制御部514が、仮想デバイスサービス515の作成結果とリソース情報の更新情報とを仮想デバイス管理サーバ102の仮想デバイス管理部503に送信する。これにより、仮想デバイスサーバ104の仮想デバイスサービス515の登録処理が行われるP21。仮想デバイスサービス515の作成結果は、仮想デバイスサービス515に関する情報例えば、仮想デバイスサービスを実現するVMに関する情報を含む。仮想デバイス管理サーバ102の仮想デバイス管理部503が、仮想デバイスサービス515の作成結果とリソース情報の更新情報とをプロバイダー情報管理部504に通知する。そして、プロバイダー情報管理部504が、通知された情報をサービスレジストリ記憶部505内のプロバイダー情報に反映するP22。次に、仮想デバイス管理サーバ102の仮想デバイス管理部503が、プリンタ101に対して、仮想デバイスサーバ104内の仮想デバイスサービス515の情報を応答するP23。仮想デバイス管理部503が返信する仮想デバイスサービス515の情報は、仮想デバイスサービス515のアクセス情報例えばエンドポイント情報を含む。次に、プリンタ101が、上記アクセス情報を用いて、仮想デバイスサーバ104の仮想デバイスサービスにアクセスし、処理依頼を行う。例えば、プリンタ101が画像処理サービスを要求した場合、仮想デバイスサーバ104が、プリンタ101に特化した画像処理用の仮想デバイスサービス515を作成してプリンタ101に割り当てるP24。これにより、プリンタ101がWebサービスを利用可能になる。仮想デバイス管理サーバ102のプロバイダー情報管理部504は、プリンタ101に割り当てられた仮想デバイスサービス515をサービスレジストリ記憶部505において管理する。プリンタ101が仮想デバイスサービス515から処理結果を受け取ると、プリンタ101は、仮想デバイス管理サーバ102に対して、Webサービス提供終了要求を行うP26。Webサービス提供終了要求は、仮想デバイスサービス515が提供するWebサービスの提供の終了を求める要求である。次に、仮想デバイス管理サーバ102の仮想デバイス管理部503が、仮想デバイスサーバ104の仮想デバイス制御部514に対して、仮想デバイスサービス515が提供するWebサービスの提供の終了を指示するP27。仮想デバイスサーバ104の仮想デバイス制御部514が、仮想デバイスサービス515によるWebサービスの提供を終了するP28。また、仮想デバイスサーバ104は、P20と同様にリソース情報の更新情報を取得するP29。次に、仮想デバイスサーバ104の仮想デバイス制御部514が、仮想デバイス管理サーバ102の仮想デバイス管理部503に対して、仮想デバイスサービス515によるWebサービスの終了結果とリソース情報の更新情報とを送信する。これにより、仮想デバイスサーバ104の仮想デバイスサービス515の登録の削除処理が行われるP30。仮想デバイス管理サーバ102の仮想デバイス管理部503は、仮想デバイスサーバ104から送信された情報をプロバイダー情報に反映させるP31。具体的には、仮想デバイス管理部503は、プロバイダー情報が含むリソース情報を更新するとともに、プロバイダー情報が含むエントリのうち、当該Webサービスの提供を終了した仮想デバイスサービス515に対応するエントリを削除する。そして、仮想デバイス管理部503は、プリンタ101に対して、Webサービスの提供が終了したことを通知するP32。図7は、クライアント位置情報の取得処理を説明するフローチャートである。まず、プリンタ101のオフロード処理制御部400が、クライアント位置情報取得部408に対して、クライアント位置情報の取得を指示するステップS1。この例では、オフロード処理制御部400は、クライアント位置情報取得部408に対して、物理的位置情報の取得指示または相対的位置情報の取得指示を行う。なお、プリンタ101が仮想デバイス管理サーバ102から相対的位置計測サーバリストを受け取っている場合図6のP12を参照には、相対的位置情報の取得指示は、当該相対的位置計測サーバリストを含む。次に、クライアント位置情報取得部が、ステップS1におけるクライアント位置情報の取得の指示が、物理的位置情報の取得指示か、または相対的位置情報の取得指示のいずれであるかを判断するステップS2。クライアント位置情報の取得の指示が相対的位置情報の取得指示である場合は、ステップS4に進む。クライアント位置情報の取得の指示が、物理的位置情報の取得指示である場合、クライアント位置情報取得部408が、物理的位置情報を取得するステップS3。この例では、クライアント位置情報取得部408は、プリンタ101のGPS情報、ユーザ設定位置情報、仮想PCの位置情報、物理PCの位置情報、IPアドレス、ネットワークドメイン情報を物理的位置情報として取得する。ステップS4において、相対的位置情報の取得指示が相対的位置計測サーバリストを含むかを判断するステップS4。相対的位置情報の取得指示が相対的位置計測サーバリストを含む場合は、ステップS5に進む。相対的位置情報の取得指示が相対的位置計測サーバリストを含まない場合、クライアント位置情報取得部408が、仮想デバイス管理サーバ102の仮想デバイス管理部503に対して、相対的位置計測サーバリストの取得要求をする。そして、クライアント位置情報取得部408が、仮想デバイス管理部503から、相対的位置計測サーバリストを取得するステップS7。ステップS5、S6において、クライアント位置情報取得部408が、相対的位置計測サーバリストが含む仮想デバイスサーバの候補の各々について、相対的位置情報を取得する。例えば、クライアント位置情報取得部408は、プリンタ101と仮想デバイスサーバの候補との間の、ネットワークノード間距離、通信遅延時間RTT、ローカル時刻の差異を取得するステップS5。また、例えば、クライアント位置情報取得部408は、ネットワーク構成マップを取得するステップS6。具体的には、クライアント位置情報取得部408は、例えば、LLDPIEEE802.1AB、LLTD等のネットワーク探索プロトコルを用いて、自ノードと各種サービスとの間のネットワーク構成のリストを作成する。LLDPは、LinkLayerDiscoveryProtocolの略称である。また、LLTDは、LinkLayerTopologyDiscoveryの略称である。作成されたネットワーク構成のリストは、例えば、ホップ数、ルータ、スイッチ等を含む。クライアント位置情報取得部408がネットワークマップを相対的位置情報として作成することにより、プリンタ101と仮想デバイスサーバとの間の通信時のホップ数だけでなく、通信ルートや、通信ルートにあるスイッチに関する情報も取得できる。従って、取得された相対的位置情報を用いることにより、プリンタ101から仮想デバイスサーバへの正確なネットワーク経路の判定を実行することができ、その結果、Webサービスを提供させる最適な仮想デバイスサーバの選択が可能となる。図8は、仮想デバイスサービスの登録処理例を説明するフローチャートである。まず、仮想デバイス管理サーバ102の仮想デバイス管理部503が、仮想デバイスサーバの仮想デバイス制御部514から、プロバイダー位置情報、リソース情報、ハードウェアリソース情報を取得するステップS11。仮想デバイス管理部503が、プロバイダー情報管理部504に指示して、ステップS11において取得した情報をプロバイダー情報の一部としてサービスレジストリ記憶部505に登録させるステップS12。次に、仮想デバイス管理部503が、プリンタ101から処理要求を受け取るステップS13。ステップS13においては、仮想デバイス管理部503は、さらに、プリンタ101からクライアント位置情報を取得する第2取得手段として機能する。ステップS13において取得されるクライアント位置情報は、物理的位置情報を含む。続いて、仮想デバイス管理部503が、プロバイダー情報に、ステップS13において受け取った処理要求に応じたWebサービスを提供可能な仮想デバイスサービスが登録されているかを判断するステップS14。当該Webサービスを提供可能な仮想デバイスサービスが登録されていない場合は、ステップS16に進む。当該Webサービスを提供可能な仮想デバイスサービスが登録されている場合、仮想デバイス管理部503が、当該仮想デバイスサービスを、当該Webサービスを提供させる仮想デバイスサービスとして選択して登録するステップS15。ステップS16において、仮想デバイス管理部503が、サービスプロバイダー判定部506に指示して、Webサービスを提供させる仮想デバイスサーバの候補の決定処理を実行するステップS16。具体的には、サービスプロバイダー判定部506は、プロバイダー情報が含むプロバイダー位置情報と、クライアント位置情報とに基づいて、仮想デバイスサーバの候補を決定する。次に、仮想デバイス管理部503が、仮想デバイスサーバの候補のリソース情報を取得するステップS17。続いて、仮想デバイス管理部503が、ステップS17において取得したリソース情報に基づいて、以下の処理を実行する。仮想デバイス管理部503は、仮想デバイスサーバの候補が、当該Webサービスを提供できる仮想デバイスサービスが稼動できる仮想デバイスサーバであるかを判断するステップS18。つまり、仮想デバイス管理部503は、リソース情報を参照して、ステップS16の処理により候補選択対象として決定された仮想デバイスサーバが有するリソースが処理要求を満たすかを判断する。仮想デバイスサーバの候補が、Webサービスを提供できる仮想デバイスサービスが稼動できる仮想デバイスサーバでない場合は、ステップS16に戻る。仮想デバイスサーバの候補が、Webサービスを提供できる仮想デバイスサービスが稼動できる仮想デバイスサーバである場合は、ステップS19に進む。ステップS19において、仮想デバイス管理部503が、Webサービスを提供できる仮想デバイスサービスが稼動できる仮想デバイスサーバを、当該Webサービスを提供させる仮想デバイスサーバとして選択する。そして、仮想デバイス管理部503が、選択した仮想デバイスサーバの仮想デバイス制御部514に指示して、当該Webサービスを提供させる仮想デバイスサービスを作成させる。続いて、サービスデプロイ部507が、仮想デバイスサービス515とプリンタ101との情報の最終同期を行いステップS20、ステップS15に進む。これにより、仮想デバイスサービス515が利用可能な状態に遷移する。図8を参照して説明した処理によれば、クライアント位置情報に基づいて選択対象となる仮想デバイスサーバのうち、処理要求を満たすリソースを有するサーバを、該処理要求に対応するWebサービスを提供するサーバとして選択することができる。図9は、図8のステップS16におけるWebサービスを提供させる仮想デバイスサーバの候補の決定処理例を説明するフローチャートである。サービスプロバイダー判定部506が、プロバイダー情報を参照して、プリンタ102からの処理要求に対応する仮想デバイスサーバを取得する。サービスプロバイダー判定部506は、取得した仮想デバイスサーバの位置情報とプリンタ101から取得したプリンタ101の物理的位置情報とに基づいて、物理的位置がプリンタ101に近い仮想デバイスサーバのリストを作成するステップS31。例えば、サービスプロバイダー判定部506は、プリンタ101と所定の距離の範囲内にある仮想デバイスサーバを特定してリストに含める。次に、サービスプロバイダー判定部506が、ステップS31において作成されたリストが複数の仮想デバイスサーバを含むかを判断するステップS32。リストが複数の仮想デバイスサーバを含む場合は、ステップS34に進む。リストが1つの仮想デバイスサーバを含む場合は、この仮想デバイスサーバが、プリンタ101に最も近い仮想デバイスサーバである。従って、この場合には、処理がステップS33に進み、サービスプロバイダー判定部506が、当該プリンタ101に最も近い仮想デバイスサーバをWebサービスを提供させる仮想デバイスサーバの候補として決定するステップS33。ステップS34において、仮想デバイス管理部503が、上記ステップS31において作成されたリストを相対的位置計測サーバリストとしてプリンタ101に送信する。そして、仮想デバイス管理部503が、プリンタ101から相対的位置計測サーバリストが含む各々の仮想デバイスサーバについての相対的位置情報を取得する。次に、サービスプロバイダー判定部506が、相対的位置情報が含むネットワーク構成マップに基づいて、相対的位置計測サーバリストに、プリンタ101と同一ネットワークにある仮想デバイスサーバが複数含まれるかを判断するステップS35。相対的位置計測サーバリストに、プリンタ101と同一ネットワークにある仮想デバイスサーバが複数含まれる場合は、ステップS36に進む。相対的位置計測サーバリストに、プリンタ101と同一ネットワークにある仮想デバイスサーバが1つだけ含まれる場合は、ステップS33に進む。そして、サービスプロバイダー判定部506が、プリンタ101と同一プリンタネットワークにある仮想デバイスサーバを、Webサービスを提供させる仮想デバイスサーバの候補として決定する。ステップS36において、サービスプロバイダー判定部506は、プリンタ101と同一ネットワークにある複数の仮想デバイスサーバの各々について、対応する相対的位置情報が含む通信遅延時間RTTを取得するステップS36。そして、サービスプロバイダー判定部506が、当該複数の仮想デバイスサーバのうち、通信遅延時間RTTが最も小さい仮想デバイスサーバを、Webサービスを提供させる仮想デバイスサーバの候補として決定するステップS33。なお、サービスプロバイダー判定部506が、ネットワークノード間距離を取得し、ネットワークノード間距離が最も小さい仮想デバイスサーバを、Webサービスを提供させる仮想デバイスサーバの候補として決定するようにしてもよい。また、サービスプロバイダー判定部506が、ローカル時刻の差異を取得し、ローカル時刻の差異が最も小さい仮想デバイスサーバを、Webサービスを提供させる仮想デバイスサーバの候補として決定するようにしてもよい。すなわち、サービスプロバイダー判定部506は、物理的位置情報と仮想デバイスサーバの位置情報との比較結果に基づいて仮想デバイスサーバを選択できない場合にS32でYes、以下の処理を実行する。サービスプロバイダー判定部506は、相対的位置情報に基づいて、処理要求に対応するWebサービスを提供する仮想デバイスサーバを選択する。図9を参照して説明した処理により、日本にあるプリンタ101と物理的位置または相対的位置が最も近い仮想デバイスサーバ103が候補として決定されたものとする。ここで、図8のステップS18の処理で、日本にある仮想デバイスサーバ103が、Webサービスを提供できる仮想デバイスサービスが稼動できる仮想デバイスサーバでないと判断された場合は、仮想デバイスサーバ103にWebサービスはデプロイされない。この場合には、Webサービスを提供させる仮想デバイスサーバの候補の決定処理が再度実行される図8のステップS18でNo,ステップS16。これにより、例えば、アメリカにある仮想デバイスサーバ104がWebサービスを提供させる仮想デバイスサーバとして選択される。本実施形態のWebサービスシステムによる仮想デバイスサーバの選択処理について、さらに具体的に説明する。例えば、仮想デバイス管理サーバ102がプリンタ101から受けた処理要求が、プリントサービスVersion10.10であり、クライアント位置情報が示すプリンタ101の位置が日本である場合を想定する。仮想デバイス管理サーバ102は、図5Cに示すプロバイダー情報プロバイダー位置情報を参照して、以下の処理を実行する。仮想デバイス管理サーバ102は、プリンタ101に最も近い仮想デバイスサーバサービスが、RegionがJPであって、かつ、識別子がPrint001であるWebサービスに対応する仮想デバイスサーバサービスであると判断する。識別子がPrint003であるWebサービスに対応する仮想デバイスサーバサービスは、RegionがUSであるので、プリンタ101の近くではないと判断される。RegionがJPであるWebサービスが複数存在する場合は、仮想デバイス管理サーバ102は、例えば以下の処理を実行する。仮想デバイス管理サーバ102は、仮想デバイスサービスが稼働するデータセンターや、仮想PC、物理PCなどの所在住所や、緯度や経度など、詳細な物理的位置情報を用いて、プリンタ101に最も近い仮想デバイスサーバサービスを判断する。仮想デバイス管理サーバ102は、図5Dに示すリソース情報を参照して、以下の処理を実行する。仮想デバイス管理サーバ102は、識別子がPrint001であるWebサービスに対応する仮想デバイスサーバのリソース情報に基づき、識別子Print001の仮想デバイスサーバは高負荷のために新規のWebサービスを受け付けられないと判断する。従って、仮想デバイス管理サーバ102は、識別子がPrint003の仮想デバイスサーバがUSのRegionであり、プリンタ101のRegionと不一致であるにも係らず、プリントサービスを提供させる仮想デバイスサーバとして選択する。図10は、仮想デバイスサーバによるリソース情報の取得処理を説明するフローチャートである。まず、リソース情報取得部511が、仮想デバイス制御部514から、仮想デバイスサーバのリソース情報の取得要求を受けるステップS41。続いて、リソース情報取得部511が、仮想デバイスサーバを実現する物理PCのリソース情報を取得するステップS42。リソース情報取得部511は、例えば、物理PCのCPU使用率、Networkカード使用率、ディスクI/O使用率、ディスク転送速度、ネットワークカード転送量、ネットワークの転送速度、またはディスク空き容量をリソース情報として取得する。次に、リソース情報取得部511が、仮想PCが稼働しているかを判断するステップS43。仮想PCが稼動していない場合は、処理を終了する。仮想PCが稼動している場合、リソース情報取得部511は、仮想PCのリソース情報を取得するステップS44。リソース情報取得部511は、例えば、仮想PCのCPU使用率、Networkカード使用率、ディスクI/O使用率、ディスク転送速度、ネットワークカード転送量、仮想ネットワークの転送速度、またはディスク空き容量をリソース情報として取得する。仮想PCのリソース情報取得は、仮想PCに固有の情報取得APIを利用することで取得可能である。例えば、仮想PCがMicrosoftHyper-V登録商標の場合、HypervisorAPIを利用してリソース情報の取得が可能である。続いて、リソース情報取得部511が、Webサーバ502及び仮想デバイスサービス515のリソース情報を取得してステップS45、処理を終了する。本実施形態の仮想デバイス管理サーバ102は、画像形成装置101から処理要求を受け付けると、プロバイダー情報とクライアント位置情報とに基づいて、処理要求に対応するWebサービスを提供するサーバを選択して画像形成装置に割り当てる。例えば、仮想デバイス管理サーバ102は、プロバイダー情報が含む仮想デバイスサーバの位置情報とクライアント位置情報が含む画像形成装置101の物理的位置情報とに基づいて、以下の処理を実行する。仮想デバイス管理サーバ102は、画像形成装置101の位置に最も近い位置にある仮想デバイスサーバを、当該Webサービスを提供させる仮想デバイスサーバとして選択する。従って、本実施形態の仮想デバイス管理サーバ102によれば、画像形成装置101が要求する処理に応じたWebサービスを、画像形成装置101の位置に応じた適切なサーバに提供させることができる。また、本実施形態の仮想デバイス管理サーバ102は、選択対象となる仮想デバイスサーバが有するリソースが、画像形成装置101からの処理要求を満たすかを判断する。仮想デバイス管理サーバ102は、該リソースが処理要求を満たさない場合に、該処理要求を満たすリソースを有する仮想デバイスサーバを、該処理要求に対応するWebサービスを提供する仮想デバイスサーバとして選択する。従って、本実施形態の仮想デバイス管理サーバ102によれば、仮想デバイスサーバのリソースの変動に応じて、Webサービスを提供させる仮想デバイスを切り替えることができる。本実施形態のWebサービスシステムを、仮想化OSなどで構成される場合も含めて一つの機器からなる装置に適用しても良い。さらに、本実施形態のWebサービスシステムを、インターネットを経由したクラウドコンピューティングで構成されるシステムに適用しても良い。その他の実施例また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。"