(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されたクライアント装置、第１サービス提供装置、及び第２サービス提供装置を含むサービス提供システムであって、
前記クライアント装置は、
ジョブを実行するにあたり、該ジョブに要求される第１サービス内容を前記第１サービス提供装置に対して通知する第１通知手段を備え、
前記第１サービス提供装置は、
前記クライアント装置から通知された前記第１サービス内容を単独で処理可能か否かを判断する手段と、
前記第１サービス内容を単独では処理できない場合、前記ジョブを実行するのに他に必要となる第２サービス内容を前記ネットワーク上の全サービス提供装置に通知し、前記第２サービス内容を処理しうる第２サービス提供装置を前記ネットワーク上で検索する検索手段と、
第２のサービス提供装置から、少なくとも第２サービス提供装置のアドレス情報の応答を受けた場合、前記クライアント装置に対し、少なくとも前記第２サービス提供装置のアドレス情報を応答する第２応答手段とを備え、
前記第２サービス提供装置は、
前記検索手段により通知された前記第２サービス内容を処理しうると判断した場合に、第１サービス提供装置に対し、少なくとも第２サービス提供装置のアドレス情報を応答する第１応答手段と、
を備えることを特徴とするサービス提供システム。
【請求項２】
前記第１通知手段は、前記第１サービス内容を、ネットワーク上の全サービス提供装置に対して通知することを特徴とする請求項１に記載のサービス提供システム。
【請求項３】
前記第２通知手段は、前記第１サービス提供装置のアドレス情報を前記全サービス提供装置に通知することを特徴とする請求項１又は２に記載のサービス提供システム。
【請求項４】
前記第１サービス提供装置が第１サービス内容を単独で処理しうると判断した場合には、前記第２応答手段は、前記クライアント装置に対し、少なくとも前記第１サービス提供装置のアドレス情報を応答することを特徴とする請求項１、２又は３に記載のサービス提供システム。
【請求項５】
前記クライアント装置は、前記第２応答手段によって応答を受けた前記アドレス情報に対して、前記ジョブを発行することを特徴とする請求項１乃至４の何れか１項に記載のサービス提供システム。
【請求項６】
前記第２サービス提供装置に対して前記クライアント装置からの前記ジョブが発行された場合には、
前記第２サービス提供装置は、前記ジョブに対して前記第２サービス内容を処理した後に、前記第１サービス提供装置に処理後のジョブを送信し、
前記第１サービス提供装置は、前記処理後のジョブに更に処理を行うことによって、前記ジョブを達成することを特徴とする請求項５に記載のサービス提供システム。
【請求項７】
ネットワークに接続されたクライアント装置、第１サービス提供装置、及び第２サービス提供装置を用いたサービス提供方法であって、
前記クライアント装置が、ジョブを実行するにあたり、該ジョブに要求される第１サービス内容を前記第１サービス提供装置に対して通知する第１通知工程と、
前記第１サービス提供装置が、前記クライアント装置から通知された前記第１サービス内容を単独で処理可能か否かを判断する工程と、
前記第１サービス提供装置が、前記第１サービス内容を単独では処理できない場合、前記ジョブを実行するのに他に必要となる第２サービス内容を前記ネットワーク上の全サービス提供装置に通知し、前記第２サービス内容を処理しうる第２サービス提供装置を前記ネットワーク上で検索する検索工程と、
前記第１サービス提供装置が、第２のサービス提供装置から、少なくとも第２サービス提供装置のアドレス情報の応答を受けた場合、前記クライアント装置に対し、少なくとも前記第２サービス提供装置のアドレス情報を応答する第２応答工程と、
前記第２サービス提供装置が、前記検索工程により通知された前記第２サービス内容を処理しうると判断した場合に、第１サービス提供装置に対し、少なくとも第２サービス提供装置のアドレス情報を応答する第１応答工程と、
を含むことを特徴とするサービス提供方法。
【請求項８】
前記第１通知工程は、前記第１サービス内容を、ネットワーク上の全サービス提供装置に対して通知することを特徴とする請求項７に記載のサービス提供方法。
【請求項９】
前記第２通知工程は、前記第１サービス提供装置のアドレス情報を前記全サービス提供装置に通知することを特徴とする請求項７又は８に記載のサービス提供方法。
【請求項１０】
前記第１サービス提供装置が第１サービス内容を単独で処理しうると判断した場合には、前記第２応答工程は、前記クライアント装置に対し、少なくとも前記第１サービス提供装置のアドレス情報を応答することを特徴とする請求項７、８又は９に記載のサービス提供方法。
【請求項１１】
前記クライアント装置は、前記第２応答工程によって応答を受けた前記アドレス情報に対して、前記ジョブを発行することを特徴とする請求項７乃至１０の何れか１項に記載のサービス提供方法。
【請求項１２】
前記第２サービス提供装置に対して前記クライアント装置からの前記ジョブが発行された場合には、
前記第２サービス提供装置は、前記ジョブに対して前記第２サービス内容を処理した後に、前記第１サービス提供装置に処理後のジョブを送信し、
前記第１サービス提供装置は、前記処理後のジョブに更に処理を行うことによって、前記ジョブを達成することを特徴とする請求項１１に記載のサービス提供方法。
【請求項１３】
ネットワークに接続され、第１サービス内容を提供するサービス提供装置であって、
前記ネットワークに接続されたクライアント装置からの第２サービス内容の要求に対して、前記サービス提供装置単独で実行できるか否か判定する判定手段と、
前記判定手段で前記第２サービス内容を前記サービス提供装置単独で提供できないと判定した場合に、前記第２サービス内容を提供するために前記第１サービス内容と組合わせる必要のある第３サービス内容を提供できる、他のサービス提供装置を前記ネットワーク上で検索する検索手段と、
前記他のサービス提供装置を特定する情報を前記クライアント装置に対して送信する送信手段と、
を有することを特徴とするサービス提供装置。
【請求項１４】
前記第１サービス内容は、第１フォーマットのプリント対象データのプリント処理であり、前記第２サービス内容は、第２フォーマットのプリント対象データのプリント処理であり、前記第３サービス内容は、前記第２フォーマットから前記第１フォーマットへのデータ変換処理であることを特徴とする請求項１３に記載のサービス提供装置。
【請求項１５】
第１サービス内容を提供するサービス提供方法であって、
ネットワークに接続されたクライアント装置からの第２サービス内容の要求を実行できるか否か判定する判定工程と、
前記判定工程で前記第２サービス内容を提供できないと判定した場合に、前記第２サービス内容を提供するために前記第１サービス内容と組合わせる必要のある第３サービス内容を提供できるサービス提供装置を前記ネットワーク上で検索する検索工程と、
前記サービス提供装置を特定する情報を前記クライアント装置に対して送信する送信工程と、
を有することを特徴とするサービス提供方法。
【請求項１６】
第１サービス内容を提供するサービス提供プログラムであって、
ネットワークに接続されたクライアント装置からの第２サービス内容の要求を実行できるか否か判定する判定工程と、
前記判定工程で前記第２サービス内容を提供できないと判定した場合に、前記第２サービス内容を提供するために前記第１サービス内容と組合わせる必要のある第３サービス内容を提供できるサービス提供装置を前記ネットワーク上で検索する検索工程と、
前記サービス提供装置を特定する情報を前記クライアント装置に対して送信する送信工程と、
をコンピュータに実行させることを特徴とするサービス提供プログラム。
【請求項１７】
第１サービス内容を提供するサービス提供プログラムを格納したメモリであって、
ネットワークに接続されたクライアント装置からの第２サービス内容の要求を実行できるか否か判定する判定工程と、
前記判定工程で前記第２サービス内容を提供できないと判定した場合に、前記第２サービス内容を提供するために前記第１サービス内容と組合わせる必要のある第３サービス内容を提供できるサービス提供装置を前記ネットワーク上で検索する検索工程と、
前記サービス提供装置を特定する情報を前記クライアント装置に対して送信する送信工程と、
をコンピュータに実行させるサービス提供プログラムを格納したことを特徴とするコンピュータ可読メモリ。
【請求項１８】
同じネットワーク上にクライアント装置、第１サービス提供装置、及び第２サービス提供装置を含むサービス提供システムであって、
前記クライアント装置は、前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知手段を有し、
前記第１サービス提供装置は、通知手段によって通知された前記第１サービス内容を前記第１サービス提供装置単独で行うことができない場合に、前記第１サービス内容を行うために必要となる第２サービス内容を行うことのできる第２サービス提供装置を検索する検索手段を有し、
前記クライアント装置は、更に、前記第２サービス提供装置に対して、前記第１サービス内容の対象となる第１データを送信する第１送信手段を有し、
前記第２サービス提供装置は、前記第１送信手段で送信された第１データに対して前記第２サービス内容を行い、第２データとして前記第１サービス提供装置に送信する第２送信手段を有し、
前記第１サービス提供装置は、更に、前記第２送信手段によって送信された前記第２データに対して前記第１サービス内容を行うサービス提供手段を有することを特徴とするサービス提供システム。
【請求項１９】
同じネットワーク上にクライアント装置、第１サービス提供装置、及び第２サービス提供装置を利用するサービス提供方法であって、
前記クライアント装置が、前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知工程と、
前記第１サービス提供装置が、通知工程によって通知された前記第１サービス内容を前記第１サービス提供装置単独で行うことができない場合に、前記第１サービス内容を行うために必要となる第２サービス内容を行うことのできる第２サービス提供装置を検索する検索工程と、
前記クライアント装置が、更に、前記第２サービス提供装置に対して、前記第１サービス内容の対象となる第１データを送信する第１送信工程と、
前記第２サービス提供装置は、前記第１送信工程で送信された第１データに対して前記第２サービス内容を行い、第２データとして前記第１サービス提供装置に送信する第２送信工程と、
前記第１サービス提供装置は、更に、前記第２送信工程によって送信された前記第２データに対して前記第１サービス内容を行うサービス提供工程と、
を有することを特徴とするサービス提供方法。
【請求項２０】
クライアント装置から通知されるサービス内容を自身により単独で行うことができない場合、サービス内容を行うために必要となる第２サービス提供装置を検索する第１サービス提供装置とネットワークを介して接続されたクライアント装置であって、
前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知手段と、
前記第１サービス提供装置から、前記通知手段による第１サービス内容を通知に応じた応答を受信する受信手段と、
前記受信手段により受信した応答に前記第２サービス提供装置のアドレス情報を含む場合、ネットワークを介して前記第２サービス提供装置に前記第１サービス内容の対象となる第１データを送信する送信手段と、
を備えることを特徴とするクライアント装置。
【請求項２１】
前記送信手段は、前記第２サービス提供装置が前記第１データに対して第２サービス内容を行い第２データとして前記第１サービス提供装置に送信し、前記第１サービス提供装置が前記第２データに対して単独で処理を行うため、前記第１サービス内容の対象となる第１データを送信することを特徴とする請求項２０に記載のクライアント装置。
【請求項２２】
クライアント装置から通知されるサービス内容を自身により単独で行うことができない場合、サービス内容を行うために必要となる第２サービス提供装置を検索する第１サービス提供装置、ネットワークを介して接続されたクライアント装置の制御方法であって、
前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知工程と、
前記第１サービス提供装置から、前記通知工程による第１サービス内容を通知に応じた応答を受信する受信工程と、
前記受信工程により受信した応答に前記第２サービス提供装置のアドレス情報を含む場合、ネットワークを介して前記第２サービス提供装置に前記第１サービス内容の対象となる第１データを送信する送信工程と、
を含むことを特徴とするクライアント装置の制御方法。
【請求項２３】
クライアント装置から通知されるサービス内容を自身により単独で行うことができない場合、サービス内容を行うために必要となる第２サービス提供装置を検索する第１サービス提供装置、ネットワークを介して接続されたクライアント装置の制御プログラムであって、
前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知工程と、
前記第１サービス提供装置から、前記通知工程による第１サービス内容を通知に応じた応答を受信する受信工程と、
前記受信工程により受信した応答に前記第２サービス提供装置のアドレス情報を含む場合、ネットワークを介して前記第２サービス提供装置に前記第１サービス内容の対象となる第１データを送信する送信工程と、
をクライアント装置に実行させることを特徴とする制御プログラム。
【請求項２４】
クライアント装置から通知されるサービス内容を自身により単独で行うことができない場合、サービス内容を行うために必要となる第２サービス提供装置を検索する第１サービス提供装置、ネットワークを介して接続されたクライアント装置の制御プログラムを格納したコンピュータ可読メモリであって、
前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知工程と、
前記第１サービス提供装置から、前記通知工程による第１サービス内容を通知に応じた応答を受信する受信工程と、
前記受信工程により受信した応答に前記第２サービス提供装置のアドレス情報を含む場合、ネットワークを介して前記第２サービス提供装置に前記第１サービス内容の対象となる第１データを送信する送信工程と、
をクライアント装置に実行させる制御プログラムを格納したことを特徴とするコンピュータ読取可能なコンピュータ可読メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サービス提供システム、サービス提供方法、サービス提供装置、その制御方法、制御プログラム、及び、コンピュータ可読メモリに関するものである。
【０００２】
【従来の技術】
従来から、ネットワーク上のクライアント装置からのサービス要求に応え、サービスを提供するサービス提供装置及び、サービス提供システムが知られている。
【０００３】
例えば、インターネットによる通信の飛躍的な普及に伴い、ネットワーク対応型機器も、従来のパーソナルコンピュータから、ＰＤＡ(Personal Digital Assistance)、携帯電話等のユーザインタラクティブなデバイスや、スキャナ、プリンタ、複写機、デジタルカメラ等の画像処理装置、テレビ、エアコン、冷蔵庫等の家電製品に至るまでネットワーク対応が急速に進められつつある。
【０００４】
それに伴い、これら情報機器間で交換されるデータに関しても、多くの標準化団体がそれぞれデータフォーマットを策定を続けており、結果として膨大な種類のデータが存在することとなった。
【０００５】
ＷＥＢを利用したインターネット環境を例にとると、ＸＭＬ(eXtensible Markup Language)をベースとするデータフォーマットに関してはXTHML-Basic, XHTML, SVG(Scalable Vector Graphic)など複数存在し、またイメージデータフォーマットに関してもJPEG, PNG, GIF等、複数の標準フォーマットが存在する。
【０００６】
このような環境下において、情報機器間で交換されるドキュメント情報を、ネットワーク対応型のプリンタ、複写機等の画像処理装置等でハードコピーとして印字出力する要求も依然として存在する。そのため、各画像処理装置は各種データフォーマットを、印刷可能なデータフォーマットに変換するフォーマッタを画像処理装置自身に実装するか、あるいは、ネットワーク上に存在する第３のサーバでフォーマット変換した後、印刷を実行していた。
【０００７】
【発明が解決しようとする課題】
しかしながら、従来のサービス提供システムでは、クライアント装置から要求されたサービスをサービス提供装置単独で提供できない場合には、全くサービスを提供しないか、或は、ネットワーク上の予め指定された他の装置を利用することによってサービスを提供していた。ここで予め指定された他の装置を利用する場合、他の装置のアドレス情報が変更すれば、その装置を利用できなくなるため、ネットワーク情報の更新が不可欠であり、非常に処理が煩雑であった。
【０００８】
プリントサービスについて例示的に説明すると、ネットワーク対応プリンタの限られたリソースの範囲内で、全てのデータフォーマットに対しフォーマッタを実装することは事実上不可能であり、処理可能なデータフォーマットを限定した上で実装する必要があった。その結果、新規に策定されたデータフォーマットに関してはプリント不能となり、長期にわたり製品価値を維持することは困難であった。
【０００９】
また、第３のサーバで変換処理を行う場合は、クライアント、およびネットワーク対応プリンタに、予め該サーバのＩＰアドレス、あるいはDNS(Domain Name Server)が有効な環境においてはホストネーム等の登録をしておく必要があり、そのため、ネットワーク上に新規に変換サーバを追加した場合、改めてクライアント、プリンタともにネットワーク情報を再構築する必要があった。
【００１０】
また、この場合の変換処理手順としては、クライアントがまずサーバに対しドキュメントを送信しフォーマット変換を依頼し、サーバからの変換完了通知を受取った後に変換後のデータをサーバから受信し、全データの受信が完了した後、サーバによりフォーマット変換されプリント可能となったデータをプリンタに送信するという処理手順か、あるいは、クライアントはドキュメントをプリンタに転送し、プリンタは該データの受信を完了した後、サーバに対し該データを送信しフォーマット変換を依頼し、サーバからの変換完了通知を受取った後に変換後のデータをサーバから受信し、プリントするという処理手順が必要であった。そのため、処理手順、処理経路が複雑となり、そのためクライアント、サーバ、プリンタ間での変換処理依頼、変換処理完了通知のためのプロトコル実装が困難であり、また、多くの処理時間を要するものであった。
【００１１】
本発明は、上記従来技術の課題を解決するためになされたもので、その目的とするところは、ネットワーク上のクライアント装置からのサービス要求に応え、容易にサービスを提供するための、サービス提供システム、サービス提供方法、サービス提供装置、その制御方法、制御プログラム、及び、コンピュータ可読メモリを提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るシステムは、
ネットワークに接続されたクライアント装置、第１サービス提供装置、及び第２サービス提供装置を含むサービス提供システムであって、
前記クライアント装置は、
ジョブを実行するにあたり、該ジョブに要求される第１サービス内容を前記第１サービス提供装置に対して通知する第１通知手段を備え、
前記第１サービス提供装置は、
前記クライアント装置から通知された前記第１サービス内容を単独で処理可能か否かを判断する手段と、
前記第１サービス内容を単独では処理できない場合、前記ジョブを実行するのに他に必要となる第２サービス内容を前記ネットワーク上の全サービス提供装置に通知し、前記第２サービス内容を処理しうる第２サービス提供装置を前記ネットワーク上で検索する検索手段と、
第２のサービス提供装置から、少なくとも第２サービス提供装置のアドレス情報の応答を受けた場合、前記クライアント装置に対し、少なくとも前記第２サービス提供装置のアドレス情報を応答する第２応答手段とを備え、
前記第２サービス提供装置は、
前記検索手段により通知された前記第２サービス内容を処理しうると判断した場合に、第１サービス提供装置に対し、少なくとも第２サービス提供装置のアドレス情報を応答する第１応答手段と、
を備えることを特徴とする。
【００１３】
上記目的を達成するため、本発明に係る方法は、
ネットワークに接続されたクライアント装置、第１サービス提供装置、及び第２サービス提供装置を用いたサービス提供方法であって、
前記クライアント装置が、ジョブを実行するにあたり、該ジョブに要求される第１サービス内容を前記第１サービス提供装置に対して通知する第１通知工程と、
前記第１サービス提供装置が、前記クライアント装置から通知された前記第１サービス内容を単独で処理可能か否かを判断する工程と、
前記第１サービス提供装置が、前記第１サービス内容を単独では処理できない場合、前記ジョブを実行するのに他に必要となる第２サービス内容を前記ネットワーク上の全サービス提供装置に通知し、前記第２サービス内容を処理しうる第２サービス提供装置を前記ネットワーク上で検索する検索工程と、
前記第１サービス提供装置が、第２のサービス提供装置から、少なくとも第２サービス提供装置のアドレス情報の応答を受けた場合、前記クライアント装置に対し、少なくとも前記第２サービス提供装置のアドレス情報を応答する第２応答工程と、
前記第２サービス提供装置が、前記検索工程により通知された前記第２サービス内容を処理しうると判断した場合に、第１サービス提供装置に対し、少なくとも第２サービス提供装置のアドレス情報を応答する第１応答工程と、
を含むことを特徴とする。
【００１４】
上記目的を達成するため本発明に係る装置は、
ネットワークに接続され、第１サービス内容を提供するサービス提供装置であって、
前記ネットワークに接続されたクライアント装置からの第２サービス内容の要求に対して、前記サービス提供装置単独で実行できるか否か判定する判定手段と、
前記判定手段で前記第２サービス内容を前記サービス提供装置単独で提供できないと判定した場合に、前記第２サービス内容を提供するために前記第１サービス内容と組合わせる必要のある第３サービス内容を提供できる、他のサービス提供装置を前記ネットワーク上で検索する検索手段と、
前記他のサービス提供装置を特定する情報を前記クライアント装置に対して送信する送信手段と、
を有することを特徴とする。
【００１５】
上記目的を達成するため本発明に係る方法は、
第１サービス内容を提供するサービス提供方法であって、
ネットワークに接続されたクライアント装置からの第２サービス内容の要求を実行できるか否か判定する判定工程と、
前記判定工程で前記第２サービス内容を提供できないと判定した場合に、前記第２サービス内容を提供するために前記第１サービス内容と組合わせる必要のある第３サービス内容を提供できるサービス提供装置を前記ネットワーク上で検索する検索工程と、
前記サービス提供装置を特定する情報を前記クライアント装置に対して送信する送信工程と、
を有することを特徴とする。
【００１６】
上記目的を達成するため、本発明に係るプログラムは、
第１サービス内容を提供するサービス提供プログラムであって、
ネットワークに接続されたクライアント装置からの第２サービス内容の要求を実行できるか否か判定する判定工程と、
前記判定工程で前記第２サービス内容を提供できないと判定した場合に、前記第２サービス内容を提供するために前記第１サービス内容と組合わせる必要のある第３サービス内容を提供できるサービス提供装置を前記ネットワーク上で検索する検索工程と、
前記サービス提供装置を特定する情報を前記クライアント装置に対して送信する送信工程と、
をコンピュータに実行させることを特徴とする。
【００１７】
上記目的を達成するため、本発明に係る記憶媒体は、
第１サービス内容を提供するサービス提供プログラムを格納したメモリであって、
ネットワークに接続されたクライアント装置からの第２サービス内容の要求を実行できるか否か判定する判定工程と、
前記判定工程で前記第２サービス内容を提供できないと判定した場合に、前記第２サービス内容を提供するために前記第１サービス内容と組合わせる必要のある第３サービス内容を提供できるサービス提供装置を前記ネットワーク上で検索する検索工程と、
前記サービス提供装置を特定する情報を前記クライアント装置に対して送信する送信工程と、
をコンピュータに実行させるサービス提供プログラムを格納したことを特徴とする。。
【００１８】
上記目的を達成するため本発明に係るシステムは、
同じネットワーク上にクライアント装置、第１サービス提供装置、及び第２サービス提供装置を含むサービス提供システムであって、
前記クライアント装置は、前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知手段を有し、
前記第１サービス提供装置は、通知手段によって通知された前記第１サービス内容を前記第１サービス提供装置単独で行うことができない場合に、前記第１サービス内容を行うために必要となる第２サービス内容を行うことのできる第２サービス提供装置を検索する検索手段を有し、
前記クライアント装置は、更に、前記第２サービス提供装置に対して、前記第１サービス内容の対象となる第１データを送信する第１送信手段を有し、
前記第２サービス提供装置は、前記第１送信手段で送信された第１データに対して前記第２サービス内容を行い、第２データとして前記第１サービス提供装置に送信する第２送信手段を有し、
前記第１サービス提供装置は、更に、前記第２送信手段によって送信された前記第２データに対して前記第１サービス内容を行うサービス提供手段を有することを特徴とする。
【００１９】
上記目的を達成するため本発明に係る方法は、
同じネットワーク上にクライアント装置、第１サービス提供装置、及び第２サービス提供装置を利用するサービス提供方法であって、
前記クライアント装置が、前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知工程と、
前記第１サービス提供装置が、通知工程によって通知された前記第１サービス内容を前記第１サービス提供装置単独で行うことができない場合に、前記第１サービス内容を行うために必要となる第２サービス内容を行うことのできる第２サービス提供装置を検索する検索工程と、
前記クライアント装置が、更に、前記第２サービス提供装置に対して、前記第１サービス内容の対象となる第１データを送信する第１送信工程と、
前記第２サービス提供装置は、前記第１送信工程で送信された第１データに対して前記第２サービス内容を行い、第２データとして前記第１サービス提供装置に送信する第２送信工程と、
前記第１サービス提供装置は、更に、前記第２送信工程によって送信された前記第２データに対して前記第１サービス内容を行うサービス提供工程と、
を有することを特徴とする。
【００２０】
上記目的を達成するため、本発明に係る装置は、
クライアント装置から通知されるサービス内容を自身により単独で行うことができない場合、サービス内容を行うために必要となる第２サービス提供装置を検索する第１サービス提供装置とネットワークを介して接続されたクライアント装置であって、
前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知手段と、
前記第１サービス提供装置から、前記通知手段による第１サービス内容を通知に応じた応答を受信する受信手段と、
前記受信手段により受信した応答に前記第２サービス提供装置のアドレス情報を含む場合、ネットワークを介して前記第２サービス提供装置に前記第１サービス内容の対象となる第１データを送信する送信手段と、
を備える。
【００２１】
上記目的を達成するため、本発明に係る方法は、
クライアント装置から通知されるサービス内容を自身により単独で行うことができない場合、サービス内容を行うために必要となる第２サービス提供装置を検索する第１サービス提供装置、ネットワークを介して接続されたクライアント装置の制御方法であって、
前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知工程と、
前記第１サービス提供装置から、前記通知工程による第１サービス内容を通知に応じた応答を受信する受信工程と、
前記受信工程により受信した応答に前記第２サービス提供装置のアドレス情報を含む場合、ネットワークを介して前記第２サービス提供装置に前記第１サービス内容の対象となる第１データを送信する送信工程と、
を含むことを特徴とする。
【００２２】
上記目的を達成するため、本発明に係るプログラムは、
クライアント装置から通知されるサービス内容を自身により単独で行うことができない場合、サービス内容を行うために必要となる第２サービス提供装置を検索する第１サービス提供装置、ネットワークを介して接続されたクライアント装置の制御プログラムであって、
前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知工程と、
前記第１サービス提供装置から、前記通知工程による第１サービス内容を通知に応じた応答を受信する受信工程と、
前記受信工程により受信した応答に前記第２サービス提供装置のアドレス情報を含む場合、ネットワークを介して前記第２サービス提供装置に前記第１サービス内容の対象となる第１データを送信する送信工程と、
をクライアント装置に実行させることを特徴とする。
【００２３】
上記目的を達成するため、本発明に係る記憶媒体は、
クライアント装置から通知されるサービス内容を自身により単独で行うことができない場合、サービス内容を行うために必要となる第２サービス提供装置を検索する第１サービス提供装置、ネットワークを介して接続されたクライアント装置の制御プログラムを格納したコンピュータ可読メモリであって、
前記第１サービス提供装置に対して、要求する第１サービス内容を通知する通知工程と、
前記第１サービス提供装置から、前記通知工程による第１サービス内容を通知に応じた応答を受信する受信工程と、
前記受信工程により受信した応答に前記第２サービス提供装置のアドレス情報を含む場合、ネットワークを介して前記第２サービス提供装置に前記第１サービス内容の対象となる第１データを送信する送信工程と、
をクライアント装置に実行させる制御プログラムを格納したことを特徴とする。
【００３４】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されているプロトコル、ヴァージョン、アドレス、その他の数値等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００３５】
（一実施形態）
本発明に係るサービス提供システムの一実施形態としてのプリントシステムについて説明する。
【００３６】
＜システム構成＞
図１は本発明の一実施形態としてのプリントシステムの構成を示すブロック図である。
【００３７】
本システムは、クライアント１００と、プリンタ２００と、サーバ３００を含むものであり、詳細には、クライアント１００側で実行されるアプリケーションと、サーバ３００に実装されるサービス、およびネットワーク対応プリンタ２００を備えるものである。
【００３８】
クライアント１００に提供されるアプリケーションは、クライアント１００が動作しているオペレーティングシステム環境上で動作するソフトウェアである。このソフトウェアとしては、通信機能としてＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１を備え、そのプロトコルスタック上にHyper Text Transfer Protocolヴァージョン１．１（以下、ＨＴＴＰと称す)２を備え、Simple Object Access Protocol（以下、ＳＯＡＰと称す)リクエストの発行を行うＳＯＡＰジェネレータ３、およびＳＯＡＰによるレスポンスの解析を実行するＳＯＡＰパーサを備える。更に、ＧＵＩモジュール５を有し、ユーザに対しインタラクティブに要求の受付、および処理結果の表示を実行する。
【００３９】
一方、ネットワークサービス、本実施の形態ではネットワーク対応型プリンタ２００は、通信機能としてＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック６を備え、そのプロトコルスタック上にＨＴＴＰ７を備える。その上位層にディスカバリーリクエスト、Simple Service Discovery Protocol（以下、ＳＳＤＰと称す）処理部８をもち、ＳＳＤＰリクエストの発行、および解析、レスポンスの解析、および発行を実行する。
【００４０】
ここで、クライアントからのリクエストにおいて、ＨＴＴＰリクエストのエンティティボディ部においてＳＯＡＰを使用するので、ＳＯＡＰパーサ９、およびレスポンスの発行を実行するＳＯＡＰジェネレータ１０がＨＴＴＰ７の上位層に実装される。
【００４１】
また、プロトコルスタック６上にはプリントプロトコルモジュール１１が実装され、クライアントから発行されるプリント要求を解析し、プリンタコントローラ１２に対し、そのプリント要求を送出する機能を備える。
【００４２】
更に、サーバ３００も同様に、通信機能としてＴＣＰ／ＵＤＰ／ＩＰプロトコルスタック１３を備え、そのプロトコルスタック上にＨＴＴＰ１４を備え、ＨＴＴＰリクエストの解析、およびレスポンス処理を行う。その上位層にディスカバリリクエストＳＳＤＰ処理部１５をもち、ＳＳＤＰリクエストの解析、およびレスポンスを実行する。
【００４３】
また、クライアントからのリクエストにおいて、ＨＴＴＰリクエストのエンティティボディ部においてＳＯＡＰを使用するので、やはり、リクエスト内容を解析するＳＯＡＰパーサ１６、およびレスポンスの発行を実行するＳＯＡＰジェネレータ１７がＨＴＴＰ７の上位層に実装される。
【００４４】
さらに、サーバ３００はファイルコンバータ１８を備え、このファイルコンバータ１８は、Microsoft社が提供するアプリケーション、「MS Office」（登録商標）により生成されるドキュメント（例えば、拡張子doc、xls、pptを持つドキュメント）や、Adobe社のPDFデータを、指定されたページ記述言語に変換する機能を備える。
【００４５】
なお、ここでは、各装置のソフトウェアの構成について説明したが、各装置のハードウェア構成はいわゆるコンピュータの構成を含むものであり、少なくとも処理を実行するＣＰＵと、ＣＰＵで実行すべきプログラム及びデータを格納したメモリと、ネットワークに接続するための通信手段と、を含む。以下に説明する制御は、それぞれのメモリに格納されたプログラムを適宜読出し、ＣＰＵで実行することによって達成されるものである。
【００４６】
＜制御の流れ＞
次に、図２のフローチャートに従い、本システムの制御の流れを説明する。
【００４７】
ネットワーク接続されたクライアント、例えばパーソナルコンピュータ上で動作するアプリケーション、例えばワードプロセッシングアプリケーションで作成したドキュメントを印刷する場合、ユーザがメニューより「印刷」を選択すると、クライアント１００にプリント指示（ジョブ）が発生する(Ｓ２０１)。次にネットワーク上にこのジョブを実行するために利用可能なプリンタが存在するか検索を実行する(Ｓ２０２)。その際、検索に使用されるプロトコルはUniversal Plug and Play Architecture 1.0にて規定されるＳＳＤＰを使用しており、マルチキャストアドレス239.255.255.250、ポート番号1900に対し、図４に示すフォーマットのＳＳＤＰリクエスト（以下、ＨＴＴＰリクエストとも称す）４００をＨＴＴＰパケットとして発行する。
【００４８】
ここでは、その際、ＨＴＴＰリクエスト４００のエンティティボディとしてＳＯＡＰを使用し、その際の書式は図４中、Envelopeタグ４０１内に記述され、CreateJobリクエストの引数としてDataFormat４０２、Copy４０３が通知される。DataFormat４０２はページ記述言語、あるいはイメージフォーマット名称であり、たとえばPCL、Postscript、Lips、JPEG、PNGなどの名称が記述される。またCopy４０３は印字部数を示す。図４は、DataFormatとしてLipsが、Copyとして１０部が指定されたジョブを示す例である。
【００４９】
ネットワーク対応プリンタ２００は、ステップＳ２０３で、図４のＨＴＴＰリクエスト４００を受信すると、ステップＳ２０４でそのリクエストのＳＴ(Service Type)ヘッダ（図４の４０４）を解析する。その結果、Printer外のＳＴ指定であった場合、あるいはパケット内容に不正があった場合は、エンドに進み、処理を中断し、リクエストに対してレスポンスを発行せず、無視する。ヘッダ内容がPrinterであった場合、引き続きＨＴＴＰリクエスト４００におけるエンティティボディの解析を実行する。図４では、ＳＴヘッダ４０４に「service:Print」とあるので、プリンタを検索するためのＨＴＴＰリクエスト４００と判別され、ステップＳ２０５に進む。
【００５０】
次に、ステップＳ２０５で、プリンタ２００は、ＨＴＴＰリクエスト４００のエンティティボディのＳＯＡＰメッセージ（図４の４０１以下）を解析し、CreateJobリクエストの引数であるDataFormat４０２、Copy４０３の内容をチェックし、プリンタ自身にDataFormat４０２に記述されたデータフォーマットを、Copy４０３に記述された部数だけプリント可能な処理能力があるか否か、判定する。
【００５１】
《プリンタ単独でプリントが可能な場合》
ステップＳ２０５において、処理可能と判定すると、ステップＳ２０６に進み、図５に示すフォーマットのＨＴＴＰレスポンス５００をクライアント１００に対してユニキャストで発行する。
【００５２】
ここでも、ＨＴＴＰレスポンス５００のエンティティボディとしてＳＯＡＰを使用し、プリンタのメモリ内に記憶されている以下の情報を、クライアント１００に対し通知する。これら情報は、図５中、Envelopeタグ５０１内に記述され、CreateJobリクエストに対する戻り値として、
JobID５０２:ジョブ識別ＩＤ
PrinterMakeAndModel５０３:プリンタベンダ・製品名称
PrinterName５０４:プリンタ名
PrinterLocation５０５:プリンタ設置場所
DataReceiveURL５０６:データ送信先ＵＲＬ
が通知される。
【００５３】
ここでJobIDは、１から２５５までの整数で、クライアント１００からの要求ジョブを識別するためのＩＤであり、プリンタ２００側が生成する。図５では、JobIDとして、「１２３」が設定されている例を示している。
【００５４】
クライアント１００は、ＳＳＤＰリクエスト４００を発行した後、ステップＳ２０７において予め定められた期間だけ応答を待ち、その間に、全く応答が無かった場合、ジョブ実行不能として、ステップＳ２０７からステップＳ２０８に進み、ユーザに対してエラーメッセージを表示して処理を完了する。
【００５５】
所定時間内に１つ以上の応答があった場合、ステップＳ２０９において、レスポンスのあったネットワークプリンタのプリンタ名をリスト表示する。次に、ステップＳ２１０において、ユーザによりそのプリンタリストから１つのプリンタが指定されると、クライアント１００は、ステップＳ２１１にて、指定プリンタから通知された属性情報中のデータ送信先ＵＲＬに対し、印刷対象となるプリント対象データを図６に示すＨＴＴＰリクエスト６００のフォーマットで送信する。ここでは、ユーザがプリンタ２００を選択したものとし、図５のDataReceiveURL５０６に記述された、122.222.111.222にプリント対象データを送信する。
【００５６】
その際も、ＨＴＴＰリクエスト６００のエンティティボディとしてＳＯＡＰを使用し、やはりその書式は図６中、Envelopeタグ６０１内に記述され、SendDataリクエストの引数としてJobID６０２が通知され、ＳＯＡＰ−Envelopeに続き、CreateJobリクエスト発行の際に指定したDataFormat（ここではLips）でプリント対象データ６０３を付加して送信する。
【００５７】
ここでJobID６０２には、CreateJobリクエストに対する戻り値としてプリンタから通知された値を設定する。ここでは、JobID６０２として「１２３」が設定されており、図５のレスポンスに対応したプリント対象データであることを示している。
【００５８】
ステップＳ２１２でプリント対象データを受信したプリンタ２００は、ステップＳ２１３に進み、プリント処理を開始し、JobID６０２をもとに、予めCreateJobで指定された部数分のプリント処理を実行し、プリント処理が完了した時点で、ステップＳ２１４に進み、クライアント１００に対し、ＨＴＴＰレスポンスとして、ステータスコード、「200 OK」を発行し、その旨クライアント１００側に通知して処理を終了する。
【００５９】
正常にプリント処理が実行できなかった場合は、ステップＳ２１４において、ＨＴＴＰエラーレスポンスとしてステータスコード 「500 Internal Server Error」を発行し、その旨クライアント側に通知して処理を終了する。なお、ここで図示されていないが、ステップＳ２０６でレスポンスを発行してから、所定時間内に、ステップＳ２１２でデータを受信しなかった場合にも、プリンタ側の処理を終了する。所定時間が経過し、プリンタ側の処理を終了した後に、クライアント１００からデータが送信された場合は、「400 Bad Request」を発行し、その旨クライアント側に通知する。  クライアント１００は、ステップＳ２１５においてプリンタ２００から何らかの実行結果を受信すると、処理を終了する。
【００６０】
《プリンタ単独ではプリントできない場合》
ステップＳ２０５において、ＨＴＴＰリクエストのＳＯＡＰメッセージを解析し、CreateJobリクエストの引数であるDataFormat４０２の内容をチェックした結果、プリンタ２００においては、そのデータフォーマットをプリント可能なフォーマットに変換できない場合について説明する。ここでは、例として、ＨＴＴＰリクエスト４００のDataFormat４０２の内容がXHTMLで、プリンタ２００は、プリント可能なフォーマットとしてLipsを備えており、かつ、XHTMLからLipsへのコンバータを備えていないものとする。
【００６１】
この場合、図３のステップＳ３０１に進み、プリンタ２００は、クライアント１００が指定したデータフォーマット（XHTML）をプリンタ２００でプリント可能なフォーマット(Lips)に変換するサービスを備えたサーバを、ネットワーク上で検索する。言換えれば、クライアント１００からのジョブを達成するために必要なサービスを提供するサーバを検索する。
【００６２】
検索に使用されるプロトコルはＳＳＤＰを使用しており、マルチキャストアドレス239.255.255.250、ポート番号1900に対し、図７に示すフォーマットのＳＳＤＰリクエスト（以下、ＨＴＴＰリクエストとも称す）７００をＨＴＴＰパケットとして発行する。
【００６３】
ここでも、やはり、ＨＴＴＰリクエストのエンティティボディとしてＳＯＡＰを使用する。ここでは、検索パケット発行時に、クライアント１００がプリント要求したデータフォーマットと、プリンタ２００がサポートしているページ記述言語情報と、変換処理後のデータ送信先ＵＲＬの情報を通知する。
【００６４】
その際の書式は図７中、Envelopeタグ７０１内に記述され、DataConversionRequestリクエスト７０２の引数として、
JobID７０３:ジョブ識別ＩＤ
DataFormat７０４:クライアントがCreateJobリクエストの引数として通知したデータフォーマット
SupportedPDL７０５:プリンタがサポートするページ記述言語
DataReceiveURL７０６:変換処理後のデータ送信先ＵＲＬ
が通知される。
【００６５】
ここでJobIDは１から２５５までの整数で、クライアント１００からの要求ジョブを識別するためのＩＤであり、プリンタ２００側が生成する。
【００６６】
図７は、ジョブ識別ＩＤが「１２３」、クライアントから送信されるデータのフォーマットが「XHTML」、ページ記述言語が「Lips」、データ送信先ＵＲＬ（プリンタ２００のアドレス）が「123.222.111.222」である場合のＳＳＤＰリクエスト７００を示している。
【００６７】
データフォーマット変換サービスを備えたサーバ３００が、ステップＳ３０２において、ＨＴＴＰリクエスト７００を受信すると、ステップＳ３０３に進み、そのリクエストのＳＴ(Service Type)ヘッダを解析する。ImageServer以外のＳＴ指定であった場合、あるいはパケット内容に不正があった場合は、エンドに進んで処理を中断し、リクエストに対してレスポンスを発行せず、無視する。ＳＴヘッダの内容がImageServerであった場合、引き続きＨＴＴＰリクエスト７００のエンティティボディの解析を実行する。
【００６８】
ＨＴＴＰリクエスト７００のＳＯＡＰメッセージを解析し、DataConversionRequestリクエスト７０２の引数であるDataFormat７０４、SupportedPDL７０５の内容をチェックし、サーバ３００自身でそのデータフォーマット（図７の例ではXHTML）をプリンタ２００が指定したページ記述言語（図７の例ではLips）に変換不能な場合、エンドに進み、このＳＳＤＰリクエスト７００に対しレスポンスを発行せずに無視する。
【００６９】
変換可能な場合、ステップＳ３０５に進み、サーバ３００は、DataConversionRequestリクエスト７０２で通知された引数の全て（この例では、JobID７０３、DataFormat７０４、SupportedPDL７０５、DataReceiveURL７０６）を記憶した後、ステップＳ３０６において、プリンタ２００に対しユニキャストで、図８に示すフォーマットのＨＴＴＰレスポンス８００を発行する。
【００７０】
ここでも、ＨＴＴＰレスポンス８００のエンティティボディとしてＳＯＡＰを使用し、以下の情報をプリンタに対し通知する。これら情報は、図８中、Envelopeタグ８０１内に記述され、DataConversionRequestリクエストに対する戻り値として、
JobID８０２:ジョブ識別ＩＤ
ServerDataReceiveURL:データ送信先ＵＲＬ
通知される。
【００７１】
ここでJobIDはプリンタがDataConversionRequestを発行した際にその引数としてサーバに通知した値と同一のＩＤ（ここでは、「１２３」）を返す。
【００７２】
プリンタ２００は、DataConversionRequestを発行した後、ステップＳ３０７にて、予め定められた期間だけ応答を待ち、いずれのサーバからも応答が無かった場合、エンドに進み、ジョブ実行不能として処理を完了。この場合、クライアント１００からのCreateJobリクエストに対する応答を行わず無視する。
【００７３】
所定時間内にいずれかのサーバから応答があった場合、最初にレスポンスのあったサーバのサービスを利用し、本実施の形態において、それ以外のレスポンスを通知したサーバは無視し利用はしない。ここでは、サーバ３００からのレスポンスが、最初にプリンタ２００に到着したものとする。
【００７４】
サーバ３００からのレスポンスを受け取ったプリンタ２００は、ステップＳ３０８に進み、図５に示したものと同一のフォーマットで、クライアント１００に対しユニキャストでＨＴＴＰレスポンスを発行する。
【００７５】
すなわち、ＨＴＴＰレスポンスのエンティティボディとしてＳＯＡＰを使用し、プリンタのメモリ内に記憶されている情報（ジョブ識別ＩＤ、プリンタベンダ・製品名称、プリンタ名、プリンタ設置場所、データ送信先ＵＲＬ）をクライアント１００に対し通知する。
【００７６】
なお、ジョブ識別ＩＤとしては、先にプリンタ２００がデータフォーマット変換サーバ３００に対しDateConversionRequestを発行する際に生成したものと同一のＩＤが指定される。
【００７７】
また、ここでのデータ送信先ＵＲＬとしては、データフォーマット変換サーバがプリンタ２００のDataConversionRequestに対するレスポンスとして、プリンタ２００に通知したServerDataReceiveURL８０２に記載されるアドレス値（図８の例では、123.222.111.234）をセットする。
【００７８】
ステップＳ３０８にて発行されたレスポンスがクライアント１００に送られると、図２のステップＳ２０７に戻り、クライアント１００は、受取ったレスポンスに基づいて、プリンタリストを表示し、ステップＳ２１０でのユーザのプリンタ選択を待つ。ユーザが、ステップＳ３０８でレスポンスを送信したプリンタを選択した場合には、ステップＳ２１１において、サーバ３００のアドレスに対し、プリント対象データを送信する。このサーバ３００のアドレスは、ステップＳ３０６及びステップＳ３０８において、ServerDataReceiveURLとしてセットされたアドレスである（図８の例では123.222.111.234）。
【００７９】
ステップＳ３０９においてデータを受信したデータフォーマット変換サーバ３００は、ステップＳ３１０において、データフォーマット変換処理を実行する。すなわち、JobIDをもとに、予めプリンタ２００がDataConversionRequestで指定したページ記述言語（図７の例では、Lips）に変換する。
【００８０】
変換処理が完了した時点で、データフォーマット変換サーバ３００は、ステップＳ３１１において、JobIDをもとに、予めプリンタ２００がDataConversionRequestで指定した変換処理後のデータ送信先ＵＲＬ（図７の例では123.222.111.222）に対し、変換後のＰＤＬデータを送信する。
【００８１】
その際、データフォーマット変換サーバ３００はクラアイント１００から受信したSendDataリクエストのＨＴＴＰヘッダ部、ＳＯＡＰ Envelope部をそのままコピーし、ＳＯＡＰ Envelope部に引き続き変換後のＰＤＬデータを付加して送信する。
【００８２】
変換後のLipsデータを受信したプリンタ２００はプリント処理を開始し、JobIDをもとに予めCreateJobで指定されたCopy（部数）分のプリント処理を実行し、プリント処理が完了した時点で、ステップＳ３１３において、ステップＳ２１４と同様に、クライアントに対しＨＴＴＰレスポンスとしてステータスコード、「200 OK」を発行し、その旨クライアント側に通知する。一方、正常にプリント処理が実行できなかった場合は、ＨＴＴＰエラーレスポンスとして、ステータスコード、「500 Internal Server Error」を発行し、その旨クライアント側に通知する。
【００８３】
以上の一連の処理シーケンスをもってプリントプロセスを完了する。
【００８４】
本実施形態によれば、ネットワーク上に分散した形で存在するサービスを利用することで、多様なデータフォーマット、イメージフォーマットを、プリンタでプリント可能なデータに変換することができる。これにより、ネットワーク対応型サービス提供装置内にフォーマット変換機能を組み込む必要が無くなった。
【００８５】
また、従来のクライアント、サーバ型のネットワークサービスと異なり、必要とするサービスを動的に検索、発見することが可能となり、ネットワーク上に新規にサービスが追加された場合においても、ネットワーク情報を再構築する必要が無くなった。
【００８６】
また、ジョブを完了させるまでの各デバイス間のデータ転送の回数、データ転送のためのプロトコルが単純化され、処理効率が向上する。
【００８７】
（他の実施形態）
上記では、本発明に係るサービス提供装置の一実施形態として、プリンタについて説明したが、本発明はこれに限定されるものではなく、スキャナ、ＦＡＸ、複写機、およびそれらの機能を複合した複合機等の画像処理装置の他、情報を処理する装置であって、上記実施形態で示した通信方法及びサービス提供方法を実現可能な全てのサービス提供装置が含まれるものである。。
【００８８】
また、上記一実施形態においては、サーバコンピュータを第３のサービス提供装置として説明したが、本発明はこれに限定されるものではなく、上記実施形態で示した通信方法、およびサービス提供方法を実現可能な全てのサーバ装置が含まれる。
【００８９】
上記実施形態においては、ＨＴＴＰエンティティの表記方法はＳＯＡＰを使用しているが、本発明はこれに限定されるものではなく、独自スキーマによる記述によって実現してもよい。
【００９０】
上記実施形態においては、ＨＴＴＰ/ＴＣＰ/ＩＰを使用したEthernet(登録商標)を物理レイヤとして例示しているが、通信方法として、Bluetooth等に代表される無線通信を用いてもよい。
【００９１】
上記実施形態においては、データフォーマットの変換サービスに関して記述したが、他のサービスであってもよい。例えばJPEG, PNG, GIF等、画像データの圧縮伸長処理、OCR変換、英文和文変換などいずれかのサービス、又はその組合せを提供するサーバも、本発明に係るサーバ装置に含まれるものである。
【００９２】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図２および/または図３に示す）フローチャートに対応するプログラムコードが格納されることになる。
【００９５】
【発明の効果】
以上説明したように本発明によれば、ネットワーク上のクライアント装置からのサービス要求に応え、容易にサービスを提供するための、サービス提供システム、サービス提供方法、サービス提供装置、その制御方法、制御プログラム、及び、コンピュータ可読メモリを提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態としてのサービス提供システムを構成するクライアント、サービス提供デバイスの各機能構成を示す図である。
【図２】本発明の一実施形態としてのサービス提供システムの処理方法を示すフローチャートである。
【図３】本発明の一実施形態としてのサービス提供システムの処理方法を示すフローチャートである。
【図４】クライアントがプリントサービスを検索する際に発行するリクエストフォーマットの一例を示す図である。
【図５】プリントサービスがクライアントに対し属性情報を返送する際に発行するレスポンスフォーマットの一例を示す図である。
【図６】クラインアントがプリントサービスに対し、ジョブを送信する際に発行するリクエストフォーマットの一例を示す図である。
【図７】プリントサービスがデータフォーマット変換サービスを検索する際に発行するリクエストフォーマットの一例を示す図である。
【図８】データフォーマット変換サービスがプリントサービスに対し属性情報を返送する際に発行するレスポンスフォーマットの一例を示す図である。
【図１】
0004035330.tif 000002
【図２】
0004035330.tif 000003
【図３】
0004035330.tif 000004
【図４】
0004035330.tif 000005
【図５】
0004035330.tif 000006
【図６】
0004035330.tif 000007
【図７】
0004035330.tif 000008
【図８】
0004035330.tif 000009