(57)【特許請求の範囲】
【請求項１】
印刷要求に基づいて印刷処理をする印刷装置を管理する印刷管理装置であって、
前記印刷装置に投入されている印刷要求の一覧を示す情報を取得する取得手段と、
前記取得手段により取得された情報が示す印刷要求の一覧が、変化しているか否かを判定する判定手段と、
変化していないと前記判定手段により判定されるのに応じて、前記印刷装置の障害を通知する制御手段とを有することを特徴とする印刷管理装置。
【請求項２】
印刷要求に基づいて印刷処理をする印刷装置を管理する印刷管理装置であって、
前記印刷装置に投入されている印刷要求の一覧を示す情報を取得する取得手段と、
前記取得手段により取得された情報が示す印刷要求の一覧が、変化しているか否かを判定する判定手段と、
変化していないと前記判定手段により判定されるのに応じて、前記印刷装置を初期化させる制御手段を有することを特徴とする印刷管理装置。
【請求項３】
印刷要求に基づいて印刷処理をする印刷装置を管理する印刷管理方法であって、
前記印刷装置に投入されている印刷要求の一覧を示す情報を取得し、
取得された情報が示す印刷要求の一覧が、変化しているか否かを判定し、
変化していないと判定されるのに応じて、前記印刷装置の障害を通知することを特徴とする印刷管理方法。
【請求項４】
時間が計測されてから所定時間の間、印刷要求の一覧が変化していないと判定されるのに応じて、前記印刷装置の障害を通知することを特徴とする請求項３に記載の印刷管理方法。
【請求項５】
前記印刷装置から取得された、前記印刷装置の状態を示す情報に基づいて、前記印刷装置で障害が発生しているか否かを判定し、
障害が発生していないと判定されたとき、変化していないと判定されるのに応じて、前記印刷装置の障害を通知することを特徴とする請求項３或いは４に記載の印刷管理方法。
【請求項６】
印刷要求に基づいて印刷処理をする印刷装置を管理する印刷管理方法であって、
前記印刷装置に投入されている印刷要求の一覧を示す情報を取得し、
取得された情報が示す印刷要求の一覧が、変化しているか否かを判定し、
変化していないと判定されるのに応じて、前記印刷装置を初期化させることを特徴とする印刷管理方法。
【請求項７】
時間が計測されてから所定時間の間、印刷要求の一覧が変化していないと判定されるのに応じて、前記印刷装置を初期化させることを特徴とする請求項６に記載の印刷管理方法。
【請求項８】
前記印刷装置から取得された、前記印刷装置の状態を示す情報に基づいて、前記印刷装置で障害が発生しているか否かを判定し、
障害が発生していないと判定されたとき、変化していないと判定されるのに応じて、前記印刷装置を初期化させることを特徴とする請求項６或いは７に記載の印刷管理方法。
【請求項９】
リセットを指示するコマンドを送信して、前記印刷装置を初期化させることを特徴とする請求項６乃至８のいずれかに記載の印刷管理方法。
【請求項１０】
前記印刷装置を初期化させた後、前記印刷装置に投入されていた印刷要求に対応するデータを前期印刷装置に送信することを特徴とする請求項６乃至９のいずれかに記載の印刷管理方法。
【請求項１１】
前記印刷装置が正常に初期化されたか否かを判定し、
初期化されていないと判定されるのに応じて、前記印刷装置の障害を通知することを特徴とする請求項６乃至１０のいずれかに記載の印刷管理方法。
【請求項１２】
印刷要求に基づいて印刷処理をする印刷装置を管理する印刷管理プログラムであって、
前記印刷装置に投入されている印刷要求の一覧を示す情報を取得する取得ステップと、
前記取得ステップにより取得された情報が示す印刷要求の一覧が、変化しているか否かを判定する判定ステップと、
変化していないと前記判定ステップにより判定されるのに応じて、前記印刷装置の障害を通知する制御ステップとをコンピュータに実行させることを特徴とする印刷管理プログラム。
【請求項１３】
前記印刷管理プログラムは、時間を計測する計測ステップをコンピュータに実行させ、
前記制御ステップでは、前記計測ステップにより時間が計測されてから所定時間の間、印刷要求の一覧が変化していないと判定されるのに応じて、前記印刷装置の障害を通知することを特徴とする請求項１２に記載の印刷管理プログラム。
【請求項１４】
前記印刷管理プログラムは、前記印刷装置の状態を示す情報を取得する状態取得ステップと、前記状態取得ステップにより取得された情報に基づいて、前記印刷装置で障害が発生しているか否かを判定する状態判定ステップとをコンピュータに実行させ、
前記制御ステップでは、障害が発生していないと前記状態判定ステップにより判定されたとき、変化していないと前記判定ステップにより判定されるのに応じて、前記印刷装置の障害を通知することを特徴とする請求項１２或いは１３に記載の印刷管理プログラム。
【請求項１５】
印刷要求に基づいて印刷処理をする印刷装置を管理する印刷管理プログラムであって、
前記印刷装置に投入されている印刷要求の一覧を示す情報を取得する取得ステップと、
前記取得ステップにより取得された情報が示す印刷要求の一覧が、変化しているか否かを判定する判定ステップと、
変化していないと前記判定ステップにより判定されるのに応じて、前記印刷装置を初期化させる制御ステップとをコンピュータに実行させることを特徴とする印刷管理プログラム。
【請求項１６】
前記印刷管理プログラムは、時間を計測する計測ステップをコンピュータに実行させ、
前記制御ステップでは、前記計測ステップにより時間が計測されてから所定時間の間、印刷要求の一覧が変化していないと判定されるのに応じて、前記印刷装置を初期化させることを特徴とする請求項１５に記載の印刷管理プログラム。
【請求項１７】
前記印刷管理プログラムは、前記印刷装置の状態を示す情報を取得する状態取得ステップと、前記状態取得ステップにより取得された情報に基づいて、前記印刷装置で障害が発生しているか否かを判定する状態判定ステップとをコンピュータに実行させ、
前記制御ステップでは、障害が発生していないと前記状態判定ステップにより判定されたとき、変化していないと前記判定ステップにより判定されるのに応じて、前記印刷装置を初期化させることを特徴とする請求項１５或いは１６に記載の印刷管理プログラム。
【請求項１８】
前記制御ステップでは、リセットを指示するコマンドを送信して、前記印刷装置を初期化させることを特徴とする請求項１５乃至１７のいずれかに記載の印刷管理プログラム。
【請求項１９】
前記印刷管理プログラムは、前記制御ステップで前記印刷装置を初期化させた後、前記印刷装置に投入されていた印刷要求に対応するデータを前期印刷装置に送信する再印刷制御ステップをコンピュータに実行させることを特徴とする請求項１５乃至１８のいずれかに記載の印刷管理プログラム。
【請求項２０】
前記印刷管理プログラムは、前記印刷装置が正常に初期化されたか否かを判定する初期化判定ステップをコンピュータに実行させ、
前記制御ステップでは、初期化されていないと判定されるのに応じて、前記印刷装置の障害を通知することを特徴とする請求項１５乃至１９のいずれかに記載の印刷管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置で作成された印刷データが、印刷機能を有する画像処理装置に転送されて、印刷処理される印刷システムに関するものである。
【０００２】
【従来の技術】
従来の印刷システムにおいては、情報処理装置は、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）等のネットワークプロトコルを使用して、画像処理装置の状態（ステータス）を示す情報（以下、ステータス情報と示す）を取得し、取得したステータス情報に従って印刷制御を行っていた。
【０００３】
【発明が解決しようとする課題】
そのために、ＳＮＭＰ等を用いて取得したステータス情報が画像処理装置が正常であることを示しているにもかかわらず、印刷物が排出できない状態にある場合、情報処理装置は、画像処理装置が障害に陥っていることを検出することができなかった。
【０００４】
これは、例えば、画像処理装置に着脱可能に付加される、印刷物を排出する排出部がエラー状態にあるにもかかわらず、画像処理装置本体が正常である場合に、最終的に、画像処理装置の状態が正常であると判定されることにより発生する。
【０００５】
また、画像処理装置の通信制御部が、画像処理装置の状態を示す情報を格納し、情報処理装置からの要求に応じて、格納された情報に基づくステータス情報を返送する場合に、格納された情報が示す状態と、現在の画像処理装置の状態とが一致しないことによりも発生する。
【０００６】
従って、情報処理装置が、単なるステータス情報では示されない障害が発生していることを、検知できるようにすることが必要である。
【０００７】
【課題を解決するための手段】
そこで、上記課題を解決するために、本発明に係る印刷管理装置は、印刷要求に基づいて印刷処理をする印刷装置を管理する印刷管理装置であって、前記印刷装置に投入されている印刷要求の一覧を示す情報を取得する取得手段と、前記取得手段により取得された情報が示す印刷要求の一覧が、変化しているか否かを判定する判定手段と、変化していないと前記判定手段により判定されるのに応じて、前記印刷装置の障害を通知する制御手段とを有することを特徴とする。
【０００８】
または、印刷要求に基づいて印刷処理をする印刷装置を管理する印刷管理装置であって、前記印刷装置に投入されている印刷要求の一覧を示す情報を取得する取得手段と、前記取得手段により取得された情報が示す印刷要求の一覧が、変化しているか否かを判定する判定手段と、変化していないと前記判定手段により判定されるのに応じて、前記印刷装置を初期化させる制御手段を有することを特徴とする。
【０００９】
【発明の実施の形態】
以下、実施例をもとに本発明を詳細に説明する。
【００１０】
図１は、本発明に係るシステムのシステム構成図である。図１において、１１１〜１１２は、印刷要求を出すクライアント装置である。クライアント装置１１１〜１１３は、パソコン、携帯電話、携帯端末などの情報処理装置であり、作成した文書データを印刷するための印刷要求を発行する。
【００１１】
１２０は、サーバ装置である。サーバ装置１２０は、複数のクライアント装置のそれぞれから送られてくる印刷要求を受けて、印刷要求に対応する印刷データを順次、プリンタ１３０へ送信する。
【００１２】
１３０は、プリンタである。なお、プリンタ１３０は、インクジェットプリンタ、レーザビームプリンタ、複写機、複合機、マルチファンクション機、ファクシミリなどの画像処理装置でもよい。また、画像処理装置にかぎらず、用途に応じたジョブを処理するジョブ処理装置でもよい。
【００１３】
なお、クライアント装置１１１〜１１３、サーバ装置１２０、プリンタ１３０は、ネットワーク１００でつながっている。ネットワーク１００は、インターネット、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、電話回線、デジタル回線などで構成されている。
【００１４】
このシステムでは、まず、クライアント装置１１１〜１１３がそれぞれ、使用者からの指示に応じて、印刷要求を発行する。サーバ装置１２０は、それぞれの印刷要求を順次受け付けて保持し、それぞれの印刷要求に基づく印刷の順序を制御する。
【００１５】
具体的には、サーバ装置１２０は、プリンタ１３０の状態を監視し、プリンタ１３０が出力できる状態にあれば、複数の印刷要求の中から一つを選択して、当該印刷要求に対応する印刷データをプリンタ１３０に送信する。さらに、印刷データに基づく印刷処理によって排紙が行われたかを監視し、排紙が行われた場合には、印刷要求を発行したクライアント装置に排紙完了を通知する。
【００１６】
なお、上記では、印刷データがクライアント装置からサーバ装置に転送された後、サーバ装置からプリンタに転送されたが、下記のように転送されても良い。まず、クライアント装置は印刷データを含まない印刷データをサーバ装置１２０に発行する。サーバ装置は、プリンタ１３０の状態を監視して、プリンタが出力できる状態にあれば、複数の印刷要求の中から一つを選択して、選択された印刷要求を発行したクライアント装置に印刷指示を出す。印刷指示を受信したクライアント装置は、印刷データをプリンタ１３０に転送する。
【００１７】
図２は、印刷システムの機能構成を示す図である。本例では、クライアントコンピュータ１１０、サーバコンピュータ１２０、ネットワークプリンタ１３０の構成よりなる。なお、この図では、クライアントコンピュータ１１０とサーバコンピュータ１２０とが、通信媒体２５０で接続されているが、通信媒体１００で接続されていもよい。
【００１８】
２１はクライアントコンピュータ（以下、クライアントと省略することがある）のシステムバスである。２２は、システムの制御をつかさどるＣＰＵである。２３は、ＣＰＵ２２で実行させる制御コードが書き込まれているハードディスクである。２４はＲＡＭである。
【００１９】
２５は、画像管理部である。画像管理部２５は、ユーザが使用しているアプリケーションソフトウェアより投入されたジョブを管理するものである。２６は、ジョブの情報を管理するジョブ管理部である。
【００２０】
２７は、パソコン等のキー入力部である。２８は、ディスプレイ等の表示部である。２９は、ＩＰＰやＬＰＲ等の印刷プロトコルをつかさどる印刷部である。２０は、サーバコンピュータ１２０との通信をつかさどるサーバ通信部である。サーバ通信部２０は、ＲＰＣ（リモートプロシジャコール）などによる通信を制御し、サーバコンピュータ１２０との通信を実行する。
【００２１】
同一装置内、あるいは、外部装置のユーザアプリケーションソフトウェアよりジョブが投入されると、画像管理部２５が画像データを格納し、ジョブ管理部２６がジョブ情報をＦＩＦＯ等のキューに管理し、ジョブの処理順序を制御する。
【００２２】
２２０は、サーバコンピュータ（以下、サーバと省略することがある）のシステムバスである。２２１は、サーバコンピュータのシステムの制御をつかさどるＣＰＵである。２２２は、ＣＰＵ２２１で実行させる制御コードが書き込まれているハードディスクである。２２３はＲＡＭである。
【００２３】
２２４は、クライアントとの通信をつかさどるクライアント通信部である。２２５は、ＳＮＭＰ等のプロトコルでプリンタステータスを取得するプリンタステータス判定部である。２２６は、プリンタからのイベント通知を受信するイベント通信部である。２２７は、プリンタ内のジョブを列挙するジョブ列挙部である。２２８は、プリンタ内部に保持する印刷結果ログを参照するログ列挙部である。２２９は、プリンタとクライアントとの間で取り決めているプロトコルを設定、解析しているプリンタＩ／Ｆ部である。
【００２４】
２３２は、複数のクライアントの画像管理部２５で管理されていたデータをまとめて管理する画像管理部である。２３３は、複数のクライアントからそれぞれ発行されたジョブの情報をまとめて管理するジョブ管理部である。
【００２５】
このプリンティングシステムでは、ユーザアプリケーションソフトウェアより印刷要求を受けると、まず、画像管理部２５とジョブ管理部２６とがそれぞれ画像データと、ジョブ情報を一時保持し、つぎに、サーバ通信部２１１が印刷要求をサーバへ発行する。
【００２６】
つぎに、画像管理２３２が、クライアントから印刷要求とともに送られたきた印刷データ(印刷情報)を蓄え、ジョブ管理部２３３が、そのジョブの情報を格納する。
【００２７】
そして、サーバは、複数のクライアントからの印刷要求を受け、プリンタ１３０の状態を監視しながら、プリンタへ印刷処理させる。
【００２８】
図３は、プリンタ内の受信キュー（待ち行列）の構成図である。３１は、受信したジョブのポインタ部である。これは、受信キューの先頭を示す。図３には、３つのジョブのジョブ情報（３２、３３、３４）が時系列でつながれている。３２を先頭に、３３、３４の順に、対応するジョブがサーバより送られている。
【００２９】
各ジョブ情報は、ジョブの名称とジョブの現在の状態（ステータス）を格納する。３２のジョブは、Ａ３２というジョブの名称で、現在印刷中であることが示されている。３３のジョブは、Ａ３３というジョブの名称で、現在、データはサーバから受信されて終了しており、出力待ちであることが示されている。３４のジョブは、Ａ３４というジョブの名称で、現在データがサーバから受信されている途中であることが示されている。
【００３０】
図４は、プリンタ内のプリンタステータスを保持する構成を示す図である。プリンタは、ステータスを示すデータを４１に保持しており、プリンタのステータスの要求が外部から行われると４１に記載されたコードを変換して、ステータス情報として外部へ渡す。
【００３１】
本例では、ステータスを示すコードは、４バイトである。４２は、そのコードの具体例を示している。４２は、プリンタの異常ステータスのビット定義である。たとえば、トナー無しでオフライン状態であれば０ｘ０００４００８０というコードが４１に書き込まれる。プリンタの状態が正常であれば０ｘ００００００００というコードが４１に保持される。
【００３２】
図５は、本印刷システムにおける印刷ジョブキューの構成図である。本キューは、ジョブ管理部２３３で管理され、各ジョブの名称とステータスが格納されている。ある特定のプリンタに対して印刷要求が発行されると、そのジョブに関するジョブ情報が、本キューにつなげらる。サーバは、このキューに従って、ジョブを順次プリンタへ投入する。図５では、５２、５３、５４が、３２、３３、３４の各ジョブに対応している。これらのジョブは、すでにプリンタに投入されているので、５２，５３，５４のステータスはプリンタへ投入済みと示されている。
【００３３】
図６は、本印刷システムにおけるプリンタリセット後の印刷ジョブキューの構成図である。プリンタがリセットされて復旧処理された後は、各ジョブの状態は図６のようになる。５２，５３，５４ともに、プリンタから排紙確認が取れずにエラーの状態となり、キュー上に残っている。本例では、正常に印刷確認が取得できた場合以外は、キューにジョブ情報が残るようになっている。
【００３４】
図７は、本印刷システムにおいて、排紙完了を取得するための制御フローを示す図である。ステップ７０１では、ジョブが、クライアントからサーバを経由して、プリンタに投入される。ステップ７０２では、プリンタステータス判定部２２５が、プリンタからプリンタステータスを取得する。ステップ７０３では、プリンタが、４１に保持されているコードを変換して、ステータス情報をサーバへ送信している。ここでは、プリンタが正常であることを示すステータス情報が送信されている。
【００３５】
ステップ７０４では、ジョブ列挙部２２７が、ジョブの列挙（ジョブの一覧を示す情報）を要求する。ステップ７０５では、プリンタが、ステップ７０４で送信されたコマンドに応じて、プリンタ内のジョブの一覧を示す情報を送信する。プリンタ内のジョブが図３のようになっている場合、“Ａ３２、Ａ３３、Ａ３４”という情報が送信される。
【００３６】
なお、ステップ７０２〜７０５に対応する処理が定期的に行なわれる。ここでは、５秒間隔で処理が行なわれ、ステップ７０６〜７０９が次の周期の処理を示している。ステップ７０６では、ステップ７０２と同様に、プリンタステータス判定部２２５が、プリンタからプリンタステータスを取得する。ステップ７０７では、プリンタが、４１に保持しているコードを変換して、ステータス情報を返信する。ここでは、プリンタが正常であることを示すステータス情報が送信されている。
【００３７】
ステップ７０８では、ジョブ列挙部２２７がジョブの列挙を要求する。ステップ７０９では、プリンタが、プリンタ内のジョブの一覧を示す情報を送信する。ここでは、３２のジョブは既に正常に印刷処理が終了され、排紙も完了しているので、３３，３４のジョブのみがプリンタ内に残っている。すると、“Ａ３３、Ａ３４”という情報が送信される。
【００３８】
すると、ステップ７１０では、サーバは、ステップ７０９での応答によって、ジョブ「Ａ３２」が排紙されたことを検知することができるので、ジョブ「Ａ３２」を発行したクライアントへ、排紙が完了したことを通知する。
【００３９】
なお、５秒として示したプリンタのステータス監視間隔は、ユーザが設定かのうであり、可変な値でもよい。また、プリンタによって定義された値であっても良い。
【００４０】
図８は、本印刷システムにおいて、プリンタ障害を検知後した後の、リセットによる復旧処理の制御フローを示す図である。ステップ８０１では、ジョブが、クライアントからサーバを経由して、プリンタに投入される。ステップ８０２では、プリンタステータス判定部２２５が、プリンタからプリンタステータスを取得する。ステップ８０３では、プリンタが、４１に保持されているコードを変換して、ステータス情報をサーバへ送信している。ここでは、プリンタが正常であることを示すステータス情報が送信されている。
【００４１】
ステップ８０４では、ジョブ列挙部２２７が、ジョブの列挙（ジョブの一覧を示す情報）を要求する。ステップ８０５では、プリンタが、ステップ８０４で送信されたコマンドに応じて、プリンタ内のジョブの一覧を示す情報を送信する。プリンタ内のジョブが図３のようになっている場合、“Ａ３２、Ａ３３、Ａ３４”という情報が送信される。
【００４２】
以降、ステップ７０２〜７０５に対応する処理が５秒おきに行われる。そして、ステップ８０２から６０秒が経過したときに、同じように、ステップ８０７で、プリンタのステータス情報を要求すると、ステップ８０８では、プリンタから、ステータスが正常であることを示す情報が返信される。
【００４３】
さらに、ステップ８０９で、ジョブの列挙コマンドの発行をする。すると、ステップ８１０では、ステップ８０５と変更の無い、“Ａ３２、Ａ３３、Ａ３４”という情報が送信されてくる。
【００４４】
ここで、サーバは、プリンタのステータスが正常であるにも関わらず、６０秒間もジョブの状態が変化しないことから、プリンタに印刷系のトラブルが発生したものと推測する。そして、図６に示すように、印刷システム内に保持しているジョブのステータスをエラーとした上で、ステップ８１１で、リセット復旧コマンドを送信する。
【００４５】
プリンタは、リセット復旧コマンドに応じて、リセットを実行する。そして、ステップ８１２では、リセット復旧コマンドが正常に機能したことを示す正常応答をサーバへ送信する。ステップ８１１でリセット復旧された後は、プリンタステータスが初期化中などになり、プリンタ内部のジョブは消滅する。
【００４６】
５秒として示したプリンタのステータス監視間隔は、ユーザ設定可能な値であってもよくプリンタによって定義された値であっても良い。また、６０秒として示した、プリンタ障害検知タイマは、ユーザ設定可能な値でもよく、プリンタによって定義された値であっても良い。
【００４７】
このように、ある一定期間、プリンタ内に格納されているジョブの一覧が変化しない場合には、サーバは、プリンタに印刷系のトラブルが発生したものと推測することにより、プリンタのステータスでは示されないエラーを発見することができる。
【００４８】
図９は、本印刷システムにおいて、プリンタの障害が検知された後にユーザに通知する表示画面の例を示す図である。ステップ８１１のリセット復旧コマンドがプリンタに準備されていない場合や、リセット復旧コマンドが準備されているものの正常に動作しない場合など、復旧コマンドによりリカバリ（リセット）が正常に行われない場合に、ユーザのアプリケーションソフトウェアやパソコンの画面等に表示されるエラーメッセージである。ステップ８１２が異常として応答された場合や、応答が来なかった場合などにも適用される。この表示画面では、自動的に復旧することができない場合に、ユーザにプリンタの電源ＯＦＦ／ＯＮの操作を促すための表示を行う。
【００４９】
図１０は、本印刷システムをアプリケーションプログラムに組み込んだ場合の使用例を示すブロック図である。１００１は、印刷システムソフトウェアがインストールされているパソコンである。ここでいう印刷システムソフトウェアとは、図２の２３２、２３３、２２５、２２６、２２７、２２８、２２９を実現するためのソフトウェアである。１００２はネットワークプリンタである。
【００５０】
１００３ででは、アプリケーションソフトウェアが、本印刷システムソフトウェアに対して印刷要求、プリンタ状態の取得の要求、印刷の取り消しの指示等のコマンドを発行する。１００４では、印刷システムソフトウェアが、そのコマンドに対する応答を返信する。アプリケーションソフトウェアが、プリンタの状態を監視する際には、１００３でのコマンドを送信を定期的に行い、順次１００４で応答を受け取る。たとえば、印刷システムが障害を検知し、プリンタがリセット復旧不可能な場合に、アプリケーションからのコマンド対して、「プリンタ復旧不能、電源ＯＦＦ／ＯＮ必要」という応答を返す。これによって、アプリケーションソフトウェアへの異常の通知をすることもできる。
【００５１】
図１１は、本発明の印刷システムにおけるプリンタ障害の判定処理を示すフローチャートである。ステップＳ１１１では、本プリンタ障害の判定処理で使用するセーブ情報エリアの初期化処理を行う。セーブ情報は、ジョブの列挙内容が同一か否かを判定するために使用される。
【００５２】
ステップＳ１１２では、図７或いは図８で５秒と示した、プリンタ監視間隔Ｎを計測するタイマをセットする処理である。ステップＳ１１３では、Ｎ秒が経過したか否かを判定する。Ｎ描画経過すると、ステップＳ１１４へ進み、プリンタのステータスを取得する。プリンタがネットワークにつながっている場合、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）などの標準プロトコルを使用して、プリンタのステータス情報を取得する。また、印刷システムが、プリンタ独自のプロトコルを既知のものとして使用しても良い。
【００５３】
ステップＳ１１５では、プリンタのステータスが正常であるか否かを判定する。正常でなければ、その他の障害処理等を実行して、ステップＳ１１２へ戻る。ステップＳ１１５で正常と判定されると、ステップＳ１１６で、ジョブの一覧をプリンタに要求する。
【００５４】
ステップＳ１１７では、返答されてきたジョブの一覧を示す情報に基づいて、列挙されたジョブが存在するか否かを判定する。存在していれば、ステップＳ１１８へ進む。存在していなければ、ステップＳ１１２へ戻る。
【００５５】
ステップＳ１１８では、セーブ情報と比較して、前回に列挙されたジョブと今回に列挙されたジョブとが同一であるかを判定する。一覧がジョブが一致していれば、ステップＳ１２１へ進み、一致していなければステップＳ１２０へ進む。
【００５６】
ステップＳ１２０では、一致していない場合に、列挙されたジョブを示す情報（ジョブの一覧を示す情報）をセーブ情報として登録する。ステップＳ１２５では、下記に説明する比較タイマを０に初期化する。そして、一致していなければ、ジョブが順次処理されていると判定して、ステップＳ１１２に戻る。
【００５７】
一方、ステップＳ１２１では、判定間隔Ｍを計測する比較タイマをＮだけカウントアップする。そして、ステップＳ１２２で、比較タイマが規定値になったか否かを判定する。図８の例では、判定間隔Ｍを６０秒としている。規定値を超えていれば、ステップＳ１２３へ進み、リセットフラグをＯＮにする。その後ステップＳ１２４で、プリンタのリセット復旧を行う。具体的には、リセット復旧コマンドをプリンタに送信したり、プリンタをリセットすべきメッセージを、サーバやクライアントの表示画面に表示させる。また、比較タイマが規定値を超えていなければステップＳ１１２へ戻る。
【００５８】
この判定処理により、ジョブの列挙が規定時間一定であれば、すなわち、プリンタ内のジョブが規定時間変化なければ、ステータス情報では示されないエラーが発生していると判定して、プリンタのリセットを自動的に行うことができる。
【００５９】
図１２は、プリンタがリセットされていることを検知可能な場合のフローチャートである。Ｓ１２２〜Ｓ１２４は、図１１と同様である。ここでは、ステップＳ１２４の続きとして、ステップＳ１２６で、プリンタのリセットが成功したか否かを判定する。この判定は、プリンタが、リセット処理の成功か否かを返信できる場合に、その情報に基づいて行われる。
【００６０】
リセットが成功したと判定されると、ステップＳ１１２へ戻り、リセットが成功しなかった場合には、ユーザへ「プリンタが異常である」旨を表示する。なお、Ｓ１２７では、ユーザのアプリケーションソフトウェアへ通知してもよい。Ｓ１２７の表示例は、図９に示すとおりである。
【００６１】
図１３は、本発明によるプリンタのリセット復旧後の再印刷処理を示すフローチャートである。ステップＳ１３１では、リセットフラグがＯＮになっているかを判定し、ＯＮになるのを待ち続ける。リセットフラグは、ステップＳ１２３でＯＮにセットされる。
【００６２】
リセットフラグがＯＮになるのが検知されると、まず、ステップＳ１３２で、リセットフラグをＯＦＦに設定する。そして、ステップＳ１３３では、図５や図６のキューを調べて、エラーとなったジョブを選択する。そして、ステップＳ１３４では、エラーとなったジョブがあるか否かを判定する。
【００６３】
ステータスがエラーとなったジョブ(エラージョブ)がなければ、ステップＳ１３１に戻り、次にリセットフラグがＯＮになるのを待つ。エラージョブがあると判定されると、ステップＳ１３５へ進み、エラージョブの再印刷処理を行う。再印刷処理では、画像管理部２３２に格納されている、エラージョブの印刷データをプリンタに再送信する。ステップＳ１３６では、プリンタに対して送信が終了したかを判定し、終了していればステップＳ１３３へ進み、次のエラージョブを選択する。
【００６４】
この処理により、プリンタがリセットされることによりエラーとなったジョブを再印刷させることができる。
【００６５】
図１４は、プリンタ１３０に適用可能なレーザビームプリンタの内部構造を示す断面図である。このレーザビームプリンタは、文字パターンデータ等を入力して記録紙に印刷することができる。８０１２はレーザビームプリンタ本体であり、供給される文字パターン等を基に、記録媒体である記録紙上に像を形成する。８０００は操作のためのスイツチ及びＬＥＤ表示器などが配されている操作パネル、８００１はレーザビームプリンタ８０１２全体の制御及び文字パターン情報等を解析するプリンタ制御ユニツトである。このプリンタ制御ユニツト８００１は主に文字パターン情報をビデオ信号に変換してレーザドライバ８００２に出力する。レーザドライバ８００２は半導体レーザ８００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ８００３から発射されるレーザ光８００４をオン・オフ切替えする。
【００６６】
レーザ光８００４は回転多面鏡８００５で左右方向に振られて静電ドラム８００６上を走査する。これにより、静電ドラム８００６上には文字パターンの静電潜像が形成される。この潜像は静電ドラム８００６周囲の現像ユニツト８００７により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はレーザビームプリンタ８０１２に装着した複数種の用紙に対応した複数の用紙カセツト８００８に収納され、給紙ローラ８００９及び搬送ローラ８０１０と８０１１とにより装置内に取込まれて、静電ドラム８００６に供給される。
【００６７】
図１５は、プリンタ１３０に適用可能なインクジェット記録装置ＩＪＲＡの断面図である。同図において、駆動モータ９０１１の正逆回転に連動して駆動力伝達ギア９０１０，９００８を介して回転するリードスクリュー９００４の螺旋溝９００３に対して係合するキャリッジＨＣはピン（不図示）を有し、矢印ａ，ｂ方向に往復移動される。このキャリッジＨＣには、インクジェットカートリッジＩＪＣが搭載されている。
【００６８】
９００１は紙押え板であり、キャリッジの移動方向に亙って紙をプラテン９０００に対して押圧する。９００６，９００７はフォトカプラで、キャリッジのレバー９００５のこの域での存在を確認して、モータ９０１１の回転方向切り換え等を行うためのホームポジション検知手段である。９０１３は記録ヘッドの前面をキャップするキャップ部材９０１９を支持する部材で、９０１２はこのキャップ内を吸引する吸引手段で、キャップ内開口９０２０を介して記録ヘッドの吸引回復を行う。
【００６９】
９０１４はクリーニングブレードで、９０１６はこのブレードを前後方向に移動可能にする部材であり、本体支持板９０１５にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。又、９０１８は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム９０１７の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達手段で移動制御される。
【００７０】
これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー９００４の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の作動を行うようにすれば、本例にはいずれも適用できる。
【００７１】
なお、本発明は、上述した実施形態の装置に限定されず、複数の機器から構成されるシステムに適用しても、１つの機器から成る装置に適用してもよい。
【００７２】
図１６は、プログラムコードの供給方法の一例を示す図である。実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体１０００３をシステムあるいは装置１０００１に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、完成されることは言うまでもない。
【００７３】
具体的には、図１１〜図１３のフローチャートに基づくプログラムコードが、ＲＡＭ２２３に格納され、ＣＰＵ２２１が、これらのプログラムコードに従って制御を行うことにより、上述の制御方法を実現させることが可能となる。
【００７４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体又はそのプログラムコード自体が本発明を構成することになる。
【００７５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＯＭを用いることができる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、次のプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵなどが処理を行って実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７７】
【発明の効果】
以上説明したように、本発明によれば、プリンタのステータスで示されないエラーであっても、プリンタに投入されている印刷要求の一覧（ジョブの一覧）を要求することにより、プリンタの印刷系の障害を検出することができる。
【００７８】
これにより、ユーザや上位アプリケーションソフトウェアに、プリンタのステータスでは示されないプリンタの障害を通知できるようになる。
【００７９】
また、プリンタの監視間隔を可変とすることで、ユーザ環境に合わせた効率の良い、プリンタ障害検出システムを構築することが可能になった。
【００８０】
また、障害が発生した場合に、外部からプリンタのリセット（例えば、ソフトリセットやハードリセット）を行い、自動復旧することが可能になった。
【００８１】
また、障害が発生した際に、プリンタのリセットの成功を判定し、リセットが失敗したと判定された場合には、ユーザにメッセージ表示することで、誤りのない指示を促すことが可能になった。
【図面の簡単な説明】
【図１】本発明に係るシステムのシステム構成図である。
【図２】印刷システムの機能構成を示す図である。
【図３】プリンタ内の受信キュー（待ち行列）の構成図である。
【図４】プリンタ内のプリンタステータスを保持する構成を示す図である。
【図５】本印刷システムにおける印刷ジョブキューの構成図である。
【図６】本印刷システムにおけるプリンタリセット後の印刷ジョブキューの構成図である。
【図７】排紙完了を取得するための制御フローを示す図である。
【図８】プリンタ障害を検知後した後の、リセットによる復旧処理の制御フローを示す図である。
【図９】プリンタの障害が検知された後にユーザに通知する表示画面の例を示す図である。
【図１０】本印刷システムをアプリケーションプログラムに組み込んだ場合の使用例を示すブロック図である。
【図１１】本発明の印刷システムにおけるプリンタ障害の判定処理を示すフローチャートである。
【図１２】プリンタがリセットされていることを検知可能な場合のフローチャートである。
【図１３】本発明によるプリンタのリセット復旧後の再印刷処理を示すフローチャートである。
【図１４】レーザビームプリンタの内部構造を示す断面図である。
【図１５】インクジェット記録装置ＩＪＲＡの断面図である。
【図１６】プログラムコードの供給方法の一例を示す図である。
【符号の説明】
１００  ネットワーク
１０１  クライアント
１１１  クライアント
１１２  クライアント
１２０  サーバ
１３０  プリンタ
【図１】
0003840089.tif 000002
【図２】
0003840089.tif 000003
【図３】
0003840089.tif 000004
【図４】
0003840089.tif 000005
【図５】
0003840089.tif 000006
【図６】
0003840089.tif 000007
【図７】
0003840089.tif 000008
【図８】
0003840089.tif 000009
【図９】
0003840089.tif 000010
【図１０】
0003840089.tif 000011
【図１１】
0003840089.tif 000012
【図１２】
0003840089.tif 000013
【図１３】
0003840089.tif 000014
【図１４】
0003840089.tif 000015
【図１５】
0003840089.tif 000016
【図１６】
0003840089.tif 000017