JP3900981B2 - Print job resubmission method when spool is full - Google Patents

Print job resubmission method when spool is full Download PDF

Info

Publication number
JP3900981B2
JP3900981B2 JP2002076505A JP2002076505A JP3900981B2 JP 3900981 B2 JP3900981 B2 JP 3900981B2 JP 2002076505 A JP2002076505 A JP 2002076505A JP 2002076505 A JP2002076505 A JP 2002076505A JP 3900981 B2 JP3900981 B2 JP 3900981B2
Authority
JP
Japan
Prior art keywords
print job
spool
print
information
area
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.)
Expired - Fee Related
Application number
JP2002076505A
Other languages
Japanese (ja)
Other versions
JP2003271365A (en
Inventor
仁 小島
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2002076505A priority Critical patent/JP3900981B2/en
Publication of JP2003271365A publication Critical patent/JP2003271365A/en
Application granted granted Critical
Publication of JP3900981B2 publication Critical patent/JP3900981B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はスプールフル時の印刷ジョブ再投入方式に関する。
【0002】
UNIX(登録商標)のようなOS(Operating System) において印刷を行うサーバでプリントサービスを行う際にデータをスプール領域に格納するが,スプール領域がフル状態になるとプリントの実行に必要な情報を作成することができなくなってしまい,その解決が望まれている。
【0003】
【従来の技術】
UNIXのOSの基本機能として,印刷を行うためのジョブの管理・制御をする機能の総称してLPプリントサービスがある。このLPプリントサービスの機能の主なものに次の▲1▼〜▲3▼のような機能がある。
【0004】
▲1▼lp:LPプリントサービスにリクエストを送信する機能。
【0005】
▲2▼lpstat:LPプリントサービスの状態に関する情報を表示する機能。
【0006】
▲3▼lpsched :LPリクエストスケジューラ(プリンタスケジューラ,LPスプーラ等とも呼ばれる)。システムが常駐するプロセスで,lpによって送信されたリクエストを管理・制御する。
【0007】
このプリントサービスを実行する場合の動作を図6により説明する。図6は従来例の構成図であり,これはスプール領域を有するUNIXサーバとプリンタ装置の構成を備えた印刷システムである。図中,50はホスト,51はUNIXのサーバ,52は受信部,53はOSのジョブ管理の機能であるスプール(Simultaneous peripheral operaion online)機能を実現するためのスプール領域,54は印刷ジョブ投入部,55はLPプリントサービス部,56はプリンタ装置である。
【0008】
ホスト50からサーバ51に印刷のコマンドが投入され,データが転送されると,受信部52が起動されて転送データを受信する。受信部52は受信した転送データをスプール領域53に保存すると共に印刷ジョブ投入部54を起動する。印刷ジョブ投入部54は起動されるとLPプリントサービス部55に対して印刷ジョブを投入する。なお,「印刷ジョブの投入」という用語と同じ意味の用語として「リクエストの送信」が使われる場合があるが,この説明では「印刷ジョブの投入」を使用する。LPプリントサービス部55はこれにより,LPプリントサービス部55自身が各々のジョブを管理・制御するために必要な情報を,転送データと同じスプール領域53にファイルとして書き込む動作を行う。この印刷ジョブを管理・制御するために必要な情報(以下,印刷ジョブ管理情報という)には,ジョブを印刷するプリンタ(ジョブの出力先)や,ジョブのタイトル,ジョブの入力形式等が含まれる。このLPプリントサービス部55による印刷ジョブ管理情報の書き込みが行われると,印刷ジョブが実行可能となる。
【0009】
【発明が解決しようとする課題】
上記LPプリントサービスとスプール領域を有するサーバとプリンタ装置を備えた従来の印刷システムでは,ホストからサーバに印刷コマンドを投入してデータ転送が正常に完了すると,ホストからみれば印刷ジョブが投入されたものと見なしていた。ところが,データの転送が完了した時に,スプール領域がフル(満杯)になった場合,データ転送が正常に完了しているためホストに対し何ら通知しないが,その後に印刷ジョブ投入部54が起動して印刷ジョブの投入でLPプリントサービス部55による印刷ジョブ管理情報を書き込もうとしてもスプール領域53がフル状態のため,書き込むことができない。この場合,印刷ジョブの投入に失敗したことになるが,ホスト50ではデータ転送が完了しているため,印刷ジョブを投入できたものと解釈しているため,その後印刷が行われないと,印刷ジョブが投入できたのに印刷されない状態(何らかのエラーの発生状態)と判断されてしまう。
【0010】
この状態は,まだ印刷されていない印刷ジョブを順番に印刷(先行してスプール領域にデータが格納された印刷ジョブを実行)させてスプール領域53に空き領域を作るか,印刷を取り止めるために印刷ジョブを削除するかによって解除できる。しかし,この状態を確認してから,再度サーバに対しデータを転送するという動作を実行しなければならない。
【0011】
本発明はスプールフルのために印刷ジョブの投入に失敗しても,自律的に投入を実現することができるスプールフル時の印刷ジョブ再投入方式を提供することを目的とする。
【0012】
【課題を解決するための手段】
図1は本発明の基本構成図である。図中,1はサーバ,2はホスト,3はプリンタ装置である。サーバ1内の1aは転送データ受信部,1bはスプール領域,1cは印刷ジョブ投入部,1dはプリントサービス部,1eは本発明により設けたスプールフル時に印刷ジョブのパラメタ情報を格納する実行情報領域,1fは本発明により設けたスプールフル時印刷ジョブ投入部である。
【0013】
本発明でホスト2からサーバ1に対してデータ転送が実行されると,転送データ受信部1aにより受信データをスプール領域1bに格納し(図1のa),印刷ジョブ投入部1cを起動する(図1のb)。印刷ジョブ投入部1cは,転送データ受信部1aからの起動された条件(印刷コマンド実行のパラメタ)にしたがって,プリントサービス部1dに対してlp(印刷コマンド)を実行させて(図1のc),次のプリントサービス部1dに対し印刷ジョブの投入を行わせる。プリントサービス部1dは印刷ジョブ投入部1cのlp(印刷コマンド)の実行により印刷ジョブを投入する。プリントサービス部1dが印刷ジョブを投入する際の印刷ジョブの情報は,印刷ジョブの実行を管理・制御するための情報(LP情報と呼ばれる)であり,スプール領域1bに格納される(図1のd)。その管理・制御の情報は,後述するlpパラメタ情報とは異なる。
【0014】
プリントサービス部1dによる印刷ジョブの投入によるスプール領域1bへのLP情報の格納が,スプールフルのために失敗すると,印刷ジョブ投入部1cに対して返す実行結果を失敗として表示する(図1のe)。この実行結果を受けとると,印刷ジョブ投入部1cは実行情報領域1eに印刷ジョブの実行情報(lpパラメタ情報とも呼ばれる)を格納する(図1のf)。一方,スプールフル時印刷ジョブ投入部1fは,実行情報領域1eを監視して(図1のg),そこに実行情報が格納されると,その情報に従い,印刷(lp)を最初に実行されたパラメタと全く同じパラメタで再実行する(図1のh)。この時の印刷(lp)の実行結果が,成功を表して(図1のi),印刷ジョブが正常に投入去れた場合,実行情報領域1eから,該当する印刷ジョブに対応する実行情報(lpパラメタ情報)を削除する。また,再投入の時にスプールフルのために印刷ジョブ(lp)が失敗すると,実行情報領域1eの内容はそのまま保持される。こうして,スプールフル時印刷ジョブ投入部1fは,全ての実行情報(lpパラメタ情報)が無くなるまで再投入を試みる。
【0015】
この構成により,スプールフル時のために印刷ジョブの投入に失敗しても,データを失わず,スプール領域に空き領域ができるまで印刷ジョブの再投入を何度でも試みることができる。
【0016】
【発明の実施の形態】
図2は本発明の実施例の構成を示す。図中,1,2,3の各符号は上記図1と同じものを表し,サーバ1内の10〜15は名称が一部異なるがそれぞれの機能は図1の1a〜1fに対応し,10は転送データ受信部,11はスプール領域,12は印刷ジョブ投入部,13はLPプリントサービス部,14はlp実行情報領域,15はスプールフル時印刷ジョブ投入部である。また,16はデータをプリンタに最適な形式に変換し,変換したデータをドライバを経由してプリンタ装置に送信する処理を行うフィルタ,17はプリント出力の処理を行うドライバである。
【0017】
転送データ受信部10はシステム常駐型の処理部であり,ホスト2(データを転送する処理部)からのデータ転送を待ち,データが転送されると,最初にデータをスプール領域11にスプールする。次に印刷ジョブ投入部12が転送データ受信部10の子プロセスとして起動され,起動された条件(後述するlp実行で指定するパラメタと同じ)に従って,LPプリントサービス部13に対してlpを実行することにより印刷ジョブを投入する。この時に実行されるlpコマンドの例を以下に示す。
【0018】
/usr/bin/lp -H hold -T SIA -t "JOBNAME / JOBNO / DISCNO" -d A -y class=A -y rmfile /var/opt/FJSVnlp/prtdata/JOBNAME/JOBDATA
このコマンドは多数のパラメタで構成され, 以下に概説する。
「/usr/bin/lp 」というパラメタはlpコマンドを表し,「-H hold 」は印刷ジョブをホール状態で送信,ホールド解除の指示があるまで他の印刷ジョブを先に印刷することを表す。「-T SIA」は受信データの入力形式を表し,LPプリントサービス部はこの入力形式から最適なフィルタを選択する機能を持つ。「 -t "JOBNAME / JOBNO / DISCNO"」は印刷ジョブのタイトルを表し,「-d A 」は出力先のプリンタ名で,予めLPプリントサービス部に登録されたソフト上の仮想プリンタを示す。実際には仮想プリンタと実機プリンタデバイスとが(ID等により)1対1で対応付けられる。「-y class=A」の「-y」パラメタはユーザ定義パラメタであり,“-y xxxx = yyyy ”または“-y zzzz ”のような形式でLPプリントサービス部13に登録しておく。このパラメタは出力クラス(ホスト上ではライタ名)を示す。「-y rmfile 」はジョブを印刷した後にファイルを削除することを指示するためのパラメタで, 「var/opt/FJSVnlp ……JOBDATA 」はスプールフル領域に格納された受信データを表す。
【0019】
このlpのコマンドの実行結果が,LPプリントサービス部13から返ってくるが,その実行結果の中のlpの終了値が0の場合は正常に印刷ジョブが投入されたことを表し,lpの終了値が0以外の場合は,スプールフルのために印刷ジョブ投入に失敗したことを表す。スプールフルのため印刷ジョブ投入が失敗の場合は,lp実行情報領域14にlpを実行した際のパラメタ情報(以下,lpパラメタ情報と呼ぶ)を格納する。
【0020】
上記のlpコマンドの例の場合,lp実行情報領域14に保存されるパラメタは,「-H hold 」以下の全てのパラメタである。
【0021】
また,lpパラメタ情報は次の例に示すようなファイル名で保存される。
【0022】
「NPSRetryLp プロセス ID.実行時刻」
この中の「NPSRetryLp 」は見出しで, 「プロセスID」は最初に印刷ジョブ投入部が実行された時のプロセスのプロセスIDであり,プロセスIDはUNIXシステムが各プロセスを管理するための識別子でありユニークな数値である。このプロセスIDがないと,同時(同じ時刻)に印刷ジョブ投入部が実行された時,片方のlpパラメタ情報はなくなってしまう。「実行時刻」は,最初に印刷ジョブ投入部12が実行された時の時刻で,UNIXシステムはシステムがリセット(サーバマシンの電源を切断して再投入した場合などを指す)前に保存しておいたlpパラメタ情報が(上書きされるため)なくなってしまう。
【0023】
LPプリントサービス部13はシステム常駐型の処理部であり,LPプリントサービスの1機能であるlpコマンドによって印刷ジョブを投入する。この投入する際の印刷ジョブの情報は,LP情報としてスプール領域11に格納される。このLP情報は,LPプリントサービス部13が印刷ジョブの管理・制御をするための情報であり,上記印刷ジョブ投入部12で説明したlpパラメタ情報とは異なる内容を保存する。LP情報がスプール領域11へ格納されて,印刷ジョブが正常に投入された場合,LPプリントサービス部13の1機能であるLPリクエストスケジューラがこの情報を監視し,順次印刷ジョブをフィルタ16に印刷指示する。LPプリント情報が,スプール領域11に格納できない場合,スプールフルとしてlpを通じて印刷ジョブ投入失敗を印刷ジョブ投入部12に通知する。
【0024】
図3はスプール領域に格納されるLP情報の例を示す。この中のC,D,F,,H,P,T…の符号はそれぞれ情報の種類を表す。
【0025】
スプールフルのため印刷ジョブが投入できなかった場合,印刷ジョブ投入部12によってlpパラメタ情報がlp実行情報領域14に格納される。同時にこのことは,lpパラメタ情報が格納された時,スプールフルのために投入に失敗した印刷ジョブがあることを示す。
【0026】
図4は印刷ジョブ投入部の処理フローである。図4には上記の実例として挙げたlpコマンドの例について示され,最初にlpを実行し(図4のS1),実行結果を取得する(同S2)。このlp実行結果は,子プロセスとして起動された印刷ジョブ投入部12の終了値を取得することで得られる。この実行結果が正常終了であるか判別する(図4のS3)。これはlp実行結果の印刷ジョブ投入部の終了値が0か(正常に終了したか),否かを判定する。0(正常終了)の場合は処理を終了するが,0以外(印刷ジョブ投入失敗)の場合は,先ずプロセスIDを取得する(図4のS4)。このプロセスのプロセスIDは,上記したようにUNIXシステムで管理されており,そこに問い合わせることにより取得できる。次に現在時刻を取得する(同S5)。この時刻は次のファイル名作成の処理(図4のS6)において使用され,続いてlpパラメタ情報の作成の処理が行われる(同S7)。この時,上記S1で実行したパラメタから,印刷ジョブ投入部12について説明したパラメタ情報の例のような形式の情報を作成する。更にlpパラメタ情報をlp実行情報領域14に保存して(同S8),終了する。
【0027】
上記印刷ジョブ投入部の処理フローにおいてスプールフルによる印刷ジョブ投入失敗時にlp実行情報領域にlpパラメタ情報が保存されるとスプールフル時印刷ジョブ投入部による監視及び再投入の処理が行われる。
【0028】
図5はスプールフル時印刷ジョブ投入部の処理フローである。最初にlp実行情報領域に保存されたlpパラメタ情報があるか判別し(図5のS1),情報が無いと後述するS7の処理に移行し,一つでも有る場合はlpパラメタ情報のうち,実行時刻の最も早いものを選ぶ(同S2)。選んだlpパラメタ情報を取得して,印刷ジョブ投入部が実行した時と同じパラメタでlpコマンドを再度実行し(図5のS3),lp実行結果を取得する(同S4)。この実行結果は上記図4のS2と同様にして得られる。その実行結果からlpは正常に終了したか判別し(図5のS5),正常に終了(印刷ジョブ投入が成功)した場合いは該当するlpパラメタ情報を削除する(同S6)。印刷ジョブ投入が失敗したと判別された場合及びステップS6の後,スリープ処理を行う(図5のS7)。このスリープ処理は,スプールフル時印刷ジョブ投入部が常駐型のプロセスで,常に無限ループするプログラムであるため,必要に応じて処理を入れるか,いれないか判断して設定すればよい。頻繁にlpの再実行を試した方が良い場合は,このスリープ処理を入れない方がよいが,スプールフルという状態は,他のジョブが印刷されるか,削除されるかしない限り解除されないので,それほど頻繁に行う必要がない。また,サーバのCPUの負荷を軽減させることを重視する場合は,このスリープ処理は入れた方が良い。
【0029】
次に終了要求が発生しているか判別する(図5のS8)。終了要求は,UNIXシステムの場合は通常はシグナル受信(割り込み処理)であり,システムまたは別のプログラムは正常に終了させるために,スプールフル時印刷ジョブ投入部は,このシグナルに対して割り込み処理(プログラムに従った処理を一時的に中断して,決められた処理を実行する処理)を行う。終了要求が発生している(シグナルを受信している)場合は正常に終了し,終了要求が発生していない(シグナルを受信していない)場合は,S1に戻って処理を繰り返す。
【0030】
(付記1) ホストからの転送データを受信するとスプールに格納して印刷ジョブの投入時に管理情報をスプールに格納する処理を実行するサーバにおけるスプールフル時の印刷ジョブ再投入方式であって,前記サーバは,転送データをスプール領域に格納後に起動して印刷ジョブを投入する印刷ジョブ投入部と,前記印刷ジョブ投入部により起動して印刷ジョブの管理情報を前記スプール領域に格納してプリントの処理を行うプリントサービス部とを備え,前記プリントサービス部に前記スプール領域への格納処理の実行結果を前記印刷ジョブ投入部に通知する手段を設け,前記印刷ジョブ投入部に前記プリントサービス部からの実行結果を受け取り,不成功の場合に前記印刷ジョブのパラメタ情報を他の領域に格納する手段を設け,前記他の領域を監視して印刷ジョブのパラメタ情報が格納されていると前記プリントサービス部に印刷ジョブを再投入する手段を設けたことを特徴とするスプールフル時の印刷ジョブ再投入方式。
【0031】
(付記2) 付記1において,前記印刷ジョブのパラメタ情報には,最初に印刷ジョブが実行された時のプロセスの識別情報と実行時刻とを含むことを特徴とするスプールフル時の印刷ジョブ再投入方式。
【0032】
(付記3) 付記2において,前記印刷ジョブを再投入する手段は,前記他の領域に複数のパラメタ情報が格納されていると,対応する元の印刷ジョブの実行時刻の順に印刷ジョブを再投入することを特徴とするスプールフル時の印刷ジョブ再投入方式。
【0033】
(付記4) 付記1において,前記プリントサービス部は前記スプール領域への格納処理の実行結果として,成功の場合は“0”を設定し,失敗の場合は“0”以外の数値を設定して前記印刷ジョブ投入部に提供することを特徴とするスプールフル時の印刷ジョブ再投入方式。
【0034】
【発明の効果】
本発明によれば,スプールフルにより一旦は印刷ジョブが投入できない状態になっても新たな機構を設けることによりスプール領域に空きができるまで印刷ジョブの再投入を自動的に行うことができる。これにより,効率的な印刷の管理が可能となる。
【図面の簡単な説明】
【図1】本発明の原理構成を示す図である。
【図2】実施例の構成を示す図である。
【図3】スプール領域に格納されるLP情報の例を示す図である。
【図4】印刷ジョブ投入部の処理フローを示す図である。
【図5】スプールフル時の印刷ジョブ投入部の処理フローを示す図である。
【図6】従来例の構成図である。
【符号の説明】
1 サーバ
1a 転送データ受信部
1b スプール領域
1c 印刷ジョブ投入部
1d プリントサービス部
1e 実行情報領域
1f スプールフル時印刷ジョブ投入部
2 ホスト
3 プリンタ装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a print job re-input method when a spool is full.
[0002]
Data is stored in the spool area when a print service is performed on a server that performs printing on an OS (Operating System) such as UNIX (registered trademark). When the spool area becomes full, information necessary for printing is created. It is impossible to do so, and the solution is desired.
[0003]
[Prior art]
As a basic function of the UNIX OS, there is an LP print service as a general term for functions for managing and controlling jobs for printing. The main functions of the LP print service include the following functions (1) to (3).
[0004]
(1) lp: A function for sending a request to the LP print service.
[0005]
(2) lpstat: a function for displaying information related to the status of the LP print service.
[0006]
(3) lpsched: LP request scheduler (also called printer scheduler, LP spooler, etc.). A system-resident process that manages and controls requests sent by lp.
[0007]
The operation when this print service is executed will be described with reference to FIG. FIG. 6 is a configuration diagram of a conventional example, which is a printing system having a configuration of a UNIX server having a spool area and a printer device. In the figure, 50 is a host, 51 is a UNIX server, 52 is a receiving unit, 53 is a spool area for realizing a spool (Simultaneous peripheral operation online) function which is an OS job management function, and 54 is a print job input unit. , 55 is an LP print service unit, and 56 is a printer apparatus.
[0008]
When a print command is input from the host 50 to the server 51 and the data is transferred, the receiving unit 52 is activated to receive the transferred data. The receiving unit 52 saves the received transfer data in the spool area 53 and activates the print job input unit 54. When activated, the print job input unit 54 inputs a print job to the LP print service unit 55. Note that “request transmission” may be used as a term having the same meaning as the term “print job submission”, but in this description, “print job submission” is used. Accordingly, the LP print service unit 55 performs an operation of writing information necessary for the LP print service unit 55 itself to manage and control each job as a file in the same spool area 53 as the transfer data. The information necessary to manage and control this print job (hereinafter referred to as print job management information) includes the printer that prints the job (job output destination), the job title, the job input format, etc. . When the print job management information is written by the LP print service unit 55, the print job can be executed.
[0009]
[Problems to be solved by the invention]
In the conventional printing system having the LP print service, the server having the spool area, and the printer device, when a print command is input from the host to the server and the data transfer is normally completed, a print job is input from the host. It was considered a thing. However, when the data transfer is completed, if the spool area becomes full (full), the data transfer is completed normally and no notification is sent to the host, but the print job input unit 54 is started after that. Even if the print job management information is written by the LP print service unit 55 when the print job is input, the spool area 53 is full and cannot be written. In this case, submission of the print job has failed, but since the host 50 has completed the data transfer, it is interpreted that the print job has been submitted. Even though the job can be submitted, it is determined that it is not printed (a state in which some error has occurred).
[0010]
In this state, print jobs that have not yet been printed are printed in order (execution of a print job in which data is stored in the spool area in advance) to create a free area in the spool area 53, or printing to cancel printing. Can be canceled by deleting the job. However, after confirming this state, the operation of transferring data to the server again must be executed.
[0011]
SUMMARY OF THE INVENTION An object of the present invention is to provide a print job re-input method at the time of spool full that can realize the input autonomously even if the input of a print job fails due to spool full.
[0012]
[Means for Solving the Problems]
FIG. 1 is a basic configuration diagram of the present invention. In the figure, 1 is a server, 2 is a host, and 3 is a printer. 1a in the server 1 is a transfer data receiving unit, 1b is a spool area, 1c is a print job input unit, 1d is a print service unit, and 1e is an execution information area for storing print job parameter information when the spool is full according to the present invention. , 1f is a spool full print job input unit provided by the present invention.
[0013]
When data transfer is executed from the host 2 to the server 1 in the present invention, the transfer data receiving unit 1a stores the received data in the spool area 1b (a in FIG. 1) and starts the print job input unit 1c ( FIG. 1 b). The print job input unit 1c causes the print service unit 1d to execute lp (print command) in accordance with the activated condition (print command execution parameter) from the transfer data reception unit 1a (c in FIG. 1). , The next print service unit 1d is caused to input a print job. The print service unit 1d inputs a print job by executing lp (print command) of the print job input unit 1c. The print job information when the print service unit 1d submits the print job is information (referred to as LP information) for managing and controlling the execution of the print job, and is stored in the spool area 1b (FIG. 1). d). The management / control information is different from the lp parameter information described later.
[0014]
When storing the LP information in the spool area 1b due to the print job input by the print service unit 1d fails due to spool full, the execution result returned to the print job input unit 1c is displayed as failure (e in FIG. 1). ). Upon receiving this execution result, the print job input unit 1c stores the execution information (also called lp parameter information) of the print job in the execution information area 1e (f in FIG. 1). On the other hand, the spool full print job input unit 1f monitors the execution information area 1e (g in FIG. 1), and when execution information is stored in the execution information area 1e, printing (lp) is first executed according to the information. Execute again with exactly the same parameters as in (h in FIG. 1). If the execution result of the printing (lp) at this time indicates success (i in FIG. 1) and the print job is normally submitted, the execution information (lp) corresponding to the corresponding print job is retrieved from the execution information area 1e. Parameter information). If the print job (lp) fails due to spool full at the time of re-input, the contents of the execution information area 1e are held as they are. In this way, the spool full print job input unit 1f tries to input again until all execution information (lp parameter information) is exhausted.
[0015]
With this configuration, even if a print job fails to be submitted because the spool is full, data can be re-submitted as many times as possible until a free area is created in the spool area without losing data.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 shows the configuration of an embodiment of the present invention. In the figure, reference numerals 1, 2, and 3 represent the same as those in FIG. 1, and the names 10 to 15 in the server 1 are partially different, but their functions correspond to 1a to 1f in FIG. Is a transfer data receiving section, 11 is a spool area, 12 is a print job input section, 13 is an LP print service section, 14 is an lp execution information area, and 15 is a print job input section when the spool is full. Reference numeral 16 denotes a filter that converts data into a format optimal for the printer, and transmits the converted data to the printer device via a driver. Reference numeral 17 denotes a driver that performs print output processing.
[0017]
The transfer data receiving unit 10 is a system-resident processing unit that waits for data transfer from the host 2 (processing unit that transfers data). When the data is transferred, the data is first spooled in the spool area 11. Next, the print job input unit 12 is activated as a child process of the transfer data receiving unit 10 and executes lp on the LP print service unit 13 according to the activated condition (the same as the parameter specified by lp execution described later). To submit a print job. An example of the lp command executed at this time is shown below.
[0018]
/ usr / bin / lp -H hold -T SIA -t "JOBNAME / JOBNO / DISCNO" -d A -y class = A -y rmfile / var / opt / FJSVnlp / prtdata / JOBNAME / JOBDATA
This command consists of a number of parameters, outlined below.
The parameter “/ usr / bin / lp” represents the lp command, and “-H hold” represents that the print job is transmitted in the hall state, and another print job is printed first until an instruction to release the hold is given. “-T SIA” represents an input format of received data, and the LP print service unit has a function of selecting an optimum filter from this input format. “-T“ JOBNAME / JOBNO / DISCNO ”” represents the title of the print job, and “-d A” represents the printer name of the output destination, and represents a virtual printer on software registered in advance in the LP print service section. Actually, the virtual printer and the actual printer device are associated one-to-one (by ID or the like). The “-y” parameter of “-y class = A” is a user-defined parameter, and is registered in the LP print service unit 13 in a format such as “-y xxxx = yyyy” or “-y zzzz”. This parameter indicates the output class (writer name on the host). “-Y rmfile” is a parameter for instructing to delete a file after printing a job, and “var / opt / FJSVnlp... JOBDATA” represents received data stored in the spool full area.
[0019]
The execution result of the lp command is returned from the LP print service unit 13. If the lp end value in the execution result is 0, it indicates that the print job has been successfully input and the lp end. A value other than 0 indicates that the print job has failed to be submitted due to spool full. When the print job submission fails due to spool full, parameter information (hereinafter referred to as lp parameter information) when lp is executed is stored in the lp execution information area 14.
[0020]
In the case of the above example of the lp command, the parameters stored in the lp execution information area 14 are all parameters below “−H hold”.
[0021]
Further, the lp parameter information is stored with a file name as shown in the following example.
[0022]
“NPSRetryLp Process ID. Execution Time”
“NPSRetryLp” is the headline, “Process ID” is the process ID of the process when the print job submission unit is first executed, and the process ID is an identifier for the UNIX system to manage each process. It is a unique number. Without this process ID, when the print job input unit is executed at the same time (at the same time), the lp parameter information on one side is lost. The “execution time” is the time when the print job input unit 12 is first executed, and the UNIX system saves it before the system is reset (for example, when the server machine is turned off and then turned on again). The stored lp parameter information is lost (because it is overwritten).
[0023]
The LP print service unit 13 is a system resident processing unit, and submits a print job by an lp command which is one function of the LP print service. The print job information at the time of input is stored in the spool area 11 as LP information. The LP information is information for the LP print service unit 13 to manage and control the print job, and stores contents different from the lp parameter information described in the print job input unit 12. When the LP information is stored in the spool area 11 and the print job is successfully submitted, the LP request scheduler which is one function of the LP print service unit 13 monitors this information and sequentially instructs the filter 16 to print the print job. To do. If the LP print information cannot be stored in the spool area 11, the print job submission failure is notified to the print job submission unit 12 through lp as spool full.
[0024]
FIG. 3 shows an example of LP information stored in the spool area. Of these, the symbols C, D, F, H, P, T... Represent the type of information.
[0025]
If the print job cannot be submitted due to spool full, the print job submission unit 12 stores the lp parameter information in the lp execution information area 14. At the same time, this indicates that there is a print job that has failed to be submitted due to spool full when the lp parameter information is stored.
[0026]
FIG. 4 is a processing flow of the print job input unit. FIG. 4 shows an example of the lp command given as the above example. First, lp is executed (S1 in FIG. 4), and the execution result is acquired (S2). This lp execution result is obtained by acquiring the end value of the print job input unit 12 started as a child process. It is determined whether the execution result is normal termination (S3 in FIG. 4). This determines whether the end value of the print job input part of the lp execution result is 0 (whether it ended normally) or not. If it is 0 (normal end), the process ends. If it is not 0 (print job submission failure), the process ID is first obtained (S4 in FIG. 4). The process ID of this process is managed by the UNIX system as described above, and can be acquired by making an inquiry there. Next, the current time is acquired (S5). This time is used in the next file name creation process (S6 in FIG. 4), followed by the process for creating lp parameter information (S7). At this time, information in a format such as the parameter information example described for the print job input unit 12 is created from the parameters executed in S1. Further, the lp parameter information is stored in the lp execution information area 14 (S8), and the process ends.
[0027]
When the lp parameter information is stored in the lp execution information area when the print job submission failure due to spool full occurs in the processing flow of the print job submission unit, the print job submission unit during spool full performs monitoring and resubmission processing.
[0028]
FIG. 5 is a processing flow of the print job input unit when the spool is full. First, it is determined whether there is lp parameter information stored in the lp execution information area (S1 in FIG. 5), and if there is no information, the process proceeds to S7 described later. The one with the earliest execution time is selected (S2). The selected lp parameter information is acquired, and the lp command is executed again with the same parameters as when the print job submission unit executed (S3 in FIG. 5), and the lp execution result is acquired (S4). This execution result is obtained in the same manner as S2 in FIG. From the execution result, it is determined whether or not the lp has been normally completed (S5 in FIG. 5). If the lp has been normally completed (print job has been successfully submitted), the corresponding lp parameter information is deleted (S6). When it is determined that the print job input has failed and after step S6, a sleep process is performed (S7 in FIG. 5). This sleep process is a resident process with a print job input part when spool is full, and is a program that always loops infinitely, so it can be set by determining whether or not processing is necessary. If it is better to try lp re-execution frequently, it is better not to enter this sleep process. However, the spool full state is not canceled unless another job is printed or deleted. , Don't need to do so often. Also, if it is important to reduce the load on the CPU of the server, it is better to include this sleep process.
[0029]
Next, it is determined whether an end request is generated (S8 in FIG. 5). The termination request is normally a signal reception (interrupt processing) in the case of a UNIX system, and the print job submitting unit at the time of spool full interrupts the signal (interrupt processing) in order to terminate the system or another program normally. The processing according to the program is temporarily interrupted and the predetermined processing is executed). If an end request is generated (a signal is received), the process ends normally. If an end request is not generated (a signal is not received), the process returns to S1 and the process is repeated.
[0030]
(Supplementary Note 1) A print job re-submission method at the time of spool full in a server that executes processing for storing management information in a spool when a transfer data from a host is received and stored in the spool. The print job input unit that starts after the transfer data is stored in the spool area and inputs a print job, and is started by the print job input unit and stores the print job management information in the spool area to perform print processing. A print service unit for performing, and the print service unit is provided with means for notifying the print job input unit of the execution result of the storage processing in the spool area, and the print job input unit includes an execution result from the print service unit Means for storing the parameter information of the print job in another area in the case of unsuccess A print job re-submission method when the spool is full, comprising means for re-submitting the print job to the print service unit when the print job parameter information is stored by monitoring the area of
[0031]
(Supplementary note 2) In Supplementary note 1, the print job parameter information includes the process identification information and the execution time when the print job is first executed, and the print job is re-entered when the spool is full method.
[0032]
(Supplementary note 3) In Supplementary note 2, the means for resubmitting the print job resubmits the print job in order of the execution time of the corresponding original print job if a plurality of parameter information is stored in the other area A print job re-submission method when the spool is full.
[0033]
(Supplementary Note 4) In Supplementary Note 1, the print service unit sets “0” for success and a numerical value other than “0” for failure as the execution result of the storage processing in the spool area. A print job re-submission method when the spool is full, which is provided to the print job input unit.
[0034]
【The invention's effect】
According to the present invention, even if a print job cannot be submitted once due to spool full, a new mechanism can be provided to automatically resubmit the print job until the spool area becomes empty. This makes it possible to manage printing efficiently.
[Brief description of the drawings]
FIG. 1 is a diagram showing a principle configuration of the present invention.
FIG. 2 is a diagram illustrating a configuration of an example.
FIG. 3 is a diagram illustrating an example of LP information stored in a spool area.
FIG. 4 is a diagram illustrating a processing flow of a print job input unit.
FIG. 5 is a diagram illustrating a processing flow of a print job input unit when the spool is full.
FIG. 6 is a configuration diagram of a conventional example.
[Explanation of symbols]
1 Server 1a Transfer data receiving section 1b Spool area 1c Print job input section 1d Print service section 1e Execution information area 1f Print job input section when spool is full 2 Host 3 Printer device

