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