JP2000089921A - 印刷データスプール制御方法 - Google Patents

印刷データスプール制御方法

Info

Publication number
JP2000089921A
JP2000089921A JP10258929A JP25892998A JP2000089921A JP 2000089921 A JP2000089921 A JP 2000089921A JP 10258929 A JP10258929 A JP 10258929A JP 25892998 A JP25892998 A JP 25892998A JP 2000089921 A JP2000089921 A JP 2000089921A
Authority
JP
Japan
Prior art keywords
printer
print data
data
area
spool
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.)
Withdrawn
Application number
JP10258929A
Other languages
English (en)
Inventor
Hiroyuki Okawa
博行 大川
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP10258929A priority Critical patent/JP2000089921A/ja
Publication of JP2000089921A publication Critical patent/JP2000089921A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【課題】 電源断などの異常発生による印刷エラーが生
じた際に、印刷直前に消失したデータを補償できず、エ
ラー復旧後に印刷処理を始めからやり直さなければなら
なくなる。 【解決手段】印刷データの消失につながる異常であれ
ば、再送制御部は再送データポインタにスプール領域6
の先頭値をセットして上位プログラム3へ異常終了を通
知する。上位プログラム3は、オペレータ1に対して異
常とその原因を示す異常通知を表示し、プリンタ9の復
旧を促す。その後、逐次状態情報を取得し、復旧が確認
できたら、再送データポインタをもとに、スプール領域
6に蓄積されている印刷データを再送し、この再送デー
タが正常に受信されたかどうかを、動作状態情報を受信
して確認する。続いて再送データポインタ値をデータレ
ングス領域に格納されているデータ長分カウントアップ
して、次の印刷データのデータポインタ領域をチェック
し、再送データの終わりを判断する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は印刷データの入出力
制御方法に関し、特にデータの印刷処理と他の処理を並
行して実行するスプール制御方法に関する。
【0002】
【従来の技術】オペレータから上位プログラムに対し印
刷要求がなされ、これを受け上位プログラムが印刷デー
タをプリンタドライバに送出し、その後はプリンタドラ
イバが、プリンタポートを経由して印刷データをプリン
タで印字出力制御する印刷データのスプール制御方法が
一般的に知られている。図6にこの印刷データスプール
制御方法が適用されるシステムの代表的な構成概要を示
す。
【0003】プリンタドライバ4は、送受信部5、スプ
ール領域6及び送受信制御部7で構成される。スプール
領域6は、印刷データの入出力と印刷ジョブの処理を並
行的に処理するスプール機能を有する。送受信制御部7
は、上位プログラム3から受信した印刷データをスプー
ル領域6に入力順に一時蓄積させ、順番に印刷ジョブを
プリンタポート8に送出するとともに、その時点でプリ
ンタ9がどういう状態にあるかを示す動作状態情報を、
プリンタポート8を介して受信する制御を行っている。
そして送受信部5は、送受信制御部7の命令により、上
位プログラム3から送られてくる印刷データの受信と、
上位プログラム3に対する動作状態情報の送信を行う。
【0004】次に、従来技術の処理動作について、タイ
ムチャート及びフローチャートを用いて説明する。
【0005】図7及び図9において、オペレータ1から
印刷開始を指示する印刷要求をうけた上位プログラム3
は、印刷データを送信に適した大きさ、例えばこの従来
技術の場合ではA4用紙2ページ分の印刷データをペー
ジ毎に3つ、都合6つの印刷データに分割して、これら
をプリンタドライバ4に送信する。1ページ目の印刷デ
ータを順にa1,a2,a3、同様に2ページ目の印刷
データを順にb1,b2,b3とする。プリンタドライ
バ4は、送受信部5で印刷データa1を受信すると(s
tep9−1)、送受信制御部7の制御のもとでスプー
ル領域6に一時蓄積し(step9−2)、蓄積が正常
に終了した旨を上位プログラム3に通知する(step
9−3)。これを受けて上位ブログラムは、次の印刷デ
ータa2をプリンタドライバ4に送信する。プリンタド
ライバ4は、印刷データa2を受信したタイミングと同
時に、先に受信し一時格納しておいた印刷データa1
を、スプール領域6からプリンタポート8に取り出す。
そして印刷データa2をスプール領域6に新たに一時蓄
積すると同時に、印刷データa1をプリンタポート8か
らプリンタ9へ向けて送出する(step9−4)。この
送出の正常終了は、プリンタ9からプリンタポート8を
介してプリンタドライバ4に通知される。印刷データa
1の正常終了をチェックした後(step9−5)、プ
リンタドライバ4は印刷データa2がスプール領域6に
一時格納されているかどうかをチェックし(step9
−11)、以後の印刷データの送受信制御を継続する。
【0006】しかし、プリンタ9に異常(紙切れ)が発
生していた場合、プリンタ9はプリンタポート8から送
られてきた印刷データa2を保持することはできるが、
スプール領域6に続いて蓄積され、次に送られてくるで
あろう印刷データa3を受信,印刷することができな
い。そこで、印刷データa2が(紙切れ)により異常終
了した旨が、プリンタポート8を介してプリンタドライ
バ4に送られ(step9−6)、プリンタドライバ4
は上位プログラム3に対して印刷の異常終了を伝える。
上位プログラム3はオペレータ1に対し、ディスプレイ
表示やアラームなどで、印刷の異常(紙切れエラー)を
通知する。
【0007】プリンタドライバ4はプリンタポート8を
介して、プリンタ9に対し動作状態の確認を行うための
制御信号を送出する(step9−9)。このとき、用
紙補充等の処置により異常から復旧していれば、プリン
タ9はプリンタドライバ4に対して正常信号を送出し、
プリンタドライバ4はこれを受けてプリンタ9が異常か
ら復旧したことを確認する(step9−10)。その
後プリンタドライバ4はスプール領域6内を確認し(s
tep9−11)、スプール領域6内に蓄積されたまま
になっていた印刷データa3をプリンタポート8に送出
する(step9−12)。また、プリンタドライバ4
は上位プログラム3に、プリンタ9の復旧を示す正常信
号を通知する(step9−13)。続いて、2ページ
目の印刷データb1が上位プログラム3からプリンタド
ライバ4に送られ、プリンタドライバ4はこの印刷デー
タb1をスプール領域6に一時蓄積する。印刷データa
3はこのとき、復旧したプリンタ9に向けて送出され
る。
【0008】その後は、スプール領域6に一時蓄積され
た印刷データが順次プリンタ9に送られて印刷され、そ
の正常終了を示す通知を受けて次の印刷データがプリン
タポート8からプリンタ9へ、そしてその次のデータが
プリンタドライバ4からスプール領域6へ送出される動
作が繰り返される。
【0009】2ページ目の最後の印刷データb3をプリ
ンタドライバ4に送出し、プリンタドライバ4から正常
終了を受信したとき、上位プログラム3はオペレータ1
に対して印刷正常終了を通知する。以後、上述の制御動
作をへて印刷データb2,b3が順次プリンタ9で印刷
され、最後の印刷データb3を正常に印刷し終えたら、
プリンタ9→プリンタポート8へ正常終了が通知され
る。プリンタポート8からプリンタドライバ4に、この
正常終了が通知されたとき、スプール領域6に印刷デー
タが一つも存在しなければ、全ての制御動作が終了す
る。
【0010】このように、(紙切れ)異常発生時に受信
した印刷データa2は、プリンタ9に保持されているの
で、プリンタ9復旧後に印刷データ送出を再開させるこ
とにより印刷を継続することができる。
【0011】
【発明が解決しようとする課題】しかし、この従来技術
では、プリンタ9に発生した異常が、例えば電源断やケ
ーブル未接続などであった場合、印刷を継続させること
ができなかった。そのときの処理を、図8のタイムチャ
ートを用いて説明する。
【0012】プリンタ9から電源断あるいはケーブル未
接続を示す異常終了が、プリンタポート8→プリンタド
ライバを介して上位プログラム3に送られる。上位プロ
グラム3はオペレータ1に対して、印刷の異常を示す通
知を行い、印刷を中止する。この後オペレータ1が、自
らプリンタ9の場所に赴き、あるいはメンテナンス等の
処置を施すなどしてプリンタ9の復旧を確認して、スプ
ールが完了している印刷データa3の次の印刷データb
1から印刷を再開させたとしても、異常発生時にプリン
タ9において印刷直前であった印刷データa2は、電源
断やケーブル未接続の原因によって既に消失してしまっ
ている。そのため、印刷を中断したところから継続して
再開することはできない。このような場合には、プリン
タ9の異常時に一旦上位プログラム3の印刷処理を中止
しておき、復旧後に改めて最初の印刷データa1から印
刷をやり直さなければならなかった。
【0013】本発明の印刷データスプール制御方法は、
これらの課題を解決することを目的とする。
【0014】
【課題を解決するための手段】本発明の印刷データのス
プール制御方法は、上記印刷データを一時蓄積するスプ
ール領域と、上記スプール領域内における上記分割デー
タの蓄積箇所を個別に格納するデータ格納領域と、上記
分割データの各々データ長を個別に格納するデータ長領
域を有するスプール領域管理テーブルと、上記ホストコ
ンピュータから送出された印刷データを上記スプール領
域に順番に一時蓄積させ、この順序で蓄積された上記印
刷データを上記プリンタに送出し、これに対する上記プ
リンタの返答を確認する送受信制御部と、上記プリンタ
の返答が印刷異常を示した場合、この異常が上記プリン
タに送出された印刷データの消失につながるか否かを判
定し、消失のない異常であれば次の印刷データの蓄積箇
所を、消失のある異常であれば消失した印刷データの蓄
積箇所を上記スプール領域管理テーブルから取得して、
上記スプール領域中から該当する印刷データを上記プリ
ンタにむけて送出する再送制御部を有してなることを特
徴とする。
【0015】
【発明の実施の形態】本発明の印刷データスプール制御
方法を適用したプリンタシステムの一実施の形態を、図
面を参照して詳細に説明する。
【0016】図1は、本実施の形態のシステム構成図で
ある。コンピュータにプリンタ9が、ケーブル等で直接
接続されており、オペレータ1がこのコンピュータに備
えられるキーボードやマウス等の入力インタフェース
(図示せず)を使い、印刷要求を上位プログラム3に対
して送出する。プリンタドライバ4は、従来の技術と同
様に、送受信部5、スプール領域6及び送受信制御部7
を有するが、スプール領域6には、スプールする各印刷
データを管理するため各々の印刷データのスプールポイ
ントを格納するデータポイント領域と、各印刷データの
データ長を格納するデータレングス領域を有したスプー
ル領域管理テーブル10、そして、プリンタ9において
印刷データが消失してしまう性質の異常(電源断,ケー
ブル未接続など)異常発生時に、上位プログラム3の処
理を中止させず、印刷を継続させるため消失した印刷デ
ータを再送させるよう制御する再送制御部によって構成
される。
【0017】次に本実施の形態の処理動作について、従
来技術と同様にタイムチャート及びフローチャートを用
いて説明する。
【0018】図2及び図3に示すように、オペレータ1
から発せられた印刷要求によって、上位プログラム3は
まず印刷データを送信に適した大きさに分割して、これ
らを順次プリンタドライバ4に送信する。分割された印
刷データは、従来の技術の場合と同様に、印刷データa
1,a2,a3及び印刷データb1,b2,b3とす
る。
【0019】プリンタドライバ4は、送受信制御部7の
制御のもと、最初の印刷データa1を受信する前に、印
刷データ格納ポインタ値をスプール領域6の先頭アドレ
スとする(step4−1)。なお都合上、この先頭ア
ドレス値は0として以下の説明を行う。プリンタドライ
バ4が最初の印刷データa1を受け取ると(step4
−2)、スプール領域管理テーブル10の全テーブル内
容が“0”にクリアされる。そして、データポインタ領
域には、印刷データa1の格納ポインタ値が格納され、
これとともにデータレングス領域には、印刷データa1
のデータ長(「a1」と表現する)が格納される。しか
る後、印刷データa1をスプール領域6内に一時蓄積す
る(step4−3)。この印刷データa1は、プリン
タドライバ4から上位プログラム3に対して送出される
印刷データa1の正常終了(step4−4)と同時
に、プリンタポート8を介してプリンタ9に送信される
(step4−5)。
【0020】印刷データa1をプリンタ9に送出した
後、プリンタドライバ4の送受信制御部7は、プリンタ
9の動作状態を確認する(step4−6)。ここでプ
リンタ9に異常が発生していないことが確認されると、
プリンタドライバ4はプリンタポート8から正常終了を
受信し、格納ポインタ値を印刷データa1のデータ長
「a1」分だけカウントアップした値の“a1”とし
(step4−8)、次の印刷データa2のデータポイ
ンタ領域に格納する。そしてプリンタドライバ4は、上
位プログラム3に対して印刷データa1の正常終了を通
知し、このとき終了した印刷データがページの最終デー
タであるか否かをチェックする(step4−9)。今
回の印刷データa1は、1ページ目の最終データではな
いので、次の印刷データa2の到来を待つ。
【0021】上位プログラム3は、続いて次の印刷デー
タa2をプリンタドライバ4に送信する。印刷データa
2の格納ポインタ値にはすでに“a1”が格納されてい
る。データレングス領域は印刷データa2のデータ長
「a2」に更新される。そして、印刷データa2はスプ
ール領域6からプリンタポート8を経てプリンタ9へ送
られる。
【0022】このとき、プリンタ9になんらかの異常事
態が発生していれば、プリンタポート8からプリンタド
ライバ4に対して印刷の異常終了が送出される。すると
プリンタポート8は、プリンタ9に発生した異常が印刷
データの消失につながる性質の異常(電源断やケーブル
未接続)であるのか、印刷データがプリンタ9にて保持
される性質の異常(紙切れ)であるかを区別した異常終
了を送出する。プリンタドライバ4は、プリンタポート
8からこの異常終了を受信し、再送制御部11で印刷デ
ータの再送処理を行う(step4−7)。
【0023】また、図5に示す印刷データ再送処理で
は、プリンタポート8から受信した異常終了により、プ
リンタ9の異常が印刷データの消失につながる性質かど
うかをチェックする(step5−1)。例えば異常が
紙切れによるものであれば、異常発生時のデータを再送
することで印刷の継続が可能なので、再送制御部11は
再送データポインタに印刷データa2のデータポインタ
領域の値“a1”をセットする(step5−2)。し
かし異常が電源断によるものであったとすれば、異常発
生時のデータの再送では印刷の継続が不可能であるた
め、再送制御部11は再送データポインタにスプール領
域6の先頭アドレスをセットし(step5−3)、上
位プログラム3へ異常終了を通知する(step5−
4)。上位プログラム3は、オペレータ1に対してプリ
ンタ9の異常とその原因を示す異常通知を表示し、プリ
ンタ9の復旧を促す。その後プリンタドライバ4は、逐
次プリンタポート8から状態情報を取得し(step5
−5)、プリンタ9の復旧状況を確認する(step5
−6)。復旧が確認できれば、セットしてある再送デー
タポインタをもとにして、スプール領域6に蓄積されて
いる印刷データa1をプリンタポート8に再送する(s
tep5−7)。そして、再送した印刷データa1に対
して、プリンタ9で正常に受信されたかどうかを、動作
状態情報を受信して確認する(step5−8)。プリ
ンタポート8から正常終了を受信したとき、例えば異常
の原因が紙切れである場合なら、再送データポインタ値
をスプール領域6管理テーブル10のデータレングス領
域に格納されている印刷データa2のデータ長「a2」
分だけカウントアップして、次の印刷データa3につい
て、スプール領域6管理テーブル10のデータポインタ
値を確認する。これが“0”であれば再送データの終わ
りと判断する(step5−10)。
【0024】再送処理が終了するとプリンタドライバ4
は、印刷データ格納ポインタを印刷データa2のデータ
長「a2」分だけカウントアップさせて、これを印刷デ
ータa3のデータポインタ領域に“a3”として格納す
る(step4−8)。
【0025】送受信部5から上位プログラム3に対して
正常終了を通知した後、プリンタドライバ4は、印刷デ
ータがページのエンドデータであるか否かをチェックす
る(step4−9)。印刷データa2はページの終わ
りではないので、次の印刷データの受信を待つ。
【0026】上位プログラム3はプリンタドライバ4か
ら正常終了を受信すると、次の印刷データa3をプリン
タドライバ4に送信し、これを同様の手順でプリンタ9
に送信する。印刷データa3が正常に終了したとき、ペ
ージの終わりか否かチェックが行われる。印刷データa
3で1ページ目は終わりなので、続いて次ページが存在
するか否かのチェックが行われる(step4−1
0)。継続してページが存在すれば、その最初の印刷デ
ータb1を、印刷データa1と同様の手順で制御続行す
る。そして最後に、印刷データb3の送信が正常終了し
たことをチェックした後、もしこのページが最終ページ
であるなら、オペレータ1に印刷がすべて正常終了した
旨を通知する。
【0027】
【発明の効果】以上説明したように、本発明の印刷デー
タスプール制御方法は、プリンタドライバの制御によ
り、プリンタポートを介して印刷ジョブをプリンタに送
信すると同時に、スプール領域に1ページ単位でスプー
ルしておくことによって、異常発生時にプリンタが消失
したデータを補償することができる。また、プリンタド
ライバがプリンタ復旧の確認を行い、復旧後の再送処理
を制御することによって、上位プログラムも印刷処理を
中止させることなくデータを継続して出力させることが
可能となり、印刷処理の時間短縮やオペレータの作業軽
減を実現できる。
【図面の簡単な説明】
【図1】本発明の印刷データスプール制御方法の実施形
態における、システム構成のブロック図である。
【図2】紙切れ異常時の印刷データスプール制御を示す
タイムチャートである。
【図3】紙切れ以外(電源断)の異常時の印刷データス
プール制御を示すタイムチャートである。
【図4】本実施形態における、プリンタドライバの処理
動作を示すフローチャートである。
【図5】印刷データの再送処理動作を示すフローチャー
トである。
【図6】従来技術におけるシステム構成のブロック図で
ある。
【図7】従来技術における、紙切れ異常時の処理動作を
示すフローチャートである。
【図8】従来技術における、紙切れ以外(電源断)の異
常時の処理動作を示すフローチャートである。
【図9】従来技術のプリンタドライバの処理動作を示す
フローチャートである。
【符号の説明】
1 オペレータ 2 コンピュータ 3 上位プログラム 4 プリンタドライバ 5 送受信部 6 スプール領域 7 送受信制御部 8 プリンタポート 9 プリンタ 10 スプール領域管理テーブル 11 再送制御部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ホストコンピュータに接続され該ホスト
    コンピュータから送出される印刷データの印字を行うプ
    リンタのスプール制御方法において、 前記印刷データを一時蓄積するスプール領域と、 前記スプール領域内における前記分割データの蓄積箇所
    を個別に格納するデータ格納領域と、前記分割データの
    各々データ長を個別に格納するデータ長領域を有するス
    プール領域管理テーブルと、 前記ホストコンピュータから送出された印刷データを前
    記スプール領域に順番に一時蓄積させ、この順序で蓄積
    された前記印刷データを前記プリンタに送出し、これに
    対する前記プリンタの返答を確認する送受信制御部と、 前記プリンタの返答が印刷異常を示した場合、この異常
    が前記プリンタに送出された印刷データの消失につなが
    るか否かを判定し、消失のない異常であれば次の印刷デ
    ータの蓄積箇所を、消失のある異常であれば消失した印
    刷データの蓄積箇所を前記スプール領域管理テーブルか
    ら取得して、前記スプール領域中から該当する印刷デー
    タを前記プリンタにむけて送出する再送制御部とを有す
    ることを特徴とする、印刷データのスプール制御方法。
