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