Claims (2)

ホストからの転送データを受信するとスプールに格納して印刷ジョブの投入時に管理情報をスプールに格納する処理を実行するサーバにおけるスプールフル時の印刷ジョブ再投入方式であって,
前記サーバは,転送データをスプール領域に格納後に起動して印刷ジョブを投入する印刷ジョブ投入部と,前記印刷ジョブ投入部により起動して印刷ジョブの管理情報を前記スプール領域に格納してプリントの処理を行うプリントサービス部とを備え,
前記プリントサービス部に前記スプール領域への格納処理の実行結果を前記印刷ジョブ投入部に通知する手段を設け,
前記印刷ジョブ投入部に前記プリントサービス部からの実行結果を受け取り,不成功の場合に前記印刷ジョブのパラメタ情報を他の領域に格納する手段を設け,
前記他の領域を監視して印刷ジョブのパラメタ情報が格納されていると前記プリントサービス部に印刷ジョブを再投入する手段を設けたことを特徴とするスプールフル時の印刷ジョブ再投入方式。
When the transfer data from the host is received, it is stored in the spool, and when the print job is submitted, the management information is stored in the spool.
The server is activated after the transfer data is stored in the spool area, and is activated by the print job input section, and is activated by the print job input section to store the management information of the print job in the spool area. A print service section that performs processing,
Means for notifying the print job input unit of the execution result of the storage processing in the spool area in the print service unit;
A means for receiving an execution result from the print service unit in the print job input unit and storing parameter information of the print job in another area in the case of unsuccess;
A print job re-submission method when the spool is full, comprising means for re-submitting the print job to the print service section when the parameter information of the print job is stored by monitoring the other area.
請求項1において,
前記印刷ジョブのパラメタ情報には,最初に印刷ジョブが実行された時のプロセスの識別情報と実行時刻とを含むことを特徴とするスプールフル時の印刷ジョブ再投入方式。
In claim 1,
The print job re-submission method at the time of spool full, wherein the parameter information of the print job includes process identification information and execution time when the print job is first executed.
JP2002076505A 2002-03-19 2002-03-19 Print job resubmission method when spool is full Expired - Fee Related JP3900981B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002076505A JP3900981B2 (en) 2002-03-19 2002-03-19 Print job resubmission method when spool is full

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002076505A JP3900981B2 (en) 2002-03-19 2002-03-19 Print job resubmission method when spool is full