JP10258929A 1998-09-11 1998-09-11 印刷データスプール制御方法 Withdrawn JP2000089921A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10258929A JP2000089921A (ja) 1998-09-11 1998-09-11 印刷データスプール制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10258929A JP2000089921A (ja) 1998-09-11 1998-09-11 印刷データスプール制御方法

Publications (1)

Publication Number Publication Date
JP2000089921A true JP2000089921A (ja) 2000-03-31

Family

ID=17327011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10258929A Withdrawn JP2000089921A (ja) 1998-09-11 1998-09-11 印刷データスプール制御方法

Country Status (1)

Country Link
JP (1) JP2000089921A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438704B1 (ko) * 2001-11-16 2004-07-05 삼성전자주식회사 프린트 데이터의 재인쇄방법
EP1452956A3 (en) * 2003-02-12 2010-03-17 Canon Kabushiki Kaisha print control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438704B1 (ko) * 2001-11-16 2004-07-05 삼성전자주식회사 프린트 데이터의 재인쇄방법
EP1452956A3 (en) * 2003-02-12 2010-03-17 Canon Kabushiki Kaisha print control system
US7719703B2 (en) 2003-02-12 2010-05-18 Canon Kabushiki Kaisha Print control program and medium and information processing apparatus

Similar Documents

