(57)【特許請求の範囲】
【請求項１】
端末装置から送信されるプリントジョブを受付け、プリンタにプリント処理をさせるプリンタ制御装置であって、
プリンタのトラブルによるプリント処理の中断が第１の時間以上継続すると、当該トラブルが復旧した際、処理待ち状態のプリントジョブに優先度を設定する優先度設定手段と、
優先度の高いプリントジョブを優先度の低いプリントジョブに優先してプリント処理を行なわせる優先処理手段とを備え、
前記優先度設定手段は、復旧時から遡って第２の時間以内に受付けた第１のジョブグループに、それよりも以前に受付けた第２のジョブグループよりも高い優先度を設定することを特徴とするプリンタ制御装置。
【請求項２】
前記優先度設定手段は、前記第２のジョブグループの内、
プリント処理の中断以降に受付けた第１のサブグループには、受付け時刻の早いプリントジョブほど低い優先度を設定し、
プリント処理の中断よりも前に受付けた第２のサブグループには、第１のサブグループに設定する最下位の優先度を除く優先度を設定することを特徴とする請求項１記載のプリンタ制御装置。
【請求項３】
前記優先処理手段は、第１のサブグループの内、少なくとも最上位の優先度のプリントジョブを除いたプリントジョブについては、プリント処理を保留することを特徴とする請求項２記載のプリンタ制御装置。
【請求項４】
前記復旧時から所定時間経過すると、前記保留中のプリントジョブの内、少なくとも最下位の優先度のプリントジョブを除くプリントジョブの優先度を上げて、保留解除を行う保留解除手段を備えることを特徴とする請求項３記載のプリンタ制御装置。
【請求項５】
保留解除を受け付ける解除受付手段と、
当該解除受付手段が保留解除を受け付けると、前記保留中のプリントジョブの優先度を上げて、保留解除を行う保留解除手段とを備えることを特徴とする請求項３記載のプリンタ制御装置。
【請求項６】
前記優先処理手段は、同位の優先度のプリントジョブ間では、先に受付けられたプリントジョブからプリント処理を行なわせることを特徴とする請求項１〜５のいずれか１項に記載のプリンタ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、端末装置から送信されるプリントジョブを受信し、プリント処理させるプリンタ制御装置に関し、特に、複数のプリントジョブがプリント処理待ち状態になった場合の、次にプリント処理させるプリントジョブの決定技術に関する。
【０００２】
【従来の技術】
近年、ＯＡ（Office Automation）の発展に伴い、多くの企業では、ワードプロセッサや文書・画像処理ソフトウエアがインストールされたパソコンなどの端末装置が一人に一台割り当てられ、文書やイラストなどの作成が行われている。これらの端末装置はＬＡＮ（Local Area Network）を介して、プリンタにプリント処理させるプリンタ制御装置としてのプリンタサーバに接続されており、プリンタを全員で共有して、作成した文書などをプリント用紙に印字するプリント処理が行なわれている。
【０００３】
プリンタサーバは、各端末装置からＬＡＮを経由して送信されるプリントジョブを一旦メモリに格納し、当該メモリからプリントジョブを読み出してプリンタにプリント処理を行わせる。このとき、プリンタサーバは、受信したプリントジョブを前記メモリに対して先入れ先出しで取り扱っており、先に行われているプリント処理が終了すると、それ以降のプリント処理は、プリントジョブの到着順に行なっている。
【０００４】
【発明が解決しようとする課題】
ところで、紙づまりや用紙切れなどのトラブルが原因でプリンタが停止し、プリント処理が中断してしまうことがあるが、中断中のプリントジョブが急ぎのもので無い場合、当該トラブルの解消処置がとられることなく、停止状態のまま長時間放置される場合がある。また、この間もプリンタサーバは、プリントジョブを受付けるため、プリントジョブがそのメモリに次々に蓄積されることとなるが、これらのプリントジョブも急ぎでない場合には、やはり、トラブルの解消処置がとられないまま放置されることが多い。
【０００５】
このような状況の下で、プリント処理を急ぐ人が、プリントジョブをサーバに送信して直に、上記トラブルの解消処置を行なったとしても、当該急ぎのプリントジョブの処理は、上記中断されていたプリントジョブやプリントサーバに残存しているプリントジョブの処理が全て終了するまで開始されないという不合理が生じる。
【０００６】
本発明は、このような課題に鑑み、かかる不合理を解消し、処理を急ぐプリントジョブを優先してプリント処理させるプリンタ制御装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記の目的を達成するため、本発明に係るプリンタ制御装置は、端末装置から送信されるプリントジョブを受付け、プリンタにプリント処理をさせるプリンタ制御装置であって、プリントジョブごとに、プリンタのトラブルによるプリント処理の中断が第１の時間以上継続すると、当該トラブルが復旧した際、処理待ち状態のプリントジョブに優先度を設定する優先度設定手段と、優先度の高いプリントジョブを優先度の低いプリントジョブに優先してプリント処理を行なわせる優先処理手段とを備え、前記優先度設定手段は、復旧時から遡って第２の時間以内に受付けた第１のジョブグループに、それよりも以前に受付けた第２のジョブグループよりも高い優先度を設定することを特徴とする。
【０００８】
また、前記優先度設定手段は、前記第２のジョブグループの内、プリント処理の中断以降に受付けた第１のサブグループには、受付け時刻の早いプリントジョブほど低い優先度を設定し、プリント処理の中断よりも前に受付けた第２のサブグループには、第１のサブグループに設定する最下位の優先度を除く優先度を設定することを特徴とする。
【０００９】
さらに、前記優先処理手段は、第１のサブグループの内、少なくとも最上位の優先度のプリントジョブを除いたプリントジョブについては、プリント処理を保留することを特徴とする。
さらに、また、前記復旧時から所定時間経過すると、前記保留中のプリントジョブの内、少なくとも最下位の優先度のプリントジョブを除くプリントジョブの優先度を上げて、保留解除を行う保留解除手段を備えることを特徴とする。
【００１０】
また、保留解除を受け付ける解除受付手段と、当該解除受付手段が保留解除を受け付けると、前記保留中のプリントジョブの優先度を上げて、保留解除を行う保留解除手段とを備えることを特徴とする。
また、前記優先処理手段は、同位の優先度のプリントジョブ間では、先に受付けられたプリントジョブからプリント処理を行なわせることを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
図１は、実施の形態に係るプリンタサーバＴＵ０を有したプリンタシステム１の構成を示す図である。
入力手段としてキーボードとマウスを、表示手段としてＣＲＴディスプレイを有するパソコンが複数台、イーサネットで構築されたＬＡＮ２を介して接続されており、この内、プリンタ３に接続されている一台がプリンタサーバＴＵ０として専用に用いられ、その他のパソコン（ＴＵ１〜ＴＵＰ）は、文書などを作成するための端末装置として用いられる。
【００１２】
端末装置は同様の構成をしたものがＰ台設置されており（Ｐは正の整数）、各端末装置（ＴＵ１〜ＴＵＰ）は１，２，３，…，ｐ，…，Ｐ番の端末番号で識別される。また、プリンタサーバＴＵ０には、識別番号として「０」が付与されている。
各端末装置は、入力手段を介してプリント指示を受付けると、指示のあったプリントジョブに、宛て先の識別番号（この場合は、プリンタサーバＴＵ０の識別番号「０」）と送り手の識別番号である端末番号「ｐ」とを付与した上で、当該プリントジョブをＬＡＮ２に送出する。また、各端末装置は、プリンタサーバＴＵ０から何らかのトラブルによってプリンタ３が停止中であることを示すストップ信号（printstatus=STOP）が送信されると、その表示画面にプリンタが停止中である旨を表示する。なお、ストップ信号については、後で詳述する。
【００１３】
図２はプリンタサーバＴＵ０の機能ブロック図の一部である。
本図に示すように、プリンタサーバＴＵ０は、タイマー部１１、プリンタインターフェース部１２、ＬＡＮインターフェース部１３、プリントジョブ処理部１４および操作入力部１５を有している。
タイマー部１１は、現在の時刻（time）を示す。当該タイマー部１１は、必要に応じて、プリントジョブ処理部１４に参照される。
【００１４】
プリンタインターフェース部１２は、プリンタ３の処理状況をモニターし、プリント状況信号（printstatus）をＬＡＮインターフェース部１３およびプリントジョブ処理部１４に出力する。プリンタ３がプリント処理中（印字中のみならず、あるプリントジョブを継続して処理をしているとき）のときは、プリント状況信号（printstatus）をビジー信号（printstatus=BUSY）にし、紙詰まりや用紙切れなど何らかのトラブルが原因でプリンタ３が停止中のときには、プリント状況信号（printstatus）をストップ信号（printstatus=STOP）する。あるプリントジョブのプリント処理が終了し、新たなプリント処理が可能な状態になったり、トラブルが解消されて、プリンタが復旧し、プリント処理が（再開）可能な状態になると、ビジー信号又はストップ信号からレディ信号（printstatus=READY）に切り替える。
【００１５】
また、プリンタインターフェース部１２は、プリントジョブ処理部１４から１ページ分ずつ入力されるプリントジョブをプリンタ３へ出力し、当該１ページ分のプリント処理が終了したことを通知するページ終了信号がプリンタ３から入力されると、当該信号をプリントジョブ処理部１４に出力し、プリントジョブ処理部１４に対して、次ページのプリントジョブの出力を促す。
【００１６】
ＬＡＮインターフェース部１３は、各端末装置ＴＵ１〜ＴＵＰからＬＡＮ２に送出されたプリントジョブを受信し、受信したプリントジョブをプリントジョブ処理部１４へ出力する。また、プリントジョブを受信した時点で、プリンタインターフェース部１２から出力されているプリント状況信号（printstatus）がストップ信号（printstatus=STOP）のときは、当該プリントジョブを送信した端末装置に向けて、ストップ信号（printstatus=STOP）を送出する。上記したように、ストップ信号を受信した端末装置の表示画面には、プリンタが停止中である旨の表示がなされるので、当該端末の操作者はそのことを知ることができる。
【００１７】
プリントジョブ処理部１４は、図３に示すようなプリントジョブバッファ１４１を有しており、ＬＡＮインターフェース部１４から入力されるプリントジョブを一旦このプリントジョブバッファ１４１に格納する。プリントジョブは、バッファ番号１〜Ｎ番（Ｎは正の整数）で識別される格納場所の内、空いているバッファ（フラグがオフ状態のバッファ）のバッファ番号の最も若い格納場所に格納される。このとき、当該プリントジョブを受信した時刻をバッファ番号で対応付けられた格納領域に格納する（tr[n]←time）と共に、当該プリントジョブに優先度「３」を設定し（priority[n]←３）、バッファ番号に対応するフラグをオンにする。受信時刻（tr[n]）は、受信した時（プリントジョブ処理部１４にプリントジョブが入力された時）に、タイマー部１１から出力されている時刻（time）を参照することにより得られる。なお、優先度は、「３」以外に「２，１，０」の値があり、後述する処理によって、受信時に付与される「３」から「２，１，０」のいずれかの値に変更され得る。優先度は、その値の大きいプリントジョブほど優先して処理される。
【００１８】
プリントジョブ処理部１４は、プリンタ３がトラブルによって停止してから（printstatus=STOP）から復旧するまで（printstatus=READY）所定の時間TSTOP（例えば２０分）以上を要した場合、プリントジョブバッファ１４１に格納されている各プリントジョブの優先度の改定を行う。
改定は、復旧時におけるプリントジョブの「処理待ち時間」、すなわち、復旧時刻（t start）から受信時刻（tr[n]）を減算した値（t start-tr[n]）に応じて、以下のように行う。
【００１９】
処理待ち時間＜TR１    のときは    priority[n]=３  とし、
TR１≦処理待ち時間＜TR２    のときは    priority[n]=２  とし、
TR２≦処理待ち時間＜TR３    のときは    priority[n]=１  とし、
TR３≦処理待ち時間          のときは    priority[n]=０  とする。
ただし、「TR２≦処理待ち時間」であっても、受信時刻がプリンタ３の停止時刻よりも以前である場合には、priority[n]=２とする。ここで、TR１＜TR２＜TR３であり、例えば、TR１＝５分、TR２＝１０分、TR３＝３０分に設定される。また、TSTOP＞TR１であることはもちろんである。
【００２０】
すなわち、処理待ち時間が長いプリントジョブというのは、プリンタ３がトラブルによって停止したにもかかわらず、当該トラブルの解消処置をすることなく長い間放置している操作者のプリントジョブであるということができる。そこで、そのようなプリントジョブほど処理の緊急性が低いとみなして、優先度を低く設定しなおすのである。ただし、受信時刻がプリンタ３の停止時刻よりも以前であるプリントジョブに関しては、その操作者がプリンタ３の停止に気付かなかった可能性が大きいので、優先度を「０」や「１」まで下げることはしないで、下げたとしても、「２」止まりとしている。
【００２１】
少し言い方を変えれば、プリンタ停止後にプリントジョブを送信し、プリンタが停止しているのを知りながら長い間放置している操作者のプリントジョブほど優先度を低くし、そのプリント処理を後回しにする。逆に言うと、プリントジョブを送信してから速やかにトラブルの解消処置をした操作者のプリントジョブほど優先して処理を行うのである。また、プリンタ３の停止から速やかに（TSTOP時間未満に）、トラブルの解消処置が執られた場合は、優先度を変更することなく、原則通り到着順（受付け順）にプリント処理を行うのである。
【００２２】
プリントジョブ処理部１４は、プリント状況信号（printstatus）が、ビジー信号またはストップ信号からレディ信号に切替わると、優先度および受信時刻に基づいて、次にプリント処理を行うプリントジョブ（以下、「次処理ジョブ」と言う。）を決定する。プリントジョブ処理部１４は、先ず、最も高い優先度「３」のプリントジョブを次処理ジョブの候補とし、当該候補の内の最も受信時刻の早いプリントジョブ（最先に到着したプリントジョブ）を次処理ジョブに決定する。優先度「３」のプリントジョブが無い場合は、優先度を一つ下げて「２」とし、同様にして、次処理ジョブを決定する。
【００２３】
優先度「３」および「２」に該当するプリントジョブが無い場合、優先度「１」または「０」のプリントジョブが存在したとしても、それらのプリントジョブの処理は、直には行なわず、保留とする。これらのプリントジョブのプリント処理の緊急性は低いと考えられるので、新たに送信されるプリントジョブの処理を優先させるためである。
【００２４】
なお、優先度が「１」か「０」に設定されているプリントジョブ（保留中のプリントジョブ）の保留解除は、プリンタサーバＴＵＯのキーボードで、保留解除操作がなされると実行される。当該キーボードのファンクションキーの一つが、保留解除キーとして割り当てられており、当該保留解除キーが押下されると、操作入力部１５は、保留解除情報「recall」をプリントジョブ処理部１４に出力する。プリントジョブ処理部１４は、当該保留解除情報「recall」が入力されると、不図示の解除フラグをオンし「recall=ON」、保留中の全てのプリントジョブ（優先度が「１」と「０」のプリントジョブ）の優先度を「２」に上げ、保留を解除する。緊急性が低いとみなし保留扱いとしたプリントジョブに中にも、緊急のプリントジョブが含まれている場合があり、このときには、操作者の意思によって保留を解除できることとしたのである。なお、プリントジョブ処理部１４は、保留解除処理を終了すると解除フラグをオフにする「recall=OFF」。
【００２５】
また、プリントジョブ処理部１４は、トラブルによるプリンタ３の停止が解除された後、所定時間TSTART（例えば１５分）経過すると、優先度が「１」に設定されているプリントジョブの優先度を「２」に上げる処理を行う。プリンタ復旧直後に、新たに送信される緊急のプリントジョブのプリント処理を妨げない範囲（TSTARTの経過）で、保留を解除するのである。
【００２６】
図４〜図７は、プリントジョブ処理部１４による優先度改定処理、次処理ジョブ決定処理および保留解除処理などに関するフローチャートであり、図４はメインルーチンを、図５は優先度改定処理（図４におけるステップＳ１４）のサブルーチンを、図６は次処理ジョブ決定処理（図４におけるステップＳ１６）のサブルーチンを、図７は保留解除処理（図４におけるステップＳ１７）のサブルーチンをそれぞれ示している。なお、当該フローチャートに示す処理をその内容とするプログラムは、プリンタサーバＴＵＯの電源投入の際に起動される。
【００２７】
先ず、図４のフローチャートにおいて、初期設定として、変数「current printstatus」にプリント状況信号（printstatus）の内容の一つである「READY」を格納し（ステップS１）、変数「t stop」に現在時刻「time」を格納し（ステップS２）、変数「t start」に現在時刻「time」を格納する（ステップS３）。
続いて、変数「current printstatus」の格納内容を変数「last printstatus」に格納し（ステップS４）、プリント状況信号（printstatus）の内容（READY、BUSY、STOPのいずれか）を変数「current printstatus」に格納し（ステップS５）、プリントジョブを受信すると（ステップＳ６でＹｅｓ）、プリントジョブバッファ１４１に受信したプリントジョブおよびその他必要な項目を格納し（ステップＳ７）、受信しない場合は（ステップＳ６でＮｏ）、ステップＳ７をスキップして、ステップＳ８に進む。
【００２８】
電源投入直後（プリンタサーバＴＵＯ起動直後）、本メインルーチンが1周（ステップS４から始まってステップS４に戻るまで）するまでの間、上記の設定により変数「last printstatus」と変数「current printstatus」には共に「READY」が格納されている状態なので、ステップS８でＮｏと判断され、ステップＳ１１でＮｏと判断される。ステップＳ１５ではＹｅｓと判断されてステップＳ１６（次処理ジョブ決定処理）とステップＳ１７（保留解除処理）に進むが、プリントジョブバッファ１４１にプリントジョブが格納されていない状態では、次処理ジョブの決定もなされず、保留解除もなされない。
【００２９】
プリントジョブバッファ１４１にプリントジョブが格納されるまで、上記の状態が続く。プリントジョブバッファ１４１にプリントジョブが格納されて、処理すべきジョブが決定され（ステップＳ１６）、当該プリントジョブのプリント処理が開始されると、プリント状況信号（printstatus）は「READY」から「BUSY」に切り替わるので、本メインルーチンのその次の1周では、変数「last printstatus」には「READY」が格納され（ステップS４）、変数「current printstatus」には「BUSY」が格納される（ステップS５）こととなり、ステップS８、S１１、S１５ではいずれもＮｏと判定されて、ステップＳ４に戻る。続く１周では、変数「last printstatus」と変数「current printstatus」には共に「BUSY」が格納されることとなり、ステップS８、S１１、S１５ではいずれもＮｏと判定されて、ステップＳ４に戻る。以降、プリントジョブのプリント処理が継続している間は、変数「last printstatus」と変数「current printstatus」には共に「BUSY」が格納されて、上記の処理が繰り返される。
【００３０】
プリント処理中にプリンタが停止すると、プリント状況信号（printstatus）は、「BUSY」から「STOP」に切り替わるので、本メインルーチンのその次の1周では、変数「last printstatus」には「BUSY」が格納され（ステップS４）、変数「current printstatus」には「STOP」が格納される（ステップS５）こととなり、ステップS８でＹｅｓと判定され、ステップＳ９でＹｅｓと判定されて、ステップＳ１０で現在時刻「time」がプリンタ停止時刻として変数「t stop」に格納されてステップS４にリターンする。それ以降、プリンタが復旧するまでは、変数「last printstatus」と変数「current printstatus」には共に「STOP」が格納されることとなり、ステップS８でＹｅｓ、ステップＳ９でＮｏと判定され、ステップS１０をスキップして、ステップＳ４へリターンする処理が繰り返される。
【００３１】
この状態で、プリンタが復旧すると、プリント状況信号（printstatus）は、「STOP」から「READY」に切り替わるので、本メインルーチンのその次の1周では、変数「last printstatus」には「STOP」が格納され（ステップS４）、変数「current printstatus」には「READY」が格納され（ステップS５）ることとなり、ステップS８でＮｏと判定され、ステップＳ１１でＹｅｓと判定されて、現在時刻「time」がプリンタ復旧時刻として変数「t start」に格納される（ステップS１２）。そして、プリンタ３の停止時から復旧時までの経過時刻「t start-t stop」が所定時間「TSTOP」以上か否かが判断され（ステップＳ１３）、当該経過時間が所定時間未満である場合には（ステップＳ１３でＮｏ）、プリンタ３が停止してから速やかにトラブル解除の処置が執られたと考えられるので、優先度改定処理は行なわれず（ステップＳ１４をスキップ）、ステップＳ１５へ進む。一方、前記経過時間が所定時間「TSTOP」以上であった場合は（ステップＳ１３でＹｅｓ）、優先度改定処理（ステップS１４）が行なわれた上で、ステップS１５へ進む。
【００３２】
この場合、ステップS１５ではＹｅｓと判定されるので、ステップＳ１６で、プリンタ復旧後、最初に処理すべきプリントジョブが決定され（ステップＳ１６）、必要に応じて保留解除がなされた上で（ステップS１７）、ステップＳ４へリターンする。ステップＳ１６で次処理ジョブが決定され、当該ジョブのプリント処理が開始されると、プリント状況信号（printstatus）は、「READY」から「BUSY」に切り替わるので、本メインルーチンのその次の１周では、変数「last printstatus」には「READY」が格納され（ステップS４）、変数「current printstatus」には「BUSY」が格納される（ステップS５）こととなり、ステップS８でＮｏと判定され、ステップＳ１１でＮｏと判定され、ステップＳ１５でＮｏと判定されて、ステップＳ４へリターンする。続く１周では、変数「last printstatus」と変数「current printstatus」には共に「BUSY」が格納されることとなり、ステップS８、S１１、S１５ではいずれもＮｏと判定されて、ステップＳ４に戻る。以降、プリントジョブのプリント処理が継続している間は、変数「last printstatus」と変数「current printstatus」には共に「BUSY」が格納されて、上記の処理が繰り返される。
【００３３】
優先度改定処理を図５に基づいて説明する。
先ず、プリントジョブバッファ１４１（図３）のバッファ番号を特定するための変数「ｎ」に「１」を格納し（ステップＳ１４０１）、バッファ番号１に対応するフラグがオン状態か否か、すなわち、処理対象となるプリントジョブが格納されているか否かを判断する（ステップＳ１４０２）。
【００３４】
フラグがオンの場合は（ステップＳ１４０２でＹｅｓ）、バッファ番号１に格納されているプリントジョブの優先度を、処理待ち時間（t start-tr[1]）の長短によって改定する。すなわち、処理待ち時間が所定時間TR１未満のときは（ステップＳ１４０３でＹｅｓ）優先度を「３」に定め（ステップＳ１４０４）、処理待ち時間がTR１以上TR２未満のときは（ステップＳ１４０５でＹｅｓ）優先度を「２」に定め（ステップＳ１４０６）、処理待ち時間がTR２以上TR３未満のときは（ステップＳ１４０９でＹｅｓ）優先度を「１」に定め、処理待ち時間がTR３以上のときは（ステップＳ１４０９でＮｏ）優先度を「０」に定める。ただし、処理待ち時間がTR２以上であっても（ステップＳ１４０５でＮｏ）、受信時刻（tr[1]）が停止時刻（t stop）よりも前であるときは（ステップＳ１４０７でＹｅｓ）、優先度を「１」または「０」に定めずに「２」とする（ステップＳ１４０８）。
【００３５】
一方、フラグがオフの場合は（ステップＳ１４０２でＮｏ）、変数「ｎ」を１だけインクリメントして（ステップＳ１４１２）、処理対象を変更し、上記と同様の処理を行う。
以降、ステップＳ１４０２〜Ｓ１４１２の処理を、バッファ番号Ｎ番までくり返し、Ｎ番に対する処理が終了すると（ステップＳ１４１３でＹｅｓ）、リターンする。
【００３６】
次処理ジョブ決定処理を図６に基づいて説明する。
先ず、優先度を特定するための変数「ｉ」に３を格納し（ステップＳ１６０１）、バッファ番号１から順に（ステップＳ１６０２、Ｓ１６０６）、フラグがオンされているバッファ番号（ステップＳ１６０３でＹｅｓ）の優先度が３（ｉ＝３）以上か否かを判定し（ステップＳ１６０４）、３以上であると判定されたバッファ番号のプリントジョブを次処理ジョブ候補として一時的に記憶しておく（ステップＳ１６０５）。
【００３７】
バッファ番号Ｎ番まで検索が終了し（ステップＳ１６０７でＹｅｓ）、次処理ジョブ候補が検出されていた場合は（ステップＳ１６０８でＹｅｓ）、その内で最も受信時刻（tr[n]）の早いプリントジョブを次処理ジョブに決定し（ステップＳ１６０９）、リターンする。
一方、バッファ番号Ｎ番まで検索しても（ステップＳ１６０７でＹｅｓ）、優先度３以上に該当するものが無かった場合は（ステップＳ１６０８でＮｏ）、優先度「ｉ」を一つ下げて「２」とし（ステップＳ１６０９）、当該優先度「２」において、上記と同様の処理（ステップＳ１６０１〜Ｓ１６０８）を行う。
【００３８】
優先度「２」において次処理ジョブ候補が検出された場合は（ステップＳ１６０８でＹｅｓ）、やはり、その内で最も受信時刻（tr[n]）の早いプリントジョブを次処理ジョブに決定し（ステップＳ１６０９）、リターンする。
優先度「２」に該当するものも無かった場合には（ステップＳ１６０８でＮｏ）、優先度「１」および「０」について検索することなく（ステップＳ１６１１でＹｅｓ）リターンする。たとえ優先度「１」または「０」のプリントジョブが存在したとしても、それらのプリント処理は保留とするためである。
【００３９】
保留解除処理を図７に基づいて説明する。
バッファ番号１から順に（ステップＳ１７０１、Ｓ１７０９）、フラグがオンされているバッファ番号（ステップＳ１７０２でＹｅｓ）のプリントジョブを対象とし、優先度が１以下に設定されているものについては（ステップＳ１７０３でＹｅｓ）、解除フラグがオンされている場合に限り（ステップＳ１７０４でＹｅｓ）、優先度を「２」に上げて保留状態を解除する（ステップＳ１７０５）。
【００４０】
また、解除フラグがオンされていない場合であっても（ステップＳ１７０４でＮｏ）、優先度が１のプリントジョブについては（ステップＳ１７０６でＹｅｓ）、復旧時から所定時間TSTART経過すると（ステップＳ１７０７でＹｅｓ）、優先度を「２」に上げて保留状態を解除する。
バッファ番号Ｎ番まで、上記の処理が終了すると（ステップＳ１７１０でＹｅｓ）、解除フラグをオフにして（ステップＳ１７１１）（元々オフの場合はそのまま）、リターンする。
【００４１】
以上、本発明を実施の形態に基づいて説明したが、本発明は上記実施の形態の形態に限られないことはもちろんであり、例えば、以下のような形態が考えられる。
（１）上記実施の形態では、優先度を４段階で表わしたが、これに限らず、何段階に表わしてもよい。
（２）上記実施の形態では、受信時刻がプリンタ３の停止時刻よりも以前であるプリントジョブには、優先度を「２」に設定することとしたが、これに限らず、「１」に設定してもよい。要は、処理待ち時間がTR１以上のプリントジョブに設定する予定の優先度（０〜２）の内、最下位の優先度（本例では「０」）を除く優先度を設定するようにするのである。
（３）上記実施の形態では、優先度「０」と「１」のプリントジョブのプリント処理を保留することとしたが、「１」は保留にせず、「０」だけを保留にすることとしてもよい。要は、処理待ち時間がTR１以上のプリントジョブに設定する予定の優先度（０〜２）の内、少なくとも最上位の優先度（本例では「２」）を除いたプリントジョブのプリント処理を保留にするようにするのである。
（４）上記実施の形態では、保留中のプリントジョブ（優先度が「０」と「１」のプリントジョブ）の内、優先度が「１」のプリントジョブについては、プリンタの復旧時（t start）から所定時間（TSTART）経過すると、優先度を「２」に上げて保留解除を行なった。
【００４２】
上記実施の形態では、保留にするプリントジョブの優先度を２段階（「０」と「１」）で表わしたが、もう少し細かく設定してもよく、例えば、Ａ、Ｂ、Ｃ、Ｄ、Ｅの５段階に設定した場合（優先度は、Ａ＞Ｂ＞Ｃ＞Ｄ＞Ｅの順に高いとする。）、プリンタの復旧時（t start）から所定時間（TSTART）経過したときに保留解除対象とするプリントジョブは、「Ａだけ」、「ＡとＢ」、「ＡとＢとＣ」または「ＡとＢとＣとＤ」の内のいずれかとしてもよい。要は、少なくとも最下位の優先度（この場合は「Ｅ」）のプリントジョブを除いたプリントジョブの保留を解除するようにするのである。
（５）上記実施の形態における所定の時間、すなわち、TR１、TR２、TR３、TSTARTおよびTSTOPの値は適宜変更されることは言うまでもない。例えば、TSTOPの値は、プリンタが設置されているオフィスが広く、各端末装置からプリンタまでの平均距離が長いと大きめに設定されるし（トラブル解消のためプリンタまで行くのに時間がかかるため）、新型のプリンタが設置された場合なども大きめに設定される（操作者が紙詰まり等の処理に慣れておらず、トラブルの解消に手間取ることが予想されるため）。
（６）上記実施の形態では、プリントジョブ毎に受付時刻を記憶し、プリンタがトラブルから復旧すると、前記受付時刻と復旧時刻とから、各プリントジョブの受付か復旧までの経過時間（t start−tr[n]）を求めることとしたが、前記経過時間の求め方はこれに限られない。例えば、プリントジョブを受け付けると、各プリントジョブ毎にタイマーによる計時を開始し、プリンタが復旧するとその時点での計時結果を前記経過時間とするようにしてもよい。要は、各プリントジョブの受付時から任意の時（復旧時）までの経過時間を計時する手段を備えていればよいのである。
（７）上記実施の形態では、パソコンをプリンタサーバに用いることとしたが、これに限らず、パソコンに代えてプリンタサーバ専用機を用いてもよい。
【００４３】
あるいは、パソコン（プリンタサーバ）とプリンタに代えて、ネットワーク対応プリンタ、すなわち、プリンタサーバ内蔵型のプリンタを用いてもよい。
【００４４】
【発明の効果】
以上説明したように、本発明に係るプリンタ制御装置によれば、プリンタのトラブルによるプリント処理の中断が第１の時間以上継続すると、当該トラブルが復旧した時から遡って第２の時間以内に受付けた第１のジョブグループに、それよりも以前に受付けた第２のジョブグループよりも高い優先度が設定され、優先度の高いプリントジョブが優先度の低いプリントジョブに優先してプリント処理がなされる。第２のジョブグループのプリントジョブの送信者は、第１のジョブグループのプリントジョブの送信者よりも長時間、プリンタのトラブルを解消せずに放置していた可能性が高いと言える。すなわち、第２のジョブグループのプリントジョブは、第１のジョブグループのプリントジョブよりもプリント処理の緊急性が低いと考えられる。逆に言うと、第１のジョブグループのプリントジョブは、第２のジョブグループのプリントジョブよりも急ぎのプリントジョブであると考えられ、本発明に係るプリンタ制御装置では、受付け順序にかかわらず、処理を急ぐプリントジョブ（第１のジョブグループのプリントジョブ）が、そうではないプリントジョブ（第２のジョブグループのプリントジョブ）に優先してプリント処理がなされることとなる。
【図面の簡単な説明】
【図１】プリンタシステムの全体構成を示す図である。
【図２】プリンタサーバの機能ブロック図の一部を示す図である。
【図３】プリントジョブバッファを示す図である。
【図４】プリントジョブ処理部の行うメインルーチンのフローチャートを示す図である。
【図５】上記メインルーチンにおける優先度改定処理のサブルーチンのフローチャートを示す図である。
【図６】上記メインルーチンにおける次処理ジョブ決定処理のサブルーチンのフローチャートを示す図である。
【図７】上記メインルーチンにおける保留解除処理のサブルーチンのフローチャートを示す図である。
【符号の説明】
ＴＵ０    プリンタサーバ
ＴＵ１〜ＴＵＰ    端末装置
３    プリンタ
１１    タイマー部
１４    プリントジョブ処理部
１５    操作入力部
１４１    プリントジョブバッファ
【図１】
0004189564.tif 000002
【図２】
0004189564.tif 000003
【図３】
0004189564.tif 000004
【図４】
0004189564.tif 000005
【図５】
0004189564.tif 000006
【図６】
0004189564.tif 000007
【図７】
0004189564.tif 000008