(57)【要約】【課題】クライアント印刷ドライバを必要せずに、印刷データを印刷装置で処理する方法を提供すること。【解決手段】印刷エージェントは、ウェブサービスを利用して、変換サービスを発見する。ウェブサービスイネーブル印刷サービスは、クライアントから受信した印刷データがラスタライズされているか否かを判別する。印刷データはラスタライズされていないことの確認に応じて、印刷サービスは、印刷データを印刷エージェントに送信する。印刷エージェントは、印刷サービスから印刷データを受信し、その印刷データを、変換サービスに送信する。印刷エージェントは、変換サービスからラスタライズされた印刷データとしての印刷データを受信し、ラスタライズされた印刷データを印刷サービスに送信する。印刷サービスは、ラスタライズされた印刷データとしての印刷データを印刷エージェントから受信し、ラスタライズされた印刷用の印刷データを処理する。【選択図】図１
2011031616.tif 000002
【特許請求の範囲】
【請求項１】
ウェブサービスにより動作する印刷サービス部を有する印刷装置であって、前記印刷サービス部は、
クライアントから印刷データを受信し、
前記印刷データがラスタライズされているか否かを判別し、
前記印刷データがラスタライズされていないことの確認に応じて、前記印刷データを当該印刷装置における印刷エージェントに送信し、
前記印刷エージェントから、前記印刷データについてラスタライズされた印刷データを受信し、
印刷する前記ラスタライズされた印刷データを処理し、
前記印刷エージェントは、
ウェブサービスを利用して、特定の変換サービス部を発見し、
前記印刷サービスから、ラスタライズされていない印刷データを受信し、
前記印刷データを前記特定の変換サービス部に送信し、
前記特定の変換サービス部から、前記印刷データについてラスタライズされた印刷データを受信し、
前記ラスタライズされた印刷データを前記印刷サービス部に送信する、印刷装置。
【請求項２】
前記特定の変換サービス部は、ネットワークを介して当該印刷装置がアクセス可能な装置内に含まれ、
前記印刷エージェントは、前記ネットワークを介して前記特定の変換サービス部を発見する、請求項１記載の印刷装置。
【請求項３】
前記印刷データがラスタライズされているか否かを判別する際、前記印刷データがラスタライズされていないことの通知を前記クライアントから受信する、請求項１記載の印刷装置。
【請求項４】
前記印刷エージェントは、
前記特定の変換サービス部を含む複数の変換サービス部を発見し、
前記複数の変換サービス部の各々について変換のタイプを確認し、
前記印刷データに反映される電子文書のタイプと、前記特定の変換サービスによる変換のタイプとが対応しているか否かを判定し、
前記電子文書のタイプが、前記特定の変換サービスによる変換のタイプに対応していることの確認に応じて、前記印刷データを前記特定の変換サービス部に送信する、請求項１記載の印刷装置。  
【請求項５】
前記印刷エージェントは、前記複数の変換サービス部各々のアドレスと、前記複数の変換サービス部各々の変換のタイプとを含むテーブルを保持する、請求項４記載の印刷装置。
【請求項６】
前記印刷サービス部が、さらに、
前記印刷データ用に選択された機能及び印刷オプションを、前記クライアントから受信し、
前記機能及び前記印刷オプションを前記印刷データとともに前記印刷エージェントに送信し、
前記印刷エージェントが、さらに、
前記印刷サービス部から前記機能及び前記印刷オプションを受信し、
前記機能及び前記印刷オプションを、前記印刷データとともに前記特定の変換サービス部に送信する、請求項１記載の印刷装置。
【請求項７】
前記印刷サービス部が、前記クライアントからのディスカバリリクエストに応答するよう構築されており、
前記特定の変換サービス部が、前記印刷エージェントからのディスカバリリクエストに応答するよう構築されており、
前記クライアントからのディスカバリリクエストが、印刷ドライバによらない印刷装置が該ディスカバリリクエストに応答すべきことを示し、
前記印刷サービス部が、印刷ドライバによらない印刷装置が応答すべきことを示すディスカバリリクエストに応答するように構築されている、請求項１記載の印刷装置。
【請求項８】
ウェブサービスを利用して変換サービス部を発見し、
印刷データを受信し、
印刷データがラスタライズされているか否かを判別し、
前記印刷データがラスタライズされていないことの確認に応じて、前記印刷データを前記変換サービス部に送信し、
前記印刷データについてラスタライズされた印刷データを、前記変換サービス部から受信し、
印刷する前記ラスタライズされた印刷データを処理するステップ
を有する、コンピュータにおいて使用可能な方法。
【請求項９】
命令を搬送するコンピュータにより読取可能な媒体であって、
前記命令は、
クライアントから印刷データを受信し、
前記印刷データがラスタライズされているか否かを判別し、
前記印刷データがラスタライズされていないことの確認に応じて、前記印刷データを当該印刷装置における印刷エージェントに送信し、
前記印刷エージェントから、前記印刷データについてラスタライズされた印刷データを受信し、
印刷する前記ラスタライズされた印刷データを処理すること
を、ウェブサービスにより動作する印刷サービス部に実行させ、
前記命令は、
ウェブサービスを利用して、特定の変換サービス部を発見し、
前記印刷サービスから、ラスタライズされていない印刷データを受信し、
前記印刷データを前記特定の変換サービス部に送信し、
前記特定の変換サービス部から、前記印刷データについてラスタライズされた印刷データを受信し、
前記ラスタライズされた印刷データを前記印刷サービス部に送信すること
を、前記印刷エージェントに実行させる、コンピュータにより読取可能な媒体。
【請求項１０】
前記特定の変換サービス部は、ネットワークを介して当該印刷装置がアクセス可能な装置内に含まれ、
前記印刷エージェントは、前記ネットワークを介して前記特定の変換サービス部を発見する、請求項９記載の媒体。
【請求項１１】
前記印刷データがラスタライズされているか否かを判別する際、前記印刷データがラスタライズされていないことの通知を前記クライアントから受信する、請求項９記載の媒体。
【請求項１２】
前記命令は、
前記特定の変換サービス部を含む複数の変換サービス部を発見し、
前記複数の変換サービス部の各々について変換のタイプを確認し、
前記印刷データに反映される電子文書のタイプと、前記特定の変換サービスによる変換のタイプとが対応しているか否かを判定し、
前記電子文書のタイプが、前記特定の変換サービスによる変換のタイプに対応していることの確認に応じて、前記印刷データを前記特定の変換サービス部に送信すること
を、前記印刷エージェントに実行させる、請求項９記載の媒体。  
【請求項１３】
前記命令は、前記複数の変換サービス部各々のアドレスと、前記複数の変換サービス部各々の変換のタイプとを含むテーブルを、前記印刷エージェントに保持させる、請求項１２記載の媒体。
【請求項１４】
前記命令が、
前記印刷データ用に選択された機能及び印刷オプションを、前記クライアントから受信し、
前記機能及び前記印刷オプションを前記印刷データとともに前記印刷エージェントに送信すること
を前記印刷サービス部に実行させ、
前記命令が、
前記印刷サービス部から前記機能及び前記印刷オプションを受信し、
前記機能及び前記印刷オプションを、前記印刷データとともに前記特定の変換サービス部に送信すること
を前記印刷エージェントに実行させる、請求項９記載の媒体。
【請求項１５】
前記命令は、前記クライアントからのディスカバリリクエストに応答することを、前記印刷サービス部に実行させ、
前記特定の変換サービス部が、前記印刷エージェントからのディスカバリリクエストに応答するよう構築されており、
前記クライアントからのディスカバリリクエストが、印刷ドライバによらない印刷装置が該ディスカバリリクエストに応答すべきことを示し、
前記命令は、印刷ドライバによらない印刷装置が応答すべきことを示すディスカバリリクエストに応答することを、前記印刷サービス部に実行させる、請求項９記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント印刷ドライバを使用せずに、ウェブサービスを利用して印刷装置において印刷データを処理することに関連し、特に、ドライバ不要の印刷（non−printing  deriver  printing）をサポートする印刷装置をクライアントで発見すること、ウェブサービスを用いて非ラスタライズ印刷データ（non−rasterized  print  data）を変換する変換サービスを印刷装置において発見することに関連する。
【背景技術】
【０００２】
アプリケーションプログラムにより生成された電子文書の印刷処理をユーザが要求する場合、ユーザのクライアント装置の印刷サブシステムは、その電子文書を処理して印刷データを生成する。サブシステムにより生成された印刷データは、ラスタライズされた形式（rasterized  version）の電子文書であり、これは印刷するために印刷装置に送られる。ラスタライズされた印刷データは、印刷データに反映される電子文書を印刷する印刷装置が必要とする全ての情報を含む。
【０００３】
例えば、PCにおけるワードプロセシングアプリケーションを利用して、ユーザが電子文書を作成したとする。ユーザは、ワードプロセシングアプリケーションにおける印刷オプションを選択（設定）し、その電子文書が特定のプリンタで印刷されることを要求する。PCにおける印刷サブシステムは、電子文書を処理し、特定のプリンタがサポートしているフォーマットでラスタライズされた印刷データを生成し、そのラスタライズされた印刷データを特定のプリンタに送信する。
【０００４】
通常、印刷データを生成するには、目的の印刷装置に特有のクライアント用の印刷ドライバを必要とする。すなわち、クライアントの印刷ドライバが、データを、目的の印刷装置によりサポートされているフォーマットに変換する。したがって、この従来の印刷ドライバシステムを利用して、クライアント装置が特定の印刷装置により適切に印刷を行うには、クライアント装置は、その特定の印刷装置に対する現在の印刷ドライバをインストールしている必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、クライアント印刷ドライバを見出してインストールすることは、容易なことではないし、時間もかかる。さらに、印刷装置の能力（機能、性能）が変わった場合、例えば、印刷装置を購入後に両面印刷機能や、穴あけ機能などが追加された場合や、新な印刷装置を追加した場合など、この場合に、新たなクライアント印刷ドライバを生成すること、及び旧式のクライアント印刷ドライバを所有する多数のユーザに新しいクライアントドライバを配布することが、必要になってしまう。さらに、印刷ドライバが全てのオペレーティングシステムにとって常に利用可能であるとは限らない。
【０００６】
別の従来のシステムを利用する際、特定の印刷装置に対応するクライアント印刷ドライバを備えていないクライアント装置であっても、その装置が専用の印刷サーバに関連付けられていた場合、印刷装置に対して印刷できるかもしれない。そのクライアントは印刷データを専用の印刷サーバに送信し、その印刷サーバが、目的の印刷装置用に印刷データのフォーマットを整え、そのようにフォーマットされた印刷データを目的の印刷装置に転送する。しかしながら、そのような専用のサーバを介して印刷する場合、クライアントはサーバのIPアドレスを知っている必要がある。また、利用可能な印刷装置のオプションや機能が、専用サーバを介して印刷しようとしているクライアントにとって利用（アクセス）できないかもしれない。したがって、専用サーバを利用するクライアントは、印刷装置が提供している機能を完全には利用できないことが懸念される。
【０００７】
冒頭からここに至るまでの間に説明されるアプローチは追跡可能なアプローチであるが、考察又は追跡が過去になされているアプローチであるとは限らない。したがって、特に断りのない限り、ここで説明されるどのアプローチも、この場所（背景技術、発明が解決しようとする課題）に含まれているという理由だけで従来技術として仮定されるべきではない。
【０００８】
本発明の課題は、印刷装置に特有のクライアント印刷ドライバを必要とする場合の問題、及び専用サーバを利用する場合の問題を解消又は軽減する印刷装置、方法及び媒体を提供することである。
【課題を解決するための手段】
【０００９】
一実施例による印刷装置は、
ウェブサービスにより動作する印刷サービス部を有する印刷装置であって、前記印刷サービス部は、
クライアントから印刷データを受信し、
前記印刷データがラスタライズされているか否かを判別し、
前記印刷データがラスタライズされていないことの確認に応じて、前記印刷データを当該印刷装置における印刷エージェントに送信し、
前記印刷エージェントから、前記印刷データについてラスタライズされた印刷データを受信し、
印刷する前記ラスタライズされた印刷データを処理し、
前記印刷エージェントは、
ウェブサービスを利用して、特定の変換サービス部を発見し、
前記印刷サービスから、ラスタライズされていない印刷データを受信し、
前記印刷データを前記特定の変換サービス部に送信し、
前記特定の変換サービス部から、前記印刷データについてラスタライズされた印刷データを受信し、
前記ラスタライズされた印刷データを前記印刷サービス部に送信する、印刷装置である。
【図面の簡単な説明】
【００１０】
【図１】クライアント印刷ドライバを必要とせずに印刷データを処理するネットワーク構成例を示すブロック図。
【図２】クライアント印刷ドライバを必要とせずに印刷用の印刷データを処理する方法例を示す図。
【図３】クライアント印刷ドライバを必要とせずに、ウェブサービスを利用して印刷データを処理する方法例を示す図。
【図４】変換サービス情報のテーブル例を示す図。
【図５】印刷クライアントにより生成されるグラフィカルユーザインターフェース例を示す図。
【図６】印刷装置において印刷エージェントを利用してラスタライズされていない印刷データをラスタライズされた印刷データに変換するプロセス例を示す図。
【図７】本発明の実施例で利用可能なコンピュータシステムのブロック図。
【発明を実施するための形態】
【００１１】
クライアント印刷ドライバを必要せずに、印刷データを印刷装置で処理する方法が提供される。印刷装置は、ウェブサービスイネーブル印刷サービス及び印刷エージェントを含む（サービス及びエージェントの機能を発揮する）。印刷エージェントは、ウェブサービスを利用して、特定の変換サービスを発見するように構築されている。ウェブサービスイネーブル印刷サービスは、クライアントから印刷データを受信し、印刷データがラスタライズされているか否かを判別する。印刷データはラスタライズされていないことを確認したことに応じて、ウェブサービスイネーブル印刷サービスは、印刷データを印刷エージェントに送信する。
【００１２】
印刷エージェントは、ウェブサービスイネーブル印刷サービスから非ラスタライズ印刷データ（ラスタライズされていない印刷データ）を受信し、その印刷データを、ウェブサービスを利用して発見した特定の変換サービスに送信する。印刷エージェントは、その特定の変換サービスからラスタライズされた印刷データとしての印刷データを受信し、そのラスタライズされた印刷データを、ウェブサービスイネーブル印刷サービスに送信する。ウェブサービスイネーブル印刷サービスは、ラスタライズされた印刷データとしての印刷データを印刷エージェントから受信し、そのラスタライズされた印刷用の印刷データを処理する。
【００１３】
本発明の実施例に含まれる印刷エージェントは、特定の変換サービスを含む複数の変換サービスを発見し、複数の変換サービス各々によりサポートされている変換形式（変換タイプ）を判定するように構築されている。印刷エージェントは、印刷データのタイプが、特定の変換サービスの変換タイプに合致するか否かを判定し、印刷データのタイプが特定の変換サービスの変換タイプに合致していることが確認された場合、その印刷データを特定の変換サービスに送信する。本発明の実施例に含まれる印刷エージェントはテーブルを維持するように構築され、そのテーブルは、複数の変換サービス各々のアドレスと、複数の変換サービス各々の変換タイプを含む。
【００１４】
本発明の実施例に含まれるウェブサービスイネーブル印刷サービスは、非印刷ドライバ印刷装置が応答すべきことを示すクライアントからの発見要求（ディスカバリリクエスト）に応答するように構築される。本発明の別の形態では、印刷装置はウェブサービスイネーブル印刷サービスを有し、ウェブサービスイネーブル印刷サービスは、クライアントから印刷データを受信し、印刷データがラスタライズされているか否かを判定するよう構築されている。印刷データはラスタライズされていないことの確認に応答して、ウェブサービスイネーブル印刷サービスは、印刷装置の印刷エージェントに印刷データを送信し、ラスタライズされた印刷データとしての印刷データを印刷エージェントから受信し、そのラスタライズされた印刷用の印刷データを処理する。
【００１５】
印刷装置は印刷エージェントをさらに含み、印刷エージェントは、ウェブサービスを利用して特定の変換サービスを発見するように構築されている。印刷エージェントは、ウェブサービスイネーブル印刷サービスから印刷データを受信し、印刷データがラスタライズされていなかった場合、印刷データを特定の変換サービスに送信し、ラスタライズされた印刷データとしての印刷データをその特定の変換サービスから受信し、ラスタライズされた印刷データをウェブサービスイネーブル印刷サービスに送信する。
【実施例１】
【００１６】
本発明は添付図面とともに非限定的な実施例により説明される。図中、同様な参照番号は同様な要素を指す。
【００１７】
説明を目的とする以下の詳細な説明では、本発明の十分な理解を図るため、様々な具体的な詳細が述べられる。しかしながら、本発明はそのような具体的詳細なしに実施されてもよいことは明白であろう。また、本発明を不必要に曖昧にするかもしれないことを避けるため、周知の構造及び装置はブロック図形式で示される。
【００１８】
以下の様々な観点から本発明の実施例を説明する：
Ｉ．概要
ＩＩ．印刷アーキテクチャ
ＩＩＩ．クライアント印刷ドライバによらない印刷
ＩＶ．ウェブサービス
Ａ．WSDデバイス
Ｖ．ウェブサービスを利用してクライアントからの非ラスタライズ印刷データを処理する
Ａ．変換サービスを発見する
Ｂ．非印刷ドライバ印刷装置をサポートする印刷装置を発見する
Ｃ．グラフィカルユーザインターフェース
Ｄ．印刷データ及びオプションを印刷装置に送信する
Ｅ．印刷エージェントを利用して非ラスタライズ印刷データを変換する
ＶＩ．実現手段
以下、各項目の詳細を説明する。  
＜Ｉ．概要＞
クライアント印刷ドライバを必要せずに、印刷データを印刷装置で処理する方法が提供される。印刷装置は、ウェブサービスイネーブル印刷サービス及び印刷エージェントを含む。印刷エージェントは、ウェブサービスを利用して、特定の変換サービスを発見するように構築されている。ウェブサービスイネーブル印刷サービスは、クライアントから印刷データを受信し、印刷データがラスタライズされているか否かを判別する。印刷データはラスタライズされていないことの確認に応答して、ウェブサービスイネーブル印刷サービスは、印刷データを印刷エージェントに送信する。
【００１９】
印刷エージェントは、ウェブサービスイネーブル印刷サービスから非ラスタライズ印刷データ（ラスタライズされていない印刷データ）を受信し、その印刷データを、ウェブサービスを利用して発見した特定の変換サービスに送信する。印刷エージェントは、その特定の変換サービスからラスタライズされた印刷データとしての印刷データを受信し、そのラスタライズされた印刷データを、ウェブサービスイネーブル印刷サービスに送信する。ウェブサービスイネーブル印刷サービスは、ラスタライズされた印刷データとしての印刷データを印刷エージェントから受信し、そのラスタライズされた印刷用の印刷データを処理する。
【００２０】
本発明の実施例に含まれる印刷エージェントは、特定の変換サービスを含む複数の変換サービスを発見し、複数の変換サービス各々によりサポートされている変換形式（変換タイプ）を判定するように構築されている。印刷エージェントは、印刷データのタイプが、特定の変換サービスの変換タイプに合致するか否かを判定し、印刷データのタイプが特定の変換サービスの変換タイプに合致していることが確認された場合、その印刷データを特定の変換サービスに送信する。本発明の実施例に含まれる印刷エージェントはテーブルを維持するように構築され、そのテーブルは、複数の変換サービス各々のアドレスと、複数の変換サービス各々の変換タイプを含む。
【００２１】
本発明の実施例に含まれるウェブサービスイネーブル印刷サービスは、非印刷ドライバ印刷装置が応答すべきことを示すクライアントからの発見要求（ディスカバリリクエスト）に応答するように構築される。
【００２２】
例えばラップトップやスマートフォン等のような移動クライアント装置を所有するユーザは、例えば新たな環境に入り、クライアント印刷ドライバを探索もインストールもせずに、印刷する文書を処理できる。別の例として、PC又は他の移動可能でないコンピュータは、本発明の実施例を利用して、印刷ドライバを必要とせずに構築され、これにより、プリンタのコンフィギュレーションが変わる度にクライアント印刷ドライバを更新する必要がなくなる。
【００２３】
＜ＩＩ．印刷アーキテクチャ＞
図１は、クライアント印刷ドライバを必要とせずに印刷データを処理する本発明の一実施例によるネットワークシステム例100を示すブロック図である。ネットワークシステム100は、クライアント装置102、印刷装置120及び変換サーバ130を、ネットワーク110により通信可能に結合された形態で含んでいる。
【００２４】
クライアント装置102は、何らかのタイプのクライアント装置として実現される。クライアント装置102の実現手段の例は、ワークステーション、パーソナルコンピュータ、ラップトップコンピュータ、パーソナルディジタルアシスタント（PDA）、セルラ電話機、及び何らかのタイプの移動装置であるがこれらに限定されない。ネットワークシステム例100において、クライアント装置102は、アプリケーション104及び印刷クライアント106とともに構築されている。アプリケーションは、如何なるタイプのアプリケーションプロセスを実行してもよい。アプリケーション104の具体例は、ワードプロセッサ、スプレッドシートプログラム、電子メールクライアント等であるが、これらに限定されない。後述するように、印刷クライアント106は、グラフィカルユーザインターフェース（GUI）を提供するように構築されている。このようなGUIを通じて、ユーザは、印刷データが特定の印刷装置（例えば、印刷装置120）に送信されるべきことを指示したり、印刷データ用に選択する印刷の設定を指定してもよい。このようにアプリケーション104及び印刷クライアント106は、一緒に動作し、印刷データを選択された印刷装置に提供する。本発明の一実施例において、クライアント装置はアプリケーション104を必要とせずに構築されてもよい。
【００２５】
印刷クライアント106は、ウェブサービスを利用して、印刷装置（例えば、印刷装置120）と通信するようにさらに構築されている。本発明の一実施例において、印刷クライアント106は、ラスタライズされていない印刷データをラスタライズされた印刷データに変換するレンダリング機能を備えていない。例えば、印刷クライアント106は、ラスタライズされた印刷データを生成する機能を備えていない印刷ドライバに似ている。具体的な特定の実施形態に依存して、クライアント装置102は、他の手段、他のプロセス及び他の機能とともに構築されてもよい。
【００２６】
印刷装置120は、クライアント装置102から受信した印刷データを処理し、印刷データに反映される電子文書の印刷バージョンを生成する如何なるタイプの装置により実現されてもよい。ネットワーク例100の場合、印刷装置120は、ウェブサービスイネーブル印刷サービス122、印刷プロセス124及び印刷エージェント126を含む。具体的な特定の実施形態に依存して、印刷装置120は、他の手段、他のプロセス及び他の機能とともに構築されてもよい。クライアント印刷ドライバを必要とせずに印刷用の印刷データを処理する本実施例による方法は、印刷装置やネットワーク構成の如何なる特定の形態にも限定されない。例えば、印刷装置120は複合機（MFP）でもよく、複合機は、印刷、複写（コピー）、ファクシミリ、走査（スキャン）等の機能の任意の組み合わせを行う。印刷装置、クライアント装置及び他の相違を含む多数の装置がネットワークに含まれていてもよい。
【００２７】
ウェブサービスイネーブル印刷サービス122は、1つ以上のプロセスにより実現され、そのプロセスは、ウェブサービスを利用してネットワーク装置及び他のアプリケーションと通信を行い、クライアント装置102から印刷データを受信する。この点については後述する。印刷プロセス124も１つ以上のプロセスにより実現され、そのプロセスは、クライアント装置102から受信した印刷データを処理し、印刷データに反映される電子文書の印刷バージョンを生成する。印刷エージェント126も１つ以上のプロセスにより実現され、そのプロセスは、変換サービス132のような変換サービスを発見してやり取りを行う。この点については後述する。
【００２８】
ウェブサービスイネーブル印刷サービス122、印刷プロセス124及び印刷エージェント126は、印刷装置120における常駐プロセスとして実現されてもよい。あるいは、ウェブサービスイネーブル印刷サービス122、印刷プロセス124及び印刷エージェント126の内の１つ以上が、着脱可能な媒体により印刷装置120が利用できるようにしてもよいし、印刷装置120にとって離れた場所において実現されてもよい。ウェブサービスイネーブル印刷サービス122、印刷プロセス124及び印刷エージェント126は、具体的な実施形態に依存して、プラグインとして、ハードウェアにより、ソフトウェアにより、又はハードウェア及びソフトウェアの任意の組み合わせにより実現されてもよい。さらに、本発明の一実施例によれば、印刷クライアント106、ウェブサービスイネーブル印刷サービス122、印刷エージェント126及び変換サービス132は、WSディスカバリ（WS−Discovery）、WSイベンティング（WS−Eventing）及びWSメタデータ処理（WS−MetadataExchange）のような１つ以上のウェブサービスプロトコルを実現してもよい。この点については後述する。
【００２９】
変換サーバ130は、ネットワーク110を介して印刷装置120と通信することが可能な如何なるタイプの装置により実現されてもよい。ネットワークシステム例100において、変換サーバ130は変換サービス132を含み、変換サービスは、ラスタライズされていない印刷データをラスタライズされた印刷データに変換する。この点については後述する。具体的な特定の実施形態及び本願で説明される方法に依存して、変換サーバ130は、他の手段、他のプロセス及び他の機能とともに構築されてもよい。
【００３０】
ネットワーク110は、クライアント装置102、印刷装置120及び変換サーバ130の間で情報をやり取りすることを促す任意のタイプの媒体及び／又は手段とともに実現される。さらに、ネットワーク110は、特定のアプリケーションの条件に依存して、任意のタイプの通信プロトコルを利用してもよく、保全されていてもいなくてもよい（セキュアなネットワークであってもなくてもよい）。
【００３１】
＜ＩＩＩ．クライアント印刷ドライバによらない印刷＞
図２は、クライアント印刷ドライバを必要とせずに印刷用の印刷データを処理する方法例を示す。ステップ202において、ウェブサービスを利用して、変換サービスが発見される。例えば、印刷エージェント126（図１）は、後述するWSディスカバリのようなウェブサービスを使用する。印刷エージェント126は、ウェブサービスを利用して、変換サーバ130における変換サービス132を発見する。
【００３２】
ステップ204において、印刷データが受信される。例えば、クライアント装置102におけるユーザがアプリケーション104を利用して電子文書を作成する。印刷クライアント106は、電子文書を表現する印刷データを、印刷する印刷装置120に送信する。印刷装置120は、ウェブサービスイネーブル印刷サービスにより印刷データを受信する。
【００３３】
ステップ206において、印刷データはラスタライズされているか否かが判断される。例えば、ウェブサービスイネーブル印刷サービス122は、後述するように、受信した印刷データがラスタライズされているか否かを判定する。
【００３４】
ステップ208において、印刷データはラスタライズされていないことの確認に応答して、印刷データが変換サービスに送信される。例えば、ウェブサービスイネーブル印刷サービス122は、受信した印刷データがラスタライズされていないことを確認する。これに応じてウェブサービスイネーブル印刷サービス122は印刷データを印刷エージェント126に送信する。印刷エージェント126は、変換サーバ130における変換サービス132が、印刷データをラスタライズされた印刷データに変換するのに適した変換サービスであることを確認し、その印刷データを変換サービス132に転送する。
【００３５】
ステップ210において、ラスタライズされた印刷データとしての印刷データが、変換サービスから受信される。例えば、変換サービス132は印刷データをラスタライズされた印刷データに変換し、ラスタライズされた印刷データを印刷エージェント126に送信する。印刷エージェント126は、ラスタライズされた印刷データをウェブサービスイネーブル印刷サービス122に返す。
【００３６】
ステップ212において、ラスタライズされた印刷データが印刷用に処理される。例えば、ウェブサービスイネーブル印刷サービス122は、印刷エージェント126から受信したラスタライズされた印刷データを、印刷プロセス124に転送する。印刷プロセス124は、ラスタライズされた印刷データに反映されている電子文書を、印刷用に処理することを引き起こす。
【００３７】
＜ＩＶ．ウェブサービス＞
ネットワークシステム例100において、少なくとも、印刷クライアント106、ウェブサービスイネーブル印刷サービス122、印刷エージェント126及び変換サービス132は、他の装置及びアプリケーションとやり取りを行うウェブサービスを実現する。
【００３８】
ワールドワイドウェブコンソーシアム（W3C：World  Wide  Web  Consortium）は、ワールドワイドウェブに関する標準仕様を作成する国際団体であり、W3Cは「ウェブサービス」をソフトウェアシステムとして規定しており、そのソフトウェアシステムは、ネットワークを介した装置間の相互運用可能な通信をサポート又は実現するように設計されたものである。この定義は多くの様々なシステムを包含するが、一般的には、この用語が示すサービスは、シンプルオブジェクトアクセスプロトコル（SOAP）によりフォーマットされた拡張可能マークアップ言語（XML）エンベロープを使用し、ウェブサービス記述言語（WSDL）を用いて記述されたインターフェースを利用する。ウェブサービスは、何らかの人的な介在を必要とせずに、１つ以上のネットワークを介して装置及びアプリケーションが互いに通信できるようにし、その際、人間が１つ以上のネットワークを介してそれらの装置及びアプリケーションと通信するのに使用する同様な一群のプロトコルを使用する（例えば、ハイパーテキストトランスファプロトコル（HTTP）を使用する。）。
【００３９】
SOAPは、（例えば、HTTP及びシンプルメールトランスファプロトコル（SMTP）のような）前提とするプロトコルに対するバインディング（binding）とともに、XMLを利用した拡張可能なメッセージエンベロープフォーマットである。XMLを利用して、SOAPは、メッセージがどのようにフォーマットされるべきかを規定し、それらのメッセージの受信者（装置及びアプリケーション）がそれらのメッセージを理解できるように、それらのメッセージをフォーマットする。例えば、SOAPはリモートプロシジャコール（遠隔プロシジャ呼出）を実行するのに使用可能である。
【００４０】
WSDLはXMLフォーマットであり、特定のフォーマットに対するそれらインターフェースのバインディングの詳細とともにウェブサービスインターフェースが記述される。WSDLは一般的にはコンフィギュレーションの際にサーバ及びクライアントコードを生成するのに使用される。
【００４１】
このように、ウェブサービスに一般的な中核的な標準仕様は、SOAP及びWSDLに加えて、WSディスカバリ（WS−Discovery）、WSメタデータイクスチェンジ（WS−MetadataExchange）、WSイベンティング（WS−Eventing）及びWSアドレシング（WS−Addressing）である。異なる標準仕様により異なるタスク及び機能を実現してもよい。
【００４２】
＜＜Ａ．WSDデバイス＞＞
１つ以上のウェブサービスに対するホストとなる何らかの装置は、ウェブサービスに対するデバイスプロファイル（DPWS：Device  Profile  for  Web  Services）標準仕様を使用する。DPWSは、セキュアな（安全な）ウェブサービスメッセージング、ディスカバリ、記述及び装置におけるイベント処理を可能にするための最小限の実現条件（制約条件）を規定する。DPWSにしたがう装置は、以下、WSD装置（Web  Service  for  Devices  device）として言及する。非限定的なWSD装置の具体例は、スキャナ、プリンタ、複写機、ファクシミリ装置、アーカイブ装置及びこれらの任意の組み合わせ等を含む。本発明の一実施例において、ウェブサービスイネーブル印刷サービス122は、DPWSにより必要とされるウェブサービス標準仕様の主要な一部を使用する。したがって本発明の一実施例において、印刷装置120はWSD装置である。
【００４３】
DPWSは以下の中核的なウェブサービス標準仕様の上に構築されている：WSDL1．1、XMLスキーマ（WS−Schema）、SOAP1．2、WSアドレシング。さらにDPWSは、WSメタデータイクスチェンジ、WSトランスファ（WS−Transfer）、WSポリシ（WS−Policy）、WSセキュリティ（WS−Security）、WSディスカバリ及びWSイベンティングをさらに含む。最新のDPWS標準仕様（2006年2月に公開）の内容全体は、本願のリファレンスに組み入れられる。
【００４４】
WSメタデータイクスチェンジ、WSトランスファ、WSポリシ、WSセキュリティ、WSディスカバリ及びWSイベンティングのような特定のウェブサービスプロトコルが、本発明の実施例に使用されてもよいし、他のプロトコル及びメッセージフォーマットが使用されてもよい。
【００４５】
＜Ｖ．ウェブサービスを利用してクライアントからの非ラスタライズ印刷データを処理する＞
クライアント印刷ドライバを必要とせずに印刷を行うクライアント装置のユーザは、ウェブサービスを利用して、クライアント印刷ドライバを必要としない印刷をサポートするアクセス可能な印刷装置を探す。そのようなクライアント装置は、上記の印刷装置と直接的に通信する機能を有する印刷クライアントを実現し、装置のオプション及び機能を発見する。したがって、印刷装置のオプション及び機能の全ての範囲に基づいて、ユーザは、利用可能な印刷を装置のどれを使用するかを選択できる。
【００４６】
さらに、クライアント印刷ドライバを必要としない印刷をサポートする印刷装置は、ウェブサービスを利用して変換サービスを探す。したがって、印刷装置は、様々なタイプの電子文書をラスタライズされた印刷データに変換する１つ以上の変換サービスにアクセスする。
【００４７】
＜＜Ａ．変換サービスを発見する＞＞
図３は、クライアント印刷ドライバを必要とせずに、ウェブサービスを利用して印刷データを処理する方法例300を示す。方法例300により示される本発明の一実施例において、印刷エージェント126は、WSディスカバリを利用して、アクセス可能な変換サービスを探索する。ステップ302において、変換サービス132は印刷エージェント126からのマルチキャストプローブメッセージを受信する。例えば、図１のネットワークシステム例100の場合、印刷エージェント126は、ネットワーク110を介してマルチキャストプローブメッセージを送信する。印刷装置120が初期化された場合、印刷エージェント126は、WSディスカバリプロトコルにしたがって、マルチキャストプローブメッセージを送信する。マルチキャストプローブメッセージは、印刷エージェント126が、あるタイプのターゲットサービス（すなわち、印刷データ変換サービス）を探していることを示す。そのような印刷データ変換サービスは、「印刷変換（PrintConversion）」のようなサービスタイプインジケータにより、メッセージ内に記されている。印刷エージェント126は、印刷エージェントが探しているサービスの他の属性（例えば、印刷装置120が受け入れる言語）をプローブメッセージ内に含める。例えば、マルチキャストプローブメッセージは、印刷装置120が受け入れる１つ以上の印刷制御言語（例えば、PCL5、PCL6、ポストスクリプト（PostScript）等）を指定する。変換サーバ130において利用可能な変換サービス132は、ネットワーク110を介してアクセス可能であり、印刷エージェント126からマルチキャストプローブメッセージを受信する。
【００４８】
ステップ304において、変換サービス132は、マルチキャストプローブメッセージに応答して、プローブマッチメッセージ（又はプローブ合致メッセージ）を印刷エージェント126に送信する。例えば、変換サービス132は「印刷変換（PrintConversion）」のタイプのサービスであること、及び変換サービス132は、プローブメッセージで指定されている要求サービスの他の全ての属性に合っていることを、変換サービス132は確認する。この確認に応じて、変換サービス132は、ユニキャストプローブマッチメッセージを印刷エージェント126に送信し、変換サーバ130が、探しているタイプのサービス（すなわち、変換サービス132）を含んでいることを通知する。そのようなプローブマッチメッセージは、変換サービス132のソースIPアドレス（変換サービス132にアクセスするポート番号を含む）と、変換サービス132がラスタライズされた印刷データに変換する１つ以上のタイプのデータとを含む。例えば、変換サービス132が送信するプローブマッチメッセージは、変換サービス132が、IPアドレス「172．30．4．223」におけるものであり、ポート「1600」によりアクセス可能であり、ラスタライズされていない平文（プレインテキスト）をラスタライズされた印刷データに変換することを、印刷エージェント126に送信に通知する。
【００４９】
サーバのコンフィギュレーション又は構成に依存して、変換サーバ130上で複数の変換サービスが利用可能であるかもしれない。（図１には示されていないが）変換サーバ130以外の変換サーバで利用可能な変換サービスが、印刷エージェント126により検出されてもよい。変換サービス132のような変換サービスは、ベクトル画像、ラスタ画像、ワードプロセシング文書、スプレッドシート、電子メール、平文、htmlテキスト、PDF等の内の１つ以上をラスタライズされた印刷データに変換することをサポートする。
【００５０】
本発明の他の実施例において、変換サーバ130は、ディスカバリリクエストに応じるディスカバリサービスを含む。そのようなディスカバリサービスは、変換サーバ130で利用可能なサービスタイプのリストを含み、これら利用可能なタイプのサービスに対するプローブメッセージに応じる。この実施例において、変換サーバ130におけるディスカバリサービスは、マルチキャストプローブメッセージに応答して、プローブマッチメッセージを印刷エージェント126に送信し、変換サービス132はプローブマッチメッセージを送信しない。説明の便宜上、個々のサービスは、適切なプローブメッセージに応答するものとして以後説明する。
【００５１】
ステップ306において、印刷エージェント126は変換サービス132を登録する。例えば、印刷エージェント126は、変換サービスの情報のテーブルを保持している。図４は、記録されている変換サービス情報のテーブル例400を示す。印刷エージェント126は、印刷エージェント126がアクセス可能な変換サービス各々について、変換タイプ、IPアドレス及びポート番号をテーブル400に記録する。図示の例の場合、変換サービス132の情報はテーブル400における行402に記録されている。本発明の一実施例では、印刷エージェントは、テーブル400内に示されていない情報を記録してもよく、あるいはテーブル400内に示されている情報を異なるフォーマットで記録してもよい。さらに、印刷エージェントは、本発明の実施例において、変換サービスを様々な方法で記録することができ、例えば、変換サービスの情報を、コンフィギュレーションファイル、SQLデータベース又はXML文書等に記録してもよい。
【００５２】
＜＜Ｂ．非印刷ドライバ印刷装置をサポートする印刷装置を発見する＞＞
本発明の別の実施例において、クライアント装置は、ウェブサービスを利用して、あるウェブサービスイネーブル印刷サービスを発見し、そのウェブサービスイネーブル印刷サービスは、クライアント印刷ドライバを必要としない印刷をサポートしており、クライアント装置にとってアクセス可能なものである。これは、上記の変換サービスを探すプロセス例と同様に、WSディスカバリプロトコルを利用して行うことができる。
【００５３】
具体的には、ステップ308において、ウェブサービスイネーブル印刷サービス122は、印刷クライアント106からマルチキャストプローブメッセージを受信する。例えば、図１のネットワークシステム例100において、クライアント装置102の印刷クライアント106は、ユーザのリクエストに応じて及びWSディスカバリプロトコルにしたがって、ネットワーク110を介してマルチキャストプローブメッセージを送信する。マルチキャストプローブメッセージは、印刷クライアント106が、クライアント印刷ドライバを必要としない印刷をサポートしている印刷サービスを探していることを示す。このサービスタイプを通知するため、プローブメッセージは、「印刷ドライバ不要（PrintNoDriver）」のようなサービスタイプインジケータを含む。印刷装置120において利用可能なウェブサービスイネーブル印刷サービス122は、ネットワーク110を介してアクセス可能であり、印刷クライアント106からマルチキャストプローブメッセージを受信する。
【００５４】
ステップ310において、ウェブサービスイネーブル印刷サービス122は、マルチキャストプローブメッセージに応答して、プローブマッチメッセージを印刷クライアント106に送信する。ウェブサービスイネーブル印刷サービス122は、本発明の実施例において、様々な方法で「PrintNoDriver」のタイプをサポートしているか否かを確認できる。
【００５５】
一実施例において、ウェブサービスイネーブル印刷サービス122は、あるタイプのサービスを求めるリクエストに応答するように構築されている。ウェブサービスイネーブル印刷サービス122は、サービスタイプのリストを含むコンフィギュレーションファイルにアクセスすることができ、そのサービスタイプをウェブサービスイネーブル印刷サービス122はサポートしており、サービスタイプは、例えば、「基本印刷（PrintBasic）」、「応用印刷（PrintAdvanced）」、「カラー印刷（PrintColor）」等である。「PrintNoDriver」のタイプは、印刷装置120の印刷エージェント126をインストールする際に、コンフィギュレーションファイルに加えられる。プローブメッセージを受信すると、ウェブサービスイネーブル印刷サービス122は、コンフィギュレーションファイルに基づいて「PrintNoDriver」のタイプをサポートしているか否かを判断する。
【００５６】
本発明の別の実施例において、ウェブサービスイネーブル印刷サービス122は、「PrintNoDriver」のタイプのサービスを求めるプローブメッセージを受信した場合、印刷装置120において利用可能な印刷エージェントを探すように構築されている。本発明のこの実施例の場合、印刷エージェントが発見されたならば、ウェブサービスイネーブル印刷サービス122は、要求されているタイプのサービスをサポートしている。
【００５７】
ウェブサービスイネーブル印刷サービス122が「PrintNoDriver」のタイプのサービスをサポートしていることを確認すると、ウェブサービスイネーブル印刷サービス122は、ユニキャストプローブマッチメッセージを印刷クライアント106に送信する。プローブマッチメッセージは、印刷装置120が、要求されているタイプのサービスであるウェブサービスイネーブル印刷サービス122を含んでいることを、印刷クライアント106に通知する。WSディスカバリプロトコルの場合、プローブマッチメッセージは、ウェブサービスイネーブル印刷サービス122にアクセスするのに必要な情報を含む。
【００５８】
ステップ312において、印刷クライアント106は、DPWS標準仕様にしたがって、ウェブサービスイネーブル印刷サービス122からのメタデータを要求する。例えば、印刷クライアント106は、印刷装置120を記述するメタデータを要求し、メタデータは例えば装置名、シリアル番号、製造元、モデル名、モデル番号等に加えて、印刷装置120に含まれているサービスに関する情報を含む。そのようなリクエストはWSメタデータイクスチェンジプロトコルにしたがってもよい。
【００５９】
ステップ312において、ウェブサービスイネーブル印刷サービス122は、メタデータを求めるリクエストに応答する。ウェブサービスイネーブル印刷サービス122は、DPWS標準仕様に示されている情報を含むメタデータを、印刷クライアント106に返す。
【００６０】
ステップ314において、印刷クライアント106は、プリンタ機能情報をウェブサービスイネーブル印刷サービス122に対して要求する。例えば、印刷クライアント106及びウェブサービスイネーブル印刷サービス122は、GeTPrinterCapabilities（プリンタ機能情報取得機能）を含む共通のウェブサービス印刷プロトコルを使用していてもよい。印刷クライアント106は、例えばSOAPを介して、GetPrinterCapabilities機能を起動してもよい。
【００６１】
ステップ314において、ウェブサービスイネーブル印刷サービス122は、プリンタの機能の情報を求めるリクエストに応答する。例えば、GetPrinterCapabilities機能の起動に応答して、ウェブサービスイネーブル印刷サービス122は、印刷装置120の機能を規定するXML構造を印刷クライアント106に返す。本発明の一実施例において、印刷装置120の機能は、印刷装置120によりサポートされている機能と、サポートされている機能各々に対して利用可能なオプションとのリストを含む。多くの様々な方法を利用して、特定の印刷装置の機能（様々なフォーマット情報を返す様々な機能名を含む）を判定できる。
【００６２】
＜＜Ｃ．グラフィカルユーザインターフェース＞＞
ステップ316において、印刷クライアント106は、ウェブサービスイネーブル印刷サービス122が印刷ジョブを生成することを要求する。印刷ジョブを生成するそのようなリクエストは、ユーザから発せられる。リクエストは、特定の印刷ジョブについてユーザが選択したオプションも含んでいる。例えば、クライアント装置102のユーザが、アプリケーション104を利用して電子文書を作成し、その電子文書を印刷処理することを要求したとする。この電子文書を印刷するため、アプリケーション104は印刷クライアント106に連絡し、印刷クライアント106は、利用可能な印刷装置に関して生成した情報を利用してグラフィカルユーザインターフェースを生成する。図５は、電子文書を印刷する印刷装置の選択肢と、ハイライトされた（強調された）特定の印刷装置（例えば、504）に対する機能及びオプションとを、ユーザに提示するGUI500の一例を示す。GUI500を利用して、ユーザは、電子文書を印刷するのに使用する特定の印刷装置及び印刷オプションを選択する。
【００６３】
GUI500の例の場合、プリンタ504がハイライトされ、プリンタ502はハイライトされていない。したがって、ウェブサービスを用いてプリンタ504から受信したプリンタ504に関する情報が、GUI500に表示されている。そのような情報は、ULR506及びIPアドレス508を含んでもよい。また、表示される情報は、ハイライトされたプリンタによりサポートされている機能と、その機能に対して利用可能なオプションとを含み、すなわち、印刷枚数510、カラー属性514（カラー及び白黒（非カラー）の選択肢を伴う）、両面（binary  duplex）機能518、用紙供給トレイ属性（トレイ１、トレイ２及びトレイ３の選択肢522を伴う）等である。GUI500に示されている機能は、特定の印刷装置によりサポートされ、ユーザに表示される属性の非限定的な例にすぎない。印刷クライアントにより生成されるGUIは、本発明の実施例において、特定の印刷装置の機能及びオプションを任意の方法により表現されてもよい。さらに、そのようなGUIは、特定のプリンタから受信した機能及び／又はオプションの情報の一部を表現してもよい。
【００６４】
＜＜Ｄ．印刷データ及びオプションを印刷装置に送信する＞＞
GUI500により、特定の電子文書の印刷用に特定の印刷装置が選択され、その印刷装置に対するオプションが選択されると、電子文書を印刷するための情報が印刷装置に送信される。方法300の例の場合、ステップ316において、印刷クライアント106は、印刷ジョブ生成メッセージ（Create  Print  Job  message）をウェブサービスイネーブル印刷サービス122に送信する。印刷ジョブ生成メッセージは、印刷データのために選択されているオプション及び機能を含む。印刷クライアント106は、そのメッセージをウェブサービスイネーブル印刷サービス122に転送する。本発明の一実施例において、印刷クライアント106は、印刷ジョブ生成メッセージの中で又はメッセージに同伴する情報の中で、要求された印刷ジョブの居撮データは、非ラスタライズ印刷データ（ラスタライズされていない印刷データ）であることを示す。
【００６５】
ウェブサービスイネーブル印刷サービス122は、印刷ジョブ生成メッセージを受信し、ウェブサービスイネーブル印刷サービス122が、同伴する情報の中で示されている機能及びオプションをサポートできるか否かを判定する。ウェブサービスイネーブル印刷サービス122が指定された機能及びオプションをサポートできない場合、印刷クライアント106にエラーが返される。しかしながら、ウェブサービスイネーブル印刷サービス122が選択された機能及びオプションをサポートできる場合、ウェブサービスイネーブル印刷サービス122はそのリクエストに印刷ジョブIDを割り当て、要求されたオプション及び機能を保存し、これは印刷ジョブIDに関連する「チケット（ticket）」と呼ばれることもある。ウェブサービスイネーブル印刷サービス122は、印刷ジョブを成功裏に生成したことを示すメッセージ（印刷ジョブIDを含む）を、印刷クライアント106に返す。
【００６６】
印刷ジョブIDを受信した後、ステップ318において、印刷クライアント106は、電子文書を表すラスタライズされていない印刷データを、受信した印刷ジョブIDとともに、ウェブサービスイネーブル印刷サービス122に送信する。印刷クライアント106は、この情報をXMLメッセージで送信し、XMLメッセージは、XMLタグ内に印刷ジョブIDを有し、ラスタライズされていないデータをアタッチメントとして有する。本発明の実施例において、印刷クライアント106は、印刷ジョブID及び印刷データを、様々な方法でウェブサービスイネーブル印刷サービス122に送信してもよい。
【００６７】
ウェブサービスイネーブル印刷サービス122が印刷データを受信すると、ステップ320において、印刷サービスは、そのデータがラスタライズされているか否かを判断する。本発明の一実施例において、ウェブサービスイネーブル印刷サービス122は、印刷データの印刷ジョブIDに対応する保存されているチケットを検査し、チケット又は印刷ジョブ生成メッセージに含まれている情報に基づいて、印刷ジョブIDに関する印刷データがラスタライズされているか否かを判断する。本発明の他の実施例において、ウェブサービスイネーブル印刷サービス122は、印刷データ自身を検査し、データがラスタライズされているか否かを判断する。ウェブサービスイネーブル印刷サービス122は、本発明の実施例において、印刷データがラスタライズされているか否かを多くの様々な方法で確認してもよい。
【００６８】
ウェブサービスイネーブル印刷サービス122が、印刷データはラスタライズされていることを確認できた場合、ステップ330において、印刷データは速やかに印刷処理に回される。しかしながら、ウェブサービスイネーブル印刷サービス122が、印刷データはラスタライズされていないことを確認した場合、ステップ322において、印刷データに対してユーザが選択した印刷オプション及び機能を示すチケットとともに、印刷データは印刷エージェント126に渡される。ステップ324において、文書は、印刷エージェント126から、ラスタライズされた印刷データに変換する変換サービス132に渡される。
【００６９】
＜＜Ｅ．印刷エージェントを利用して非ラスタライズ印刷データを変換する＞＞
図６は、印刷装置において印刷エージェントを利用してラスタライズされていない印刷データをラスタライズされた印刷データに変換するプロセス例600を示す。印刷装置が、図３のステップ318に示されているように非ラスタライズ印刷データを受信すると、印刷装置に常駐している印刷エージェントは、印刷エージェントに登録されている何れの変換サービスが、そのラスタライズされていない印刷データをラスタライズされた印刷データに変換するのに使用されるべきかを決定する。
【００７０】
ステップ602において、受信した印刷データに反映されている電子文書のタイプが確認される。例えば、図１のネットワークシステム例100の場合、印刷エージェント126は、ウェブサービスイネーブル印刷サービス122から受信した印刷データに反映されている電子文書のタイプを判別する。説明の便宜上、この電子文書はプレインテキスト文書（平文の文書）として確認されたものとする。本発明の実施例において、電子文書は任意のタイプのものでよく、例えば、ベクトル画像、ラスタ画像、ワードプロセシング文書、スプレッドシート、電子メール、プレインテキスト、htmlテキスト、PDF等でもよい。
【００７１】
ステップ604において、複数の利用可能な変換サービスの内の１つの変換サービスが選択され、その１つの変換サービスは、電子文書のタイプに合致する変換タイプを有するものである。例えば、印刷エージェント126は、テーブル400（図４）に登録されている変換サービス群の中から、受信した電子文書のタイプに合致する変換タイプを有する変換サービスを探す。テーブル400の例の場合、ある行402に登録されている変換サービス132は、「テキスト／プレイン（text／plain）」の変換タイプを有し、これは受信した電子文書のタイプに合致する。したがって、印刷エージェント126は、受信した非ラスタライズ印刷データをラスタライズされた印刷データに変換するために変換サービス132を選択する。
【００７２】
印刷エージェント126は、本発明の実施例において、複数の利用可能な変換サービスの中から適切な変換サービスを選択する任意の方法を使用してよい。以下は、そのような方法の非限定的な例である。例えば、印刷エージェントは、変換サービスのリストの中で、適切な変換タイプを有する最初の変換サービスを選択してもよい。別の例として、印刷エージェントは、変換サービス各々が印刷データを変換するのに使用された回数を記録し、適切な変換サービスの内、最も使用回数が少ないものを選択してもよい。印刷エージェントは、どの変換サービスが、失敗したメッセージを返した回数が最も少ないかを判別し、そのメトリックに基づいて、適切な変換タイプを有するものの内、最も成功している変換サービスを選択してもよい。さらに別の例として、印刷エージェントは、作業負荷データ（ワークロードデータ）のリストの中で変換サービスをポーリングし、リスト中の変換サービス全体の中で最小の作業負荷を示す作業負荷データを返す適切な変換サービスを選択してもよい。
【００７３】
ステップ606において、印刷データは、ラスタライズされた印刷データに変換するために選択された変換サービスに転送される。例えば、印刷エージェント126は、ラスタライズされていない印刷データを、ラスタライズされた印刷データに変換するように選択された変換サービス132に転送する。変換サービス132は、受信した印刷データをラスタライズされた印刷データに変換しようと試みる。このステップは方法例300（図３）のステップ324により示されている。
【００７４】
ステップ608において、変換サービスが試みた変換は成功したか否かが確認される。印刷エージェント126は、本発明の実施例において、変換の試みが成功したか否かを様々な方法で確認できる。例えば、変換サービス132は、成功又は失敗のメッセージを印刷エージェント126に返し、変換の試みの結果を通知してもよい。別の例として、印刷エージェント126はタイマを使用してもよい。変換サービス132が、タイマの満了前に、ラスタライズされた形式の印刷データを印刷エージェント126に返した場合、その変換の試みは成功である。変換サービスが変換後のデータを転送することなく、タイマが満了した場合、変換の試みは失敗したと考えられる。
【００７５】
ステップ608において、変換の試みが成功していた場合、ステップ610において、印刷データは、ラスタライズされた印刷データとして受信される。例えば、印刷エージェント126は、変換された印刷データ（今やラスタライズされた印刷データ）を変換サービス132から受信する。このステップは図３のステップ326に示されている。
【００７６】
本発明の一実施例において、ステップ608で変換の試みが成功していなかった場合、ステップ612において、受信した電子文書のタイプに合致する別の利用可能な変換サービスが存在するか否かが確認される。例えば、印刷エージェント126は、変換サービス132が失敗したことを確認する。そして、印刷エージェント126は、図４のテーブル400のような変換サービスの登録内容を探し、変換サービス132以外の変換サービスが、受信した電子文書のタイプに合致するか否かを判定する。
【００７７】
ステップ612において、受信した電子文書のタイプに合致する別の変換サービスが存在する場合、ステップ606において、印刷データが、その第２の選択された変換サービスに転送される。例えば、印刷エージェント126は、テーブル400の行410に登録されている変換サービスが、プレインテキスト文書をラスタライズされた印刷データに変換することを確認する。変換サービス132が失敗した場合、ラスタライズされていない印刷データは、行410に対応する変換サービスに転送される。
【００７８】
ステップ612において、受信した電子文書のタイプに合致する別の変換サービスが存在しなかった場合、ステップ614において、失敗の通知が発行される。例えば、印刷エージェント126は、テーブル400に登録されている何れの変換サービスも、ラスタライズされていない印刷データをラスタライズされた印刷データに成功裏に変換できないことを確認する。したがって、印刷エージェント126は失敗の通知をウェブサービスイネーブル印刷サービス122に返す。
【００７９】
印刷エージェントは、本発明の実施例において、変換サービスの失敗を様々な方法で処理することができる。例えば、印刷エージェントは、失敗の原因を確認し、その原因に対処する処置をとってもよい。別の例として、他の変換サービスが利用可能であるか否か及び印刷データを変換できるか否かを判定せずに、印刷エージェントは、一度の変換の試みによる失敗の通知を返してもよい。
【００８０】
図３の方法例300を参照するに、ステップ326において、変換サービス132は、印刷エージェント126に応答を返し、その応答は、ラスタライズされた印刷データ又は失敗のメッセージを含む。ステップ328において、印刷エージェント126は、ラスタライズされた印刷データ又は失敗のメッセージを、ウェブサービスイネーブル印刷サービス122に転送する。
【００８１】
ステップ328において、ウェブサービスイネーブル印刷サービス122がラスタライズされた印刷データを受信した場合、ウェブサービスイネーブル印刷サービス122は、印刷データにより表現される電子文書に関連するチケット及び印刷ジョブIDに、ラスタライズされた印刷データを関連付ける。例えば、ラスタライズされた印刷データは、印刷データに組み込まれた対応する印刷ジョブIDを有する。別の非限定的な例として、ラスタライズされた印刷データは、同期呼び出し（synchronous  call）により印刷エージェント126に返されてもよい。ステップ330において、ウェブサービスイネーブル印刷サービス122は、印刷するラスタライズされた印刷データを処理する。そして、ステップ332において、適切に成功したこと又は失敗のメッセージが印刷クライアント106に返される。
【００８２】
本発明の一実施例において、ウェブサービスイネーブル印刷サービス122及び印刷エージェント126は、1つのモジュールを用いて実現されてもよい。本発明の別の実施例において、印刷エージェント126は、ウェブサービスイネーブル印刷サービス122に対するプラグイン（plug−in）として実現されてもよい。本発明のさらに別の例として、ウェブサービスイネーブル印刷サービス122及び印刷エージェント126に関連して説明した機能は、印刷装置120に常駐する又は印刷装置120に対して遠隔している２つ以上のモジュールにより実現されてもよい。
【００８３】
本発明のさらに別の例として、セキュアHTTP（HTTPS）のようなセキュアプロトコルを利用して、情報がネットワーク110を介して伝送されてもよい。すなわち、本実施例において、クライアント装置102、印刷装置120及び変換サーバ130は、HTTPSを用いて通信してもよい。
【００８４】
＜ＶＩ．実現手段＞
本願において説明された一実施例における技法は、１つ以上の特定用途向けコンピュータ装置によって実現される。特定用途向けコンピュータ装置は、本技法を実行するように配線されたハードワイヤでもよいし、あるいは１つ以上の特定用途向け集積回路（ASIC）又はフィールドプログラマブルアレイ（FPGA）のようなディジタル電子装置を含んでもよく、ASIC又はFPGAは、本技法を実現するように永続的にプログラムされていてもよいし、あるいは、特定用途向けコンピュータ装置は、１つ以上の汎用ハードウェアプロセッサを含み、ファームウエア、メモリ、その他のストレージ又はそれらの組み合わせの中にあるプログラム命令を実行するようにプログラムされている。そのような特定用途向けコンピュータ装置は、カスタム化されたハードワイヤ論理装置、ASIC又はFPGAと、本技法を実行するように特化したプログラムとを組み合わせている。特定用途向けコンピュータ装置は、デスクトップコンピュータシステム、携帯コンピュータシステム、携帯装置、ネットワーキングデバイス等でもよいし、あるいは本技法を実行するようにハードワイヤ及び／又はプログラム論理装置を組み込んだ任意の他の装置でもよい。
【００８５】
例えば、図７は本発明の実施例で使用されるコンピュータシステム700のブロック図を示す。コンピュータシステム700は、情報を通信するためのバス702又は他の通信手段と、バス702に結合された情報を処理するハードワイヤプロセッサ704とを有する。ハードワイヤプロセッサ704は、例えば汎用のマイクロプロセッサである。
【００８６】
コンピュータシステム700は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのようなバス702に結合されたメインメモリ706を有し、メインメモリはプロセッサ704で実行される命令や情報を格納する。メインメモリ706は、プロセッサ704で実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するのに使用されてもよい。そのような命令は、プロセッサ704にアクセス可能なストレージ媒体に格納される場合、コンピュータシステム700を特定の用途の装置に変え、特定用途の装置は、命令で指定されている処理を実行するように特化したものである。
【００８７】
コンピュータシステム700は、バス702に結合されたリードオンリメモリ(ROM)708又は他のスタティックストレージデバイスを更に含み、それらはプロセッサ704のための命令や静的な情報を格納する。磁気ディスク、光ディスクのようなストレージデバイス710は、情報及び命令を格納するバス702に結合される。
【００８８】
コンピュータシステム700は、コンピュータユーザに情報を表示するために、陰極線管(CRT)のようなディスプレイ712にバス702を介して結合されてもよい。英数字その他のキーを含む入力装置714は、情報及び命令選択内容をプロセッサ704に通知するためにバス702に結合される。他の種類のユーザ入力装置は、カーソル制御装置716（例えば、マウス、トラックボール、又はカーソル方向キー）であり、指示情報及び命令選択をプロセッサ3504に通知し且つディスプレイ712でのカーソルの動きを制御する。この入力装置は典型的には第１軸（例えば、ｘ）及び第２軸（例えば、ｙ）の２軸による２つの自由度を有し、装置が平面上の位置を指定できるようにする。
【００８９】
コンピュータシステム700は、専用に配線された論理装置、１つ以上のASIC又はFPGA、ファームウエア及び／又はプログラム論理装置を用いて、本願で説明された技法を実現してもよく、論理装置等は、コンピュータシステムに組み入れられ、コンピュータシステム700が特定用途の装置となるようにする或いはそのようにプログラムする。本発明の一実施例によれば、これらの技法は、プロセッサ704がメインメモリ706に保存されている１つ以上の命令の１つ以上のシーケンスを実行することにより、コンピュータシステム700において実行される。そのような命令は、ストレージ装置710のような他のコンピュータ読取可能な媒体からメインメモリ706に読み込まれてもよい。メインメモリ706に含まれている命令シーケンスを実行することで、プロセッサ704に、本願で説明された処理ステップを実行させる。代替例の場合、ソフトウェア命令の代わりに又は追加的に、配線された回路が使用されてもよい。
【００９０】
ここで使用されているように「記憶媒体」なる用語は、装置に特定の形式の処理を引き起こす命令及び／又はデータを保存する任意の媒体を指すように使用される。そのような記憶媒体は、不揮発性媒体及び／又は揮発性媒体を含む。不揮発性媒体の具体例は、例えば、ストレージデバイス710のような光又は磁気ディスクを含む。揮発性媒体は、メインメモリ706のようなダイナミックメモリを含む。記憶媒体の一般的な形態は、フロッピディスク、フレキシブルディスク、ハードディスク、ソリッドステートデバイス、磁気テープその他の如何なる磁気媒体；CD-ROMその他の任意の記憶媒体；穴のパターンを有する任意の物理的媒体；RAM、PROM、EPROM、フラッシュEPROM、NVRAM、その他の任意のメモリチップ又はカートリッジを含む。
【００９１】
記憶媒体は個別的な形態であるが、伝送媒体に関連して使用されてもよい。伝送媒体は記憶媒体間の情報伝送に使用される。例えば、伝送媒体は、同軸ケーブル、銅線及び光ファイバを含み、バス702を構成するワイヤを含む。伝送媒体は、無線電波及び赤外線データ通信の際に生成されるもののような、音波又は光波の形式をとってもよい。
【００９２】
媒体の様々な形態は、１以上の命令の１以上のシーケンスをプロセッサ704の実行に備えて搬送する際にも適用可能である。例えば命令は初期には遠く離れたリモートコンピュータの磁気ディスク又はソリッドステートデバイスで搬送されてもよい。リモートコンピュータは自身のダイナミックメモリに命令をロードし、モデムを用いて電話回線を介して命令を送信してもよい。コンピュータシステム700付近のモデムは電話回線でそのデータを受信し、赤外線送信機を用いてそのデータを赤外線信号に変換する。赤外線検出器は、赤外線信号で搬送されたデータを受信し、適切な回路がそのデータをバス702に置く。バス702はデータをメインメモリ706に運び、プロセッサ704はメインメモリから命令を抽出して実行する。メインメモリ706で受信された命令は、プロセッサ704で実行される前又は後にストレージデバイス710に選択的に格納されてもよい。
【００９３】
コンピュータシステム700はバス702に結合された通信インターフェース718も含む。通信インターフェース718は、ローカルネットワーク722に接続されたネットワークリンク720に結合する双方向データ通信をもたらす。例えば、通信インターフェース718は、データ通信接続を対応するタイプの電話回線に与える統合サービスディジタルネットワーク(ISDN)カード又はモデムでもよい。別の例では、通信インターフェース718は、データ通信接続をコンパチブルなLANに与えるローカルエリアネットワーク(LAN)カードでもよい。無線リンクが使用されてもよい。どの実現手段でも、通信インターフェース3518は、電気的な、電磁的な又は光学的な信号を送信及び受信し、様々なタイプの情報を表現するディジタルデータストリームを運ぶ。
【００９４】
ネットワークリンク720は典型的には１以上のネットワークを介して他のデータ装置とのデータ通信をもたらす。例えば、ネットワークリンク720はローカルネットワーク722を介してホストコンピュータ724とのコネクションを提供する、或いはインターネットサービスプロバイダ(ISP)726により運営されるデータ機器とのコネクションを提供する。そしてISP726はデータ通信サービスをワールドワイドパケットデータ通信ネットワーク(今日、インターネット728として一般に言及されている)を介して提供する。ローカルネットワーク722及びインターネット728の双方は、ディジタルデータストリームを搬送する、電気的な、電磁的な又は光学的な信号を使用する。様々なネットワークを介する信号や、ネットワークリンク720及び通信インターフェース718を介する信号は、コンピュータシステム700に及びそこからディジタルデータを搬送し、例えば情報を伝送する搬送波の形式をとってもよい。
【００９５】
コンピュータシステム700は、ネットワーク、ネットワークリンク720及び通信インターフェース718を介して、メッセージを送信し及びプログラムコードを含むデータを受信する。インターネットの例では、サーバ730はインターネット728、ISP726、ローカルネットワーク722及び通信インターフェース718を介して、アプリケーションプログラムに関する要求されたコードを送信してよい。
【００９６】
プロセッサ704は受信したコードを受信したときに実行してもよいし、後の実行に備えてストレージデバイス710又は他の不揮発性ストレージに格納してもよい。
【００９７】
以上により、本発明の実施例が、実施例毎に異なる様々な具体的詳細を参照しながら説明されてきた。出願人が発明であると意図している独占排他的な本発明の範囲は、本願に添付されている特許請求の範囲に示されており、事後的な如何なる補正も含む。そのような特許請求の範囲に含まれる用語について述べられている如何なる定義も、特許請求の範囲で使用されているそのような用語の意味を規定する。特許請求の範囲内で言及されていない限定、要素、特性、特徴、利点又は属性は、特許請求の範囲を如何なる方法によっても限定するものではない。したがって、明細書及び図面は限定的なものではなく、例示的なものである。
【符号の説明】
【００９８】
100  ネットワークシステム
102  クライアント装置
104  アプリケーション
106  印刷クライアント
110  ネットワーク
120  印刷装置
122  ウェブサービスイネーブル印刷サービス
124  印刷プロセス
126  印刷エージェント
130  変換サーバ
132  変換サービス
400  テーブル
700  コンピュータシステム
702  バス
704  プロセッサ
706  メインメモリ
708  リードオンリメモリ
710  ストレージデバイス
712  ディスプレイ
714  入力装置
716  カーソル制御部
718  通信インターフェース
720  ネットワークリンク
722  ローカルネットワーク
724  ホスト
726  インターネットサービスプロバイダ
728  インターネット
730  サーバ
【図１】
2011031616.tif 000003
【図２】
2011031616.tif 000004
【図３】
2011031616.tif 000005
【図４】
2011031616.tif 000006
【図５】
2011031616.tif 000007
【図６】
2011031616.tif 000008
【図７】
2011031616.tif 000009