説明

印刷装置と印刷制御プログラム

【課題】 ジョブタイムアウトされては困る場合の救済措置。
【解決手段】 プリンタが受信するジョブデータのパケットにジョブの最終かどうかのフラグが設定されており、プリンタはそのパケットにフラグが立っているかどうかの判断手段を有し、ジョブが最終でない状態の場合には、ジョブデータを継続して受信し続ける手段を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホストコンピュータとなる上位装置と双方向インターフェイスを用いて通信可能な印刷制御装置およびジョブ制御方法に関するものである。
【背景技術】
【0002】
従来、プリンタ側はホストからのジョブデータを受信中、受信データがある場合はプリンタ内で処理を行い、印刷を行えるが、ホスト内での処理に時間がかかったり、ネットワーク上のトラフィックがBusy状態であったりとホストからの受信データが途絶えて一定時間経った場合は、ジョブタイムアウト機能によってホストとの通信をキャンセルし、プリンタの印刷も終了させていた。
【0003】
あるいはプリンタ内での受信バッファが飽和状態となり、受信が不可能な場合にもホストからの受信データが途絶えた状態となるため、ジョブタイムアウトとなりえる。
【0004】
又、別の従来例としては、例えば特許文献1あげることが出来る。
【特許文献1】特開平11−134122号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上述の場合には、印刷ファイルが大きく大幅に印刷処理に時間をとってしまうなど、ジョブタイムアウトして欲しくないジョブに対してもジョブのキャンセルが発生していた。
【0006】
このような問題点解消するために、ジョブデータが最終ジョブパケットかどうかを判断し、最終ジョブになるまでプリンタはジョブデータの受信を待つようにする機能を提供する。
【0007】
また、このような場合のとき、ジョブデータが途中で途切れた原因としてホスト側のクラッシュなどが原因の場合も考えられるが、ホスト側を再起動した後でもプリンタ側はジョブデータを待ちつづけているため、このような場合には復帰したホスト側はプリンタに対してジョブデータをもう待ちつづける必要がないことを通知することによってプリンタも通常の印刷可能状態に戻すという機能を提供する。
【課題を解決するための手段】
【0008】
本発明に係る第1の発明は、プリンタが受信するジョブデータのパケットにジョブの最終かどうかのフラグが設定されており、プリンタはそのパケットにフラグが立っているかどうかの判断手段を有し、フラグが立っていない、すなわちジョブが最終でない場合には、ジョブデータを継続して受信し続ける手段を有するものである。
【0009】
本発明に係る第2の発明は、プリンタドライバ側においてジョブの最後までいったかを判定する手段とジョブの最後までいったら一意の保存ファイルの中の1箇所の状態を変化させる手段を有し、さらにプリンタドライバとは独立したユーティリティがホストの起動時にだけ起動し、保存ファイルにアクセスし、その中の1箇所の状態を参照する手段を有し、その状態がジョブの最後ではないことをあらわす状態であればプリンタ側にジョブの最後をあらわすコマンドを発行する手段を有するものである。
【発明の効果】
【0010】
この発明によって、プリンタで設定しているジョブタイムアウト時間が変えられない場合、あるいはプリンタのジョブタイムアウト時間の設定が可能でもいちいち印刷の前にプリンタの設定を変える必要がある場合、どちらの場合も特に意識することなくプリンタのジョブタイムアウトを延長することが可能となる。
【0011】
また、ジョブタイムアウトが延長になった状態で、ホストがクラッシュなどしてしまったために再起動をかけてもプリンタはジョブデータを待ちつづけていると思われる。
【0012】
この場合、復帰したホスト側はプリンタに対してジョブデータをもう待ちつづける必要がないことを通知することによってプリンタも通常の印刷可能状態に戻すことが可能となり、いつまでも一つのホストからの受信を待っていることは解除される。
【発明を実施するための最良の形態】
【0013】
[実施例1]
図1は印刷装置およびホストを含む印刷システムを表す概略図である。
【0014】
1は印刷装置で、ローカルまたはネットワーク媒体の9を介してホスト側(20)と双方向にデータのやり取りを行う。
【0015】
10は1に対してジョブデータを送信し、入力部である2で受信する。操作パネル部分において各種設定を行い、ジョブタイムアウト設定もここで行う。
【0016】
制御は5のCPUで行い、さまざまプログラムの実行を行う。
【0017】
入力部2、出力部/印刷部3、パネル操作部/操作パネル4、CPU5、ROM6、RAM7はシステムバスの8に接続されており、データの授受が行われる。
【0018】
ホスト10の中のプリンタドライバ11には印刷データ処理部13が印刷データを生成し、生成したジョブデータをI/O通信部12において1に対して送信し、1からのデータを受信する。
【0019】
またプリンタドライバ11で最終ジョブデータかの状態フラグをファイル15で設定し、保存ファイルチェック部14において保存ファイル15の中を参照し、状態フラグを確認する。
【0020】
図2はジョブタイムアウトを行う処理を表すフローである。
【0021】
まずフロー20でプリンタは受信すべきジョブデータが受信できているか確認する。受信すべきジョブデータが受信できていない場合には、最後に受信してからどのくらいの時間が経過しているかをカウントし、すでにプリンタのジョブタイムアウト時間が設定されている時間まで経過しているかをチェックする(フロー21)。
【0022】
すでに設定されているジョブタイムアウト時間を経過した場合、最後に受信したジョブデータのパケットでジョブの最後かどうかのフラグを確認する(フロー22)。このフラグが立っている(最後のジョブデータ)の場合は予定どおりタイムアウトを実行する。
【0023】
パケットのフラグが最後のジョブデータをあらわしていなければ、プリンタは強制的にホストからの受信を待ちつづけ、タイムアウトを受信が完了するまで延期する(フロー23)。
【0024】
しかし、ホスト側がクラッシュしていたりする場合にはホスト側を起動しなおさない限りプリンタの受信待ち状態は変わらないため、このような場合のための措置として、相当時間時間が経過した場合にはタイムアウトして処理を終了させることとする(フロー24,25)。
【0025】
このジョブデータにフラグの設定を行うにあたり、あらかじめこのような仕組みを設ける場合もあるが、プリンタドライバのUI上で設定した場合にフラグの設定を行うような仕組みも考えられる。後者の場合のUI画面の例は後述する。
【0026】
図3は第2の発明を表すものであり、プリンタドライバにおいてジョブの最後までいった場合に保存ファイル内である1箇所の状態を変化させることを表すフローである。
【0027】
フロー30ではプリンタドライバの下位モジュールからジョブデータを送信する。
【0028】
ジョブデータがジョブの最後まできたら(フロー31)、フロー32で所定の場所に保存しているファイルにアクセスし、そのファイルの、ある1箇所の状態を変化させる(フラグを立てる)。
【0029】
ジョブデータがジョブの最後になっていなければ所定の場所に保存しているファイルのフラグの設定は変化しない(フラグは立っていない状態)。
【0030】
図4は、プリンタドライバとは独立したユーティリティがホストの起動時にだけ起動し、保存ファイルにアクセスし、その中の1箇所の状態を参照し、その状態がジョブの最後ではないことをあらわす状態であればプリンタ側にジョブの最後をあらわすコマンドを発行することをあらわすフローである。
【0031】
上述で、ジョブデータでフラグが立っていない間はプリンタはホストからの受信を待ちつづける設定について説明したが、この場合ホスト側がクラッシュしてしまった場合にホストを再起動した場合でも、ホストの再起動に関係なくプリンタ側はホスト側からの受信を待ちつづける状態が続いてしまう。
【0032】
これを回避するために、ホストがクラッシュした場合などにホストを再起動した場合にはプリンタドライバがプリンタに対して、受信を待ちつづけなくてもいいということを通知してプリンタの受信待ち状態を解除することを目的とする。
【0033】
フロー40はホスト起動後にユーティリティを起動し、所定の場所に保存しているファイルをアクセスする。そのファイルである1箇所の状態が、ジョブの最後を表していれば(フラグが立っている)、そのまま何もしない。
【0034】
何もない状態のデフォルトはフラグが立っている。
【0035】
ジョブの最後をあらわしていなければ(フラグが立っていない)、前回の印刷時に何らかの理由で印刷が終了しないまま終わったことをあらわすため、その場合プリンタのほうもまだ受信待ち状態が続いている可能性がある。
【0036】
このため、ユーティリティは保存ファイルのフラグをチェックし、フラグが立っている場合には、プリンタと通信し、プリンタがオンライン状態かどうかを確認する。
【0037】
プリンタがオンライン状態であれば、プリンタは受信待ち状態ではないことがわかるため、ユーティリティはそのまま何もしないで終了する。
【0038】
プリンタがオンライン状態でない場合は、プリンタが受信待ち状態である可能性があるため、この場合プリンタに対して印刷終了コマンドを発行し、プリンタの受信待ち状態を解除する。
【0039】
このユーティリティは必ずホスト起動後に起動し、このフローに従った処理を行う。
【0040】
[実施例2]
図5は、ジョブデータにフラグを設定し、プリンタがジョブの最後になるまでジョブタイムアウトしないようにするために設定する場合のプリンタドライバUIの図である。
【0041】
実施例1では必ずジョブデータのパケットにフラグ設定を行うようにする処理を示しているが、実施例2ではユーザがプリンタドライバのUI上で設定した場合にのみフラグ設定を行うようにしている。
【0042】
ダイアログ図50のデバイス設定ダイアログにおいて、「印刷終了までジョブタイムアウトしない」(項目51)にチェックするとジョブデータを生成する際に、ジョブの途中であればフラグを立てず、ジョブの最後になったらフラグを立てるという処理が行われる。
【図面の簡単な説明】
【0043】
【図1】印刷装置およびホストを含む印刷システムを表す概略図
【図2】ジョブタイムアウトを行う処理を表すフロー
【図3】プリンタドライバにおいてジョブの最後までいった場合に保存ファイル内である1箇所の状態を変化させることを表すフロー
【図4】プリンタドライバとは独立したユーティリティがホストの起動時にだけ起動し、保存ファイルにアクセスし、その中の1箇所の状態を参照し、その状態がジョブの最後ではないことをあらわす状態であればプリンタ側にジョブの最後をあらわすコマンドを発行することをあらわすフロー
【図5】ジョブデータにフラグを設定し、プリンタがジョブの最後になるまでジョブタイムアウトしないようにするために設定する場合のプリンタドライバUIの図

