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