JPH0976606A - 印刷障害処理方法および印刷システム - Google Patents

印刷障害処理方法および印刷システム

Info

Publication number
JPH0976606A
JPH0976606A JP7240055A JP24005595A JPH0976606A JP H0976606 A JPH0976606 A JP H0976606A JP 7240055 A JP7240055 A JP 7240055A JP 24005595 A JP24005595 A JP 24005595A JP H0976606 A JPH0976606 A JP H0976606A
Authority
JP
Japan
Prior art keywords
printer
print job
printing
failure
print
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7240055A
Other languages
English (en)
Inventor
Satoshi Matsumoto
智 松本
Saiji Kageyama
斎司 蔭山
Makoto Kitagawa
誠 北川
Takuya Shimakawa
卓也 島川
Naomi Tamura
奈緒美 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7240055A priority Critical patent/JPH0976606A/ja
Publication of JPH0976606A publication Critical patent/JPH0976606A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【目的】プリンタを接続し、外部から印刷を指示された
データである印刷ジョブをプリンタに出力することで、
該印刷ジョブを印刷用紙に印刷するようプリンタを制御
する印刷システムにおいて、プリンタに障害が発生した
場合に、発生した障害の種別および障害が発生した時期
を考慮した極め細かな障害処理を行う。 【構成】プリンタに印刷ジョブの出力を開始する前,プ
リンタに印刷ジョブを出力している間,プリンタに印刷
ジョブの出力を終了してからプリンタが印刷を終了する
までの間の3つの時期012に、プリンタの状態を検出
し、プリンタに障害が発生した場合には、その時期012
および障害の種別011の組合せに応じた内容の障害処理
を行う。例えば、ハードウェア障害により発生する種別
以外の種別0119の障害が時期0120に発生した場合は、プ
リンタが正常な状態に回復した後、プリンタへの印刷ジ
ョブの出力を、先頭から開始するという障害処理を行
う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プリンタを接続し、外
部から印刷を指示されたデータである印刷ジョブをプリ
ンタに出力することで、該印刷ジョブを印刷用紙に印刷
するようプリンタを制御する印刷システムにおいて、プ
リンタに発生した障害(エラー)が回復した後に、プリ
ンタに印刷を再開させる印刷障害処理方法に関する。
【0002】
【従来の技術】一般に、この種の印刷システムにおいて
は、特願平6−319774号公報に記載されている技
術に代表されるように、外部から印刷を指示されたデー
タである印刷ジョブを、所定の単位ごとにプリンタドラ
イバに出力することで、プリンタが該印刷ジョブを印刷
用紙に印刷するようプリンタドライバに制御させる印刷
処理を行う印刷処理部と、印刷処理部から出力された印
刷ジョブをプリンタに出力することで、該印刷ジョブを
印刷用紙に印刷するようプリンタを制御するプリンタド
ライバとを備えるようになっている。
【0003】さらに、プリンタドライバは、プリンタの
状態を検出して印刷処理部に通知するようになってお
り、印刷処理部は、プリンタにエラーが発生した場合
に、発生したエラーが回復した後に、プリンタに印刷を
再開させる障害処理を行うようになっている。
【0004】以下、印刷処理部がプリンタドライバに全
ての印刷ジョブを出力してからプリンタが印刷を終了す
るまでの間にプリンタにエラーが発生した場合の障害処
理について説明する。
【0005】まず、発生したエラーの種別が、「給紙カ
セットなし」,「用紙なし」等の、印刷用紙がプリンタ
の印刷機構に給紙される前にのみ検出される種別のエラ
ー、すなわち、印刷用紙のページ番号の切れ目で発生す
る種別である場合について説明する。
【0006】印刷用紙のページ番号の切れ目で発生する
種別のエラーが回復した後は、プリンタは、印刷ジョブ
のうちの既に印刷した部分を再度印刷する必要はなく、
エラーが発生した切れ目の次のページ番号の印刷用紙に
印刷されるべき部分の先頭から印刷を再開すればよい。
【0007】なお、以下の説明においては、このような
エラーを、「再印刷不要な回復可能エラー」と呼ぶ。
【0008】通常、プリンタドライバおよびプリンタの
少なくとも一方には、印刷処理部から出力された印刷ジ
ョブのうちの未印刷の部分が記憶保持されているように
なっているので、「再印刷不要な回復可能エラー」が発
生した時点で記憶保持されている印刷ジョブは、エラー
が発生した切れ目の次のページ番号の印刷用紙に印刷さ
れるべき部分に相当している。そこで、プリンタは、
「再印刷不要な回復可能エラー」が回復した後は、記憶
保持されている部分の先頭から印刷を印刷を再開すれば
よい。
【0009】従って、ユーザは、給紙カセットをセット
し直したり印刷用紙を補給したりするなどの、「再印刷
不要な回復可能エラー」を回復させるための操作を行う
だけでよく、また、印刷処理部が行う障害処理は、全て
の印刷ジョブをプリンタドライバに出力した後であるこ
とから、「再印刷不要な回復可能エラー」が回復すると
いう条件が満たされるのを待ち、その後、プリンタが印
刷を終了するのを待つという内容となる。
【0010】次に、発生したエラーの種別が、「紙ジャ
ム」,「電源オフ」等の、印刷用紙がプリンタの印刷機
構に給紙される前にも後にも検出される種別である場合
について説明する。
【0011】印刷用紙がプリンタの印刷機構に給紙され
る前にも後にも検出される種別のエラーが回復した後に
は、プリンタは、印刷用紙の途中でエラーが発生した可
能性があることから、エラーが発生した時点で印刷中で
あったページ番号の印刷用紙に印刷されるべき部分の先
頭から印刷を再開すればよいが、該ページ番号を自動的
に判断することは困難である。また、該ページ番号を判
断することができても、印刷処理部から出力された印刷
ジョブのうちの、該ページ番号の印刷用紙に既に印刷さ
れた部分が記憶保持されていないので、該ページ番号の
印刷用紙に印刷されるべき部分の先頭から印刷すること
ができない。
【0012】なお、以下の説明においては、このような
エラーを、「再印刷必要な回復可能エラー」と呼ぶ。
【0013】そこで、「再印刷必要な回復可能エラー」
が発生した場合には、ユーザは、「再印刷必要な回復可
能エラー」を回復させるための操作を行うと共に、実際
に何ページまで印刷できたかを確認し、印刷を再開すべ
き印刷用紙のページ番号を印刷システムに指示する操作
を行う必要がある。
【0014】また、印刷処理部が行う障害処理は、「再
印刷不要な回復可能エラー」が回復するという条件、お
よび、ページ番号が指示されるという条件の2つの条件
が満たされるのを待ち、その後、プリンタドライバへの
印刷ジョブの出力を、指示されたページ番号の印刷用紙
に印刷されるべき部分から再開するという内容となる。
【0015】一方、印刷処理部がプリンタドライバに印
刷ジョブを出力している間にプリンタにエラーが発生し
た場合の障害処理について、「日立CSMA/CDネッ
トワークCD105(TCP/IP),(型版3000−3−20
0−10)」のマニュアルの第9章に記載のリモートプリン
ティングシステムを例にして説明する。
【0016】本例では、印刷処理部が行う障害処理は、
プリンタドライバに印刷ジョブを出力している間にエラ
ーが発生した場合は、発生したエラーの種別に関わら
ず、印刷処理を中止し、印刷ジョブの印刷を指示したユ
ーザに対して、エラーが発生した旨をメールで通知する
という内容となり、その後、次の印刷ジョブについての
印刷処理を行うようになっている。
【0017】
【発明が解決しようとする課題】上述した従来技術で
は、「再印刷必要な回復可能エラー」に着目して見る
と、プリンタドライバに印刷ジョブの出力を開始する前
に「再印刷必要な回復可能エラー」が発生した場合で
も、プリンタドライバに印刷ジョブの出力を開始した後
に「再印刷必要な回復可能エラー」が発生した場合で
も、障害処理の内容は同じとなっている。すなわち、い
ずれの場合も、ユーザからページ番号が指示されるとい
う条件が満たされる必要がある。
【0018】しかしながら、プリンタドライバに印刷ジ
ョブの出力を開始する前に、「再印刷必要な回復可能エ
ラー」が発生した場合は、プリンタが印刷を再開すべき
ページ番号が第1ページであることは明確であるので、
ユーザがページ番号を指示する操作を行う必要はない。
従って、この操作は無駄である。
【0019】また、上述した従来技術では、印刷ジョブ
をプリンタドライバに出力している間に発生した「再印
刷不要な回復可能エラー」についての障害処理が行われ
ず、プリンタに印刷を再開させることができない。
【0020】このように、従来技術では、プリンタにエ
ラーが発生した場合に、発生したエラーの種別およびエ
ラーが発生した時期を考慮した極め細かな障害処理が行
われていないので、使い勝手が不十分であると共に、信
頼性も低かった。
【0021】そこで、本発明の目的は、印刷ジョブをプ
リンタに出力することで、該印刷ジョブを印刷用紙に印
刷するようプリンタを制御する印刷システムにおいて、
プリンタにエラーが発生した場合に、発生したエラーの
種別およびエラーが発生した時期を考慮した極め細かな
障害処理を行うことを可能とするで、印刷時の信頼性と
使い勝手の向上を図ることにある。
【0022】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、プリンタを接続し、外部から印刷を指示
されたデータである印刷ジョブをプリンタに出力するこ
とで、該印刷ジョブを印刷用紙に印刷するようプリンタ
を制御する印刷システムにおいて、プリンタに印刷ジョ
ブの出力を開始する前である第1の時期、プリンタに印
刷ジョブを出力している間である第2の時期、および、
プリンタに印刷ジョブの出力を終了してからプリンタが
印刷を終了するまでの間である第3の時期に、各々、プ
リンタの状態を検出し、プリンタにエラーが発生したか
否かを判定し、プリンタにエラーが発生したと判定した
場合には、該判定を行った時期および発生したエラーの
種別の組合せに応じた内容の障害処理を行うようにして
いる。
【0023】例えば、上記第1の時期にプリンタにエラ
ーが発生したと判定した場合は、発生したエラーの種別
が機械的な修理を必要とする種別以外の種別であるなら
ば、プリンタが正常な状態に回復するという条件が満た
されるのを待ち、上記条件が満たされた場合に、プリン
タへの印刷ジョブの出力を、先頭から開始するという障
害処理を行うようにする。
【0024】また、例えば、上記第2の時期および上記
第3の時期にプリンタにエラーが発生したと判定した場
合は、発生したエラーの種別が機械的な修理を必要とす
る種別以外の種別であるならば、プリンタが正常な状態
に回復するという条件、および、プリンタが印刷を再開
すべき印刷用紙のページ番号が外部から指示されるとい
う条件の2つの条件が満たされるのを待ち、上記2つの
条件が満たされた場合に、プリンタへの印刷ジョブの出
力を、外部から指示されたページ番号の印刷用紙に印刷
されるべき印刷ジョブの先頭から開始するという障害処
理を行うようにする。
【0025】また、例えば、上記第2の時期にプリンタ
にエラーが発生したと判定した場合は、発生したエラー
の種別が、機械的な修理を必要とする種別以外の種別で
あり、かつ、印刷用紙のページ番号の切れ目で発生する
種別であるならば、該切れ目の次のページ番号の印刷用
紙に印刷されるべき印刷ジョブの先頭に相当する、プリ
ンタに未出力の印刷ジョブの先頭を求めると共に、プリ
ンタが正常な状態に回復するという条件が満たされるの
を待ち、上記条件が満たされた場合に、プリンタへの印
刷ジョブの出力を、求めた先頭から開始するという障害
処理を行うようにする。
【0026】また、例えば、上記第3の時期にプリンタ
にエラーが発生したと判定した場合は、発生したエラー
の種別が、機械的な修理を必要とする種別以外の種別で
あり、かつ、印刷用紙のページ番号の切れ目で発生する
種別であるならば、プリンタが正常な状態に回復すると
いう条件が満たされるのを待ち、上記条件が満たされた
場合に、プリンタが印刷を終了するまで待つという回復
処理を行うようにする。
【0027】
【作用】本発明においては、プリンタに印刷ジョブの出
力を開始する前である第1の時期にプリンタの状態を検
出し、プリンタにエラーが発生したと判定した場合に
は、発生したエラーの種別が機械的な修理を必要とする
種別以外の種別であるならば、プリンタが正常な状態に
回復するという条件が満たされるのを待ち、上記条件が
満たされた場合に、プリンタへの印刷ジョブの出力を、
先頭から開始するという障害処理を行うようにしてい
る。
【0028】上記従来技術においては、第1の時期にプ
リンタに発生したエラーが、上述した「再印刷必要な回
復可能エラー」である場合には、プリンタが印刷を再開
すべきページ番号が第1ページであることが明確である
にも関わらず、プリンタに印刷を再開させるためには、
ユーザがプリンタを正常な状態に回復させるための操作
を行うと共に、印刷を再開すべきページ番号を指示する
という操作を行う必要があったが、本発明によれば、第
1の時期に発生したエラーが、機械的な修理を必要とす
る種別以外の種別のエラーである場合には、上述した
「再印刷必要な回復可能エラー」および「再印刷不要な
回復可能エラー」のいずれであっても、ユーザがプリン
タを正常な状態に回復させるための操作を行うだけで、
プリンタに印刷を再開させることができ、ユーザが印刷
を再開すべきページ番号を指示するという操作を行う必
要はなくなる。
【0029】また、本発明においては、プリンタに印刷
ジョブを出力している間である第2の時期にプリンタの
状態を検出し、プリンタにエラーが発生したと判定した
場合には、発生したエラーの種別が機械的な修理を必要
とする種別以外の種別であり、かつ、印刷用紙のページ
番号の切れ目で発生する種別であるならば、該切れ目の
次のページ番号の印刷用紙に印刷されるべき印刷ジョブ
の先頭に相当する、プリンタに未出力の印刷ジョブの先
頭を求めると共に、プリンタが正常な状態に回復すると
いう条件が満たされるのを待ち、上記条件が満たされた
場合に、プリンタへの印刷ジョブの出力を、求めた先頭
から開始するという障害処理を行うようにしている。
【0030】上記従来技術においては、第2の時期にプ
リンタにエラーが発生した場合には、エラーが発生した
旨をユーザに通知するだけであったが、本発明によれ
ば、第2の時期にプリンタに発生したエラーが、上述し
た「再印刷不要な回復可能エラー」である場合には、ユ
ーザがプリンタを正常な状態に回復させるための操作を
行うだけで、プリンタに印刷を再開させることができ
る。
【0031】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0032】図2は本発明の実施例に係る印刷システム
の構成図である。
【0033】図中、211〜21nはクライアント、22はネッ
トワーク、231〜23mはプリントサーバ、241〜24mはプリ
ンタである。
【0034】図2に示した例では、プリンタ241〜24m
が、プリントサーバ231〜23mに直結した構成としている
が、ネットワーク22に直結した構成であってもよい。
【0035】クライアント211〜21nおよびプリントサー
バ231〜23mは、共に、ワークステーションやパーソナル
コンピュータ等の情報処理装置であり、その違いは、プ
リンタ241〜24mが接続されているか否かの差である。
【0036】ネットワーク22は、クライアント211〜21n
とプリントサーバ231〜23mとの間の通信機能を提供する
ものである。
【0037】プリンタ241〜24mは、プリントサーバ231
〜23mによって制御され、プリントサーバ231〜23mから
送信されてくる、印刷が指示されたデータを、印刷用紙
に印刷するものである。
【0038】図3はクライアント211〜21nおよびプリン
トサーバ231〜23mのハードウェア構成図である。
【0039】図中、301は中央演算処理装置、302はキー
ボードインタフェース、303はキーボード、304はビデオ
インタフェース、305はディスプレイ、306は主記憶装
置、307はハードディスクコントローラ、308はハードデ
ィスク、309はフロッピィディスクコントローラ、310は
フロッピィディスクドライブ、311はネットワークイン
タフェース、312はプリンタインタフェース、313はバス
である。
【0040】図11は図3に示した構成のハードウェア
上で動作するソフトウェアの階層図である。
【0041】図中、114は図3に示したハードウェア、1
131〜113mはデバイスドライバ1〜デバイスドライバ
m、112はオペレーティングシステム(OS)、1111〜1
11nはアプリケーション1〜アプリケーションnであ
る。
【0042】デバイスドライバ1(1131)〜デバイスドラ
イバm(113m)は、各々、図3に示したハードウェアを直
接制御するための基本的な機能を上位階層に提供するも
のである。
【0043】OS112は、下位階層のデバイスドライバ
1(1311)〜デバイスドライバm(113m)が提供する基本機
能を用いて、高度なハードウェア制御機能を上位階層に
提供すると共に、上位階層の複数のアプリケーション1
(1111)〜アプリケーションn(111n)を時分割して疑似的
に並列実行させる機能や、アプリケーション1(1111)〜
アプリケーションn(111n)間の通信機能を上位階層に提
供するものである。
【0044】アプリケーション1(1111)〜アプリケーシ
ョンn(111n)は、下位階層の機能を用いて、文書作成/
編集処理,表計算処理,CAD,本実施例に係る印刷処
理および障害処理をユーザに提供するものである。
【0045】なお、本実施例に係る印刷処理は、後述す
るように、複数のユーザからの印刷要求を順次処理して
印刷するスプール処理である。
【0046】図4は本実施例に係る印刷処理を実現する
ための機能ブロック図である。
【0047】図中、21はクライアント211〜21nのうちの
任意の1台のクライアント、23はプリントサーバ231〜2
3mのうちの任意の1台のプリントサーバ、24はプリンタ
241〜24mのうちの任意の1台のプリンタである。
【0048】また、411,412は印刷ジョブ登録部、42は
印刷ジョブ送信部、431,432はエラー回復指示部、44は
印刷ジョブ受信部、45はスプーラ、46はエラー回復実行
部、47は印刷ジョブ出力部であり、これらのブロック
は、図11に示したアプリケーション1(1111)〜アプリ
ケーションn(111n)に相当している。
【0049】また、48はプリンタドライバであり、これ
らのブロックは、図11に示したデバイスドライバ1(1
131)〜デバイスドライバm(113m)に相当している。
【0050】印刷ジョブ登録部411,421は、ユーザから
の印刷要求を受付け、印刷ジョブを生成するものであ
る。
【0051】ここで、印刷ジョブとは、ユーザからの印
刷要求の1単位であり、印刷要求を発行することで印刷
が指示されたデータと、印刷要求を発行したユーザを示
す情報等の属性情報とから構成される。印刷ジョブ登録
部411が生成した印刷ジョブは、印刷ジョブ送信部42に
出力され、印刷ジョブ登録部412が生成した印刷ジョブ
は、スプーラ45に出力される。そこで、スプーラ45は、
印刷ジョブごとに印刷処理を行う。
【0052】図5は印刷ジョブの構成例を示す図であ
る。
【0053】図5に示すように、印刷ジョブは、1つの
制御ファイル51と、1つ以上のデータファイル1(521)
〜データファイルn(52n)とから構成されている。
【0054】制御ファイル51は、印刷要求を発行したホ
ストを示す発行元ホスト名511と、印刷要求を発行した
ユーザを示す発行元ユーザ名512と、データファイル名
1(5131)〜データファイル名n(513n)とから構成されて
いる。
【0055】ここで、ホストとは、クライアント1(21
1)〜クライアントn(21n)およびプリントサーバ1(231)
〜プリントサーバm(23m)等の情報処理装置のことであ
る。
【0056】発行元ホスト名511および発行元ユーザ名5
12は、印刷ジョブについての印刷処理実行時にエラーが
発生した場合に、エラーが発生した旨を通知するために
用いられる情報である。データファイル名1(5131)〜デ
ータファイル名n(513n)は、データファイル521〜52nを
特定するために使われる。データファイル1(521)〜デ
ータファイルn(52n)は、ユーザが印刷要求を発行する
ことで印刷を指示したデータであり、その内容は、プリ
ンタ24によって様々で、文字コードであったり、イメー
ジデータであったり、ページ記述言語であったりする。
【0057】さて、図4に戻って、印刷ジョブ送信部42
は、印刷ジョブ登録部411が生成した印刷ジョブを、ク
ライアント21からプリントサーバ23に送信するものであ
る。
【0058】また、エラー回復指示部431,432は、ユー
ザからのエラー回復指示をエラー回復実行部46に出力す
るものである。
【0059】ここで、エラー回復指示とは、ユーザが、
実際に何ページ目まで印刷が成功したかを確認し、プリ
ンタ24に印刷を再開させるべき印刷用紙のページ番号を
クライアント21またはプリントサーバ23に指示すること
である。
【0060】また、エラー回復実行部46は、ユーザがエ
ラー回復指示を行った旨を印刷ジョブ出力部47に出力す
ることで、印刷ジョブ出力部47が、プリンタ24に発生し
たエラー要因が回復した旨を検出し次第、プリンタ24に
印刷を再開させることができるようにしておくものであ
る。
【0061】印刷ジョブ受信部44は、クライアント21の
印刷ジョブ送信部42から送信されてくる印刷ジョブを受
信し、スプーラ45に出力する。
【0062】スプーラ45は、入力部451と、出力部452
と、制御部453と、印刷ジョブキュー454とから構成され
ている。
【0063】入力部451は、印刷ジョブ登録部412または
印刷ジョブ受信部44から出力された印刷ジョブを、印刷
ジョブキュー454に格納する。出力部452は、印刷ジョブ
キュー454に格納されている印刷ジョブを取出し、印刷
ジョブ出力部47に出力する。制御部453は、入力部451や
出力部452を起動/停止させたり、印刷ジョブキュー454
中の印刷ジョブ491〜49nの順番を変更したりするなど
の、スプーラ45内の制御を行う。
【0064】なお、印刷ジョブキュー454は、印刷ジョ
ブ491〜49nを一時格納しておく場所であり、基本的に
は、先に格納された印刷ジョブから先に取出すようにな
っているが、制御部453により印刷ジョブ491〜449nの順
番が変更された場合は、その限りではない。
【0065】また、印刷ジョブ出力部47は、スプーラ45
から印刷ジョブを受取り、受取った印刷ジョブを、所定
の単位ごとに、プリンタドライバ48に出力するものであ
る。また、プリンタ24にエラーが発生した場合は、その
エラーが回復した後に、プリンタに印刷を再開させる障
害処理を行う。
【0066】なお、以下の説明において、印刷ジョブ出
力部47からプリンタドライバ48に出力される所定の単位
の印刷ジョブを、「印刷データ」と呼ぶ。
【0067】本実施例の特徴は、後述するように、プリ
ンタ24に発生したエラーの種別およびエラーが発生した
時期を考慮して、これらの組合せに応じた内容の障害処
理を行うようにすることで、印刷処理の信頼性とユーザ
の使い勝手の向上を図ることにある。
【0068】また、プリンタドライバ48は、ハードウェ
アであるプリンタインタフェース312を制御しながら、
印刷ジョブ出力部47から出力された印刷データをプリン
タ24に出力するものである。また、プリンタ24の状態を
検出し、検出結果を印刷ジョブ出力部47に出力する。
【0069】次に、本実施例の特徴である、印刷ジョブ
出力部47が行う障害処理について説明する。
【0070】図1はエラー種別およびエラーが発生した
時期(エラー検出タイミング)の組合せによって定まる
エラー分類表を示す図である。
【0071】印刷ジョブ出力部47は、図1に示したエラ
ー分類表に基づいて、障害処理を行う。すなわち、印刷
ジョブ出力部47が行う障害処理の処理内容は、図1に示
したエラー分類表に基づいて決定される。
【0072】図中、01はエラー分類表、011はエラー種
別、012はエラー検出タイミングである。
【0073】図1に示したエラー分類表01においては、
エラー種別011として、「オフライン」0110,「紙ジャ
ム」0111,「ドアオープン」0112,「トナー補充要求」
0113,「トナーカートリッジなし」0114,「電源オフ」
0115,「給紙カセットなし」0116,「用紙なし」0117,
「排紙部満杯」0118,「回復不能ハードウェア障害」01
19を採用しているが、これらは一例であり、これら以外
の種別のエラーも、以下に説明するエラー分類のいずれ
かに含まれるように、エラー分類表01中にマッピングす
ることができる。また、プリンタ24によっては、異なる
エラー分類に含まれる場合もある。
【0074】また、エラー検出タイミング012として
は、印刷ジョブ出力部47がプリンタドライバ48に印刷ジ
ョブの出力を開始する前である「印刷ジョブの出力前」
0120と、印刷ジョブ出力部47がプリンタドライバ48に印
刷ジョブを出力している間である「印刷ジョブの出力
中」0121と、印刷ジョブ出力部47がプリンタドライバ48
に印刷ジョブを出力した後である「印刷ジョブの出力
後」0122との3種類が考えられる。
【0075】まず、印刷ジョブの出力前0120に検出され
たエラー分類について説明する。
【0076】「オフライン」0110〜「排紙部満杯」0118
は、上記従来技術では「再印刷必要な回復可能エラー」
として扱われるエラーであるが、印刷ジョブの出力前01
20には、プリンタドライバ48には印刷データが出力され
ていないことことから、「プリンタドライバ48に出力前
の再印刷不要な回復可能エラー」0130、すなわち、プリ
ンタ24が、既に印刷した印刷データを再印刷する必要が
なく、印刷ジョブ出力部47が、プリンタドライバ48に既
に出力した印刷データを再出力する必要がないエラーに
分類している。
【0077】そこで、印刷ジョブ出力部47が行う障害処
理は、プリンタドライバ48に1バイトも印刷データを出
力していないことから、プリンタ24に発生したエラーが
回復するという条件が満たされるのを待ち、該条件が満
たされた後に、印刷データの出力を、印刷ジョブの先頭
から開始するという内容になる。
【0078】また、以下の説明では省略するが、このと
き、障害処理においては、さらに、印刷ジョブの発行元
ホストの発行元ユーザに、発生したエラーの種別、およ
び、該エラーを回復するために必要なユーザの操作内容
を、メールで通知することが望ましい。これは、例え
ば、発生したエラーの種別が「給紙カセットなし」0116
である場合は、「給紙カセットがありません。給紙カセ
ットをセットして下さい」といったメールを送信するメ
ール送信部を、プリントサーバ231〜23mに備えるように
すると共に、プリントサーバ231〜23mから送信されたメ
ールを受信するメール受信部、および、受信したメール
を表示する表示部を、クライアント211〜21nに備えるよ
うにすればよい。なお、印刷ジョブの発行元ホスト名お
よび発行元ユーザ名は、図5に示したように、印刷ジョ
ブを構成するファイルの1つである制御ファイル51中に
記述されている。
【0079】また、「パリティエラー」等の「回復不能
ハードウェア障害」0119は、「回復不能エラー」0134、
すなわち、機械的な修理を行わないと回復できないエラ
ーに分類している。
【0080】そこで、このとき、印刷ジョブ出力部47が
行う障害処理は、スプーラ45の入力部451および出力部4
52を停止し、印刷ジョブキュー454中の全印刷ジョブ491
〜49nの発行元ホストの発行元ユーザに、「回復不能エ
ラー」0134が発生している旨、および、印刷不可能であ
る旨を、メールで通知するという内容になる。なお、各
印刷ジョブの発行元ホスト名および発行元ユーザ名は、
図5に示したように、印刷ジョブを構成するファイルの
1つである制御ファイル51中に記述されている。
【0081】次に、印刷ジョブの出力中0121に検出され
たエラー分類について説明する。
【0082】「オフライン」0110〜「電源オフ」0115
は、印刷ジョブの出力中0121には、印刷用紙がプリンタ
24の印刷機構に給紙された後にも検出されるエラーであ
ることから、「再印刷必要な回復可能エラー」0133、す
なわち、プリンタ24が、既に印刷した印刷データを再印
刷する必要がある可能性を有するエラーに分類してい
る。
【0083】そこで、このとき、印刷ジョブ出力部47が
行う障害処理は、まず、ユーザによりエラー回復指示が
行われるという条件、および、プリンタ24に発生したエ
ラーが回復するという条件の2つの条件が満たされるの
を待ち、両方の条件が満たされた後に、プリンタドライ
バ48への印刷データの出力を、ユーザから指示されたペ
ージ番号の印刷用紙に印刷されるべき部分の先頭から開
始するという内容になる。
【0084】また、以下の説明では省略するが、このと
き、障害処理においては、さらに、印刷ジョブの発行元
ホストの発行元ユーザに、発生したエラーの種別、該エ
ラーを回復するために必要なユーザの操作内容、およ
び、エラー回復指示が必要な旨を、メールで通知するこ
とが望ましい。これは、例えば、発生したエラーの種別
が「給紙カセットなし」0116である場合は、「給紙カセ
ットがありません。給紙カセットをセットして、印刷開
始ページ番号を指示して下さい」といったメールを送信
するメール送信部を、プリントサーバ231〜23mに備える
ようにすると共に、プリントサーバ231〜23mから送信さ
れたメールを受信するメール受信部、および、受信した
メールを表示する表示部を、クライアント211〜21nに備
えるようにすればよい。なお、印刷ジョブの発行元ホス
ト名および発行元ユーザ名は、図5に示したように、印
刷ジョブを構成するファイルの1つである制御ファイル
51中に記述されている。
【0085】また、「給紙カセットなし」0116〜「排紙
部満杯」0118は、印刷ジョブの出力中0121には、印刷用
紙がプリンタ24の印刷機構に給紙される前にのみ検出さ
れるエラー、すなわち、印刷用紙のページ番号の切れ目
で発生するエラーであることから、「プリンタドライバ
48に出力中の再印刷不要な回復可能エラー」0131、すな
わち、プリンタ24が、既に印刷した印刷データを再印刷
する必要はないが、印刷ジョブ出力部47が、プリンタド
ライバ48に既に出力した印刷データを再出力する必要が
あるエラーに分類している。
【0086】そこで、このとき、印刷ジョブ出力部47が
行う障害処理は、まず、実際にプリンタドライバ48に出
力された印刷データ数を求め、求めた印刷データ数から
実際にプリンタ24に出力されていない印刷データを求め
てから、プリンタ24に発生したエラーが回復するという
条件が満たされるのを待ち、該条件が満たされた後に、
求めた印刷データをプリンタドライバ48に再出力してか
ら、通常の印刷処理を続行するという内容になる。
【0087】また、以下の説明では省略するが、このと
き、障害処理においては、さらに、印刷ジョブの発行元
ホストの発行元ユーザに、発生したエラーの種別、およ
び、該エラーを回復するために必要なユーザの操作内容
を、メールで通知することが望ましい。これは、例え
ば、発生したエラーの種別が「給紙カセットなし」0116
である場合は、「給紙カセットがありません。給紙カセ
ットをセットして下さい」といったメールを送信するメ
ール送信部を、プリントサーバ231〜23mに備えるように
すると共に、プリントサーバ231〜23mから送信されたメ
ールを受信するメール受信部、および、受信したメール
を表示する表示部を、クライアント211〜21nに備えるよ
うにすればよい。なお、印刷ジョブの発行元ホスト名お
よび発行元ユーザ名は、図5に示したように、印刷ジョ
ブを構成するファイルの1つである制御ファイル51中に
記述されている。
【0088】また、「回復不能ハードウェア障害」0119
は、「回復不能エラー」0134、すなわち、機械的な修理
を行わないと回復できないエラーに分類している。
【0089】そこで、このとき、印刷ジョブ出力部47が
行う障害処理は、印刷ジョブの出力前0120に検出された
「回復不能ハードウェア障害」0119の場合と同様の処理
になる。
【0090】最後に、印刷ジョブの出力後0122に検出さ
れたエラー分類について説明する。
【0091】ここで、印刷ジョブの出力後0122とは、印
刷ジョブをプリンタドライバ48に出力してから、プリン
タ24が印刷を終了した旨をプリンタドライバ48が検出す
るのを待っている間のことである。
【0092】「オフライン」0110〜「電源オフ」0115
は、「再印刷必要な回復可能エラー」0133、すなわち、
プリンタ24が、既に印刷した印刷データを再印刷する必
要がある可能性を有するエラーに分類している。
【0093】そこで、このとき、印刷ジョブ出力部47が
行う障害処理は、印刷ジョブの出力中0121に検出された
「オフライン」0110〜「電源オフ」0115の場合と同様の
処理になる。
【0094】また、「給紙カセットなし」0116〜「排紙
部満杯」0118は、「プリンタドライバ48に出力後の再印
刷不要な回復可能エラー」0132、すなわち、プリンタ24
が、既に印刷した印刷データを再印刷する必要がなく、
かつ、印刷ジョブ出力部47が、プリンタドライバ48に既
に出力した印刷データを再出力する必要がないエラーに
分類している。
【0095】そこで、このとき、印刷ジョブ出力47が行
う障害処理は、プリンタ24に発生したエラーが回復する
という条件が満たされるのを待ち、該条件が満たされた
後に、既にプリンタドライバ48に出力した未印刷の印刷
データについて、プリンタ24が印刷を終了した旨をプリ
ンタドライバ48が検出するのを待つという処理になる。
【0096】また、以下の説明では省略するが、このと
き、障害処理においては、さらに、印刷ジョブの発行元
ホストの発行元ユーザに、発生したエラーの種別、およ
び、該エラーを回復するために必要なユーザの操作内容
を、メールで通知することが望ましい。これは、例え
ば、発生したエラーの種別が「給紙カセットなし」0116
である場合は、「給紙カセットがありません。給紙カセ
ットをセットして下さい」といったメールを送信するメ
ール送信部を、プリントサーバ231〜23mに備えるように
すると共に、プリントサーバ231〜23mから送信されたメ
ールを受信するメール受信部、および、受信したメール
を表示する表示部を、クライアント211〜21nに備えるよ
うにすればよい。なお、印刷ジョブの発行元ホスト名お
よび発行元ユーザ名は、図5に示したように、印刷ジョ
ブを構成するファイルの1つである制御ファイル51中に
記述されている。
【0097】また、「回復不能ハードウェア障害」0119
は、「回復不能エラー」0134、すなわち、機械的な修理
を行わないと復旧できないエラーに分類している。
【0098】そこで、このとき、印刷ジョブ出力部47が
行う障害処理は、印刷ジョブの出力前0120に検出された
「回復不能ハードウェア障害」0119の場合と同様の処理
になる。
【0099】以下、印刷ジョブ出力部47が行う障害処理
の詳細について説明する。
【0100】図6は印刷ジョブ出力部47の処理の流れを
示すフローチャートである。
【0101】印刷ジョブ出力部47は、通常は、スプーラ
45から1つの印刷ジョブが出力される度に、該印刷ジョ
ブを、所定の単位ごとに、プリンタドライバ48に出力す
る印刷処理を行っているが、印刷処理前,印刷処理中,
印刷処理後の3つの時期に、プリンタ24にエラーが発生
したか否かを判定し、エラーが発生した場合は、図1に
示したエラー分類表01におけるエラー分類に基づいて、
障害処理を行うようになっている。
【0102】図6に示すように、印刷ジョブ出力部47
は、まず、スプーラ45から1つの印刷ジョブが出力され
ると、該印刷ジョブをプリンタドライバ48に出力する前
に、プリンタドライバ48にプリンタ24の状態を検出させ
(ステップ601)、プリンタ24にエラーが発生したか否
かを判定する(ステップ602)。
【0103】ステップ602でプリンタ24にエラーが発生
したと判定した場合は、発生したエラーのエラー種別を
判定し、エラー分類表01において、印刷ジョブ出力前01
21および判定したエラー種別011の組合せによって決定
されるエラー分類を決定し、決定したエラー分類に応じ
た内容の障害処理を行う。
【0104】すなわち、エラー分類が「プリンタドライ
バ48に出力前の再印刷不要な回復可能エラー」0130であ
る場合には(ステップ603)、ステップ601に戻って、再
び、プリンタドライバ48にプリンタ24の状態を検出させ
る。これにより、ユーザの操作介入によって、プリンタ
24に発生したエラーが回復するという条件が満たされる
のを待つことができる。
【0105】また、エラー分類が「回復不能エラー」01
34である場合には(ステップ604)、ステップ613に進
み、回復不能エラー処理を行う。なお、回復不能エラー
処理の詳細については後述する。
【0106】一方、ステップ602でプリンタ24にエラー
が発生していないと判定した場合は、スプーラ45から出
力された1つの印刷ジョブを、所定の単位ごとに、プリ
ンタドライバ48に出力する印刷ジョブ出力処理を行う
(ステップ605)。なお、印刷ジョブ出力処理の詳細に
ついては後述する。
【0107】その後、プリンタドライバ48にプリンタ24
が印刷を終了した旨を検出させ、プリンタ24が印刷を終
了した旨をプリンタドライバ48が検出したら(ステップ
606)、その時点で、プリンタドライバ48にプリンタ24
の状態を検出させ(ステップ607)、プリンタ24にエラ
ーが発生したか否かを判定する(ステップ608)。
【0108】なお、ここでは、全ての印刷ジョブをプリ
ンタドライバ48に出力した後であることから、プリンタ
24が印刷を終了した旨をプリンタドライバ48が検出する
ということは、印刷ジョブの印刷が終了したことを意味
している。
【0109】ステップ608でプリンタ24にエラーが発生
したと判定した場合は、発生したエラーのエラー種別を
判定し、エラー分類表01において、印刷ジョブ出力前01
21および判定したエラー種別011の組合せによって決定
されるエラー分類を決定し、決定したエラー分類に応じ
た内容の障害処理を行う。
【0110】すなわち、エラー分類が「プリンタドライ
バ48に出力後の再印刷不要な回復可能エラー」0132であ
る場合には(ステップ609)、「プリンタドライバ48に
出力後の再印刷不要な回復可能エラー」0132が回復する
という条件が満たされるのを待つ第1の回復待ち処理を
行った後(ステップ610)、ステップ606の戻る。なお、
第1の回復待ち処理は、給紙カセットのセットや印刷用
紙の補給等のユーザの操作介入によって、プリンタ24に
発生したエラーが回復するという条件が満たされるのを
待つ処理であるが、その詳細については後述する。
【0111】また、エラー分類が「再印刷必要な回復可
能エラー」0133である場合には(ステップ611)、「再
印刷必要な回復可能エラー」0133が回復するという条件
が満たされるのを待つ第2の回復待ち処理を行った後
(ステップ612)、ステップ605に戻る。なお、第2の回
復待ち処理は、紙ジャムの除去等のユーザの操作介入に
よって、プリンタ24に発生したエラーが回復するという
条件、および、ユーザによりエラー回復指示が行われる
という条件の2つの条件が満たされるのを待つ処理であ
るが、その詳細については後述する。
【0112】また、エラー分類が「プリンタドライバ48
に出力後の再印刷不要な回復可能エラー」0132でもな
く、「再印刷必要な回復可能エラー」0133でもない場合
には、「回復不能エラー」0134であると判定し、回復不
能エラー処理を行う(ステップ613)。なお、回復不能
エラー処理の詳細については後述する。
【0113】上述したように、本実施例によれば、印刷
ジョブ出力部47が、スプーラ45から出力された1つの印
刷ジョブをプリンタドライバ48に出力する前に、プリン
タ24にエラーが発生したか否かを判定するようにしてい
る。そして、エラーが発生したと判定した場合には、障
害処理において、発生したエラーが、上記従来技術にお
いて「再印刷必要な回復可能エラー」として扱われてい
たエラーであっても、プリンタ24に発生したエラーが回
復するという条件が満たされるのを待つだけで、プリン
タ24に印刷を再開させることができる。従って、ユーザ
がエラー回復指示を行う必要がなくなり、ユーザの操作
負担を減らすことができる。
【0114】次に、ステップ605の印刷ジョブ出力処理
の詳細について、図7のフローチャートを用いて説明す
る。
【0115】図7に示すように、印刷ジョブ出力処理に
おいては、まず、印刷ジョブを、印刷を再開すべきペー
ジ番号まで読飛ばす(ステップ701)。なお、ステップ6
02から本処理に進んできたとき、すなわち、出力する印
刷ジョブが正常なときには、0ページ目を読飛ばす処理
となり、実際には行われない。
【0116】ここで、印刷ジョブを読飛ばす処理につい
て、印刷すべきデータが文字コードである場合を例にし
て具体的に説明する。
【0117】まず、行数を示す変数Aおよび文字数を示
す変数Bを「0」に初期化した後、印刷ジョブの先頭か
ら1つずつ文字コードを読出し、読出した文字コードを
判定する。
【0118】読出した文字コードが改ページを表す文字
コードであるならば、1ページ分の読飛ばしが完了した
ことになる。また、読出した文字コードが改行を表す文
字コードであるならば、変数Bを「0」に初期化すると
共に、変数Aに「1」を加算する。変数Aに「1」を加
算した結果、変数Aが、プリンタ24が1ページ分の印刷
用紙に印刷する行数aを越えた場合は、1ページ分の読
飛ばしが完了したことになる。
【0119】また、読出した文字コードがその他の文字
コードであるならば、変数Bに「1」を加算する。変数
Bに「1」を加算した結果、変数Bが、プリンタ24が1
行に印刷する文字数bを越えた場合は、変数Bを「0」
に初期化すると共に、変数Aに「1」を加算する。さら
に、変数Aに「1」を加算した結果、変数Aが、プリン
タ24が1ページ分の印刷用紙に印刷する行数aを越えた
場合は、1ページ分の読飛ばしが完了したことになる。
【0120】このような処理を、印刷を再開すべきペー
ジ番号までのページ数分だけ繰返せばよい。なお、印刷
すべきデータがページ記述言語である場合は、ページ記
述言語の構文解析等を行う必要があるが、印刷ジョブの
読飛ばしは可能である。
【0121】さて、図7に戻って、印刷ジョブを印刷を
再開すべきページ番号まで読飛ばすと、印刷ジョブを1
ブロックだけ読出し(ステップ703)、読出した1ブロ
ック分の印刷ジョブ(印刷データ)をプリンタドライバ
48に出力する(ステップ704)。
【0122】ここで、ブロックとは、固定長データのこ
とであり、何バイトでもよい。
【0123】なお、印刷ジョブの全ブロックを読出した
場合は(ステップ702)、本処理を終了する。
【0124】続いて、プリンタドライバ48にプリンタ24
の状態を検出させ(ステップ705)、プリンタ24にエラ
ーが発生したか否かを判定する(ステップ706)。
【0125】ステップ706でプリンタ24にエラーが発生
していないと判定した場合は、ステップ702に戻り、エ
ラーが発生したと判定した場合は、発生したエラーのエ
ラー種別を判定し、エラー分類表01において、印刷ジョ
ブ出力中0122および判定したエラー種別011の組合せに
よって決定されるエラー分類を決定し、決定したエラー
分類に応じた内容の障害処理を行う。
【0126】すなわち、エラー分類が「再印刷必要な回
復可能エラー」0133である場合(ステップ707)、およ
び、エラー分類が「回復不能エラー」0134である場合に
は(ステップ708)、本処理を終了する。この結果、図
6のステップ606を通抜け、ステップ612またはステップ
613に進むこととなる。これは、図1に示したエラー分
類表01において、「再印刷必要な回復可能エラー」0113
および「回復不能エラー」0134は、印刷ジョブの出力中
0121および印刷ジョブの出力後0122のいずれと組合せて
も、同じエラー分類となるからである。
【0127】また、エラー分類が「プリンタドライバ48
に出力中の再印刷不要な回復可能エラー」0131である場
合には(ステップ709)、ステップ705に戻る。これによ
り、ユーザの操作介入によって、プリンタ24に発生した
「プリンタドライバ48に出力中の再印刷不要な回復可能
エラー」0131が回復するという条件が満たされるのを待
つことができる。
【0128】一方、エラー分類が「再印刷必要な回復可
能エラー」0133でもなく、エラー分類が「回復不能エラ
ー」0134でもなく、エラー分類が「プリンタドライバ48
に出力中の再印刷不要な回復可能エラー」0131でもない
場合には、ユーザの操作介入によって、プリンタ24に発
生したエラーが回復するという条件が満たされたものと
みなし、ステップ710に進む。
【0129】ステップ710では、前回のプリンタドライ
バ48への印刷データの出力で、プリンタドライバ48に実
際に出力された印刷データ数を取得する。
【0130】なお、印刷データ数の取得は、印刷ジョブ
出力部47とプリンタドライバ48との間でやり取りを行う
ことで実現することができ、プリンタドライバ48は、印
刷ジョブ出力部47から出力された印刷データ数を計数
し、印刷ジョブ出力部47から問合せがあった場合に、計
数している印刷データ数を回答するようになっている。
【0131】続いて、ステップ710で取得した印刷デー
タ数から、プリンタドライバ48に実際に出力されていな
い印刷データを求め、求めた印刷データをプリンタドラ
イバ48に出力してから(ステップ711)、ステップ702に
戻る。
【0132】上述したように、本実施例によれば、印刷
ジョブ出力部47が、所定の単位の印刷ジョブ(印刷デー
タ)をプリンタドライバ48に出力する度に、プリンタ24
にエラーが発生したか否かを判定するようにしている。
そして、エラーが発生したと判定した場合には、障害処
理において、特に、発生したエラーが「プリンタドライ
バ48に出力中の再印刷不要な回復可能エラー」0131であ
るならば、プリンタ24に発生したエラーが回復するとい
う条件が満たされるのを待つだけで、プリンタ24に印刷
を再開させることができる。
【0133】また、発生したエラーが「再印刷必要な回
復可能エラー」0133であっても、プリンタ24に発生した
エラーが回復するという条件、および、ユーザによりエ
ラー回復指示が行われるという条件の2つの条件が満た
されるのを待つだけで、プリンタ24に印刷を再開させる
ことができる。
【0134】上記従来技術においては、印刷ジョブをプ
リンタドライバ48に出力している間にプリンタ24にエラ
ーが発生した場合は、エラーが発生した旨をユーザに通
知していただけであったが、本実施例によれば、プリン
タ24に印刷を再開させることができるので、印刷処理の
信頼性を向上させることができ、特に、発生したエラー
が「プリンタドライバ48に出力中の再印刷不要な回復可
能エラー」0131である場合は、ユーザがエラー回復指示
を行う必要がなくなり、ユーザの操作負担を減らすこと
ができる。
【0135】次に、ステップ610の第1の回復待ち処理
の詳細について、図8のフローチャートを用いて説明す
る。
【0136】本処理は、全ての印刷ジョブをプリンタド
ライバ48およびプリンタ24に出力した後、プリンタ24が
印刷を終了した旨をプリンタドライバ48が検出するのを
待っているときに発生した、「給紙カセットなし」011
6,「用紙なし」0117等の、何ページ目まで印刷が成功
したかがハードウェアによって明確に検出できるエラー
の回復を待つ処理である。
【0137】図8に示すように、第1の回復待ち処理に
おいては、まず、プリンタドライバ48にプリンタ24の状
態を検出させ(ステップ801)、プリンタ24にエラーが
発生したか否かを判定し、プリンタ24にエラーが発生し
たと判定した場合は、発生したエラーが「プリンタドラ
イバ48に出力後の再印刷不要な回復可能エラー」0132で
あるか否かを判定する(ステップ802)。
【0138】発生したエラーが「プリンタドライバ48に
出力後の再印刷不要な回復可能エラー」0132であると判
定した場合は、ステップ801に戻って、再び、プリンタ
ドライバ48にプリンタ24の状態を検出させる。これによ
り、ユーザの操作介入によって、プリンタ24に発生した
「プリンタドライバ48に出力後の再印刷不要な回復可能
エラー」0132が回復するという条件が満たされるのを待
つことができる。
【0139】一方、発生したエラーが「プリンタドライ
バ48に出力後の再印刷不要な回復可能エラー」0132以外
のエラーであると判定した場合、または、エラーが発生
していないと判定した場合は、本処理を終了する。これ
により、図6のステップ606に進むことができる。
【0140】次に、ステップ613の回復不能エラー処理
の詳細について、図9のフローチャートを用いて説明す
る。
【0141】図9に示すように、回復不能エラー処理に
おいては、まず、スプーラ45の入力部451および出力部4
52を停止させる(ステップ901)。
【0142】続いて、印刷ジョブキュー454中の全ての
印刷ジョブ491〜49nの発行元ホストの発行元ユーザに、
回復不能エラーが発生している旨を、メールで通知して
から(ステップ902)、本処理を終了する。
【0143】最後に、ステップ612の第2の回復待ち処
理の詳細について、図10のフローチャートを用いて説
明する。
【0144】図中、縦線の左側は、エラー回復実行部46
が行う処理を示し、縦線の右側は、印刷ジョブ出力部47
が行う第2の回復待ち処理を示している。
【0145】図10に示すように、第2の回復待ち処理
においては、まず、2つの変数を扱うセマフォとメッセ
ージキューとを生成する(ステップ1001)。
【0146】ここで、セマフォとは、UNIXのOSが
有する機能であり、一般のセマフォの変数は1つの変数
を扱うのに対し、UNIXのOSのセマフォは複数の変
数を扱うことができ、しかも、それらの変数に対する操
作を不可分に行うことができる。セマフォおよびメッセ
ージキューは、共に、図11に示したOS112のアプリ
ケーション間通信機能に相当する。
【0147】続いて、子プロセスを生成する(ステップ
1002)。
【0148】ここで、プロセスとは、プログラム実行の
最小単位のことである。前に、OS112が、複数のアプ
リケーション1111〜111nを時分割して疑似的に並列実行
させることができると述べたが、厳密に述べると、複数
のプロセスを時分割して疑似的に並列実行させることが
できるといえる。従って、複数のプロセスから構成され
るアプリケーションも存在し、このようなアプリケーシ
ョンは、複数の処理を疑似的に同時に実行することがで
きる。
【0149】印刷ジョブ出力部47もその一例であり、ス
テップ1001〜1005を行うメインのプロセスと、このプロ
セスと並列して動作し、ステップ1006〜1008を行うプロ
セスとから構成されている。後者のプロセスは、メイン
のプロセスから生成されていることから、「子プロセ
ス」と呼ばれる。
【0150】メインのプロセスは、ステップ1003で、セ
フォマが扱う2つの変数が両方ともカウントアップされ
るのを待つ。これは、ユーザによりエラー回復指示が行
われるという条件、および、プリンタ24に発生したエラ
ーが回復するという条件の2つの条件が満たされるのを
同時に待つことを意味している。複数の変数を扱うセマ
フォをサポートしていないOSにおいてこれと同様なこ
とを実現するためには、1つの変数を扱うセマフォを2
つ生成し、2つの条件が満たされるのを順次待つように
すればよい。このとき、どちらの条件を優先させるか
は、特に関係ない。
【0151】さて、子プロセスにおいては、プリンタド
ライバ48にプリンタ24の状態を検出させ(ステップ100
6)、プリンタ24にエラーが発生したか否かを判定し、
プリンタ24にエラーが発生したと判定した場合は、発生
したエラーが「再印刷必要な回復可能エラー」0133であ
るか否かを判定する(ステップ1007)。
【0152】発生したエラーが「再印刷必要な回復可能
エラー」0133であると判定した場合は、ステップ1006に
戻って、再び、プリンタドライバ48にプリンタ24の状態
を検出させる。これにより、ユーザの操作介入によっ
て、プリンタ24に発生した「再印刷必要な回復可能エラ
ー」0133が回復するという条件が満たされるのを待つこ
とができる。
【0153】また、発生したエラーが「再印刷必要な回
復可能エラー」0133以外のエラーであると判定した場
合、または、エラーが発生していないと判定した場合
は、別のエラーが発生したか、または、プリンタ24に発
生した「再印刷必要な回復可能エラー」0133が回復した
ことを意味しているので、第2の回復待ち処理から抜け
るために、2つの変数のうちの一方である「変数1」を
カウントアップしてから(ステップ1008)、子プロセス
を終了する。
【0154】一方、エラー回復指示部46においては、ユ
ーザによりエラー回復指示が行われると、印刷を再開す
べきページ番号をメッセージキューに書込み(ステップ
1011)、2つの変数のうちのもう一方である「変数2」
をカウントアップするようになっている(ステップ101
2)。
【0155】そこで、印刷ジョブ出力部47においては、
ステップ1003で、「変数1」および「変数2」が両方と
もカウントアップされた場合に、ステップ1004に進む。
【0156】ステップ1004では、メッセージキューに書
込まれているページ番号を読出し、続いて、セマフォお
よびメッセージキューを削除してから(ステップ100
5)、本処理を終了する。なお、ここで、読出したペー
ジ番号は、その後、図7のステップ701で利用される。
【0157】
【発明の効果】以上説明したように、本発明によれば、
プリンタを接続し、外部から印刷を指示されたデータで
ある印刷ジョブをプリンタに出力することで、該印刷ジ
ョブを印刷用紙に印刷するようプリンタを制御する印刷
システムにおいて、プリンタにエラーが発生した場合
に、発生したエラーの種別およびエラーが発生した時期
を考慮した極め細かな障害処理を行うことを可能として
いるので、印刷処理の信頼性と使い勝手の向上を図るこ
とができる。
【図面の簡単な説明】
【図1】本実施例におけるエラー分類表を示す説明図。
【図2】本実施例に係る印刷システムの構成図。
【図3】クライアントおよびプリントサーバのハードウ
ェア構成図。
【図4】本実施例に係る印刷システムの機能ブロック
図。
【図5】印刷ジョブの構成例を示す説明図。
【図6】印刷ジョブ出力部の処理の流れを示すフローチ
ャート。
【図7】印刷ジョブ出力処理のフローチャート。
【図8】第1の回復待ち処理のフローチャート。
【図9】回復不能エラー処理のフローチャート。
【図10】第2の回復待ち処理のフローチャート。
【図11】クライアントおよびプリントサーバのソフト
ウェア階層図。
【符号の説明】
01…エラー分類表、011…エラー種別、012…エラー検出
タイミング、0130〜0134…エラー分類、211〜21n…クラ
イアント、22…ネットワーク、231〜23m…プリントサー
バ、241〜24m…プリンタ、411,412…印刷ジョブ登録
部、42…印刷ジョブ送信部、431,432…エラー回復指示
要求部、44…印刷ジョブ受信部、45…スプーラ、46…エ
ラー回復指示部、47…印刷ジョブ出力部、48…プリンタ
ドライバ、51…制御ファイル、511…発行元ホスト名、5
12…発行元ユーザ名、5131〜513n…データファイル名、
521〜52n…データファイル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 島川 卓也 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 田村 奈緒美 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】プリンタを接続し、外部から印刷を指示さ
    れたデータである印刷ジョブを上記プリンタに出力する
    ことで、該印刷ジョブを印刷用紙に印刷するよう上記プ
    リンタを制御する印刷システムにおいて、上記プリンタ
    に発生した障害が回復した後に、上記プリンタに印刷を
    再開させる障害処理を行う印刷障害処理方法であって、 上記プリンタに印刷ジョブの出力を開始する前である第
    1の時期、上記プリンタに印刷ジョブを出力している間
    である第2の時期、および、上記プリンタに印刷ジョブ
    の出力を終了してから上記プリンタが印刷を終了するま
    での間である第3の時期に、各々、上記プリンタの状態
    を検出し、上記プリンタに障害が発生したか否かを判定
    し、 上記プリンタに障害が発生したと判定した場合には、該
    判定を行った時期および発生した障害の種別の組合せに
    応じた内容の障害処理を行うことを特徴とする印刷障害
    処理方法。
  2. 【請求項2】請求項1記載の印刷障害処理方法におい
    て、 上記第1の時期に上記プリンタに障害が発生したと判定
    した場合は、発生した障害の種別が機械的な修理を必要
    とする種別以外の種別であるならば、上記プリンタが正
    常な状態に回復するという条件が満たされるのを待ち、 上記条件が満たされた場合に、上記プリンタへの印刷ジ
    ョブの出力を、先頭から開始するという障害処理を行う
    ことを特徴とする印刷障害処理方法。
  3. 【請求項3】請求項1記載の印刷障害処理方法におい
    て、 上記第2の時期および上記第3の時期に上記プリンタに
    障害が発生したと判定した場合は、発生した障害の種別
    が機械的な修理を必要とする種別以外の種別であるなら
    ば、上記プリンタが正常な状態に回復するという条件、
    および、上記プリンタが印刷を再開すべき印刷用紙のペ
    ージ番号が外部から指示されるという条件の2つの条件
    が満たされるのを待ち、 上記2つの条件が満たされた場合に、上記プリンタへの
    印刷ジョブの出力を、外部から指示されたページ番号の
    印刷用紙に印刷されるべき印刷ジョブの先頭から開始す
    るという障害処理を行うことを特徴とする印刷障害処理
    方法。
  4. 【請求項4】請求項1記載の印刷障害処理方法におい
    て、 上記第2の時期に上記プリンタに障害が発生したと判定
    した場合は、発生した障害の種別が、機械的な修理を必
    要とする種別以外の種別であり、かつ、印刷用紙のペー
    ジ番号の切れ目で発生する種別であるならば、該切れ目
    の次のページ番号の印刷用紙に印刷されるべき印刷ジョ
    ブの先頭に相当する、上記プリンタに未出力の印刷ジョ
    ブの先頭を求めると共に、上記プリンタが正常な状態に
    回復するという条件が満たされるのを待ち、 上記条件が満たされた場合に、上記プリンタへの印刷ジ
    ョブの出力を、求めた先頭から開始するという障害処理
    を行うことを特徴とする印刷障害処理方法。
  5. 【請求項5】請求項1記載の印刷障害処理方法におい
    て、 上記第3の時期に上記プリンタに障害が発生したと判定
    した場合は、発生した障害の種別が、機械的な修理を必
    要とする種別以外の種別であり、かつ、印刷用紙のペー
    ジ番号の切れ目で発生する種別であるならば、上記プリ
    ンタが正常な状態に回復するという条件が満たされるの
    を待ち、 上記条件が満たされた場合に、上記プリンタが印刷を終
    了するまで待つという障害処理を行うことを特徴とする
    印刷障害処理方法。
  6. 【請求項6】プリンタを接続し、 上記プリンタを制御するプリンタドライバと、外部から
    印刷を指示されたデータである印刷ジョブを上記プリン
    タドライバに出力することで、上記プリンタが該印刷ジ
    ョブを印刷用紙に印刷するよう上記プリンタドライバに
    制御させる印刷処理を行う印刷処理部とを備えた印刷シ
    ステムであって、 上記プリンタドライバは、 上記印刷処理部から出力された印刷ジョブを上記プリン
    タに出力することで、該印刷ジョブを印刷用紙に印刷す
    るよう上記プリンタを制御するプリンタ制御手段と、 上記プリンタの状態を検出する状態検出手段と、 上記プリンタの印刷の終了を検出する終了検出手段とを
    有し、 上記印刷処理部は、 印刷ジョブを所定の単位ごとに上記プリンタドライバに
    出力する印刷ジョブ出力手段と、 上記印刷ジョブ出力手段が全ての印刷ジョブの出力を終
    了すると、上記プリンタドライバの終了検出手段に上記
    プリンタの印刷の終了を検出させ、上記プリンタの印刷
    が終了した場合に、印刷処理を終了する終了手段と、 上記印刷ジョブ出力手段が上記プリンタドライバに印刷
    ジョブの出力を開始する前に、上記プリンタドライバの
    障害検出手段に上記プリンタの状態を検出させ、上記プ
    リンタに障害が発生したか否かを判定する第1の障害判
    定手段と、 上記印刷ジョブ出力手段が上記プリンタドライバに所定
    の単位の印刷ジョブを出力する度に、上記プリンタドラ
    イバの障害検出手段に上記プリンタの状態を検出させ、
    上記プリンタに障害が発生したか否かを判定する第2の
    障害判定手段と、 上記印刷ジョブ出力手段が上記プリンタドライバに印刷
    ジョブの出力を終了してから上記終了手段が印刷処理を
    終了するまでの間に、上記プリンタドライバの障害検出
    手段に上記プリンタの状態を検出させ、上記プリンタに
    障害が発生したか否かを判定する第3の障害判定手段と
    を有することを特徴とする印刷システム。
  7. 【請求項7】請求項6記載の印刷システムにおいて、 上記印刷処理部は、 上記第1の障害判定手段が上記プリンタに障害が発生し
    たと判定した場合であって、発生した障害の種別が機械
    的な修理を必要とする種別以外の種別である場合には、
    上記プリンタが正常な状態に回復するまで、上記プリン
    タドライバの障害検出手段に上記プリンタの状態を検出
    させ、上記プリンタが正常な状態に回復すると、上記印
    刷ジョブ出力手段に、上記プリンタドライバへの印刷ジ
    ョブの出力を、先頭から開始させる障害処理手段をさら
    に有することを特徴とする印刷システム。
  8. 【請求項8】請求項6記載の印刷システムにおいて、 上記プリンタドライバは、 上記印刷処理部から印刷ジョブが出力される度に、該印
    刷ジョブのデータ量を検出するデータ量検出手段をさら
    に有し、 上記印刷処理部は、 上記第2障害判定手段が上記プリンタに障害が発生した
    と判定した場合であって、発生した障害の種別が、機械
    的な修理を必要とする種別以外の種別であり、かつ、印
    刷用紙のページ番号の切れ目で発生する種別である場合
    には、上記プリンタドライバのデータ量検出手段に上記
    プリンタドライバに出力された印刷ジョブのデータ量を
    検出させ、該データ量に基づいて、該切れ目の次のペー
    ジ番号の印刷用紙に印刷されるべき印刷ジョブの先頭に
    相当する、上記プリンタドライバに未出力の印刷ジョブ
    の先頭を求めると共に、上記プリンタが正常な状態に回
    復するまで、上記プリンタドライバの障害検出手段に上
    記プリンタの状態を検出させ、上記プリンタが正常な状
    態に回復すると、上記印刷ジョブ出力手段に、上記プリ
    ンタドライバへの印刷ジョブの出力を、求めた先頭から
    開始させる障害処理手段をさらに有することを特徴とす
    る印刷システム。
  9. 【請求項9】請求項6記載の印刷システムにおいて、 上記印刷処理部は、 上記第3の障害判定手段が上記プリンタに障害が発生し
    たと判定した場合であって、発生した障害の種別が、機
    械的な修理を必要とする種別以外の種別であり、かつ、
    印刷用紙のページ番号の切れ目で発生する種別である場
    合には、上記プリンタが正常な状態に回復するまで、上
    記プリンタドライバの障害検出手段に上記プリンタの状
    態を検出させ、上記プリンタが正常な状態に回復する
    と、上記終了手段が印刷処理を終了するのを待つ障害処
    理手段をさらに有することを特徴とする印刷システム。
