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