(57)【特許請求の範囲】
【請求項１】
印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムであって、
前記印刷装置は印刷コマンドを全て受信した情報を前記印刷制御装置に通知する印刷コマンド受信終了通知手段と、前記印刷コマンド受信終了通知を前記印刷制御装置が検出する印刷コマンド受信終了検出手段とを有し、
前記印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際、前記印刷コマンド受信終了検出手段が前記印刷コマンド受信終了通知を検出できない場合は、前記印刷制御装置が印刷装置に初期化処理を指示することを特徴とした印刷システム。
【請求項２】
印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムであって、
前記印刷制御装置は印刷ジョブの開始時に印刷開始情報もしくは印刷中情報を前記印刷制御装置内の記憶領域に記憶する印刷開始情報記憶手段を有し、
前記印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際に、前記印刷開始情報が前記印刷制御装置の前記記憶領域に存在する場合は、前記印刷制御装置が前記印刷装置に初期化処理を指示することを特徴とした印刷システム。
【請求項３】
前記印刷中である情報は、
印刷制御装置内の前記記憶領域において印刷ポート毎に管理されることを特徴とした請求項２記載の印刷システム。
【請求項４】
前記印刷コマンドの送信が予期せず停止したことが、スプーラプロセスが終了したことであることを特徴とする請求項１および２に記載の印刷システム。
【請求項５】
前記スプーラプロセスが、前記印刷制御装置のオペレーティングシステムの一部であることを特徴とする請求項４に記載の印刷システム。
【請求項６】
印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムにおいて、
前記印刷装置は印刷コマンドを最後に受信したあとの経過時間を前記印刷制御装置に通知する通知手段を有し、
前記印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際に、前記印刷制御装置は前記経過時間が規定時間以上経過していた場合は、前記印刷装置に初期化処理を指示することを特徴とした印刷システム。
【請求項７】
印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムにおいて、
前記印刷装置は印刷コマンドを最後に受信したあとの経過時間を検知する検知手段と、データ送信の異常状態を印刷装置に通知する通知手段を有し、
前記印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際に、
前記検出手段が規定時間以上経過していることを検知すると、通知手段により異常状態を前記印刷制御装置に通知し、
印刷制御装置は印刷装置からの異常状態であるという情報を受信した場合に、印刷装置に初期化処理を指示することを特徴とした印刷システム。
【請求項８】
印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムにおいて、
前記印刷制御装置は自身の識別情報を印刷装置に転送する転送手段を有し、
前記印刷装置は前記印刷制御装置の識別情報を記憶する記憶手段と、前記印刷制御装置に前記識別情報を通知する通知手段を有し、
前記印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際に、
前記印刷制御装置は前記印刷装置に記憶された前記識別情報が自身の識別情報と一致した場合は、前記印刷装置に初期化処理を指示することを特徴とした印刷システム。
【請求項９】
請求項１に記載の印刷システムを、印刷制御装置に実行させることができるプログラム、及び上記プログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置からの指示によって、印刷装置を初期化して印刷装置内のデータを破棄する技術に関する。
【背景技術】
【０００２】
従来、プリンティングシステムは、カラー出力を可能とするカラープリンタと、そのプリンタを制御し印刷データを生成するホストコンピュータと、その双方を接続する通信インターフェースとから構成されるのが一般的である。ホストコンピュータではオペレーティングシステムが動作しており、各種ソフトウェアがこのオペレーティングシステム上で動作するようになっている。アプリケーションプログラムで作成した各種ドキュメントを印刷する際には、アプリケーションプログラム、プリンタドライバ、オペレーティングシステムが規定の手順で関数呼び出し等を行うことによってデータをやり取りして印刷コマンドを生成する。生成された印刷コマンドをプリンタへ転送することで印刷が行われるようになっている。
【０００３】
ところで、プリンタドライバはオペレーティングシステムを構成する一部であるスプーラプロセスから呼び出されて動作するが、このスプーラプロセスがなんらかの異常状態に陥り、終了してしまうケースがある。このようなケースでも、スプーラプロセスが復旧した後の印刷を正常に行える印刷システムが望まれる。
【０００４】
プリンタドライバから印刷コマンドをプリンタに転送している最中にスプーラプロセスが終了してしまった場合は、ホストコンピュータ上に残された印刷データは削除されてしまう。プリンタはスプーラプロセスが終了した後も残りの印刷コマンドを待ち続ける。この後、スプーラプロセスが再起動し、次の印刷が開始されると、次の印刷の印刷コマンドの先頭を、異常終了した印刷ジョブの残りの印刷コマンドが送信したと判断し、印刷を続行してしまう場合がある。このような場合、記録媒体に途中から不正な印刷を行ってしまう。
【０００５】
また、プリンタが前の印刷ジョブの残りの印刷コマンドを待っているまたは処理しているときは、次の印刷ジョブの印刷コマンドを送信しないといった対応を行うと、前の印刷ジョブが異常終了した場合は次の印刷ジョブの印刷コマンド送信を待ち続けてしまう。
【０００６】
一方、オペレーティングシステムが再起動した際にリセット指示がプリンタに発行されるが、このリセット指示をプリンタで受信すると、プリンタは印刷中の印刷ジョブの印刷コマンドを破棄し、次の印刷を正常に開始させるという技術は既に存在する（特許文献１参照）。
【０００７】
この技術によると、プリンタが印刷中にリセット指示を受信すると、印刷中の印刷ジョブを破棄し、プリンタを初期化する。これによって、新しく発行された次の印刷ジョブの不正印刷を防ぐことが可能となる。
【０００８】
さらに、印刷中の印刷ジョブを破棄することによって、ホストコンピュータが次の印刷ジョブの印刷コマンド送信を待ち続けることもない。
【特許文献１】特開２００１−１７５４３６
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、ホストコンピュータ上で動作する上記スプーラプロセスのみが異常終了し、オペレーティングシステムが再起動することなくスプーラプロセスのみが再起動された場合には、ホストコンピュータからのリセット指示が発行されないためプリンタの初期化を行うことが出来ない。一方、スプーラプロセスが再起動する度にリセット指示を発行するような処理だと、プリンタが正常な印刷コマンドを処理中であった場合、正常に終了できる印刷ジョブを初期化によって破棄してしまうという問題があった。
【００１０】
本発明は上記従来の問題点を鑑み、プリンタの初期化指示をホストコンピュータから適切に判断することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明の印刷システムは、
印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムであって、前記印刷装置は印刷コマンドを全て受信した情報を前記印刷制御装置に通知する印刷コマンド受信終了通知手段と、前記印刷コマンド受信終了通知を前記印刷制御装置が検出する印刷コマンド受信終了検出手段とを有し、前記印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際、前記印刷コマンド受信終了検出手段が前記印刷コマンド受信終了通知を検出できない場合は、前記印刷制御装置が印刷装置に初期化処理を指示することを特徴とする。
【発明の効果】
【００１２】
本発明によれば以下のような効果が得られる。
【００１３】
後述の第一から第四の実施の形態を印刷システムに適用することにより、スプーラプロセスが印刷中に再起動した後の次の印刷が正常に開始することができる。
【００１４】
また、後述の第二の実施の形態を印刷システムに適用すると、ホストコンピュータのみでの対策で行うことも可能であり、また複数の印刷ホストが接続された環境でも対応できる。
【００１５】
さらに、後述の第一から第四の実施の形態をそれぞれ組み合わせて印刷システムに適用することにより、より適切にプリンタへの初期化指示を発行することができる。
【発明を実施するための最良の形態】
【００１６】
＜本発明の実施様態＞
本発明の実施様態は、印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムであって、印刷装置は印刷コマンドを全て受信した情報を印刷制御装置に通知する印刷コマンド受信終了通知手段と、印刷コマンド受信終了通知を印刷制御装置が検出する印刷コマンド受信終了検出手段とを有し、印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際、印刷コマンド受信終了検出手段が印刷コマンド受信終了通知を検出できない場合は、印刷制御装置が印刷装置に初期化処理を指示する。
【００１７】
また、印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムであって、
印刷制御装置は印刷ジョブの開始時に印刷開始情報もしくは印刷中情報を印刷制御装置内の記憶領域に記憶する印刷開始情報記憶手段を有し、印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際に、印刷開始情報が印刷制御装置の記憶領域に存在する場合は、印刷制御装置が印刷装置に初期化処理を指示する。
【００１８】
また、印刷中である情報は、印刷制御装置内の記憶領域において印刷ポート毎に管理される。
また、印刷コマンドの送信が予期せず停止したことが、スプーラプロセスが終了したことである。
また、スプーラプロセスが、印刷制御装置のオペレーティングシステムの一部である。
【００１９】
また、印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムにおいて、
印刷装置は印刷コマンドを最後に受信したあとの経過時間を印刷制御装置に通知する通知手段を有し、印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際に、印刷制御装置は経過時間が規定時間以上経過していた場合は、印刷装置に初期化処理を指示する。
【００２０】
また、印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムにおいて、
印刷装置は印刷コマンドを最後に受信したあとの経過時間を検知する検知手段と、データ送信の異常状態を印刷装置に通知する通知手段を有し、印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際に、検出手段が規定時間以上経過していることを検知すると、通知手段により異常状態を印刷制御装置に通知し、印刷制御装置は印刷装置からの異常状態であるという情報を受信した場合に、印刷装置に初期化処理を指示する。
【００２１】
また、印刷制御装置から順次印刷コマンドを印刷装置に送信する印刷システムにおいて、
印刷制御装置は自身の識別情報を印刷装置に転送する転送手段を有し、印刷装置は印刷制御装置の識別情報を記憶する記憶手段と、印刷制御装置に識別情報を通知する通知手段を有し、印刷コマンドの送信が予期せず停止したあとに、次の印刷ジョブが開始された際に、印刷制御装置は印刷装置に記憶された識別情報が自身の識別情報と一致した場合は、印刷装置に初期化処理を指示する。
【００２２】
＜第一の実施の形態＞
以下、図面に示す実施例に基づき本発明の第一の実施形態を詳細に説明する。
【００２３】
［印刷システムの構成］
図１は本発明の実施の一形態に係る印刷システムの構成を示すブロック図の一例である。プリンタ１０２は、画像形成を行うインクジェット方式のプリンタであり、Ｉ／Ｆ（インターフェース）１０１を介して後述するホストコンピュータ１００と接続される。プリンタ１０２はホストコンピュータ１００で生成された印刷コマンドに基づいて記録媒体１０３に画像の形成を行う。プリンタの種類については特に問わないが、ここではインクジェット方式のカラープリンタを想定している。ホストコンピュータ１００は、アプリケーションプログラム（アプリケーション）１１６が印刷ジョブを作成し、プリンタドライバ１１２が印刷ジョブのスプールデータから、接続されたプリンタ１０２の印刷動作を制御する印刷コマンドの生成を行う。本実施形態ではホストコンピュータ１００としてパーソナルコンピュータを用いている。印刷の設定に関するユーザーからの指示や入力を受ける役割も果たす。ホストコンピュータ１００のハードウェアは、各種機能ブロック１２０、１２１、１２２、１２３、１２４によって構成される。また、ホストコンピュータ１００には、ホストコンピュータ１００を制御するソフトウェアであるオペレーティングシステム（ＯＳ）１１０が組み込まれており、このＯＳ１１０上で各種機能ブロックが動作する。ＯＳ１１０は本実施形態ではＷｉｎｄｏｗｓ（登録商標）  ＸＰを想定しているが、他のＯＳであっても構わない。通信インターフェース１０１は、ホストコンピュータ１００とプリンタ１０２を接続する通信インターフェースである。本実施形態ではシリアルインターフェースであるＵＳＢを用いているが、この他に、ＩＥＥＥ１３９４、Ｅｔｈｅｒｎｅｔ（登録商標）、ＩｒＤＡ、ＩＥＥＥ８０２．１１、電力線などのシリアルインターフェースや、セントロニクス、ＳＣＳＩなどのパラレルインタフェースを利用することもできる。通信を実現するものであれば有線／無線を問わずどのようなインターフェースであっても構わない。このように、本実施形態における印刷システムとは、単体の装置ではなく、ホストコンピュータ１００と画像形成を行うプリンタ１０２とが特定の双方向インターフェースで接続された構成をとっている。しかし、この例に限られることなく、このようなデータ処理装置とプリンタの機能が一体となった装置一体型の印刷システムであってもよい。尚、プリンタ１０２及びホストコンピュータ１００とも本実施形態の特徴を説明する上で特に必要ないと思われる機能については省略する。
【００２４】
中央制御部１２０は、ホストコンピュータ１００の各種機能を制御し、ＣＰＵの持つ機能がこれに該当する。入力操作部１２２は、ユーザーの意図を印刷設定に反映させるための各種入力機器から構成される。情報通知部１２１は、印刷設定をユーザーに通知する。通知方法としては、モニタなどの表示装置を使用する場合や音声による通知などが考えられる。Ｉ／Ｆ制御部１２４は、ホストコンピュータ１００のインターフェース機能を司る。記憶部１２３はＯＳ１１０やアプリケーション１１６やプリンタドライバの命令コードを格納し、ソフトウェアが動作するにあたり一時的にデータを保存・読込みするのに使用される。記憶部１２３は例えばハードディスクドライブや半導体メモリなどの記憶媒体で構成される。
【００２５】
ＯＳ１１０内にはアプリケーション１１６で作成された印刷ジョブを管理するプリントスプーラサービス（スプーラプロセス）１１１が動作する。このスプーラプロセス１１１によって、プリンタドライバ１１２を呼び出して印刷ジョブを処理する。プリンタドライバ１１２は、印刷のための各種設定や印刷データの生成及びプリンタの制御をホストコンピュータ１００上で行うためのソフトウェアである。プリンタドライバ１１２のプログラムが実行されると、印刷設定処理部１１３や、印刷コマンド生成部１１４、ランゲージモニタ１１５などの機能が実現される。印刷設定処理部１１３は、用紙の設定や印刷品位の設定などを含む各種印刷設定を行う。印刷設定処理部１１３は、ユーザーからの指示や入力を受け付け、設定された内容を表示もしくは通知する機能を有する。印刷コマンド生成部１１４内において、レイアウト処理部や印刷コマンド変換部を含む。印刷コマンド生成部１１４では、レイアウト処理部においてアプリケーション１１６により作成された印刷ジョブのページの部数処理やレイアウト処理を行った後に、印刷コマンド変換部においてレイアウト処理後の印刷データを印刷コマンドに変換する。印刷コマンド生成部１１４で作成された印刷コマンドは、不図示のデータ通信処理部を介してＩ／Ｆ制御部１２４に送られ、プリンタ１０２へ印刷コマンドが送られる。
【００２６】
プリンタドライバ１１２はスプーラプロセス１１１以外のＯＳ１１０のプロセスやアプリケーション１１６から呼び出される機能も有するが、本実施形態の特徴を説明する上で特に必要ないと思われる機能のため説明は省略する。
【００２７】
印刷コマンドはプリンタ１０２のＩ／Ｆ制御部１３０よって受信され、中央制御部１３１によって記憶部１３４に記憶される。記憶部１３４に格納された印刷コマンドは中央制御装置１３１によって順次読み出され、コマンド解釈部１３３によって画像を形成するためのプリントデータに変換される。プリントデータは中央制御装置１３１から印刷部１３５に渡され、記録媒体１０３へ画像を形成していく。
【００２８】
Ｉ／Ｆ１０１が双方向インターフェースである場合、ホストコンピュータ１００から印刷コマンドを送信するだけでなく、ホストコンピュータ１００にプリンタ１０２のステータス情報を受信することも可能である。
【００２９】
［プリンタドライバの動作］
図２は、本発明におけるプリンタドライバの実施形態を説明するために図１の印刷システムをＯＳの印刷サポート機能とプリンタドライバを中心に概念的に表したブロック図の一例である。図２における印刷システムでは、アプリケーション２０１が作成した文書の各ページの印刷データは、ＯＳの印刷サポート機能２０２を通じてプールファイル２０４に一時的に蓄えられる。これをプリンタドライバの印刷コマンド生成部２０５によってプリンタが解釈可能な印刷コマンドに変換してプリンタ２０８に供給して印刷するよう構成されている。
【００３０】
アプリケーション２０１は作成した任意の文書の印刷にあたり、ＯＳの印刷サポート機能２０２に対して、印刷開始や印刷終了を通知したり、印刷設定を行うためにユーザインタフェースモジュール２０３から返却された印刷設定情報を通知したり、文書の各ページの描画開始や描画終了を通知する。ＯＳの印刷サポート機能２０２は、アプリケーションが描画した内容や印刷設定情報をスプールファイル２０４に格納する。
【００３１】
印刷コマンド生成部２０５は、スプールファイル２０４に格納されたデータを入力とし、印刷設定情報に基づきページのレイアウト処理やレンダリング処理を行い、印刷コマンド２０６に変換し出力する。
【００３２】
印刷コマンド生成部２０６によって出力された印刷コマンド２０６は、ランゲージモニタ２０７に送られる。ランゲージモニタ２０７はＩ／Ｆ１０１を介して通信を行いプリンタ２０８の状態を確認する。プリンタ２０８が印刷データを受信可能な状態であった場合、ランゲージモニタ２０７は受信した印刷コマンドを順次プリンタ２０８に送信する。
【００３３】
ステータスモニタ２０９は、ランゲージモニタ２０８と通信を行い、現在の印刷状況をユーザーに表示する。ここで印刷状況とは、紙無エラーなどのエラーの発生状況の有無、インクの残量、現在印刷中のページ数などを指す。
【００３４】
［ランゲージモニタの処理］
図３は本発明の第一の実施形態におけるランゲージモニタの処理を示した流れ図の一例である。スプーラプロセスがランゲージモニタを呼び出し、Ｓ３０１でランゲージモニタが処理を開始する。Ｓ３０２でプリンタが既に他の印刷ジョブを処理中かを確認する。ランゲージモニタは既に他の印刷ジョブを処理中だった場合、その印刷ジョブが終了するまで待つ。これを前ジョブ終了見届け処理と称す。他の印刷ジョブを処理中でない場合、Ｓ３０５において印刷コマンドを順次プリンタに転送する。最後のコマンドまで送信し終えると、Ｓ３０６においてランゲージモニタは処理を終了する。
【００３５】
ホストコンピュータのＯＳ上で動作するスプーラプロセスから呼ばれるランゲージモニタは、印刷コマンドをプリンタに順次転送していく。印刷コマンドを転送中に途中でスプーラプロセスが終了した場合、スプーラプロセスで保持していた印刷データおよび印刷コマンドは全て消去されてしまう。その後、スプーラプロセスが再起動し、新しい印刷ジョブが生成されると、ランゲージモニタは新しい印刷ジョブの印刷コマンドをプリンタに送信しようとする。しかし、Ｓ３０２で前ジョブ終了見届け処理を行うため、ランゲージモニタはプリンタへの印刷コマンド送信を待つ。一方、プリンタは前の印刷ジョブの印刷コマンドを処理中で、続きの印刷コマンドを待っている状態である。そのため、ランゲージモニタは新しい印刷ジョブを開始するためにプリンタにリセット処理を発行する必要がある。
よって、本提案では以下に挙げる手段によって課題を解決する。
【００３６】
Ｓ３０２の前ジョブ見届け終了処理において、プリンタが他の印刷ジョブを処理中かを確認する。他の印刷ジョブが印刷中の場合、ランゲージモニタはＳ３０３でプリンタが印刷終了コマンド受信済みかを確認する。プリンタが印刷終了コマンド受信済みであった場合、既に処理中の印刷ジョブは正常に終了できると判断し、ランゲージモニタは自分の印刷ジョブを待機する。プリンタが印刷終了コマンドを受信済みでない場合、既に印刷中の印刷ジョブは印刷処理を終了することができないと判断することができる。この場合、Ｓ３０４でプリンタにリセット指示を発行する。
【００３７】
プリンタはリセット指示を受けると、記憶部１３４に保持されている印刷コマンドを破棄するとともに、記録媒体１０３を排紙するなどの初期化処理を行う。（以後、この動作をリセット処理と称する）。この処理によって、プリンタは新たな印刷ジョブを正常に処理できる状態となる。
【００３８】
ランゲージモニタはＳ３０４でリセット指示を発行したあと、Ｓ３０５で印刷コマンド送信処理を行い、Ｓ３０６においてランゲージモニタは処理を終了する。
【００３９】
＜第二の実施の形態＞
以下、図面に示す実施例に基づき本発明の第二の実施形態を詳細に説明する。
【００４０】
第一の実施の形態では、プリンタが印刷終了コマンドを受信したとともに、コマンド解釈部によって印刷終了コマンドを受信したことを検出可能なプリンタである必要がある。プリンタの構成によっては、印刷コマンドを受信した後、コマンド解釈部を通さずに記憶部に格納し、最初に受け取った印刷コマンドから順次処理をしていくものもある。この場合、プリンタはホストコンピュータに印刷終了コマンドを既に受信済みかどうかを通知することができない。
【００４１】
第二の実施の形態はこれを省みて成されるものである。
【００４２】
図４は本発明の第二の実施形態におけるランゲージモニタの処理を示した流れ図の一例である。スプーラプロセスがランゲージモニタを呼び出し、Ｓ４０１でランゲージモニタが処理を開始する。Ｓ４０２においてプリンタが既に他のジョブの処理中かを確認し、処理中でない場合、Ｓ４０３で印刷開始情報を記憶部Ｓ４０９に記憶する。この記憶部Ｓ４０９はホストコンピュータ上にある例えばレジストリのような記憶領域１２３であり、且つスプーラプロセスが再起動した場合でも削除されない記憶領域である。さらに、ホストコンピュータに複数の印刷ポートが存在する場合、記憶部Ｓ４０９に記憶する印刷開始情報は印刷ポート毎に管理されることが望ましい。
【００４３】
Ｓ４０４で印刷コマンド送信処理により、順次プリンタに印刷コマンドを送信する。印刷コマンドを全て送信し終えると、ランゲージモニタはＳ４０５にてＳ４０３で記憶した印刷開始情報を記憶部Ｓ４０９から削除する。
【００４４】
Ｓ４０４において印刷コマンド送信処理中にスプーラプロセスが終了した場合、ホスト内の印刷開始情報は記憶部Ｓ４０９に記憶されたままになる。このとき、プリンタもデータの受信待ち状態になっていると判断できる。よって、Ｓ４０２の前ジョブ終了見届け処理において、プリンタが既に他のジョブが処理中である場合、Ｓ４０７において印刷開始情報が記憶部Ｓ４０９に記憶されたままかどうかを確認する。印刷開始情報が記憶されていない場合は、プリンタで既に処理中のジョブが正常に終了するまで、ランゲージモニタは処理を待つ。印刷開始情報が記憶されていた場合、プリンタで既に処理中のジョブは異常状態であるとみなし、Ｓ４０８においてリセット指示を発行する。このリセット指示によりプリンタはリセット処理を行う。
【００４５】
プリンタが初期化されると、ランゲージモニタはＳ４０４において印刷コマンド送信処理を行い、印刷コマンドの送信終了後にＳ４０５で印刷開始情報を削除する。その後Ｓ４０６においてランゲージモニタは処理を終了する。
【００４６】
以上のとおり、第二の実施の形態によれば、ホストコンピュータ側のみの処理で適切にリセット指示を発行する判断が可能となる。
【００４７】
＜第三の実施の形態＞
以下、図面に示す実施例に基づき本発明の第三の実施形態を詳細に説明する。
【００４８】
第二の実施の形態では、スプーラプロセスが再起動した印刷ホストから印刷が開始されないとプリンタにリセット指示を発行できないという問題があった。複数のホストコンピュータからネットワーク経由で印刷が可能なプリンタでは、ひとつの印刷ホストが再起動した後、そのホストから印刷が開始されない限り、他の印刷ホストから印刷を開始することができない。
【００４９】
第三の実施の形態はこれを省みて成されるものである。
【００５０】
図５は本発明の第三の実施形態におけるランゲージモニタの処理を示した流れ図の一例である。
【００５１】
スプーラプロセスがランゲージモニタを呼び出し、Ｓ５０１でランゲージモニタが処理を開始する。Ｓ５０２においてプリンタが他のジョブの処理中かを確認し、処理中でない場合、Ｓ５０５で印刷コマンド送信処理により、順次プリンタに印刷コマンドを送信する。Ｓ５０５において印刷コマンド送信処理中にスプーラプロセスが終了した場合、プリンタは印刷コマンド受信を待ち続ける。
【００５２】
この後、別のホストで印刷が開始されると、そのホストのＳ５０１でランゲージモニタが処理を開始する。この後Ｓ５０２でプリンタが処理中かを確認し、処理中である場合、Ｓ５０３でプリンタが最後に印刷コマンドを受信してからの経過時間をプリンタから取得する。経過時間が規定時間内だった場合、ランゲージモニタは処理を待つ。経過時間外だった場合、印刷中であるにもかかわらず後続の印刷コマンドが送られてこない異常状態であると判断し、Ｓ５０４でリセット指示を発行する。このリセット指示によりプリンタはリセット処理を行う。
【００５３】
プリンタが初期化されると、ランゲージモニタはＳ５０５において印刷コマンド送信処理を行い、その後Ｓ５０６においてランゲージモニタは処理を終了する。
【００５４】
以上のとおり、第三の実施の形態によれば、ネットワーク環境においても適切にリセット指示を発行する判断が可能となる。
【００５５】
第三の実施の形態では、ホスト側で印刷コマンド受信後の経過時間と規定時間を比較するタイムアウト判断を行う形態で説明した。もちろん、プリンタにおいてタイムアウトの判断を行ってもよい。また、あらかじめ決められたタイムアウト時間（規定時間）をホストコンピュータやプリンタで保持する構成でもよいが、印刷ホストのプリンタドライバやアプリケーション、プリンタ本体の操作によって変更できる構成であってもよい。また、タイムアウト時間はホストコンピュータやプリンタなどの状況に応じて自動的に設定される構成であってもよい。
【００５６】
＜第四の実施の形態＞
以下、図面に示す実施例に基づき本発明の第四の実施形態を詳細に説明する。
【００５７】
第一、第二の実施の形態では、他の印刷ホストの印刷ジョブを正常に処理しているプリンタにリセット処理を行ってしまうという問題があった。
【００５８】
例えば、印刷ホスト１で印刷中に印刷ホスト１のスプーラプロセスが終了したときに、プリンタの電源を切るなどの本体操作によりプリンタ側で初期化したとする。この後、印刷ホスト２で印刷ジョブ２を処理中に、印刷ホスト１のスプーラプロセスが再起動し印刷ジョブ１の処理を始めた場合、印刷ホスト１から印刷ジョブ２を異常な印刷と判断してしまう。
【００５９】
第四の実施の形態はこれを省みて成されるものである。
【００６０】
図６は本発明の第三の実施形態におけるランゲージモニタの処理を示した流れ図の一例である。
【００６１】
スプーラプロセスがランゲージモニタを呼び出し、Ｓ６０１でランゲージモニタが処理を開始する。Ｓ６０２においてプリンタが他のジョブの処理中かを確認し、処理中でない場合、Ｓ６０４で印刷コマンド送信処理により、順次プリンタに印刷コマンドを送信する。印刷コマンドを全て送信し終えると、ランゲージモニタはＳ６０４にて処理を終了する。Ｓ６０２においてプリンタが既に他の印刷ジョブを処理中であった場合、Ｓ６０５においてプリンタで処理中の印刷ジョブのホスト名称をプリンタから取得する。プリンタで処理中の印刷ジョブのホスト名称が、印刷を開始した自分自身のホスト名称と異なる場合は、プリンタで既に処理中の印刷ジョブが正常に終了するまで、ランゲージモニタは処理を待つ。プリンタで処理中の印刷ジョブのホスト名称が、印刷を開始した自分自身のホスト名称と同一の場合は、プリンタで既に処理中のジョブは異常状態であるとみなし、Ｓ６０６においてリセット指示を発行する。このリセット指示によりプリンタはリセット処理を行う。
【００６２】
プリンタが初期化されると、ランゲージモニタはＳ６０３において印刷コマンド送信処理を行い、印刷コマンドの送信終了後にＳ６０４においてランゲージモニタは処理を終了する。
【００６３】
以上のとおり、第四の実施の形態によれば、ネットワーク環境においても適切にリセット指示を発行する判断が可能となる。
【００６４】
第四の実施の形態では、複数のホストコンピュータからネットワーク経由で印刷する場合を例に挙げた。もちろん、プリンタが複数のＩ／Ｆを持ち、それぞれに印刷ホストが接続された場合や、プリンタがコピー機能やメモリカードからの印刷機能を持つ場合も本発明は有効である。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施形態に係わる印刷システムの一例を表すブロック図
【図２】本発明の実施形態に係わるプリンタドライバの一例を表すブロック図
【図３】本発明の第一の実施の形態に係わるランゲージモニタのリセット指示を適切に発行するための動作の一例を示す流れ図
【図４】本発明の第二の実施の形態に係わるランゲージモニタのリセット指示を適切に発行するための動作の一例を示す流れ図
【図５】本発明の第三の実施の形態に係わるランゲージモニタのリセット指示を適切に発行するための動作の一例を示す流れ図
【図６】本発明の第四の実施の形態に係わるランゲージモニタのリセット指示を適切に発行するための動作の一例を示す流れ図
【符号の説明】
【００６６】
１００  ホストコンピュータ
１０２  プリンタ
１１０  オペレーティングシステム
１１２  プリンタドライバ
１１３  印刷設定処理部
１１４  印刷コマンド生成部
１１５  ランゲージモニタ
【図１】
0005106058.tif 000002
【図２】
0005106058.tif 000003
【図３】
0005106058.tif 000004
【図４】
0005106058.tif 000005
【図５】
0005106058.tif 000006
【図６】
0005106058.tif 000007