Publications (2)

Publication Number Publication Date
JP2003271365A JP2003271365A (en) 2003-09-26
JP3900981B2 true JP3900981B2 (en) 2007-04-04

Family

ID=29205255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002076505A Expired - Fee Related JP3900981B2 (en) 2002-03-19 2002-03-19 Print job resubmission method when spool is full

Country Status (1)

Country Link
JP (1) JP3900981B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164526A (en) * 2005-12-14 2007-06-28 Canon Inc Information processing apparatus and method
US8149449B2 (en) * 2007-03-29 2012-04-03 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for print scheduling

Also Published As

Publication number Publication date
JP2003271365A (en) 2003-09-26

Similar Documents

Publication Publication Date Title
JP4124937B2 (en) Print server apparatus, information processing apparatus as client, print management method for these apparatuses, and storage medium
US8009310B2 (en) Print control program, method of controlling printing apparatus, and print control unit
US7382477B2 (en) Information processing apparatus capable of transferring print job to another information processing apparatus, and its control method
EP0809176B1 (en) Printer communication system and method
US6734985B1 (en) Printing apparatus, printing system and method of controlling same
JPH11134142A (en) Printing system
US7315404B2 (en) Monitoring job status for grouped print jobs
JP2002366317A (en) Print system and method and device for print control
JP3900981B2 (en) Print job resubmission method when spool is full
JP3381571B2 (en) Network system
JP3489846B2 (en) Remote printing system
JP3622670B2 (en) Print job management device
JPH0976606A (en) Printing obstacle processing method and printing mechanism
JP2000137585A (en) Printer, printing system and its controlling method
JP3509816B2 (en) Network system and printer server
JP3837863B2 (en) Print processing system, print processing method, and computer-readable recording medium on which print processing control program is recorded
JP3867450B2 (en) Print control apparatus and computer-readable recording medium on which print control program is recorded
US6418456B1 (en) Clean-up of files in a network system
JP3204034B2 (en) Job processing system and printer output method
JP4533435B2 (en) Information processing apparatus, print management method for information processing apparatus, and storage medium
JP3679458B2 (en) Print server, information processing apparatus, printing system, and printing control method
JP2005242741A (en) Information processing device, print system, and print processing method
JP2000267825A (en) Printer controller
JP2007058417A (en) Print system
JPH09231025A (en) Network management device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061225

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees