印刷システム、印刷装置、及び印刷装置の制御方法
【課題】印刷装置がエラーやジャムで停止する可能性を低くすることができる印刷システムを提供する。
【解決手段】印刷システムは、印刷装置105〜108での印刷データの処理結果情報を印刷装置105〜108および情報管理サーバ101に保存する。印刷装置105は、印刷データの処理前に前記保存情報に基づいて該印刷装置105でエラーやジャムの発生の可能性を判定する。エラーやジャムの発生可能性が高いと判定した場合は、情報管理サーバ101から得た代替印刷装置の候補リストからホストPC上でユーザにより選択された代替印刷装置に印刷装置105から印刷データを転送して処理する。
【解決手段】印刷システムは、印刷装置105〜108での印刷データの処理結果情報を印刷装置105〜108および情報管理サーバ101に保存する。印刷装置105は、印刷データの処理前に前記保存情報に基づいて該印刷装置105でエラーやジャムの発生の可能性を判定する。エラーやジャムの発生可能性が高いと判定した場合は、情報管理サーバ101から得た代替印刷装置の候補リストからホストPC上でユーザにより選択された代替印刷装置に印刷装置105から印刷データを転送して処理する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、ホストPCから印刷装置に送信された印刷ジョブを他の印刷装置に転送する印刷システム、印刷装置、及び印刷装置の制御方法に関する。
【背景技術】
【0002】
従来、ホストPCから送信された印刷ジョブを印刷装置で処理中に何らかのエラー(PDLエラーなど)やシートのジャムが発生した場合に、その後の印刷ジョブを他の印刷装置に転送して印刷する、いわゆる代替印刷が行われている。
【0003】
通常の代替印刷では、エラーやジャムなどの障害が発生して代替印刷が行われた後、障害から回復した印刷装置に障害の原因となった印刷ジョブと同じ印刷ジョブを送信すると、同じ障害が発生してしまう。
【0004】
そこで、印刷ジョブを生成したホストPC毎の障害発生頻度を記録し、障害発生頻度の高いホストPCからの印刷ジョブの優先度を下げ、また、障害発生頻度を印刷ジョブを作成したアプリケーション毎に管理する技術が提案されている(特許文献1)。
【0005】
この提案では、障害発生頻度の高いホストPCからの印刷ジョブや障害発生頻度の高いアプリケーションで作成した印刷ジョブの優先度を下げることで、印刷装置の障害の発生を先送りし、その他の印刷ジョブを処理することができる。
【特許文献1】特開平11−24854号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、上記特許文献1では、障害の発生を先送りはできるものの、該当する印刷装置での障害の発生を回避することはできない。また、障害発生の頻度情報だけでは障害の発生を予測するための情報としては十分ではない。例えば、あるアプリケーションで作成した印刷ジョブの障害発生の頻度が高くても、印刷ジョブを構成するPDLデータのコマンドパターン等によっては障害が発生しない場合もある。逆に、障害発生頻度が低いアプリケーションで作成した印刷ジョブであっても、PDLデータのコマンドパターンやページ数等によっては障害が発生する場合もある。
【0007】
そこで、本発明は、印刷装置がエラーやジャムで停止する可能性を低くすることができる印刷システム、印刷装置、及び印刷装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の印刷システムは、複数の印刷装置、及び該複数の印刷装置を管理するサーバを備える印刷システムであって、前記印刷装置は、印刷データの処理結果情報を保存する保存手段と、前記処理結果情報を前記サーバに通知する通知手段と、情報処理装置から送信された印刷データから識別情報を抽出する抽出手段と、前記識別情報と前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断手段と、該判断手段が前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ手段と、該問い合わせ手段による問い合わせに応じて前記サーバから取得した代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信手段と、を備え、前記サーバは、前記通知手段により前記印刷装置から通知される印刷データの処理結果情報を管理する管理手段と、前記問い合わせ手段による前記印刷装置からの問い合わせ要求に応じて、前記管理手段で管理される前記処理結果情報に基づいて、前記転送先の代替印刷装置を決定する決定手段と、該決定手段で決定した前記転送先の代替印刷装置を特定する情報を前記問い合わせ要求元の印刷装置に返送する返送手段と、を備えることを特徴とする。
【0009】
本発明の印刷装置は、情報処理装置と1つ以上の他の印刷装置と複数の印刷装置を管理するサーバと通信可能な印刷装置であって、印刷データの処理結果情報を保存する保存手段と、前記処理結果情報を前記サーバに通知する通知手段と、前記情報処理装置から送信された印刷データから識別情報を抽出する抽出手段と、前記識別情報と前記保存手段に保存された前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断手段と、前記判断手段が前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ手段と、前記問い合わせ手段による問い合わせに応じて前記サーバから送信された代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信手段と、を備えることを特徴とする。
【0010】
本発明の印刷装置の制御方法は、情報処理装置と1つ以上の他の印刷装置と複数の印刷装置を管理するサーバと通信可能な印刷装置の制御方法であって、印刷データの処理結果情報を保存手段に保存する保存工程と、前記処理結果情報を前記サーバに通知する通知工程と、前記情報処理装置から送信された印刷データから識別情報を抽出する抽出工程と、 前記識別情報と前記保存手段に保存された前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断工程と、前記判断工程で前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ工程と、前記問い合わせ工程による問い合わせに応じて前記サーバから送信された代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信工程と、を備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、印刷装置がエラーやジャムで停止する可能性を低くし、稼動効率を上げることが可能となる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施形態を図面を参照して説明する。
【0013】
(第1の実施形態)
図1は、本発明の第1の実施形態である印刷システムの構成例を説明するためのブロック図である。
【0014】
図1に示すように、本実施形態の印刷システムは、情報管理サーバ101、複数のホストPC(情報処理装置)102,103,104、及び複数の印刷装置105,106,107,108がネットワーク100を介して互いに通信可能に接続されている。
【0015】
情報管理サーバ101は、印刷装置105,106,107,108での印刷ジョブの処理結果を管理する。
【0016】
ホストPC102,103,104は、それぞれホストPC102,103,104上で動作するアプリケーションで作成されたデータからプリンタドライバで生成したPDLデータをネットワーク100を介して印刷装置に転送する。
【0017】
印刷装置105,106,107,108は、ホストPCから転送されたPDLデータを処理して印刷物を生成する。
【0018】
図2は、情報管理サーバ101のシステム構成例を説明するためのブロック図である。なお、ホストPC102,103,104のシステム構成については、情報管理サーバ101と同様であるので、説明を省略する。
【0019】
図2において、CPU901は、装置全体の制御を司る。RAM902は、CPU901の主メモリとして機能する他、制御プログラムのワークエリアや一時待避領域として使用される。また、RAM902は、後述する代替印刷装置リストの生成に使用するテーブル500〜503(図11参照)を一時的に格納する。
【0020】
ROM903は、CPU901の動作処理手順を記憶する。ROM903のプログラムROMには、システムプログラムや制御プログラムが記憶され、データROMには、システムを稼動するために必要な情報等が記憶される。
【0021】
ネットワークI/F904は、ネットワーク100に接続し、データ送受信のためのデータ制御や診断を行う。VRAM905は、システムの稼動状態を示す表示装置906の画面に表示される画像を展開し、その表示を制御する。外部入力コントローラ907は、キーボードやポインティングデバイス(マウスなど)などの外部入力装置908からの入力信号を制御する。
【0022】
HDD909は、印刷データの一時保存や情報テーブル201(後述する)の保存用に使用される。また、HDD909に保存された情報テーブル201は、一時的に利用するためにRAM902に展開される。
【0023】
外部記憶装置910は、フレキシブルディスクなどのリムーバブルディスクドライブであり、アプリケーションプログラムの媒体からの読み出しなどに使用される。I/Oバス900は、各ユニット間を接続するためのアドレスバス、データバスおよび制御バスである。
【0024】
図3は、印刷装置105,106,107,108のシステム構成例を説明するためのブロック図である。
【0025】
図3において、CPU1001は、装置全体の制御を司る。RAM1002は、CPU1001の主メモリとして機能する他、制御プログラムのワークエリアや一時待避領域として使用される。
【0026】
ROM1003は,CPU1001の動作処理手順を記憶する。ROM1003のプログラムROMには、システムプログラムや制御プログラムが記憶され、データROMには、システムを稼動するために必要な情報等が記憶される。
【0027】
ネットワークI/F1004は、ネットワーク100に接続し、データ送受信のためのデータ制御や診断を行う。VRAM1005は、システムの稼動状態を示す表示装置1006の画面に表示される画像を展開し、その表示を制御する。外部入力コントローラ1007は、キーボードやポインティングデバイス(マウスなど)などの外部入力装置1008からの入力信号を制御する。
【0028】
HDD1009は、ホストPCから転送されたPDLデータや処理結果情報テーブル200を保存する。外部記憶装置1010は、フレキシブルディスクなどのリムーバブルディスクドライブであり、アプリケーションプログラムの媒体からの読み出しや情報テーブル200の媒体へのバックアップなどに使用される。
【0029】
プリンタコントローラ1011は、プリンタエンジン1012の制御と出力する画像の制御を行う。プリンタエンジン1012は、プリンタコントローラ1011の指示に従い、プリンタコントローラ1011から送信される印刷データをシートに印刷する。I/Oバス1000は、各ユニット間を接続するためのアドレスバス、データバスおよび制御バスである。
【0030】
図4(a)は印刷装置105で管理される情報テーブル200の一例を示す図、図4(b)は情報管理サーバ101で管理される情報テーブル201の一例を示す図である。
【0031】
印刷装置105で管理される情報テーブル200は、HDD1009に保存され、CPU1001の指示によりRAM1002に読み込まれて参照される。情報管理サーバ101で管理される情報テーブル201は、HDD909に保存され、CPU901の指示によりRAM902に読み込まれて参照される。図4(a)の情報テーブル200は、印刷装置105〜108の各々が記憶しており、図4(b)の情報テーブル201は、印刷装置105〜108がそれぞれ記憶している情報テーブル200の情報をすべて収集したものである。
【0032】
印刷装置105で管理される情報テーブル200には、PDLデータを印刷ジョブとして発行したユーザのユーザID、PDLデータの元となった文書データを作成したアプリケーション名が記載されている。また、情報テーブル200には、PDLデータを構成するPDLの名前、PDLデータの処理結果情報、回数が記載されている。
【0033】
図4(a)において、行番号5の行のように、ユーザIDの列にサーバと記述されている行は、情報管理サーバ101で管理される全ての印刷装置でエラーまたはジャムとなった処理結果情報を表す。この行は、情報管理サーバ101からの通知に従って追加される。この行の追加処理については後述する。
【0034】
なお、図4における各テーブル200,201の項目としては、印刷ジョブを発行したホストPCを特定する情報(IPアドレスなど)などの項目を含んでいても良いものとする。また、アプリケーション名やPDL名の項目には、アプリケーションやPDLのバージョンを特定する情報が含まれていてもよい。
【0035】
PDLデータの処理結果情報は、処理結果ステータスと付随情報から構成される。処理結果ステータスには、処理が成功したことを示すSUCCESS:、エラーが発生したことを示すERROR:、ジャムが発生したことを示すJAM:のいずれかが記載される。
【0036】
処理結果ステータスSUCCESS:には付随情報は存在しない。処理結果ステータスERROR:の付随情報は、エラーが発生したPDLのコマンドから規定個数を遡ってPDLコマンドのコマンド列を記述したものである。本実施形態では、規定個数は5であり、各コマンドの引数は無視される。コマンド間は、セミコロン“;”で区切られる。処理結果ステータスJAM:の付随情報は、ジャムが発生したPDLデータの総ページ数である。
【0037】
次に、図5及び図6を参照して、印刷装置105の処理例について説明する。図5及び図6での各処理は、印刷装置105のROM1003やHDD1009等に記憶された制御プログラムがRAM1002にロードされて、CPU1001により実行される。
【0038】
図5において、ステップS300では、CPU1001は、ホストPC102,103,104の何れかで生成されたPDLデータをネットワーク100を経由して受信すると、ステップS301に進む。
【0039】
ステップS301で、CPU1001は、受信したPDLデータを解析し、PDLデータを生成したホストPCのユーザID、PDLデータの元になった文書データを作成したアプリケーション名、PDL名(識別情報)を抽出し、ステップS302に進む。
【0040】
ステップS302では、CPU1001は、情報テーブル200に、ユーザID、アプリケーション名、PDL名がステップS301で抽出したものと同じで処理結果情報がSUCCESS:以外の行が存在するか否かを判断する。そして、CPU1001は、対応する行が存在する場合は、ステップS303に進み、対応する行が存在しない場合は、図6のステップS314に進む。
【0041】
図6において、ステップS314では、CPU1001は、受信したPDLデータを印刷し、ステップS315に進む。ここでの印刷は、ROM1003に格納されたPDL処理プログラムをCPU1001で実行し、処理結果の画像をRAM1002に作成し、プリンタコントローラ1011を介してプリンタエンジン1012に送ることにより実行される。
【0042】
ステップS315で、CPU1001は、PDLデータの印刷処理結果を情報テーブル200に追加する。このとき、CPU1001は、ユーザID、アプリケーション名、PDL名、処理結果情報の全てが等しいものがない場合は、新規に行を追加し、回数を1にして登録する。また、処理結果がSUCCESS:の場合は、既に同じユーザID、アプリケーション名、PDL名の行が存在する場合がある。この場合は、CPU1001は、対応する行の回数の値を1増加させ、その後、ステップS316に進む。
【0043】
ステップS316では、CPU1001は、ステップS315で情報テーブル200に追加した情報を情報管理サーバ101に通知し、処理を終了する。
【0044】
(印刷装置での処理結果情報によるPDLデータのエラー/ジャム予測(解析処理))
図5に戻って、ステップS303では、CPU1001は、条件にマッチする行の行数を変数MAXに設定し、ステップS304に進む。
【0045】
ステップS304では、CPU1001は、カウンタ変数Iを1に初期化し、ステップS305に進む。
【0046】
ステップS305では、CPU1001は、カウンタ変数Iの値が変数MAXの値を超えているか否かを判断し、IがMAXを超えている場合は、図6のステップS314に進み、IがMAX以下の場合は、ステップS306に進む。
【0047】
ステップS306では、CPU1001は、情報テーブル200のI行目の処理結果ステータスがERROR:であるか否かを判断する。そして、CPU1001は、処理結果ステータスがERROR:で無い場合は、ステップS308に進み、処理結果ステータスがERROR:の場合は、ステップS307に進む。
【0048】
ステップS307では、CPU1001は、受信したPDLデータに、情報テーブル200のI行目の処理結果情報項目のコマンドパターンが含まれるか否かを判断する。そして、CPU1001は、コマンドパターンが含まれない場合は、ステップS309に進み、コマンドパターンが含まれる場合は、図6のステップS318に進む。
【0049】
ステップS309では、CPU1001は、カウンタ変数Iの値を1増加させ、ステップS305に戻る。
【0050】
ステップS308では、CPU1001は、受信したPDLデータの総ページ数が、情報テーブル200のI行目の処理結果情報項目のページ数以上か否かを判断する。そして、CPU1001は、PDLデータの総ページ数が処理結果情報項目のページ数未満の場合は、ステップS309に進み、PDLデータの総ページ数が処理結果情報項目のページ数以上の場合は、図6のステップS318に進む。
【0051】
図6において、ステップS318では、CPU1001は、情報テーブル200にI行目のユーザIDがサーバであるか否かを判断する。ユーザIDがサーバである場合は、対応するPDLデータが情報管理サーバ101の管理する全ての印刷装置でエラーまたはジャムになったことを意味する。従って、CPU1001は、ユーザIDがサーバである場合は、ステップS313に進み、ユーザIDがサーバでない場合は、ステップS310に進む。
【0052】
ステップS313では、CPU1001は、ホストPCでのユーザ操作等により印刷処理がキャンセルされたか否かを判断し、キャンセルされた場合は、処理を終了し、キャンセルされない場合は、ステップS314に進む。
【0053】
ステップS310では、CPU1001は、情報管理サーバ101に転送先の代替印刷装置を問合せ、ステップS311に進む。代替印刷装置の問合せには、印刷装置105の情報テーブル200の行番号を除く項目内容と、自身の印刷装置IDを情報管理サーバ101に送信する。
【0054】
(代替印刷装置の選択)
ステップS311では、CPU1001は、情報管理サーバ101から後述する転送先の代替印刷装置リスト503(図11(d)参照)を取得したか否かを判断し、取得した場合は、ステップS312に進み、取得しない場合は、ステップS313に進む。
【0055】
ステップS312では、CPU1001は、ホストPCのWebブラウザでのプリファレンス指定ページ600(図7)で指定されたプリファレンスに従って、図8に示す代替印刷装置指定ダイアログ(選択画面)700の表示指示をホストPCに送信する。
【0056】
プリファレンス指定ページ600は、例えば、印刷装置の管理者が印刷装置のWebベースの管理画面にアクセスすることによって、ホストPC102,103,104のWebブラウザに表示される。また、印刷装置の管理者等によってプリファレンス指定ページ600で指定されたプリファレンスの内容は、印刷装置のHDD1009に保存される。
【0057】
プリファレンス指定ページ600では、代替印刷装置指定ダイアログ700に代替印刷装置として表示する項目の指定、代替候補が無い場合の処理、処理実績がある印刷装置の信頼度を高とするために必要な実績回数が指定される。また、本実施形態のプリファレンス指定ページ600では、一例として以下のように指定されている。すなわち、代替印刷装置として表示する項目として全ての項目が選択される。また、代替候補が無い場合の処理として「印刷するかキャンセルするかを選択させる」が選択され、信頼度を高とするための実績回数として10が指定されている。
【0058】
プリファレンス指定ページ600の指定内容と代替印刷装置リスト503とに従って一覧の代替印刷装置を表示した例が図8に示す代替印刷装置指定ダイアログ700になる。代替印刷装置指定ダイアログ700は、印刷装置105から印刷ジョブを発行したホストPCに対してネットワーク100を介して表示指示をすることにより、ホストPCの表示装置906に表示される。
【0059】
図11(b)に示す代替印刷装置リスト503において、行番号2の印刷装置4(図1の印刷装置108に相当)の信頼度はSUCCESSであるが、実績回数が3であり、信頼度を高とする回数に達していない。このため、図8に示す代替印刷装置指定ダイアログ700では、図11(b)に示す行番号2の印刷装置4に対応するプリンタ02の信頼度の表示は中になっている。また、代替印刷装置リスト503での信頼度がUNKNOWNまたはDOUBTFULの場合は、代替印刷装置指定ダイアログ700での信頼度の表示は低になる。
【0060】
ホストPCのユーザは、外部入力装置907のポインティングデバイス等により、代替印刷装置指定ダイアログ700のリストから代替印刷装置を選択し、印刷ボタンを押すことにより、選択された代替印刷装置で正常にPDLデータを印刷することができる。また、キャンセルボタンを押すことにより印刷を中止することができる。そして、ホストPCは、ユーザが印刷装置指定ダイアログ700のリストから代替印刷装置を選択し、印刷ボタンを押すと、その選択情報をネットワーク100を介して印刷装置105に送信する。
【0061】
図6に戻って、ステップS319では、CPU1001は、ホストPCから前記選択情報を受信すると、ユーザが選択した代替印刷装置にPDLデータを転送し、処理を終了する。
【0062】
次に、図9及び図10を参照して、情報管理サーバ101の処理例について説明する。図9及び図10での各処理は、情報管理サーバ101のROM903やHDD909等に記憶された制御プログラムがRAM902にロードされて、CPU901により実行される。
【0063】
図9において、ステップS401では、CPU901は、印刷装置105からの要求を受信すると、該要求が処理結果情報の登録処理か否かを判断し、登録処理でない場合は、ステップS403に進み、登録処理の場合は、ステップS402に進む。
【0064】
ステップS402では、CPU901は、HDD909に格納されている情報テーブル201(図4(b))に、印刷装置105から通知された処理結果情報を追加更新し、処理を終了する。
【0065】
ここで、既に存在する行の印刷装置ID、回数の項目以外のアプリケーション名、PDL名、処理結果情報が等しく、処理結果ステータスがSUCCESS:でない行が追加された場合は、回数の項目を更新する。また、前記条件に対応する行が追加された場合は、既存の行の回数を1増加させ、追加された行の回数に増加後の値を設定する。
【0066】
図4(b)の情報テーブル201の例では、行番号7の行が追加される以前の状態では、行番号1の行の回数は1になっている。印刷装置IDと回数以外の項目が一致する行番号7が追加された時点で、行番号1の回数が1増加して2になり、追加された行番号7の行の回数も2になる。
【0067】
処理結果ステータスがSUCCESS:でない場合の回数が情報管理サーバ101が管理する印刷装置の数と等しくなった場合は、その行で表わされる処理結果情報のコマンドパターンもしくはページ数が全ての印刷装置でエラー又はジャムになったことを表わす。
【0068】
一方、ステップS403では、CPU901は、変数Nに情報テーブル201の行数を設定し、ステップS404に進む。
【0069】
ステップS404では、CPU901は、カウンタ変数Iを1に初期化し、ステップS405に進む。
【0070】
ステップS405では、CPU901は、カウンタ変数Iが変数Nを越えているか否かを判断し、カウンタ変数Iが変数Nを越えている場合は、図10のステップS414に進み、カウンタ変数Iが変数N以下の場合は、ステップS406に進む。
【0071】
ステップS406では、CPU901は、情報テーブル201のI行目の印刷装置IDが、代替印刷装置問合せの要求元の印刷装置(図6のステップS310参照)の印刷装置IDと等しいか否かを判断する。そして、CPU901は、要求元の印刷装置IDと等しい場合は、ステップS413に進み、要求元の印刷装置IDと異なる場合は、ステップS416に進む。
【0072】
ステップS413では、CPU901は、カウンタ変数Iの値を1増加させ、ステップS405に戻る。
【0073】
ステップS416では、CPU901は、印刷装置105からの問合せ情報に含まれるアプリケーション名とPDL名が、I行目のアプリケーション名とPDL名と等しいか否かを判断する。そして、CPU901は、アプリケーション名、PDL名の何れかが異なる場合は、ステップS413に進み、カウンタ変数Iの値を1増加させて、ステップS405に戻る。また、CPU901は、アプリケーション名、PDL名ともに等しい場合は、図10のステップS407に進む。
【0074】
図10において、ステップS407では、CPU901は、印刷装置105からの問合せ情報に含まれる処理結果情報の処理結果ステータスと情報テーブル201のI行目の処理結果情報の処理結果ステータスとが、共にERROR:であるか否かを判断する。そして、CPU901は、処理結果情報の処理結果ステータスのいずれかがERROR:で無い場合は、ステップS409に進み、処理結果情報の処理結果ステータスの両方ともERROR:の場合は、ステップS408に進む。
【0075】
ステップS408では、CPU901は、印刷装置105からの問合せ情報に含まれる処理結果情報のコマンドパターンと情報テーブル201のI行目の処理結果情報のコマンドパターンとが等しいか否かを判断する。そして、CPU901は、コマンドパターンが等しい場合は、ステップS412に進み、コマンドパターンが異なる場合は、ステップS411に進む。
【0076】
ステップS412では、CPU901は、I行目の印刷装置IDを除外印刷装置IDリストに追加し、図9のステップS413に進んで、カウンタ変数Iの値を1増加させ、ステップS405に戻る。ここで、除外印刷装置IDリストは、代替印刷装置として適さない印刷装置のIDを保持するためのリストであり、詳細は後述する。
【0077】
ステップS409では、CPU901は、印刷装置105からの問合せ情報に含まれる処理結果情報の処理結果ステータスと情報テーブル201のI行目の処理結果ステータスとが、共にJAM:であるか否かを判断する。そして、CPU901は、処理結果ステータスのいずれかがJAM:で無い場合は、ステップS411に進み、処理結果ステータスが両方ともJAM:の場合は、ステップS410に進む。
【0078】
ステップS410では、CPU901は、印刷装置105からの問合せ情報に含まれる処理結果情報のページ数と情報テーブル201のI行目の処理結果情報のページ数とを比較する。そして、CPU901は、問合せ情報の処理結果情報のページ数が情報テーブル201のI行目の処理結果情報のページ数以上の場合は、ステップS412に進む。
【0079】
ステップS412では、CPU901は、I行目の印刷装置IDを除外印刷装置IDリストに追加し、図9のステップS413に進んで、カウンタ変数Iの値を1増加させ、ステップS405に戻る。ここで、I行目の印刷装置IDを除外印刷装置IDリストに追加する理由は、I行目の印刷装置の方がより少ないページ数でジャムを発生する可能性が高いからである。
【0080】
一方、ステップS410において、CPU901は、問合せ情報の処理結果情報のページ数が情報テーブル201のI行目の処理結果情報のページ数未満の場合は、ステップS411に進む。
【0081】
ステップS411では、CPU901は、情報テーブル201のI行目の行を代替候補印刷装置リストに追加する。代替候補印刷装置リストは、代替印刷装置の候補となる印刷装置に関する情報を保持する。そして、CPU901は、代替候補印刷装置リストへの追加の後、図9のステップS413に進んで、カウンタ変数Iの値を1増加させ、ステップS405に戻る。
【0082】
ステップS405において、カウンタ変数Iの値が変数Nを越えた場合は、情報テーブル201の全ての行について処理が終了したので、CPU901は、ステップS414に進む。
【0083】
ステップS414では、CPU901は、代替候補印刷装置リストと除外印刷装置IDリストとから後述する代替印刷装置リストを生成し、ステップS415に進む。
【0084】
ステップS415では、CPU901は、要求元の印刷装置105に対して、ステップS414で生成した代替印刷装置リストをネットワーク100を介して返送する。
【0085】
(代替印刷装置リストの生成)
次に、図11を参照して、図10のステップS414における代替印刷装置リストの生成方法について説明する。なお、ここでは、印刷装置105の情報テーブル200の行番号1の情報に対応する代替印刷装置リストを生成する場合を例に採る。
【0086】
図11は、代替印刷装置リストの生成の説明に使用するテーブルを示す図である。これらのテーブル500〜503は、CPU901によってRAM902上に作成される。
【0087】
テーブル500は、印刷装置105の情報テーブル200の行番号1に対応するテーブルであり、この情報が印刷装置105から代替印刷装置要求とともに情報管理サーバ101に送られてくる。
【0088】
情報管理サーバ101のCPU901は、自身の情報テーブル201から、図9及び図10の処理フローに従って、代替候補印刷装置リスト501と除外印刷装置IDリスト502とを生成する。
【0089】
図4(b)の情報テーブル201の行番号7の行が、代替印刷装置要求情報のテーブル500と一致するため、除外印刷装置IDリスト502には、印刷装置2(図1の印刷装置106に相当)が追加されている。
【0090】
代替候補印刷装置リスト501には、情報テーブル201の行のうち、印刷装置IDが印刷装置1以外でアプリケーション名、PDL名が代替印刷装置要求情報のテーブル500と等しく、処理結果情報が異なる3行が追加される。
【0091】
代替候補印刷装置リスト501のうち、行番号1は除外印刷装置IDリスト502の印刷装置IDと等しいので除外され、行番号2、3が代替候補となる。
【0092】
情報管理サーバ101のCPU901は、この情報から代替印刷装置リスト503を作成し、要求元の印刷装置105に通知する。
【0093】
代替印刷装置リスト503には、印刷装置IDと対応する印刷装置名、代替候補印刷装置リスト501の情報から導かれる信頼度および回数が記述される。信頼度には、SUCCESS、UNKNOWN、DOUBTFULの3段階がある。
【0094】
SUCCESSは、代替候補印刷装置リスト501の処理結果情報がSUCCESSの行に対応する。UNKNOWNは、代替印刷装置要求情報のテーブル500のアプリケーション名、PDL名と一致する行が情報テーブル201に存在しない印刷装置に割り当てられる。本実施形態では、UNKOWNに対応する印刷装置は存在しない。DOUBTFULは、SUCCESSおよびUNKNOWN以外の場合であり、対応するアプリケーション名、PDL名に対応する行は存在するが、処理結果情報が一致しない印刷装置に割り当てられる。
【0095】
以上説明したように、本実施形態では、PDLデータを印刷装置で処理する前にエラーやジャムの可能性の高いPDLデータであるか否かを判定する。そして、エラーやジャムの可能性の高いPDLデータの場合は、エラーやジャムの可能性の低い他の印刷装置にPDLデータを転送して処理する。これにより、印刷装置がエラーやジャムで停止する可能性を低くし、稼動効率を上げることが可能となる。
【0096】
また、本実施形態では、図8に示すホストPCの代替印刷装置指定ダイアログ700でユーザに代替印刷装置を選択または印刷キャンセルさせている。これにより、ユーザの要求にあった代替印刷装置での印刷が可能になるとともに、キャンセルの機会を設けることで不要な代替印刷や代替印刷によるエラー、ジャムを回避することができる。
【0097】
(第2の実施形態)
次に、図12及び図13を参照して、本発明の第2の実施形態である印刷システムについて説明する。なお、上記第1の実施形態に対して重複又は相当する部分については、符号を流用して説明する。
【0098】
図12及び図13は、ホストPC102から印刷装置にPDLデータを送付する処理について説明するためのフローチャート図である。図12及び図13での各処理は、ホストPC102のROM903やHDD909等に記憶された制御プログラムがRAM902にロードされて、CPU901によるプリンタドライバの制御により実行される。
【0099】
ここで、本実施形態では、上記第1の実施形態で印刷装置により行っている処理の一部をホストPC102のプリンタドライバで行う。
【0100】
プリンタドライバは、ホストPC102のHDD909に保存されており、また、HDD909に保存されたアプリケーションプログラムからの指示によりPDLデータを生成する。プリンタドライバが生成したPDLデータは、ネットワークI/F904を介して代替印刷装置に転送される。
【0101】
まず、ホストPC102の任意のアプリケーションで印刷処理を実行すると、プリンタドライバの処理が開始され、図12のステップS801に進む。
【0102】
ステップS801では、プリンタドライバは、アプリケーションから送られてくる描画命令に基づいてPDLデータを生成し、ステップS802に進む。
【0103】
ステップS802では、プリンタドライバは、PDLデータの送信先の印刷装置105から情報テーブル200を取得し、ステップS803に進む
ステップS803では、プリンタドライバは、ステップS801で生成したPDLデータからユーザID、アプリケーション名、PDL名を抽出し、ステップS804に進む。
【0104】
ステップS804では、プリンタドライバは、ステップS802で取得した情報テーブル200に、ユーザID、アプリケーション名、PDL名がステップS803で抽出したものと同じで処理結果情報がSUCCESS:以外の行が存在するか否かを判断する。そして、プリンタドライバは、対応する行が存在する場合は、ステップS805に進み、対応する行が存在しない場合は、図13のステップS816に進み、生成したPDLデータを印刷装置105に送付して処理を終了する。
【0105】
ステップS805では、プリンタドライバは、条件にマッチする行の行数を変数MAXに設定し、ステップS806に進む。
【0106】
ステップS806では、プリンタドライバは、カウンタ変数Iを1に初期化し、ステップS807に進む。
【0107】
ステップS807では、プリンタドライバは、カウンタ変数Iの値が変数MAXの値を越えているか否かを判断する。そして、プリンタドライバは、カウンタ変数Iが変数MAXを越えている場合は、ステップS816に進んで、生成したPDLデータを印刷装置105に送付して処理を終了し、カウンタ変数Iが変数MAX以下の場合は、ステップS808に進む。
【0108】
ステップS808では、プリンタドライバは、情報テーブル200のI行目の処理結果ステータスがERROR:か否かを判断する。そして、プリンタドライバは、処理結果ステータスがERROR:で無い場合は、ステップS811に進み、処理結果ステータスがERROR:の場合は、ステップS809に進む。
【0109】
ステップS809では、プリンタドライバは、生成したPDLデータに、情報テーブル200のI行目の処理結果情報項目のコマンドパターンが含まれるか否かを判断する。そして、プリンタドライバは、コマンドパターンが含まれない場合は、ステップS810に進み、カウンタ変数Iの値を1増加させ、ステップS807に戻り、コマンドパターンが含まれる場合は、図13のステップS812に進む。
【0110】
ステップS811では、プリンタドライバは、生成したPDLデータの総ページ数が、情報テーブル200のI行目の処理結果情報項目のページ数以上か否かを判断する。そして、プリンタドライバ、PDLデータの総ページ数が処理結果情報項目のページ数未満の場合は、ステップS810に進み、カウンタ変数Iの値を1増加させて、ステップS807に戻る。また、プリンタドライバは、PDLデータの総ページ数が処理結果情報項目のページ数以上の場合は、図13のステップS812に進む。
【0111】
図13において、ステップS812では、プリンタドライバは、情報テーブル200にI行目のユーザIDがサーバであるか否かを判断する。ユーザIDがサーバである場合は、対応するPDLデータが情報管理サーバ101の管理する全ての印刷装置でエラーまたはジャムになったことを意味する。従って、プリンタドライバは、ユーザIDがサーバである場合は、ステップS817に進み、ユーザIDがサーバでない場合は、ステップS813に進む。
【0112】
ステップS817では、プリンタドライバは、ホストPC102でのユーザ操作等により印刷処理がキャンセルされたか否かを判断する。そして、プリンタドライバは、キャンセルされた場合は、処理を終了し、キャンセルされない場合は、ステップS816に進み、生成したPDLデータを印刷装置105に送付して処理を終了する。
【0113】
ステップS813では、プリンタドライバは、情報管理サーバ101に代替印刷装置を問合せ、ステップS814に進む。ここでの代替印刷装置の問合せには、情報テーブル200の行番号を除く項目内容と、生成したPDLデータを送付する予定の印刷装置の印刷装置IDとを情報管理サーバ101に送付する。なお、ホストPC102のプリンタドライバから代替印刷装置の問合せを受けた情報管理サーバ101の処理は、上記第1の実施形態(図9及び図10参照)と同様である。
【0114】
(代替印刷装置の選択)
ステップS814では、プリンタドライバは、情報管理サーバ101から代替印刷装置リスト503(図11(d)参照)を取得したか否かを判断し、取得した場合は、ステップS815に進み、取得しない場合は、ステップS817に進む。
【0115】
ステップS815では、プリンタドライバは、図7に示すプリファレンス指定ページ600で指定されたプリファレンス情報を印刷装置105から取得し、これに従って、図8に示す代替印刷装置指定ダイアログ700を表示装置906に表示する。
【0116】
プリファレンス指定ページ600では、代替印刷装置指定ダイアログ700に代替印刷装置として表示する項目の指定、代替候補が無い場合の処理、処理実績がある印刷装置の信頼度を高とするために必要な実績回数が指定される。また、プリファレンス指定ページ600では、代替印刷装置として表示する項目として全ての項目、代替候補が無い場合の処理として印刷をキャンセルさせる方法、信頼度を高とするための実績回数として10が指定される。
【0117】
プリファレンス指定ページ600の指定内容と代替印刷装置リスト503とに従って代替印刷装置を表示した例が図8に示す代替印刷装置指定ダイアログ700になる。
【0118】
なお、プリファレンス指定ページ600は、ホストPC102の表示装置906に表示され、各印刷装置の管理者により外部入力装置907のポインティングデバイス等を使用して指定される。代替印刷装置指定ダイアログ700は、ホストPC102の表示装置906に表示され、PDLデータを印刷ジョブとして発行したホストPCのユーザが処理方法を決定する。
【0119】
図11(b)に示す代替印刷装置リスト503において、行番号2の印刷装置4(図1の印刷装置108に相当)の信頼度はSUCCESSであるが、実績回数が3であり、信頼度を高とする回数に達していない。このため、図8に示す代替印刷装置指定ダイアログ700では、図11(b)に示す行番号2の印刷装置4に対応するプリンタ02の信頼度の表示は中になっている。また、代替印刷装置リスト503での信頼度がUNKNOWNまたはDOUBTFULの場合は、代替印刷装置指定ダイアログ700での信頼度の表示は低になる。
【0120】
そして、プリンタドライバは、ステップS815において、ユーザが外部入力装置907のポインティングデバイス等により、代替印刷装置指定ダイアログ700のリストから代替印刷装置を選択し、印刷ボタンを押すと、ステップS816に進む。
【0121】
ステップS816では、プリンタドライバは、ステップS815で選択された代替印刷装置にPDLデータを転送し、処理を終了する。なお、ステップS815で代替印刷装置指定ダイアログ700のキャンセルボタンが押された場合は、プリンタドライバは、印刷を中止し、処理を終了する。
【0122】
以上説明したように、本実施形態では、印刷装置により行っている処理の一部をホストPC102のプリンタドライバで行うため、印刷装置およびネットワークの負荷を小さくすることができる。その他の構成及び作用効果は、上記第1の実施形態と同様である。
【0123】
なお、本発明は、上記各実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0124】
例えば、上記各実施形態では、印刷装置105について説明したが、印刷装置106、印刷装置107、印刷装置108についても同様である。
【0125】
また、上記各実施形態では、印刷装置のPDLデータの処理結果情報を独立した情報管理サーバ101で管理するように構成したが、同様なサーバ機能を印刷装置105〜108の何れかに持たせてもよい。この場合、処理プログラムは、各印刷装置のROM1003等に保存される。
【0126】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0127】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0128】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0129】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0130】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【0131】
【図1】本発明の第1の実施形態である印刷システムの構成例を説明するためのブロック図である。
【図2】情報管理サーバ及びホストPCのシステム構成例を説明するためのブロック図である。
【図3】印刷装置のシステム構成例を説明するためのブロック図である。
【図4】(a)は印刷装置で管理される情報テーブルの一例を示す図、(b)は情報管理サーバで管理される情報テーブルの一例を示す図である。
【図5】印刷装置の処理例について説明するためのフローチャート図である。
【図6】印刷装置の処理例について説明するためのフローチャート図である。
【図7】プリファレンス指定ページの一例を示す図である。
【図8】代替印刷装置指定ダイアログの一例を示す図である。
【図9】情報管理サーバの処理例について説明するためのフローチャート図である。
【図10】情報管理サーバの処理例について説明するためのフローチャート図である。
【図11】代替印刷装置リストの生成の説明に使用するテーブルを示す図である。
【図12】本発明の第2の実施形態である印刷システムにおいて、ホストPCから印刷装置にPDLデータを送付する処理について説明するためのフローチャート図である。
【図13】ホストPCから印刷装置にPDLデータを送付する処理について説明するためのフローチャート図である。
【符号の説明】
【0132】
100 ネットワーク
101 情報管理サーバ
102,103,104 ホストPC
105,106,107,108 印刷装置
900 I/Oバス
901 CPU
902 RAM
903 ROM
904 ネットワークI/F
905 VRAM
906 表示装置
907 外部入力コントローラ
908 外部入力装置
909 HDD
910 外部記憶装置
1000 I/Oバス
1001 CPU
1002 RAM
1003 ROM
1004 ネットワークI/F
1005 VRAM
1006 表示装置
1007 外部入力コントローラ
1008 外部入力装置
1009 HDD
1010 外部記憶装置
1011 プリンタコントローラ
1012 プリンタエンジン
【技術分野】
【0001】
本発明は、例えば、ホストPCから印刷装置に送信された印刷ジョブを他の印刷装置に転送する印刷システム、印刷装置、及び印刷装置の制御方法に関する。
【背景技術】
【0002】
従来、ホストPCから送信された印刷ジョブを印刷装置で処理中に何らかのエラー(PDLエラーなど)やシートのジャムが発生した場合に、その後の印刷ジョブを他の印刷装置に転送して印刷する、いわゆる代替印刷が行われている。
【0003】
通常の代替印刷では、エラーやジャムなどの障害が発生して代替印刷が行われた後、障害から回復した印刷装置に障害の原因となった印刷ジョブと同じ印刷ジョブを送信すると、同じ障害が発生してしまう。
【0004】
そこで、印刷ジョブを生成したホストPC毎の障害発生頻度を記録し、障害発生頻度の高いホストPCからの印刷ジョブの優先度を下げ、また、障害発生頻度を印刷ジョブを作成したアプリケーション毎に管理する技術が提案されている(特許文献1)。
【0005】
この提案では、障害発生頻度の高いホストPCからの印刷ジョブや障害発生頻度の高いアプリケーションで作成した印刷ジョブの優先度を下げることで、印刷装置の障害の発生を先送りし、その他の印刷ジョブを処理することができる。
【特許文献1】特開平11−24854号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、上記特許文献1では、障害の発生を先送りはできるものの、該当する印刷装置での障害の発生を回避することはできない。また、障害発生の頻度情報だけでは障害の発生を予測するための情報としては十分ではない。例えば、あるアプリケーションで作成した印刷ジョブの障害発生の頻度が高くても、印刷ジョブを構成するPDLデータのコマンドパターン等によっては障害が発生しない場合もある。逆に、障害発生頻度が低いアプリケーションで作成した印刷ジョブであっても、PDLデータのコマンドパターンやページ数等によっては障害が発生する場合もある。
【0007】
そこで、本発明は、印刷装置がエラーやジャムで停止する可能性を低くすることができる印刷システム、印刷装置、及び印刷装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の印刷システムは、複数の印刷装置、及び該複数の印刷装置を管理するサーバを備える印刷システムであって、前記印刷装置は、印刷データの処理結果情報を保存する保存手段と、前記処理結果情報を前記サーバに通知する通知手段と、情報処理装置から送信された印刷データから識別情報を抽出する抽出手段と、前記識別情報と前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断手段と、該判断手段が前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ手段と、該問い合わせ手段による問い合わせに応じて前記サーバから取得した代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信手段と、を備え、前記サーバは、前記通知手段により前記印刷装置から通知される印刷データの処理結果情報を管理する管理手段と、前記問い合わせ手段による前記印刷装置からの問い合わせ要求に応じて、前記管理手段で管理される前記処理結果情報に基づいて、前記転送先の代替印刷装置を決定する決定手段と、該決定手段で決定した前記転送先の代替印刷装置を特定する情報を前記問い合わせ要求元の印刷装置に返送する返送手段と、を備えることを特徴とする。
【0009】
本発明の印刷装置は、情報処理装置と1つ以上の他の印刷装置と複数の印刷装置を管理するサーバと通信可能な印刷装置であって、印刷データの処理結果情報を保存する保存手段と、前記処理結果情報を前記サーバに通知する通知手段と、前記情報処理装置から送信された印刷データから識別情報を抽出する抽出手段と、前記識別情報と前記保存手段に保存された前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断手段と、前記判断手段が前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ手段と、前記問い合わせ手段による問い合わせに応じて前記サーバから送信された代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信手段と、を備えることを特徴とする。
【0010】
本発明の印刷装置の制御方法は、情報処理装置と1つ以上の他の印刷装置と複数の印刷装置を管理するサーバと通信可能な印刷装置の制御方法であって、印刷データの処理結果情報を保存手段に保存する保存工程と、前記処理結果情報を前記サーバに通知する通知工程と、前記情報処理装置から送信された印刷データから識別情報を抽出する抽出工程と、 前記識別情報と前記保存手段に保存された前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断工程と、前記判断工程で前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ工程と、前記問い合わせ工程による問い合わせに応じて前記サーバから送信された代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信工程と、を備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、印刷装置がエラーやジャムで停止する可能性を低くし、稼動効率を上げることが可能となる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施形態を図面を参照して説明する。
【0013】
(第1の実施形態)
図1は、本発明の第1の実施形態である印刷システムの構成例を説明するためのブロック図である。
【0014】
図1に示すように、本実施形態の印刷システムは、情報管理サーバ101、複数のホストPC(情報処理装置)102,103,104、及び複数の印刷装置105,106,107,108がネットワーク100を介して互いに通信可能に接続されている。
【0015】
情報管理サーバ101は、印刷装置105,106,107,108での印刷ジョブの処理結果を管理する。
【0016】
ホストPC102,103,104は、それぞれホストPC102,103,104上で動作するアプリケーションで作成されたデータからプリンタドライバで生成したPDLデータをネットワーク100を介して印刷装置に転送する。
【0017】
印刷装置105,106,107,108は、ホストPCから転送されたPDLデータを処理して印刷物を生成する。
【0018】
図2は、情報管理サーバ101のシステム構成例を説明するためのブロック図である。なお、ホストPC102,103,104のシステム構成については、情報管理サーバ101と同様であるので、説明を省略する。
【0019】
図2において、CPU901は、装置全体の制御を司る。RAM902は、CPU901の主メモリとして機能する他、制御プログラムのワークエリアや一時待避領域として使用される。また、RAM902は、後述する代替印刷装置リストの生成に使用するテーブル500〜503(図11参照)を一時的に格納する。
【0020】
ROM903は、CPU901の動作処理手順を記憶する。ROM903のプログラムROMには、システムプログラムや制御プログラムが記憶され、データROMには、システムを稼動するために必要な情報等が記憶される。
【0021】
ネットワークI/F904は、ネットワーク100に接続し、データ送受信のためのデータ制御や診断を行う。VRAM905は、システムの稼動状態を示す表示装置906の画面に表示される画像を展開し、その表示を制御する。外部入力コントローラ907は、キーボードやポインティングデバイス(マウスなど)などの外部入力装置908からの入力信号を制御する。
【0022】
HDD909は、印刷データの一時保存や情報テーブル201(後述する)の保存用に使用される。また、HDD909に保存された情報テーブル201は、一時的に利用するためにRAM902に展開される。
【0023】
外部記憶装置910は、フレキシブルディスクなどのリムーバブルディスクドライブであり、アプリケーションプログラムの媒体からの読み出しなどに使用される。I/Oバス900は、各ユニット間を接続するためのアドレスバス、データバスおよび制御バスである。
【0024】
図3は、印刷装置105,106,107,108のシステム構成例を説明するためのブロック図である。
【0025】
図3において、CPU1001は、装置全体の制御を司る。RAM1002は、CPU1001の主メモリとして機能する他、制御プログラムのワークエリアや一時待避領域として使用される。
【0026】
ROM1003は,CPU1001の動作処理手順を記憶する。ROM1003のプログラムROMには、システムプログラムや制御プログラムが記憶され、データROMには、システムを稼動するために必要な情報等が記憶される。
【0027】
ネットワークI/F1004は、ネットワーク100に接続し、データ送受信のためのデータ制御や診断を行う。VRAM1005は、システムの稼動状態を示す表示装置1006の画面に表示される画像を展開し、その表示を制御する。外部入力コントローラ1007は、キーボードやポインティングデバイス(マウスなど)などの外部入力装置1008からの入力信号を制御する。
【0028】
HDD1009は、ホストPCから転送されたPDLデータや処理結果情報テーブル200を保存する。外部記憶装置1010は、フレキシブルディスクなどのリムーバブルディスクドライブであり、アプリケーションプログラムの媒体からの読み出しや情報テーブル200の媒体へのバックアップなどに使用される。
【0029】
プリンタコントローラ1011は、プリンタエンジン1012の制御と出力する画像の制御を行う。プリンタエンジン1012は、プリンタコントローラ1011の指示に従い、プリンタコントローラ1011から送信される印刷データをシートに印刷する。I/Oバス1000は、各ユニット間を接続するためのアドレスバス、データバスおよび制御バスである。
【0030】
図4(a)は印刷装置105で管理される情報テーブル200の一例を示す図、図4(b)は情報管理サーバ101で管理される情報テーブル201の一例を示す図である。
【0031】
印刷装置105で管理される情報テーブル200は、HDD1009に保存され、CPU1001の指示によりRAM1002に読み込まれて参照される。情報管理サーバ101で管理される情報テーブル201は、HDD909に保存され、CPU901の指示によりRAM902に読み込まれて参照される。図4(a)の情報テーブル200は、印刷装置105〜108の各々が記憶しており、図4(b)の情報テーブル201は、印刷装置105〜108がそれぞれ記憶している情報テーブル200の情報をすべて収集したものである。
【0032】
印刷装置105で管理される情報テーブル200には、PDLデータを印刷ジョブとして発行したユーザのユーザID、PDLデータの元となった文書データを作成したアプリケーション名が記載されている。また、情報テーブル200には、PDLデータを構成するPDLの名前、PDLデータの処理結果情報、回数が記載されている。
【0033】
図4(a)において、行番号5の行のように、ユーザIDの列にサーバと記述されている行は、情報管理サーバ101で管理される全ての印刷装置でエラーまたはジャムとなった処理結果情報を表す。この行は、情報管理サーバ101からの通知に従って追加される。この行の追加処理については後述する。
【0034】
なお、図4における各テーブル200,201の項目としては、印刷ジョブを発行したホストPCを特定する情報(IPアドレスなど)などの項目を含んでいても良いものとする。また、アプリケーション名やPDL名の項目には、アプリケーションやPDLのバージョンを特定する情報が含まれていてもよい。
【0035】
PDLデータの処理結果情報は、処理結果ステータスと付随情報から構成される。処理結果ステータスには、処理が成功したことを示すSUCCESS:、エラーが発生したことを示すERROR:、ジャムが発生したことを示すJAM:のいずれかが記載される。
【0036】
処理結果ステータスSUCCESS:には付随情報は存在しない。処理結果ステータスERROR:の付随情報は、エラーが発生したPDLのコマンドから規定個数を遡ってPDLコマンドのコマンド列を記述したものである。本実施形態では、規定個数は5であり、各コマンドの引数は無視される。コマンド間は、セミコロン“;”で区切られる。処理結果ステータスJAM:の付随情報は、ジャムが発生したPDLデータの総ページ数である。
【0037】
次に、図5及び図6を参照して、印刷装置105の処理例について説明する。図5及び図6での各処理は、印刷装置105のROM1003やHDD1009等に記憶された制御プログラムがRAM1002にロードされて、CPU1001により実行される。
【0038】
図5において、ステップS300では、CPU1001は、ホストPC102,103,104の何れかで生成されたPDLデータをネットワーク100を経由して受信すると、ステップS301に進む。
【0039】
ステップS301で、CPU1001は、受信したPDLデータを解析し、PDLデータを生成したホストPCのユーザID、PDLデータの元になった文書データを作成したアプリケーション名、PDL名(識別情報)を抽出し、ステップS302に進む。
【0040】
ステップS302では、CPU1001は、情報テーブル200に、ユーザID、アプリケーション名、PDL名がステップS301で抽出したものと同じで処理結果情報がSUCCESS:以外の行が存在するか否かを判断する。そして、CPU1001は、対応する行が存在する場合は、ステップS303に進み、対応する行が存在しない場合は、図6のステップS314に進む。
【0041】
図6において、ステップS314では、CPU1001は、受信したPDLデータを印刷し、ステップS315に進む。ここでの印刷は、ROM1003に格納されたPDL処理プログラムをCPU1001で実行し、処理結果の画像をRAM1002に作成し、プリンタコントローラ1011を介してプリンタエンジン1012に送ることにより実行される。
【0042】
ステップS315で、CPU1001は、PDLデータの印刷処理結果を情報テーブル200に追加する。このとき、CPU1001は、ユーザID、アプリケーション名、PDL名、処理結果情報の全てが等しいものがない場合は、新規に行を追加し、回数を1にして登録する。また、処理結果がSUCCESS:の場合は、既に同じユーザID、アプリケーション名、PDL名の行が存在する場合がある。この場合は、CPU1001は、対応する行の回数の値を1増加させ、その後、ステップS316に進む。
【0043】
ステップS316では、CPU1001は、ステップS315で情報テーブル200に追加した情報を情報管理サーバ101に通知し、処理を終了する。
【0044】
(印刷装置での処理結果情報によるPDLデータのエラー/ジャム予測(解析処理))
図5に戻って、ステップS303では、CPU1001は、条件にマッチする行の行数を変数MAXに設定し、ステップS304に進む。
【0045】
ステップS304では、CPU1001は、カウンタ変数Iを1に初期化し、ステップS305に進む。
【0046】
ステップS305では、CPU1001は、カウンタ変数Iの値が変数MAXの値を超えているか否かを判断し、IがMAXを超えている場合は、図6のステップS314に進み、IがMAX以下の場合は、ステップS306に進む。
【0047】
ステップS306では、CPU1001は、情報テーブル200のI行目の処理結果ステータスがERROR:であるか否かを判断する。そして、CPU1001は、処理結果ステータスがERROR:で無い場合は、ステップS308に進み、処理結果ステータスがERROR:の場合は、ステップS307に進む。
【0048】
ステップS307では、CPU1001は、受信したPDLデータに、情報テーブル200のI行目の処理結果情報項目のコマンドパターンが含まれるか否かを判断する。そして、CPU1001は、コマンドパターンが含まれない場合は、ステップS309に進み、コマンドパターンが含まれる場合は、図6のステップS318に進む。
【0049】
ステップS309では、CPU1001は、カウンタ変数Iの値を1増加させ、ステップS305に戻る。
【0050】
ステップS308では、CPU1001は、受信したPDLデータの総ページ数が、情報テーブル200のI行目の処理結果情報項目のページ数以上か否かを判断する。そして、CPU1001は、PDLデータの総ページ数が処理結果情報項目のページ数未満の場合は、ステップS309に進み、PDLデータの総ページ数が処理結果情報項目のページ数以上の場合は、図6のステップS318に進む。
【0051】
図6において、ステップS318では、CPU1001は、情報テーブル200にI行目のユーザIDがサーバであるか否かを判断する。ユーザIDがサーバである場合は、対応するPDLデータが情報管理サーバ101の管理する全ての印刷装置でエラーまたはジャムになったことを意味する。従って、CPU1001は、ユーザIDがサーバである場合は、ステップS313に進み、ユーザIDがサーバでない場合は、ステップS310に進む。
【0052】
ステップS313では、CPU1001は、ホストPCでのユーザ操作等により印刷処理がキャンセルされたか否かを判断し、キャンセルされた場合は、処理を終了し、キャンセルされない場合は、ステップS314に進む。
【0053】
ステップS310では、CPU1001は、情報管理サーバ101に転送先の代替印刷装置を問合せ、ステップS311に進む。代替印刷装置の問合せには、印刷装置105の情報テーブル200の行番号を除く項目内容と、自身の印刷装置IDを情報管理サーバ101に送信する。
【0054】
(代替印刷装置の選択)
ステップS311では、CPU1001は、情報管理サーバ101から後述する転送先の代替印刷装置リスト503(図11(d)参照)を取得したか否かを判断し、取得した場合は、ステップS312に進み、取得しない場合は、ステップS313に進む。
【0055】
ステップS312では、CPU1001は、ホストPCのWebブラウザでのプリファレンス指定ページ600(図7)で指定されたプリファレンスに従って、図8に示す代替印刷装置指定ダイアログ(選択画面)700の表示指示をホストPCに送信する。
【0056】
プリファレンス指定ページ600は、例えば、印刷装置の管理者が印刷装置のWebベースの管理画面にアクセスすることによって、ホストPC102,103,104のWebブラウザに表示される。また、印刷装置の管理者等によってプリファレンス指定ページ600で指定されたプリファレンスの内容は、印刷装置のHDD1009に保存される。
【0057】
プリファレンス指定ページ600では、代替印刷装置指定ダイアログ700に代替印刷装置として表示する項目の指定、代替候補が無い場合の処理、処理実績がある印刷装置の信頼度を高とするために必要な実績回数が指定される。また、本実施形態のプリファレンス指定ページ600では、一例として以下のように指定されている。すなわち、代替印刷装置として表示する項目として全ての項目が選択される。また、代替候補が無い場合の処理として「印刷するかキャンセルするかを選択させる」が選択され、信頼度を高とするための実績回数として10が指定されている。
【0058】
プリファレンス指定ページ600の指定内容と代替印刷装置リスト503とに従って一覧の代替印刷装置を表示した例が図8に示す代替印刷装置指定ダイアログ700になる。代替印刷装置指定ダイアログ700は、印刷装置105から印刷ジョブを発行したホストPCに対してネットワーク100を介して表示指示をすることにより、ホストPCの表示装置906に表示される。
【0059】
図11(b)に示す代替印刷装置リスト503において、行番号2の印刷装置4(図1の印刷装置108に相当)の信頼度はSUCCESSであるが、実績回数が3であり、信頼度を高とする回数に達していない。このため、図8に示す代替印刷装置指定ダイアログ700では、図11(b)に示す行番号2の印刷装置4に対応するプリンタ02の信頼度の表示は中になっている。また、代替印刷装置リスト503での信頼度がUNKNOWNまたはDOUBTFULの場合は、代替印刷装置指定ダイアログ700での信頼度の表示は低になる。
【0060】
ホストPCのユーザは、外部入力装置907のポインティングデバイス等により、代替印刷装置指定ダイアログ700のリストから代替印刷装置を選択し、印刷ボタンを押すことにより、選択された代替印刷装置で正常にPDLデータを印刷することができる。また、キャンセルボタンを押すことにより印刷を中止することができる。そして、ホストPCは、ユーザが印刷装置指定ダイアログ700のリストから代替印刷装置を選択し、印刷ボタンを押すと、その選択情報をネットワーク100を介して印刷装置105に送信する。
【0061】
図6に戻って、ステップS319では、CPU1001は、ホストPCから前記選択情報を受信すると、ユーザが選択した代替印刷装置にPDLデータを転送し、処理を終了する。
【0062】
次に、図9及び図10を参照して、情報管理サーバ101の処理例について説明する。図9及び図10での各処理は、情報管理サーバ101のROM903やHDD909等に記憶された制御プログラムがRAM902にロードされて、CPU901により実行される。
【0063】
図9において、ステップS401では、CPU901は、印刷装置105からの要求を受信すると、該要求が処理結果情報の登録処理か否かを判断し、登録処理でない場合は、ステップS403に進み、登録処理の場合は、ステップS402に進む。
【0064】
ステップS402では、CPU901は、HDD909に格納されている情報テーブル201(図4(b))に、印刷装置105から通知された処理結果情報を追加更新し、処理を終了する。
【0065】
ここで、既に存在する行の印刷装置ID、回数の項目以外のアプリケーション名、PDL名、処理結果情報が等しく、処理結果ステータスがSUCCESS:でない行が追加された場合は、回数の項目を更新する。また、前記条件に対応する行が追加された場合は、既存の行の回数を1増加させ、追加された行の回数に増加後の値を設定する。
【0066】
図4(b)の情報テーブル201の例では、行番号7の行が追加される以前の状態では、行番号1の行の回数は1になっている。印刷装置IDと回数以外の項目が一致する行番号7が追加された時点で、行番号1の回数が1増加して2になり、追加された行番号7の行の回数も2になる。
【0067】
処理結果ステータスがSUCCESS:でない場合の回数が情報管理サーバ101が管理する印刷装置の数と等しくなった場合は、その行で表わされる処理結果情報のコマンドパターンもしくはページ数が全ての印刷装置でエラー又はジャムになったことを表わす。
【0068】
一方、ステップS403では、CPU901は、変数Nに情報テーブル201の行数を設定し、ステップS404に進む。
【0069】
ステップS404では、CPU901は、カウンタ変数Iを1に初期化し、ステップS405に進む。
【0070】
ステップS405では、CPU901は、カウンタ変数Iが変数Nを越えているか否かを判断し、カウンタ変数Iが変数Nを越えている場合は、図10のステップS414に進み、カウンタ変数Iが変数N以下の場合は、ステップS406に進む。
【0071】
ステップS406では、CPU901は、情報テーブル201のI行目の印刷装置IDが、代替印刷装置問合せの要求元の印刷装置(図6のステップS310参照)の印刷装置IDと等しいか否かを判断する。そして、CPU901は、要求元の印刷装置IDと等しい場合は、ステップS413に進み、要求元の印刷装置IDと異なる場合は、ステップS416に進む。
【0072】
ステップS413では、CPU901は、カウンタ変数Iの値を1増加させ、ステップS405に戻る。
【0073】
ステップS416では、CPU901は、印刷装置105からの問合せ情報に含まれるアプリケーション名とPDL名が、I行目のアプリケーション名とPDL名と等しいか否かを判断する。そして、CPU901は、アプリケーション名、PDL名の何れかが異なる場合は、ステップS413に進み、カウンタ変数Iの値を1増加させて、ステップS405に戻る。また、CPU901は、アプリケーション名、PDL名ともに等しい場合は、図10のステップS407に進む。
【0074】
図10において、ステップS407では、CPU901は、印刷装置105からの問合せ情報に含まれる処理結果情報の処理結果ステータスと情報テーブル201のI行目の処理結果情報の処理結果ステータスとが、共にERROR:であるか否かを判断する。そして、CPU901は、処理結果情報の処理結果ステータスのいずれかがERROR:で無い場合は、ステップS409に進み、処理結果情報の処理結果ステータスの両方ともERROR:の場合は、ステップS408に進む。
【0075】
ステップS408では、CPU901は、印刷装置105からの問合せ情報に含まれる処理結果情報のコマンドパターンと情報テーブル201のI行目の処理結果情報のコマンドパターンとが等しいか否かを判断する。そして、CPU901は、コマンドパターンが等しい場合は、ステップS412に進み、コマンドパターンが異なる場合は、ステップS411に進む。
【0076】
ステップS412では、CPU901は、I行目の印刷装置IDを除外印刷装置IDリストに追加し、図9のステップS413に進んで、カウンタ変数Iの値を1増加させ、ステップS405に戻る。ここで、除外印刷装置IDリストは、代替印刷装置として適さない印刷装置のIDを保持するためのリストであり、詳細は後述する。
【0077】
ステップS409では、CPU901は、印刷装置105からの問合せ情報に含まれる処理結果情報の処理結果ステータスと情報テーブル201のI行目の処理結果ステータスとが、共にJAM:であるか否かを判断する。そして、CPU901は、処理結果ステータスのいずれかがJAM:で無い場合は、ステップS411に進み、処理結果ステータスが両方ともJAM:の場合は、ステップS410に進む。
【0078】
ステップS410では、CPU901は、印刷装置105からの問合せ情報に含まれる処理結果情報のページ数と情報テーブル201のI行目の処理結果情報のページ数とを比較する。そして、CPU901は、問合せ情報の処理結果情報のページ数が情報テーブル201のI行目の処理結果情報のページ数以上の場合は、ステップS412に進む。
【0079】
ステップS412では、CPU901は、I行目の印刷装置IDを除外印刷装置IDリストに追加し、図9のステップS413に進んで、カウンタ変数Iの値を1増加させ、ステップS405に戻る。ここで、I行目の印刷装置IDを除外印刷装置IDリストに追加する理由は、I行目の印刷装置の方がより少ないページ数でジャムを発生する可能性が高いからである。
【0080】
一方、ステップS410において、CPU901は、問合せ情報の処理結果情報のページ数が情報テーブル201のI行目の処理結果情報のページ数未満の場合は、ステップS411に進む。
【0081】
ステップS411では、CPU901は、情報テーブル201のI行目の行を代替候補印刷装置リストに追加する。代替候補印刷装置リストは、代替印刷装置の候補となる印刷装置に関する情報を保持する。そして、CPU901は、代替候補印刷装置リストへの追加の後、図9のステップS413に進んで、カウンタ変数Iの値を1増加させ、ステップS405に戻る。
【0082】
ステップS405において、カウンタ変数Iの値が変数Nを越えた場合は、情報テーブル201の全ての行について処理が終了したので、CPU901は、ステップS414に進む。
【0083】
ステップS414では、CPU901は、代替候補印刷装置リストと除外印刷装置IDリストとから後述する代替印刷装置リストを生成し、ステップS415に進む。
【0084】
ステップS415では、CPU901は、要求元の印刷装置105に対して、ステップS414で生成した代替印刷装置リストをネットワーク100を介して返送する。
【0085】
(代替印刷装置リストの生成)
次に、図11を参照して、図10のステップS414における代替印刷装置リストの生成方法について説明する。なお、ここでは、印刷装置105の情報テーブル200の行番号1の情報に対応する代替印刷装置リストを生成する場合を例に採る。
【0086】
図11は、代替印刷装置リストの生成の説明に使用するテーブルを示す図である。これらのテーブル500〜503は、CPU901によってRAM902上に作成される。
【0087】
テーブル500は、印刷装置105の情報テーブル200の行番号1に対応するテーブルであり、この情報が印刷装置105から代替印刷装置要求とともに情報管理サーバ101に送られてくる。
【0088】
情報管理サーバ101のCPU901は、自身の情報テーブル201から、図9及び図10の処理フローに従って、代替候補印刷装置リスト501と除外印刷装置IDリスト502とを生成する。
【0089】
図4(b)の情報テーブル201の行番号7の行が、代替印刷装置要求情報のテーブル500と一致するため、除外印刷装置IDリスト502には、印刷装置2(図1の印刷装置106に相当)が追加されている。
【0090】
代替候補印刷装置リスト501には、情報テーブル201の行のうち、印刷装置IDが印刷装置1以外でアプリケーション名、PDL名が代替印刷装置要求情報のテーブル500と等しく、処理結果情報が異なる3行が追加される。
【0091】
代替候補印刷装置リスト501のうち、行番号1は除外印刷装置IDリスト502の印刷装置IDと等しいので除外され、行番号2、3が代替候補となる。
【0092】
情報管理サーバ101のCPU901は、この情報から代替印刷装置リスト503を作成し、要求元の印刷装置105に通知する。
【0093】
代替印刷装置リスト503には、印刷装置IDと対応する印刷装置名、代替候補印刷装置リスト501の情報から導かれる信頼度および回数が記述される。信頼度には、SUCCESS、UNKNOWN、DOUBTFULの3段階がある。
【0094】
SUCCESSは、代替候補印刷装置リスト501の処理結果情報がSUCCESSの行に対応する。UNKNOWNは、代替印刷装置要求情報のテーブル500のアプリケーション名、PDL名と一致する行が情報テーブル201に存在しない印刷装置に割り当てられる。本実施形態では、UNKOWNに対応する印刷装置は存在しない。DOUBTFULは、SUCCESSおよびUNKNOWN以外の場合であり、対応するアプリケーション名、PDL名に対応する行は存在するが、処理結果情報が一致しない印刷装置に割り当てられる。
【0095】
以上説明したように、本実施形態では、PDLデータを印刷装置で処理する前にエラーやジャムの可能性の高いPDLデータであるか否かを判定する。そして、エラーやジャムの可能性の高いPDLデータの場合は、エラーやジャムの可能性の低い他の印刷装置にPDLデータを転送して処理する。これにより、印刷装置がエラーやジャムで停止する可能性を低くし、稼動効率を上げることが可能となる。
【0096】
また、本実施形態では、図8に示すホストPCの代替印刷装置指定ダイアログ700でユーザに代替印刷装置を選択または印刷キャンセルさせている。これにより、ユーザの要求にあった代替印刷装置での印刷が可能になるとともに、キャンセルの機会を設けることで不要な代替印刷や代替印刷によるエラー、ジャムを回避することができる。
【0097】
(第2の実施形態)
次に、図12及び図13を参照して、本発明の第2の実施形態である印刷システムについて説明する。なお、上記第1の実施形態に対して重複又は相当する部分については、符号を流用して説明する。
【0098】
図12及び図13は、ホストPC102から印刷装置にPDLデータを送付する処理について説明するためのフローチャート図である。図12及び図13での各処理は、ホストPC102のROM903やHDD909等に記憶された制御プログラムがRAM902にロードされて、CPU901によるプリンタドライバの制御により実行される。
【0099】
ここで、本実施形態では、上記第1の実施形態で印刷装置により行っている処理の一部をホストPC102のプリンタドライバで行う。
【0100】
プリンタドライバは、ホストPC102のHDD909に保存されており、また、HDD909に保存されたアプリケーションプログラムからの指示によりPDLデータを生成する。プリンタドライバが生成したPDLデータは、ネットワークI/F904を介して代替印刷装置に転送される。
【0101】
まず、ホストPC102の任意のアプリケーションで印刷処理を実行すると、プリンタドライバの処理が開始され、図12のステップS801に進む。
【0102】
ステップS801では、プリンタドライバは、アプリケーションから送られてくる描画命令に基づいてPDLデータを生成し、ステップS802に進む。
【0103】
ステップS802では、プリンタドライバは、PDLデータの送信先の印刷装置105から情報テーブル200を取得し、ステップS803に進む
ステップS803では、プリンタドライバは、ステップS801で生成したPDLデータからユーザID、アプリケーション名、PDL名を抽出し、ステップS804に進む。
【0104】
ステップS804では、プリンタドライバは、ステップS802で取得した情報テーブル200に、ユーザID、アプリケーション名、PDL名がステップS803で抽出したものと同じで処理結果情報がSUCCESS:以外の行が存在するか否かを判断する。そして、プリンタドライバは、対応する行が存在する場合は、ステップS805に進み、対応する行が存在しない場合は、図13のステップS816に進み、生成したPDLデータを印刷装置105に送付して処理を終了する。
【0105】
ステップS805では、プリンタドライバは、条件にマッチする行の行数を変数MAXに設定し、ステップS806に進む。
【0106】
ステップS806では、プリンタドライバは、カウンタ変数Iを1に初期化し、ステップS807に進む。
【0107】
ステップS807では、プリンタドライバは、カウンタ変数Iの値が変数MAXの値を越えているか否かを判断する。そして、プリンタドライバは、カウンタ変数Iが変数MAXを越えている場合は、ステップS816に進んで、生成したPDLデータを印刷装置105に送付して処理を終了し、カウンタ変数Iが変数MAX以下の場合は、ステップS808に進む。
【0108】
ステップS808では、プリンタドライバは、情報テーブル200のI行目の処理結果ステータスがERROR:か否かを判断する。そして、プリンタドライバは、処理結果ステータスがERROR:で無い場合は、ステップS811に進み、処理結果ステータスがERROR:の場合は、ステップS809に進む。
【0109】
ステップS809では、プリンタドライバは、生成したPDLデータに、情報テーブル200のI行目の処理結果情報項目のコマンドパターンが含まれるか否かを判断する。そして、プリンタドライバは、コマンドパターンが含まれない場合は、ステップS810に進み、カウンタ変数Iの値を1増加させ、ステップS807に戻り、コマンドパターンが含まれる場合は、図13のステップS812に進む。
【0110】
ステップS811では、プリンタドライバは、生成したPDLデータの総ページ数が、情報テーブル200のI行目の処理結果情報項目のページ数以上か否かを判断する。そして、プリンタドライバ、PDLデータの総ページ数が処理結果情報項目のページ数未満の場合は、ステップS810に進み、カウンタ変数Iの値を1増加させて、ステップS807に戻る。また、プリンタドライバは、PDLデータの総ページ数が処理結果情報項目のページ数以上の場合は、図13のステップS812に進む。
【0111】
図13において、ステップS812では、プリンタドライバは、情報テーブル200にI行目のユーザIDがサーバであるか否かを判断する。ユーザIDがサーバである場合は、対応するPDLデータが情報管理サーバ101の管理する全ての印刷装置でエラーまたはジャムになったことを意味する。従って、プリンタドライバは、ユーザIDがサーバである場合は、ステップS817に進み、ユーザIDがサーバでない場合は、ステップS813に進む。
【0112】
ステップS817では、プリンタドライバは、ホストPC102でのユーザ操作等により印刷処理がキャンセルされたか否かを判断する。そして、プリンタドライバは、キャンセルされた場合は、処理を終了し、キャンセルされない場合は、ステップS816に進み、生成したPDLデータを印刷装置105に送付して処理を終了する。
【0113】
ステップS813では、プリンタドライバは、情報管理サーバ101に代替印刷装置を問合せ、ステップS814に進む。ここでの代替印刷装置の問合せには、情報テーブル200の行番号を除く項目内容と、生成したPDLデータを送付する予定の印刷装置の印刷装置IDとを情報管理サーバ101に送付する。なお、ホストPC102のプリンタドライバから代替印刷装置の問合せを受けた情報管理サーバ101の処理は、上記第1の実施形態(図9及び図10参照)と同様である。
【0114】
(代替印刷装置の選択)
ステップS814では、プリンタドライバは、情報管理サーバ101から代替印刷装置リスト503(図11(d)参照)を取得したか否かを判断し、取得した場合は、ステップS815に進み、取得しない場合は、ステップS817に進む。
【0115】
ステップS815では、プリンタドライバは、図7に示すプリファレンス指定ページ600で指定されたプリファレンス情報を印刷装置105から取得し、これに従って、図8に示す代替印刷装置指定ダイアログ700を表示装置906に表示する。
【0116】
プリファレンス指定ページ600では、代替印刷装置指定ダイアログ700に代替印刷装置として表示する項目の指定、代替候補が無い場合の処理、処理実績がある印刷装置の信頼度を高とするために必要な実績回数が指定される。また、プリファレンス指定ページ600では、代替印刷装置として表示する項目として全ての項目、代替候補が無い場合の処理として印刷をキャンセルさせる方法、信頼度を高とするための実績回数として10が指定される。
【0117】
プリファレンス指定ページ600の指定内容と代替印刷装置リスト503とに従って代替印刷装置を表示した例が図8に示す代替印刷装置指定ダイアログ700になる。
【0118】
なお、プリファレンス指定ページ600は、ホストPC102の表示装置906に表示され、各印刷装置の管理者により外部入力装置907のポインティングデバイス等を使用して指定される。代替印刷装置指定ダイアログ700は、ホストPC102の表示装置906に表示され、PDLデータを印刷ジョブとして発行したホストPCのユーザが処理方法を決定する。
【0119】
図11(b)に示す代替印刷装置リスト503において、行番号2の印刷装置4(図1の印刷装置108に相当)の信頼度はSUCCESSであるが、実績回数が3であり、信頼度を高とする回数に達していない。このため、図8に示す代替印刷装置指定ダイアログ700では、図11(b)に示す行番号2の印刷装置4に対応するプリンタ02の信頼度の表示は中になっている。また、代替印刷装置リスト503での信頼度がUNKNOWNまたはDOUBTFULの場合は、代替印刷装置指定ダイアログ700での信頼度の表示は低になる。
【0120】
そして、プリンタドライバは、ステップS815において、ユーザが外部入力装置907のポインティングデバイス等により、代替印刷装置指定ダイアログ700のリストから代替印刷装置を選択し、印刷ボタンを押すと、ステップS816に進む。
【0121】
ステップS816では、プリンタドライバは、ステップS815で選択された代替印刷装置にPDLデータを転送し、処理を終了する。なお、ステップS815で代替印刷装置指定ダイアログ700のキャンセルボタンが押された場合は、プリンタドライバは、印刷を中止し、処理を終了する。
【0122】
以上説明したように、本実施形態では、印刷装置により行っている処理の一部をホストPC102のプリンタドライバで行うため、印刷装置およびネットワークの負荷を小さくすることができる。その他の構成及び作用効果は、上記第1の実施形態と同様である。
【0123】
なお、本発明は、上記各実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【0124】
例えば、上記各実施形態では、印刷装置105について説明したが、印刷装置106、印刷装置107、印刷装置108についても同様である。
【0125】
また、上記各実施形態では、印刷装置のPDLデータの処理結果情報を独立した情報管理サーバ101で管理するように構成したが、同様なサーバ機能を印刷装置105〜108の何れかに持たせてもよい。この場合、処理プログラムは、各印刷装置のROM1003等に保存される。
【0126】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0127】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0128】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0129】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0130】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【0131】
【図1】本発明の第1の実施形態である印刷システムの構成例を説明するためのブロック図である。
【図2】情報管理サーバ及びホストPCのシステム構成例を説明するためのブロック図である。
【図3】印刷装置のシステム構成例を説明するためのブロック図である。
【図4】(a)は印刷装置で管理される情報テーブルの一例を示す図、(b)は情報管理サーバで管理される情報テーブルの一例を示す図である。
【図5】印刷装置の処理例について説明するためのフローチャート図である。
【図6】印刷装置の処理例について説明するためのフローチャート図である。
【図7】プリファレンス指定ページの一例を示す図である。
【図8】代替印刷装置指定ダイアログの一例を示す図である。
【図9】情報管理サーバの処理例について説明するためのフローチャート図である。
【図10】情報管理サーバの処理例について説明するためのフローチャート図である。
【図11】代替印刷装置リストの生成の説明に使用するテーブルを示す図である。
【図12】本発明の第2の実施形態である印刷システムにおいて、ホストPCから印刷装置にPDLデータを送付する処理について説明するためのフローチャート図である。
【図13】ホストPCから印刷装置にPDLデータを送付する処理について説明するためのフローチャート図である。
【符号の説明】
【0132】
100 ネットワーク
101 情報管理サーバ
102,103,104 ホストPC
105,106,107,108 印刷装置
900 I/Oバス
901 CPU
902 RAM
903 ROM
904 ネットワークI/F
905 VRAM
906 表示装置
907 外部入力コントローラ
908 外部入力装置
909 HDD
910 外部記憶装置
1000 I/Oバス
1001 CPU
1002 RAM
1003 ROM
1004 ネットワークI/F
1005 VRAM
1006 表示装置
1007 外部入力コントローラ
1008 外部入力装置
1009 HDD
1010 外部記憶装置
1011 プリンタコントローラ
1012 プリンタエンジン
【特許請求の範囲】
【請求項1】
複数の印刷装置、及び該複数の印刷装置を管理するサーバを備える印刷システムであって、
前記印刷装置は、印刷データの処理結果情報を保存する保存手段と、
前記処理結果情報を前記サーバに通知する通知手段と、
情報処理装置から送信された印刷データから識別情報を抽出する抽出手段と、
前記識別情報と前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断手段と、
該判断手段が前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ手段と、
該問い合わせ手段による問い合わせに応じて前記サーバから取得した代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信手段と、を備え、
前記サーバは、前記通知手段により前記印刷装置から通知される印刷データの処理結果情報を管理する管理手段と、
前記問い合わせ手段による前記印刷装置からの問い合わせ要求に応じて、前記管理手段で管理される前記処理結果情報に基づいて、前記転送先の代替印刷装置を決定する決定手段と、
該決定手段で決定した前記転送先の代替印刷装置を特定する情報を前記問い合わせ要求元の印刷装置に返送する返送手段と、を備えることを特徴とする印刷システム。
【請求項2】
前記情報処理装置は、前記転送先の代替印刷装置の一覧を表示装置に表示するためのプリファレンス情報を前記印刷装置から取得して前記表示装置に表示する取得手段と、
前記表示装置に表示された前記プリファレンス情報において、指定された内容に基づいて、ユーザに選択させるための前記転送先の代替印刷装置の一覧を示す選択画面を前記表示装置に表示する表示手段と、
前記選択画面で選択された前記転送先の代替印刷装置を特定する情報を前記印刷装置に送付する送付手段と、を備え、
前記印刷装置の前記送信手段は、前記送付手段により送付された前記代替印刷装置を特定する情報に基づいて、該代替印刷装置に対して、前記情報処理装置から送信された印刷データを送信する、ことを特徴とする請求項1に記載の印刷システム。
【請求項3】
前記サーバが、サーバ機能を備える印刷装置である、ことを特徴とする請求項1又は2に記載の印刷システム。
【請求項4】
情報処理装置と1つ以上の他の印刷装置と複数の印刷装置を管理するサーバと通信可能な印刷装置であって、
印刷データの処理結果情報を保存する保存手段と、
前記処理結果情報を前記サーバに通知する通知手段と、
前記情報処理装置から送信された印刷データから識別情報を抽出する抽出手段と、
前記識別情報と前記保存手段に保存された前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断手段と、
前記判断手段が前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ手段と、
前記問い合わせ手段による問い合わせに応じて前記サーバから送信された代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信手段と、を備えることを特徴とする印刷装置。
【請求項5】
情報処理装置と1つ以上の他の印刷装置と複数の印刷装置を管理するサーバと通信可能な印刷装置の制御方法であって、
印刷データの処理結果情報を保存手段に保存する保存工程と、
前記処理結果情報を前記サーバに通知する通知工程と、
前記情報処理装置から送信された印刷データから識別情報を抽出する抽出工程と、
前記識別情報と前記保存手段に保存された前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断工程と、
前記判断工程で前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ工程と、
前記問い合わせ工程による問い合わせに応じて前記サーバから送信された代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信工程と、を備えることを特徴とする制御方法。
【請求項1】
複数の印刷装置、及び該複数の印刷装置を管理するサーバを備える印刷システムであって、
前記印刷装置は、印刷データの処理結果情報を保存する保存手段と、
前記処理結果情報を前記サーバに通知する通知手段と、
情報処理装置から送信された印刷データから識別情報を抽出する抽出手段と、
前記識別情報と前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断手段と、
該判断手段が前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ手段と、
該問い合わせ手段による問い合わせに応じて前記サーバから取得した代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信手段と、を備え、
前記サーバは、前記通知手段により前記印刷装置から通知される印刷データの処理結果情報を管理する管理手段と、
前記問い合わせ手段による前記印刷装置からの問い合わせ要求に応じて、前記管理手段で管理される前記処理結果情報に基づいて、前記転送先の代替印刷装置を決定する決定手段と、
該決定手段で決定した前記転送先の代替印刷装置を特定する情報を前記問い合わせ要求元の印刷装置に返送する返送手段と、を備えることを特徴とする印刷システム。
【請求項2】
前記情報処理装置は、前記転送先の代替印刷装置の一覧を表示装置に表示するためのプリファレンス情報を前記印刷装置から取得して前記表示装置に表示する取得手段と、
前記表示装置に表示された前記プリファレンス情報において、指定された内容に基づいて、ユーザに選択させるための前記転送先の代替印刷装置の一覧を示す選択画面を前記表示装置に表示する表示手段と、
前記選択画面で選択された前記転送先の代替印刷装置を特定する情報を前記印刷装置に送付する送付手段と、を備え、
前記印刷装置の前記送信手段は、前記送付手段により送付された前記代替印刷装置を特定する情報に基づいて、該代替印刷装置に対して、前記情報処理装置から送信された印刷データを送信する、ことを特徴とする請求項1に記載の印刷システム。
【請求項3】
前記サーバが、サーバ機能を備える印刷装置である、ことを特徴とする請求項1又は2に記載の印刷システム。
【請求項4】
情報処理装置と1つ以上の他の印刷装置と複数の印刷装置を管理するサーバと通信可能な印刷装置であって、
印刷データの処理結果情報を保存する保存手段と、
前記処理結果情報を前記サーバに通知する通知手段と、
前記情報処理装置から送信された印刷データから識別情報を抽出する抽出手段と、
前記識別情報と前記保存手段に保存された前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断手段と、
前記判断手段が前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ手段と、
前記問い合わせ手段による問い合わせに応じて前記サーバから送信された代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信手段と、を備えることを特徴とする印刷装置。
【請求項5】
情報処理装置と1つ以上の他の印刷装置と複数の印刷装置を管理するサーバと通信可能な印刷装置の制御方法であって、
印刷データの処理結果情報を保存手段に保存する保存工程と、
前記処理結果情報を前記サーバに通知する通知工程と、
前記情報処理装置から送信された印刷データから識別情報を抽出する抽出工程と、
前記識別情報と前記保存手段に保存された前記処理結果情報とに基づいて、前記情報処理装置から送信された印刷データを正常に印刷することができるか否かを判断する判断工程と、
前記判断工程で前記印刷データを正常に印刷することができないと判断した場合に、前記情報処理装置から送信された印刷データを正常に印刷することができ代替印刷装置を前記サーバに問い合わせる問い合わせ工程と、
前記問い合わせ工程による問い合わせに応じて前記サーバから送信された代替印刷装置を特定する情報に基づいて、前記情報処理装置から送信された印刷データを前記代替印刷装置へ送信する送信工程と、を備えることを特徴とする制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−134758(P2010−134758A)
【公開日】平成22年6月17日(2010.6.17)
【国際特許分類】
【出願番号】特願2008−311140(P2008−311140)
【出願日】平成20年12月5日(2008.12.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年6月17日(2010.6.17)
【国際特許分類】
【出願日】平成20年12月5日(2008.12.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]