(57)【特許請求の範囲】
【請求項１】
ユーザが操作する情報端末へ印刷設定画面を提供し、提供された前記印刷設定画面を介してユーザが設定した印刷設定を受信し、受信した印刷設定を基に印刷ジョブを生成する印刷サービスシステムと、印刷ジョブを基にイメージデータを出力する画像形成装置と通信を行うことが可能な印刷中継システムであって、
前記情報端末へ、前記印刷設定画面において設定不可能な詳細印刷設定を設定可能である詳細印刷設定画面を送信する送信手段と、
前記情報端末から前記印刷サービスシステムに対し印刷が指示され、指示されたことで送信される印刷ジョブを前記印刷サービスシステムから受信する受信手段と、
前記送信手段により送信された詳細印刷設定画面を介してユーザが設定した詳細印刷設定を受信し、受信した詳細印刷設定を基に、前記受信手段により受信された印刷ジョブを新たな印刷ジョブへと作り変えるジョブ変更手段と、
前記ジョブ変更手段により作り変えられた印刷ジョブを、前記画像形成装置へ送信するジョブ送信手段と、を有する印刷中継システム。
【請求項２】
前記送信手段は、前記ユーザが操作する情報端末から、前記印刷設定画面で設定不可能な詳細印刷設定を設定する旨を受信した場合に、前記詳細印刷設定画面を送信することを特徴とする請求項１に記載の印刷中継システム。
【請求項３】
前記ジョブ送信手段は、前記ユーザが操作する情報端末から、前記印刷設定画面で設定不可能な詳細印刷設定を設定する旨を受信しなかった場合、前記受信手段により受信された印刷ジョブの内、少なくとも印刷設定に関する情報を変更せずに前記画像形成装置へ送信することを特徴とする請求項２に記載の印刷中継システム。
【請求項４】
前記ジョブ変更手段は、少なくとも前記印刷ジョブに含まれる印刷設定の情報を書き換えることで、前記印刷ジョブを新たな印刷ジョブへと作り変えることを特徴とする請求項１乃至３のいずれか１項に記載の印刷中継システム。
【請求項５】
前記詳細印刷設定画面は、前記印刷設定画面において設定不可能な詳細印刷設定のみ設定可能であることを特徴とする請求項１乃至４のいずれか１項に記載の印刷中継システム。
【請求項６】
前記詳細印刷設定画面は、前記印刷設定画面において設定不可能な詳細印刷設定、および前記印刷設定画面において設定可能な印刷設定の両方が設定可能であることを特徴とする請求項１乃至４のいずれか１項に記載の印刷中継システム。
【請求項７】
前記詳細印刷設定画面は、必須設定項目、または画像形成装置固有設定項目の内、少なくとも１つの項目と、共通設定項目とを含む画面であって、
前記共通設定項目とは、前記印刷設定画面において設定可能な印刷設定を設定するための項目であり、前記必須設定項目とは、前記印刷設定画面において設定不可能であり、かつ前記画像形成装置を利用するためには必ず設定しなくてはならない印刷設定を設定するための項目であり、前記画像形成装置固有設定項目は、前記印刷設定画面において設定不可能であり、かつ前記画像形成装置が有する機能を利用するために設定する項目であることを特徴とする請求項１乃至６のいずれか１項に記載の印刷中継システム。
【請求項８】
前記共通設定項目には、両面印刷設定、用紙サイズ、および製本印刷設定の内、少なくとも１つの設定を行うための項目が含まれており、前記必須設定項目には、課金に関する設定を行うための項目が含まれており、前記画像形成装置固有設定項目には、フィニッシングに関する設定を行うための項目が含まれていることを特徴とする請求項７に記載の印刷中継システム。
【請求項９】
前記受信手段により受信された印刷ジョブに含まれる印刷設定に関する情報と、前記印刷ジョブの送信先である前記画像形成装置の情報とを基に、前記印刷ジョブに含まれる印刷設定には、前記画像形成装置がサポートしない印刷設定の組み合わせが設定されていると判断された場合、前記送信手段は、前記共通設定項目を含む詳細印刷設定画面を送信することを特徴とする請求項７または８に記載の印刷中継システム。
【請求項１０】
ユーザが操作する情報端末へ印刷設定画面を提供し、提供された前記印刷設定画面を介してユーザが設定した印刷設定を受信し、受信した印刷設定を基に印刷ジョブを生成する印刷サービスシステムと、印刷ジョブを基にイメージデータを出力する画像形成装置と通信を行うことが可能な印刷中継システムを制御する制御方法であって、
送信手段は、前記情報端末へ、前記印刷設定画面において設定不可能な詳細印刷設定を設定可能である詳細印刷設定画面を送信し、
受信手段は、前記情報端末から前記印刷サービスシステムに対し印刷が指示され、指示されたことで送信される印刷ジョブを前記印刷サービスシステムから受信し、
ジョブ変更手段は、前記送信手段により送信された詳細印刷設定画面を介してユーザが設定した詳細印刷設定を受信し、受信した詳細印刷設定を基に、前記受信手段により受信された印刷ジョブを新たな印刷ジョブへと作り変え、
ジョブ送信手段は、前記ジョブ変更手段により作り変えられた印刷ジョブを、前記画像形成装置へ送信することを特徴とする印刷中継システムを制御する制御方法。
【請求項１１】
請求項１０に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを印刷サーバから受信する印刷中継システム、および印刷中継システムの制御方法、およびプログラムに関するものである。
【背景技術】
【０００２】
従来技術として、クライアントからサーバに対して印刷指示を送信し、印刷指示を受信したサーバが印刷対象のコンテンツを印刷データに変換する技術がある。
特許文献１には、印刷すべきウェブコンテンツデータと印刷体裁設定画面をプリントサーバからダウンロードし、クライアントから印刷データを画像形成装置に送信し印刷させるシステムが提案されている。
【０００３】
上述のように、サーバがクライアントにサービスを提供する形態は従来から存在しており、近年、注目を集めているクラウドコンピューティングもサーバがクライアントにサービスを提供する形態である。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にＷｅｂサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。
【０００４】
中でも注目すべきベンダーはＧｏｏｇｌｅ（登録商標）である。Ｇｏｏｇｌｅ（登録商標）は、大規模なデータセンターを多数設立する他、デバイスと連携して提供するサービスを提案し、デバイスとサービス間のデータ通信の仕組みを開発する等の積極的な動きを見せている。例えば、Ｇｏｏｇｌｅ（登録商標）は画像形成装置と連携してサービスを提供するためのデータ通信の仕組みを開発し、画像形成装置とＧｏｏｇｌｅ（登録商標）が用意したクラウドコンピューティング環境とが、データ通信を行うためのインターフェースを公開した。このサービスを利用したいユーザは、画像形成装置の情報をクラウドコンピューティング環境、即ちサービスを提供するサービス環境に登録する必要がある。画像形成装置の情報を登録するには、画像形成装置の情報をサービス提供者の環境に記憶させることで登録が完了する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２１６３６７
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のサービス環境には次の様な問題がある。印刷サービス環境が提供する機能と、画像形成装置で利用できる機能とに差異がある可能性が高い。ユーザは、上述の印刷サービス環境を利用しただけでは画像形成装置の機能を十分に引き出すことができない可能性がある。
【０００７】
そこで、本発明の目的は、画像形成装置と印刷サービス環境との間に機能差があった場合でも、画像形成装置が持っている機能を利用することができる印刷中継システムを設けることを１つの目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施系に係る印刷中継システムは、ユーザが操作する情報端末へ印刷設定画面を提供し、提供された前記印刷設定画面を介してユーザが設定した印刷設定を受信し、受信した印刷設定を基に印刷ジョブを生成する印刷サービスシステムと、印刷ジョブを基にイメージデータを出力する画像形成装置と通信を行うことが可能な印刷中継システムであって、前記情報端末へ、前記印刷設定画面において設定不可能な詳細印刷設定を設定可能である詳細印刷設定画面を送信する送信手段と、前記情報端末から前記印刷サービスシステムに対し印刷が指示され、指示されたことで送信される印刷ジョブを前記印刷サービスシステムから受信する受信手段と、前記送信手段により送信された詳細印刷設定画面を介してユーザが設定した詳細印刷設定を受信し、受信した詳細印刷設定を基に、前記受信手段により受信された印刷ジョブを新たな印刷ジョブへと作り変えるジョブ変更手段と、前記ジョブ変更手段により作り変えられた印刷ジョブを、前記画像形成装置へ送信するジョブ送信手段と、を有することを特徴とする。
【発明の効果】
【０００９】
画像形成装置と印刷サービス環境との間に機能差があった場合でも、ユーザは、画像形成装置の機能をより十分に利用可能になる。
【図面の簡単な説明】
【００１０】
【図１】コンテンツ印刷システム１０００の構成を示す図。
【図２】コンテンツ印刷システム１０００を構成する各装置、および各サーバ群のハードウェア構成を示す。
【図３】コンテンツ印刷システム１０００を構成する各装置、および各サーバ群のソフトウェア構成を示す図。
【図４】印刷制御部３０１が実現する機能を示す図。
【図５】中継仮想プリンタ管理サービス部３０２が実現する機能を示す図。
【図６】中継仮想プリンタ３０３が実現する機能を示す図。
【図７】印刷サービス３０４が実現する機能を示す図。
【図８】（ａ）印刷サービスの情報を示す図。（ｂ）印刷サービス情報管理部５０５が格納する情報を示す図。（ｃ）プリンタ情報格納部７０２が格納する情報を示す図。（ｄ）印刷サービス情報管理部５０５が格納する情報を示す図。（ｅ）印刷サービス情報管理部５０５が格納する情報を示す図。
【図９】（ａ）登録ＵＩを示す図。（ｂ）印刷設定画面を示す図。
【図１０】（ａ）ＸＭＬ形式で表現された画像形成装置１０１のケーパビリティーズを示す図。（ｂ）ＸＭＬ形式で表現された印刷サーバ１０３に登録されたケーパビリティーズを示す図。（ｃ）ＸＭＬ形式で表現された印刷設定を示す図。（ｄ）ＸＭＬ形式で表現された通知情報Ａを示す図。（ｅ）ＸＭＬ形式で表現された通知情報Ｂを示す図。
【図１１】（ａ）ＪＳＯＮ形式で表現された画像形成装置１０１のケーパビリティーズを示す図。（ｂ）ＪＳＯＮ形式で表現された印刷サーバ１０３に登録されたケーパビリティーズを示す図。（ｃ）ＪＳＯＮ形式で表現された印刷設定を示す図。（ｄ）ＪＳＯＮ形式で表現された通知情報Ａを示す図。（ｅ）ＪＳＯＮ形式で表現された通知情報Ｂを示す図。
【図１２】印刷ボタン１２０１が押されていることを示す図。
【図１３】印刷サービス３０４に中継仮想プリンタ３０３を登録する処理を示すシーケンス図。
【図１４】印刷サーバ１０３が保持可能なケーパビリティーズと、実際に画像形成装置１０１が保持しているケーパビリティーズの概念図。
【図１５】印刷サーバ群１０３から画像形成装置１０１に印刷させる処理を示すシーケンス図。
【図１６】Ｗｅｂブラウザ３０５、Ｗｅｂブラウザプラグイン３０６、中継仮想プリンタ３０３の印刷詳細設定処理フローチャート図。
【図１７】印刷サーバ群１０３から中継仮想プリンタ３０３の印刷処理フローチャート図。
【図１８】制御部６１３における設定項目確認処理フローチャート図。
【図１９】（ａ）印刷失敗時にＷｅｂブラウザ３０５に表示するメッセージの一例を示す図。（ｂ）プラグイン設定画面を示す図。（ｃ）詳細印刷設定画面の一例を示す図。
【発明を実施するための形態】
【００１１】
本発明はインターフェースを提供しているベンダーの環境と、画像形成装置との間に印刷中継システムを設けることを目的とする。以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【実施例１】
【００１２】
始めに、実施例１におけるコンテンツ印刷システム１０００の構成について説明する。図１は、コンテンツ印刷システム１０００の構成を示す図である。コンテンツ印刷システム１０００は、クライアントコンピュータ１０４、画像形成装置１０１を含む。２つの装置はユーザ環境に配置された装置であり、ネットワーク１００を介して互いに接続されており、ネットワーク１００はインターネット１１０に接続されている。また、コンテンツ印刷システム１０００は、Ｗｅｂアプリケーションサーバ群１０５、印刷サーバ群１０３を含む。２つのサーバ群は、同じベンダーから提供されたサーバ群であり、ネットワーク１００を介して互いに接続されており、ネットワーク１００はインターネット１１０に接続されている。クライアントコンピュータ１０４が、ユーザが操作する情報端末に相当する。印刷サーバ群１０３が、印刷サービスシステムに相当する。
【００１３】
なお、実施例１において２つのサーバ群はネットワーク１００を介して接続されているが、インターネット１１０を介して接続されていても良い。また、コンテンツ印刷システム１０００は、印刷中継サーバ１０２を含む。印刷中継サーバ１０２はネットワーク１００に接続されており、ネットワーク１００はインターネット１１０に接続されている。コンテンツ印刷システム１０００を構成する各装置、および各サーバ群は、インターネット１１０を介して接続可能であり、互いにデータ通信することができる。なお、各装置は１台のみであるが複数台あっても良い。また、各サーバ群は複数台で構成されているが１台であっても良い。印刷中継サーバ１０２が、印刷中継システムに相当する。
【００１４】
次に、コンテンツ印刷システム１０００を構成する各装置、および各サーバ群のハードウェア構成について説明する。図２は、コンテンツ印刷システム１０００を構成する各装置、および各サーバ群のハードウェア構成を示す図である。２０１は、コンテンツ印刷システム１０００を構成する各装置、および各サーバ群である。２０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、各種プログラムを実行し、様々な機能を実現するユニットである。２０４は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、各種プログラムを記憶するユニットである。２０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、ＣＰＵ２０２は、ＲＯＭ２０４に記憶されているプログラムをＲＡＭ２０３にロードしプログラムを実行する。
【００１５】
また、ＲＡＭ２０４は、ＣＰＵ２０２の一時的な作業記憶領域としても利用されるユニットである。Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０５は、各装置、および各サーバ群に接続されているディスプレイ（不図示）にデータを送信する他、ポインティングデバイス（不図示）からデータを受信するインターフェースユニットである。ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０６は、コンテンツ印刷システム１０００を構成する各装置、および各サーバ群をネットワーク１００に接続するためのユニットである。以上説明してきたユニットは、バス２０７を介してデータの送受信を行うことが可能である。また、画像形成装置１０１は、印刷ユニット（不図示）を搭載しており、印刷ユニットは、バス２０７を介して各ユニットとデータを送受信することが可能である。なお、印刷ユニットは、ラスタイメージを始めとする各種イメージデータを記録媒体に印刷、または外部装置へ送信することが可能なユニットである。
【００１６】
次に、コンテンツ印刷システム１０００を構成する各装置、および各サーバ群の機能について説明する。図３は、コンテンツ印刷システム１０００を構成する各装置、および各サーバ群のソフトウェア構成を示している。図３に示されている各ソフトウェア構成の機能を実現するプログラムは、各装置、および各サーバ群のＲＯＭ２０３に記憶されており、ＣＰＵ２０２がＲＡＭ２０４にプログラムをロードし実行することで、これらの機能は実現される。
【００１７】
これより、各装置、および各サーバ群が有する機能について説明する。ここで説明される機能は、次の２つの系に分類される。１つ目の系に分類される機能が、画像形成装置１０１を印刷中継サーバ１０２に登録し、印刷中継サーバ１０２内に中継仮想プリンタ３０３を実現し、印刷サービス３０４に中継仮想プリンタ３０３を登録する登録系に分類される機能である。２つ目の系に分類される機能が、Ｗｅｂアプリケーションサーバ群１０５で生成されたコンテンツの印刷指示を印刷サーバ群１０３に送信し、印刷サーバ群１０３から送信される印刷データを画像形成装置１０１に印刷させる印刷系に分類される機能である。なお、印刷サーバ群１０３から送信される印刷データを画像形成装置１０１に印刷させる場合、印刷サーバ群１０３は、仲介役である印刷中継サーバ１０２を介して画像形成装置１０１に印刷データを送信し印刷させる。
【００１８】
始めに、登録系に分類される機能について説明する。画像形成装置１０１が有する登録系に分類される機能について説明する。画像形成装置１０１は、印刷制御部３０１を有する。印刷制御部３０１は、図４に示す各機能を実現する。表示部４０１は、各種画面を表示する。印刷サービス情報保持部４０２は、印刷サービスの情報を有している。図８（ａ）は、印刷サービスの情報を示す。図８（ａ）には、複数の印刷サービスの情報が示されているが、実施例１における印刷サービス３０４は、ＰｒｉｎｔＳｅｒｖｉｃｅＡに相当する。表示部４０１は、印刷サービス３０４に対し画像形成装置１０１の登録を行う処理をユーザから指示された場合に、図８（ａ）の情報を基に、図９（ａ）に示すような印刷サービスへの登録ＵＩを生成し表示する。ユーザは、図９（ａ）に示す画面において、画像形成装置１０１を登録したい印刷サービスを１００１から選択する。実施例１の場合、印刷サービスは印刷サービス３０３の１つのみのため、ユーザはＰｒｉｎｔＳｅｒｖｉｃｅＡ以外選択できない。ユーザは、選択した印刷サービスに対するユーザＩＤ、およびパスワードを１００２、および１００３に入力し登録ボタン１００４を押す。登録部４０３は、ユーザが登録ボタンを押したことに応じて、登録情報を発行する。また、登録部４０３は、発行した登録情報を、後述する中継仮想プリンタ３０２が有する要求受信部５０１へ送信する。その他、説明しなかった機能については後述する。
【００１９】
ここで登録情報について説明する。登録情報には、印刷サービスネームが含まれている。印刷サービスネームとは、ユーザが選択した印刷サービスを特定するための情報であり、印刷サーバ群１０３の印刷サービス３０４を特定するための情報である。また、登録情報には、ユーザＩＤ、パスワードが含まれている。ユーザＩＤ、およびパスワードは、印刷サービス３０４、およびＷｅｂアプリケーションサーバ群１０５を利用するために必要な情報であり、このような情報をユーザ情報と呼ぶ。なお、Ｗｅｂアプリケーションサーバ群１０５、および印刷サーバ群１０３を提供するベンダーは同じであることを想定しているため、ユーザが両方のサーバ群が提供するサービスを利用する場合は、ユーザは同じユーザ情報で両方のサービスを受けられる。実施例１において、ユーザは事前にＷｅｂアプリケーションサーバ群１０５にユーザ情報を登録している。
【００２０】
また、登録情報には、画像形成装置１０１に割り当てられた固有の識別情報であるＲＰＩＤ（Ｒｅａｌ  Ｐｒｉｎｔｅｒ  ＩＤ）が含まれる。画像形成装置１０１を含む各画像形成装置（不図示）には、夫々固有の識別情報が割り当てられており、この識別情報により各画像形成装置は特定される。実施例１では、ＲＰＩＤを特定することで画像形成装置の配置場所を特定できる。また、登録情報には、画像形成装置１０１の機種情報であるＰｒｉｎｔｅｒＫｉｎｄが含まれている。機種情報は、同一機種に同一の機種情報が割り当てられる。なお、２つの画像形成装置が同一機種とは、同一の通信モジュールＢ‘を搭載していることを指す。なお、通信モジュールＢ’、および後述する通信モジュールＡ、通信モジュールＡ‘、通信モジュールＢの詳細については別途詳細に説明する。また、登録情報には、画像形成装置１０１のプリンタネームが含まれている。プリンタネームとは、画像形成装置１０１に割り当てられた名前であり、画像形成装置１０１を呼称するときに用いるものである。なお、プリンタネームは識別情報と異なり、各画像形成装置のプリンタネームが同一である場合もある。また、登録情報にはケーパビリティーズが含まれている。
【００２１】
ケーパビリティーズとは、例えば、画像形成装置１０１が両面印刷設定可能であるか否か、およびカラー印刷設定可能であるか否か、製本印刷設定が可能であるか否か、および出力可能用紙サイズ等の情報を含む。ケーパビリティーズは、図１０（ａ）に示すようにＸＭＬ形式で要求受信部５０１へ送信される。なお、図１０（ａ）の＜Ｉｔｅｍ＞が、画像形成装置１０１の能力を示しており、画像形成装置１０１は、両面印刷可能であり、かつカラー出力可能であり、かつＢ５サイズ、およびＡ４サイズ、およびＡ３サイズ、およびレターサイズの紙を出力可能である。また、画像形成装置１０１は、製本印刷が可能であり、ＢｉｌｌｉｎｇＣｏｄｅの入力が必須であり、給紙としては、自動、カセット１、カセット２を利用可能であり、フィニッシング機能として、Ｚ折り、ステープルが可能であることが示されている。ＢｉｌｌｉｎｇＣｏｄｅとは、例えば弁護士事務所などにおいて、顧客の依頼に基づいて行った印刷の費用を顧客に請求するために、印刷時にＢｉｌｌｉｎｇＣｏｄｅと呼ばれる課金先情報を指定して印刷を行う。そして、ＢｉｌｌｉｎｇＣｏｄｅと印刷結果とを対応付けて記録し、記録結果を基に顧客（課金先）毎の請求額を集計するために利用されるものである。
【００２２】
次に、印刷中継サーバ１０２が有する登録系に分類される機能について説明する。印刷中継サーバ１０２は、中継仮想プリンタ管理サービス部３０２を有する。中継仮想プリンタ管理サービス部３０２は、図５に示す各機能を実現する。要求受信部５０１は、登録情報を受信する。制御部５０２は、要求受信部５０１が受信した登録情報を取得し、その登録情報を解釈する。そして、制御部５０２は、次の２つの処理を行うように仮想プリンタ生成部５０３、および印刷サービスプリンタ生成部５０４へ指示を出す。１つ目の処理は、仮想プリンタ生成部５０３が中継仮想プリンタ３０３の機能を実現する処理である。２つ目の処理は、印刷サービスプリンタ生成部５０４が印刷サービス３０４に中継仮想プリンタ３０３の情報を登録させる処理である。
【００２３】
１つ目の処理、即ち、仮想プリンタ生成部５０３が中継仮想プリンタ３０３の機能を実現する処理について説明する。中継仮想プリンタ３０３は、図６に示す各機能を実現するが詳細については後述する。仮想プリンタ生成部５０３は、制御部５０２から送信されたＰｒｉｎｔｅｒＫｉｎｄを基に、インターフェース情報管理部５０６に格納されている通信モジュールＢ６０２を特定し取得する。また、仮想プリンタ生成部５０３は、印刷サービスネームを基に、インターフェース情報管理部５０６に格納されている通信モジュールＡ‘６０１を特定し取得する。通信モジュールＢは画像形成装置１０１と通信を行うためのモジュールであり、上述したように同一機種は同じ通信モジュールＢを有するので、ＰｒｉｎｔｅｒＫｉｎｄから通信モジュールＢを特定することが可能である。なお、通信モジュールＢは、印刷制御部３０１が有する通信モジュールＢ’４１０と通信を行う。通信モジュールＡ‘６０１は、印刷サーバ群１０３と通信を行うためのモジュールであり、印刷サービス３０４が有する後述する通信モジュールＡ７０７と通信を行うことが可能なモジュールである。２つの通信モジュールを取得した仮想プリンタ生成部５０３は、これら２つの通信モジュールをロードしたプロセス（スレッド）を実現する。このプロセスが、中継仮想プリンタ３０３に相当する。
【００２４】
仮想プリンタ生成部５０３は、中継仮想プリンタ３０３を実現した後に、実現した中継仮想プリンタ３０３を識別するための識別情報であるＶＰＩＤ（Ｖｉｒｔｕａｌ  Ｐｒｉｎｔｅｒ  ＩＤ）を発行する。発行されたＶＰＩＤは、制御部５０２へ送られる。なお、中継仮想プリンタ３０３は、画像形成装置１０１から登録情報が送られるごとに実現されるものであり、実現された夫々の中継仮想プリンタには固有の識別子であるＶＰＩＤが割り当てられる。実施例１では、ＶＰＩＤを特定することで中継仮想プリンタの配置場所を特定できる。次に、２つ目の処理、即ち、印刷サービスプリンタ生成部５０４が、印刷サービス３０４に中継仮想プリンタ３０３の情報を登録する処理について説明する。制御部５０２は、ユーザ情報を印刷サービスプリンタ生成部５０４へ送信する。印刷サービスプリンタ生成部５０４は、受信したユーザ情報を基に印刷サーバ群１０３の認証を行う。認証が成功した場合、印刷サービスプリンタ生成部５０４は、印刷サービス３０４にプリンタネーム、印刷サービス３０４が処理可能なケーパビリティーズ（図１０（ｂ））、ＶＰＩＤを送信する。画像形成装置１０１のケーパビリティーズの中で、印刷サービス３０４で処理可能なケーパビリティーズのみ印刷サービス３０４に登録可能である。なぜなら、印刷サービス３０４が対応していないケーパビリティ−が登録できたとしても、印刷サービス３０４は、登録されたケーパビリティ−を利用することはできないからである。印刷サービスプリンタ生成部５０４は、その応答としてＳＰＩＤ（Ｓｅｒｖｉｃｅ  Ｐｒｉｎｔｅｒ  ＩＤ）を受信する。ＳＰＩＤについては後述する。
【００２５】
制御部５０２は、仮想プリンタ生成部５０３、および印刷サービスプリンタ生成部５０４から、ＶＰＩＤ、およびＳＰＩＤを取得する。ＶＰＩＤ、およびＳＰＩＤを取得した制御部５０２は、印刷サービス情報管理部５０５にそれらの情報を格納するよう指示を出す。印刷サービス情報管理部５０５は、ＶＰＩＤ、およびＳＰＩＤ、および登録情報を図８（ｂ）に示すように関連付けて格納する。なお、ＶＰＩＤが８０２、印刷サービスネームが８０３、ＲＰＩＤが８０４、ＰｒｉｎｔｅｒＫｉｎｄが８０５、ＳＰＩＤが８０６、プリンタネームが８０７、ケーパビリティーズが８０８に相当する。
【００２６】
次に、印刷サーバ群１０３の有する登録系に分類される機能について説明する。印刷サーバ群１０３は、印刷サービス３０４を有する。印刷サーバ群１０３は、複数台のサーバを仮想化して１台のサーバとみなし、その１台のサーバで印刷サービス３０４の機能を実現している。なお、印刷サーバ群１０３は、その１台のサーバ内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対して印刷サービス３０４の機能を実現させている。図３に示す印刷サービス３０４は、その内の１台を示したものである。
【００２７】
印刷サービス３０４は、図７に示す機能を実現する。プリンタ情報登録部７０１は、ユーザ情報を印刷サービスプリンタ生成部５０４から受信する。プリンタ情報登録部７０１は、Ｗｅｂアプリケーションサーバ群１０５のＷｅｂアプリケーション３０６が格納しているユーザ情報を読み込み、受信したユーザ情報が存在するか否かを確認する。存在する場合、プリンタ情報登録部７０１は認証が成功したとみなし、プリンタネーム、ケーパビリティーズ、ＶＰＩＤを印刷サービスプリンタ生成部５０４から受信し、プリンタ情報格納部７０２に受信したＶＰＩＤを格納するよう指示を出す。また、プリンタ情報登録部７０１は、ＶＰＩＤに対応するＳＰＩＤを発行し、プリンタ情報格納部７０２、および印刷サービスプリンタ生成部５０４に発行したＳＰＩＤを送信する。プリンタ情報格納部７０２は、プリンタネーム、ケーパビリティーズ、ＶＰＩＤ、ＳＰＩＤ、ユーザＩＤ、パスワードを関連付けて格納する。図８（ｃ）は、プリンタ情報格納部７０２が格納している情報を示す図であり、ＳＰＩＤが８１３、プリンタネームが８１４、ケーパビリティーズが８１５、ＶＰＩＤが８１６、ユーザＩＤが８１６、パスワードが８１７、ケーパビリティーズが８１８に相当する。その他、説明しなかった機能については後述する。以上、説明してきた機能が、画像形成装置１０１を印刷中継サーバ１０２に登録し、印刷中継サーバ１０２内に中継仮想プリンタ３０３を実現し、印刷サービス３０４に中継仮想プリンタ３０３を登録する登録系に分類される機能である。
【００２８】
図１４は印刷サーバ１０３のプリンタ情報格納部７０２が保持可能なケーパビリティーズと、実際に画像形成装置１０１が保持しているケーパビリティーズの概念を図にしたものである。プリンタ情報格納部７０２が保持可能なケーパビリティーズは（１）１４０１、（２）１４０２である。画像形成装置１０１が保持しているケーパビリティーズは（２）１４０２、（３）１４０３である。印刷サーバ１０３のプリンタ情報格納部７０２が保持できるケーパビリティーズとは、印刷サーバ１０３が印刷設定画面として表示するためのリソースを保持している能力のことである。あるいは、コンテンツをデータ変換することができる処理モジュールを保持しているなど、印刷サーバ１０３が処理可能な能力のことも指す。
【００２９】
図１４に示すように印刷サーバ１０３が保持可能なケーパビリティーズと実際に画像形成装置１０１が保持しているケーパビリティーズは一致しない。一致するケーパビリティーズは、（２）１４０２であり、以後共通設定項目１４０５と呼ぶ。この値は、図１０の（ｂ）と対応する。一致しないケーパビリティ（３）１４０３には、必須設定項目１４０６と画像形成装置固有設定項目１４０７がある。必須設定項目１４０６とは、画像形成装置にとって設定が必須のケーパビリティであり、そのケーパビリティの設定がなければ、印刷ができないものである。例としてはＢｉｌｌｉｎｇ  Ｃｏｄｅがある。画像形成装置固有設定項目１４０７は各画像形成装置固有の設定や外付けされたフィニッシャー等の周辺機器に依存するケーパビリティである。例としては給紙やフィニッシャーがある。
【００３０】
本発明を適用しなかった場合、画像形成装置がさまざまな機能を持っていたとしても、印刷サーバ１０３が保持できないケーパビリティーズが存在すれば、ユーザはその機能を利用することができない。また画像形成装置１０１にとって設定が必須のケーパビリティを印刷サーバ１０３が保持可能なケーパビリティーズとして持っていない場合、画像形成装置１０１の起動条件を満たせず印刷できないということもある。また、印刷サービスのみで設定可能な設定を基に印刷設定を行ったとしても、画像形成装置１０１ではユーザの意図した出力結果を出力できない。
【００３１】
次に、印刷系に分類される機能について説明する。始めに、クライアント１０４が有する機能について説明する。クライアント１０４は、Ｗｅｂブラウザ３０５を有する。また、Ｗｅｂブラウザ３０５は、Ｗｅｂブラウザプラグイン３０６を有する。Ｗｅｂブラウザプラグイン３０６は、Ｗｅｂブラウザ３０５に対する拡張機能である。Ｗｅｂブラウザ３０５は、Ｗｅｂアプリケーションサーバ群１０５に保存されているコンテンツの印刷指示を、Ｗｅｂアプリケーションサーバ群１０５に送信する。また、Ｗｅｂブラウザ３０５は、Ｗｅｂアプリケーションサーバ群１０５から印刷サーバ群１０３へのアクセス命令、即ち、リダイレクトの指示を受信し、受信したリダイレクトの指示に従い印刷サーバ群１０３へアクセスする。また、Ｗｅｂブラウザ３０５は、そのＷｅｂブラウザ３０５を利用しているユーザが印刷可能な画像形成装置の一覧リストを、アクセスした印刷サーバ群１０３から取得し一覧リストを表示する。また、Ｗｅｂブラウザ３０５は、その一覧リストからユーザが選択した画像形成装置に対応する印刷設定画面を、印刷サーバ群１０３から取得しその印刷設定画面を表示する。図９の（ｂ）は、Ｗｅｂブラウザ３０５が表示するユーザが選択した画像形成装置に対応する印刷設定画面とＷｅｂブラウザプラグイン３０６を示す。
【００３２】
また、Ｗｅｂブラウザ３０５はその印刷設定画面でユーザが設定した印刷設定値を印刷サーバ群１０３へ送信する。Ｗｅｂブラウザプラグイン３０６は、ユーザが設定した印刷設定値を印刷サーバ群１０３へ送信したこと検知し、中継仮想プリンタ３０３に設定情報を送付する。設定情報には印刷設定画面でユーザが設定した印刷設定値（図１０の（ｃ））、選択した画像形成装置に対応するＳＰＩＤ、プラグイン設定情報がある。プラグイン設定情報とは画像形成装置固有設定を行うか、また印刷時に画像形成装置の画面で設定を行うか、を設定した情報である。詳細設定ボタン２４０５を押下し、図１９の（ｂ）プラグイン設定画面で設定を行うことができ、そのプラグイン設定情報はＷｅｂプラグイン３０６内で保持される。
【００３３】
Ｗｅｂブラウザプラグイン３０６は、中継仮想プリンタ３０３から詳細印刷設定画面ＵＲＬを受信した場合、Ｗｅｂブラウザ３０５に詳細印刷設定画面ＵＲＬの表示要求を行う。Ｗｅｂブラウザ３０５は、その詳細印刷設定画面を表示させるために、中継仮想プリンタ３０３に表示要求を行い、Ｗｅｂブラウザ３０５に詳細印刷設定画面の表示を行う。図１９（ｃ）が詳細印刷設定画面の一例である。Ｗｅｂブラウザ３０５はユーザにより詳細印刷設定画面で設定された詳細印刷設定情報を中継仮想プリンタ３０３に送信する。以上が、クライアント１０４が有するＷｅｂブラウザ３０５とＷｅｂブラウザプラグイン３０６の説明である。なお、詳細印刷設定画面には、印刷サーバ群１０３が提供する印刷設定画面において設定不可能な詳細印刷設定を設定可能な画面である。
【００３４】
次に、Ｗｅｂアプリケーションサーバ群１０５が有する機能について説明する。Ｗｅｂアプリケーションサーバ群１０５は、Ｗｅｂアプリケーション３０７を有する。Ｗｅｂアプリケーションサーバ群１０５は、複数台のサーバを仮想化して１台のサーバとみなし、その１台のサーバでＷｅｂアプリケーション３０７の機能を実現している。なお、Ｗｅｂアプリケーションサーバ群１０５は、その１台のサーバ内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対してＷｅｂアプリケーション３０７の機能を実現させている。
【００３５】
Ｗｅｂアプリケーション３０７は、文書作成サービスを提供する。ユーザは、例えば、会社の会議で資料を配布したい場合に、その資料を作成するため文書作成サービスを利用する。クライアント１０４がＷｅｂアプリケーション３０７を利用する場合は、クライアント１０４にそのアプリケーションをインストールする必要はなく、Ｗｅｂブラウザプラグイン３０６をインストールし、Ｗｅｂブラウザ３０５を有していれば良い。Ｗｅｂアプリケーション３０７は、その資料を作成するための画面情報を、Ｗｅｂブラウザ３０５に送信する。なお、Ｗｅｂアプリケーション３０７は、Ｗｅｂブラウザ３０５を介してユーザが入力したユーザＩＤ、およびパスワードを含むユーザ情報を基に認証を行い、認証が成功したことに応じて資料を作成するための画面情報を送る。その画面情報を受信したＷｅｂブラウザ３０５は、その画面情報を基に文書を作成するための作成画面を表示し、ユーザはその作成画面を用いて会議で配布する資料を作成する。Ｗｅｂアプリケーション３０７は、ユーザがその作成画面を用いて作成した資料の情報を受信し、受信した情報を基にコンテンツを作成し、Ｗｅｂアプリケーションサーバ群１０５の記憶装置に作成したコンテンツを記憶させる。なお、Ｗｅｂアプリケーション３０７は、文書作成サービスに限らずメールサービス、スケジュールサービスも提供している。
【００３６】
文書作成サービスを利用し作成したコンテンツを印刷したいユーザは、その作成画面に表示されている印刷ボタンを押す。図１２は、印刷ボタン１２０１が押されていることを示す図である。なお、ユーザが作成したコンテンツは１２０２である。Ｗｅｂアプリケーション３０７は、その印刷ボタンが押されたという情報を受信し、印刷サーバ群１０３へのアクセス命令、即ち、リダイレクトの指示をＷｅｂブラウザ３０５へ送信する。なお、リダイレクト指示には、上述したＷｅｂブラウザ３０５を利用しているユーザに対応する一覧リストを取得するための要求、およびユーザが印刷を指示したコンテンツを識別するためのコンテンツ識別情報、およびユーザ情報が含まれている。また、Ｗｅｂアプリケーション３０７は、印刷サーバ群１０３からコンテンツの取得要求があった場合に、その取得要求と共に送られたコンテンツを識別するためのコンテンツ識別情報を基に、対象のコンテンツを印刷サーバ群１０３へ送信する。以上が、Ｗｅｂアプリケーションサーバ群１０５が有するＷｅｂアプリケーション３０７の説明である。
【００３７】
次に、印刷サーバ群１０３の有する印刷系に分類される機能について説明する。図７に示すように、印刷サーバ群１０３が有する印刷サービス３０４は、プリンタ情報提示部７０３を有する。プリンタ情報提示部７０３は、Ｗｅｂブラウザ３０５からの一覧リスト取得要求を受けたことに応じて、一覧リストをＷｅｂブラウザ３０５に送信する。なお、プリンタ情報提示部７０３は、ユーザ情報を基にプリンタ情報格納部７０２が格納しているＳＰＩＤ、プリンタネームを特定する。そして、プリンタ情報提示部７０３は、ＳＰＩＤ、プリンタネームを基に、そのユーザが利用可能な画像形成装置の一覧リストを生成する。また、プリンタ情報提示部７０３は、一覧リストからユーザが選択した画像形成装置に対応するシンボルのＳＰＩＤを受信する。なお、シンボルとは、一覧リストに表示される画像形成装置のアイコンのことを指す。プリンタ情報提示部７０３は、受信したＳＰＩＤを基にプリンタ情報格納部７０２が格納しているケーパビリティーズを特定し、印刷設定画面を生成し、生成した印刷設定画面をＷｅｂブラウザ３０５へ送信する。プリンタ情報格納部７０２は、図１０（ｂ）に示すケーパビリティーズの情報から図９（ｂ）に示す印刷設定画面を生成する。図９（ｂ）に示すように、プリンタ情報格納部７０２は、印刷サービス３０４が処理可能なケーパビリティーズに記載された印刷設定しか選択できないような印刷設定画面を生成する。印刷指示受付部７０４は、印刷設定画面を介して設定された印刷設定と、ＳＰＩＤをＷｅｂブラウザ３０５から受信する。また、印刷指示受付部７０４は、Ｗｅｂブラウザ３０５がリダイレクトの指示に基づいてアクセスしてきた際に、ユーザが印刷を指示したコンテンツを識別するためのコンテンツ識別情報を受信する。
【００３８】
印刷データ生成部７０５は、印刷指示受付部７０４からコンテンツ識別情報を受信し、受信したコンテンツ識別情報を基にＷｅｂアプリケーション３０７から印刷対象となるコンテンツを取得する。また、印刷データ生成部７０５は、印刷指示受付部７０４からユーザが入力した印刷設定、およびユーザが選択した画像形成装置に対応するＳＰＩＤを受信する。また、印刷データ生成部７０５は、Ｗｅｂアプリケーション３０７から取得したコンテンツと印刷設定を基に、コンテンツを印刷データに変換する。制御部７０６は、印刷データ生成部７０５から印刷データ、印刷設定、ＳＰＩＤを取得する。印刷設定は、図１０の（ｃ）のようにＸＭＬ形式で記載されている。図１０の（ｃ）によれば、ユーザは両面設定、およびモノクロ設定、および用紙サイズＬｅｔｔｅｒを設定したことが分かる。通信モジュールＡ７０７は、通信モジュールＡ‘６０１を有する装置と通信を行うことが可能であり、２者間のデータ通信のインターフェースである。通信モジュールＡ’６０１は、通信モジュールＡ７０７と通信を行うことができない。この理由については、通信モジュールＡ７０７の有する機能を説明した後に説明する。
【００３９】
通信モジュールＡ７０７は印刷データ格納部７０８、印刷設定情報格納部７０９、印刷ジョブ通知部７１０を有する。印刷データ格納部７０８は、制御部７０６から印刷データを受信し格納する。印刷設定情報格納部７０９は、制御部７０６から印刷設定を受信し格納する。なお、印刷データ格納部７０８、および印刷設定情報格納部７０９は、制御部７０６からの格納指示を受信し格納処理を行う。制御部７０６は、印刷データ格納部７０８、および印刷設定情報格納部７０９から格納が終了した旨を受信したことに応じて、印刷ジョブ通知部７１０に通知情報を送るように指示をする。印刷ジョブ通知部７１０は、制御部７０６から通知情報を送るように指示されたことに応じて、ＳＰＩＤを制御部７０６から取得し、プリンタ情報格納部７０２が格納している情報を基にＶＰＩＤを特定する。なお、ＳＰＩＤに対応する送信先の情報、即ち、実施例１におけるＶＰＩＤをターゲットと呼ぶ。ユーザは、ＳＰＩＤを選択することでＶＰＩＤを指定している。また、印刷ジョブ通知部７１０は、印刷データの格納場所、および印刷設定の格納場所を制御部７０６から取得し、通知情報Ａを生成し、登録されている画像形成装置に通知情報Ａを送信する。印刷ジョブ通知部７１０は第１の送信手段に相当し、印刷ジョブ通知部７１０が送信する情報がデータに関する情報に相当する。なお、実施例１におけるデータに関する情報は通知情報Ａではあるが、通信仕様に応じてその他の情報、データ等も含む場合もある。これは、後述する通知情報Ｂに関しても同様のことが言える。なお、実施例１における登録されている画像形成装置とは、ＶＰＩＤに対応する中継仮想プリンタを指す。通知情報Ａは、図１０（ｄ）に示すようなＸＭＬで表されており、１００１に印刷データの格納場所が、１００２に印刷設定の格納場所が記載されている。
【００４０】
ここで、なぜ、通信モジュールＡ‘以外の通信モジュールが、通信モジュールＡと通信できないかを説明する。それは、通信モジュールＡ‘以外の通信モジュールは、印刷ジョブ通知部７１０が送信するＸＭＬで記載された通知情報Ａを解釈することができないからである。また、通信モジュールＡ‘以外の通信モジュールが、通信モジュールＡと通信できない他の例として、次のような例もある。例えば、通信モジュールＡが印刷ジョブ通知部７１０を有しておらず、別の方法で印刷データ、および印刷設定を通信モジュールＡ’に取得させる場合、通知情報Ａを取得する通信モジュールＡ‘では取得することができない。なぜなら、通知情報Ａを取得する通信モジュールＡ’は、通信モジュールＡからの通知情報Ａを待つ状態となっているため、通知情報Ａが通知されない限り印刷データ、および印刷設定を取得することができない。この通信モジュールＡと通信できる通信モジュールＡ‘には、通信モジュールＡに対し取得するデータが存在するか否かを問い合わせる構成が要求される。このように通信モジュールＡ’が、通信モジュールＡのデータ通信の規格に対応していないことにより、通信モジュールＡと、通信モジュールＡ’が通信できない場合もある。なお、通信モジュールＡと、通信モジュールＡ‘が通信を行えるような仕組みを、印刷サーバ群１０３を提供するベンダーの仕様と呼ぶ。そして、この仕様は、印刷サーバ群１０３を管理しているベンダーに深く依存する。
【００４１】
印刷サーバ群１０３を管理しているベンダーは、印刷サーバ群１０３に通信モジュールＡを実装し、通信モジュールＡと通信を行うためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を公開する。事実、近年このような体系が確立されつつあり、印刷サーバ群１０３を管理しているベンダーは、印刷サーバ群１０３とデバイスがデータ通信を行うための独自仕様を公開している。画像形成装置１０１が印刷サーバ群１０３と通信するために画像形成装置１０１のデバイスベンダーは、画像形成装置１０１にＡＰＩを実装した通信モジュールＡ‘を搭載しなくてはならない。
【００４２】
そして、仮に、印刷サーバ群１０３を管理しているベンダーが通信モジュールＡの構成を変更したとする。即ち、印刷サーバ群１０３を管理しているベンダーが仕様の変更を行ったと仮定する。すると、デバイスベンダーは仕様の変更に伴い、画像形成装置１０１の通信モジュールＡ’を変更しなくてはいけない。この作業は非常に負荷が高い。なぜなら、画像形成装置は様々な顧客環境に配置されており、再び印刷サーバ群１０３と画像形成装置が通信を行うようにするためには、その様々な顧客環境へサービスマンが出向き、通信モジュールＡ‘を変更しなくてはいけないからである。また、サービスマンを利用せずに通信モジュールＡ’を配布する解決方法も考えられるが、複数の画像形成装置に配布せねばならず、通信帯域に負荷をかけることになる。しかし、次に説明する印刷中継サーバ１０２の印刷系に分類される機能を用いることでこの課題は解決する。なお、印刷サーバ群１０３を管理しているベンダーが公開するデータ通信の仕様は、第１の仕様に相当する。通信モジュールＡ、および通信モジュールＡ‘のインターフェースは、第１の仕様に準じて作成されるインターフェースである。
【００４３】
次に、印刷中継サーバ１０２の印刷系に分類される機能について説明する。図６に示す各機能を実現する。中継仮想プリンタ３０３は、通信モジュールＡ‘６０１、および通信モジュールＢ６０２を有する。通信モジュールＡ’６０１の印刷通知受付部６０３は、印刷ジョブ通知部７１０から送信される通知情報Ａを受信する。印刷サービス３０４には、画像形成装置１０１のＲＰＩＤではなく中継仮想プリンタ３０３が登録されているため、通知情報Ａは印刷通知受付部６０３に送信される。そして、この通信モジュールＡ‘は通信モジュールＡと対をなすモジュールであるため、印刷通知受付部６０３は、通知情報Ａを解釈することが可能である。印刷通知受付部６０３が第１の取得手段に相当する。印刷通知受付部６０３は、通知情報Ａに記載されている印刷データの格納場所、および印刷設定の格納場所を確認し、夫々の情報を印刷設定取得部６０４、印刷データ取得部６０５に通知する。印刷設定取得部６０４は、通知された印刷設定の格納場所を基に、印刷設定格納部７０９から印刷設定を取得する。
【００４４】
一方、プラグイン状態受信部６０９は、Ｗｅｂブラウザプラグイン３０６からＷｅｂブラウザ３０５の印刷設定画面でユーザが設定した印刷設定値（図１０の（ｃ））、選択した画像形成装置に対応するＳＰＩＤ、プラグイン設定情報を受信する。そして、プラグイン状態受信部６０９は、受信した情報を、制御部６１３に通知する。制御部６１３はプラグインの設定情報、印刷サーバ１０３への印刷設定、及びＳＰＩＤを基に画像形成装置１０１のケーパビリティーズを特定し、印刷詳細設定をする必要があるかどうかを判断する。判断する処理については、後述する。追加印刷設定が必要と判断された場合、プラグイン状態受信部６０９は詳細印刷設定画面ＵＲＬをＷｅｂブラウザプラグイン３０６に送信する。
【００４５】
プリンタ情報提示部６１０はＷｅｂブラウザ３０５からの詳細印刷画面要求に対して、詳細印刷設定画面を生成し、生成した詳細印刷設定画面をＷｅｂブラウザ３０５へ送信する。その後、印刷指示受付部６１１は、詳細印刷設定画面を介してユーザが入力した詳細印刷設定情報を受信する。印刷データ取得部６０５は、通知された印刷データの格納場所を基に、印刷データ格納部７０８から印刷データを取得し、制御部６１３に通知する。制御部６１３は、印刷データ生成部６１２に対して印刷データ取得部６０５が取得した印刷データを格納するように指示を出す。
【００４６】
ただし、ユーザが詳細印刷設定の指示を行っていた場合であって、かつこの時点で詳細印刷設定がなされていない場合、印刷データは印刷データ生成部で留め置かれて、ユーザにより詳細印刷設定がなされるまで画像形成装置１０１へ送信されない。印刷設定を格納した印刷設定格納部６０７は、制御部６１３に格納場所を通知する。制御部６１３は印刷データ格納部６０６、および印刷設定格納部６０７から格納場所の通知を受け付けたことに応じて、通知情報Ｂを生成する。通知情報Ｂは図１０（ｅ）に示すようなＸＭＬ形式で表現される。１００３に印刷データの格納場所が記載され、１００４に印刷設定の格納場所が記載されている。制御部６１３は印刷ジョブ通知部６０８に、通知情報Ｂを印刷制御部３０１へ送信するよう指示する。印刷ジョブ通知部６０８に、通知情報Ｂを印刷制御部３０１へ送信する。
【００４７】
印刷ジョブ通知部６０８が第２の送信手段に相当する。このようにして、前者の通信モジュールである通信モジュールＡ‘６０１は、後者の通信モジュールである通信モジュールＢ６０２に印刷データ、および印刷設定を渡し、モジュール間通信を実現する。
【００４８】
通信モジュールＢに対応する通信モジュールＢ’は、画像形成装置１０１に実装されている。上述の如く、画像形成装置１０１は、印刷中継サーバ１０２を介して印刷サーバ群１０３から印刷ジョブ通知を取得する構成である。また、画像形成装置１０１は、ジョブ通知情報に記載された印刷データ格納場所から印刷データを取得する構成である。
【００４９】
次に、画像形成装置１０１の印刷系に分類される機能について説明する。図４に示すように、印刷制御部３０１は、通信モジュールＢ‘４１０を有している。通信モジュールＢ’４１０の印刷通知受付部４０４は、印刷ジョブ通知部６０８から送信されてくる通知情報Ｂもしくは通知情報Ｃを受信する。印刷通知受付部４０４が第２の取得手段に相当する。そして、この通信モジュールＢ‘は通信モジュールＢと対を成すモジュールであるため、印刷通知受付部４０４は、通知情報Ｂ、Ｃを解釈することが可能である。なお、中継仮想プリンタ３０３や印刷サービス３０４と画像形成装置１０１がデータ通信を行うためにデバイスベンダーが規定した仕様は、第２の仕様に相当し、デバイスベンダーがハンドリング可能な仕様である。通信モジュールＢ、および通信モジュールＢ’のインターフェースは、第２の仕様に準じて作成されるインターフェースである。
【００５０】
印刷通知受付部４０４は、通知情報Ｂに記載されている印刷データの格納場所を確認し、夫々の情報を印刷設定取得部４０５、印刷データ取得部４０６に通知する。印刷設定取得部４０５は、通知された印刷設定の格納場所を基に、印刷設定格納部６０７から印刷設定を取得する。印刷データ取得部４０６は、通知された印刷データの格納場所を基に、印刷データ格納部６０７や印刷データ格納部７０８から印刷データを取得する。取得された印刷設定、および印刷データは、刷通知受付部４０３を介してジョブ管理部４０７へ送信される。ジョブ管理部４０７は、印刷データと印刷設定情報を取得し、印刷の実行を印刷実行部４０８へ指示する。指示を受けた印刷実行部４０８は、印刷設定と印刷データを基にラスタイメージを生成し、生成したラスタイメージを印刷するよう印刷ユニットに指示を出す。以上が、Ｗｅｂアプリケーションサーバ群１０５で生成されたコンテンツの印刷指示を印刷サーバ群１０３に送信し、印刷サーバ群１０３から送信される印刷データを画像形成装置に印刷させる印刷系の説明である。
【００５１】
次に、画像形成装置１０１を印刷中継サーバ１０２に登録し、印刷中継サーバ１０２内に中継仮想プリンタ３０３を実現し、印刷サービス３０４に中継仮想プリンタ３０３を登録する処理について図１３を用いて説明する。始めに、Ｓ９０１において、ユーザは画像形成装置１０１のＵＩから登録したい印刷サービスを選択し、ユーザＩＤ、パスワードを入力する。Ｓ９０２において、画像形成装置１０１の印刷制御部３０１は、中継仮想プリンタ管理サービス３０２にプリンタの登録を要求する。この際、印刷制御部３０１は上述の登録情報を中継仮想プリンタ管理サービス３０２に送信する。
Ｓ９０３において、中継仮想プリンタ管理サービス３０２は、登録情報を基に中継仮想プリンタ３０３を実現する。Ｓ９０４において、中継仮想プリンタ３０３は作成成功の応答としてＶＰＩＤを中継仮想プリンタ管理サービス３０２へ送信する。Ｓ９０５において、中継仮想プリンタ管理サービス３０２は、印刷サービス３０４にユーザＩＤ、およびパスワードを送信し認証を受ける。印刷サービス３０４による認証が成功した場合、Ｓ９０６において、印刷サービス３０４は中継仮想プリンタ管理サービス３０２に認証が成功した旨を送信する。Ｓ９０７において、中継仮想プリンタ管理サービス３０２は、印刷サービス３０４がユーザに提供するプリンタ（サービスプリンタ）としてＶＰＩＤを登録するように要求する。Ｓ９０８において、印刷サービス３０４は、ＶＰＩＤをサービスプリンタとして登録したことに応じて、ＳＰＩＤを発行し中継仮想プリンタ管理サービス３０２に送信する。
【００５２】
Ｓ９０９において、中継仮想プリンタ管理サービス３０２は、ＳＰＩＤを格納するよう印刷サービス情報格納部７０３に指示を出し、設定が完了した旨を中継仮想プリンタ３０３に送信する。Ｓ９１０において、中継仮想プリンタ３０３は、ＳＰＩＤを基に印刷サービス３０４の通信モジュールＡに接続し、通知情報Ａが送信されるのを待つ。Ｓ９１１において、中継仮想プリンタ管理サービス３０２は、プリンタの登録が完了した旨を印刷制御部３０１に通知する。Ｓ９１２において、印刷制御部３０１は、画像形成装置１０１のＵＩに画像形成装置の登録が完了した旨を表示するよう指示を出す。Ｓ９１３において、印刷制御部３０１は、ＶＰＩＤを基に中継仮想プリンタ３０３に接続し、通知情報Ｂが送信されるのを待つ。以上が、登録処理の説明となる。
【００５３】
次に、Ｗｅｂアプリケーションサーバ群１０５で生成されたコンテンツの印刷指示を印刷サーバ群１０３に送信し、印刷サーバ群１０３から送信される印刷データを画像形成装置１０１に印刷させる処理について図１５を用いて説明する。始めに、Ｓ１５０２において、Ｗｅｂブラウザ３０５は、ユーザが編集を行いたいコンテンツの表示を、Ｗｅｂアプリケーション３０７に要求する。Ｓ１５０４において、Ｗｅｂアプリケーション３０７は、要求されたコンテンツに対応するコンテンツの画面をＷｅｂブラウザ３０５に送信する。Ｓ１５０６において、Ｗｅｂブラウザ３０５は、ユーザがコンテンツの画面を介して印刷を指示したことに応じて、印刷サービス３０４に登録されている画像形成装置（サービスプリンタ）の一覧画面を要求する。
【００５４】
Ｓ１５０８において、印刷サービス３０４は、Ｗｅｂブラウザ３０５を利用しているユーザに対応するサービスプリンタの一覧画面を、Ｗｅｂブラウザ３０５に送信する。Ｓ１５１０において、Ｗｅｂブラウザ３０５は、ユーザが一覧画面から画像形成装置を選択したことに応じて、選択された画像形成装置に対応する印刷設定画面を要求する。Ｓ１５１２において、印刷サービス３０４は、印刷設定画面をＷｅｂブラウザ３０５に送信する。Ｓ１５１４において、Ｗｅｂブラウザ３０５は、ユーザが印刷設定画面を介して入力した印刷設定を印刷サービス３０４に送信する。また、Ｓ１５１５でＷｅｂブラウザ３０５はＷｅｂブラウザプラグイン３０６に印刷情報取得処理を開始させる。
【００５５】
Ｓ１５１６において、印刷サービス３０４は、ユーザが印刷を指示したコンテンツをＷｅｂアプリケーション３０５から取得し、受信した印刷設定を基に取得したコンテンツを印刷データに変換する。また、印刷サービス３０４は、変換した印刷データと、印刷設定に関する情報とを組み合わせ、組み合わせたデータと、そのデータに関する情報とを含め印刷ジョブとする。よって、印刷ジョブには、少なくとも印刷データと、印刷設定に関する情報が含まれている。
【００５６】
Ｓ１５１８からＳ１５２３、およびＳ１５３０以降の印刷処理フローについて図１７のフローチャートを用いて説明する。Ｓ１７０１において、印刷サービス３０４は、中継仮想プリンタ３０３にジョブが生成されたことを通知する。中継仮想プリンタ３０３の制御部６１３は、通知を受けると、Ｓ１７０２において、ＳＰＩＤを基にＲＰＩＤを取得する。Ｓ１７０３において、通信モジュールＢ６０２は、ＰＲＩＤに対応した画像形成装置１０１に対して、画像形成装置の状態問い合わせを行う。Ｓ１７０４において、画像形成装置１０１の印刷制御ソフトウェア３０１は、画像形成装置の状態を中継仮想プリンタ３０３に送付する。Ｓ１７０５において、制御部６１３は、画像形成装置１０１が紙切れ、ネットワークが切断状態、あるいは電源が切断状態の場合には処理を終了する。その際、プラグイン状態受信部６０９は、ＳＰＩＤをキーとして印刷が失敗した情報を保持し、Ｓ１５２４のＷｅｂブラウザプラグイン３０６からの要求の応答として、印刷失敗のメッセージを送付する。Ｗｅｂブラウザプラグイン３０６はＷｅｂブラウザ３０５に失敗メッセージを表示させる。図１９の（ａ）は印刷失敗時にＷｅｂブラウザ３０５に表示するメッセージの一例である。
【００５７】
Ｓ１７０６において、印刷設定取得部６０４は、印刷サービス３０４に印刷設定の取得を要求する。Ｓ１７０８において、印刷データ取得部６０５は、印刷サービス３０４から印刷データを取得する。Ｓ１７１０において、制御部６１３は、ユーザによって詳細印刷設定がすでに行われているかどうかを確認する。詳細印刷設定が指示されていれば、Ｓ１７１１において、設定項目確認処理を行う。設定項目確認処理は後述する。Ｓ１７１２において、制御部６１３は、追加設定項目があるか判断する。ある場合、Ｓ１７１３において、印刷データ生成部６１２は、印刷データ取得部６０５で取得した印刷データを一時的に留め置く。Ｓ１７１４、Ｓ１７１５において、制御部６１３は、ユーザにより詳細印刷設定がなされるのを監視する。
【００５８】
Ｓ１７１０において、詳細印刷設定が指示されていないと判断された場合、およびＳ１７１５による処理の後に、中継仮想プリンタ３０３は、印刷ジョブを送信し、印刷指示を行う。なお、ユーザにより詳細印刷設定が設定された場合、制御部６１３は、印刷設定取得部６０４が受信した印刷設定に関する情報（図１０（ｄ））を、ユーザが詳細印刷設定画面で設定した印刷設定を基に、図１０（ｅ）に示す情報へ置き換える。図１０（ｄ）を、図１１（ｅ）に示すような形式へジョブ変更しても良い。このように、印刷サーバ１０３から受信した印刷設定に関する情報を、ユーザの指示に従い書き換えることで、新たな印刷ジョブが画像形成装置１０１へジョブ送信される。なお、本実施例では、印刷設定に関する情報を書き換えることで新たな印刷ジョブを生成したが、印刷データや、通知情報を書き換えることで新たな印刷ジョブを生成する場合もある。例えば、印刷データのレイアウト変更や、通信プロトコル変換等の修正が必要な場合である。
【００５９】
Ｓ１５１５、Ｓ１５２４〜Ｓ１５３１のＷｅｂブラウザ３０５、Ｗｅｂブラウザプラグイン３０６、中継仮想プリンタ３０３の印刷詳細設定処理について図１６のフローチャートを用いて説明する。Ｓ１６０１において、Ｗｅｂブラウザプラグイン３０６は、Ｗｅｂブラウザ３０５から印刷サービス３０４への印刷指示を監視する。Ｓ１６０２において、Ｗｅｂブラウザプラグイン３０６は、Ｗｅｂブラウザ３０５から印刷サービス３０４への印刷指示を検出すると、Ｓ１６０３において、印刷指示要求からＳＰＩＤ，印刷設定情報を取得する。Ｓ１６０４において、Ｗｅｂブラウザプラグイン３０６は、中継仮想プリンタ３０３のプラグイン状態受信部６０９にＳＰＩＤ、印刷設定情報、及びプラグイン設定情報を送付し、詳細印刷設定画面のＵＲＬ情報を要求する。Ｓ１６０５において、制御部６１３は、設定項目確認処理を行う。設定項目確認処理については、後述する。
【００６０】
Ｓ１６０６において、制御部６１３は、設定項目確認処理でユーザに設定させる項目があると判断した場合、Ｓ１６０７において、プラグイン設定情報から画像形成装置画面で詳細印刷設定する設定になっているかを判断する。画像形成装置画面で設定することになっている場合、Ｓ１６０８において、制御部６１３は、画像形成装置画面で設定することができる画像形成装置であるか否かを、制御部５０２を介して、印刷サービス情報管理部５０５に問い合わせる。印刷サービス情報管理部５０５は図８（ｂ）テーブル８１２を参照し確認する。画像形成装置画面で設定することができる画像形成装置である場合、詳細印刷設定は画像形成装置画面で行うのでフローを終了する。
【００６１】
この際、プラグイン状態受信部６０９は、Ｗｅｂブラウザプラグイン３０６には終了情報を送付する。Ｓ１６０９において、プラグイン状態受信部６０９は、Ｗｅｂブラウザプラグイン３０６に詳細印刷設定画面ＵＲＬを返却する。詳細印刷設定画面は、図８（ｂ）のテーブル情報を基に生成された、または既に用意された画面を組み合わせた詳細印刷設定画面であり、印刷サービス３０４では設定できない印刷設定項目を含んでいる。Ｓ１６１０において、詳細印刷設定画面ＵＲＬを取得したＷｅｂブラウザプラグイン３０６は、Ｓ１６１１において、Ｗｅｂブラウザ３０５に詳細印刷設定画面表示要求を出す。Ｓ１６１２において、Ｗｅｂブラウザ３０５は詳細印刷設定画面ＵＲＬで設定画面を中継仮想プリンタ３０３に要求する。Ｓ１６１３において、プリンタ情報提示部６１０は、印刷詳細設定画面を送付する。図１９（ｃ）に詳細印刷設定画面の一例を示す。
【００６２】
共通設定表示領域１９０１は、共通設定項目１４０５でコンフリクトがあった場合にユーザに印刷再設定させるための表示領域である。必須設定表示領域１９０２は、画像形成装置への印刷時に必須で設定する必要がある設定項目を表示するための表示領域である。画像形成装置固有表示領域１９０３は、画像形成装置固有設定項目１４０７を表示するための領域である。Ｓ１６１４において、Ｗｅｂブラウザ３０５は、詳細印刷設定画面を表示する。ユーザにより詳細印刷設定画面で設定がなされ、ＯＫボタンが押下されると、Ｓ１６１５において、Ｗｅｂブラウザ３０５は、詳細印刷設定情報を中継仮想プリンタ３０３に送付する。Ｓ１６１６において、中継仮想プリンタ３０３の制御部６１３は詳細印刷設定情報を取得する。詳細印刷設定の情報を全て取得した制御部６１３は、図Ｓ１７１６の処理を実行する。即ち、中継仮想プリンタ３０３は、印刷ジョブを新たな印刷ジョブへと作り変え、画像形成装置１０１へ新たな印刷ジョブを送信する。
【００６３】
次に、Ｓ１７１１、Ｓ１６０６の設定項目確認処理について図１８のフローチャートを用いて説明する。Ｓ１８０１において、制御部６１３は、印刷設定情報を読み込む。Ｓ１８０２において、制御部６１３は、印刷設定情報（図１０（ｃ）、（ｄ））から共通設定項目１４０５を確認する。Ｓ１８０３において、制御部６１３は、印刷設定のコンフリクトを解析する。コンフリクトを解析する際に、制御部６１３は、ＳＰＩＤからＲＰＩＤを特定し、印刷サービス情報管理部５０５が管理する図８の（ｅ）コンフリクトテーブルを参照し、確認を行う。コンフリクト解析とは、共通設定項目１４０５の組み合わせにより、画像形成装置がサポートしない組み合わせを判断することである。この画像形成装置がサポートしない組み合わせは、各画像形成装置によって異なり、図８の（ｅ）は、画像形成装置１０１において、用紙サイズＬｅｔｔｅｒ設定と両面印刷設定を組み合わせることができないことを示している。
【００６４】
Ｓ１８０５において、制御部６１３は、コンフリクトがあると判断した場合には、Ｓ１８０６において、プリンタ情報提示部６１０は、共通設定表示領域１９０１を生成する。Ｓ１８０７において、制御部６１３は、追加設定ＦＬＡＧを１に設定する。Ｓ１８０８において、制御部６１３は、プラグイン設定情報を基に画像形成装置固有設定項目１４０７を設定する設定になっているかどうかを判断する。画像形成装置固有設定項目１４０７を設定する場合は、Ｓ１８０９において、制御部６１３は、画像形成装置固有設定項目１４０７があるかどうかを確認する。Ｓ１８１０において、制御部６１３は、ＲＰＩＤを基に、印刷サービス情報管理部５０５が管理するテーブルを参照し、図８の（ｂ）フィニッシャー８０９、給紙８１０を確認する。Ｓ１８１１で画像形成装置固有設定項目１４０７がある場合、Ｓ１８１２において、プリンタ情報提示部６１０は、画像形成装置固有設定表示領域１９０２を生成する。Ｓ１８１３において、制御部６１３は、追加設定ＦＬＡＧを１に設定する。
【００６５】
Ｓ１８１４において、制御部６１３は、必須設定項目１４０６があるかどうかを確認する。Ｓ１８１５において、制御部６１３は制御部５０２を介して、印刷サービス情報管理部５０５が管理するテーブルを参照し、必須設定項目１４０６があるかどうかを確認する。Ｓ１８１６において、制御部６１３は、図８の（ｂ）ＢｉｌｌｉｎｇＣｏｄｅ８１１を参照し、必須設定項目１４０６があるかどうかを判断する。Ｓ１８１７で必須設定項目を設定する必要がある場合は、Ｓ１８１７において必須設定表示領域１９０３を生成する。Ｓ１８１８において、追加設定ＦＬＡＧを１に設定する。追加設定ＦＬＡＧが１の場合は、詳細印刷設定の必要があるということを示している。
【００６６】
上述のＦＬＡＧによって、詳細印刷設定画面に表示される項目が変化する。例えば、詳細印刷設定画面は、印刷サーバ群１０３が提供する印刷設定画面において設定不可能な詳細印刷設定のみ、設定可能な画面となる。また、その他の例として、印刷サーバ群１０３が提供する印刷設定画面において設定不可能な詳細印刷設定、および印刷サーバ群１０３が提供する印刷設定画面において設定可能な印刷設定の両方が設定可能な画面となる。
【００６７】
Ｓ１５３１において、中継仮想プリンタ３０３は、印刷制御部３０１にジョブが生成されたことを通知する。Ｓ１５３２において、印刷制御部３０１は、中継仮想プリンタ３０３に印刷設定の取得を要求する。Ｓ１５３３において、印刷制御部３０１は、中継仮想プリンタ３０３から印刷設定を取得する。Ｓ１５３４において、印刷制御部３０１は、中継仮想プリンタ３０３に印刷データの取得を要求する。Ｓ１５３５において、印刷制御部３０１は、中継仮想プリンタ３０３から印刷データを取得する。Ｓ１５３６において、印刷制御部３０１は、取得した印刷設定と印刷データを基にラスタイメージを描画し、画像形成装置１０１にラスタイメージを印刷させる。
【００６８】
以上説明した構成により、印刷サーバ１０３と画像形成装置１０１との間に機能差があった場合でも、画像形成装置１０１の機能を利用した印刷を実現することができる。特に、本願発明は、印刷サーバと、画像形成装置１０１のベンダーが異なることを想定しており、印刷サーバの不備を印刷中継システムで吸収することで、ユーザは画像形成装置１０１の機能を十分に利用することが可能になる。印刷サーバが提供する印刷設定画面において、画像形成装置１０１の機能を十分に利用するための印刷設定を行えない理由として、印刷サーバを提供するベンダーは、画像形成装置１０１の仕組みを十分に理解していないことが考えられる。よって、本願発明により、印刷サービスを提供するための仕組みを開発するＷｅｂサービスベンダーと、画像形成装置１０１のデバイスベンダーとの分業が可能になる。更に、本願発明を別の視点で評価した場合、印刷サーバの仕様変更を強いることもなく、ユーザは画像形成装置１０１の機能を十分に利用することが可能になるという側面も持つ。
【００６９】
実施例１において、印刷サーバ群１０３が印刷設定画面を作成する際に、ＸＭＬ形式のケーパビリティーズを用いて作成したが、その他の形式であっても良い。例えば、画像形成装置１０１から図１１（ａ）に示すようなＪＳＯＮ形式で表現されたケーパビリティーズを取得する場合も考えられる。
【００７０】
また、実施例１において、クライアントコンピュータ１０４は印刷設定をＸＭＬ形式で印刷サーバ群１０３に送信したが、その他の形式であっても良い。例えば、図１１（ｃ）に示すようなＪＳＯＮ形式で表現された印刷設定を送信することが考えられる。
【００７１】
また、実施例１における通知情報Ａと通知情報Ｂは同じＸＭＬ形式で生成されているが、夫々異なっていても良い。例えば、通知情報Ａは図１１（ｄ）に示すようなＪＳＯＮ形式で表現される場合も考えられる。１８０１に印刷データの格納場所が記載され、１８０２に印刷データの格納場所が記載されている。また、その逆も考えられる。例えば、通知情報ＡはＸＭＬ形式で表現され、通知情報Ｂは図１１（ｅ）に示すようなＪＳＯＮ形式で表現される場合も考えられる。１８０３に印刷データの格納場所が記載され、１８０４に印刷データの格納場所が記載されている。
【００７２】
なお、本発明の機能処理をコンピュータで実現するために該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【符号の説明】
【００７３】
３０１  印刷制御部
３０２  中継仮想プリンタ管理サービス
３０３  中継仮想プリンタ
３０４  印刷サービス
４１０  通信モジュールＢ‘
６０１  通信モジュールＡ‘
６０２  通信モジュールＢ
７０７  通信モジュールＡ
【図１】
0005713641.tif 000002
【図２】
0005713641.tif 000003
【図３】
0005713641.tif 000004
【図４】
0005713641.tif 000005
【図５】
0005713641.tif 000006
【図６】
0005713641.tif 000007
【図７】
0005713641.tif 000008
【図８】
0005713641.tif 000009
【図９】
0005713641.tif 000010
【図１０】
0005713641.tif 000011
【図１１】
0005713641.tif 000012
【図１２】
0005713641.tif 000013
【図１３】
0005713641.tif 000014
【図１４】
0005713641.tif 000015
【図１５】
0005713641.tif 000016
【図１６】
0005713641.tif 000017
【図１７】
0005713641.tif 000018
【図１８】
0005713641.tif 000019
【図１９】
0005713641.tif 000020