説明

印刷ジョブ管理システムおよびその制御方法、情報処理装置、印刷サーバ

【課題】プリントサーバがクラウド上にある場合、プリンタが印刷ジョブの状態をプリントサーバに通知できない状態になると、プリントサーバ上で印刷ジョブの管理ができなくなってしまう。
【解決手段】情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムにおける印刷サーバであって、前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理手段と、前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信手段とを有し、前記要求受信手段は、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、前記管理手段は、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置で処理する印刷ジョブを管理する印刷ジョブ管理システムに関する。特に、印刷ジョブ管理システム内における、印刷ジョブの状態通知に関する方法に関する。
【背景技術】
【0002】
従来、特に大規模環境における印刷の際には、ユーザが操作するパーソナルコンピュータ(PC)から印刷ジョブを直接プリンタに送信するのではなく、一度プリントサーバで印刷ジョブをスプールしてからプリンタに送信する構成が一般的である。そのようなプリントサーバ経由での印刷の場合、プリントサーバはプリンタに対して送信済みの印刷ジョブの状況を定期的に問い合わせることにより、印刷ジョブの管理を行っている。
【0003】
また近年では、インターネットで接続された大規模なデータセンター上のコンピュータリソースを必要な分だけ利用することを可能にしたクラウドコンピューティング(以下、クラウド)と呼ばれるサービスが出てきている。このサービスを利用することにより、プリントサーバをクラウド上に配置することも可能となっている。クラウドを使用するとハードウェアの管理が不要となり、またサーバの負荷に応じてリソースを追加するようなことが容易に行えるといったさまざまなメリットがある。プリントサーバをクラウド上に配置する場合、プリンタとプリントサーバの間には通常セキュリティの観点などからファイアウォールが設置されており、プリントサーバ側からプリンタ側に直接印刷ジョブを送信することはできない。そのため、印刷ジョブの流れとしては、プリントサーバがプリンタに印刷ジョブを送信するPUSH型ではなく、プリンタからプリントサーバに印刷ジョブを取得しにいくPULL型になる。
【0004】
一方、Web技術の一つとして従来からクライアントサイドスクリプト技術がある。クライアントサイドスクリプトとは特定のスクリプト言語を指すものではないが、一般にJavaScript(登録商標)が使用される。JavaScriptは、WebブラウザがWebサーバにアクセスすると、その応答としてWebサーバから返され、Webブラウザ上で実行される。
【0005】
例えば、特許文献1においては、Webサーバ機能を備えるネットワーク複合機が、Webブラウザからの情報取得要求に対してJavaScriptを返す技術が開示されている。JavaScriptは、定期的にネットワーク複合機に対して情報取得要求を送信するようなスクリプトとなっており、ユーザが操作をしなくても機器やジョブの状態をWebブラウザ上でリアルタイムに表示することが可能となっている。また特許文献2においては、印刷管理サーバが、Webブラウザからの印刷要求に対してJavaScriptを返す技術が開示されている。JavaScriptは、印刷実行結果を印刷管理サーバに通知するようなスクリプトとなっており、印刷終了後にその結果を自動的に印刷管理サーバに通知することが可能となっている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−282311号公報
【特許文献2】特開2005−129006号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
プリントサーバを使用した印刷システムにおいて、プリントサーバがクラウド上にある場合を想定する。上記のように、プリンタとプリントサーバとの間にはファイアウォールが存在するため、印刷ジョブはプリンタからプリントサーバに取得要求を行う構成となる。それと同様に、プリントサーバが印刷ジョブの状態を管理するためには、プリンタがプリントサーバに印刷ジョブの状態を通知し、プリントサーバ上で管理している印刷ジョブの状態を更新していく必要がある。
【0008】
しかし、なんらかの理由でプリンタがプリントサーバに対して印刷ジョブの状態を通知できなくなると、プリントサーバはその印刷ジョブに関して実際の状態がどうなっているのかを知ることができなくなる。例えば、印刷ジョブが完了する前にプリンタの電源がOFF/ONしてしまった場合、印刷ジョブ自体がプリンタ内から削除されてしまう。そのため、もはやその印刷ジョブの状態をプリントサーバに通知することはできない。その結果、プリントサーバでは、そのジョブがいつまでも「印刷中」状態のままになってしまうという問題があった。
【0009】
本発明は上記課題を解決するためのものであり、プリンタが印刷ジョブの状態をプリントサーバに通知できない状況になった場合にも、プリントサーバでそのジョブ状態を管理することを可能とする印刷ジョブ管理システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために本発明は以下の構成を有する。すなわち、情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムであって、前記印刷サーバは、前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理手段と、前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信手段とを有し、前記要求受信手段は、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、前記管理手段は、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新し、前記情報処理装置は、前記印刷サーバへ前記印刷要求を送信する送信手段と、前記送信手段が送信した前記印刷要求に対する前記印刷サーバからの応答に含まれる命令に従って、前記画像形成装置への印刷ジョブの状態取得要求を前記画像形成装置へ送信する要求手段と、前記要求手段にて送信した当該印刷ジョブの状態取得要求の応答として前記画像形成装置から返された当該印刷ジョブの状態を、前記印刷サーバへ通知する通知手段とを有する。
【発明の効果】
【0011】
本発明によれば、プリンタが印刷ジョブの状態をプリントサーバに通知できない状況になった場合にも、プリントサーバでそのジョブ状態を管理することを可能とする印刷ジョブ管理システムを提供することが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明に係る印刷ジョブ管理システムのシステム構成図。
【図2】本発明に係る画像形成装置101のハードウェア構成を示すブロック図。
【図3】本発明に係るハードウェア構成を示すブロック図。
【図4】本発明に係るソフトウェア構成を示すブロック図。
【図5】本発明に係る印刷制御部503が管理する管理テーブルの例を示す図。
【図6】管理テーブル601における印刷状態605の状態遷移図。
【図7】Webブラウザ801がWebサーバから受信する応答の例を示す図。
【図8】プリントサーバ103上の文書リストを表示した画面の例を示す図。
【図9】通常の印刷処理のフロー図。
【図10】第一の実施形態に係る文書リスト表示更新の処理フロー図。
【図11】第一の実施形態に係る文書リスト取得要求の受信の処理フロー図。
【図12】第一の実施形態に係る文書リスト情報取得要求の受信の処理フロー図。
【図13】第一の実施形態に係る印刷ジョブ状態情報取得要求の受信処理フロー図。
【図14】第一の実施形態に係るJavaScriptの処理を示すフロー図。
【図15】本発明に係る要求/応答の記述例を示す図。
【図16】第二の実施形態に係る印刷ジョブ状態情報取得要求の受信の処理フロー図。
【図17】第三の実施形態に係る印刷ジョブ状態情報取得要求の受信の処理フロー図。
【図18】第三の実施形態に係るJavaScriptの処理を示すフロー図。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態について図面を用いて説明する。
【0014】
<第一の実施形態>
[ハードウェア構成]
図1は、本発明を適用した印刷ジョブ管理システムのシステム構成図である。図1において、画像形成装置101、ホストコンピュータ102、プリントサーバ103がネットワークを介して接続され印刷ジョブ管理システムを構成している。なお、図1においては、画像形成装置、ホストコンピュータ、プリントサーバはそれぞれ1台のみ図示しているが、複数台存在してもよい。
【0015】
画像形成装置101は、印刷サーバであるプリントサーバ103にスプールされた印刷ジョブを受信して印刷を行う機能を備えている。ホストコンピュータ102は、印刷指示を行い、また印刷ジョブの状態情報を表示する端末であり、Webブラウザを備えていれば一般のパーソナルコンピュータ(PC)ではなく携帯端末等でも良い。プリントサーバ103は、印刷ジョブをスプールしたり印刷ジョブの状態情報を管理したりする機能の他に、本実施形態においてはユーザごとの文書を管理する文書管理サーバとしての機能も備える。なお、本実施形態において、印刷ジョブの状態を示す情報を単に“状態”もしくは“印刷ジョブの情報”と記載する。
【0016】
画像形成装置101とホストコンピュータ102はイントラネット104内で接続されている。また、イントラネット104内の装置とインターネット105上に存在するプリントサーバ103とは、イントラネット104とインターネット105との間に設置されたファイアウォール106を介して通信する。このファイアウォール106を設置することにより、イントラネット104側とインターネット105側の装置間の通信を制限し、セキュリティの向上等を図っている。従って、この構成により、インターネット105側から、イントラネット104側への装置に対して自由に接続が行われることをできなくしている。
【0017】
図2は画像形成装置101のハードウェア構成を示すブロック図である。なお、ここでは、複写機を例にして説明する。図2の画像形成装置101において、CPU201は、ROM203のプログラム用ROMまたは外部記憶装置211に記憶された制御プログラムに基づいて、システムバス204に接続される各種のデバイスとのアクセスを総括的に制御する。また、CPU201は、印刷インタフェース207を介して接続される印刷部(プリンタエンジン)210に出力情報としての画像信号を出力し、読取インタフェース212を介して接続される読取部(スキャナ)213から入力される画像信号を制御する。また、このROM203のプログラム用ROMには、CPU201が実行可能な制御プログラム等を記憶する。さらに、ROM203のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ(アウトラインフォントデータを含む)等を記憶し、ROM203のデータ用ROMには、ホストコンピュータ上で利用される情報等を記憶している。
【0018】
CPU201は、LANコントローラ部206を介してネットワーク上のホストコンピュータや画像形成装置との通信処理が可能となっている。RAM202は、主としてCPU201の主メモリ、ワークエリア等として機能する。また、RAM202は、増設ポートに接続されるオプションRAM(不図示)によりメモリ容量を拡張することができるように構成されている。なお、RAM202は、出力情報展開領域、環境データ格納領域等に用いられる。ハードディスク(HDD)、ICカード等の外部記憶装置211は、ディスクコントローラ(DKC)208によりアクセスが制御される。ハードディスクは、アプリケーションプログラム、フォントデータ、フォームデータ等を記憶し、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。さらに、ハードディスクは、スキャナ213から読み取った画像データやプリントジョブの画像データをBOXデータとして保持し、ネットワークから参照されたり、印刷を行うBOXデータ格納領域としても使用される。本実施形態においては、外部記憶装置211としてはHDDを使用し、ジョブログ、画像ログ等各種ログを保持する。
【0019】
操作パネル205は、ユーザがソフトウェアキーから各種情報を入力することが可能である。前述した外部記憶装置211は1個に限らず、少なくとも1個以上備えていれば良く、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。不揮発性メモリ209は、操作パネル205から設定される各種設定情報を記憶している。
【0020】
また、図示していないが、画像形成装置101にはさらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面装置など各種拡張装置を装着することが可能となっており、それらの動作はCPU201から制御される。
【0021】
図3は、図1に示すホストコンピュータ102およびプリントサーバ103のハードウェア構成を示すブロック図である。図3において、CPU301は、システムバス304に接続された各種デバイスの制御を行う。ROM302はBIOSやブートプログラムを記憶する。RAM303は、CPU301の主記憶装置として使用される。キーボードコントローラ(KBC)305は、マウス(登録商標)等のポインティングデバイス309、キーボード310からの情報などの入力に係る処理を行う。表示制御部(CRTC)306は、内部にビデオメモリを有し、CPU301からの指示に従ってそのビデオメモリに描画すると共に、ビデオメモリに描画されたイメージデータをビデオ信号としてCRT表示装置311に出力する。なお、図3において表示装置としてCRTを例示しているが、液晶表示装置等、その表示装置の種類は問わない。
【0022】
ディスクコントローラ(DKC)307は、ハードディスク(HDD)312、フロッピー(登録商標)ディスク313へのアクセスを行う。ネットワークインタフェースカード(NIC)308は、ネットワークに接続され、ネットワークを介しての情報通信を行う。なお、HDD312には、OSやOS上で動作する各種アプリケーションプログラム等が格納される。上記構成において、本装置の電源がONになると、CPU301はROM302に格納されたブートプログラムに従って、HDD312からOSをRAM303に読み込み、情報処理装置として機能するようになる。
【0023】
[ソフトウェア構成]
図4(A)は、画像形成装置101のソフトウェア構成を示すブロック図である。要求処理部401は、ホストコンピュータ102から印刷要求や印刷ジョブ状態取得要求を受信し、各処理に応じた応答を生成して返す。要求処理部401が印刷要求を受信した場合、印刷ジョブ取得部402は、プリントサーバ103に印刷ジョブ取得要求を送信し、その後印刷ジョブを受信して印刷処理部403に渡す。印刷処理部403は受信した印刷ジョブを解析してビットマップに展開し、記録媒体である用紙への印刷を行う。
【0024】
ジョブ状態管理部404は、画像形成装置101内の印刷ジョブの状態を管理しており、要求処理部401が印刷ジョブ状態取得要求を受信した場合、管理している印刷ジョブの状態を要求処理部401に返す。またジョブ状態管理部404は、印刷ジョブの状態変化があった場合には、ジョブ状態通知部405に通知する。ジョブ状態通知部405は、プリントサーバ103に印刷ジョブの状態を送信する。
【0025】
図4(B)は、プリントサーバ103のソフトウェア構成を示すブロック図である。要求受信部501は、ホストコンピュータ102のWebブラウザからの各種要求や、画像形成装置101から印刷ジョブ取得要求を受信し、各処理に応じた応答を生成して返すWebサーバとして動作する。文書管理部502は、ユーザごとに文書を管理しており、ユーザがWebブラウザからプリントサーバ103にアクセスしてログインすると、そのユーザの文書リストを返す。またその際、文書管理部502は、印刷制御部503から各文書の印刷状態を取得し、文書リストに統合させる機能を備えている。
【0026】
印刷制御部503は、要求受信部501がWebブラウザから印刷要求を受信すると、選択された文書を画像形成装置101が印刷可能なフォーマットに変換し、一時的に印刷ジョブとしてスプールする。その後、印刷制御部503は、スプールされた印刷ジョブにアクセスするためのURLを生成し、要求受信部501に返す。なお、上記のフォーマット変換は、印刷制御部503が行うのではなく例えば他のサーバでフォーマット変換済みの印刷ジョブを、印刷制御部503が取得してスプールするような構成も可能である。さらに、印刷制御部503は、画像形成装置101から印刷ジョブ取得要求を受信すると、スプールしていた印刷ジョブを返す。また、印刷制御部503は、印刷ジョブを管理する機能を備え、そのために図5(A)に示すような管理テーブルを保持している。通知受信部504は、画像形成装置101から印刷ジョブの状態通知を受信し、印刷制御部503に印刷ジョブの状態を送信する。
【0027】
図4(C)は、ホストコンピュータ102のソフトウェア構成を示すブロック図である。Webブラウザ801は、一般のWebブラウザアプリケーションであり、HTML(HyperText Markup Language)解釈部802、UI部803、通信部804、スクリプト実行部805からなる。HTML解釈部802は、通信部804を介してWebサーバから返されるHTMLで記述された応答を解釈する。UI部803は、HTMLを解釈した結果を表示し、ユーザからの入力を受け付ける。スクリプト実行部805は、Webサーバから返された応答に含まれるJavaScriptを実行する。なお、本実施形態においては、様々なScript言語の中からJavaScriptを例にとって説明している。しかし、本願発明の課題を解決でき、適用可能なScript言語であれば、他のScript言語を用いても構わない。
【0028】
図5(A)は、印刷制御部503が管理する管理テーブルの例である。管理テーブル601は、印刷ジョブID602、文書名603、ユーザ名604、印刷状態605、印刷ジョブ取得要求受信時刻606といった情報を保持している。なお、ここで挙げた項目は一例であり、文書データ(印刷データ)の取得元など、印刷ジョブを管理するために必要な情報を他に追加してもよい。
【0029】
[状態遷移]
図6は、管理テーブル601における印刷状態605の状態遷移図である。ここで示される印刷状態は、印刷要求受付中701、印刷中702、中断中703、印刷終了704、エラー終了705の5つである。まず、Webブラウザ801から印刷要求を受信すると、初期状態として印刷要求受付中701の状態となる。次に、各状態の遷移を引き起こすイベントの内容を説明する。
【0030】
S711にて、画像形成装置101からの印刷ジョブ取得要求受信の後、対象となる印刷ジョブ処理の開始通知が受信されることで印刷状態が遷移する。S712では、画像形成装置101からの印刷ジョブが終了したという印刷ジョブ状態通知の受信により印刷状態が遷移する。S713では、画像形成装置101からの印刷ジョブを中断中であるという印刷ジョブ状態通知の受信により印刷状態が遷移する。S714では、画像形成装置101からの印刷ジョブの処理を再開したという印刷ジョブ状態通知の受信により印刷状態が遷移する。S715では、Webブラウザ801からの印刷ジョブキャンセル要求受信により印刷状態が遷移する。S716、S717は、画像形成装置101からの印刷ジョブがエラー終了したという印刷ジョブ状態通知の受信、および、Webブラウザ801からの印刷ジョブのエラー通知の受信により印刷状態が遷移する。
【0031】
図7は、Webブラウザ801がWebサーバから受信する応答の構成の例を示している。応答901には、HTML言語で記述されたHTMLコード902に加え、JavaScriptコード903を含むことが可能である。JavaScriptコード903は<script>タグで囲まれて記述される。
【0032】
[印刷処理]
次に、本印刷ジョブ管理システムにおける印刷実行の流れを説明する。なお、以降では「ホストコンピュータ102上のWebブラウザ801」は単にWebブラウザ801として記載し、説明を行う。なお、Webブラウザ801における処理は、ホストコンピュータ102のCPU301によって、そのプログラムが読みだされ、実行されるものとする。また、印刷対象となる文書データを単に「文書」と記載する。図8は、Webブラウザ801においてプリントサーバ103上の文書リストを表示した画面である。ログインしたユーザがアクセス可能な文書のリストが、文書名1001、日付1002、ページ数1003、サイズ1004、印刷状態1005といった各種情報と共に表示される。所望の文書のチェックボックス1006をチェックし、印刷ボタン1007を押下することで印刷要求(図9のS1105)が開始され、その文書の印刷を行うことができる。一度印刷を実行した文書は、印刷状態1005に印刷の状態(“印刷中”など)が表示されるようになり、更新ボタン1008を押下することで文書リスト取得要求(図10のS1201)が開始され、最新の印刷状態を表示することが可能である。
【0033】
図9は、通常の印刷処理のフローである。本フローに係る画像形成装置101のプログラムは、画像形成装置101の外部記憶装置211に格納されており、RAM202に読み出されCPU201によって実行される。またプリントサーバ103のプログラムは、プリントサーバ103のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。またホストコンピュータ102上で動作するWebブラウザプログラムは、ホストコンピュータ102のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。また、処理の中で取得したデータは、一時的にRAM303に格納され、保持される。
【0034】
Webブラウザ801は、S1101においてユーザの入力を受け付け、ログイン要求をプリントサーバ103に送信し、プリントサーバ103はS1102で応答を返す。次にWebブラウザ801は、S1103においてユーザの入力を受け付け、文書リスト取得要求をプリントサーバ103に送信する。そして、プリントサーバ103は、文書リスト取得要求に応答し、S1104において文書リストを返す。
【0035】
次にWebブラウザ801は、S1105においてユーザの入力を受け付け、文書の印刷要求をプリントサーバ103に送信する。プリントサーバ103は、S1106において指定された文書の印刷状態を「印刷要求受付中」に変更する。そして、プリントサーバ103は、S1107において、印刷要求の中で指定された文書を画像形成装置101が印刷可能なフォーマットに変換し、印刷ジョブとしてスプールする。その後S1108において、プリントサーバ103は、Webブラウザ801に、画像形成装置101に対して印刷要求を送信させるJavaScriptを含めて印刷要求に対する応答を送信する。なおここでのJavaScriptには、画像形成装置101が印刷要求を受信するURLや、スプールされた印刷ジョブにアクセスするためのURLが含まれている。Webブラウザ801は、S1109において、受信したJavaScriptを実行し、画像形成装置101に印刷要求を送信する。この印刷要求には、スプールされた印刷ジョブにアクセスするためのURLが含まれている。
【0036】
画像形成装置101は、S1110においてWebブラウザ801に対して印刷要求に対する応答を送信する。次に画像形成装置101は、S1111において、プリントサーバ103に対して印刷ジョブ取得要求を送信する。それに対しプリントサーバ103は、S1112において指定された印刷ジョブを画像形成装置101に送信する。そして、S1113において、プリントサーバ103は、図8に示すように指定された文書の印刷状態を「印刷中」に変更する。また同時にプリントサーバ103は、現在の時刻を印刷ジョブ取得要求受信時刻として管理テーブル601に保持する。
【0037】
画像形成装置101は、S1114において受信した印刷ジョブを印刷する。その後S1115において、画像形成装置101は、プリントサーバ103にジョブが終了したというジョブ状態通知を送信する。プリントサーバ103は、S1116において、指定された文書の印刷状態を「印刷終了」に変更する。なお、図示していないが、画像形成装置101は、印刷を実行中に用紙切れやジャムといったジョブを中断するような状況になった場合は、ジョブが中断されたというジョブ状態通知をプリントサーバ103に送信する。プリントサーバ103はそのジョブ状態通知を受信すると、印刷状態を「中断中」に変更する。
【0038】
その後、画像形成装置101でジョブが中断された原因が解除された際には、画像形成装置101は、ジョブの印刷が再開されたというジョブ状態通知をプリントサーバに送信する。プリントサーバ103はそのジョブ状態通知を受信すると、印刷状態を「印刷中」に変更する。また、画像形成装置101は、印刷を実行中にユーザにより操作パネル205から印刷ジョブがキャンセルされた場合には、ジョブがキャンセルされたというジョブ状態通知をプリントサーバ103に送信する。プリントサーバ103はそのジョブ状態通知を受信すると、印刷状態を「エラー終了」に変更する。
【0039】
[更新処理]
次に、Webブラウザ801から印刷実行後に、文書リストの表示を更新する際のフローについて説明する。図10は、文書リスト表示更新のフローである。本フローに係る画像形成装置101のプログラムは、画像形成装置101の外部記憶装置211に格納されており、RAM202に読み出されCPU201によって実行される。またプリントサーバ103のプログラムは、プリントサーバ103のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。またホストコンピュータ102上で動作するWebブラウザプログラムは、ホストコンピュータ102のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。
【0040】
Webブラウザ801は、S1201においてユーザからの表示更新の入力を受け付け、文書リスト取得要求をプリントサーバ103に送信する。プリントサーバ103は、S1202にて、通常の文書リスト情報に加え、Webブラウザ801に画像形成装置101に対して印刷ジョブ状態取得要求を送信させるJavaScriptを応答に含める。このJavaScriptにて定義された処理によって、ホストコンピュータ102(Webブラウザ801)に、画像形成装置101からの印刷ジョブに対する状態を取得するため命令を実現する。そして、プリントサーバ103は、Webブラウザ801からの文書リスト取得要求に対する応答を送信する。なお、応答に上記命令としてのJavaScriptを含めるかどうかは後述の判断フローに基づく。
【0041】
Webブラウザ801は、S1203において、受信したJavaScriptを実行し、画像形成装置101に対して印刷ジョブ状態取得要求を送信する。画像形成装置101は、S1204において、Webブラウザ801からの印刷ジョブ状態取得要求に対する応答として、画像形成装置101内の印刷ジョブの状態を含むリストを返す。この際、例えば画像形成装置101が一度OFF/ONされており印刷ジョブ状態取得要求を受信した時点で印刷ジョブが存在しない場合は、空のリストを返すことになる。その後、Webブラウザ801は、S1205において、画像形成装置101から取得した印刷ジョブの状態をプリントサーバ103に送信する。プリントサーバ103は、S1206において、Webブラウザ801から受信した印刷ジョブの状態に応じて、管理している印刷ジョブの状態を更新する。
【0042】
[文書リスト取得処理]
次に、プリントサーバ103が、Webブラウザ801から文書リスト取得要求を受信した際の処理を図11〜図13のフローチャートを使用して詳細に説明する。つまり、図11〜図13のフローチャートは、図9に示すS1103からS1104、および図10に示すS1201からS1202の間にプリントサーバ103が行う処理である。
【0043】
図11は、プリントサーバ103の要求受信部501がWebブラウザ801から文書リスト取得要求を受信した際の処理を示すフローチャートである。本フローに係る要求受信部501のプログラムは、プリントサーバ103のHDD312に格納されており、RAM303に読み出され、CPU301によって実行される。
【0044】
S1301において、プリントサーバ103の要求受信部501は、Webブラウザ801から文書リスト取得要求を受信する。S1302において、要求受信部501は文書管理部502にログイン中のユーザ名を指定して文書リスト情報取得要求を通知し、そのユーザの文書リスト情報を取得する。ここでの文書リスト情報取得処理については、図12を用いて詳述する。その際文書リスト情報と共に、スクリプト挿入フラグも返される。スクリプト挿入フラグとは、HTML応答にJavaScriptを含めるかどうかを指定する情報であり、印刷制御部503により設定される。この印刷制御部503による処理については、後述する。
【0045】
S1303において、要求受信部501は文書管理部502から取得した文書リスト情報に基づきHTML応答を生成する。次にS1304において、要求受信部501は応答として返されたスクリプト挿入フラグに対して設定されたTrue/Falseを判定する。スクリプト挿入フラグが“True”であった場合は(S1304にてYES)、S1305に進む。そして、要求受信部501は上述したようなJavaScriptを生成し、HTML応答に挿入する。その後S1306において、要求受信部501は生成されたHTML応答をWebブラウザ801に送信し処理を終了する。またS1304の判定においてスクリプト挿入フラグが“False”であった場合は(S1304にてNO)、S1306において要求受信部501は生成されたHTML応答をWebブラウザ801に送信し処理を終了する。
【0046】
図12は、プリントサーバ103の文書管理部502が要求受信部501から文書リスト取得要求を受信した際の処理を示すフローチャートである。具体的には、図11のS1302にて示した文書リスト情報取得処理に該当する。本処理フローに係る文書管理部502のプログラムは、プリントサーバ103のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。
【0047】
S1401において、文書管理部502は要求受信部501から文書リスト情報取得要求を受信する。S1402において、文書管理部502は印刷制御部503に要求受信部501から通知されたユーザ名を指定して印刷ジョブ状態情報取得要求を通知し、そのユーザの印刷ジョブ状態情報を取得する。その際印刷ジョブ状態情報と共に、後述するスクリプト挿入フラグも返される。ここでの印刷ジョブ状態情報取得処理については、図13を用いて詳述する。S1403において、文書管理部502は管理している文書リスト情報と印刷制御部503から返された印刷ジョブ状態情報を統合する。そしてS1404において、文書管理部502は、統合後の文書リスト情報とスクリプト挿入フラグとを要求受信部501に送信し処理を終了する。
【0048】
図13は、プリントサーバ103の印刷制御部503が文書管理部502から印刷ジョブ状態情報取得要求を受信した際の処理を示すフローチャートである。具体的には、図12のS1402にて示した印刷ジョブ状態情報取得処理に該当する。本フローに係る印刷制御部503のプログラムは、プリントサーバ103のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。
【0049】
S1501において、印刷制御部503は文書管理部502から印刷ジョブ状態情報取得要求を受信する。S1502において、印刷制御部503は文書管理部502から通知されたユーザ名の印刷ジョブの中から、印刷ジョブ状態情報取得要求の受付時刻が最も古い時刻Toを取得する。そしてS1503において、印刷制御部503は現在時刻TcがToからジョブ状況確認時間Xが経過しているかどうかを判定する。ここでジョブ状況確認時間Xは、例えば5分といった予め定義された固定値(一定時間)であるが、管理者がこの時間を0以上の値に自由に設定できるようにしてもよい。S1503の判定の結果がYesである場合には、S1504において、印刷制御部503はスクリプト挿入フラグを“True”に設定しS1505に進む。S1503の判定の結果がNoである場合には、S1506において、印刷制御部503はスクリプト挿入フラグを“False”に設定しS1505に進む。S1505において、印刷制御部503は指定されたユーザの印刷ジョブ状態情報とスクリプト挿入フラグとを文書管理部502に送信し処理を終了する。
【0050】
なお、本処理フローの中で用いられるスクリプト挿入フラグは、例えば図11のS1301において、文書リスト取得要求を受信した際に初期化されてもよい。
【0051】
[スクリプト実行処理]
次に、Webブラウザ801がプリントサーバ103から受信したJavaScriptを実行する際の処理について図14、図15を使用して説明する。図14は、Webブラウザ801が実行するJavaScriptの処理を示すフローチャートである。本フローチャートは、図10にて示したS1203からS1205の間にWebブラウザ801が行う処理である。なお、図15(A)乃至(C)は装置間にて送受信される要求/応答の記述例であり、この記述内容に限定されるものではない。本フローに係るWebブラウザ801が実行するプログラムは、プリントサーバ103からJavaScriptとして返され、ホストコンピュータ102のRAM303に展開された後、CPU301によって実行される。
【0052】
S1601において、Webブラウザ801は画像形成装置101に対して、印刷ジョブ状態取得要求を送信する。図15(A)に印刷ジョブ状態取得要求の記述例を示す。次にS1602において、Webブラウザ801は画像形成装置101から応答があったかどうかを判定する。通常であれば画像形成装置101からは常に応答があるが、例えば画像形成装置101の電源がOFFされていた場合には応答はない。S1602で応答があった場合は(S1602にてYES)、S1603に進み、Webブラウザ801は画像形成装置101から応答を受信する。
【0053】
図15(B)に応答の記述例を示す。次にS1604において、Webブラウザ801はプリントサーバ103から返された印刷ジョブがすべて、画像形成装置101から返された応答の中に存在しているかを判定する。S1604においてすべて存在していると判定された場合は(S1604にてYES)、Webブラウザ801はJavaScriptの処理を終了する。すなわち、すべての印刷ジョブに対する処理が画像形成装置にて、継続中であるため、プリントサーバ103に対して通知は行われない。S1604において存在しない印刷ジョブがあると判定された場合は(S1604にてNO)、S1605に進み、Webブラウザ801は存在しなかった印刷ジョブのエラー通知をプリントサーバ103に送信し、JavaScriptの処理を終了する。図15(C)にエラー通知の記述例を示す。またS1602で画像形成装置101から応答がなかった場合は(S1602にてNO)、S1605に進む。この場合には、すべての印刷ジョブが存在しなかったものとして、S1605にてすべての印刷ジョブに対するエラー通知の処理を行い、JavaScriptによる処理を終了する。
【0054】
[要求/応答の記述例]
図15(A)は、図14のフローチャートのS1601において送信される印刷ジョブ状態取得要求の例である。印刷ジョブ状態取得要求はXML形式で記述される。なお図15(A)ではWebサービスとして共通で使用されるHTTPおよびSOAPのヘッダは説明を簡略化するため、記載していない。
【0055】
図15(B)は、図14のフローチャートのS1603において画像形成装置101からWebブラウザ801に対して返される応答の例である。図15(A)と同様にXMLにおける必要部分のみを記載している。<Jobs>タグ内には現在、画像形成装置101が処理しているジョブの情報が記述される。応答に<Job>タグが一つも出現しない場合は、画像形成装置101が現在処理しているジョブはないということを示す。
【0056】
図15(C)は、図14のフローチャートのS1605において送信されるエラー通知の例である。図15(A)と同様にXMLの必要部分のみを記載している。ここで、<Jobs>タグ内に、エラーになったと判断されたジョブの情報が記述される。
【0057】
なお、本実施形態においては、プリントサーバ103は1台で動作する構成となっているが、複数台でクラスタリングすることにより負荷分散を行うような構成であってもよい。
【0058】
以上、本発明によれば、画像形成装置の停止などにより、画像形成装置自身が印刷ジョブの状態をプリントサーバに通知できない状況になった場合であっても、プリントサーバでそのジョブ状態を管理することを可能とする。
【0059】
<第二の実施形態>
次に第二の実施形態について説明する。第一の実施形態においては、プリントサーバ103が、Webブラウザ801から受信した文書リスト取得要求に対するHTML応答にJavaScriptを含めるようになるまでの時間は固定であった。本実施形態においては、プリントサーバ103でその時間を印刷ジョブごとに適切な値に変更するような制御を行う。これにより、例えばサイズが大きく印刷完了までの時間がかかる印刷ジョブに関してはその時間を大きくし、画像形成装置への無駄な問合せを削減させることが可能となる。なお、本実施形態においては第一の実施形態と同一部分に関する説明は省略し、その差異についてのみ説明する。
【0060】
図5(B)は、印刷制御部503が管理する管理テーブルの例である。本実施形態における管理テーブル2001においては、印刷ジョブごとに印刷予測時間2002の情報を保持している。この印刷予測時間2002は、印刷制御部503が印刷要求を受信し画像形成装置101において印刷可能なフォーマットに変換を行った際に、印刷ジョブのサイズ、ページ数、PDLの種別等の情報から計算される。この印刷予測時間を用いて、当該印刷ジョブに対する終了予測時刻を予測する。ここでの印刷予測時間の計算に用いられる情報は予め定義されているものとする。
【0061】
図16は、プリントサーバ103の印刷制御部503が文書管理部502から印刷ジョブ状態情報取得要求を受信した際の処理を示すフローチャートである。本フローに係る印刷制御部503のプログラムは、プリントサーバ103のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。なお、本処理フローは、第一の実施形態において述べた図13の処理に対応し、その処理に代わって実行される。
【0062】
S2101において、印刷制御部503は文書管理部502から印刷ジョブ状態情報取得要求を受信する。S2102において、印刷制御部503は文書管理部502から通知されたユーザ名の印刷ジョブの中から、(印刷ジョブ取得要求受付時刻+印刷予測時間)が最も古い時刻となる印刷ジョブを抽出し、その計算された時刻をTpとする。そしてS2103において、印刷制御部503は現在時刻TcがこのTpを経過しているか否かを判定する。S2103の判定の結果がYesである場合には、S2104において、印刷制御部503はスクリプト挿入フラグを“True”に設定し、S2105に進む。S2103の判定の結果がNoである場合には、S2106において、印刷制御部503はスクリプト挿入フラグを“False”に設定しS2105に進む。S2105において、印刷制御部503は指定されたユーザの印刷ジョブ状態情報とスクリプト挿入フラグとを文書管理部502に送信し処理を終了する。
【0063】
以上、本実施形態によれば、第一の実施形態による効果に加え、更に画像形成装置への無駄な問合せを削減させることが可能となる。
【0064】
<第三の実施形態>
次に第三の実施形態について説明する。第一および第二の実施形態においては、Webブラウザ801が画像形成装置101から印刷ジョブ状態を取得した後、印刷ジョブが削除されていた場合等、何らかの問題があった場合にのみプリントサーバ103に対して通知(エラー通知)を行っていた。
【0065】
本実施形態においては、Webブラウザ801は画像形成装置から取得した印刷ジョブ状態に問題がなかった場合においてもプリントサーバ103に通知を行う。そしてプリントサーバ103は次に文書リスト取得要求を受信した場合にHTML応答にJavaScriptを含めるようになるまでの時間をリセットする。これにより、他ユーザの大量印刷ジョブで画像形成装置が使用されている等の理由で単に印刷ジョブが待たされているだけの場合には、プリントサーバから画像形成装置への無駄な問合せを削減させることが可能となる。なお、本実施形態においては第一の実施形態と同一部分に関する説明は省略し、その差異についてのみ説明する。
【0066】
図5(C)は、印刷制御部503が管理する管理テーブルの例である。本実施形態における管理テーブル2201においては、印刷ジョブごとに印刷状態最終更新時刻2202の情報を保持している。この印刷状態最終更新時刻2202は、Webブラウザ801から印刷ジョブ状態通知を受信する毎に、その時点での時刻に更新される。
【0067】
図17は、プリントサーバ103の印刷制御部503が文書管理部502から印刷ジョブ状態情報取得要求を受信した際の処理を示すフローチャートである。本フローに係る印刷制御部503のプログラムは、プリントサーバ103のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。なお、本処理フローは、第一の実施形態にて述べた図13の処理フロー、第二の実施形態にて述べた図16の処理フローに代わるものである。
【0068】
S2301において、プリントサーバ103の印刷制御部503は、文書管理部502から印刷ジョブ状態情報取得要求を受信する。S2302において、印刷制御部503は文書管理部502から通知されたユーザ名の印刷ジョブの中から、印刷状態最終更新時刻2202が最も古い印刷ジョブの時刻Tnを取得する。そしてS2303において、印刷制御部503は現在時刻TcがTnにジョブ状況確認時間Xを加えた時刻(Tn+X)を経過しているか否かを判定する。ここでジョブ状況確認時間Xは、例えば5分といった予め定義された固定値(一定時間)であるが、管理者がこの時間を0以上の値に自由に設定できるようにしてもよい。従って、このジョブ状況確認時間Xは処理の負荷等を考慮して設定可能である。
【0069】
S2303の判定の結果がYesである場合には、S2304において、印刷制御部503はスクリプト挿入フラグを“True”に設定しS2305に進む。S2303の判定の結果がNoである場合には、S2306において、印刷制御部503はスクリプト挿入フラグを“False”に設定しS2305に進む。S2305において、印刷制御部503は指定されたユーザの印刷ジョブ状態情報とスクリプト挿入フラグとを文書管理部502に送信し処理を終了する。
【0070】
[スクリプト実行処理]
次に、Webブラウザ801がプリントサーバ103から受信したJavaScriptを実行する際の処理について図15(D)、図18を使用して説明する。図18は、Webブラウザ801が実行するJavaScriptの処理を示すフローチャートである。本フローに係るWebブラウザ801が実行するプログラムは、プリントサーバ103からJavaScriptとして返され、ホストコンピュータ102のRAM303に展開された後、CPU301によって実行される。なお、本処理フローは、第一の実施形態にて述べた図14の処理フローに対応し、その処理に代わるものである。
【0071】
S2401において、Webブラウザ801は画像形成装置101に、印刷ジョブ状態取得要求を送信する。ここでの印刷ジョブ状態取得要求は、第一の実施形態にて示した図15(A)と同様である。次にS2402において、Webブラウザ801は画像形成装置101から応答があったかどうかを判定する。通常であれば画像形成装置101からは常に応答があるが、例えば画像形成装置101の電源がOFFされていた場合には応答はない。S2402で応答があった場合は(S2402にてYES)S2403に進み、Webブラウザ801は画像形成装置101から応答を受信する。ここでの応答は、第一の実施形態にて示した図15(B)と同様である。
【0072】
次にS2404において、Webブラウザ801はプリントサーバ103から返された印刷ジョブがすべて、画像形成装置101から返された応答の中に存在しているかを判定する。S2404においてすべて存在していると判定された場合は(S2404にてYES)S2405に進み、Webブラウザ801は印刷ジョブ状態通知をプリントサーバ103に送信し、JavaScriptの処理を終了する。ここで送信される印刷ジョブ状態通知の記述例を図15(D)に示す。S2404において存在しない印刷ジョブがあると判定された場合は(S2404にてNO)S2406に進み、Webブラウザ801は存在しなかった印刷ジョブのエラー通知をプリントサーバ103に送信し、JavaScriptの処理を終了する。ここで送信される印刷ジョブのエラー通知は、第一の実施形態にて示した図15(C)と同様である。またS2402で画像形成装置101から応答がなかった場合はS2406に進む。この場合にはすべての印刷ジョブが存在しなかったものとして、すべての印刷ジョブに対するエラー通知を送信し、JavaScriptの処理を終了する。
【0073】
図15(D)は、図18のフローチャートのS2405において送信される印刷ジョブ状態通知の例である。図15(A)と同様に、説明を簡略化するため、XMLの必要部分のみを記載している。<Jobs>タグ内に、画像形成装置101で現在処理中の印刷ジョブの情報が記述される。
【0074】
以上、本実施形態により、第一の実施形態の効果に加え、他ユーザの大量印刷ジョブで画像形成装置が使用されている等の理由により、単に印刷ジョブが待たされているだけの場合には、画像形成装置への無駄な問合せを削減させることが可能となる。
【0075】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムであって、
前記印刷サーバは、
前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理手段と、
前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信手段と
を有し、
前記要求受信手段は、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、
前記管理手段は、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新し、
前記情報処理装置は、
前記印刷サーバへ前記印刷要求を送信する送信手段と、
前記送信手段が送信した前記印刷要求に対する前記印刷サーバからの応答に含まれる命令に従って、前記画像形成装置への印刷ジョブの状態取得要求を前記画像形成装置へ送信する要求手段と、
前記要求手段にて送信した当該印刷ジョブの状態取得要求の応答として前記画像形成装置から返された当該印刷ジョブの状態を、前記印刷サーバへ通知する通知手段と
を有することを特徴とする印刷ジョブ管理システム。
【請求項2】
前記情報処理装置の通知手段は、前記画像形成装置から返された前記印刷ジョブの状態に応じて、当該印刷ジョブの状態を前記印刷サーバへ通知することを特徴とする請求項1に記載の印刷ジョブ管理システム。
【請求項3】
前記印刷サーバの管理手段は、印刷ジョブに対する処理が開始されてから一定時間が経過しているか否かを判断し、
前記一定時間が経過している場合に、前記印刷サーバの要求受信手段は前記命令を前記応答に含めて前記情報処理装置に返すことを特徴とする請求項1または2に記載の印刷ジョブ管理システム。
【請求項4】
前記印刷サーバの管理手段は、印刷ジョブに対する処理の終了予測時刻を経過しているか否かを判断し、
前記終了予測時刻が経過している場合に、前記印刷サーバの要求受信手段は前記命令を前記応答に含めて前記情報処理装置に返すことを特徴とする請求項1または2に記載の印刷ジョブ管理システム。
【請求項5】
前記印刷サーバの管理手段は、前記情報処理装置から印刷ジョブの状態を受信した時刻から一定時間が経過しているか否かを判断し、
前記一定時間が経過している場合に、前記印刷サーバの要求受信手段は前記命令を前記応答に含めて前記情報処理装置に返すことを特徴とする請求項1または2に記載の印刷ジョブ管理システム。
【請求項6】
情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムにおける印刷サーバであって、
前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理手段と、
前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信手段と
を有し、
前記要求受信手段は、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、
前記管理手段は、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新することを特徴とする印刷サーバ。
【請求項7】
情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムにおける情報処理装置であって、
前記印刷サーバへ印刷要求を送信する送信手段と、
前記送信手段が送信した前記印刷要求に対する前記印刷サーバからの応答に含まれる命令に従って、前記画像形成装置への印刷ジョブの状態取得要求を前記画像形成装置へ送信する要求手段と
前記要求手段にて送信した当該印刷ジョブの状態取得要求の応答として前記画像形成装置から返された当該印刷ジョブの状態を、前記印刷サーバへ通知する通知手段と
を有することを特徴とする情報処理装置。
【請求項8】
情報処理装置、印刷サーバ、及び画像形成装置を含む印刷ジョブ管理システムにおける制御方法であって、
前記印刷サーバにおいて、
管理手段が、前記情報処理装置から印刷要求を受け、当該印刷要求に対応し、前記画像形成装置にて実行される印刷ジョブの状態を管理する管理工程と、
要求受信手段が、前記情報処理装置から前記印刷要求を受信し、当該印刷要求に対する応答を返す要求受信工程と
を有し、
前記要求受信工程において、前記画像形成装置へ印刷ジョブの状態取得要求を送信させる命令を、前記応答に含めて前記情報処理装置に返し、
前記管理工程において、前記情報処理装置から受信した印刷ジョブの状態に応じて管理している当該印刷ジョブの状態を更新し、
前記情報処理装置において、
送信手段が、前記印刷サーバへ前記印刷要求を送信する送信工程と、
前記送信工程において送信した前記印刷要求に対する前記印刷サーバからの応答に含まれる命令に従って、前記画像形成装置への印刷ジョブの状態取得要求を前記画像形成装置へ送信する要求工程と、
通知手段が、前記要求工程において送信した当該印刷ジョブの状態取得要求の応答として前記画像形成装置から返された当該印刷ジョブの状態を、前記印刷サーバへ通知する通知工程と
を有することを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate