(57)【要約】【課題】プリントサーバがクラウド上にある場合、プリンタが印刷ジョブの状態をプリントサーバに通知できない状態になると、プリントサーバ上で印刷ジョブの管理ができなくなってしまう。【解決手段】情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムにおける印刷サーバであって、前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理手段と、前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信手段とを有し、前記要求受信手段は、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、前記管理手段は、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新する。【選択図】  図１
2012048582.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムであって、
前記印刷サーバは、
前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理手段と、
前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信手段と
を有し、
前記要求受信手段は、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、
前記管理手段は、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新し、
前記情報処理装置は、
前記印刷サーバへ前記印刷要求を送信する送信手段と、
前記送信手段が送信した前記印刷要求に対する前記印刷サーバからの応答に含まれる命令に従って、前記画像形成装置への印刷ジョブの状態取得要求を前記画像形成装置へ送信する要求手段と、
前記要求手段にて送信した当該印刷ジョブの状態取得要求の応答として前記画像形成装置から返された当該印刷ジョブの状態を、前記印刷サーバへ通知する通知手段と
を有することを特徴とする印刷ジョブ管理システム。
【請求項２】
前記情報処理装置の通知手段は、前記画像形成装置から返された前記印刷ジョブの状態に応じて、当該印刷ジョブの状態を前記印刷サーバへ通知することを特徴とする請求項１に記載の印刷ジョブ管理システム。
【請求項３】
前記印刷サーバの管理手段は、印刷ジョブに対する処理が開始されてから一定時間が経過しているか否かを判断し、
前記一定時間が経過している場合に、前記印刷サーバの要求受信手段は前記命令を前記応答に含めて前記情報処理装置に返すことを特徴とする請求項１または２に記載の印刷ジョブ管理システム。
【請求項４】
前記印刷サーバの管理手段は、印刷ジョブに対する処理の終了予測時刻を経過しているか否かを判断し、
前記終了予測時刻が経過している場合に、前記印刷サーバの要求受信手段は前記命令を前記応答に含めて前記情報処理装置に返すことを特徴とする請求項１または２に記載の印刷ジョブ管理システム。
【請求項５】
前記印刷サーバの管理手段は、前記情報処理装置から印刷ジョブの状態を受信した時刻から一定時間が経過しているか否かを判断し、
前記一定時間が経過している場合に、前記印刷サーバの要求受信手段は前記命令を前記応答に含めて前記情報処理装置に返すことを特徴とする請求項１または２に記載の印刷ジョブ管理システム。
【請求項６】
情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムにおける印刷サーバであって、
前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理手段と、
前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信手段と
を有し、
前記要求受信手段は、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、
前記管理手段は、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新することを特徴とする印刷サーバ。
【請求項７】
情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムにおける情報処理装置であって、
前記印刷サーバへ印刷要求を送信する送信手段と、
前記送信手段が送信した前記印刷要求に対する前記印刷サーバからの応答に含まれる命令に従って、前記画像形成装置への印刷ジョブの状態取得要求を前記画像形成装置へ送信する要求手段と
前記要求手段にて送信した当該印刷ジョブの状態取得要求の応答として前記画像形成装置から返された当該印刷ジョブの状態を、前記印刷サーバへ通知する通知手段と
を有することを特徴とする情報処理装置。
【請求項８】
情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムにおける制御方法であって、
前記印刷サーバにおいて、
管理手段が、前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理工程と、
要求受信手段が、前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信工程と
を有し、
前記要求受信工程において、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、
前記管理工程において、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新し、
前記情報処理装置において、
送信手段が、前記印刷サーバへ前記印刷要求を送信する送信工程と、
前記送信工程において送信した前記印刷要求に対する前記印刷サーバからの応答に含まれる命令に従って、前記画像形成装置への印刷ジョブの状態取得要求を前記画像形成装置へ送信する要求工程と、
通知手段が、前記要求工程において送信した当該印刷ジョブの状態取得要求の応答として前記画像形成装置から返された当該印刷ジョブの状態を、前記印刷サーバへ通知する通知工程と
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置で処理する印刷ジョブを管理する印刷ジョブ管理システムに関する。特に、印刷ジョブ管理システム内における、印刷ジョブの状態通知に関する方法に関する。
【背景技術】
【０００２】
従来、特に大規模環境における印刷の際には、ユーザが操作するパーソナルコンピュータ（ＰＣ）から印刷ジョブを直接プリンタに送信するのではなく、一度プリントサーバで印刷ジョブをスプールしてからプリンタに送信する構成が一般的である。そのようなプリントサーバ経由での印刷の場合、プリントサーバはプリンタに対して送信済みの印刷ジョブの状況を定期的に問い合わせることにより、印刷ジョブの管理を行っている。
【０００３】
また近年では、インターネットで接続された大規模なデータセンター上のコンピュータリソースを必要な分だけ利用することを可能にしたクラウドコンピューティング（以下、クラウド）と呼ばれるサービスが出てきている。このサービスを利用することにより、プリントサーバをクラウド上に配置することも可能となっている。クラウドを使用するとハードウェアの管理が不要となり、またサーバの負荷に応じてリソースを追加するようなことが容易に行えるといったさまざまなメリットがある。プリントサーバをクラウド上に配置する場合、プリンタとプリントサーバの間には通常セキュリティの観点などからファイアウォールが設置されており、プリントサーバ側からプリンタ側に直接印刷ジョブを送信することはできない。そのため、印刷ジョブの流れとしては、プリントサーバがプリンタに印刷ジョブを送信するＰＵＳＨ型ではなく、プリンタからプリントサーバに印刷ジョブを取得しにいくＰＵＬＬ型になる。
【０００４】
一方、Ｗｅｂ技術の一つとして従来からクライアントサイドスクリプト技術がある。クライアントサイドスクリプトとは特定のスクリプト言語を指すものではないが、一般にＪａｖａＳｃｒｉｐｔ（登録商標）が使用される。ＪａｖａＳｃｒｉｐｔは、ＷｅｂブラウザがＷｅｂサーバにアクセスすると、その応答としてＷｅｂサーバから返され、Ｗｅｂブラウザ上で実行される。
【０００５】
例えば、特許文献１においては、Ｗｅｂサーバ機能を備えるネットワーク複合機が、Ｗｅｂブラウザからの情報取得要求に対してＪａｖａＳｃｒｉｐｔを返す技術が開示されている。ＪａｖａＳｃｒｉｐｔは、定期的にネットワーク複合機に対して情報取得要求を送信するようなスクリプトとなっており、ユーザが操作をしなくても機器やジョブの状態をＷｅｂブラウザ上でリアルタイムに表示することが可能となっている。また特許文献２においては、印刷管理サーバが、Ｗｅｂブラウザからの印刷要求に対してＪａｖａＳｃｒｉｐｔを返す技術が開示されている。ＪａｖａＳｃｒｉｐｔは、印刷実行結果を印刷管理サーバに通知するようなスクリプトとなっており、印刷終了後にその結果を自動的に印刷管理サーバに通知することが可能となっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２８２３１１号公報
【特許文献２】特開２００５−１２９００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
プリントサーバを使用した印刷システムにおいて、プリントサーバがクラウド上にある場合を想定する。上記のように、プリンタとプリントサーバとの間にはファイアウォールが存在するため、印刷ジョブはプリンタからプリントサーバに取得要求を行う構成となる。それと同様に、プリントサーバが印刷ジョブの状態を管理するためには、プリンタがプリントサーバに印刷ジョブの状態を通知し、プリントサーバ上で管理している印刷ジョブの状態を更新していく必要がある。
【０００８】
しかし、なんらかの理由でプリンタがプリントサーバに対して印刷ジョブの状態を通知できなくなると、プリントサーバはその印刷ジョブに関して実際の状態がどうなっているのかを知ることができなくなる。例えば、印刷ジョブが完了する前にプリンタの電源がＯＦＦ／ＯＮしてしまった場合、印刷ジョブ自体がプリンタ内から削除されてしまう。そのため、もはやその印刷ジョブの状態をプリントサーバに通知することはできない。その結果、プリントサーバでは、そのジョブがいつまでも「印刷中」状態のままになってしまうという問題があった。
【０００９】
本発明は上記課題を解決するためのものであり、プリンタが印刷ジョブの状態をプリントサーバに通知できない状況になった場合にも、プリントサーバでそのジョブ状態を管理することを可能とする印刷ジョブ管理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明は以下の構成を有する。すなわち、情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムであって、前記印刷サーバは、前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理手段と、前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信手段とを有し、前記要求受信手段は、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、前記管理手段は、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新し、前記情報処理装置は、前記印刷サーバへ前記印刷要求を送信する送信手段と、前記送信手段が送信した前記印刷要求に対する前記印刷サーバからの応答に含まれる命令に従って、前記画像形成装置への印刷ジョブの状態取得要求を前記画像形成装置へ送信する要求手段と、前記要求手段にて送信した当該印刷ジョブの状態取得要求の応答として前記画像形成装置から返された当該印刷ジョブの状態を、前記印刷サーバへ通知する通知手段とを有する。
【発明の効果】
【００１１】
本発明によれば、プリンタが印刷ジョブの状態をプリントサーバに通知できない状況になった場合にも、プリントサーバでそのジョブ状態を管理することを可能とする印刷ジョブ管理システムを提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る印刷ジョブ管理システムのシステム構成図。
【図２】本発明に係る画像形成装置１０１のハードウェア構成を示すブロック図。
【図３】本発明に係るハードウェア構成を示すブロック図。
【図４】本発明に係るソフトウェア構成を示すブロック図。
【図５】本発明に係る印刷制御部５０３が管理する管理テーブルの例を示す図。
【図６】管理テーブル６０１における印刷状態６０５の状態遷移図。
【図７】Ｗｅｂブラウザ８０１がＷｅｂサーバから受信する応答の例を示す図。
【図８】プリントサーバ１０３上の文書リストを表示した画面の例を示す図。
【図９】通常の印刷処理のフロー図。
【図１０】第一の実施形態に係る文書リスト表示更新の処理フロー図。
【図１１】第一の実施形態に係る文書リスト取得要求の受信の処理フロー図。
【図１２】第一の実施形態に係る文書リスト情報取得要求の受信の処理フロー図。
【図１３】第一の実施形態に係る印刷ジョブ状態情報取得要求の受信処理フロー図。
【図１４】第一の実施形態に係るＪａｖａＳｃｒｉｐｔの処理を示すフロー図。
【図１５】本発明に係る要求／応答の記述例を示す図。
【図１６】第二の実施形態に係る印刷ジョブ状態情報取得要求の受信の処理フロー図。
【図１７】第三の実施形態に係る印刷ジョブ状態情報取得要求の受信の処理フロー図。
【図１８】第三の実施形態に係るＪａｖａＳｃｒｉｐｔの処理を示すフロー図。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１４】
＜第一の実施形態＞
［ハードウェア構成］
図１は、本発明を適用した印刷ジョブ管理システムのシステム構成図である。図１において、画像形成装置１０１、ホストコンピュータ１０２、プリントサーバ１０３がネットワークを介して接続され印刷ジョブ管理システムを構成している。なお、図１においては、画像形成装置、ホストコンピュータ、プリントサーバはそれぞれ１台のみ図示しているが、複数台存在してもよい。
【００１５】
画像形成装置１０１は、印刷サーバであるプリントサーバ１０３にスプールされた印刷ジョブを受信して印刷を行う機能を備えている。ホストコンピュータ１０２は、印刷指示を行い、また印刷ジョブの状態情報を表示する端末であり、Ｗｅｂブラウザを備えていれば一般のパーソナルコンピュータ（ＰＣ）ではなく携帯端末等でも良い。プリントサーバ１０３は、印刷ジョブをスプールしたり印刷ジョブの状態情報を管理したりする機能の他に、本実施形態においてはユーザごとの文書を管理する文書管理サーバとしての機能も備える。なお、本実施形態において、印刷ジョブの状態を示す情報を単に“状態”もしくは“印刷ジョブの情報”と記載する。
【００１６】
画像形成装置１０１とホストコンピュータ１０２はイントラネット１０４内で接続されている。また、イントラネット１０４内の装置とインターネット１０５上に存在するプリントサーバ１０３とは、イントラネット１０４とインターネット１０５との間に設置されたファイアウォール１０６を介して通信する。このファイアウォール１０６を設置することにより、イントラネット１０４側とインターネット１０５側の装置間の通信を制限し、セキュリティの向上等を図っている。従って、この構成により、インターネット１０５側から、イントラネット１０４側への装置に対して自由に接続が行われることをできなくしている。
【００１７】
図２は画像形成装置１０１のハードウェア構成を示すブロック図である。なお、ここでは、複写機を例にして説明する。図２の画像形成装置１０１において、ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭまたは外部記憶装置２１１に記憶された制御プログラムに基づいて、システムバス２０４に接続される各種のデバイスとのアクセスを総括的に制御する。また、ＣＰＵ２０１は、印刷インタフェース２０７を介して接続される印刷部（プリンタエンジン）２１０に出力情報としての画像信号を出力し、読取インタフェース２１２を介して接続される読取部（スキャナ）２１３から入力される画像信号を制御する。また、このＲＯＭ２０３のプログラム用ＲＯＭには、ＣＰＵ２０１が実行可能な制御プログラム等を記憶する。さらに、ＲＯＭ２０３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ（アウトラインフォントデータを含む）等を記憶し、ＲＯＭ２０３のデータ用ＲＯＭには、ホストコンピュータ上で利用される情報等を記憶している。
【００１８】
ＣＰＵ２０１は、ＬＡＮコントローラ部２０６を介してネットワーク上のホストコンピュータや画像形成装置との通信処理が可能となっている。ＲＡＭ２０２は、主としてＣＰＵ２０１の主メモリ、ワークエリア等として機能する。また、ＲＡＭ２０２は、増設ポートに接続されるオプションＲＡＭ（不図示）によりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ２０２は、出力情報展開領域、環境データ格納領域等に用いられる。ハードディスク（ＨＤＤ）、ＩＣカード等の外部記憶装置２１１は、ディスクコントローラ（ＤＫＣ）２０８によりアクセスが制御される。ハードディスクは、アプリケーションプログラム、フォントデータ、フォームデータ等を記憶し、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。さらに、ハードディスクは、スキャナ２１３から読み取った画像データやプリントジョブの画像データをＢＯＸデータとして保持し、ネットワークから参照されたり、印刷を行うＢＯＸデータ格納領域としても使用される。本実施形態においては、外部記憶装置２１１としてはＨＤＤを使用し、ジョブログ、画像ログ等各種ログを保持する。
【００１９】
操作パネル２０５は、ユーザがソフトウェアキーから各種情報を入力することが可能である。前述した外部記憶装置２１１は１個に限らず、少なくとも１個以上備えていれば良く、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。不揮発性メモリ２０９は、操作パネル２０５から設定される各種設定情報を記憶している。
【００２０】
また、図示していないが、画像形成装置１０１にはさらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面装置など各種拡張装置を装着することが可能となっており、それらの動作はＣＰＵ２０１から制御される。
【００２１】
図３は、図１に示すホストコンピュータ１０２およびプリントサーバ１０３のハードウェア構成を示すブロック図である。図３において、ＣＰＵ３０１は、システムバス３０４に接続された各種デバイスの制御を行う。ＲＯＭ３０２はＢＩＯＳやブートプログラムを記憶する。ＲＡＭ３０３は、ＣＰＵ３０１の主記憶装置として使用される。キーボードコントローラ（ＫＢＣ）３０５は、マウス（登録商標）等のポインティングデバイス３０９、キーボード３１０からの情報などの入力に係る処理を行う。表示制御部（ＣＲＴＣ）３０６は、内部にビデオメモリを有し、ＣＰＵ３０１からの指示に従ってそのビデオメモリに描画すると共に、ビデオメモリに描画されたイメージデータをビデオ信号としてＣＲＴ表示装置３１１に出力する。なお、図３において表示装置としてＣＲＴを例示しているが、液晶表示装置等、その表示装置の種類は問わない。
【００２２】
ディスクコントローラ（ＤＫＣ）３０７は、ハードディスク（ＨＤＤ）３１２、フロッピー（登録商標）ディスク３１３へのアクセスを行う。ネットワークインタフェースカード（ＮＩＣ）３０８は、ネットワークに接続され、ネットワークを介しての情報通信を行う。なお、ＨＤＤ３１２には、ＯＳやＯＳ上で動作する各種アプリケーションプログラム等が格納される。上記構成において、本装置の電源がＯＮになると、ＣＰＵ３０１はＲＯＭ３０２に格納されたブートプログラムに従って、ＨＤＤ３１２からＯＳをＲＡＭ３０３に読み込み、情報処理装置として機能するようになる。
【００２３】
［ソフトウェア構成］
図４（Ａ）は、画像形成装置１０１のソフトウェア構成を示すブロック図である。要求処理部４０１は、ホストコンピュータ１０２から印刷要求や印刷ジョブ状態取得要求を受信し、各処理に応じた応答を生成して返す。要求処理部４０１が印刷要求を受信した場合、印刷ジョブ取得部４０２は、プリントサーバ１０３に印刷ジョブ取得要求を送信し、その後印刷ジョブを受信して印刷処理部４０３に渡す。印刷処理部４０３は受信した印刷ジョブを解析してビットマップに展開し、記録媒体である用紙への印刷を行う。
【００２４】
ジョブ状態管理部４０４は、画像形成装置１０１内の印刷ジョブの状態を管理しており、要求処理部４０１が印刷ジョブ状態取得要求を受信した場合、管理している印刷ジョブの状態を要求処理部４０１に返す。またジョブ状態管理部４０４は、印刷ジョブの状態変化があった場合には、ジョブ状態通知部４０５に通知する。ジョブ状態通知部４０５は、プリントサーバ１０３に印刷ジョブの状態を送信する。
【００２５】
図４（Ｂ）は、プリントサーバ１０３のソフトウェア構成を示すブロック図である。要求受信部５０１は、ホストコンピュータ１０２のＷｅｂブラウザからの各種要求や、画像形成装置１０１から印刷ジョブ取得要求を受信し、各処理に応じた応答を生成して返すＷｅｂサーバとして動作する。文書管理部５０２は、ユーザごとに文書を管理しており、ユーザがＷｅｂブラウザからプリントサーバ１０３にアクセスしてログインすると、そのユーザの文書リストを返す。またその際、文書管理部５０２は、印刷制御部５０３から各文書の印刷状態を取得し、文書リストに統合させる機能を備えている。
【００２６】
印刷制御部５０３は、要求受信部５０１がＷｅｂブラウザから印刷要求を受信すると、選択された文書を画像形成装置１０１が印刷可能なフォーマットに変換し、一時的に印刷ジョブとしてスプールする。その後、印刷制御部５０３は、スプールされた印刷ジョブにアクセスするためのＵＲＬを生成し、要求受信部５０１に返す。なお、上記のフォーマット変換は、印刷制御部５０３が行うのではなく例えば他のサーバでフォーマット変換済みの印刷ジョブを、印刷制御部５０３が取得してスプールするような構成も可能である。さらに、印刷制御部５０３は、画像形成装置１０１から印刷ジョブ取得要求を受信すると、スプールしていた印刷ジョブを返す。また、印刷制御部５０３は、印刷ジョブを管理する機能を備え、そのために図５（Ａ）に示すような管理テーブルを保持している。通知受信部５０４は、画像形成装置１０１から印刷ジョブの状態通知を受信し、印刷制御部５０３に印刷ジョブの状態を送信する。
【００２７】
図４（Ｃ）は、ホストコンピュータ１０２のソフトウェア構成を示すブロック図である。Ｗｅｂブラウザ８０１は、一般のＷｅｂブラウザアプリケーションであり、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）解釈部８０２、ＵＩ部８０３、通信部８０４、スクリプト実行部８０５からなる。ＨＴＭＬ解釈部８０２は、通信部８０４を介してＷｅｂサーバから返されるＨＴＭＬで記述された応答を解釈する。ＵＩ部８０３は、ＨＴＭＬを解釈した結果を表示し、ユーザからの入力を受け付ける。スクリプト実行部８０５は、Ｗｅｂサーバから返された応答に含まれるＪａｖａＳｃｒｉｐｔを実行する。なお、本実施形態においては、様々なＳｃｒｉｐｔ言語の中からＪａｖａＳｃｒｉｐｔを例にとって説明している。しかし、本願発明の課題を解決でき、適用可能なＳｃｒｉｐｔ言語であれば、他のＳｃｒｉｐｔ言語を用いても構わない。
【００２８】
図５（Ａ）は、印刷制御部５０３が管理する管理テーブルの例である。管理テーブル６０１は、印刷ジョブＩＤ６０２、文書名６０３、ユーザ名６０４、印刷状態６０５、印刷ジョブ取得要求受信時刻６０６といった情報を保持している。なお、ここで挙げた項目は一例であり、文書データ（印刷データ）の取得元など、印刷ジョブを管理するために必要な情報を他に追加してもよい。
【００２９】
［状態遷移］
図６は、管理テーブル６０１における印刷状態６０５の状態遷移図である。ここで示される印刷状態は、印刷要求受付中７０１、印刷中７０２、中断中７０３、印刷終了７０４、エラー終了７０５の５つである。まず、Ｗｅｂブラウザ８０１から印刷要求を受信すると、初期状態として印刷要求受付中７０１の状態となる。次に、各状態の遷移を引き起こすイベントの内容を説明する。
【００３０】
Ｓ７１１にて、画像形成装置１０１からの印刷ジョブ取得要求受信の後、対象となる印刷ジョブ処理の開始通知が受信されることで印刷状態が遷移する。Ｓ７１２では、画像形成装置１０１からの印刷ジョブが終了したという印刷ジョブ状態通知の受信により印刷状態が遷移する。Ｓ７１３では、画像形成装置１０１からの印刷ジョブを中断中であるという印刷ジョブ状態通知の受信により印刷状態が遷移する。Ｓ７１４では、画像形成装置１０１からの印刷ジョブの処理を再開したという印刷ジョブ状態通知の受信により印刷状態が遷移する。Ｓ７１５では、Ｗｅｂブラウザ８０１からの印刷ジョブキャンセル要求受信により印刷状態が遷移する。Ｓ７１６、Ｓ７１７は、画像形成装置１０１からの印刷ジョブがエラー終了したという印刷ジョブ状態通知の受信、および、Ｗｅｂブラウザ８０１からの印刷ジョブのエラー通知の受信により印刷状態が遷移する。
【００３１】
図７は、Ｗｅｂブラウザ８０１がＷｅｂサーバから受信する応答の構成の例を示している。応答９０１には、ＨＴＭＬ言語で記述されたＨＴＭＬコード９０２に加え、ＪａｖａＳｃｒｉｐｔコード９０３を含むことが可能である。ＪａｖａＳｃｒｉｐｔコード９０３は＜ｓｃｒｉｐｔ＞タグで囲まれて記述される。
【００３２】
［印刷処理］
次に、本印刷ジョブ管理システムにおける印刷実行の流れを説明する。なお、以降では「ホストコンピュータ１０２上のＷｅｂブラウザ８０１」は単にＷｅｂブラウザ８０１として記載し、説明を行う。なお、Ｗｅｂブラウザ８０１における処理は、ホストコンピュータ１０２のＣＰＵ３０１によって、そのプログラムが読みだされ、実行されるものとする。また、印刷対象となる文書データを単に「文書」と記載する。図８は、Ｗｅｂブラウザ８０１においてプリントサーバ１０３上の文書リストを表示した画面である。ログインしたユーザがアクセス可能な文書のリストが、文書名１００１、日付１００２、ページ数１００３、サイズ１００４、印刷状態１００５といった各種情報と共に表示される。所望の文書のチェックボックス１００６をチェックし、印刷ボタン１００７を押下することで印刷要求（図９のＳ１１０５）が開始され、その文書の印刷を行うことができる。一度印刷を実行した文書は、印刷状態１００５に印刷の状態（“印刷中”など）が表示されるようになり、更新ボタン１００８を押下することで文書リスト取得要求（図１０のＳ１２０１）が開始され、最新の印刷状態を表示することが可能である。
【００３３】
図９は、通常の印刷処理のフローである。本フローに係る画像形成装置１０１のプログラムは、画像形成装置１０１の外部記憶装置２１１に格納されており、ＲＡＭ２０２に読み出されＣＰＵ２０１によって実行される。またプリントサーバ１０３のプログラムは、プリントサーバ１０３のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。またホストコンピュータ１０２上で動作するＷｅｂブラウザプログラムは、ホストコンピュータ１０２のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。また、処理の中で取得したデータは、一時的にＲＡＭ３０３に格納され、保持される。
【００３４】
Ｗｅｂブラウザ８０１は、Ｓ１１０１においてユーザの入力を受け付け、ログイン要求をプリントサーバ１０３に送信し、プリントサーバ１０３はＳ１１０２で応答を返す。次にＷｅｂブラウザ８０１は、Ｓ１１０３においてユーザの入力を受け付け、文書リスト取得要求をプリントサーバ１０３に送信する。そして、プリントサーバ１０３は、文書リスト取得要求に応答し、Ｓ１１０４において文書リストを返す。
【００３５】
次にＷｅｂブラウザ８０１は、Ｓ１１０５においてユーザの入力を受け付け、文書の印刷要求をプリントサーバ１０３に送信する。プリントサーバ１０３は、Ｓ１１０６において指定された文書の印刷状態を「印刷要求受付中」に変更する。そして、プリントサーバ１０３は、Ｓ１１０７において、印刷要求の中で指定された文書を画像形成装置１０１が印刷可能なフォーマットに変換し、印刷ジョブとしてスプールする。その後Ｓ１１０８において、プリントサーバ１０３は、Ｗｅｂブラウザ８０１に、画像形成装置１０１に対して印刷要求を送信させるＪａｖａＳｃｒｉｐｔを含めて印刷要求に対する応答を送信する。なおここでのＪａｖａＳｃｒｉｐｔには、画像形成装置１０１が印刷要求を受信するＵＲＬや、スプールされた印刷ジョブにアクセスするためのＵＲＬが含まれている。Ｗｅｂブラウザ８０１は、Ｓ１１０９において、受信したＪａｖａＳｃｒｉｐｔを実行し、画像形成装置１０１に印刷要求を送信する。この印刷要求には、スプールされた印刷ジョブにアクセスするためのＵＲＬが含まれている。
【００３６】
画像形成装置１０１は、Ｓ１１１０においてＷｅｂブラウザ８０１に対して印刷要求に対する応答を送信する。次に画像形成装置１０１は、Ｓ１１１１において、プリントサーバ１０３に対して印刷ジョブ取得要求を送信する。それに対しプリントサーバ１０３は、Ｓ１１１２において指定された印刷ジョブを画像形成装置１０１に送信する。そして、Ｓ１１１３において、プリントサーバ１０３は、図８に示すように指定された文書の印刷状態を「印刷中」に変更する。また同時にプリントサーバ１０３は、現在の時刻を印刷ジョブ取得要求受信時刻として管理テーブル６０１に保持する。
【００３７】
画像形成装置１０１は、Ｓ１１１４において受信した印刷ジョブを印刷する。その後Ｓ１１１５において、画像形成装置１０１は、プリントサーバ１０３にジョブが終了したというジョブ状態通知を送信する。プリントサーバ１０３は、Ｓ１１１６において、指定された文書の印刷状態を「印刷終了」に変更する。なお、図示していないが、画像形成装置１０１は、印刷を実行中に用紙切れやジャムといったジョブを中断するような状況になった場合は、ジョブが中断されたというジョブ状態通知をプリントサーバ１０３に送信する。プリントサーバ１０３はそのジョブ状態通知を受信すると、印刷状態を「中断中」に変更する。
【００３８】
その後、画像形成装置１０１でジョブが中断された原因が解除された際には、画像形成装置１０１は、ジョブの印刷が再開されたというジョブ状態通知をプリントサーバに送信する。プリントサーバ１０３はそのジョブ状態通知を受信すると、印刷状態を「印刷中」に変更する。また、画像形成装置１０１は、印刷を実行中にユーザにより操作パネル２０５から印刷ジョブがキャンセルされた場合には、ジョブがキャンセルされたというジョブ状態通知をプリントサーバ１０３に送信する。プリントサーバ１０３はそのジョブ状態通知を受信すると、印刷状態を「エラー終了」に変更する。
【００３９】
［更新処理］
次に、Ｗｅｂブラウザ８０１から印刷実行後に、文書リストの表示を更新する際のフローについて説明する。図１０は、文書リスト表示更新のフローである。本フローに係る画像形成装置１０１のプログラムは、画像形成装置１０１の外部記憶装置２１１に格納されており、ＲＡＭ２０２に読み出されＣＰＵ２０１によって実行される。またプリントサーバ１０３のプログラムは、プリントサーバ１０３のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。またホストコンピュータ１０２上で動作するＷｅｂブラウザプログラムは、ホストコンピュータ１０２のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。
【００４０】
Ｗｅｂブラウザ８０１は、Ｓ１２０１においてユーザからの表示更新の入力を受け付け、文書リスト取得要求をプリントサーバ１０３に送信する。プリントサーバ１０３は、Ｓ１２０２にて、通常の文書リスト情報に加え、Ｗｅｂブラウザ８０１に画像形成装置１０１に対して印刷ジョブ状態取得要求を送信させるＪａｖａＳｃｒｉｐｔを応答に含める。このＪａｖａＳｃｒｉｐｔにて定義された処理によって、ホストコンピュータ１０２（Ｗｅｂブラウザ８０１）に、画像形成装置１０１からの印刷ジョブに対する状態を取得するため命令を実現する。そして、プリントサーバ１０３は、Ｗｅｂブラウザ８０１からの文書リスト取得要求に対する応答を送信する。なお、応答に上記命令としてのＪａｖａＳｃｒｉｐｔを含めるかどうかは後述の判断フローに基づく。
【００４１】
Ｗｅｂブラウザ８０１は、Ｓ１２０３において、受信したＪａｖａＳｃｒｉｐｔを実行し、画像形成装置１０１に対して印刷ジョブ状態取得要求を送信する。画像形成装置１０１は、Ｓ１２０４において、Ｗｅｂブラウザ８０１からの印刷ジョブ状態取得要求に対する応答として、画像形成装置１０１内の印刷ジョブの状態を含むリストを返す。この際、例えば画像形成装置１０１が一度ＯＦＦ／ＯＮされており印刷ジョブ状態取得要求を受信した時点で印刷ジョブが存在しない場合は、空のリストを返すことになる。その後、Ｗｅｂブラウザ８０１は、Ｓ１２０５において、画像形成装置１０１から取得した印刷ジョブの状態をプリントサーバ１０３に送信する。プリントサーバ１０３は、Ｓ１２０６において、Ｗｅｂブラウザ８０１から受信した印刷ジョブの状態に応じて、管理している印刷ジョブの状態を更新する。
【００４２】
［文書リスト取得処理］
次に、プリントサーバ１０３が、Ｗｅｂブラウザ８０１から文書リスト取得要求を受信した際の処理を図１１〜図１３のフローチャートを使用して詳細に説明する。つまり、図１１〜図１３のフローチャートは、図９に示すＳ１１０３からＳ１１０４、および図１０に示すＳ１２０１からＳ１２０２の間にプリントサーバ１０３が行う処理である。
【００４３】
図１１は、プリントサーバ１０３の要求受信部５０１がＷｅｂブラウザ８０１から文書リスト取得要求を受信した際の処理を示すフローチャートである。本フローに係る要求受信部５０１のプログラムは、プリントサーバ１０３のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出され、ＣＰＵ３０１によって実行される。
【００４４】
Ｓ１３０１において、プリントサーバ１０３の要求受信部５０１は、Ｗｅｂブラウザ８０１から文書リスト取得要求を受信する。Ｓ１３０２において、要求受信部５０１は文書管理部５０２にログイン中のユーザ名を指定して文書リスト情報取得要求を通知し、そのユーザの文書リスト情報を取得する。ここでの文書リスト情報取得処理については、図１２を用いて詳述する。その際文書リスト情報と共に、スクリプト挿入フラグも返される。スクリプト挿入フラグとは、ＨＴＭＬ応答にＪａｖａＳｃｒｉｐｔを含めるかどうかを指定する情報であり、印刷制御部５０３により設定される。この印刷制御部５０３による処理については、後述する。
【００４５】
Ｓ１３０３において、要求受信部５０１は文書管理部５０２から取得した文書リスト情報に基づきＨＴＭＬ応答を生成する。次にＳ１３０４において、要求受信部５０１は応答として返されたスクリプト挿入フラグに対して設定されたＴｒｕｅ／Ｆａｌｓｅを判定する。スクリプト挿入フラグが“Ｔｒｕｅ”であった場合は（Ｓ１３０４にてＹＥＳ）、Ｓ１３０５に進む。そして、要求受信部５０１は上述したようなＪａｖａＳｃｒｉｐｔを生成し、ＨＴＭＬ応答に挿入する。その後Ｓ１３０６において、要求受信部５０１は生成されたＨＴＭＬ応答をＷｅｂブラウザ８０１に送信し処理を終了する。またＳ１３０４の判定においてスクリプト挿入フラグが“Ｆａｌｓｅ”であった場合は（Ｓ１３０４にてＮＯ）、Ｓ１３０６において要求受信部５０１は生成されたＨＴＭＬ応答をＷｅｂブラウザ８０１に送信し処理を終了する。
【００４６】
図１２は、プリントサーバ１０３の文書管理部５０２が要求受信部５０１から文書リスト取得要求を受信した際の処理を示すフローチャートである。具体的には、図１１のＳ１３０２にて示した文書リスト情報取得処理に該当する。本処理フローに係る文書管理部５０２のプログラムは、プリントサーバ１０３のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。
【００４７】
Ｓ１４０１において、文書管理部５０２は要求受信部５０１から文書リスト情報取得要求を受信する。Ｓ１４０２において、文書管理部５０２は印刷制御部５０３に要求受信部５０１から通知されたユーザ名を指定して印刷ジョブ状態情報取得要求を通知し、そのユーザの印刷ジョブ状態情報を取得する。その際印刷ジョブ状態情報と共に、後述するスクリプト挿入フラグも返される。ここでの印刷ジョブ状態情報取得処理については、図１３を用いて詳述する。Ｓ１４０３において、文書管理部５０２は管理している文書リスト情報と印刷制御部５０３から返された印刷ジョブ状態情報を統合する。そしてＳ１４０４において、文書管理部５０２は、統合後の文書リスト情報とスクリプト挿入フラグとを要求受信部５０１に送信し処理を終了する。
【００４８】
図１３は、プリントサーバ１０３の印刷制御部５０３が文書管理部５０２から印刷ジョブ状態情報取得要求を受信した際の処理を示すフローチャートである。具体的には、図１２のＳ１４０２にて示した印刷ジョブ状態情報取得処理に該当する。本フローに係る印刷制御部５０３のプログラムは、プリントサーバ１０３のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。
【００４９】
Ｓ１５０１において、印刷制御部５０３は文書管理部５０２から印刷ジョブ状態情報取得要求を受信する。Ｓ１５０２において、印刷制御部５０３は文書管理部５０２から通知されたユーザ名の印刷ジョブの中から、印刷ジョブ状態情報取得要求の受付時刻が最も古い時刻Ｔｏを取得する。そしてＳ１５０３において、印刷制御部５０３は現在時刻ＴｃがＴｏからジョブ状況確認時間Ｘが経過しているかどうかを判定する。ここでジョブ状況確認時間Ｘは、例えば５分といった予め定義された固定値（一定時間）であるが、管理者がこの時間を０以上の値に自由に設定できるようにしてもよい。Ｓ１５０３の判定の結果がＹｅｓである場合には、Ｓ１５０４において、印刷制御部５０３はスクリプト挿入フラグを“Ｔｒｕｅ”に設定しＳ１５０５に進む。Ｓ１５０３の判定の結果がＮｏである場合には、Ｓ１５０６において、印刷制御部５０３はスクリプト挿入フラグを“Ｆａｌｓｅ”に設定しＳ１５０５に進む。Ｓ１５０５において、印刷制御部５０３は指定されたユーザの印刷ジョブ状態情報とスクリプト挿入フラグとを文書管理部５０２に送信し処理を終了する。
【００５０】
なお、本処理フローの中で用いられるスクリプト挿入フラグは、例えば図１１のＳ１３０１において、文書リスト取得要求を受信した際に初期化されてもよい。
【００５１】
［スクリプト実行処理］
次に、Ｗｅｂブラウザ８０１がプリントサーバ１０３から受信したＪａｖａＳｃｒｉｐｔを実行する際の処理について図１４、図１５を使用して説明する。図１４は、Ｗｅｂブラウザ８０１が実行するＪａｖａＳｃｒｉｐｔの処理を示すフローチャートである。本フローチャートは、図１０にて示したＳ１２０３からＳ１２０５の間にＷｅｂブラウザ８０１が行う処理である。なお、図１５（Ａ）乃至（Ｃ）は装置間にて送受信される要求／応答の記述例であり、この記述内容に限定されるものではない。本フローに係るＷｅｂブラウザ８０１が実行するプログラムは、プリントサーバ１０３からＪａｖａＳｃｒｉｐｔとして返され、ホストコンピュータ１０２のＲＡＭ３０３に展開された後、ＣＰＵ３０１によって実行される。
【００５２】
Ｓ１６０１において、Ｗｅｂブラウザ８０１は画像形成装置１０１に対して、印刷ジョブ状態取得要求を送信する。図１５（Ａ）に印刷ジョブ状態取得要求の記述例を示す。次にＳ１６０２において、Ｗｅｂブラウザ８０１は画像形成装置１０１から応答があったかどうかを判定する。通常であれば画像形成装置１０１からは常に応答があるが、例えば画像形成装置１０１の電源がＯＦＦされていた場合には応答はない。Ｓ１６０２で応答があった場合は（Ｓ１６０２にてＹＥＳ）、Ｓ１６０３に進み、Ｗｅｂブラウザ８０１は画像形成装置１０１から応答を受信する。
【００５３】
図１５（Ｂ）に応答の記述例を示す。次にＳ１６０４において、Ｗｅｂブラウザ８０１はプリントサーバ１０３から返された印刷ジョブがすべて、画像形成装置１０１から返された応答の中に存在しているかを判定する。Ｓ１６０４においてすべて存在していると判定された場合は（Ｓ１６０４にてＹＥＳ）、Ｗｅｂブラウザ８０１はＪａｖａＳｃｒｉｐｔの処理を終了する。すなわち、すべての印刷ジョブに対する処理が画像形成装置にて、継続中であるため、プリントサーバ１０３に対して通知は行われない。Ｓ１６０４において存在しない印刷ジョブがあると判定された場合は（Ｓ１６０４にてＮＯ）、Ｓ１６０５に進み、Ｗｅｂブラウザ８０１は存在しなかった印刷ジョブのエラー通知をプリントサーバ１０３に送信し、ＪａｖａＳｃｒｉｐｔの処理を終了する。図１５（Ｃ）にエラー通知の記述例を示す。またＳ１６０２で画像形成装置１０１から応答がなかった場合は（Ｓ１６０２にてＮＯ）、Ｓ１６０５に進む。この場合には、すべての印刷ジョブが存在しなかったものとして、Ｓ１６０５にてすべての印刷ジョブに対するエラー通知の処理を行い、ＪａｖａＳｃｒｉｐｔによる処理を終了する。
【００５４】
［要求／応答の記述例］
図１５（Ａ）は、図１４のフローチャートのＳ１６０１において送信される印刷ジョブ状態取得要求の例である。印刷ジョブ状態取得要求はＸＭＬ形式で記述される。なお図１５（Ａ）ではＷｅｂサービスとして共通で使用されるＨＴＴＰおよびＳＯＡＰのヘッダは説明を簡略化するため、記載していない。
【００５５】
図１５（Ｂ）は、図１４のフローチャートのＳ１６０３において画像形成装置１０１からＷｅｂブラウザ８０１に対して返される応答の例である。図１５（Ａ）と同様にＸＭＬにおける必要部分のみを記載している。＜Ｊｏｂｓ＞タグ内には現在、画像形成装置１０１が処理しているジョブの情報が記述される。応答に＜Ｊｏｂ＞タグが一つも出現しない場合は、画像形成装置１０１が現在処理しているジョブはないということを示す。
【００５６】
図１５（Ｃ）は、図１４のフローチャートのＳ１６０５において送信されるエラー通知の例である。図１５（Ａ）と同様にＸＭＬの必要部分のみを記載している。ここで、＜Ｊｏｂｓ＞タグ内に、エラーになったと判断されたジョブの情報が記述される。
【００５７】
なお、本実施形態においては、プリントサーバ１０３は１台で動作する構成となっているが、複数台でクラスタリングすることにより負荷分散を行うような構成であってもよい。
【００５８】
以上、本発明によれば、画像形成装置の停止などにより、画像形成装置自身が印刷ジョブの状態をプリントサーバに通知できない状況になった場合であっても、プリントサーバでそのジョブ状態を管理することを可能とする。
【００５９】
＜第二の実施形態＞
次に第二の実施形態について説明する。第一の実施形態においては、プリントサーバ１０３が、Ｗｅｂブラウザ８０１から受信した文書リスト取得要求に対するＨＴＭＬ応答にＪａｖａＳｃｒｉｐｔを含めるようになるまでの時間は固定であった。本実施形態においては、プリントサーバ１０３でその時間を印刷ジョブごとに適切な値に変更するような制御を行う。これにより、例えばサイズが大きく印刷完了までの時間がかかる印刷ジョブに関してはその時間を大きくし、画像形成装置への無駄な問合せを削減させることが可能となる。なお、本実施形態においては第一の実施形態と同一部分に関する説明は省略し、その差異についてのみ説明する。
【００６０】
図５（Ｂ）は、印刷制御部５０３が管理する管理テーブルの例である。本実施形態における管理テーブル２００１においては、印刷ジョブごとに印刷予測時間２００２の情報を保持している。この印刷予測時間２００２は、印刷制御部５０３が印刷要求を受信し画像形成装置１０１において印刷可能なフォーマットに変換を行った際に、印刷ジョブのサイズ、ページ数、ＰＤＬの種別等の情報から計算される。この印刷予測時間を用いて、当該印刷ジョブに対する終了予測時刻を予測する。ここでの印刷予測時間の計算に用いられる情報は予め定義されているものとする。
【００６１】
図１６は、プリントサーバ１０３の印刷制御部５０３が文書管理部５０２から印刷ジョブ状態情報取得要求を受信した際の処理を示すフローチャートである。本フローに係る印刷制御部５０３のプログラムは、プリントサーバ１０３のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。なお、本処理フローは、第一の実施形態において述べた図１３の処理に対応し、その処理に代わって実行される。
【００６２】
Ｓ２１０１において、印刷制御部５０３は文書管理部５０２から印刷ジョブ状態情報取得要求を受信する。Ｓ２１０２において、印刷制御部５０３は文書管理部５０２から通知されたユーザ名の印刷ジョブの中から、（印刷ジョブ取得要求受付時刻＋印刷予測時間）が最も古い時刻となる印刷ジョブを抽出し、その計算された時刻をＴｐとする。そしてＳ２１０３において、印刷制御部５０３は現在時刻ＴｃがこのＴｐを経過しているか否かを判定する。Ｓ２１０３の判定の結果がＹｅｓである場合には、Ｓ２１０４において、印刷制御部５０３はスクリプト挿入フラグを“Ｔｒｕｅ”に設定し、Ｓ２１０５に進む。Ｓ２１０３の判定の結果がＮｏである場合には、Ｓ２１０６において、印刷制御部５０３はスクリプト挿入フラグを“Ｆａｌｓｅ”に設定しＳ２１０５に進む。Ｓ２１０５において、印刷制御部５０３は指定されたユーザの印刷ジョブ状態情報とスクリプト挿入フラグとを文書管理部５０２に送信し処理を終了する。
【００６３】
以上、本実施形態によれば、第一の実施形態による効果に加え、更に画像形成装置への無駄な問合せを削減させることが可能となる。
【００６４】
＜第三の実施形態＞
次に第三の実施形態について説明する。第一および第二の実施形態においては、Ｗｅｂブラウザ８０１が画像形成装置１０１から印刷ジョブ状態を取得した後、印刷ジョブが削除されていた場合等、何らかの問題があった場合にのみプリントサーバ１０３に対して通知（エラー通知）を行っていた。
【００６５】
本実施形態においては、Ｗｅｂブラウザ８０１は画像形成装置から取得した印刷ジョブ状態に問題がなかった場合においてもプリントサーバ１０３に通知を行う。そしてプリントサーバ１０３は次に文書リスト取得要求を受信した場合にＨＴＭＬ応答にＪａｖａＳｃｒｉｐｔを含めるようになるまでの時間をリセットする。これにより、他ユーザの大量印刷ジョブで画像形成装置が使用されている等の理由で単に印刷ジョブが待たされているだけの場合には、プリントサーバから画像形成装置への無駄な問合せを削減させることが可能となる。なお、本実施形態においては第一の実施形態と同一部分に関する説明は省略し、その差異についてのみ説明する。
【００６６】
図５（Ｃ）は、印刷制御部５０３が管理する管理テーブルの例である。本実施形態における管理テーブル２２０１においては、印刷ジョブごとに印刷状態最終更新時刻２２０２の情報を保持している。この印刷状態最終更新時刻２２０２は、Ｗｅｂブラウザ８０１から印刷ジョブ状態通知を受信する毎に、その時点での時刻に更新される。
【００６７】
図１７は、プリントサーバ１０３の印刷制御部５０３が文書管理部５０２から印刷ジョブ状態情報取得要求を受信した際の処理を示すフローチャートである。本フローに係る印刷制御部５０３のプログラムは、プリントサーバ１０３のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。なお、本処理フローは、第一の実施形態にて述べた図１３の処理フロー、第二の実施形態にて述べた図１６の処理フローに代わるものである。
【００６８】
Ｓ２３０１において、プリントサーバ１０３の印刷制御部５０３は、文書管理部５０２から印刷ジョブ状態情報取得要求を受信する。Ｓ２３０２において、印刷制御部５０３は文書管理部５０２から通知されたユーザ名の印刷ジョブの中から、印刷状態最終更新時刻２２０２が最も古い印刷ジョブの時刻Ｔｎを取得する。そしてＳ２３０３において、印刷制御部５０３は現在時刻ＴｃがＴｎにジョブ状況確認時間Ｘを加えた時刻（Ｔｎ＋Ｘ）を経過しているか否かを判定する。ここでジョブ状況確認時間Ｘは、例えば５分といった予め定義された固定値（一定時間）であるが、管理者がこの時間を０以上の値に自由に設定できるようにしてもよい。従って、このジョブ状況確認時間Ｘは処理の負荷等を考慮して設定可能である。
【００６９】
Ｓ２３０３の判定の結果がＹｅｓである場合には、Ｓ２３０４において、印刷制御部５０３はスクリプト挿入フラグを“Ｔｒｕｅ”に設定しＳ２３０５に進む。Ｓ２３０３の判定の結果がＮｏである場合には、Ｓ２３０６において、印刷制御部５０３はスクリプト挿入フラグを“Ｆａｌｓｅ”に設定しＳ２３０５に進む。Ｓ２３０５において、印刷制御部５０３は指定されたユーザの印刷ジョブ状態情報とスクリプト挿入フラグとを文書管理部５０２に送信し処理を終了する。
【００７０】
［スクリプト実行処理］
次に、Ｗｅｂブラウザ８０１がプリントサーバ１０３から受信したＪａｖａＳｃｒｉｐｔを実行する際の処理について図１５（Ｄ）、図１８を使用して説明する。図１８は、Ｗｅｂブラウザ８０１が実行するＪａｖａＳｃｒｉｐｔの処理を示すフローチャートである。本フローに係るＷｅｂブラウザ８０１が実行するプログラムは、プリントサーバ１０３からＪａｖａＳｃｒｉｐｔとして返され、ホストコンピュータ１０２のＲＡＭ３０３に展開された後、ＣＰＵ３０１によって実行される。なお、本処理フローは、第一の実施形態にて述べた図１４の処理フローに対応し、その処理に代わるものである。
【００７１】
Ｓ２４０１において、Ｗｅｂブラウザ８０１は画像形成装置１０１に、印刷ジョブ状態取得要求を送信する。ここでの印刷ジョブ状態取得要求は、第一の実施形態にて示した図１５（Ａ）と同様である。次にＳ２４０２において、Ｗｅｂブラウザ８０１は画像形成装置１０１から応答があったかどうかを判定する。通常であれば画像形成装置１０１からは常に応答があるが、例えば画像形成装置１０１の電源がＯＦＦされていた場合には応答はない。Ｓ２４０２で応答があった場合は（Ｓ２４０２にてＹＥＳ）Ｓ２４０３に進み、Ｗｅｂブラウザ８０１は画像形成装置１０１から応答を受信する。ここでの応答は、第一の実施形態にて示した図１５（Ｂ）と同様である。
【００７２】
次にＳ２４０４において、Ｗｅｂブラウザ８０１はプリントサーバ１０３から返された印刷ジョブがすべて、画像形成装置１０１から返された応答の中に存在しているかを判定する。Ｓ２４０４においてすべて存在していると判定された場合は（Ｓ２４０４にてＹＥＳ）Ｓ２４０５に進み、Ｗｅｂブラウザ８０１は印刷ジョブ状態通知をプリントサーバ１０３に送信し、ＪａｖａＳｃｒｉｐｔの処理を終了する。ここで送信される印刷ジョブ状態通知の記述例を図１５（Ｄ）に示す。Ｓ２４０４において存在しない印刷ジョブがあると判定された場合は（Ｓ２４０４にてＮＯ）Ｓ２４０６に進み、Ｗｅｂブラウザ８０１は存在しなかった印刷ジョブのエラー通知をプリントサーバ１０３に送信し、ＪａｖａＳｃｒｉｐｔの処理を終了する。ここで送信される印刷ジョブのエラー通知は、第一の実施形態にて示した図１５（Ｃ）と同様である。またＳ２４０２で画像形成装置１０１から応答がなかった場合はＳ２４０６に進む。この場合にはすべての印刷ジョブが存在しなかったものとして、すべての印刷ジョブに対するエラー通知を送信し、ＪａｖａＳｃｒｉｐｔの処理を終了する。
【００７３】
図１５（Ｄ）は、図１８のフローチャートのＳ２４０５において送信される印刷ジョブ状態通知の例である。図１５（Ａ）と同様に、説明を簡略化するため、ＸＭＬの必要部分のみを記載している。＜Ｊｏｂｓ＞タグ内に、画像形成装置１０１で現在処理中の印刷ジョブの情報が記述される。
【００７４】
以上、本実施形態により、第一の実施形態の効果に加え、他ユーザの大量印刷ジョブで画像形成装置が使用されている等の理由により、単に印刷ジョブが待たされているだけの場合には、画像形成装置への無駄な問合せを削減させることが可能となる。
【００７５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012048582.tif 000003
【図２】
2012048582.tif 000004
【図３】
2012048582.tif 000005
【図４】
2012048582.tif 000006
【図５】
2012048582.tif 000007
【図６】
2012048582.tif 000008
【図７】
2012048582.tif 000009
【図８】
2012048582.tif 000010
【図９】
2012048582.tif 000011
【図１０】
2012048582.tif 000012
【図１１】
2012048582.tif 000013
【図１２】
2012048582.tif 000014
【図１３】
2012048582.tif 000015
【図１４】
2012048582.tif 000016
【図１５】
2012048582.tif 000017
【図１６】
2012048582.tif 000018
【図１７】
2012048582.tif 000019
【図１８】
2012048582.tif 000020