(57)【要約】【課題】  印刷サービス、印刷中継サーバーを経由して画像形成装置に印刷するシステムにおいて、印刷中継サーバーへのプリンター情報の登録作業に手間がかかるという課題があった。【解決手段】  印刷中継サーバー１２０は、コンテンツ１５０２に基づく印刷データと、サービスプリンターを選択するための選択画面１９１１を介して選択されたサービスプリンターの識別情報ＳＰＩＤと、印刷設定を指定するための印刷設定画面（図１９（ｃ））を介して指定された印刷設定と、を印刷サービス３３０から受信し（Ｓ１８１５、Ｓ１８１７）、受信されたサービスプリンターの識別情報が汎用サービスプリンターを示すときに、印刷設定において出力先として指定されている画像形成装置１１０へ印刷データを転送する（Ｓ１８２７、Ｓ１８２９、Ｓ１８３４）。【選択図】  図１８
2013239144.tif 000002
【特許請求の範囲】
【請求項１】
印刷サーバーと、ネットワークに接続可能な複数の画像形成装置と前記印刷サーバーを中継する印刷中継サーバーと、を有する印刷システムであって、
前記印刷サーバーが、
コンテンツの印刷指示に応答して、プリンターオブジェクトを選択するための選択画面と、印刷設定を指定するための印刷設定画面とを提供する提供手段と、
前記選択画面と前記印刷設定画面を介してプリンターオブジェクトの選択と印刷設定の指定とを受け付ける受付手段と、
前記コンテンツに基づく印刷データおよび前記受付手段により受け付けられたプリンターオブジェクトの識別情報と印刷設定とを前記印刷中継サーバーに送信する送信手段とを有し、
前記印刷中継サーバーが、
前記送信手段により送信された前記印刷データおよびプリンターオブジェクトの識別情報と前記印刷設定を受信する受信手段と、
前記受信手段によって受信されたプリンターオブジェクトの識別情報が汎用プリンターオブジェクトを示すときに、前記受信手段によって受信された印刷設定において出力先として指定されている画像形成装置へ前記印刷データを転送する転送手段とを有することを特徴とする印刷システム。
【請求項２】
前記転送手段は、前記受信手段によって受信されたプリンターオブジェクトの識別情報が専用プリンターオブジェクトを示す場合に、前記プリンターオブジェクトの識別情報に対応する画像形成装置へ前記印刷データを転送することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記印刷中継サーバーが、
プリンターオブジェクトの能力情報を印刷サーバーに登録する能力登録手段を有し、
前記能力登録手段は前記汎用プリンターオブジェクトの能力情報を登録する場合に、出力先として複数の画像形成装置の情報を含む能力情報を登録することを特徴とする請求項１に記載の印刷システム。
【請求項４】
前記印刷中継サーバーが、
前記転送手段により印刷データを転送した後、前記印刷データの出力先である画像形成装置に対応する専用プリンターオブジェクトを、前記選択画面において選択可能なプリンターオブジェクトとして登録することを特徴とする請求項１に記載の印刷システム。
【請求項５】
クライアント装置に画面を提供し、前記画面を介して指示を受け付ける印刷サーバーと、ネットワークに接続可能な複数の画像形成装置と、を中継する印刷中継サーバーであって、
コンテンツに基づく印刷データと、プリンターオブジェクトを選択するための選択画面を介して選択されたプリンターオブジェクトの識別情報と、印刷設定を指定するための印刷設定画面を介して指定された印刷設定と、を印刷サーバーから受信する受信手段と、
受信手段によって受信されたプリンターオブジェクトの識別情報が汎用プリンターオブジェクトを示すときに、前記受信手段によって受信された印刷設定において出力先として指定されている画像形成装置へ前記印刷データを転送する転送手段を有することを特徴とする印刷中継サーバー。
【請求項６】
前記転送手段は、前記受信手段によって受信されたプリンターオブジェクトの識別情報が専用プリンターオブジェクトを示す場合に、前記プリンターオブジェクトの識別情報に対応する画像形成装置へ前記印刷データを転送することを特徴とする請求項５に記載の印刷中継サーバー。
【請求項７】
プリンターオブジェクトの能力情報を印刷サーバーに登録する能力登録手段を有し、
前記能力登録手段は前記汎用プリンターオブジェクトの能力情報を登録する場合に、出力先として複数の画像形成装置の情報を含む能力情報を登録することを特徴とする請求項５に記載の印刷中継サーバー。
【請求項８】
前記転送手段により印刷データを転送した後、前記印刷データの出力先である画像形成装置に対応する専用プリンターオブジェクトを、前記選択画面において選択可能なプリンターオブジェクトとして登録するオブジェクト登録手段を有することを特徴とする請求項５に記載の印刷中継サーバー。
【請求項９】
印刷サーバーと通信するクライアント装置であって、
コンテンツの印刷指示に応じて、プリンターオブジェクトを選択するための選択画面を印刷サーバーから受信し表示する第１の表示制御手段と、
印刷設定を指定するための印刷設定画面を前記印刷サーバーから受信し表示する第２の表示制御手段と、を有し、
前記第１の表示制御手段により表示された前記選択画面で汎用プリンターオブジェクトが選択されたとき、前記第２の表示制御手段は、前記コンテンツに基づく印刷データの出力先となる画像形成装置を前記印刷設定画面において指定できるように、前記印刷設定画面を制御することを特徴とするクライアント装置。
【請求項１０】
前記第２の表示制御手段が、指定された条件でプリンターオブジェクトを選別し、選別されたプリンターオブジェクトを前記印刷設定画面に表示することを特徴とする請求項９に記載のクライアント装置。
【請求項１１】
印刷サーバーと、ネットワークに接続可能な複数の画像形成装置と前記印刷サーバーを中継する印刷中継サーバーと、を有する印刷システムを制御する制御方法であって、
前記印刷サーバーが、
コンテンツの印刷指示に応答して、プリンターオブジェクトを選択するための選択画面と、印刷設定を指定するための印刷設定画面とを提供する提供ステップと、
前記選択画面と前記印刷設定画面を介してプリンターオブジェクトの選択と印刷設定の指定とを受け付ける受付ステップと、
前記コンテンツに基づく印刷データおよび前記受付ステップにより受け付けられたプリンターオブジェクトの識別情報と印刷設定とを前記印刷中継サーバーに送信する送信ステップとを実行し、
前記印刷中継サーバーが、
前記送信ステップにより送信された前記印刷データおよびプリンターオブジェクトの識別情報と前記印刷設定を受信する受信ステップと、
前記受信ステップによって受信されたプリンターオブジェクトの識別情報が汎用的なプリンターオブジェクトを示すときに、前記受信ステップによって受信された印刷設定において出力先として指定されている画像形成装置へ前記印刷データを転送する転送ステップとを実行することを特徴とする制御方法。
【請求項１２】
クライアント装置に画面を提供し、前記画面を介して指示を受け付ける印刷サーバーと、ネットワークに接続可能な複数の画像形成装置と、を中継する印刷中継サーバーを制御する制御方法であって、
コンテンツに基づく印刷データと、プリンターオブジェクトを選択するための選択画面を介して選択されたプリンターオブジェクトの識別情報と、印刷設定を指定するための印刷設定画面を介して指定された印刷設定と、を印刷サーバーから受信する受信ステップと、
受信ステップによって受信されたプリンターオブジェクトの識別情報が汎用プリンターオブジェクトを示すときに、前記受信ステップによって受信された印刷設定において出力先として指定されている画像形成装置へ前記印刷データを転送する転送ステップを有することを特徴とする制御方法。
【請求項１３】
印刷サーバーと通信するクライアント装置を制御する制御方法であって、
コンテンツの印刷指示に応じて、プリンターオブジェクトを選択するための選択画面を印刷サーバーから受信し表示する第１の表示制御ステップと、
印刷設定を指定するための印刷設定画面を前記印刷サーバーから受信し表示する第２の表示制御ステップと、を有し、
前記第１の表示制御ステップにおいて表示された前記選択画面で汎用プリンターオブジェクトが選択されたとき、前記第２の表示制御ステップにおいて、前記コンテンツに基づく印刷データの出力先となる画像形成装置を前記印刷設定画面において指定できるように、前記印刷設定画面を制御することを特徴とする制御方法。
【請求項１４】
請求項１２または１３に記載の制御方法をコンピューターに実行させるためのプログラム。
【請求項１５】
請求項１４に記載のプログラムを記録した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、および印刷中継サーバー、およびクライアント装置に関するものである。
【背景技術】
【０００２】
従来、クライアントからサーバーに対して印刷指示を送信し、印刷指示を受信したサーバーが印刷対象のコンテンツを印刷データに変換するコンテンツ印刷システムがある。近年、クラウドコンピューティングの概念が注目されているが、これも前述のシステム同様、サーバーがクライアントにサービスを提供する形態の１つと捉えることができる。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。
【０００３】
例えば、Ｇｏｏｇｌｅ（登録商標）は画像形成装置と連携してサービスを提供するためのデータ通信の仕組みを開発し、Ｇｏｏｇｌｅが用意したクラウドコンピューティング環境とデータ通信を画像形成装置が行うためのインターフェースを公開した。このインターフェースを画像形成装置に実装することで、画像形成装置とサーバーがインターネットを介して接続されていたとしても、クライアントから画像形成装置を指定し印刷させることが可能になる。
【０００４】
ここで、特許文献１では、サーバーが印刷データを生成するサービスにおいて、クライアントから印刷指示と印刷を制御するための情報とを受信し、印刷を制御するための情報を基にサーバーが印刷データを生成する方法が開示されている。この方法により、クライアントにプリンタードライバをインストールせずに画像形成装置に適した印刷を行うことができるようになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１９６０５４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、背景技術では、専用のインターフェースの実装が必要なため、既存の画像形成装置では接続できないという問題があった。
また、使用者が印刷データの出力先をどのように指定するのか、考慮されていなかった。
【課題を解決するための手段】
【０００７】
本発明に係る印刷システムは、印刷サーバーと、ネットワークに接続可能な複数の画像形成装置と前記印刷サーバーを中継する印刷中継サーバーと、を有する印刷システムであって、前記印刷サーバーが、コンテンツの印刷指示に応答して、プリンターオブジェクトを選択するための選択画面と、印刷設定を指定するための印刷設定画面とを提供する提供手段と、前記選択画面と前記印刷設定画面を介してプリンターオブジェクトの選択と印刷設定の指定とを受け付ける受付手段と、前記コンテンツに基づく印刷データおよび前記受付手段により受け付けられたプリンターオブジェクトの識別情報と印刷設定とを前記印刷中継サーバーに送信する送信手段とを有し、前記印刷中継サーバーが、前記送信手段により送信された前記印刷データおよびプリンターオブジェクトの識別情報と前記印刷設定を受信する受信手段と、前記受信手段によって受信されたプリンターオブジェクトの識別情報が汎用プリンターオブジェクトを示すときに、前記受信手段によって受信された印刷設定において出力先として指定されている画像形成装置へ前記印刷データを転送する転送手段とを有することを特徴とする。
【０００８】
本発明に係る印刷中継サーバーは、クライアント装置に画面を提供し、前記画面を介して指示を受け付ける印刷サーバーと、ネットワークに接続可能な複数の画像形成装置と、を中継する印刷中継サーバーであって、コンテンツに基づく印刷データと、プリンターオブジェクトを選択するための選択画面を介して選択されたプリンターオブジェクトの識別情報と、印刷設定を指定するための印刷設定画面を介して指定された印刷設定と、を印刷サーバーから受信する受信手段と、受信手段によって受信されたプリンターオブジェクトの識別情報が汎用プリンターオブジェクトを示すときに、前記受信手段によって受信された印刷設定において出力先として指定されている画像形成装置へ前記印刷データを転送する転送手段を有することを特徴とする。
【０００９】
本発明に係るクライアント装置は、印刷サーバーと通信するクライアント装置であって、コンテンツの印刷指示に応じて、プリンターオブジェクトを選択するための選択画面を印刷サーバーから受信し表示する第１の表示制御手段と、印刷設定を指定するための印刷設定画面を前記印刷サーバーから受信し表示する第２の表示制御手段と、を有し、前記第１の表示制御手段により表示された前記選択画面で汎用プリンターオブジェクトが選択されたとき、前記第２の表示制御手段は、前記コンテンツに基づく印刷データの出力先となる画像形成装置を前記印刷設定画面において指定できるように、前記印刷設定画面を制御することを特徴とする。
【発明の効果】
【００１０】
印刷中継サーバーを経由してプリンターを印刷サーバーに登録することにより、専用のインターフェースを実装しない既存のプリンターでも、印刷サービスと連携することが可能となる。さらに、使用者による印刷サーバーへのプリンターの登録作業の負荷を軽減することが可能となる。
また、使用者が、印刷設定画面において出力先の指定をすることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】コンテンツ印刷システム１０００の構成を示す図
【図２】コンテンツ印刷システム１０００を構成する各装置、および各サーバー群のハードウェア構成図
【図３】コンテンツ印刷システム１０００を構成する各装置、および各サーバー群のソフトウェア構成図
【図４】印刷制御部３１０の構成図
【図５】中継仮想プリンター管理サービス３２２の構成図
【図６】中継仮想プリンター３２３の構成図
【図７】メイン処理管理サービス３２１の構成図
【図８】連携処理管理サービス３２４の構成図
【図９】印刷サービス用プロキシー３２５の構成図
【図１０】印刷サービス３３０の構成図
【図１１】（ａ）プリンター登録ＵＩを示す図、（ｂ）ユーザー情報ＵＩを示す図、（ｃ）印刷設定ＵＩを示す図、（ｄ）プリンターの追加／削除ＵＩを示す図、（ｅ）出力先のプリンターを選択するＵＩを示す図
【図１２】（ａ）プリンター情報格納部５０５が格納する情報を示す図、（ｂ）ユーザー情報格納部７０３が格納する情報を示す図、（ｃ）ユーザー情報格納部８０３が格納する情報を示す図、（ｄ）プリンター情報格納部８０４が格納する情報を示す図、（ｅ）プリンター情報格納部１００２が格納する情報を示す図、（ｂ１）発展的実施例におけるユーザー情報格納部７０３が格納する情報を示す図、（ｃ１）発展的実施例におけるユーザー情報格納部８０３が格納する情報を示す図、（ｄ１）発展的実施例におけるプリンター情報格納部８０４が格納する情報の初期状態を示す図、（ｄ２）発展的実施例における「Ｐｒｉｎｔｅｒ  １」が登録された後のプリンター情報格納部８０４が格納する情報を示す図、（ｄ３）発展的実施例におけるプリンター情報格納部８０４が格納する印刷回数を含めた情報を示す図、（ｅ１）発展的実施例におけるプリンター情報格納部１００２が格納する情報の初期状態を示す図、（ｅ２）発展的実施例における「Ｐｒｉｎｔｅｒ  １」が登録された後のプリンター情報格納部１００２が格納する情報を示す図。
【図１３】（ａ）ＸＭＬ形式で表現されたケーパビリティーズを示す図、（ｂ）ＸＭＬ形式で表現された印刷設定初期値を示す図、（ｃ）ＸＭＬ形式で表現された印刷設定を示す図、（ｄ）ＸＭＬ形式で表現されたプリンター登録要求を示す図、（ｅ）ＸＭＬ形式で表現されたプリンター登録要求の返信を示す図、（ｆ）ＸＭＬ形式で表現された通知情報Ａを示す図、（ｇ）ＸＭＬ形式で表現された通知情報Ｂを示す図、（ａ１）発展的実施例におけるＸＭＬ形式で表現されたケーパビリティーズを示す図、（ｂ１）発展的実施例におけるＸＭＬ形式で表現された印刷設定初期値を示す図、（ｃ１）発展的実施例におけるＸＭＬ形式で表現された印刷設定を示す図。
【図１４】（ａ）ＪＳＯＮ形式で表現されたケーパビリティーズを示す図、（ｂ）ＪＳＯＮ形式で表現された印刷設定初期値を示す図、（ｃ）ＪＳＯＮ形式で表現された印刷設定を示す図、（ｄ）ＪＳＯＮ形式で表現されたプリンター登録要求を示す図、（ｅ）ＪＳＯＮ形式で表現されたプリンター登録要求の返信を示す図、（ｆ）ＪＳＯＮ形式で表現された通知情報Ａを示す図、（ｇ）ＪＳＯＮ形式で表現された通知情報Ｂを示す図
【図１５】印刷ボタン１５０１が押されていることを示す図
【図１６】プリンター１１０を印刷中継サーバー１２０に登録する事前登録処理を示すシーケンス図
【図１７】中継仮想プリンター３２３を印刷サービス３３０に登録する本登録処理を示すシーケンス図
【図１８】印刷サーバー群１３０から送信される印刷データをプリンター１１０に印刷させる印刷系処理を示すシーケンス図
【図１９】（ａ）発展的実施例における出力先のプリンターを選択するＵＩを示す図（ｂ）「Ｐｒｉｎｔｅｒ−１」が自動登録された後の出力先のプリンターを選択するＵＩを示す図  （ｃ）発展的実施例における印刷設定画面を示すＵＩの図  （ｄ）出力先のプリンターをフィルタリングした表示を示す図
【図２０】発展的実施例における印刷処理を示すシーケンス図
【図２１】専用サービスプリンターの自動登録処理を示すシーケンス図
【図２２】印刷サービス用プロキシーの行うＶＰＩＤ取得処理のフローチャート
【図２３】プリンター能力情報の登録処理のシーケンス図
【発明を実施するための形態】
【００１２】
［実施例１］
始めに、実施例１におけるコンテンツ印刷システム１０００の装置構成について説明する。図１は、コンテンツ印刷システム１０００の装置構成を示す図である。コンテンツ印刷システム１０００は、クライアント１４０（クライアント装置）、プリンター１１０（画像形成装置）を含む。２つの装置はユーザー環境に配置された装置であり、ネットワーク１００を介して互いに接続されており、ネットワーク１００はインターネット１０１に接続されている。また、コンテンツ印刷システム１０００は、Ｗｅｂアプリケーションサーバー群１５０、印刷サーバー群１３０を含む。２つのサーバー群は、同じベンダーから提供されたサーバー群である場合もある。その場合は、両サーバー群はネットワーク１００を介して接続されていてもよい。また、コンテンツ印刷システム１０００は、印刷中継サーバー１２０を含む。印刷中継サーバー１２０はネットワーク１００に接続されており、ネットワーク１００はインターネット１０１に接続されている。コンテンツ印刷システム１０００を構成する各装置、および各サーバー群は、インターネット１０１を介して接続可能であり、互いにデータ通信することができる。なお、各装置は１台のみであるが複数台あっても良い。また、各サーバー群は複数台で構成されているが１台であっても良い。
【００１３】
次に、コンテンツ印刷システム１０００を構成する各装置、および各サーバー群のハードウェア構成について説明する。図２は、コンテンツ印刷システム１０００を構成する各装置、および各サーバー群を実現するコンピューターのハードウェア構成を示す図である。２０１は、コンテンツ印刷システム１０００を構成する各装置、および各サーバー群である。２０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、各種プログラムを実行し、様々な機能を実現するユニットである。２０３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であり、各種プログラムを記憶するユニットである。２０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、ＣＰＵ２０２は、ＲＯＭ２０３に記憶されているプログラムをＲＡＭ２０４にロードしプログラムを実行する。また、ＲＡＭ２０４は、ＣＰＵ２０２の一時的な作業記憶領域としても利用されるユニットである。Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０５は、各装置、および各サーバー群に接続されているディスプレイ（不図示）にデータを送信する他、ポインティングデバイス（不図示）からデータを受信するインターフェースユニットである。ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０６は、コンテンツ印刷システム１０００を構成する各装置、および各サーバー群をネットワーク１００に接続するためのユニットである。以上説明してきたユニットは、バス２０７を介してデータの送受信を行うことが可能である。また、プリンター１１０は、印刷ユニット（不図示）を搭載しており、印刷ユニットは、バス２０７を介して各ユニットとデータを送受信することが可能である。なお、印刷ユニットは、ラスタイメージを記憶媒体に印刷することが可能なユニットである。
【００１４】
次に、コンテンツ印刷システム１０００を構成する各装置、および各サーバーのソフトウェア構成について説明する。図３は、コンテンツ印刷システム１０００を構成する各装置、および各サーバーのソフトウェア構成を示している。図３に示されている各ソフトウェア構成の機能を実現するプログラムは、各装置、および各サーバーのＲＯＭ２０３に記憶されており、ＣＰＵ２０２がＲＡＭ２０４にプログラムをロードし実行することで、これらの機能は実現される。
【００１５】
以下、各装置、および各サーバーによって実現される具体的な実施例について説明する。実施例の説明は大きく前半と後半の２つの部分に分けて行う。
【００１６】
まず前半では、各装置と各サーバーが有する３種類の処理からなる基本的実施例を説明する。
【００１７】
次に後半は、３種類の処理からなる基本的実施例を発展させて、使用者のプリンター登録に関する処理をより容易にした本発明特有の発展的実施例について説明する。前半で説明する基本的実施例の特徴は、印刷ジョブが専用サービスプリンターと中継仮想プリンターを経てプリンターに送信される点である。それに対し、後半で説明する発展的実施例の特徴は、印刷ジョブが汎用サービスプリンターと中継仮想プリンターを経てプリンターに送信される点である。
【００１８】
これより前半部分の基本的実施例として、３種類の処理について説明する。
【００１９】
１つ目の処理は、管理者がプリンター１１０を印刷中継サーバー１２０に登録し、印刷中継サーバー１２０内に中継仮想プリンター３２３を実現する、事前登録処理である。
【００２０】
２つ目の処理は、印刷中継サーバー１２０で管理される中継仮想プリンター３２３を、使用者が印刷サービス用プロキシー３２５を通して印刷サーバー群１３０の印刷サービス３３０に登録する本登録処理である。
【００２１】
３つ目の処理は、使用者に指示により印刷サーバー群１３０が生成した印刷データを、印刷中継サーバー１２０を経由して、プリンター１１０に印刷させる印刷処理である。
【００２２】
ここで、管理者とは、プリンター１１０が設置されているテナントの管理者を指す。また、使用者とはコンテンツ印刷システム１０００を利用してＷｅｂアプリケーション３５０で作成した文書を、プリンター１１０を使用して印刷するユーザーを指す。
【００２３】
まず、１つ目の処理である事前登録処理について説明する。はじめに、プリンター１１０が有する事前登録処理に分類される機能について説明する。プリンター１１０は、印刷制御部３１０を有する。印刷制御部３１０は、管理者の画面操作により、操作しているプリンターを印刷中継サーバー１２０に登録する。
【００２４】
以下、図４を用いて印刷制御部３１０の機能を説明する。
【００２５】
表示部４０１は、各種画面を表示する。ここでは、図１１（ａ）に例示するＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示するものとする。管理者は本ＵＩを通してプリンター１１０を印刷中継サーバー１２０に登録する指示を行うことができる。なお、印刷中継サーバーのＵＲＬやＩＰアドレスが入力できるようになっていても良い。入力可能であれば任意の印刷中継サーバーへの登録が可能となる。ただし本発明の実施例では、ＵＲＬやＩＰアドレスは内部的に記録されている値を使うものとする。
【００２６】
ここで、管理者が、印刷中継サービス１２０にログインするためのユーザーＩＤ１１０１とパスワード１１０２を入力し、登録実行ボタン１１０３を押下すると、表示部４０１は登録要求送信部４０２に入力情報を送り、登録実行を指示する。登録要求送信部４０２は受信した入力情報を使ってまず印刷中継サーバー１２０にログインを行い、成功すれば、印刷中継サーバー１２０に対してプリンターの登録情報を送信する。なお、登録指示は、プリンター１１０からではなく、後述するように印刷中継サーバー１２０からでも良い。
【００２７】
ここで登録情報について説明する。登録情報には、プリンター１１０に割り当てられた固有の識別情報であるＲＰＩＤ（Ｒｅａｌ  Ｐｒｉｎｔｅｒ  ＩＤ）が含まれる。プリンター１１０を含む複数のプリンター（不図示）には、夫々固有の識別情報が割り当てられており、この識別情報により各プリンターは特定される。実施例１では、ＲＰＩＤを特定することでプリンターの配置場所を特定できる。
【００２８】
また、登録情報には、プリンター１１０のプリンターネームが含まれている。プリンターネームとは、プリンター１１０に割り当てられた名前であり、プリンター１１０を呼称するときに用いるものである。なお、プリンターネームは識別情報と異なり、同一のプリンターネームを有するプリンターが複数存在する場合もある。
【００２９】
また、登録情報にはケーパビリティーズが含まれている。ケーパビリティーズとは、例えば、プリンター１１０が両面印刷可能であるか否か、およびカラー印刷可能であるか否か、および出力可能ペーパサイズ等のプリンターの能力情報を指す。ケーパビリティーズは、図１３（ａ）に示すようにＸＭＬ形式で表現が可能である。この＜Ｉｔｅｍ＞が、プリンター１１０の能力を示しており、プリンター１１０は、両面印刷可能であり、かつカラー出力可能であり、かつＢ５サイズ、およびＡ４サイズ、およびＡ３サイズの用紙を出力可能であることを示している。
【００３０】
また、登録情報には印刷設定初期値が含まれている。図１３（ｂ）に示すようにＸＭＬ形式で表現が可能であり、各印刷設定項目においていずれかの＜Ｉｔｅｍ＞が選ばれている状態となる。図１３（ｂ）の例では、片面出力、カラー出力、Ａ４サイズ、が設定されていることを意味する。
【００３１】
次に、印刷中継サーバー１２０が有する事前登録処理に分類される機能について説明する。印刷中継サーバー１２０は、中継仮想プリンター管理サービス３２２を有する。中継仮想プリンター管理サービス３２２は、印刷制御部３１０からのプリンター登録要求を受信し、中継仮想プリンター３２３を生成する。
【００３２】
以下、図５を用いて中継仮想プリンター管理サービス３２２の機能の説明を行う。
【００３３】
登録要求受信部５０１は、登録要求送信部４０２から送信された登録情報を受信する。制御部５０２は、登録要求受信部５０１が受信した登録情報を取得し、その登録情報を解釈する。制御部５０２は、仮想プリンター生成部５０３へ、中継仮想プリンター３２３を生成する指示を出す。なお、図３では簡便のために中継仮想プリンター３２３はひとつしか記載していないが、プリンターが複数存在すれば、管理者はそれに対応する複数の中継仮想プリンターを登録することが出来る。
【００３４】
仮想プリンター生成部５０３は、対象となるプリンターとの通信方式に準拠した通信モジュールＣｘ６１０を有する。通信モジュールＣｘ６１０は、プリンター１１０と通信を行うためのインターフェースであり、前述したプリンター１１０が有する通信モジュールＣｙ４１０と通信を行うことが可能である。
【００３５】
仮想プリンター生成部５０３は、この通信モジュールをロードしたプロセス（スレッド）を実現する。このプロセスが、図６に示す各機能を実現する中継仮想プリンター３２３に相当する。中継仮想プリンター３２３は通信モジュールとしての機能の他に、印刷通知を受け付けて印刷データを取得する機能、およびそのデータから印刷ジョブを生成する機能を有する。各機能の詳細は後述する。
【００３６】
仮想プリンター生成部５０３は、中継仮想プリンター３２３を実現した際に、実現した中継仮想プリンター３２３を識別するための識別情報であるＶＰＩＤ（Ｖｉｒｔｕａｌ  Ｐｒｉｎｔｅｒ  ＩＤ）を発行する。発行されたＶＰＩＤは、制御部５０２へ送られる。なお、中継仮想プリンター３２３は、プリンター１１０から登録情報が送られてくる毎に実現されるものであり、実現された夫々の中継仮想プリンター３２３には固有の識別子であるＶＰＩＤが割り当てられる。本発明の実施例では、ＶＰＩＤを特定することで、登録された複数の中継仮想プリンターの中から中継仮想プリンター３２３を特定することが可能となる。
【００３７】
仮想プリンター生成部５０３からＶＰＩＤを取得した制御部５０２は、プリンター情報格納部５０５にＶＰＩＤとプリンターの登録情報を格納するよう指示を出す。プリンター情報格納部５０５は、ＶＰＩＤ、および登録情報を図１２（ａ）に示すように関連付けて格納する。プリンター情報格納部５０５が格納する登録情報は、ＶＰＩＤが１２０１、ＲＰＩＤが１２０２、プリンターネームが１２０３、ケーパビリティーズが１２０４、印刷設定規定値が１２０５に相当する。
【００３８】
なお、中継仮想プリンター３２３は、個別のプロセスではなく、単一プロセスの中で論理的に区別して処理する構造であってもよい。すなわち、ＶＰＩＤを特定することで対応するＲＰＩＤを制御できる構造であれば良い。
【００３９】
以上が、管理者がプリンター１１０を印刷中継サーバー１２０に登録し、印刷中継サーバー１２０内に中継仮想プリンター３２３を実現する事前登録処理の説明である。
【００４０】
続いて、２つ目の処理である本登録処理について説明する。はじめに、印刷中継サーバー１２０が有する本登録処理に分類される機能について説明する。印刷中継サーバー１２０は、メイン処理管理サービス３２１を有する。メイン処理管理サービス３２１は、印刷サービス３３０に非依存な共通処理部であり、ここでは使用者の指示に従って中継仮想プリンター３２３を印刷サービス３３０に登録するための前処理を行う。
【００４１】
以下、図７を用いてメイン処理管理サービス３２１の機能を説明する。
【００４２】
ログイン受付部７０１は、使用者がクライアント１４０のＷｅｂブラウザー３４０を通して行うログインを受け付ける。ユーザー認証が完了すると、ログインした使用者のユーザーアカウントに応じた処理を行う。
【００４３】
次に操作部７０２で、図１１（ｂ）に例示するような、使用者の操作を受け付ける画面を表示する。本画面も使用者毎に設定されている情報に基づいて生成される。図１１（ｂ）には、使用者が利用可能なプリンター１１１１の一覧が表示されており、夫々のプリンターに対して印刷設定変更ボタン１１１２が配置される。また、使用者が利用できるプリンターを管理するための追加／削除ボタン１１１３が配置されている。また、印刷サービスベンダー一覧１１１４が表示されており、夫々の印刷サービスと連携するための連携ボタン１１１５がある。
【００４４】
追加／削除ボタン１１１３が押下されると、図１１（ｄ）に例示するプリンターの追加／削除画面が表示される。ここでは、使用者にとって既に利用可能となっているプリンター一覧１１３１と、前記プリンターを削除するための削除ボタン１１３２が表示される。また、印刷中継サーバー１２０で利用可能であり使用者が利用要求を出すことが可能なプリンター一覧１１３３と、追加要求を行うための追加ボタン１１３４が表示される。また、使用者が新たに印刷中継サーバー１２０にプリンターを登録するための情報入力欄１１３５と登録実行ボタン１１３６も表示されている。情報入力欄１１３５と登録実行ボタン１１３６は、前述したプリンター１１０の登録要求送信部４０２で行う処理と同等の処理をサーバーの操作画面上で行うものである。
【００４５】
ここで使用者がプリンターを追加すると、操作部７０２はユーザー情報格納部７０３に指示し、図１２（ｂ）に示すように、ユーザーＩＤと、追加要求したプリンターに対応する中継仮想プリンターのＶＰＩＤ、および夫々の印刷設定を関連付けて格納する。格納する情報は、ユーザーＩＤが１２１１、ＶＰＩＤが１２１２、各ＶＰＩＤの印刷設定規定値が１２１３となる。使用者がプリンターの追加や削除を行うと、使用者のユーザーＩＤ１２１１に紐付くプリンター１２１２が増減する。印刷設定規定値１２１３は、Ｗｅｂアプリケーション３５０からプリンターを選択して印刷設定を行う際の規定値となる。
【００４６】
また、印刷設定規定値１２１３の初期値は、図１２（ａ）に格納されている印刷設定初期値１２０５となる。この印刷設定の取得は以下の流れとなる。まず、操作部７０２はプリンター情報要求送信部７０４に指示し、中継仮想プリンター管理サービス３２２にプリンター情報を要求する。このとき、情報を必要とするプリンターのＶＰＩＤを渡す。中継仮想プリンター管理サービス３２２はプリンター情報要求受信部５１０で要求を受信する。プリンター情報要求受信部５１０は受信したＶＰＩＤに関連付いた図１２（ａ）の情報を、プリンター情報格納部５０５を通して取得する。ここでは印刷設定初期値１２０５を取得する。プリンター情報要求受信部５１０は取得した情報をプリンター情報要求送信部７０４に送信し、プリンター情報要求送信部７０４は取得した情報を操作部７０２に送信する。以上の流れで、印刷設定初期値を取得する。
【００４７】
図１１（ｄ）の画面にて、使用者によってＯＫボタン１１３７が押下されることで利用可能なプリンターは確定し、図１１（ｂ）の画面に戻る。この画面では、利用可能なプリンターの表示が更新される。以上により、使用者毎に利用可能なプリンターを管理することができる。
【００４８】
図１１（ｂ）のＵＩにて印刷設定変更ボタン１１１２が使用者によって押下されると、操作部７０２はプリンター情報要求送信部７０４に指示し、中継仮想プリンター管理サービス３２２にプリンター情報の取得を要求する。このとき、情報を必要とするプリンターに対応する中継仮想プリンターのＶＰＩＤを渡す。中継仮想プリンター管理サービス３２２のプリンター情報要求受信部５１０はプリンター情報要求を受信する。プリンター情報要求受信部５１０は受信したＶＰＩＤに関連付いた図１２（ａ）の情報を、プリンター情報格納部５０５を通して取得する。ここではケーパビリティーズ１２０４を取得する。プリンター情報要求受信部５１０は取得した情報をプリンター情報要求送信部７０４に送信し、プリンター情報要求送信部７０４は取得した情報を操作部７０２に送信する。また、操作部７０２はユーザー情報格納部７０３に対し、情報を必要とするプリンターに対応する中継仮想プリンターのＶＰＩＤを渡して情報を要求する。ここでは、ユーザー情報格納部７０３を通して、図１２（ｂ）で管理されている印刷設定規定値１２１３を取得するものとする。以上により、選択したプリンターのケーパビリティーズと印刷設定を取得する。
【００４９】
次に操作部７０２は、図１１（ｃ）に例示する印刷設定画面を表示する。ここで、設定項目とその選択肢は、取得したケーパビリティーズを元に生成される。またその初期設定には、取得した印刷設定規定値が適用される。
【００５０】
使用者がＵＩ画面を通して設定を変更すると、その設定値は図１３（ｃ）のようにＸＭＬ形式で保持される。図１３（ｃ）の例では、両面出力、モノクロ出力、Ａ４サイズ、が設定されている状態を意味する。使用者によってＯＫボタン１１２４が押下されると設定が確定し、操作部７０２は印刷設定を保持するＸＭＬと該当プリンターのＶＰＩＤをユーザー情報格納部７０３に送る。ユーザー情報格納部７０３は該当ユーザーの該当プリンターの印刷設定規定値１２１３を受け取った設定で更新する。
【００５１】
以上により、使用者毎に、プリンター毎の印刷設定が管理され、同じプリンターでも使用者毎に異なる規定値を持つことが可能となる。
【００５２】
図１１（ｂ）のＵＩにて連携ボタン１１１５が使用者によって押下されると、操作部７０２は連携処理要求送信部７１０に連携処理を指示する。連携処理要求送信部７１０は、選択された印刷サービス３３０に対応する連携処理管理サービス３２４に対して、連携処理要求を送信する。このとき、使用者のユーザーＩＤと、使用者が利用可能なプリンターに対応する中継仮想プリンターのＶＰＩＤ一覧、および各ＶＰＩＤに関連付けられている情報を送る。ここで必要となるＶＰＩＤに関連付けられている情報とは、プリンター情報格納部５０５で管理されているプリンターネーム１２０３、ケーパビリティーズ１２０４、およびユーザー情報格納部７０３で管理されている印刷設定規定値１２１３である。
【００５３】
次に、印刷中継サーバー１２０が有する連携処理管理サービス３２４の本登録処理に分類される機能について説明する。連携処理管理サービス３２４は、印刷サービス毎にひとつ存在し、印刷サービスとの通信方式に対応したインターフェースを持つプロセスを作成する。本実施例では印刷サービス用プロキシー３２５を生成する。また連携処理管理サービス３２４は、通信や印刷実行に必要な情報を管理する。
【００５４】
以下、図８を用いて連携処理管理サービス３２４の機能を説明する。
【００５５】
連携処理要求受信部８０１は、連携処理要求送信部７１０からの要求を受信する。ここでは情報として、プリンターネーム、ケーパビリティーズ、印刷設定を受け取る。連携処理要求受信部８０１は、受け取った情報を制御部８０２に送る。制御部８０２は、受け取った情報を解釈する。制御部８０２は、ユーザー情報格納部８０３に指示し、ユーザー情報格納部８０３が管理する情報に該当するユーザーＩＤがあるかを確認する。なお、ユーザー情報格納部８０３が管理する情報の詳細については後述する。
【００５６】
ユーザーＩＤがなかった場合はこの使用者は初めてこの印刷サービス３３０を利用したことを意味するので、対象の印刷サーバー群に使用者のユーザー認証を行う。ここでは、制御部８０２が印刷サービス認証部８１０に指示し、印刷サービス認証部８１０は印刷サーバー群１３０へのログインを行う。ここでは、使用者が、印刷サービス３３０が表示するログイン画面に、印刷サービス３３０へアクセスするためのユーザーアカウント（ＩＤやパスワード）を入力する。ユーザー認証が成功すると、印刷サービス認証部８１０は印刷サーバー群１３０から認証トークンを受け取るので、それを制御部８０２に渡す。なお、ユーザー認証に失敗した場合は、使用者は印刷サービス３３０を利用できないことを意味するため、連携処理要求受信部８０１から失敗というステータスを連携処理要求送信部７１０に返す。
【００５７】
次に、制御部８０２はプロキシー作成部８１１に指示し、印刷サービス用プロキシー３２５の機能を実現する。印刷サービス用プロキシー３２５は、図９に示す各機能を実現する。プロキシー作成部８１１は、対象となる印刷サービス３３０との通信方式に準拠した通信モジュールＡｙ９１０を有する。通信モジュールＡｙ９１０は、印刷サーバー群１３０と通信を行うためのインターフェースであり、後述する印刷サービス３３０が有する通信モジュールＡｘ１０１０と通信を行うことが可能である。プロキシー作成部８１１は、この通信モジュールをロードしたプロセス（スレッド）を実現する。このプロセスが、印刷サービス用プロキシー３２５に相当する。印刷サービス用プロキシー３２５は、通信モジュールの他に、印刷サービス３３０にプリンターを登録する機能、印刷サービス３３０から取得した印刷データや印刷設定を別のモジュールに引き渡す機能を有する。印刷サービス用プロキシー３２５の各機能の詳細は後述する。
【００５８】
プロキシー作成部８１１は、印刷サービス用プロキシー３２５を実現した際に、実現した印刷サービス用プロキシー３２５を識別するための識別情報であるプロキシーＩＤを発行する。発行されたプロキシーＩＤは、制御部８０２へ送られる。尚、印刷サービス用プロキシー３２５は、ユーザーＩＤごとに実現されるものであり、実現された夫々の印刷サービス用プロキシー３２５には固有の識別情報であるプロキシーＩＤが割り当てられる。本発明の実施例では、プロキシーＩＤから印刷サービス用プロキシー３２５を特定することができる。
【００５９】
なお、プロキシーＩＤは印刷サービス３３０が発行する場合もある。このときは、印刷サービス３３０から受信したプロキシーＩＤを管理する。
【００６０】
印刷サービス用プロキシー３２５が作成された後、制御部８０２は、プロキシー要求送信部８１２に指示し、中継仮想プリンター３２３に対応する専用サービスプリンターの登録を行う。サービスプリンターとは、印刷サービス上でプリンター１１０を識別するオブジェクト（プリンターオブジェクト）である。サービスプリンターを印刷サービス３３０に登録すると、印刷サービス３３０は、サービスプリンターを識別するための識別情報であるＳＰＩＤ（Ｓｅｒｖｉｃｅ  Ｐｒｉｎｔｅｒ  ＩＤ）を発行する。専用サービスプリンターとは、印刷サービス上のプリンターオブジェクトのうち、プリンター１１０と１対１に対応するプリンターオブジェクト（専用プリンターオブジェクト）を指す。プロキシー要求送信部８１２は、印刷サービス用プロキシー３２５に対し、印刷サービス３３０への専用サービスプリンターの登録を要求する。このとき、使用者の認証トークン、プロキシーＩＤ、ＶＰＩＤ一覧とその関連情報を送信する。後述するように、印刷サービス用プロキシー３２５は、専用サービスプリンターの登録処理を行うと、各ＶＰＩＤに対応するＳＰＩＤを返信する。ＳＰＩＤについての詳細は後述する。ＳＰＩＤ一覧を受け取ったプロキシー要求送信部８１２は、その情報を制御部８０２に返信する。
【００６１】
上述したように、プロキシー作成部８１１とプロキシー要求送信部８１２が処理を終えると、制御部８０２は生成された印刷サービス用プロキシー３２５のプロキシーＩＤと、印刷サービス３３０に登録されたＶＰＩＤに対応するＳＰＩＤ一覧を取得する。制御部８０２は、印刷中継サーバー１２０で管理されているユーザーＩＤと印刷サービス３３０へのプロキシーＩＤ、および関連情報を、図１２（ｃ）のように関連付けて格納するようユーザー情報格納部８０３に指示をする。なお、ユーザーＩＤが１２２１、プロキシーＩＤが１２２２、使用者が利用可能なＶＰＩＤ一覧が１２２３に相当する。また、制御部８０２は、プリンター情報格納部８０４に指示し、ＳＰＩＤとＶＰＩＤ、および関連情報を、図１２（ｄ）のように関連付けて格納する。なお、ＳＰＩＤが１２３１、ＶＰＩＤが１２３２、プリンターネームが１２３３、ケーパビリティーズが１２３４、印刷設定規定値が１２３５に相当する。
【００６２】
なお、既に印刷サービス用プロキシー３２５を作成している使用者が連携処理管理サービス３２４を再度利用した場合には、上述したプロキシー作成部８１１の処理をスキップする。その場合、制御部８０２は、連携処理要求受信部８０１から受け取ったＶＰＩＤ一覧と、ユーザー情報格納部８０３に格納されている使用者に関連付けられたＶＰＩＤ一覧との比較で差があるか確認する。差がある場合は、印刷サービス３３０に登録されている中継仮想プリンターに対応するプリンターと、使用者が利用可能なプリンターが一致していないことを意味する。そこで制御部８０２は、追加すべきＶＰＩＤと削除すべきＶＰＩＤを確認し、プロキシー要求送信部８１２に指示してプリンターの追加や削除を行う。
【００６３】
次に、印刷中継サーバー１２０が有する印刷サービス用プロキシー３２５の本登録系に分類される機能について説明する。印刷サービス用プロキシー３２５は、印刷サービス３３０との通信方式に対応した通信インターフェースを持つプロセスである。複数の印刷サービスが存在する場合、印刷サービス用プロキシーは、連携処理管理サービス３２４が、夫々の印刷サービスに対して、使用者のユーザーアカウントごとに生成する。そして、生成された各印刷サービス用プロキシーが、夫々個別に印刷サービスと接続されることにより、すべての使用者が、すべての印刷サービスに対して、同時に接続されている形態となる。ここでは印刷サービス３３０に対して中継仮想プリンター３２３に対応する専用サービスプリンターを登録する処理を行う。
【００６４】
以下、図９を用いて印刷サービス用プロキシー３２５の機能を説明する。
【００６５】
要求受信部９０１は、プロキシー要求送信部８１２から中継仮想プリンター３２３に対応する専用サービスプリンターの登録要求、およびユーザーの認証トークン、プロキシーＩＤ、ＶＰＩＤ一覧とその関連情報を受け取る。要求受信部９０１は、印刷サービスプリンター生成部９０２に登録処理を指示する。印刷サービスプリンター生成部９０２は、受信した認証トークンを用いて印刷サービス３３０に接続し、以後接続を続ける。次に印刷サービスプリンター生成部９０２は、受信した情報を元に印刷サービス３３０に対して専用サービスプリンターの登録要求を行う。図１３（ｄ）は、印刷サービス３３０に対する登録要求情報の一例であり、ＸＭＬで記載された情報の中に、プリンターネーム１３４１、プロキシーＩＤ１３４２、ケーパビリティーズ１３４３、印刷設定１３４４が含まれている。ここでは一台分の情報が記載されているが、一度の登録要求で複数台分をまとめて登録してもよい。
【００６６】
印刷サービスプリンター生成部９０２は、登録要求の応答として、印刷サービス３３０からＳＰＩＤを受け取る。図１３（ｅ）はその一例で、ＸＭＬで記載されており、専用サービスプリンターに対応するＳＰＩＤ１３５１が割り当てられている。ここでは一台分の情報が記載されているが、一度の返信で複数台分をまとめて応答してもよい。印刷サービスプリンター生成部９０２は受け取ったＳＰＩＤを要求受信部９０１に返信し、要求受信部９０１は同情報をプロキシー要求送信部８１２返信する。
【００６７】
ここで、もし印刷中継サーバー１２０が、各印刷サービスに接続するためのユーザーアカウント情報（ユーザーＩＤやパスワード）を保持すると、セキュリティ上好ましくないという課題があった。しかし、上述したように、印刷サービスにログインした後は認証トークンを利用して接続を継続する。これにより、印刷中継サーバー１２０上で印刷サービスのユーザーアカウント情報を保持する必要がないので、セキュリティ上のリスクが低減する効果がある。
【００６８】
印刷サービス３３０は、使用者から、中継仮想プリンター３２３に対応する専用サービスプリンターの登録要求を受け付ける。登録要求を受け付けた後、印刷サービス３３０は、Ｗｅｂアプリケーション３５０から選択可能なプリンターオブジェクトである専用サービスプリンターを、印刷サーバ３３０内に登録する。以下、図１０を用いて印刷サービス３３０の機能を説明する。
【００６９】
プリンター情報登録部１００１は、プリンター登録要求とその関連情報を印刷サービスプリンター生成部９０２から受信する。プリンター情報登録部１００１は、受信した情報を元に登録要求のあった各中継仮想プリンターに対応する専用サービスプリンターを作成し、夫々の専用サービスプリンターに対するＳＰＩＤを発行する。
【００７０】
ここでＳＰＩＤ（Ｓｅｒｖｉｃｅ  Ｐｒｉｎｔｅｒ  ＩＤ）について説明する。印刷サービス３３０は、プリンター１１０の専用サービスプリンターの登録要求を受けた際に、その専用サービスプリンターを識別するための識別情報であるＳＰＩＤを発行する。印刷時に専用サービスプリンターが選択されると、印刷サービス３３０は選択された専用サービスプリンターのＳＰＩＤで中継仮想プリンター３２３を識別する。
【００７１】
印刷サービス３３０で発行されたＳＰＩＤは、プリンター情報格納部１００２、および印刷サービスプリンター生成部９０２に送信される。
【００７２】
プリンター情報格納部１００２は、印刷サービス３３０におけるユーザーＩＤと、ＳＰＩＤ、プリンターネーム、プロキシーＩＤ、ケーパビリティーズ、印刷設定を関連付けて格納する。図１２（ｅ）は、プリンター情報格納部１００２が格納している情報を示す図であり、ユーザーＩＤが１２４１、ＳＰＩＤが１２４２、プリンターネームが１２４３、プロキシーＩＤが１２４４、ケーパビリティーズが１２４５、印刷設定が１２４６に相当する。
【００７３】
なお、図１２（ｅ）で例示するＵｓｅｒＢ＠ｘｘｘ．ｃｏｍで管理する情報のように、異なるプロキシーＩＤを持つインターフェースからプリンターの登録を行った場合は、どのプリンターがどの印刷サービス用プロキシーから登録されたか判るように管理される。
【００７４】
以上が、使用者が、印刷中継サーバー１２０で管理される中継仮想プリンター３２３を、印刷サービス用プロキシー３２５を通して印刷サービス３３０に登録する本登録処理に分類される機能である。
【００７５】
次に、使用者が、Ｗｅｂアプリケーション３５０で作成した印刷データをプリンター１１０に印刷する、印刷処理について説明する。始めに、クライアント１４０が有する機能について説明する。クライアント１４０は、Ｗｅｂブラウザー３４０を有する。
【００７６】
Ｗｅｂブラウザー３４０は、Ｗｅｂアプリケーションサーバー群１５０に保存されているコンテンツの印刷指示を、Ｗｅｂアプリケーションサーバー群１５０に送信する。また、Ｗｅｂブラウザー３４０は、Ｗｅｂアプリケーションサーバー群１５０から印刷サーバー群１３０へのアクセス命令、即ち、リダイレクトの指示を受信し、受信したリダイレクトの指示に従い印刷サーバー群１３０へアクセスする。また、Ｗｅｂブラウザー３４０は、そのＷｅｂブラウザー３４０を利用している使用者が利用可能なプリンターの一覧を、アクセスした印刷サーバー群１３０から取得し、その一覧を表示する（第１の表示制御手段）。また、Ｗｅｂブラウザー３４０は、その一覧から使用者が選択したプリンター１１０に対応する印刷設定画面を、印刷サーバー群１３０から取得し、その印刷設定画面を表示する（第２の表示制御手段）。図１１（ｃ）は、Ｗｅｂブラウザー３４０が表示する使用者が選択したプリンター１１０に対応する印刷設定画面の一例である。また、Ｗｅｂブラウザー３４０は、その印刷設定画面でユーザーが設定した印刷設定値を印刷サーバー群１３０へ送信する。
【００７７】
以上が、クライアント１４０が有するＷｅｂブラウザー３４０の説明である。
【００７８】
次に、Ｗｅｂアプリケーションサーバー群１５０が有する機能について説明する。Ｗｅｂアプリケーションサーバー群１５０は、Ｗｅｂアプリケーション３５０を有する。Ｗｅｂアプリケーションサーバー群１５０は、複数台のサーバーを仮想化して１台のサーバーとみなし、その１台のサーバーでＷｅｂアプリケーション３５０の機能を実現している。なお、Ｗｅｂアプリケーションサーバー群１５０は、その１台のサーバー内に複数のヴァーチャルマシンを起動し、夫々のヴァーチャルマシンに対してＷｅｂアプリケーション３５０の機能を実現させている。
【００７９】
Ｗｅｂアプリケーション３５０は、文書作成サービスを提供する。使用者は、例えば、会社の会議で資料を配布したい場合に、その資料を作成するため文書作成サービスを利用する。Ｗｅｂアプリケーション３５０を利用して文書を作成する場合は、使用者はクライアント１４０にそのアプリケーションをインストールする必要はなく、クライアント１４０はＷｅｂブラウザー３４０を有していれば良い。Ｗｅｂアプリケーション３５０は、その資料を作成するための画面情報を、Ｗｅｂブラウザー３４０に送信する。なお、Ｗｅｂアプリケーション３５０は、Ｗｅｂブラウザー３４０を介して使用者が入力したユーザーＩＤ、およびパスワードを含むユーザー情報を基に認証を行い、認証が成功したことに応じて資料を作成するための画面情報を送る。その画面情報を受信したＷｅｂブラウザー３４０は、その画面情報を基に文書を作成するための作成画面を表示し、使用者はその作成画面を用いて会議で配布する資料を作成する。Ｗｅｂアプリケーション３５０は、使用者がその作成画面を用いて作成した資料の情報を受信し、受信した情報を基にコンテンツを作成し、Ｗｅｂアプリケーションサーバー群１５０の記憶装置に作成したコンテンツを記憶させる。なお、Ｗｅｂアプリケーション３５０は、文書作成サービスに限らずメールサービス、スケジュールサービスも提供している。
【００８０】
文書作成サービスを利用し作成したコンテンツを印刷したい使用者は、その作成画面に表示されている印刷ボタンを押す。図１５は、印刷ボタン１５０１が押されていることを示す図である。なお、使用者が作成したコンテンツは１５０２である。Ｗｅｂアプリケーション３５０は、その印刷ボタンが押されたという情報を受信し、印刷サーバー群１３０へのアクセス命令、即ち、リダイレクトの指示をＷｅｂブラウザー３４０へ送信する。なお、リダイレクト指示には、上述したＷｅｂブラウザー３４０を利用している使用者が利用可能なプリンター１１０の一覧を取得するための要求、および使用者が印刷を指示したコンテンツを識別するためのコンテンツ識別情報、およびユーザー情報が含まれている。また、Ｗｅｂアプリケーション３５０は、印刷サーバー群１３０からコンテンツの取得要求があった場合に、その取得要求と共に送られたコンテンツを識別するためのコンテンツ識別情報を基に、対象のコンテンツを印刷サーバー群１３０へ送信する。
【００８１】
以上が、Ｗｅｂアプリケーションサーバー群１５０が有するＷｅｂアプリケーション３５０の説明である。
【００８２】
次に、印刷サーバー群１３０の有する印刷処理に分類される機能について説明する。印刷サーバー群１３０は、印刷サービス３３０を有する。印刷サービス３３０は、Ｗｅｂアプリケーション３５０から印刷データを取得し、プリンター１１０、またはそれに準拠するインターフェースを持つモジュールに対して印刷データを送信し、印刷を遂行する。
【００８３】
以下、図１０を用いて印刷サービス３３０の機能を説明する。
【００８４】
印刷サービス３３０は、プリンター情報提示部１００３を有する。プリンター情報提示部１００３は、Ｗｅｂブラウザー３４０からの使用者が利用可能なプリンターの一覧の取得要求を受けたことに応じて、プリンター一覧をＷｅｂブラウザー３４０に送信する。なお、プリンター情報提示部１００３は、使用者のユーザー情報を基にプリンター情報格納部１００２が格納しているＳＰＩＤ、プリンターネームを特定する。そして、プリンター情報提示部１００３は、ＳＰＩＤ、プリンターネームを基に、その使用者が利用可能なプリンターの一覧を生成する。
【００８５】
図１１（ｅ）に使用者が利用可能なプリンターの一覧を示す。図１１（ｅ）は印刷サービス３３０の使用者「ＵｓｅｒＡ＠ｘｘｘ．ｃｏｍ」に提示される、利用可能なプリンター一覧画面の例である。リストボックス１１４１には使用者が利用可能なプリンターのプリンターネームが列挙される。プロパティボタン１１４２が押下されると後述する印刷設定画面が呼び出される。ＯＫボタン１１４３が押下されるとリストボックス１１４１で選択入力された専用サービスプリンターが出力先として決定される。
【００８６】
プロパティボタン１１４２が押下されると、プリンター情報提示部１００３は、リストボックス１１４１で選択入力された専用プリンターのＳＰＩＤを特定する。プリンター情報提示部１００３は、特定したＳＰＩＤを基にプリンター情報格納部１００２が格納しているケーパビリティーズを特定し、印刷設定画面を生成し、生成した印刷設定画面をＷｅｂブラウザー３４０へ送信する。また、受信したＳＰＩＤを基にプリンター情報格納部１００２が格納している印刷設定規定値を特定し、設定の初期値とする。
【００８７】
プリンター情報格納部１００２は、図１２（ｅ）に示すケーパビリティーズの情報から図１１（ｃ）に示す印刷設定画面を生成する。図１１（ｃ）に示すように、プリンター情報格納部１００２は、ケーパビリティーズに記載された印刷設定しか選択できないような印刷設定画面を生成する。また、管理者がプリンター１１０の機能が追加し、プリンター１１０のケーパビリティーズの情報を更新すると、プリンター情報格納部１００２が格納する情報も更新される。プリンター情報提示部１００３は、プリンター情報格納部１００２の更新された情報をもとに印刷設定画面を生成する。
【００８８】
印刷指示受付部１００４は、印刷設定画面を介して設定された印刷設定と、ＳＰＩＤをＷｅｂブラウザー３４０から受信する。また、印刷指示受付部１００４は、Ｗｅｂブラウザー３４０がリダイレクトの指示に基づいてアクセスしてきた際に、使用者が印刷を指示したコンテンツを識別するためのコンテンツ識別情報を受信する。
【００８９】
印刷データ情報取得部１００５は、印刷指示受付部１００４からコンテンツ識別情報を受信し、受信したコンテンツ識別情報を基にＷｅｂアプリケーション３５０から印刷対象となるコンテンツを取得する。また、印刷データ情報取得部１００５は、印刷指示受付部１００４から使用者が入力した印刷設定、および使用者が選択した専用サービスプリンターに対応するＳＰＩＤを受信する。なお、印刷データ情報取得部１００５は、Ｗｅｂアプリケーション３５０から取得したコンテンツと印刷設定を基に、必要に応じてコンテンツを印刷データに変換する場合もある。
【００９０】
制御部１００６は、印刷データ情報取得部１００５から印刷データ、印刷設定、ＳＰＩＤを取得する。印刷設定は、図１３（ｃ）のようにＸＭＬ形式で記載されている。図１３（ｃ）によれば、使用者は両面設定、およびモノクロ設定、および用紙サイズＡ４を設定したことが分かる。
【００９１】
通信モジュールＡｘ１０１０は、通信モジュールＡｙ９１０を有する装置と通信を行うことが可能であり、２者間のデータ通信のインターフェースである。通信モジュールＡｘ１０１０は印刷データ格納部１０１１、印刷設定格納部１０１２、印刷通知送信部１０１３を有する。印刷データ格納部１０１１は、制御部１００６から印刷データを受信し格納する。印刷設定格納部１０１２は、制御部１００６から印刷設定を受信し格納する。制御部１００６は、印刷データ格納部１０１１、および印刷設定格納部１０１２から格納が終了した旨を受信したことに応じて、印刷通知送信部１０１３に通知情報を送るように指示をする。
【００９２】
印刷通知送信部１０１３は、制御部１００６から通知情報を送るように指示されたことに応じて、印刷データの格納場所、および印刷設定の格納場所を制御部１００６から取得し、通知情報Ａを生成する。通知情報Ａは、図１３（ｆ）に示すＸＭＬで表されており、１３６１にＳＰＩＤが、１３６２に印刷データの格納場所が、１３６３に印刷設定の格納場所が、夫々記載されている。また、印刷通知送信部１０１３は、ＳＰＩＤを制御部１００６から取得し、プリンター情報格納部１００２が格納している情報を基にプロキシーＩＤを特定する。印刷通知送信部１０１３は、特定したプロキシーＩＤを持つインターフェースに対して、そのプロキシーが管理するＳＰＩＤに対する印刷データが準備できたことを通知するため通知情報Ａを送信する。
【００９３】
この通信情報Ａは、印刷サービス独自の通信方式に準拠しており、通信にはこの独自の通信方式を解釈可能なインターフェースの実装が必要となる。プリンターに実装すればプリンターを直接印刷サーバーに登録することができるし、サーバーやクライアントなどの通信可能な装置に実装すればプロキシーとして登録可能となる。本発明の実施例では、通信モジュールＡｙ９１０がこの独自の通信方式を解釈可能なインターフェースを実装しており、通信モジュールＡｘ１０１０との通信が可能となっている。
【００９４】
なお、通信モジュールＡｘと、通信モジュールＡｙが通信を行えるような仕組みを、印刷サーバー群１３０を提供するベンダーの仕様と呼ぶ。そして、この仕様は、印刷サーバー群１３０を管理しているベンダーに深く依存する。印刷サーバー群１３０を管理しているベンダーは、印刷サーバー群１３０に通信モジュールＡｘを実装し、通信モジュールＡｘと通信を行うための通信モジュールＡｙの仕様を公開する。また、印刷サーバー群１３０を管理しているベンダーが公開するデータ通信の仕様は、第１の仕様に相当する。通信モジュールＡｘ、および通信モジュールＡｙのインターフェースは、第１の仕様に準じて作成されるインターフェースである。そして、通信モジュールＡｙが第１の通信手段に相当する。
【００９５】
なお、既存のプリンターは、専用のインターフェースを実装しないと、通信仕様の違う印刷サービスに接続できないという課題があった。しかし次に説明する印刷中継サーバー１２０の印刷系に分類される機能を用いることでこの課題は解決する。
【００９６】
次に、印刷中継サーバー１２０の印刷処理に分類される機能について説明する。まず印刷サービス用プロキシー３２５の印刷処理に分類される機能について説明する。印刷サービス用プロキシー３２５は、印刷サービス３３０から印刷通知とＳＰＩＤを受け取り、ＳＰＩＤに対応するＶＰＩＤを特定する。また印刷サービス３３０から印刷データを受け取り、特定したＶＰＩＤに対応する中継仮想プリンター３２３に送信することで、印刷を遂行する。
【００９７】
以下、図９を用いて印刷サービス用プロキシー３２５の機能を説明する。
【００９８】
印刷サービス用プロキシー３２５は、通信モジュールＡｙ９１０を有する。通信モジュールＡｙ９１０の印刷通知受信部９１３は、印刷通知送信部１０１３から送信される通知情報Ａを受信する。印刷サービス３３０には、印刷サービス用プロキシー３２５を通して中継仮想プリンター３２３が登録されているため、通知情報Ａは印刷サービス用プロキシー３２５の通信モジュールＡｙ９１０に送信される。この通信モジュールＡｙは通信モジュールＡｘと対をなすモジュールであるため、印刷通知受信部９１３は、通知情報Ａを解釈することが可能である。
【００９９】
印刷通知受信部９１３は、制御部９１５に指示し、印刷データを出力するプリンター１１０に対応する中継仮想プリンター３２３を特定する。制御部９１５は、まず印刷通知情報ＡからサービスプリンターのＳＰＩＤを取得する。このＳＰＩＤは、例えば、図１３（ｆ）に示す印刷通知情報ＡのＳＰＩＤ１３６１である。次に制御部９１５は、プリンター情報要求送信部９１６へ、ＳＰＩＤに対応するＶＰＩＤ値を要求する。プリンター情報要求送信部９１６は、連携処理管理サービス３２４へ、ＳＰＩＤに対応するプリンター情報を要求する。連携処理管理サービス３２４のプリンター情報要求受信部８２０は要求を受信し、プリンター情報格納部８０４から、指定されたＳＰＩＤに関連付けられた情報を取得し、プリンター情報要求受信部８２０へ返信する。プリンター情報要求受信部８２０は、同情報をプリンター情報要求送信部９１６へ返信する。プリンター情報要求送信部９１６は、取得した情報の中からＶＰＩＤ値を取得し、制御部９１５に送信する。制御部９１５は取得したＶＰＩＤを印刷通知送信部９２３へ送信する。印刷通知送信部９２３は、取得したＶＰＩＤから、データを送信すべき中継仮想プリンター３２３を特定する。
【０１００】
また、印刷通知受信部９１３は、通知情報Ａに記載されている印刷データの格納場所、および印刷設定の格納場所を確認し、夫々の情報を印刷データ取得部９１１、印刷設定取得部９１２に通知する。印刷データ取得部９１１は、通知された印刷データの格納場所を基に、印刷データ格納部１０１１から印刷データを取得し、印刷データ格納部９２１に指示して格納する。印刷データを格納した印刷データ格納部９２１は、格納場所を印刷通知送信部９２３に通知する。また印刷設定取得部９１２は、通知された印刷設定の格納場所を基に、印刷設定格納部１０１２から印刷設定を取得し、印刷設定格納部９２２に指示して格納する。印刷設定を格納した印刷設定格納部９２２は、格納場所を印刷通知送信部９２３に通知する。
【０１０１】
印刷通知送信部９２３は、印刷データ格納部９２１、および印刷設定格納部９２２から格納場所の通知を受け付けたことに応じて、通知情報Ｂを生成する。通知情報Ｂは図１３（ｇ）に示すＸＭＬ形式で表現することができる。１３７１に印刷データの格納場所が記載され、１３７２に印刷設定の格納場所が記載されている。印刷通知送信部９２３は、制御部９１５が特定した中継仮想プリンター３２３の印刷通知受信部６０３へ、通知情報Ｂを送信する。この通知情報Ｂは第２の仕様に相当し、印刷サービス用プロキシー３２５と中継仮想プリンター３２３の間の通信で用いられる。印刷サービス用プロキシー３２５と中継仮想プリンター３２３は中継仮想サーバー１２０内に存在し、任意の組み合わせで通信が可能となる。ここで、第２の仕様は、中継仮想サーバー１２０の内部フォーマットではあるが、印刷サービス用プロキシー３２５の実装や扱うデータフォーマットは印刷サービス３３０に大きく依存するため、汎用性の高いフォーマットとなる。そして、印刷通知送信部９２３および印刷通知受信部６０３が、第２の通信手段に相当する。
【０１０２】
なお、通信モジュールを搭載したプリンターを直接印刷サービスに登録した場合、プリンターを接続しているユーザーアカウント以外の使用者からはプッシュプリントできないという課題があった。またプリンター側で定期的にユーザーアカウントを切り替えて接続し直した場合、特定の使用者に順番が回るまで時間がかかり、すぐに印刷できないという課題があった。しかし、印刷サービス用プロキシー３２５の本登録処理に分類される機能で説明したように、印刷サービス用プロキシー３２５は、印刷サービス３３０ごとに、かつユーザーＩＤごとに、独立して印刷サービス３３０と接続されている。従って、印刷サービス３３０が特定の使用者向けの印刷準備ができると、印刷サービス用プロキシー３２５はすぐにその印刷データを受信できる。また、この後説明する中継仮想プリンター３２３の印刷系処理により、各プリンターに対してプッシュプリントができるため、前述した課題は解決する。
【０１０３】
次に、印刷中継サーバー１２０の中継仮想プリンター３２３の印刷処理に分類される機能について説明する。中継仮想プリンター３２３は、印刷サービス用プロキシー３２５から印刷データを受け取り、同時に受け取る印刷設定を元に印刷ジョブを生成し、プリンター１１０に送信することで、印刷を遂行する。
【０１０４】
以下、図６を用いて中継仮想プリンター３２３の機能を説明する。
【０１０５】
印刷通知受信部６０３は、印刷通知送信部９２３から通知情報Ｂを受け取る。印刷通知受信部６０３は、通知情報Ｂに記載されている印刷データの格納場所、および印刷設定の格納場所を確認し、夫々の情報を印刷データ取得部６０１、印刷設定取得部６０２に通知する。
【０１０６】
印刷データ取得部６０１は、通知された印刷データの格納場所を基に、印刷データ格納部９２１から印刷データを取得する。印刷設定取得部６０２は、通知された印刷設定の格納場所を基に、印刷設定格納部９２２から印刷設定を取得する。
【０１０７】
印刷ジョブ生成部６０４は、印刷データ取得部６０１から印刷データを、また印刷設定取得部６０２から印刷設定を夫々受け取り、プリンターの能力と印刷設定に応じた印刷ジョブを生成する。ここで言うプリンターの能力とは、プリンターが解釈可能な印刷データのフォーマットや、プリンター自身が指定場所から印刷データをダウンロードすることが可能かどうか、という情報を含む。これは、図１２（ａ）に示す、中継仮想プリンター管理サービス３２２が管理するプリンターの能力情報の中のケーパビリティーズ１２０４に記載されている。従って、プリンター１１０が、印刷データ取得部６０１が受信した印刷データを解釈可能であれば、それを変換せずに印刷ジョブとしてもよい。
【０１０８】
印刷ジョブ生成部６０４は、生成した印刷ジョブを印刷ジョブ格納部６１１にて格納し、印刷通知送信部６１２に格納場所を通知する。印刷通知送信部６１２は、格納場所を含む通知情報Ｃを生成し、プリンター１１０に通知情報Ｃを送信する。通信モジュールＣｘ６１０に対応する通信モジュールＣｙ４１０は、プリンター１１０に実装されている。
【０１０９】
上述の如く、プリンター１１０は、印刷中継サーバー１２０を介して印刷サーバー群１３０から印刷データを取得する構成である。これにより、プリンター１１０が、印刷サービスベンダーに適合した通信モジュールを持っていなくても、または新しい印刷サービスベンダーに対応する場合でも、デバイスベンダーはプリンター１１０の通信モジュールを変更する必要はない。デバイスベンダーは、印刷中継サーバー１２０の印刷サービス用プロキシー３２５を変更することで、様々なユーザー環境に配置されたプリンター１１０と印刷サーバー群１３０との間で通信させることが可能になる。印刷サービス用プロキシー３２５の変更方法として、印刷サービス用プロキシー３２５の通信モジュールＡｙを変更する方法の他、現存する印刷サービス用プロキシー３２５を破棄し、新たに印刷サービス用プロキシー３２５を生成する方法が考えられる。
【０１１０】
また、中継仮想プリンター３２３において、印刷サービス３３０が生成する印刷データを、使用者が利用したいプリンター１１０で解釈可能なフォーマットに変換することが可能になる。
【０１１１】
次に、プリンター１１０の印刷処理に分類される機能について説明する。
【０１１２】
プリンター１１０の印刷制御部１１０は、中継仮想プリンター３２３から印刷データを受信し、印刷を実行する。
【０１１３】
以下に、図４を用いて印刷制御部１１０の機能を説明する。
【０１１４】
印刷制御部３１０は、通信モジュールＣｙ４１０を有している。通信モジュールＣｙ４１０の印刷通知受信部４１２は、印刷通知送信部６１２から送信されてくる通知情報Ｃを受信する。この通信モジュールＣｙは、通信モジュールＣｘと対を成すモジュールであるため、通知情報Ｃを解釈することが可能である。なお、中継仮想プリンター３２３とプリンター１１０がデータ通信を行うためにデバイスベンダーが規定した仕様は、デバイスベンダーがハンドリング可能な仕様である。通信モジュールＣｘ、および通信モジュールＣｙのインターフェースは、前記仕様に準じて作成されるインターフェースである。
【０１１５】
印刷通知受信部４１２は、通知情報Ｃに記載されている印刷ジョブの格納場所を確認し、その情報を印刷ジョブ取得部４１１に通知する。印刷ジョブ取得部４１１は、通知された印刷ジョブの格納場所を基に、印刷ジョブ格納部６１１から印刷ジョブを取得する。印刷通知受信部４１２は、印刷ジョブ取得部４１１が取得した印刷ジョブを印刷実行部４１３に送信し、印刷の実行を指示する。指示を受けた印刷実行部４１３は、受け取った印刷ジョブを出力するよう印刷ユニットに指示を出す。
【０１１６】
以上が、使用者が印刷サーバー群１３０で生成した印刷データを、印刷中継サーバー１２０を経由して、プリンター１１０を使用して印刷する、印刷処理の説明である。
【０１１７】
ここからは、事前登録処理、本登録処理、印刷処理について、夫々図１６、図１７、図１８のシーケンス図を用いて説明する。
【０１１８】
１つ目として、管理者がプリンター１１０を印刷中継サーバー１２０に登録し、印刷中継サーバー１２０内に中継仮想プリンター３２３を実現する処理について、図１６を用いて説明する。
【０１１９】
Ｓ１６０１において、管理者はプリンター１１０のＵＩから中継仮想プリンター管理サービス３２２への登録操作を行う。Ｓ１６０２において、プリンター１１０の印刷制御部３１０は、中継仮想プリンター管理サービス３２２にプリンター１１０の登録を要求する。Ｓ１６０３において、中継仮想プリンター管理サービス３２２は、登録情報を基に中継仮想プリンター３２３を実現する。Ｓ１６０４において、中継仮想プリンター３２３は、作成成功の応答を中継仮想プリンター管理サービス３２２へ送信する。Ｓ１６０５において、中継仮想プリンター管理サービス３２２は、作成した中継仮想プリンター３２３を識別するためのＶＰＩＤを発行する。Ｓ１６０６において、中継仮想プリンター管理サービス３２２は、ＶＰＩＤとそれに関連付けられた情報をプリンター情報として格納する。これが図１２（ａ）に示すテーブルに相当し、ＶＰＩＤが、ＲＰＩＤやその名称、能力等と関連づけられて管理される。Ｓ１６０７において、中継仮想プリンター管理サービス３２２は、プリンター１１０の登録が完了した旨を印刷制御部３１０に通知する。Ｓ１６０８において、印刷制御部３１０は、プリンター１１０のＵＩにプリンター１１０の登録が完了した旨を表示するよう指示を出す。
【０１２０】
以上が１つ目の事前登録処理の説明となる。
【０１２１】
続いて、２つ目として、印刷中継サーバー１２０で管理される中継仮想プリンター３２３を、使用者が印刷サービス用プロキシー３２５を通して印刷サービス３３０に登録する処理について、図１７を用いて説明する。
【０１２２】
Ｓ１７０１において、使用者はＷｅｂブラウザー３４０を介して、中継仮想サーバー１２０にログインする。Ｓ１７０２において、中継仮想サーバー１２０のメイン処理管理サービス３２１は、作成したＵＩを通して使用者の操作を受け付け、印刷サービス３３０への中継仮想プリンター３２３に対応する専用サービスプリンターの登録の要求を受け取る。Ｓ１７０３において、メイン処理管理サービス３２１は、連携処理管理サービス３２４に対して、印刷サービス３３０へプリンター１１０を登録するための要求とプリンター情報を送る。
【０１２３】
Ｓ１７０４において、連携処理管理サービス３２４は、  印刷サービス３３０に対してユーザー認証を行う。ここでは、使用者が、印刷サービス３３０が表示するログイン画面に、印刷サービス３３０へアクセスするためのユーザーアカウント（ＩＤやパスワード）を入力する。Ｓ１７０５において、印刷サービス３３０は、ユーザー認証が成功すると、認証成功応答と認証トークンを返送する。返送された印刷トークンは、連携処理管理サービス３２４が受け取る。本認証トークンは、以後印刷サービス３３０と通信を行うために利用可能となる。本実施例では、印刷サービス用プロキシー３２５が印刷サービス３３０と通信を行う際に用いられる。本認証トークンは印刷サービス用プロキシー３２５が受け取るが、図１２（ｃ）で管理してもよい。Ｓ１７０６において、連携処理管理サービス３２４は、印刷サービス用プロキシー３２５を本ユーザーアカウント用に実現する。Ｓ１７０７において、印刷サービス用プロキシー３２５は、作成成功応答を連携処理管理サービス３２４へ送信する。Ｓ１７０８において、連携処理管理サービス３２４は、作成した印刷サービス用プロキシー３２５を識別するためのプロキシーＩＤを発行する。Ｓ１７０９において、連携処理管理サービス３２４は、印刷サービス用プロキシー３２５に対して、印刷サービス３３０への認証トークン、及び、プリンター１１０の専用サービスプリンターの登録要求とプリンター情報を送る。Ｓ１７１０において、印刷サービス用プロキシー３２５は、前述した認証トークンを用いて印刷サービス３３０と接続を行い、次に印刷サービス３３０に対して、中継仮想プリンター３２３の専用サービスプリンターを登録する要求とプリンター情報を送る。Ｓ１７１１において、印刷サービス３３０は、登録要求のあったプリンター１１０に対応する中継仮想プリンター３２３を専用サービスプリンターとして登録し、専用サービスプリンターに対して個別に識別するためのＳＰＩＤを発行する。その際、印刷サービス３３０は、図１２（ｅ）のテーブルを作成する。Ｓ１７１２において、印刷サービス３３０は、印刷サービス用プロキシー３２５に対して、作成成功応答とＳＰＩＤを返信する。Ｓ１７１３において、印刷サービス用プロキシー３２５は、連携処理管理サービス３２４に対して、作成成功応答とＳＰＩＤを返信する。Ｓ１７１４において、連携処理管理サービス３２４は、ユーザーＩＤとそれに関連付けられたプロキシーＩＤなどの情報を、ユーザー情報として格納する。これが図１２（ｃ）に示すテーブルに相当する。Ｓ１７１５において、連携処理管理サービス３２４は、ＳＰＩＤとそれに関連付けられたＶＰＩＤなどの情報を、プリンター情報として格納する。これが図１２（ｄ）に示すテーブルに相当する。Ｓ１７１６において、連携処理管理サービス３２４は、プリンター１１０の登録が完了した旨をメイン処理管理サービス３２１に通知する。Ｓ１７１７において、メイン処理管理サービス３２１は、プリンターの１１０登録が完了した旨をＷｅｂブラウザー３４０に表示する。
【０１２４】
以上が、本登録処理の説明となる。
【０１２５】
以上に示した通り、使用者のユーザーアカウント毎に、また印刷サービス毎に印刷サービス用プロキシー３２５を生成し、それを通して使用者が利用可能なプリンターを登録することが可能となる。
【０１２６】
最後に、３つ目の処理として、使用者が、印刷サーバー群１３０が生成した印刷データを、印刷中継サーバー１２０を経由して、プリンター１１０を使用して印刷する処理について、図１８を用いて説明する。
【０１２７】
Ｓ１８０１において、Ｗｅｂブラウザー３４０は、使用者が編集を行いたいコンテンツの表示を、Ｗｅｂアプリケーション３５０に要求する。Ｓ１８０２において、Ｗｅｂアプリケーション３５０は、要求されたコンテンツに対応するコンテンツの画面をＷｅｂブラウザー３４０に送信する。Ｓ１８０３において、Ｗｅｂブラウザー３４０は、使用者がコンテンツの画面を介して印刷を指示したことに応じて、印刷サービス３３０に登録されているサービスプリンターの一覧画面を要求する。Ｓ１８０４において、印刷サービス３３０は、印刷サービス３３０に登録されており、要求を行った使用者に対応する専用サービスプリンターの一覧画面を、Ｗｅｂブラウザー３４０に提供する。専用サービスプリンターの一覧画面は、図１２（ｅ）のテーブルを参照し、該当するユーザーＩＤに紐付いたプリンターネーム一覧を取得することで作成可能である。Ｓ１８０５において、Ｗｅｂブラウザー３４０は、使用者が一覧画面から専用サービスプリンターを選択したことに応じて、選択された専用サービスプリンターに対応する印刷設定画面を要求する。印刷サービス３３０は、Ｗｅｂブラウザー３４０から専用サービスプリンターの選択と、印刷設定画面の要求を受け付ける。Ｓ１８０６において、印刷サービス３３０は、専用サービスプリンターの印刷設定画面をＷｅｂブラウザー３４０に提供する。管理者が、専用サービスプリンターの能力情報を更新して印刷中継サーバーに登録した場合、印刷中継サーバー１２０は更新された能力情報を印刷サービス３３０のプリンター情報格納部１００２に登録する。そして、印刷サービス３３０は更新されたプリンター情報格納部１００２の情報をもとに、印刷設定画面をＷｅｂブラウザー３４０に送信する。Ｓ１８０７において、Ｗｅｂブラウザー３４０は、使用者が印刷設定画面を介して入力した印刷設定を印刷サービス３３０に送信する。印刷サービス３３０は、Ｗｅｂブラウザー３４０から、使用者が入力（指定）した印刷設定を受け付ける。
【０１２８】
Ｓ１８１１において、印刷サービス３３０は、使用者が印刷を指示した印刷データの識別情報をＷｅｂアプリケーション３５０から取得する。また、印刷サービス３３０は、印刷データの取得、または生成を行い、ダウンロード可能な状態を整える。Ｓ１８１２において、印刷サービス３３０は、図１２（ｅ）を参照し、指定されたプリンターネームと関連付けされているＳＰＩＤと印刷サービス用プロキシー３２５を特定する。Ｓ１８１３において、印刷サービス３３０は、特定した印刷サービス用プロキシー３２５に対して、Ｓ１８０５において選択された専用サービスプリンターのＳＰＩＤ（識別情報）を送信する。ＳＰＩＤを送信することで、ＳＰＩＤで指定された専用サービスプリンター向けに印刷データが生成されたことを通知する。Ｓ１８１４において、印刷サービス用プロキシー３２５は、印刷サービス３３０に印刷データの取得を要求する。Ｓ１８１５において、印刷サービス３３０は取得要求に応じて、印刷サービス用プロキシー３２５に印刷データを送信する。印刷サービス用プロキシー３２５は、印刷サービス３３０から印刷データを取得する。Ｓ１８１６において、印刷サービス用プロキシー３２５は、印刷サービス３３０に印刷設定の取得を要求する。Ｓ１８１７において、印刷サービス３３０は印刷サービス用プロキシー３２５に対して、Ｓ１８０７において入力された印刷設定を送信する。印刷サービス用プロキシー３２５は、印刷サービス３３０から印刷設定を取得する。
【０１２９】
Ｓ１８２１において、印刷サービス用プロキシー３２５は、中継仮想プリンター管理サービス３２２に、ＳＰＩＤに対応するＶＰＩＤ値を問い合わせる。Ｓ１８２２において、中継仮想プリンター管理サービス３２２は、図１２（ｄ）を参照し、指定されたＳＰＩＤに対応するＶＰＩＤを取得し、そのＶＰＩＤ値を印刷サービス用プロキシー３２５に返信する。Ｓ１８２３において、印刷サービス用プロキシー３２５は、取得したＶＰＩＤで識別される中継仮想プリンター３２３のプロセスを特定する。Ｓ１８２４において、印刷サービス用プロキシー３２５は、中継仮想プリンター３２３に印刷データが生成されたことを通知する。Ｓ１８２５において、中継仮想プリンター３２３は、印刷サービス用プロキシー３２５に印刷データの取得を要求する。Ｓ１８２６において、中継仮想プリンター３２３は、印刷サービス用プロキシー３２５から印刷データを取得する。Ｓ１８２７において、中継仮想プリンター３２３は、印刷サービス用プロキシー３２５に印刷設定の取得を要求する。Ｓ１８２８において、中継仮想プリンター３２３は、印刷サービス用プロキシー３２５から印刷設定を取得する。
【０１３０】
Ｓ１８３１において、中継仮想プリンター３２３は、取得した印刷設定に基づいて、取得した印刷データから印刷ジョブ（ＰＤＬデータやラスターイメージ）を生成する。Ｓ１８３２において、中継仮想プリンター３２３は、対応するプリンター１１０の印刷制御部３１０に印刷ジョブが生成されたことを通知する。ここで、対応するプリンター１１０、すなわち、ＶＰＩＤで識別可能な中継仮想プリンター３２３に関連付けられているＲＰＩＤで識別可能な実際のプリンターは、図１２（ａ）のテーブルより取得可能である。なお、本実施例のように、中継仮想プリンター３２３を実現する際に、対応するプリンター１１０と接続関係を結んでおいてもよい。Ｓ１８３３において、印刷制御部３１０は、中継仮想プリンター３２３に印刷ジョブの取得を要求する。Ｓ１８３４において、中継仮想プリンター３２３は印刷制御部３１０に印刷データを転送する。印刷制御部３１０は、中継仮想プリンター３２３から印刷ジョブを取得する。Ｓ１８３５において、印刷制御部３１０は、取得した印刷ジョブを出力するよう印刷ユニットに指示を出す。
【０１３１】
Ｓ１８４０において、印刷制御部３１０は、印刷実行結果のステータスを中継仮想プリンター３２３に送る。Ｓ１８４１において、中継仮想プリンター３２３は、印刷実行結果のステータスを印刷サービス用プロキシー３２５に送る。Ｓ１８４２において、印刷用プロキシー３２５は、印刷実行結果のステータスを印刷サービス３３０に送る。
【０１３２】
以上が、３つ目の印刷処理の説明となる。
【０１３３】
以上に示した通り、Ｗｅｂブラウザー３４０から印刷指示をすると、印刷サービス用プロキシー３２５に印刷通知が通知される。印刷サービス用プロキシー３２５は、指定されたＳＰＩＤに対応するＶＰＩＤが特定し、ＶＰＩＤに対応するＲＰＩＤが特定し、ＲＰＩＤに対応するプリンター１１０に印刷データを転送し、プリンター１１０において印刷データが印刷される。また、印刷サービス用プロキシー３２５が、印刷サービス３３０ごとに、かつユーザーＩＤ毎に存在するため、いずれの使用者のいずれの印刷サービスからの印刷も常時プッシュプリントが可能になる。
【０１３４】
次に、プリンターの追加や削除について説明する。
【０１３５】
図１７のＳ１７０３で、使用者からプリンターの追加や削除の要求があった場合を説明する。使用者は、印刷サービス３３０に既にログインしているため、Ｓ１７０４からＳ１７０５はスキップする。また印刷用プロキシー３２５も既に生成されているため、Ｓ１７０６からＳ１７０８はスキップする。
【０１３６】
Ｓ１７０９において、中継仮想プリンター３２３は、印刷用プロキシー３２５に対して、追加または削除の要求とその対象プリンター１１０の情報を送る。
【０１３７】
Ｓ１７１０において、印刷用プロキシー３２５は、印刷サービス３３０に対して、追加または削除の要求とその対象プリンターの情報を送る。Ｓ１７１１において、印刷サービス３３０は、追加または削除の要求に応じて専用サービスプリンターの追加または削除を行う。
【０１３８】
なお、本実施例において、コンテンツ印刷システム１０００内で通信される情報の形式として、図１３に示すようにＸＭＬ形式で表現したが、その他の形式であってもよい。たとえば、図１４に示すようにＪＳＯＮ形式で表現されていてもよい。図１４（ａ）はケーパビリティーズを示す図、（ｂ）は印刷設定初期値を示す図、（ｃ）は印刷設定を示す図、（ｄ）プリンター登録要求を示す図、（ｅ）はプリンター登録要求の返信を示す図、（ｆ）は通知情報Ａを示す図、（ｇ）は通知情報Ｂを示す図である。
【０１３９】
実施例１の前半部分の説明は以上である。以後の後半部分では、前半部分で説明した基本的実施例を発展させた発展的実施例について説明する。
【０１４０】
前半で説明した基本的実施例は、１．事前登録、２．本登録、３．印刷の３つの処理からなり、使用者は印刷を実行する前に、中継仮想プリンター３２３を印刷サービス３３０に登録していた。本発明の発展的実施例では、印刷を実行する前に、使用者が本登録処理を行う必要がない。
【０１４１】
たとえば、作成した印刷データを印刷すべく出力先のプリンターを選ぶ段階になって初めて、使用者が所望するプリンターを印刷サービスに登録していなかったことに気付いた場合を考える。このとき、使用者は図１１（ｅ）に示す画面を閉じて、図１１（ｂ）に示す画面を表示し、プリンターの追加／削除ボタン１１１３を押下して図１１（ｄ）を表示する。そして、図１１（ｄ）に示す画面で使用者が所望するプリンターを登録した後、再度図１１（ｅ）に示す画面を表示しプリンターを選択し、印刷を実行するという作業をする必要がある。また、管理者が新しいプリンターを追加し、使用者が追加したプリンターを使用したいときは、使用者が基本的実施例と同様に本登録処理をしてから、印刷を実行しなければならない。そこで、以下に説明する発展的実施例によって、使用者が行っていた本登録処理を省略することで、プリンターの登録を忘れたときや、管理者が新しいプリンターを追加したときでも、使用者が所望するプリンターに、容易に印刷出力が可能となることを示す。
【０１４２】
はじめに、発展的実施例の概要を明らかにする。
【０１４３】
本発明の発展的実施例において、使用者が、Ｗｅｂアプリケーション３５０から選択可能な出力先である汎用サービスプリンターを印刷データの出力先とすることで、印刷中継サーバー１２０を中継して、任意のプリンターを使用して印刷データを印刷できる。
【０１４４】
発展機能において、印刷サービス３３０は汎用的な一つの出力先である汎用サービスプリンターを有している。汎用サービスプリンターとは、印刷サービス上でプリンターを識別するプリンターオブジェクトのうち、プリンター１１０を含む複数のプリンターを統合する汎用的なプリンターオブジェクト（汎用プリンターオブジェクト）を指す。汎用サービスプリンターは、使用者がコンテンツ印刷システム１０００を初めて使う際、使用者が印刷サービス３３０に一つだけ登録する。また、プリンターに関連付けられた中継仮想プリンターは、管理者が基本的実施例の事前登録処理と同様の処理を行い、印刷中継サーバー１２０に登録されている。
【０１４５】
使用者が利用可能なプリンターの一覧は、汎用サービスプリンターの印刷設定項目の一つとして表示される。印刷設定項目の一つとしてプリンターを選択することで、使用者は、任意のプリンターに印刷することができる。
【０１４６】
基本的実施例においては、中継仮想プリンター毎に専用サービスプリンターを登録していたため、使用者はプリンター選択画面からプリンター１１０に対応する専用サービスプリンターを選択することで、プリンター１１０に印刷データを送信していた。しかし、発展機能においては事前に専用サービスプリンターを登録していないため、プリンター選択画面に表示される使用者が利用可能なプリンターの一覧には、汎用サービスプリンター（Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔｅｒ）のみ表示される。そこで、プリンター選択画面において汎用サービスプリンターを出力先として選択し、その印刷設定項目の一つであるプリンターの項目１９３４からプリンター１１０を選択することで、プリンター１１０を使用して印刷データを印刷可能となる。
【０１４７】
以上が、発展的実施例の概要である。
【０１４８】
まず、発展的実施例を適用したコンテンツ印刷システム１０００の初期状態について説明する。
【０１４９】
発展的実施例を適用した場合、メイン処理管理サービス３２１のユーザー情報格納部７０３によって管理される情報の初期状態は、図１２（ｂ１）、（ｃ１）の示す状態である。図１２（ｂ１）、（ｃ１）はそれぞれ基本的実施例における図１２（ｂ）、（ｃ）の情報に相当する。図１２（ｂ１）、（ｃ１）が示すように、中継仮想プリンターは、管理者によって、各使用者に対してあらかじめ事前登録処理がされている。
【０１５０】
また、連携処理管理サービス３２４のプリンター情報格納部８０４によって管理される情報の初期状態は、図１２（ｄ１）の示す状態である。図１２（ｄ１）は基本的実施例における図１２（ｄ）の情報に相当する。図１２（ｄ１）が示すように、発展的実施例においては、連携処理管理サービス３２４に「Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔｅｒ」というプリンターネームを持つ汎用サービスプリンターがユーザー毎にあらかじめ登録されている。図１２（ｄ１）のＶＰＩＤ、ケーパビリティーズ、印刷設定規定値については後述する。
【０１５１】
また、印刷サービス３３０のプリンター情報格納部１００２によって管理される情報の初期状態は図１２（ｅ１）の示す状態である。図１２（ｅ１）は、基本的実施例における図１２（ｅ）の情報に相当する。図１２（ｅ１）も（ｄ１）と同様、印刷サービスに「Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔｅｒ」というプリンターネームを持つ汎用サービスプリンターがユーザー毎にあらかじめ登録されていることを示す。
【０１５２】
以上が初期状態についての説明である。
【０１５３】
次に、発展的実施例の印刷処理を、図２０のシーケンス図を用いて説明する。発展的実施例を利用する使用者は、前記初期状態から、中継仮想プリンターの事前登録処理を行わずに、使用者が所望するプリンターに印刷することができる。また、管理者がプリンター１００を追加した際、使用者は追加されたプリンター１１０に対応する中継仮想プリンター３２３を印刷サービス１２０に登録しなくても、プリンター１１０に印刷することができる。
【０１５４】
図２０に示すとおり、発展的実施例の印刷処理の多くは、図１８に示す基本的実施例の印刷処理と共通のステップで構成される。したがって、以下では主として発展的実施例特有の処理やデータ構造について説明を行う。なお、基本的実施例の印刷処理と発展的実施例の印刷処理は、大半が共通のステップで構成されるため、両者で共通のステップに関しては、図２０において図１８と同じステップ番号を示した。
【０１５５】
まず、Ｓ１８０１からＳ１８１７までの処理は基本的実施例と共通である。ただし、初期状態ではＳ１８０４においてＷｅｂブラウザー３４０に表示されるサービスプリンターの一覧画面は、発展機能の初期状態では図１９（ａ）に示す画面である。サービスプリンターの一覧画面は、印刷サービス３３０がＷｅｂブラウザー３４０に提供する。基本的実施例では図１１（ｅ）に示すプリンター選択画面が表示される。しかし、発展的実施例の初期状態では事前登録処理を行っていないため、図１９（ａ）に示すように、プリンター選択画面のプリンターの項目１９１１には、汎用サービスプリンター（Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔｅｒ）しか表示されない。このように、汎用サービスプリンターしか表示されない理由は、発展的実施例の初期状態では、図１２（ｅ１）のテーブルを参照すると、該当するユーザーＩＤには汎用サービスプリンターのプリンターネームしか紐付いていないからである。
【０１５６】
Ｓ１８０５において、Ｗｅｂブラウザー３４０は、使用者がプリンターの項目１９１１から汎用サービスプリンターを選択し、プロパティボタン１９１２を押下すると、選択された汎用サービスプリンターの印刷設定画面を要求する。印刷サービス３３０は、Ｗｅｂブラウザー３４０から汎用サービスプリンターの選択と印刷設定画面の要求を受け付ける。
【０１５７】
Ｓ１８０６において、印刷サービス３３０は、汎用サービスプリンターの印刷設定画面をＷｅｂブラウザー３４０に提供する。Ｗｅｂブラウザー３４０に表示される汎用サービスプリンターの印刷設定画面は、専用サービスプリンターの印刷設定画面とは異なる。汎用サービスプリンターの印刷設定画面を図１９（ｃ）に示す。汎用サービスプリンターの印刷設定画面には、図１１（ｃ）に示す基本的実施例における印刷設定画面と同様の項目に加えて、さらにプリンターという項目１９３４があり、この項目１９３４には、使用者が利用可能なプリンターの一覧が表示される。使用者は、事前登録処理をしなくとも、ここでプリンターを選択し、ＯＫボタン１９３５を押下すると、選択したプリンターに印刷を実行することが出来る。
【０１５８】
図１９（ｃ）のプリンターの項目１９３４では一例として、「Ｐｒｉｎｔｅｒ  １」、「Ｐｒｉｎｔｅｒ  ２」、「Ｐｒｉｎｔｅｒ  ３」といったプリンターが選択可能である。さらに、どのプリンターでもないことを示す（Ｎｏｎｅ）という値も選択可能であり、プリンターの項目１９３４の初期状態での既定値は、（Ｎｏｎｅ）である。（Ｎｏｎｅ）が設定された状態で印刷を行うと、後述する処理によって印刷ジョブがキャンセルされる。発展的実施例では、使用者は中継仮想プリンター３２３の本登録処理をしていないため、使用者が把握していないプリンターに印刷データを送信してしまうことが考えられるため、このような処理を行う。なお、（Ｎｏｎｅ）が選択されたら印刷ジョブをキャンセルする手段以外にも、使用者が把握していないプリンターから出力されるのを防止する手段は他にも考えられる。例えば、（Ｎｏｎｅ）が選択されたらプルプリントによる印刷モードへ切り替えることや、印刷設定としての出力先プリンター情報が必ず使用者によって入力されるように、印刷指示のユーザーインターフェースをウィザード形式にすることなどである。
【０１５９】
汎用サービスプリンターを選択したときの印刷設定画面が専用サービスプリンターを選択したときの印刷設定画面と異なるのは、汎用サービスプリンターに関連付けられたケーパビリティーズの情報が異なるためである。汎用サービスプリンターの情報を図１３（ａ１）、（ｂ１）、（ｃ１）に示す。図１３（ａ１）はＸＭＬ形式のケーパビリティーズであり、図中の各＜Ｉｔｅｍ＞要素がプリンター１１０の能力を示している。なお、図１４（ａ１）、（ｂ１）、（ｃ１）のようにＪｓｏｎ形式で表現されていてもよい。図１４（ａ１）はケーパビリティーズを示す図、（ｂ１）は印刷設定初期値を示す図、（ｃ１）は印刷設定を示す図である。図１３（ａ）に示す基本的実施例のケーパビリティーズと比較すると、図１３（ａ１）に示す発展的実施例のケーパビリティーズでは、＜Ｐｒｉｎｔｅｒ＞の情報が追加されている。＜Ｐｒｉｎｔｅｒ＞の各＜Ｉｔｅｍ＞要素にはプリンターネームの値が設定されており、ＶＰＩＤ属性にはプリンターネームに対応するＶＰＩＤが設定されている。管理者が印刷中継サーバー１２０に新しいプリンターを追加登録すると、図１３（ａ１）の＜Ｐｒｉｎｔｅｒ＞の情報が更新され、新しいプリンターのプリンターネームとＶＰＩＤが追加される。そして、使用者が汎用サービスプリンターの印刷設定画面を要求すると、印刷サービス３３０は、更新された情報をもとに印刷設定画面を送信する。
【０１６０】
図１３（ｂ１）は印刷設定初期値であり、各印刷設定項目においていずれかの＜Ｉｔｅｍ＞が選ばれている。図１３（ｂ１）の例では、片面出力、カラー出力、Ａ４サイズ、出力先のプリンターとして（Ｎｏｎｅ）が設定されていることを意味する。
【０１６１】
使用者が図１９（ｃ１）に示す印刷設定画面で印刷設定を変更すると、その設定値は図１３（ｃ１）に示す状態になる。図１３（ｃ１）の例では、両面出力、モノクロ出力、Ａ４サイズ、そして、出力先のプリンターとして「Ｐｒｉｎｔｅｒ  １」が設定されている状態を意味する。
【０１６２】
Ｓ１８０７において、Ｗｅｂブラウザー３４０は、使用者が図１９（ａ）のＯＫボタン１９１３を押下することで、使用者が印刷設定画面を介して入力した印刷設定を印刷サービス３３０に送信する。印刷サービス３３０は、Ｗｅｂブラウザー３４０から、使用者が入力（指定）した印刷設定を受け付ける。以降、Ｓ１８１１からＳ１８１７まで、基本的実施例と同様の処理を行う。
【０１６３】
Ｓ１８１７が実行されると、Ｓ２００１において印刷サービス用プロキシー３２５は、中継仮想プリンター管理サービス３２２に汎用仮想プリンターのＳＰＩＤに対応するＶＰＩＤの値を問い合わせる。また、ＶＰＩＤ要求とともに、印刷サービスから取得したＳＰＩＤと印刷設定を、中継仮想プリンター管理サービス３２２に送信する。
【０１６４】
Ｓ２００２において、中継仮想プリンター管理サービス３２２はＶＰＩＤを取得する。
【０１６５】
基本的実施例においては、ＶＰＩＤを取得するとき、図１２（ｄ）を参照し、指定されたＳＰＩＤに対応するＶＰＩＤを取得し、そのＶＰＩＤ値を印刷サービス用プロキシー３２５に返信する。しかし、発展的実施例においては、図１２（ｄ１）で示すように、ＳＰＩＤに対応するＶＰＩＤが設定されていないため、図１２（ｄ１）の情報を参照しても、ＳＰＩＤに対応するＶＰＩＤを取得することが出来ない。
【０１６６】
これは、発展的実施例においては、ＶＰＩＤが汎用サービスプリンターのＳＰＩＤと１対１で関連付けられているのではなく、図１３（ａ１）のように、ユーザーが利用可能なプリンターのプリンターネームにＶＰＩＤが関連付けられているからである。
【０１６７】
よって、図１２（ｄ１）を参照した結果、ＳＰＩＤに対応するＶＰＩＤが存在しない場合、中継仮想プリンター管理サービス３２２は、Ｓ２００１において受信した印刷設定の情報からＶＰＩＤを取得する。ＶＰＩＤは、図１３（ｃ１）に示す＜Ｐｒｉｎｔｅｒ＞の＜Ｉｔｅｍ＞要素の情報からＶＰＩＤ属性を参照することにより、取得することができる。なお、＜Ｐｒｉｎｔｅｒ＞の＜Ｉｔｅｍ＞要素の情報から取得したＶＰＩＤ属性の値が空の場合、印刷設定の出力先として（Ｎｏｎｅ）が設定されていることを意味しているので以後の処理を中断し、印刷ジョブをキャンセルする。
【０１６８】
Ｓ２００３において、中継仮想プリンター管理サービス３２２は、Ｓ２００２で取得したＶＰＩＤを印刷サービス用プロキシー３２５に返信する。
【０１６９】
Ｓ１８２４において、印刷サービス用プロキシー３２５は、Ｓ２００３で取得したＶＰＩＤに対応する中継仮想プリンター３２３を特定し、以後のＳ１８２５からＳ１８４２までの処理は基本的実施例と同じである。Ｓ１８２５からＳ１８４２の処理の結果、中継仮想プリンター３２３を経由して印刷ジョブがプリンター１１０に送信され、印刷完了のステータスが印刷サービス３３０に送信される。
【０１７０】
以上が、発展的実施例における印刷処理の説明である。
【０１７１】
本発明の発展的実施例においては、基本的実施例における事前登録が完了していることを前提とした。もし、プリンターの台数や種類が、プリンターの購入やリプレースなどにより変化した場合は、それらの情報の更新は管理者によって行われるものとする。管理者が上記情報を更新するときは、基本的実施例の事前登録処理と同様の処理を行う。事前登録処理をした結果、更新される情報は、具体的には、図１２（ｂ１）、（ｃ１）の情報、図１２（ｄ１）に示す汎用サービスプリンターの能力情報、および図１３（ａ１）に示すケーパビリティーズの＜Ｐｒｉｎｔｅｒ＞の各＜Ｉｔｅｍ＞要素内の情報である。
【０１７２】
ここで、汎用サービスプリンターの能力情報が更新されたとき、印刷設定画面に表示される出力先のリストも更新する必要がある。使用者が出力先のリストを更新する具体的な処理について、図２３を用いて説明する。
【０１７３】
Ｓ２３０１において、使用者が図１９（ｅ）に示す更新ボタン１９５６を押下し、汎用サービスプリンター能力情報の更新要求をする。使用者が更新要求をすると、印刷サービス３３０から印刷サービス用プロキシー３２５に対して、印刷設定項目更新要求とともにプロキシーＩＤと汎用サービスプリンターのＳＰＩＤを送信する。ここで、使用者が印刷設定項目の更新を行っているが、使用者が図１９（ａ）に示すプリンター選択画面や図１９（ｅ）に示す印刷設定画面を開いたときに自動的に更新しても良い。また、印刷サービス３３０が、一定時間毎に印刷設定項目の更新要求をしても良い。
【０１７４】
Ｓ２３０２において、印刷サービス用プロキシー３２５は連携処理管理サービス３２４に対して、汎用サービスプリンターの能力情報の取得要求をする。また、汎用サービスプリンターの能力情報の取得要求とともに、ＳＰＩＤを送信する。
【０１７５】
Ｓ２３０３において、連携処理管理サービス３２４は、受け取ったＳＰＩＤに対応する汎用サービスプリンターを図１２（ｄ１）に示す情報で特定する。さらに、特定した汎用サービスプリンターのケーパビリティーズ（能力情報）は、図１３（ａ１）に示す情報を参照して取得する。
【０１７６】
Ｓ２３０４において、連携処理管理サービス３２４は印刷サービス用プロキシー３２５に対して、汎用サービスプリンターのＳＰＩＤと、取得した汎用サービスプリンターの能力情報を送信する。
【０１７７】
Ｓ２３０５において、印刷サービス用プロキシー３２５は印刷サービス３３０に対して、取得したプリンターの能力情報を印刷サービス３３０に返信する。
【０１７８】
Ｓ２３０６において、印刷サービス３３０は、受け取った能力情報をプリンター情報格納部１００２に格納し、プリンターの能力情報の登録を完了する（能力登録手段）。
【０１７９】
以上が、印刷設定項目を更新する処理の説明である。
【０１８０】
使用者は、印刷サービス３３０に登録されている汎用サービスプリンターの能力情報を更新することで、最新の出力先のリストを印刷設定画面に表示することが出来る。
【０１８１】
［実施例２］
実施例２では、発展的実施例において印刷データをプリンター１１０に出力した後、そのプリンター１１０に対応する中継仮想プリンター３２３を、印刷サービス３３０に専用サービスプリンターとして自動的に登録する処理を行う。
【０１８２】
このような処理を行う理由は、一度印刷データを出力したプリンターは、繰り返し印刷データの出力先として選択される可能性が高いからである。なお、必ずしも自動的に専用サービスプリンターを登録する必要はないため、使用者が登録するか否かを選択する画面を表示させてもいい。また、汎用サービスプリンターの印刷設定において、選択できるようにしてもよい。
【０１８３】
以下、専用サービスプリンターの自動登録処理について図２１のシーケンス図を用いて説明する。
【０１８４】
まず、Ｓ２１０１において、印刷サービス用プロキシー３２５は、印刷データを出力したプリンター１１０のプリンターの能力情報を取得する。取得するプリンターの能力情報は、図１２（ａ）に示す、印刷を実行したプリンター１１０に関連付けられたプリンターネーム、ケーパビリティーズ、印刷設定初期値である。
【０１８５】
次に、Ｓ２１０２において、印刷サービス用プロキシー３２５は、出力したプリンター１１０に対応する専用サービスプリンターの登録要求を、印刷サービス３３０に送信する。このとき印刷サービス用プロキシー３２５は、登録要求とともにプロキシーＩＤ、プリンターネーム、ケーパビリティーズ、印刷設定初期値を送信する。
【０１８６】
なお、Ｓ２１０２で登録要求する専用サービスプリンターは、汎用サービスプリンターと同様に、印刷サービス３３０上でユーザーＩＤ毎に関連付けられて管理される。そこで印刷サービス用プロキシー３２５は登録要求送信の際に、ユーザーアカウント（ＩＤやパスワード）、または認証トークンを送信する。
【０１８７】
次にステップＳ２１０３において、印刷サービス３３０は、印刷サービス３３０に専用サービスプリンターを登録する処理を行い、ＳＰＩＤを発行する（オブジェクト登録手段）。前記登録処理の結果、印刷サービス３３０が管理するプリンターの能力情報は初期状態の図１２（ｅ１）から（ｅ２）へ遷移する。ここでは、例として、「Ｐｒｉｎｔｅｒ  １」に印刷を実行したものとする。図１２（ｅ２）から、汎用サービスプリンターに加えて「Ｐｒｉｎｔｅｒ  １」に対応する専用サービスプリンターが登録されたことがわかる。
【０１８８】
印刷サービス３３０への専用サービスプリンターの登録が完了すると、Ｓ２１０４において、専用サービスプリンター登録応答とともにＳ２１０３において発行されたＳＰＩＤが、印刷サービス３３０から印刷サービス用プロキシー３２５へ送信される。
【０１８９】
次にステップＳ２１０４の専用サービスプリンター作成成功の応答を受けて、ステップＳ１９０５において、印刷サービス用プロキシー３２５はプリンター情報を更新する。プリンター情報の更新処理の結果、印刷サービス用プロキシー３２５が管理するプリンター情報は初期状態の図１２（ｄ１）から（ｄ２）へ遷移する。
【０１９０】
Ｓ２１０１からＳ２１０４の処理を行い、Ｓ２１０３で発行されたＳＰＩＤと印刷を実行したプリンター１１０のＶＰＩＤが関連付けられることで、専用サービスプリンターの自動登録処理は完了する。
【０１９１】
以上が、発展的実施例における専用サービスプリンターの自動登録処理についての説明である。
【０１９２】
次に、自動登録処理の結果として変化したサービスプリンター一覧の画面例を図１９（ｂ）に示す。図１９（ｂ）のリストボックス１１４１には汎用サービスプリンターのプリンターネーム「Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔｅｒ」に加えて自動登録された専用サービスプリンターのプリンターネーム「Ｐｒｉｎｔｅｒ  １」が表示される。専用サービスプリンターが自動登録された結果、印刷設定からではなく、プリンターの選択画面において「Ｐｒｉｎｔｅｒ  １」を出力先として選択することができる。
【０１９３】
このように実施例２においては、専用サービスプリンターを印刷サービスに自動登録することによって、印刷サービス登録されているサービスプリンターは、汎用サービスプリンターと、専用サービスプリンターの両方が混在することになった。
【０１９４】
しかし、実施例１の基本的実施例と発展的実施例から、使用者が専用サービスプリンターと汎用サービスプリンターのどちらを印刷データの出力先にしたかによって、中継仮想プリンター管理サービス３２２の行う処理が変化する。すなわち、専用サービスプリンターが出力先として選択された場合、印刷サービス用プロキシー３２５はＳＰＩＤだけを中継仮想プリンター管理サービス３２２に送信する。それに対し、汎用サービスプリンターが出力先として選択された場合は、印刷サービス用プロキシー３２５はＳＰＩＤと印刷設定の情報を中継仮想プリンター管理サービス３２２に送信する。
【０１９５】
よって、実施例２では、印刷サービス用プロキシー３２５はＳ１８１７の処理の後に、印刷通知とともに受信したＳＰＩＤが専用サービスプリンターのものか汎用サービスプリンターのものか判断を行う。判断の結果、専用サービスプリンターと汎用サービスプリンターでＶＰＩＤを取得するための処理を変更する。
【０１９６】
実施例２における印刷サービス用プロキシー３２５の機能を、図１８、図２０のシーケンス図及び図２２のフローチャートを用いて説明する。
【０１９７】
図２２のＳ２２０１において、印刷サービス３３０から印刷通知とともに取得したＳＰＩＤが、汎用サービスプリンターのものであるか専用サービスプリンターのものであるかを判断する。この結果、取得したＳＰＩＤが汎用サービスプリンターのＳＰＩＤであった場合、Ｓ２２０２において、図２０のＳ２００１からＳ２００３と同様の処理を行う。具体的には、印刷サービス用プロキシー３２５から印刷サービス３３０へ、ＶＰＩＤ要求とともにＳＰＩＤと印刷設定の情報を送信し、印刷サービス３３０が受信した印刷設定の情報からＶＰＩＤを取得し、印刷サービス用プロキシー３２５へＶＰＩＤを応答する。また、取得したＳ２２０１において取得したＳＰＩＤが専用サービスプリンターのＳＰＩＤであった場合、Ｓ２２０３において、図１８のＳ１８２１からＳ１８２３と同様の処理を行う。具体的には、サービス用プロキシー３２５から印刷サービス３３０へ、ＶＰＩＤ要求とともにＳＰＩＤを送信し、ＳＰＩＤに対応するＶＰＩＤを図１２（ｄ）に示す情報から取得し、印刷サービス用プロキシー３２５へＶＰＩＤを応答する。Ｓ２２０２もしくはＳ２２０３の処理が終了すると、図１８及び図２０のＳ１８２４において、取得したＶＰＩＤに対応する中継仮想プリンターの特定を行う。以降は、Ｓ１８２５からＳ１８４２と同様の印刷処理を行う。
【０１９８】
なお、印刷を実行したプリンター１１０に対応する専用サービスプリンターが印刷サービス３３０に登録済みである場合は、上記自動登録処理はスキップするよう構成するものとする。
【０１９９】
また、専用サービスプリンターの自動登録処理を繰り返すと次第に専用サービスプリンターの数が増加していき、出力先のプリンターを選択する際のユーザーの作業性を低下させるおそれがある。そこで、専用サービスプリンターの数が一定数に達したら、印刷回数が少ないプリンターに対応する専用サービスプリンターを自動的に削除することで、作業性の向上を図ることが出来る。また、一定期間使用していないプリンターに対応する専用サービスプリンターを、自動的に削除するという方法もある。
印刷回数の管理は、たとえば図１２（ｄ２）のテーブルに新たな項目を追加することにより容易に実現可能である。
【０２００】
印刷回数の管理について、図１２（ｄ３）を用いて説明する。図１２（ｄ３）は、図１２（ｄ２）のテーブルに印刷回数１２３６という新しい項目を追加したもので、「Ｐｒｉｎｔｅｒ  １」に印刷データを出力し、その専用サービスプリンターが登録されたときの管理情報である。
【０２０１】
図１２（ｄ３）示すように、「Ｐｒｉｎｔｅｒ  １」の印刷回数１２３６は、専用サービスプリンターの登録時に初期化されるためゼロである。また、図１２（ｄ３）の印刷回数１２３６は、「Ｐｒｉｎｔｅｒ  ２」を出力先として印刷が１０回実行されたことを示している。
【０２０２】
「Ｐｒｉｎｔｅｒ  １」を出力先として印刷が実行されると、印刷サービス用プロキシー３２５は「Ｐｒｉｎｔｅｒ  １」の専用サービスプリンターの印刷回数１２３６を１つ増加させる。印刷サービス用プロキシー３２５は、Ｓ１９０５において、新しく専用サービスプリンターを登録するたびに、印刷サービス３３０に登録された専用サービスプリンターの数をカウントする。カウントした結果、印刷サービス３３０に登録された専用サービスプリンターの数が一定数（例えば１０）を超えると、印刷回数１２３６が最も小さいサービスプリンターの削除要求を印刷サービス３３０に送信する。最も小さい印刷回数１２３６が複数存在する場合はその中からランダムに選択する。
【０２０３】
汎用サービスプリンターと専用サービスプリンターの印刷設定の違いについて説明する。前述した通り、汎用サービスプリンターの印刷設定には専用サービスプリンターにはない、出力先のプリンターを選択する項目１９３４がある。それ以外に、専用サービスプリンターと汎用サービスプリンターに共通する項目についても、汎用サービスプリンターの印刷設定には一部制限が設けられている。例えば、用紙サイズとして通常のサービスプリンターではＢ５、Ａ４、Ａ３の３種類が選択可能であるが、汎用サービスプリンターではＢ５、Ａ４の２種類となっておりＡ３が利用できない。これは、汎用的な出力ポイントである汎用サービスプリンターの印刷設定に、実際に出力するプリンター１１０の能力情報を反映させるのが困難であるためである。カラー設定の項目が同じなのは、カラーの設定をモノクロプリンターに指定してもモノクロ設定へ自動変更できるからである。また、両面印刷の項目についても、カラー設定と同様に片面印刷から両面印刷へ自動変更が出来るからである。この例に限らず、汎用サービスプリンターは登録されたすべてのプリンターを抽象化した汎用的な出力ポイントであるため、基本的な設定だけであれば問題ないが、固有の印刷設定の利用には様々な制限を設けざるを得ない。その一方、専用のサービスプリンターの印刷設定であれば、プリンター１１０と１対１で対応するサービスプリンターであるので、対応するプリンター１１０のすべての機能を利用可能である。よって、実施例２において専用サービスプリンターを登録した後は、登録した専用サービスプリンターに対応するプリンター１１０の能力に合わせた設定が可能になる。
【０２０４】
［実施例３］
実施例１の発展機能の構成によってサービスプリンターの数が少なくなったため、印刷サービス３３０がＷｅｂブラウザー３４０に送信するプリンター選択画面上での出力先の特定は容易となった。しかしながら、印刷中継サーバー１２０に登録されている中継仮想プリンター３２３の数が多いと、図１９（ｃ）のプリンターの項目１９３４に表示されるプリンターの数も多くなるため、使用者が所望の出力先のプリンターを特定することが難しい場合がある。
【０２０５】
そこで、印刷設定のＵＩにおけるプリンターの項目１９３４の表示を、ユーザーが出力先の特定することが容易になるように変更しても良い。
【０２０６】
例えば、図１９（ｄ）に示すように、すべてのプリンターを列挙した項目に加え、白黒プリンターのみを列挙した項目、ユーザーの席に近いプリンターを列挙した項目、最近使用したプリンターを列挙した項目などを表示する方法があげられる。例えば、図１９（ｄ）では、出力先のプリンター選択する項目１９３４において「Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ  Ｐｒｉｎｔｅｒｓ」を選択した結果、さらに、最近使用したプリンター「Ｐｒｉｎｔｅｒ−１」「Ｐｒｉｎｔｅｒ−２」が項目１９４５に表示される。
【０２０７】
使用者の指定した条件でプリンターを選別し、プリンターを選択する項目１９３４に、選別されたプリンターのみ列挙した項目１９４５が補助的に表示されることで、使用者は所望の出力先を特定するのが容易となる。
【０２０８】
本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピューター（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。該プログラムコードを実行することにより、システムあるいは装置はプログラムコードの記述通りに制御される。
【図１】
2013239144.tif 000003
【図２】
2013239144.tif 000004
【図３】
2013239144.tif 000005
【図４】
2013239144.tif 000006
【図５】
2013239144.tif 000007
【図６】
2013239144.tif 000008
【図７】
2013239144.tif 000009
【図８】
2013239144.tif 000010
【図９】
2013239144.tif 000011
【図１０】
2013239144.tif 000012
【図１１】
2013239144.tif 000013
【図１２】
2013239144.tif 000014
【図１３】
2013239144.tif 000015
【図１４】
2013239144.tif 000016
【図１５】
2013239144.tif 000017
【図１６】
2013239144.tif 000018
【図１７】
2013239144.tif 000019
【図１８】
2013239144.tif 000020
【図１９】
2013239144.tif 000021
【図２０】
2013239144.tif 000022
【図２１】
2013239144.tif 000023
【図２２】
2013239144.tif 000024
【図２３】
2013239144.tif 000025