Publication Publication Date Title
US5799206A (en) Remote print system having a plurality of computers which are capable of monitoring and controlling operations of a remote printer
JP4924001B2 (ja) 印刷システム及び印刷システムにおける印刷制御方法
JP2006031677A (ja) 印刷制御装置、印刷装置、印刷ネットワークシステム、印刷制御方法、印刷制御プログラム及び印刷制御プログラムを格納した記録媒体。
US7315404B2 (en) Monitoring job status for grouped print jobs
JP6289057B2 (ja) 通信装置とその制御方法、印刷装置とその制御方法、及びプログラム
JP3034540B2 (ja) 印刷システム、および、そのエラー回復方法
JP2000089921A (ja) 印刷データスプール制御方法
US7880917B2 (en) Image forming apparatus and print system
JP3573258B2 (ja) 印刷データ送信装置及び印刷システム
JP3201326B2 (ja) ネットワーク印刷装置システム
JP3958016B2 (ja) ネットワークプリンタ装置
JP2000172456A (ja) プリントシステム
JP2000020272A (ja) 印刷制御方法および印刷制御装置
JP2007328574A (ja) 印刷システム及び印刷プログラム
JP3400672B2 (ja) 印刷装置および印刷システムおよび両面印刷管理方法
JP2007065797A (ja) 画像形成装置
JPH07329399A (ja) 画像形成装置
JP3265716B2 (ja) ファクシミリ装置およびファクシミリシステム
US12014095B2 (en) Printing apparatus using print data stored in a spool area, control method thereof, and storage medium
JPH11277854A (ja) プリンタ制御装置
US20230161524A1 (en) Printing apparatus, control method thereof, and storage medium
JP3194938B2 (ja) 印刷システム
JP2007034496A (ja) 印刷制御システム
KR20050065032A (ko) 데이터 전송장치 및 전송방법
JP3241278B2 (ja) ネットワークプリントシステム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060110