JP7240055A 1995-09-19 1995-09-19 印刷障害処理方法および印刷システム Pending JPH0976606A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7240055A JPH0976606A (ja) 1995-09-19 1995-09-19 印刷障害処理方法および印刷システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7240055A JPH0976606A (ja) 1995-09-19 1995-09-19 印刷障害処理方法および印刷システム

Publications (1)

Publication Number Publication Date
JPH0976606A true JPH0976606A (ja) 1997-03-25

Family

ID=17053818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7240055A Pending JPH0976606A (ja) 1995-09-19 1995-09-19 印刷障害処理方法および印刷システム

Country Status (1)

Country Link
JP (1) JPH0976606A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149382A (ja) * 2000-11-14 2002-05-24 Fuji Xerox Co Ltd 画像処理装置
JP2003001915A (ja) * 2001-06-21 2003-01-08 Sato Corp 印刷装置
JP2010036440A (ja) * 2008-08-05 2010-02-18 Seiko Epson Corp プリンタの再印刷制御方法およびプリンタ
JP2010064399A (ja) * 2008-09-11 2010-03-25 Ricoh Co Ltd 画像形成装置、画像形成方法、画像形成プログラム、プリントサーバ、プリンタ制御方法、プリンタ制御プログラム
US7864350B2 (en) 2002-12-12 2011-01-04 Seiko Epson Corporation Image processing method and image processing system using the same
CN102729663A (zh) * 2011-04-01 2012-10-17 精工爱普生株式会社 印刷装置及其错误处理方法
JP2012242763A (ja) * 2011-05-24 2012-12-10 Oki Data Corp 画像形成装置及び画像形成システム
JP2013126759A (ja) * 2013-01-16 2013-06-27 Seiko Epson Corp プリンタの再印刷制御方法およびプリンタ
JP2013251004A (ja) * 2013-09-03 2013-12-12 Seiko Epson Corp 印刷装置の制御方法及び印刷装置
JP2016002743A (ja) * 2014-06-19 2016-01-12 富士ゼロックス株式会社 画像形成装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149382A (ja) * 2000-11-14 2002-05-24 Fuji Xerox Co Ltd 画像処理装置
JP2003001915A (ja) * 2001-06-21 2003-01-08 Sato Corp 印刷装置
JP4684474B2 (ja) * 2001-06-21 2011-05-18 株式会社サトー 印刷装置
US7864350B2 (en) 2002-12-12 2011-01-04 Seiko Epson Corporation Image processing method and image processing system using the same
US8405843B2 (en) 2008-08-05 2013-03-26 Seiko Epson Corporation Printer control method for error-detection-based reprinting
JP2010036440A (ja) * 2008-08-05 2010-02-18 Seiko Epson Corp プリンタの再印刷制御方法およびプリンタ
US8711389B2 (en) 2008-08-05 2014-04-29 Seiko Epson Corporation Printing control method and printer for printing on a label
JP2010064399A (ja) * 2008-09-11 2010-03-25 Ricoh Co Ltd 画像形成装置、画像形成方法、画像形成プログラム、プリントサーバ、プリンタ制御方法、プリンタ制御プログラム
JP2012213964A (ja) * 2011-04-01 2012-11-08 Seiko Epson Corp 印刷装置およびそのエラー処理方法
CN102729663A (zh) * 2011-04-01 2012-10-17 精工爱普生株式会社 印刷装置及其错误处理方法
JP2012242763A (ja) * 2011-05-24 2012-12-10 Oki Data Corp 画像形成装置及び画像形成システム
JP2013126759A (ja) * 2013-01-16 2013-06-27 Seiko Epson Corp プリンタの再印刷制御方法およびプリンタ
JP2013251004A (ja) * 2013-09-03 2013-12-12 Seiko Epson Corp 印刷装置の制御方法及び印刷装置
JP2016002743A (ja) * 2014-06-19 2016-01-12 富士ゼロックス株式会社 画像形成装置