【特許請求の範囲】
【請求項1】
ホスト側からジョブデータを受信していて受信が途切れてからある一定時間経った場合にタイムアウトとし、通信を切断して印刷可能な状態に復帰する機能を有し、また場合によってはタイムアウト時間の設定を変えることが可能な操作パネル等の操作部を有し、ネットワークやローカル接続によってホスト側と双方向通信可能な機能を有し、ホスト側からコマンドを受け取ったときに解釈できる解析部を有し、ジョブデータのある1箇所の状態を判断し、その状態によってジョブタイムアウトを解除し、ホストからのジョブデータがジョブの最後になるまでホストからの受信を継続することを特徴とする印刷装置。
【請求項2】
ホスト側からジョブデータを受信していて受信が途切れてからある一定時間経った場合にタイムアウトとし、通信を切断して印刷可能な状態に復帰する機能を有し、また場合によってはタイムアウト時間の設定を変えることが可能な操作パネル等の操作部を有し、ネットワークやローカル接続によってホスト側と双方向通信可能な機能を有し、ホスト側からコマンドを受け取ったときに解釈できる解析部を有し、ジョブの受信待ち状態の際に、ホスト側から印刷終了コマンドを受け取った際に、ジョブの受信待ち状態を解除し、印刷終了処理を行う機能を有する印刷装置。
【請求項3】
プリンタが解釈できるフォーマットになるようにジョブデータを生成し、処理ができる機能を有し、ネットワークやローカル接続によって印刷装置と双方向通信可能な機能を有し、ネットワークやローカル接続を介してジョブデータを送信する機能を有し、ジョブの最後かどうかの状態をジョブデータ内に保存し、ジョブの最後になったらフラグの設定を変更する機能を有するか、または、印刷ジョブが最後になった場合に、所定の場所に保存しているファイルにアクセスし、ある1箇所の状態を変更する機能を有することを特徴とする印刷制御プログラム。
【請求項4】
PCが起動した後に必ず自ら起動し、請求項3で述べた所定の場所に保存しているファイルにアクセスし、ある1箇所の状態を確認する手段を有し、その状態によって印刷装置と通信し、印刷装置に対して印刷終了を表すコマンドを発行して、印刷装置の受信待ち状態を解除し、通常の印刷可能な状態に戻すことが可能な機能を有することを特徴とするユーティリティプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2006−205509(P2006−205509A)
【公開日】平成18年8月10日(2006.8.10)
【国際特許分類】
【出願番号】特願2005−19727(P2005−19727)
【出願日】平成17年1月27日(2005.1.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】