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