Similar Documents

Publication Publication Date Title
US7719703B2 (en) Print control program and medium and information processing apparatus
US7190468B2 (en) Background document rendering system and method
JP3573466B2 (ja) 印刷システム
US8619290B2 (en) Image forming apparatus, image forming system, and image forming method
US20060268304A1 (en) Print control program, method of controlling printing apparatus, and print control unit
JP4980776B2 (ja) 画像形成装置、プログラム及び記録媒体
US20070206210A1 (en) Image forming apparatus, information processing apparatus, printing system, and image forming method
JP2000172453A (ja) 印刷システム及び同システムのホスト装置
JP2006031674A (ja) 情報処理装置および方法並びにプログラム
JPH06230908A (ja) 各種ページ記述言語ならびにその他のパラメータを用いて電子化文書の印刷を制御するためのシステム
US20050256869A1 (en) Log information management device, log information generation device, and computer-readable medium storing log information management program therein
JP2006031677A (ja) 印刷制御装置、印刷装置、印刷ネットワークシステム、印刷制御方法、印刷制御プログラム及び印刷制御プログラムを格納した記録媒体。
JPH0976606A (ja) 印刷障害処理方法および印刷システム
JPH07230372A (ja) 印刷システム
JP3158789B2 (ja) プリンタ装置
JP3489846B2 (ja) リモート印刷システム
JP3622670B2 (ja) 印刷ジョブ管理装置
JP4573708B2 (ja) 印刷装置及び印刷システム
US6418456B1 (en) Clean-up of files in a network system
JP3962720B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム、並びにコンピュータ読み取り可能な記憶媒体
JP4306973B2 (ja) 印刷制御装置およびデータ処理方法
JP4498031B2 (ja) 情報処理装置および方法並びにプログラム
JP3743183B2 (ja) プリント・サーバ、ネットワーク・プリント・システム、及びネットワーク・プリント・システムにおけるプリント制御方法
JP2007058417A (ja) プリントシステム
JP2009163634A (ja) 印刷装置、印刷システム、印刷管理方法、印刷管理プログラム及び記録媒体