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