(57)【要約】      （修正有）【課題】クラウドサービスにおいて印刷前にプリントサーバは、ファイアウォール越しにプリンタの状態を取得し、プリンタ一覧を提示する処理方法を提供する。【解決手段】クライアント端末から、プリンタ一覧要求を受信する一覧要求受信手段と、前記プリンタに印刷可能か否かを示すステータスの取得要求を送信し、取得する取得手段と、前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得手段にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Ｗｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信手段とを有し、前記取得手段にて前記プリンタのステータスが取得できない場合、前記送信手段は、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信する。【選択図】図１
2012063944.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザを備えるクライアント端末、プリントサーバ、およびプリンタを含む印刷システムであって、
前記プリントサーバは、
前記クライアント端末から、印刷可能なプリンタを示す情報を含むプリンタ一覧の要求を受信する一覧要求受信手段と、
前記プリンタに対し、当該プリンタが印刷可能か否かを示すステータスの取得要求を送信し、取得する取得手段と、
前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得手段にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Ｗｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信手段と
を有し、
前記取得手段にて前記プリンタのステータスが取得できない場合、前記送信手段は、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信し、
前記クライアント端末は、
前記プリントサーバに対し、前記プリンタ一覧の要求を送信する一覧要求送信手段と、
前記プリントサーバから受信した前記プリンタ一覧のデータに含まれる前記コマンドに従い、前記プリンタからステータスを取得するステータス取得手段と、
前記ステータス取得手段により取得したステータスを用いて、前記プリントサーバから受信した前記プリンタ一覧のデータを更新する更新手段と、
前記更新手段により更新された前記プリンタ一覧のデータを用いて、前記プリンタ一覧と、当該プリンタ一覧に含まれる印刷可能なプリンタをユーザが前記Ｗｅｂブラウザにて選択するための項目とを表示する表示手段と
を有することを特徴とする印刷システム。
【請求項２】
前記プリントサーバの前記送信手段は、前記コマンドとして第一コマンド、および第二コマンドを前記プリンタ一覧のデータに含め、
前記第一コマンドは、前記プリントサーバから前記クライアント端末に前記プリンタ一覧のデータが送信された際に前記Ｗｅｂブラウザにて実行され、前記第二コマンドよりも前記プリンタに対するステータスの取得ためのタイムアウト値を短く設定され、
前記第二コマンドは、ユーザが前記プリンタに対してステータスの再取得を行うように指示した際に前記Ｗｅｂブラウザにて実行され、前記第一コマンドよりも前記プリンタに対するステータスの取得のためのタイムアウト値が長く設定される
ことを特徴とする請求項１に記載の印刷システム。
【請求項３】
Ｗｅｂブラウザを備えるクライアント端末、プリントサーバ、およびプリンタを含む印刷システムであって、
前記プリントサーバは、
前記クライアント端末から、印刷可能なプリンタを示す情報を含むプリンタ一覧の要求を受信する一覧要求受信手段と、
前記プリンタに対し、当該プリンタが印刷可能か否かを示すステータスの取得要求を送信し、取得する取得手段と、
前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得手段にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Ｗｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信手段と
を有し、
前記取得手段にて前記プリンタのステータスが取得できない場合、前記送信手段は、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信し、
前記クライアント端末は、
前記プリントサーバに対し、プリンタ一覧の要求を送信する一覧要求送信手段と、
前記プリントサーバから受信した前記プリンタ一覧のデータに含まれる前記コマンドに従い、前記プリンタにステータスの問い合わせを行う問い合わせ手段と、
前記プリントサーバに対し、前記プリンタ一覧の更新を要求する更新要求手段と、
を有し、
前記プリンタは、
前記クライアント端末からの問い合わせに応じて、前記プリントサーバへ当該プリンタのステータスを通知する通知手段を有し、
前記プリントサーバの前記送信手段は、前記プリンタの前記通知手段により通知されたステータスを用いて、前記プリンタ一覧のデータを更新し、前記クライアント端末による更新要求に応じて、更新された前記プリンタ一覧のデータを前記クライアント端末へ送信する
ことを特徴とする印刷システム。
【請求項４】
前記プリントサーバの送信手段は、前記クライアント端末に対して前記プリンタ一覧のデータを送信する際に、当該プリンタ一覧に含まれるプリンタが印刷可能なステータスの場合には、当該プリンタをユーザが前記Ｗｅｂブラウザにて選択するための項目を表示するための記述を含めて送信することを特徴とする請求項１乃至３のいずれか一項に記載の印刷システム。
【請求項５】
前記プリントサーバの送信手段にて送信される前記プリンタ一覧のデータは、ＨＴＭＬ形式で記述され、前記プリンタ一覧のデータに含まれる前記コマンドは、ＪａｖａＳｃｒｉｐｔにて記述されることを特徴とする請求項１乃至４のいずれか一項に記載の印刷システム。
【請求項６】
前記プリントサーバの送信手段は、前記プリンタのステータスが取得できない場合であり、更に、前記プリンタ一覧の要求を送信した前記クライアント端末の前記Ｗｅｂブラウザがクロスドメイン通信機能を有する場合に、前記コマンドを含めることを特徴とする請求項１乃至５のいずれか一項に記載の印刷システム。
【請求項７】
Ｗｅｂブラウザを備えるクライアント端末、プリントサーバ、およびプリンタを含む印刷システムにおけるプリントサーバであって、
前記クライアント端末から、印刷可能なプリンタを示す情報を含むプリンタ一覧の要求を受信する一覧要求受信手段と、
前記プリンタに対し、当該プリンタが印刷可能か否かを示すステータスの取得要求を送信し、取得する取得手段と、
前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得手段にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Ｗｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信手段と
を有し、
前記取得手段にて前記プリンタのステータスが取得できない場合、前記送信手段は、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信することを特徴とするプリントサーバ。
【請求項８】
Ｗｅｂブラウザを備えるクライアント端末、プリントサーバ、およびプリンタを含む印刷システムにおけるクライアント端末であって、
前記プリントサーバに対し、プリンタ一覧の要求を送信する一覧要求送信手段と、
前記プリントサーバから受信した前記プリンタ一覧のデータに含まれるコマンドに従い、前記プリンタからステータスを取得するステータス取得手段と、
前記ステータス取得手段により取得したステータスを用いて、前記プリントサーバから受信した前記プリンタ一覧のデータを更新する更新手段と、
前記更新手段により更新された前記プリンタ一覧のデータを用いて、前記プリンタ一覧と、当該プリンタ一覧に含まれる印刷可能なプリンタをユーザが前記Ｗｅｂブラウザにて選択するための項目とを表示する表示手段と
を有することを特徴とするクライアント端末。
【請求項９】
Ｗｅｂブラウザを備えるクライアント端末、プリントサーバ、およびプリンタを含む印刷システムにおける制御方法であって、
前記プリントサーバにおいて、
一覧要求受信手段が、前記クライアント端末から、印刷可能なプリンタを示す情報を含むプリンタ一覧の要求を受信する一覧要求受信工程と、
取得手段が、前記プリンタに対し、当該プリンタが印刷可能か否かを示すステータスの取得要求を送信し、取得する取得工程と、
送信手段が、前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得工程にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Ｗｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信工程と
を有し、
前記取得工程にて前記プリンタのステータスが取得できない場合、前記送信工程において、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信し、
前記クライアント端末において、
一覧要求送信手段が、前記プリントサーバに対し、前記プリンタ一覧の要求を送信する一覧要求送信工程と、
ステータス取得手段が、前記プリントサーバから受信した前記プリンタ一覧のデータに含まれる前記コマンドに従い、前記プリンタからステータスを取得するステータス取得工程と、
更新手段が、前記ステータス取得工程において取得したステータスを用いて、前記プリントサーバから受信した前記プリンタ一覧のデータを更新する更新工程と、
表示手段が、前記更新工程において更新された前記プリンタ一覧のデータを用いて、前記プリンタ一覧と、当該プリンタ一覧に含まれる印刷可能なプリンタをユーザが前記Ｗｅｂブラウザにて選択するための項目とを表示する表示工程と
を有することを特徴とする制御方法。
【請求項１０】
Ｗｅｂブラウザを備えるクライアント端末、プリントサーバ、およびプリンタを含む印刷システムの制御方法であって、
前記プリントサーバにおいて、
一覧要求受信手段が、前記クライアント端末から、印刷可能なプリンタを示す情報を含むプリンタ一覧の要求を受信する一覧要求受信工程と、
取得手段が、前記プリンタに対し、当該プリンタが印刷可能か否かを示すステータスの取得要求を送信し、取得する取得工程と、
送信手段が、前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得工程にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Ｗｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信工程と
を有し、
前記取得工程にて前記プリンタのステータスが取得できない場合、前記送信工程において、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信し、
前記クライアント端末において、
一覧要求送信手段が、前記プリントサーバに対し、プリンタ一覧の要求を送信する一覧要求送信工程と、
問い合わせ手段が、前記プリントサーバから受信した前記プリンタ一覧のデータに含まれる前記コマンドに従い、前記プリンタにステータスの問い合わせを行う問い合わせ工程と、
更新要求手段が、前記プリントサーバに対し、前記プリンタ一覧の更新を要求する更新要求工程と、
を有し、
前記プリンタにおいて、
通知手段が、前記クライアント端末からの問い合わせに応じて、前記プリントサーバへ当該プリンタのステータスを通知する通知工程を有し、
前記プリントサーバの前記送信工程において、前記プリンタの前記通知工程において通知されたステータスを用いて、前記プリンタ一覧のデータを更新し、前記クライアント端末による更新要求に応じて、更新された前記プリンタ一覧のデータを前記クライアント端末へ送信する
ことを特徴とする制御方法。
【請求項１１】
コンピュータを、
クライアント端末から、印刷可能なプリンタを示す情報を含むプリンタ一覧の要求を受信する一覧要求受信手段、
プリンタに対し、当該プリンタが印刷可能か否かを示すステータスの取得要求を送信し、取得する取得手段、
前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得手段にて取得したプリンタのステータスを用いて、前記クライアント端末のＷｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信手段
して機能させ、
前記取得手段にて前記プリンタのステータスが取得できない場合、前記送信手段は、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信することを特徴とするプログラム。
【請求項１２】
コンピュータを、
プリントサーバに対し、プリンタ一覧の要求を送信する一覧要求送信手段、
前記プリントサーバから受信した前記プリンタ一覧のデータに含まれるコマンドに従い、前記プリンタからステータスを取得するステータス取得手段、
前記ステータス取得手段により取得したステータスを用いて、前記プリントサーバから受信した前記プリンタ一覧のデータを更新する更新手段、
前記更新手段により更新された前記プリンタ一覧のデータを用いて、前記プリンタ一覧と、当該プリンタ一覧に含まれる印刷可能なプリンタをユーザがＷｅｂブラウザにて選択するための項目とを表示する表示手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、特にプルプリントシステムにおいて、プルプリント実行の指示を行うクライアント端末で、プリンタステータスの取得処理を行う印刷システム、制御方法に関する。
【背景技術】
【０００２】
近年、クラウドサービスとしてインターネット上にサービスを公開することによりビジネス展開がされてきている。クラウドサービスとしてサービスを提供することは、大規模なデータセンタ上に各種サーバを配置することで顧客ごとのハードウェアの管理が不要となり、またサーバの負荷に応じてリソースを追加するようなことが容易に行えるといったさまざまなメリットがある。これに伴い、プリントサーバもインターネット上のプリントサービスとして機能を提供することが求められてきている。プリンタが、プリントサーバからインターネット越しに印刷データを取得し、プル型のプリントを行う環境が求められている。
【０００３】
従来、イントラネット内にプリントサーバとプリンタとが存在する印刷システムでは、プリントサーバから直接プリンタに通信を行い、プリンタの状態（印刷可、電源断、紙ジャム、紙ナシ等）を取得する。そして、プリントサーバから直接プリンタに印刷データを送るプッシュ型のプリントが可能であった。このような環境では、ユーザが印刷前にプリンタを選択する場合、プリンタの状態に基づいてプリンタを選択することが可能である。このように印刷前に印刷可能なプリンタの一覧をユーザに示し、不正な印刷を防ぐことを目的とした先行技術として、例えば特許文献１が挙げられる。特許文献１では、プリントサーバがプリンタに対し、印刷可能なプリンタ一覧を送信しプリンタがプリンタ一覧を取得する。そして、プリンタが既に有するプリンタ一覧をプリントサーバから送信された新たな印刷可能なプリンタ一覧で更新する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３３７６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
クラウドサービスとしてインターネット上に展開するプリントサーバでは、ファイアウォール越しに、プリントサーバとプリンタがある環境があり、プリントサーバから直接プリンタの状態を取得できない場合があるという問題がある。プリンタ状態を正しく取得できない場合は、印刷可能なプリンタ一覧を正しく提示することができない。
【０００６】
そこで、本発明では、プリントサーバから直接プリンタに通信できない環境であっても、印刷前にプリンタの状態を取得し、印刷可能なプリンタ一覧提示する処理方法を提供する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の印刷システムは以下の構成を有する。すなわち、Ｗｅｂブラウザを備えるクライアント端末、プリントサーバ、およびプリンタを含む印刷システムであって、前記プリントサーバは、前記クライアント端末から、印刷可能なプリンタを示す情報を含むプリンタ一覧の要求を受信する一覧要求受信手段と、前記プリンタに対し、当該プリンタが印刷可能か否かを示すステータスの取得要求を送信し、取得する取得手段と、前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得手段にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Ｗｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信手段とを有し、前記取得手段にて前記プリンタのステータスが取得できない場合、前記送信手段は、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信し、前記クライアント端末は、前記プリントサーバに対し、前記プリンタ一覧の要求を送信する一覧要求送信手段と、前記プリントサーバから受信した前記プリンタ一覧のデータに含まれる前記コマンドに従い、前記プリンタからステータスを取得するステータス取得手段と、前記ステータス取得手段により取得したステータスを用いて、前記プリントサーバから受信した前記プリンタ一覧のデータを更新する更新手段と、前記更新手段により更新された前記プリンタ一覧のデータを用いて、前記プリンタ一覧と、当該プリンタ一覧に含まれる印刷可能なプリンタをユーザが前記Ｗｅｂブラウザにて選択するための項目とを表示する表示手段とを有する。
【０００８】
さらに別の構成として、本発明の印刷システムは以下の構成を有する。すなわち、Ｗｅｂブラウザを備えるクライアント端末、プリントサーバ、およびプリンタを含む印刷システムであって、前記プリントサーバは、前記クライアント端末から、印刷可能なプリンタを示す情報を含むプリンタ一覧の要求を受信する一覧要求受信手段と、前記プリンタに対し、当該プリンタが印刷可能か否かを示すステータスの取得要求を送信し、取得する取得手段と、前記プリンタ一覧の要求を送信したクライアント端末に対し、前記取得手段にて取得したプリンタのステータスを用いて、前記クライアント端末の前記Ｗｅｂブラウザにて表示するための形式で記述されたプリンタ一覧のデータを送信する送信手段とを有し、前記取得手段にて前記プリンタのステータスが取得できない場合、前記送信手段は、前記プリンタ一覧のデータに、ステータスを取得できないプリンタに対して前記クライアント端末の前記Ｗｅｂブラウザがステータスを問い合わせるためのコマンドを含めて送信し、前記クライアント端末は、前記プリントサーバに対し、プリンタ一覧の要求を送信する一覧要求送信手段と、前記プリントサーバから受信した前記プリンタ一覧のデータに含まれる前記コマンドに従い、前記プリンタにステータスの問い合わせを行う問い合わせ手段と、前記プリントサーバに対し、前記プリンタ一覧の更新を要求する更新要求手段とを有し、前記プリンタは、前記クライアント端末からの問い合わせに応じて、前記プリントサーバへ当該プリンタのステータスを通知する通知手段を有し、前記プリントサーバの前記送信手段は、前記プリンタの前記通知手段により通知されたステータスを用いて、前記プリンタ一覧のデータを更新し、前記クライアント端末による更新要求に応じて、更新された前記プリンタ一覧のデータを前記クライアント端末へ送信する。
【発明の効果】
【０００９】
本発明により、プリントサーバから直接通信できないプリンタに対して、印刷指示を行うＷｅｂブラウザを介してプリンタのステータスを取得することで、印刷前にプリンタの状態を取得し、印刷可能なプリンタ一覧を提示することを可能とする。
【図面の簡単な説明】
【００１０】
【図１】ネットワーク構成を示すブロック図。
【図２】プリントサーバ、クライアント端末、プリンタのハードウェア構成図。
【図３】プリントサーバ、クライアント端末、プリンタのモジュール構成図。
【図４】プリントサーバ、プルプリントアプリケーションのソフトウェア構成図。
【図５】プリントサーバで管理するプリンタ情報の構成図。
【図６】Ｗｅｂブラウザの画面の例を示す図。
【図７】画面データのデータ構成の例を示す図。
【図８】第一実施形態に係るプリントサーバ、クライアント端末、プリンタ間のシーケンス図。
【図９】第一実施形態に係るプリントサーバの動作フローを示す図。
【図１０】第一実施形態に係るＷｅｂブラウザの動作フローを示す図。
【図１１】第一実施形態に係るプルプリントアプリケーションの動作フローを示す図。
【図１２】第二実施形態に係るプリントサーバ、クライアント端末、プリンタ間のシーケンス図。
【図１３】第二実施形態に係るプリントサーバの動作フローを示す図。
【図１４】第二実施形態に係るプルプリントアプリケーションの動作フローを示す図。
【図１５】第三実施形態に係るプリントサーバの動作フローを示す図。
【発明を実施するための形態】
【００１１】
＜第一実施形態＞
以下、本発明を実施するための形態について図面を用いて説明する。図１は、本発明の実施の形態に係る印刷システムの全体構成を示す図である。図１において、クライアント端末１０１〜１０３、プリントサーバ１０４、プリンタ１０５〜１０８は、ネットワーク１０９〜１１１を介して接続されている。図１において、クライアント端末１０１〜１０３、プリンタ１０５〜１０８は、複数台接続されていることを仮定している。ネットワーク１０９〜１１１は、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれかである。またはこれらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワーク１０９〜１１１は、データの送受信が可能であればよい。そして、クライアント端末１０１〜１０３からプリントサーバ１０４、プリンタ１０５〜１０８への通信手段、プリンタ１０５〜１０８からプリントサーバ１０４への通信手段は異なっていてもよい。
【００１２】
クライアント端末１０１〜１０３は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、ＰＤＡ（パーソナルデータアシスタント）等から成るが、プログラムの実行環境が内蔵された携帯電話であってもよい。クライアント端末１０１〜１０３では、Ｗｅｂブラウザ（インターネットブラウザ、ＷＷＷブラウザ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂの利用に供するブラウザ）等のプログラムを実行する環境が内蔵されている。
【００１３】
プリントサーバ１０４は、出力先プリンタ一覧リクエストをクライアント端末１０１〜１０３のＷｅｂブラウザから受けると各プリンタ１０５〜１０８へステータスを取得する。更に、プリントサーバ１０４は、ステータス取得の状況によりクライアント端末１０１〜１０３から各プリンタ１０５〜１０８へステータスを取得するためのコマンドをＷｅｂブラウザに返す。また、プリントサーバ１０４は、印刷する文書を識別する情報と、出力先プリンタを印刷リクエストと共にクライアント端末１０１〜１０３のＷｅｂブラウザから受ける。そして、印刷指示を行うコマンドを含めたレスポンス画面をクライアント端末１０１〜１０３のＷｅｂブラウザに返す。クライアント端末１０１〜１０３のＷｅｂブラウザは、指定のプリンタに対し受け取った印刷コマンドを発行する。プリンタ１０５〜１０８は、クライアント端末１０１〜１０３のＷｅｂブラウザから印刷コマンドを受けると、プリントサーバ１０４から印刷する文書データを取得し、印刷を行う。
【００１４】
また、図１においては、不図示であるが、各プリンタおよび各クライアント端末と、プリントサーバとの間にはファイアウォールが配置されているものとする。ファイアウォールは、装置間の通信を制御する機能を有し、セキュリティ等の観点から必要とする通信のみを通過させるように設定されている。本実施形態においては、このファイアウォールの機能により、プリントサーバとクライアント端末とは直接通信可能であるが、プリントサーバとプリンタとは直接通信が不可／可能の場合がそれぞれ、ネットワークごとに制御されている。なお、同一ネットワーク（イントラネット、ＬＡＮ等）に配置されたクライアント端末とプリンタとは直接通信可能となっている。
【００１５】
なお、プリントサーバとプリンタとの間の通信がファイアウォールを介するとしても、その通信が制限されていなければ、プリントサーバは直接プリンタからステータスを取得することが可能である。
【００１６】
［ハードウェア構成］
図２は、本発明の実施形態に係る印刷システムのクライアント端末１０１〜１０３、プリントサーバ１０４とプリンタ１０５〜１０８のハードウェア構成図である。図２において、まず、プリントサーバおよびクライアント端末が備えるハードウェア構成について述べる。ＣＰＵ２０２は装置全体の制御を行う。ＣＰＵ２０２は、ハードディスク（ＨＤＤ）２０５に格納されているアプリケーションプログラム、ＯＳ等を実行し、ＲＡＭ２０３にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ＲＯＭ２０４は、記憶手段であり、内部には、基本Ｉ／Ｏプログラム等のプログラム、印刷処理の際に使用する印刷データ、プリンタ情報等の各種データを記憶する。ＲＡＭ２０３は、一時記憶手段であり、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。ＨＤＤ（ハードディスク）２０５は外部記憶手段の一つであり、大容量メモリとして機能する。Ｗｅｂブラウザ等のアプリケーションプログラム、プリントサーバプログラム、ＯＳ、関連プログラム等を格納している。
【００１７】
ディスプレイ２０６は表示手段であり、キーボード２０７から入力したコマンドや、プリンタのステータス等を表示したりするものである。外部装置Ｉ／Ｆ２０８は、プリンタ、ＵＳＢ機器、周辺機器を接続するためのＩ／Ｆである。キーボード２０７は指示入力手段である。システムバス２０１は、印刷システムのプリントサーバ内におけるデータの流れを司るものである。ネットワークインタフェースカード（ＮＩＣ）２０９は、ネットワーク１０９〜１１１を介して外部装置とのデータのやり取りを行う。なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤＤなどで変更することも可能である。
【００１８】
次に、図２において、プリンタが備えるハードウェア構成について述べる。また、プリンタ１０５〜１０８のコントローラ２０９は、プリンタの制御系を司る。装置全体の制御を行うＣＰＵ２１０は、システムバス２１８に接続される各種デバイスとのアクセスを統括的に制御する。このＣＰＵ２１０による制御は、ＲＯＭ２１２に記憶された制御プログラム等あるいはディスクコントローラ（ＤＫＣ２１６）を介して接続された外部メモリ２２３に記憶された制御プログラムやリソースデータ（資源情報）等に基づく。
【００１９】
ＣＰＵ２１０の主メモリ、ワークエリア等として機能するＲＡＭ２１１は、増設ポート（不図示）に接続されるオプションＲＡＭ（不図示）によりメモリ容量を拡張することができるように構成されている。ＨＤＤ２１３は大容量メモリとして機能する外部記憶手段であり、プルプリントアプリケーションプログラム及び関係プログラム等を格納している。操作パネル（操作部）２２１には、プルプリントの操作を行うユーザインタフェースやプルプリント切り替えボタンが配置される。また、プリンタ１０５〜１０８の動作モード等の設定やプリンタ１０５〜１０８の動作状況の表示、複写指定等の操作を行うためのボタンおよび液晶パネルやＬＥＤ２１４等の表示部も配置される。
【００２０】
ネットワークインタフェースカード（ＮＩＣ）２１９は、該インタフェース２１９を介して外部装置とのデータのやり取りを行う。なお、図２で示したプリントエンジン２２０は既知の印刷技術を利用するものであり、実施形態として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華方（熱転写）方式等が挙げられる。ラスタコントローラ２１５は、ＰＤＬ言語・ＰＤＦ言語である印刷データを画像データに変換するコントローラである。機器Ｉ／Ｆ２１７は、ＵＳＢ等で接続可能な外部機器との接続Ｉ／Ｆである。
【００２１】
［システム構成］
図３は、本発明の実施形態に係る印刷システムのシステム構成図である。プリントサーバ１０４は、印刷ジョブを管理する印刷ジョブ管理サービス３０６を有する。このサービスは、他サービス、または他プログラムから投入される文書データ等を印刷データとしてストレージ３０７に管理する。印刷データのデータフォーマットとして、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）または、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）等の形式が例として挙げられる。また、ストレージ３０７はプリントサーバ１０４の情報処理装置に内蔵するＨＤＤまたは、外部接続しているＨＤＤ、または、ネットワークストレージ等の記憶装置である。プリンタ管理サービス３０５はプリンタ１０５〜１０８を管理し、各プリンタに対し後述の図５のプリンタ情報を管理する。
【００２２】
Ｗｅｂアプリケーション３０２は、クライアント端末１０１〜１０３にて動作しているＷｅｂブラウザ３０１で表示可能なＷｅｂページを作成し、Ｗｅｂブラウザ３０１からのリクエストに応答して作成したＷｅｂページを返信する。Ｗｅｂサービス３０３は、プリンタ１０５〜１０８のプルプリントアプリケーション３０４からのステータス取得リクエストに対し、自機のステータスを返す。また、印刷ジョブ取得リクエストに対し印刷ジョブを返し、また、印刷処理におけるジョブのステータスを受け取る。プリンタ１０５〜１０８のプルプリントアプリケーション３０４は、Ｗｅｂブラウザ３０１からのステータス取得リクエスト、または、印刷リクエストを受け付ける。
【００２３】
また、印刷ジョブ管理サービス３０６、プリンタ管理サービス３０５、Ｗｅｂアプリケーション３０２、Ｗｅｂサービス３０３はそれぞれ独立したプログラムであり、それぞれ別々の情報処理装置に配置することが可能である。つまり、図３においては、プリントサーバ１０４が上記サービスをすべて備えている構成としているが、各サービスをそれぞれ別の情報処理装置に配置しても良い。もしくは、一つのサービスを複数の画像処理装置にて実現しても良い。そして、それぞれのサービス間で通信を行うことで協働するように実現させても構わない。
【００２４】
［ソフトウェア構成］
図４は、本発明の実施形態に係る印刷システムのソフトウェア構成図である。まず図４（Ａ）において、プリントサーバ１０４におけるソフトウェア構成を述べる。プリントサーバ１０４に位置する印刷ジョブ管理サービス３０６の印刷データ管理部４０１は、印刷データの管理を行う。Ｗｅｂサービス３０３から印刷データの取得要求を受け取ると、ストレージ３０７から指定の印刷データを取得し、Ｗｅｂサービス３０３に渡す。印刷ジョブ情報管理部４０２はストレージ３０７で管理している印刷データの印刷ジョブ情報を管理する。ジョブ情報としては、印刷データを識別するジョブ識別ＩＤや、ドキュメント名、ＰＤＬやＰＤＦ等のデータフォーマットを識別するジョブ種類や、印刷ステータスや、受付日時、最終印刷日時、ユーザ名、ページ数、ページサイズ、印刷データのリンク先等の情報で構成される。また、印刷ステータスには、待機中、転送中、印刷中、正常終了、エラー終了等のステータスがある。
【００２５】
プリンタ管理サービス３０５のプリンタ情報管理部４０３では、後述の図５にて示すプリンタ情報を管理する。Ｗｅｂアプリケーション３０２がＷｅｂブラウザ３０１から印刷リクエストを受け付けると、Ｗｅｂアプリケーション３０２はその旨をプリンタ管理サービス３０５に通知する。プリンタ管理サービス３０５は、Ｗｅｂアプリケーション３０２から通知を受けるとプリンタ情報のプリンタ識別情報５０３を元に、プリンタ１０５〜１０８に対しステータス取得を行う。ステータスを取得するプリンタ１０５〜１０８は、Ｗｅｂブラウザ３０１から印刷リクエストを出したユーザとプリンタ情報のユーザ５０５と一致するプリンタに対してのみ行う。また、プリンタ管理サービス３０５は、取得したステータスをプリンタ情報のステータス５０４に記録し管理する。
【００２６】
Ｗｅｂアプリケーション３０２のセッション管理部４０４は、認証サービス３０８で認証が成立したＷｅｂブラウザ３０１からのリクエストをセッションとして管理する。ページ生成部４０５は、Ｗｅｂブラウザ３０１からのリクエストに対し後述の図６にて示す画面例のようなＷｅｂ画面を作成し、Ｗｅｂブラウザ３０１に返信する。リクエスト受付部４０６は、Ｗｅｂブラウザ３０１からプリンタ一覧取得リクエスト（Ｓ７０１）や印刷リクエスト（不図示）等を受け付ける。
【００２７】
Ｗｅｂサービス３０３のリクエスト受付部４０９は、プルプリントアプリケーション３０４から印刷ジョブ取得要求や、印刷ジョブのステータスを受け付ける。印刷ジョブ取得部４０７は、リクエスト受付部４０９が印刷ジョブ取得要求を受け付けると前述の印刷ジョブ管理サービス３０６に印刷データ取得要求を出す。印刷ステータス受信部４０８は、リクエスト受付部４０９が印刷ジョブのステータスを受け付けると、そのステータスを印刷ジョブ管理サービス３０６に通知する。
【００２８】
次に図４（Ｂ）において、プリンタが有するプルプリントアプリケーション３０４の構成について述べる。プルプリントアプリケーション３０４のＷｅｂサービス受付部４１０は、Ｗｅｂブラウザ３０１からのステータス取得リクエスト（Ｓ７０２）や印刷リクエスト（不図示）等を受ける。Ｗｅｂサービス送信部４１１は、印刷ジョブ取得リクエストまたは印刷ステータスを、Ｗｅｂサービス３０３へ通知する。Ｗｅｂブラウザ３０１から印刷リクエスト等を受けと、印刷ジョブ取得４１２は、Ｗｅｂサービス送信部４１１を介してＷｅｂサービス３０３から印刷ジョブを取得し、印刷ジョブ送信部４１６へ送る。印刷ジョブ送信部４１６は、コントローラ２０９に印刷データを送信する。印刷制御部４１５は、印刷ジョブのステータスをコントローラ２０９から受け取りＷｅｂサービス３０３に通知する。
【００２９】
機器監視部４１４は、プリントサーバ１０４または、Ｗｅｂブラウザ３０１からプリンタ１０５〜１０８のステータス取得リクエストを受け付けるとプリンタのステータスをコントローラ２０９から取得し通知する。プリンタのステータスは、後述の図５にて示すプリンタ情報のステータスで管理する。プルプリントコントローラ４１３は、プルプリントアプリケーション３０４全体の動作管理を行うものであり、各部への動作指示等は、このコントローラ経由で行う。
【００３０】
［プリンタ情報］
図５は、本実施形態に係る印刷システムのプリンタ管理サービス３０５が管理するプリンタ情報の例である。プリンタ情報５０１は、プリントサーバ１０４で管理するプリンタ１０５〜１０８の複数のプリンタ情報を管理する。プリンタ名５０２は、Ｗｅｂブラウザ３０１の図６に示す画面例のプリンタ一覧画面６０１、６０６におけるプリンタ名６０３で表示する情報である。
【００３１】
プリンタ識別情報５０３は、各プリンタをユニークに識別する情報であり、ＩＰアドレスや、ＭＡＣアドレスや、ＵＲＩ等である。ステータス５０４は、プリンタのステータスを示す。ステータスとして、用紙切れ、紙づまり、カバーオープン、トナーなし、排紙ビンフル、ハードディスクフル、その他エラー、ウォーミングアップ中、キャリブレーション中、初期化中、オフライン、スリープ中、印刷中、印刷可能、状態不明等がある。ユーザ５０５は、認証サービス３０８に登録されるユーザ情報であり、Ｗｅｂブラウザ３０１を操作するユーザを識別する情報である。なお、ここで挙げたプリンタ情報５０１としての項目は一例であり、必要に応じてさらに追加しても構わない。例えば、日時情報やプリンタの所在などを管理しても構わない。また、管理すべきプリンタの情報は、予めプリントサーバに登録されているものとする。
【００３２】
［Ｗｅｂ画面例］
図６（Ａ）〜（Ｃ）は、本実施形態に係る印刷システムのＷｅｂアプリケーション３０２が作成し、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１で表示するＷｅｂ画面の一例である。
【００３３】
Ｗｅｂブラウザ３０１からプリントサーバ１０４にプリンタ一覧リクエストを送ると、プリントサーバ１０４は、図６（Ａ）に示すプリンタ一覧画面６０１を作成し、Ｗｅｂブラウザ３０１に送信する。チェックボックス６０２は、ユーザが印刷するプリンタを選択する際に用いられる。このチェックボックス６０２の表示については以下のように制御される。まず、Ｗｅｂブラウザ３０１からプリントサーバ１０４にプリンタ一覧リクエストを送る。そして、プリントサーバ１０４はプリンタ１０５〜１０８のプルプリントアプリケーション３０４にステータス取得を行い、取得したステータスをプリンタ情報５０１のステータス５０４に保持する。このステータスを取得できたプリンタの場合は、ステータス６０４に取得したステータスをプリンタ一覧の情報に含めて記載する。そして、そのステータスが印刷可能ステータスの場合は、印刷プリンタを選択するためのチェックボックス６０２を表示するように制御する。
【００３４】
プリンタ名６０３は、プリンタ情報５０１のプリンタ名５０２を記載する。実行ボタン６０５をユーザから指定されると、Ｗｅｂブラウザ３０１はプリントサーバ１０４に印刷設定リクエストを送る。そして、プリントサーバ１０４は図６（Ｃ）に示す印刷設定画面６０８を作成し、Ｗｅｂブラウザ３０１に返信する。印刷設定画面６０８は印刷属性６０９の設定画面である。印刷ボタン６１０を指定されると、Ｗｅｂブラウザ３０１は、印刷設定画面６０８においてユーザが指定した印刷属性の情報をプリントサーバ１０４に送る。プリントサーバ１０４では、印刷データに対し受け付けた指定の印刷属性情報を付加する。更にＷｅｂブラウザ３０１にチェックボックス６０２で指定されたプリンタに対する印刷コマンドを送るＳｃｒｉｐｔ言語で記述された情報を含む画面（不図示）を送信する。Ｓｃｒｉｐｔ言語にはさまざまなものが存在するが、ここでは一例としてＪａｖａＳｃｒｉｐｔ（登録商標）を用いて説明を行う。
【００３５】
ここで、図７（Ａ）において、ｈｔｍｌ構成６１１は、プリンタ一覧画面のｈｔｍｌ構成の例を示している。本実施形態において、ステータス取得コマンド６１２をプリンタ一覧の情報に含める際の条件は、以下の２つを満たす場合を想定している。
【００３６】
（１）リクエストを送信したＷｅｂブラウザ３０１が、ＪａｖａＳｃｒｉｐｔのクロスドメイン通信機能（または、同等の機能）を備えたＷｅｂブラウザである
（２）プリントサーバ１０４が、プルプリントアプリケーション３０４からステータス取得ができないプリンタがある
上記２つの条件を満たす場合に、ｈｔｍｌ構成６１１のＳｃｒｉｐｔ領域にステータス取得コマンド６１２を記載する。なお、Ｗｅｂ画面例として、ここではＨＴＭＬ形式にて記述しているが、他の形式（その他のＸＭＬ形式など）を用いても構わない。
【００３７】
ステータス取得コマンドは、プリントサーバ１０４がステータスを取得できないプリンタに対して、そのプリンタの分だけコマンドを記載する。ステータス取得コマンドは、Ｗｅｂブラウザ３０１がプリンタ一覧画面６０１表示時に実行される。ステータス取得コマンドの実行により、プリントサーバ１０４で取得できなかったプリンタ１０５〜１０８のプルプリントアプリケーション３０４に対し、Ｗｅｂブラウザ３０１側からステータスの取得を行う。ステータスを取得できたプリンタのステータスを用いて、Ｗｅｂブラウザ３０１は図６（Ｃ）に示すプリンタ一覧画面６０６のようにステータスを更新する。また、そのステータスが印刷可能ステータスの場合は、プリンタ一覧画面６０６のように印刷プリンタ選択チェックボックスを表示する。
【００３８】
なお、プリンタ一覧画面６０６のようにステータスを取得・更新する処理は、ステータス取得コマンドに定義されているものとする。なお、プリントサーバ１０４がＷｅｂブラウザ３０１に画面表示をするためのｈｔｍｌ記述の構成は図７（Ａ）に示すｈｔｍｌ構成６１１に限定されるものではない。また、ＪａｖａＳｃｒｉｐｔにて記述されたステータス取得コマンドをｈｔｍｌ記述に含むための条件も、上述した条件に限定されるものではない。例えば、直接プリントサーバとプリンタとが通信できる場合であっても、前回のステータス取得からの経過時間等により、Ｗｅｂブラウザを介して最新のプリンタのステータスを取得するようにステータス取得コマンドを含めてもよい。また、ネットワークの混雑状況に応じて変更しても構わない。
【００３９】
［動作シーケンス］
図８は、本実施形態に係る印刷システムのプリントサーバ１０４、クライアント端末１０１〜１０３、プリンタ１０５〜１０８の動作シーケンス図である。
【００４０】
Ｓ７０１で、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１は、プリンタ一覧リクエストをプリントサーバ１０４に送る。これにより、クライアント端末の一覧要求送信、およびプリントサーバの一覧要求受信を実現する。Ｓ７０２で、プリントサーバ１０４はプリンタ情報５０１を元にプリンタ１０５〜１０８のプルプリントアプリケーション３０４それぞれに対し、ステータス取得リクエストを行う。プルプリントアプリケーション３０４は、プリントサーバ１０４からのステータス取得リクエストに応じて、機器監視部４１４がコントローラ２０９に問い合わせてプリンタのステータスを取得し、プリントサーバ１０４に返す。このとき、プリントサーバ１０４からのステータス取得リクエストは、ファイアウォールによる制限やネットワークの状況などにより送受信できない場合が考えられる。図８の場合、プリントサーバ１０４は、プリンタＢおよびプリンタＣのステータスを、直接取得できない。ここで、ステータスの取得ができるか否かについては、特定の時間内にステータス取得リクエストに対する応答が各プリンタから受信できたか否かによって判断することができる。ここでの特定の時間とは、予め定義されたタイムアウト値を意味する。
【００４１】
Ｓ７０３でプリントサーバ１０４は、取得できたプリンタに対してはステータス６０４を、取得できないプリンタに対してはステータス取得コマンド６１２を含めたプリンタ一覧画面６０１を作成する。Ｓ７０４で、プリンタ一覧リクエストを送信したＷｅｂブラウザ３０１にプリンタ一覧画面を返信する。Ｓ７０５で、Ｗｅｂブラウザ３０１は、プリンタ一覧画面を表示すると同時に、ステータス取得コマンドの実行対象であるプリンタに対しステータス取得リクエストを送る。Ｓ７０６で、Ｗｅｂブラウザ３０１は、プリンタからステータスを受け取るとプリンタ一覧画面のステータスを更新する。ステータスを更新した画面の例が図６（Ｂ）に示すプリンタ一覧画面６０６となる。
【００４２】
［返信動作フロー］
図９は、本実施形態に係る印刷システムのプリントサーバ１０４が、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１からのプリンタ一覧リクエストを受けて、Ｗｅｂブラウザ３０１に返信するまでの動作フローである。なお、本実施形態において、本処理フローは、プリントサーバ１０４のＣＰＵ２０２が記憶部であるＲＯＭ２０４等に格納されたプログラムをＲＡＭ２０３に読み出して、実行することで実現する。
【００４３】
Ｓ８０１では、プリントサーバ１０４は、Ｓ８０２からＳ８０７の処理を、プリンタ一覧の取得をリクエストしたユーザがプリントサーバ１０４に登録しているプリント台数の処理を繰り返す。ここでは、プリンタ１０５〜１０８がプリントサーバ１０４に登録されているものとする。Ｓ８０２では、プリントサーバ１０４は、プリンタ１０５〜１０８のステータスに対する取得要求を行う。Ｓ８０４で、プリンタ１０５〜１０８と通信ができ、ステータスが取得できた場合（Ｓ８０３にてＮＯ）は、プリントサーバ１０４は、取得したステータスをプリンタ情報５０１に保持する。なお、本実施形態において、プリンタとの通信可否は、プリンタに対してステータス取得要求を送信し、所定の時間内に応答がない場合に、通信不可と判定するものとする。プリンタとの通信ができない場合は（Ｓ８０３にてＹＥＳ）、Ｓ８０５で、プリントサーバ１０４はリクエストしたＷｅｂブラウザ３０１がＪａｖａＳｃｒｉｐｔのクロスドメイン通信機能（または、それ同等の機能）を備えたＷｅｂブラウザか否かを判断する。クロスドメイン通信機能を備えていないＷｅｂブラウザの場合は（Ｓ８０５にてＮＯ）、Ｓ８０６でプリントサーバ１０４は、ステータス５０４を状態不明のステータスにする。クロスドメイン通信機能を備えているＷｅｂブラウザの場合は（Ｓ８０５にてＹＥＳ）、Ｓ８０７でプリントサーバ１０４は、ステータス取得コマンド６１２を生成する。
【００４４】
Ｓ８０８で、プリントサーバ１０４は、プリンタ情報５０１のプリンタ名５０２とステータス５０４をプリンタ管理サービス３０５から取得する。Ｓ８０９で、プリントサーバ１０４は、プリンタのステータス５０４が印刷可能か否かを判定する。プリンタのステータスが印刷可能の場合は（Ｓ８０９にてＹＥＳ）、Ｓ８１０でチェックボックス６０２を表示し、Ｓ８１１へ進む。プリンタのステータスが印刷不可の場合は（Ｓ８０９にてＮＯ）、Ｓ８１１に進む。そして、Ｓ８１１にて、プリントサーバ１０４は、Ｓ８０７で作成したステータス取得コマンド６１２含めたプリンタ一覧画面６０１を作成する。以上により、本処理フローを終了する。
【００４５】
［表示処理フロー］
図１０は、本実施形態に係る印刷システムのクライアント端末１０１〜１０３のＷｅｂブラウザ３０１がプリンタ一覧画面６０１を表示する時の動作フローを示す。なお、本実施形態において、本処理フローは、クライアント端末のＣＰＵ２０２が記憶部であるＲＯＭ２０４等に格納されたプログラムをＲＡＭ２０３に読み出して、実行することで実現する。
【００４６】
Ｓ９０１で、Ｗｅｂブラウザ３０１は、プリンタ一覧画面６０１を表示する。Ｓ９０２で、プリントサーバ１０４から受信したプリンタ一覧画面６０１に表示されるプリンタで、プリンタ一覧画面６０１の情報の中にステータス取得コマンド６１２が含まれるプリンタがあるか否かを判定する。ステータス取得コマンドが含まれない場合は（Ｓ９０２にてＮＯ）、本処理フローを終了する。ステータス取得コマンドが含まれる場合は（Ｓ９０２にてＹＥＳ）、Ｓ９０３で、Ｓ９０４〜Ｓ９０８の処理を、ステータス取得コマンド６１２が含まれるプリンタ分だけ処理を繰り返す。Ｓ９０４で、Ｗｅｂブラウザ３０１は、ステータス取得コマンド６１２を取得対象となるプリンタへ送信する。Ｓ９０５で、Ｗｅｂブラウザ３０１は、ステータス取得コマンド６１２の対象となるプリンタからステータスが取得できたか否かを判定する。ステータスが取得できない場合は（Ｓ９０５にてＮＯ）、次の取得対象のプリンタへの処理へ移る。ステータスが取得できた場合は（Ｓ９０５にてＹＥＳ）、Ｗｅｂブラウザ３０１は、Ｓ９０６でプリンタ一覧画面６０１のステータス６０４を更新する。次に、Ｗｅｂブラウザ３０１は、Ｓ９０７でステータスが印刷可能ステータスか否かを判定する。ステータスが印刷可能でない場合は（Ｓ９０７にてＮＯ）、次の取得対象のプリンタへの処理へ移る。ステータスが印刷可能の場合は（Ｓ９０７にてＹＥＳ）、Ｗｅｂブラウザ３０１は、Ｓ９０８でチェックボックス６０２を表示する。そして、次の取得対象のプリンタへの処理へ移る。すべてのステータス取得対象のプリンタに対して、処理が完了したら、本処理フローを終了する。
【００４７】
［ステータス取得処理フロー］
図１１は、本実施形態に係る印刷システムのプリンタ１０５〜１０８のプルプリントアプリケーション３０４が、Ｗｅｂブラウザ３０１からのステータス取得コマンド６１２を受けた時の動作フローを示す。なお、本実施形態において、本処理フローは、クライアント端末のＣＰＵ２０２が記憶部であるＲＯＭ２０４等に格納されたプログラムをＲＡＭ２０３に読み出して、実行することで実現する。
【００４８】
Ｓ１００１で、プルプリントアプリケーション３０４はＷｅｂブラウザ３０１からリクエストを受け付け、そのリクエストがステータス取得コマンド６１２であるか否かを判定する。Ｗｅｂブラウザ３０１からのステータス取得コマンド６１２である場合（Ｓ１００１にてＹＥＳ）、Ｓ１００２にて、機器監視部４１４は、プリンタ１０５〜１０８の機器のステータスをコントローラ２０９から取得する。そして、その取得したステータスをＷｅｂブラウザ３０１に通知する。そして、本処理を終了する。
【００４９】
Ｗｅｂブラウザ３０１からのステータス取得コマンド６１２でない場合（Ｓ１００１にてＮＯ）、Ｓ１００３で、プルプリントアプリケーション３０４はプリントサーバ１０４からのステータス取得リクエストか否かを判定する。プリントサーバ１０４からのステータス取得コマンド６１２でない場合（Ｓ１００３にてＮＯ）、本処理を終了する。プリントサーバ１０４からのステータス取得コマンド６１２である場合（Ｓ１００３にてＹＥＳ）、Ｓ１００４で機器監視部４１４が、プリンタ１０５〜１０８の機器のステータスをコントローラ２０９から取得しプリントサーバ１０４に通知する。以上により本処理フローを終了する。
【００５０】
上記処理により、プルプリントアプリケーション３０４は、Ｗｅｂブラウザ３０１からステータス取得コマンド６１２を受け付けた場合は、ステータスをＷｅｂブラウザ３０１へ返す。また、プリントサーバ１０４からステータス取得コマンド６１２を受け付けた場合は、ステータスをプリントサーバ１０４へ返す。いずれからのリクエストでもなければ、応答は行わない。
【００５１】
以上により、プリントサーバから直接通信できないプリンタに対しても、印刷指示を行うＷｅｂブラウザを介してプリンタのステータスを取得することで、印刷前にプリンタの状態を取得し、印刷可能なプリンタ一覧を提示することを可能とする。
【００５２】
＜第二実施形態＞
第二実施形態として、Ｗｅｂブラウザ３０１からのステータス取得コマンド６１２を受けたプルプリントアプリケーション３０４が、Ｗｅｂブラウザ３０１にステータスを返すのではなく、プリントサーバ１０４にステータスを返す実施形態について示す。本実施形態では、プリントサーバ１０４にステータスを返すことで、プリンタ１０５〜１０８からプリントサーバ１０４への通信確立の確認も可能になる。
【００５３】
［動作シーケンス］
図１２は、本実施形態に係る印刷システムのプリントサーバ１０４、クライアント端末１０１〜１０３、プリンタ１０５〜１０８の動作シーケンス図である。第一実施形態にて述べた図８に対応する。
【００５４】
Ｓ１１０１で、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１は、プリンタ一覧リクエストをプリントサーバ１０４に送る。Ｓ１１０２で、プリントサーバ１０４は、プリンタ情報５０１を元にプリンタ１０５〜１０８のプルプリントアプリケーション３０４それぞれに対し、ステータス取得リクエストを送信する。各プリンタのプルプリントアプリケーション３０４は、プリントサーバ１０４からのステータス取得リクエストに応じて、機器監視部４１４がコントローラ２０９に問い合わせてプリンタのステータスを取得し、プリントサーバ１０４に返す。このとき、プリントサーバ１０４からのステータス取得リクエストは、ファイアウォールによる制限やネットワークの状況などにより送受信できない場合が考えられる。図１２の場合は、プリンタＢおよびプリンタＣがプリントサーバ１０４から直接ステータスを取得できない。ここで、ステータスの取得ができるか否かについては、特定の時間内にステータス取得リクエストに対する応答が各プリンタから受信できたか否かによって判断することができる。
【００５５】
Ｓ１１０３で、プリントサーバ１０４は、取得できたプリンタに対してはステータス６０４を、取得できないプリンタに対してはステータス取得コマンド６１２を含めたプリンタ一覧画面６０１を作成する。Ｓ１１０４で、プリンタ一覧リクエストを送信したＷｅｂブラウザ３０１にプリンタ一覧画面を返信する。Ｓ１１０５で、Ｗｅｂブラウザ３０１はプリンタ一覧画面を表示すると同時に、ステータス取得コマンド６１２の実行対象であるプリンタに対しステータス取得リクエストを送る。ステータス取得コマンド６１２の実行対象であるプリンタのプルプリントアプリケーション３０４は、リクエストに応じて、機器監視部４１４がコントローラ２０９に問い合わせてプリンタのステータスを取得し、プリントサーバ１０４に返す。プリントサーバ１０４は、プリンタ情報５０１のステータス５０４を取得した情報で更新する。Ｓ１１０６で、Ｗｅｂブラウザ３０１は、プリンタ一覧更新リクエストをプリントサーバ１０４に送る。これにより、クライアント端末の更新要求を実現する。Ｓ１１０７でプリントサーバ１０４は、プリンタ情報５０１を元にプリンタ一覧画面６０１を作成する。Ｓ１１０８で、Ｗｅｂブラウザ３０１に返信する。
【００５６】
［表示画面例］
図６（Ｄ）は、本実施形態に係る印刷システムのＷｅｂアプリケーション３０２が作成し、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１で表示するＷｅｂ画面の一例である。ここでは、図６（Ａ）で示した画面に対し差異があるところを説明する。
【００５７】
更新ボタン１２０１は、指定されるとＷｅｂブラウザ３０１が、Ｓ１１０６のプリンタ一覧更新リクエストをプリントサーバ１０４のＷｅｂアプリケーション３０２に送信する。Ｗｅｂアプリケーション３０２では、最新のプリンタ情報５０１を取得し、プリンタ一覧画面を作成し、画面をＷｅｂブラウザに３０１に返送する。
【００５８】
なお、Ｓ１１０６において、クライアント端末のＷｅｂブラウザ３０１がプリントサーバに対してプリンタ一覧更新リクエストを送信するタイミングは、予め定義されていてもよい。例えば、Ｓ１１０５にて、Ｗｅｂブラウザ３０１が各プリンタに対しステータス取得リクエストを送信した後、所定の時間が経過した場合にプリントサーバに対してプリンタ一覧更新リクエストを送信するようにしてもよい。そして、得られた情報に基づいて、例えば画面の自動更新を行うようにしても構わない。
【００５９】
［返信処理フロー］
図１３は、本実施形態に係る印刷システムのプリントサーバ１０４が、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１からのプリンタ一覧リクエストを受けて、Ｗｅｂブラウザ３０１に返信するまでの動作フローである。なお、本実施形態において、本処理フローは、プリントサーバ１０４のＣＰＵ２０２が記憶部であるＲＯＭ２０４等に格納されたプログラムをＲＡＭ２０３に読み出して、実行することで実現する。
【００６０】
Ｓ１３０１で、プリントサーバ１０４は、受信したリクエストがプリンタ一覧取得リクエストか否かを判定する。プリンタ一覧取得リクエストの場合は（Ｓ１３０１にてＹＥＳ）、Ｓ１３０２で、第一実施形態にて述べた図９の返信処理フローを行う。プリンタ一覧取得リクエストでない場合は（Ｓ１３０１にてＮＯ）、Ｓ１３０３で、プリントサーバ１０４は、受信したリクエストがプリンタ一覧更新リクエストか否かの判定を行う。プリンタ一覧更新リクエストの場合（Ｓ１３０３にてＹＥＳ）、Ｓ１３０４で、プリントサーバ１０４は、プリンタ情報５０１のプリンタ名５０２とステータス５０４をプリンタ管理サービス３０５から取得する。ここで、プリンタ一覧更新リクエストは、Ｗｅｂブラウザ３０１から図６（Ｄ）に示す更新ボタン１２０１を指定することにより発行される。
【００６１】
Ｓ１３０５で、プリントサーバ１０４は、ステータス５０４が印刷可能か否かを判定する。ステータス５０４が印刷可能である場合は、Ｓ１３０６でチェックボックス６０２を表示してプリンタ一覧画面を生成するように制御する。そして、プリントサーバ１０４は、プリンタ一覧画面６０１を作成する。
【００６２】
受信したリクエストがプリンタ一覧更新リクエストでない場合（Ｓ１３０３にてＮＯ）、Ｓ１３０８で、プリントサーバ１０４は、プルプリントアプリケーション３０４からのステータス通知リクエストか否かを判定する。ステータス通知リクエストである場合は（Ｓ１３０８にてＹＥＳ）、Ｓ１３０９で、プリントサーバ１０４は、取得したステータスでプリンタ情報５０１のステータス５０４を更新する。その後、本処理フローを終了する。受信したリクエストがステータス通知リクエストでない場合は（Ｓ１３０８にてＮＯ）、本処理フローを終了する。
【００６３】
［ステータス取得処理フロー］
図１４は、本実施形態に係る印刷システムのプリンタ１０５〜１０８のプルプリントアプリケーション３０４が、Ｗｅｂブラウザ３０１からのステータス取得コマンド６１２を受けた時の動作フローを示す。なお、本実施形態において、本処理フローは、プリンタのＣＰＵ２１０が記憶部であるＲＯＭ２１２等に格納されたプログラムをＲＡＭ２１１に読み出して、実行することで実現する。
【００６４】
Ｓ１４０１で、プルプリントアプリケーション３０４は、Ｗｅｂブラウザ３０１からのステータス取得リクエストであるステータス取得コマンド６１２、または、プリントサーバ１０４からのステータス取得リクエストを受け付けたか否かを判定する。ステータス取得リクエストを受け付けた場合は（Ｓ１４０１にてＹＥＳ）、Ｓ１４０２にて、機器監視部４１４が、プリンタ１０５〜１０８の機器のステータスをコントローラ２０９から取得しプリントサーバ１０４に通知する。そして、本処理を終了する。ステータス取得リクエストを受け付けていない場合は（Ｓ１４０１にてＮＯ）、本処理を終了する。
【００６５】
以上、本実施形態により、プリントサーバから直接通信できないプリンタに対しても、印刷指示を行うＷｅｂブラウザを介してプリンタのステータスを取得することで、印刷前にプリンタの状態を取得し、印刷可能なプリンタ一覧提示することを可能とする。また、プリンタ側からプリントサーバへの通信確立の確認も可能になる。また、プリントサーバは、プリンタのステータスをリクエストのタイミングでプリンタから直接取得できるため、プリントサーバが管理しているステータスとプリンタのステータスとの整合性も維持できる。
【００６６】
＜第三実施形態＞
第三実施形態として、Ｗｅｂブラウザ３０１がプリンタ一覧画面６０１を表示すると同時にステータス取得コマンド６１２をプリンタのプルプリントアプリケーション３０４に送り、ステータスを取得する手段を設ける。更にプリンタ一覧画面６０１からユーザ指定のプリンタに対し、追加的にステータスを取得する手段を設ける。本実施形態により、ステータス取得に時間がかかるプリンタに対しては、プリンタ一覧画面６０１の表示後にユーザの操作によりステータスを取得できる。したがって、本実施形態では時間のかかるステータス取得の完了を待つ必要はなく、所定の時間内に取得できた情報を用いた初めのプリンタ一覧画面６０１の表示を行うことで、ユーザへの一覧要求に対する初期レスポンスを早くすることが可能となる。
【００６７】
［画面例］
図６（Ｅ）は、本実施形態に係る印刷システムのＷｅｂアプリケーション３０２が作成し、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１で表示するＷｅｂ画面の一例である。図６（Ａ）で示した画面に対し差異があるところを説明する。
【００６８】
ステータス取得チェックボックス１５０２は、Ｗｅｂブラウザ３０１からプリンタ一覧画面６０１の表示後にステータスを取得するプリンタ１０５〜１０８を指定するチェックボックスである。ステータス取得ボタン１５０１は、ステータス取得チェックボックス１５０２で指定したプリンタ１０５〜１０８に対しステータスを取得する動作をＷｅｂブラウザ３０１に指示するためのボタンである。
【００６９】
また、図７（Ｂ）に本実施形態を実現するためのｈｔｍｌ構成の例を示す。これは、ユーザのステータス取得ボタン１５０１の押下によりステータス取得を実行するために、ｈｔｍｌ構成６１１のステータス取得コマンドの例である。図７（Ｂ）のｈｔｍｌ構成６１１において、図６（Ｅ）のステータス取得ボタン１５０１を実現するために、ステータス取得コマンド１５０３を記述する。ここで、ステータス取得コマンド６１２において定義されている実行タイムアウトよりも、ステータス取得コマンド１５０３は長くする。これにより、初めのプリンタ一覧画面６０１の表示でのステータス取得コマンド６１２は処理を早く終わらせて画面の表示を優先する。ステータス取得に時間がかかるプリンタはユーザの指示に基づいて、ステータス取得コマンド１５０３の実行によりステータスを再取得する。
【００７０】
なお、ここでは便宜上、ステータス取得コマンド６１２を第一コマンド、ステータス取得コマンド１５０３を第二コマンドとも呼ぶ。
【００７１】
［返信処理フロー］
図１５は、本実施形態に係る印刷システムのプリントサーバ１０４が、クライアント端末１０１〜１０３のＷｅｂブラウザ３０１からのプリンタ一覧リクエストを受けて、Ｗｅｂブラウザ３０１に返信するまでの動作フローである。なお、本実施形態において、本処理フローは、プリントサーバ１０４のＣＰＵ２０２が記憶部であるＲＯＭ２０４等に格納されたプログラムをＲＡＭ２０３に読み出して、実行することで実現する。また、本処理フローは、第一実施形態にて述べた図９の処理に対応する。
【００７２】
Ｓ１６０１〜Ｓ１６０６、Ｓ１６０９〜Ｓ１６１２は、図９のＳ８０１〜Ｓ８０６、Ｓ８０８〜Ｓ８１１と同様のため説明を省略する。Ｓ１６０７で、プリントサーバ１０４は、ステータス取得チェックボックス１５０２を表示する記述、および、ステータス取得コマンド１５０３に関する記述をｈｔｍｌ構成６１１に記載する。このとき、プリントサーバ１０４は、ステータス取得コマンド１５０３に設定されるタイムアウト値を長めに設定する。Ｓ１６０８で、プリントサーバ１０４は、ステータス取得コマンド６１２をｈｔｍｌ構成６１１のＳｃｒｉｐｔ領域に記載する。Ｓ１６０７で設定したタイムアウト値より短めに設定する。ここでのタイムアウト値の長短は、相対的なものであり、特に限定するものではない。しかし、初期の一覧画面を迅速に表示するために、Ｓ１６０８にて設定する値は、ユーザの利用効率を妨げない範囲で設定することが望ましい。
【００７３】
以上、第一実施形態の効果に加え、ユーザに対してより迅速な一覧画面の提示、及び、必要に応じた更新画面を提供することが可能となる。
【００７４】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012063944.tif 000003
【図２】
2012063944.tif 000004
【図３】
2012063944.tif 000005
【図４】
2012063944.tif 000006
【図５】
2012063944.tif 000007
【図６】
2012063944.tif 000008
【図７】
2012063944.tif 000009
【図８】
2012063944.tif 000010
【図９】
2012063944.tif 000011
【図１０】
2012063944.tif 000012
【図１１】
2012063944.tif 000013
【図１２】
2012063944.tif 000014
【図１３】
2012063944.tif 000015
【図１４】
2012063944.tif 000016
【図１５】
2012063944.tif 000017