JP2001109593A - スプールにおける印刷制御方法 - Google Patents

スプールにおける印刷制御方法

Info

Publication number
JP2001109593A
JP2001109593A JP28366199A JP28366199A JP2001109593A JP 2001109593 A JP2001109593 A JP 2001109593A JP 28366199 A JP28366199 A JP 28366199A JP 28366199 A JP28366199 A JP 28366199A JP 2001109593 A JP2001109593 A JP 2001109593A
Authority
JP
Japan
Prior art keywords
print data
print
printer
entry
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.)
Pending
Application number
JP28366199A
Other languages
English (en)
Inventor
Shiro Shimaoka
司郎 島岡
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP28366199A priority Critical patent/JP2001109593A/ja
Publication of JP2001109593A publication Critical patent/JP2001109593A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

(57)【要約】 【課題】本発明は、連続した印刷が要求される大量のデ
ータを即時性を損なうことなく同一のプリンタに連続し
て印刷することのできるスプールを提供することを目的
とする。 【解決手段】アプリケーションからの印刷データの印刷
要求を受け付け、この受け付けた印刷データをプリンタ
に印刷させる印刷制御を行うスプールにおいて、アプリ
ケーションから連続した印刷の要求を受けた複数の印刷
データを連続して同一のプリンタに印刷させるために、
アプリケーションから連続した印刷の指定を受けた複数
の印刷データをリンクして管理し、これらリンクした複
数の印刷データをリンクした順番に同一プリンタに連続
して印刷させることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、サーバ計算機にお
けるスプールの改良に関する。
【0002】
【従来の技術】一般に、サーバ計算機システムにおい
て、サーバ計算機自身におけるアプリケーションプログ
ラム又はクライアント計算機におけるアプリケーション
プログラムでプリンタにて印刷出力するデータが発生し
た場合には、その印刷データをスプールと呼ばれるプロ
グラムに転送し、以後のプリンタへの印刷制御をこのス
プールに行わせている。このようにスプールに印刷制御
を委託することで、アプリケーションプログラムは他の
処理を始めることできるため、アプリケーションプログ
ラムの処理効率を高めることができる。
【0003】このようなスプールを採用している場合、
アプリケーションプログラムで発生した1つのプリンタ
において連続して出力することが要求されている大量の
印刷データを印刷する場合には、スプールに印刷データ
が全て転送されるまではスプールが印刷を開始しないた
め、スプールが即時性の要求されるアプリケーションプ
ログラムに対応できないという問題があった。
【0004】また、このような場合に、スプールを使用
しなければ、印刷の即時性に対応できるが、次のような
問題が生じてしまう。まず、印刷をするプリンタはその
アプリケーションプログラムに占有されてしまうため、
他のアプリケーションプログラムが印刷をするために更
にプリンタを用意する必要がある。また、スプールを使
用しないため、印刷時のエラー処理をアプリケーション
プログラムに実装する必要がある。アプリケーションプ
ログラムの処理とプリンタの印刷処理との間に速度差が
ある場合には、プリンタでの印刷が終了するまではアプ
リケーションプログラムが他の処理をすることができな
い。更に、アプリケーションプログラムが実行されてい
るコンピュータ以外のコンピュータに接続されているプ
リンタには印刷ができない。
【0005】
【発明が解決しようとする課題】本発明はこのような問
題を解決するためになされたもので、連続した印刷出力
の要求される大量のデータを即時性を損なうことなく同
一のプリンタに連続して印刷することができるスプール
を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は、アプリケーシ
ョンからの印刷データの印刷要求を受け付け、この受け
付けた印刷データをプリンタに印刷させる印刷制御を行
うスプールにおいて、前記アプリケーションから連続し
た印刷の要求を受けた複数の印刷データを連続して同一
のプリンタに印刷させるために、前記アプリケーション
から連続した印刷の指定を受けた複数の印刷データをリ
ンクして管理し、これらリンクした複数の印刷データを
リンクした順番に同一プリンタに連続して印刷させるこ
とを特徴とする。
【0007】このような構成によれば、連続した印刷出
力の要求される大量のデータを即時性を損なうことなく
同一のプリンタに連続して印刷することができる。ま
た、本発明は、前記アプリケーションから連続した印刷
の要求を受けた複数の印刷データにその印刷後に保存す
ることが指定された場合、その印刷データは印刷後に保
存することを特徴とする。
【0008】このような構成によれば、プリンタに障害
が発生した際に再印刷をすることが出きる。更に本発明
は、印刷データの印刷要求を受け付け、この受け付けた
印刷データをプリンタに印刷させる印刷制御を行う第1
のスプールと第1のプリンタとを持つ第1のサーバ計算
機と、印刷データの印刷要求を受け付け、この受け付け
た印刷データをプリンタに印刷させる印刷制御を行う第
2のスプールと第2のプリンタとを持つ第2のサーバ計
算機とからなるシステムにおいて、前記第1のスプール
は、連続した印刷の要求を受けた複数の印刷データを連
続して同一のプリンタに印刷させるために、前記連続し
た印刷の指定を受けた複数の印刷データをリンクして管
理するとともに、その印刷するプリンタが前記第2のプ
リンタと指定されている場合、このリンクして管理した
複数の印刷データを前記第2のスプールに対して印刷要
求し、前記第2のスプールは、前記第1のスプールから
連続した印刷の要求を受けた複数の印刷データを連続し
て第2ののプリンタに印刷させるために、前記連続した
印刷の指定を受けた複数の印刷データをリンクして管理
し、これらリンクした複数の印刷データをリンクした順
番に第2のプリンタに連続して印刷させることを特徴と
する。
【0009】このような構成によれば、連続した印刷出
力の要求される大量のデータを即時性を損なうことな
く、リモートのサーバ計算機に接続された同一のプリン
タに連続して印刷することができる。
【0010】更に本発明は、アプリケーションからの印
刷データの印刷要求を受け付け、この受け付けた印刷デ
ータをプリンタに印刷させる印刷制御を行うスプールに
おいて、前記アプリケーションから印刷の要求を受けた
印刷データにおいて先頭から所定ページ分の印刷データ
を第1の印刷データとして管理するとともに、この第1
の印刷データをプリンタに印刷させている際に、前記プ
リンタでの印刷が残りt秒以内に終了すると判断した場
合、前記アプリケーションから印刷の要求を受けた印刷
データのうち前記第1の印刷データ以後の印刷データを
所定の単位で区切り、この区切った第2の印刷データを
前記第1の印刷データの後に連続して前記プリンタに印
刷させるために前記第1の印刷データとリンクして管理
し、前記第2の印刷データを前記プリンタにおいて前記
第1の印刷データの後に連続して印刷させることを特徴
とする。
【0011】このような構成によれば、連続した印刷出
力の要求される大量のデータを即時性を損なうことなく
連続して同一のプリンタにそのプリンタを停止させるこ
となく、または停止の頻度を小さくして印刷することが
できる
【0012】
【発明の実施の形態】以下、図面を参照して本発明の第
1の実施形態について説明する。本発明では、チェーン
ドジョブという概念を導入することで、上記発明の目的
を達成するものである。以後の説明では、アプリケーシ
ョンプログラム11が作成した印刷データの1つの集ま
りをレポートと呼ぶ。従って、スプールは、アプリケー
ションプログラムから印刷の指示を受けた複数のレポー
トを管理して印刷制御を行うものである。アプリケーシ
ョンプログラム11が作成したレポートのうち、1つの
プリンタにおいて連続して印刷することを保証するため
にそれらをリンクさせたものをチェーンドジョブと呼
ぶ。例えば、3つのレポートを1つのプリンタにおいて
連続して印刷することが必要な場合、この3つのレポー
トをチェーンドジョブと呼ぶ。また、このチェーンドジ
ョブに対して、従来の一般のレポートをノーマルジョブ
と呼ぶ。
【0013】図1は、本発明の実施形態の構成を示すシ
ステムブロック図である。サーバ計算機10は、アプリ
ケーションプログラム11と印刷のスプール機能を実現
するプログラムであるスプール12とがインストールさ
れている。サーバ計算機10に接続された磁気ディスク
装置13はスプール12がアプリケーションプログラム
11から受け取った印刷データを記録保存するためのフ
ァイル装置として機能する。サーバ計算機10に接続さ
れたプリンタ14は、スプール12の制御に基づいてス
プール12から与えられる印刷データを印刷するために
設けられている。サーバ計算機10には便宜上1台のプ
リンタ13だけが接続されているように図示されている
が、複数のプリンタが接続されるものとする。サーバ計
算機15はサーバ計算機10に図示しないネットワーク
を介して接続されている。このサーバ計算機15は、サ
ーバ計算機10に対してのリモートコンピュータとして
位置付けられている。このサーバ計算機15には、スプ
ール16が実装されているとともに、スプール16が受
け取った印刷データを記録保存するためのファイル装置
として機能する磁気ディスク装置17とスプール16の
制御に基づいてスプール16から与えられる印刷データ
を印刷するために設けられたプリンタ18とが接続され
ている。スプール12には、アプリケーションプログラ
ム11から印刷の指示を受けた印刷データの集まりであ
るレポートを管理するためのレポート管理テーブル12
1、プリンタ14を管理するためのプリンタ管理テーブ
ル122、リモートコンピュータを管理するためのリモ
ートコンピュータ管理テーブル123とが設けられてい
る。
【0014】レポート管理テーブル121は、図2に示
すように管理テーブルヘッダ121aとエントリ部12
1bとから構成されている。図2において、エントリ部
121bは例えば100個のエントリが設けられてい
る。各エントリは図3に示すように、エントリヘッダ部
121b1とエントリ本体部121b2とから構成され
ている。エントリとは、スプール12がアプリケーショ
ンプログラムから印刷の指示を受けた各印刷データの集
まりであるレポートの管理情報を記録する場所である。
この実施形態では、エントリ部121bの各エントリに
は、図4に示すように各レポートの管理情報が記録され
ているものとする。図4において、各エントリの左側に
記入した番号は、エントリ番号を示している。
【0015】図4に図示したように、エントリ番号1に
はレポートAに関する管理情報が記録されている。同様
にエントリ番号2から4の各エントリには、それぞれレ
ポートB〜レポートDの管理情報が記録されている。ま
た、エントリ番号24のエントリには、レポートEの管
理情報が記録されており、エントリ番号25のエントリ
には、レポートFの管理情報が記録されている。更に、
エントリ番号5のエントリには、チェーンドジョブA1
の管理情報が記録されており、エントリ番号15のエン
トリには、チェーンドジョブA2の管理情報が記録され
ており、エントリ番号23のエントリには、チェーンド
ジョブA3の管理情報が記録されている。尚、図示しな
いが、エントリ番号6から14及びエントリ番号16か
ら22の各エントリにもレポートの管理情報が記録され
ているものとする。そして、エントリ番号26からエン
トリ番号100の各エントリには、何も管理情報が記録
されておらず、それらの各エントリは未使用状態になっ
ている。
【0016】図5は、管理テーブルヘッダ121aの詳
細を示す図である。管理テーブルヘッダ121aには、
エントリ部121bに関する次のような各項目の情報が
記録されている。この記録される情報の項目は、総エン
トリ数、使用エントリ数、空きエントリ数、最初の使用
エントリ番号、最後の使用エントリ番号、最初の空きエ
ントリ番号、最後の空きエントリ番号、エントリ生成番
号である。
【0017】総エントリ数とは、エントリ部121bを
構成するエントリの数を示しており、100と登録され
ている。使用エントリ数は、エントリ部121bにおい
て、管理情報が記録されており、使用されているエント
リの数を示しており、25と登録されている。空きエン
トリ数は、管理情報が記録されていない未使用のエント
リの数を示しており、75と登録されている。最初の使
用エントリ番号は、使用されているエントリの一番はじ
めのエントリの番号を示すもので、図4の場合には、1
と登録されている。最後の使用エントリ番号は、使用さ
れているエントリの最後のエントリの番号を示すもの
で、図4の場合には、25と登録されている。最初の空
きエントリ番号とは、未使用のエントリの一番はじめの
エントリ番号を示すもので、図4の場合には26と登録
されている。最後の空きエントリ番号とは、未使用のエ
ントリの最後のエントリ番号を示すもので、図4の場合
には100と登録されている。エントリ生成番号とは、
エントリに管理情報が登録された際にエントリを一意に
識別するためにスプール12が生成する番号であり、新
たにエントリが登録されるたびに+1(インクリメン
ト)されるものである。図5においては、現在の生成番
号は130と登録されている。
【0018】図6には、各エントリのエントリヘッダ部
121b1の構造を図示している。このエントリヘッダ
部121b1には、そのエントリに関する次のような各
項目の情報が記録されている。この記録される情報の項
目は、エントリステータス、次のエントリ番号、前のエ
ントリ番号、チェーンドジョブに対する次のエントリ番
号、チェーンドジョブに対する前のエントリ番号、チェ
ーンドジョブ数、エントリ生成番号である。
【0019】エントリステータスには、エントリの状態
を示す情報を記録する。具体的には、「使用中」、「未
使用」、「作成中」である。次のエントリ番号には、レ
ポート管理テーブル121に登録されている次のエント
リのエントリ番号を示す情報を記録する。もし、そのエ
ントリが最後のエントリである場合には、それらのこと
を示す特別な値を登録する。前のエントリ番号には、レ
ポート管理テーブル121に登録されている前のエント
リのエントリ番号を示す情報を記録する。もし、そのエ
ントリが最初のエントリである場合には、それらのこと
を示す特別な値を登録する。チェーンドジョブに対する
次のエントリ番号には、そのエントリがチェーンドジョ
ブの場合に、次のチェーンドジョブのエントリ番号を示
す情報を記録する。もし、そのチェーンドジョブが最後
のチェーンドジョブである場合には、それらのことを示
す特別な値を登録する。チェーンドジョブに対する前の
エントリ番号には、そのエントリがチェーンドジョブの
場合に、前のチェーンドジョブのエントリ番号を示す情
報を記録する。もし、そのチェーンドジョブが最初のチ
ェーンドジョブである場合には、それらのことを示す特
別な値を登録する。チェーンドジョブ数には、そのエン
トリがチェーンドジョブの場合でかつ先頭のチェーンド
ジョブである場合に、そのエントリを含めていくつのチ
ェーンドジョブがリンクしているかを示す数を登録す
る。エントリ番号生成番号には、そのエントリに対して
スプール121が生成したエントリ番号生成番号を登録
する。
【0020】図7には、各エントリのエントリ本体部1
21b2の構造を図示している。このエントリ本体部1
21b2には、そのエントリに関する次のような各項目
の情報が記録されている。この記録される情報の項目
は、コンピュータ名、プリンタ名、ジョブ種別、チェー
ンドジョブ種別、チェーンドジョブ識別子、チェーンド
ジョブシーケンス番号、保存属性である。尚、従来のス
プールにおいてエントリ本体部に記録される情報、例え
ばそのエントリの優先度情報等についての図示は省略し
ている。
【0021】コンピュータ名には、そのエントリに対応
するレポートを印刷するプリンタが接続されているコン
ピュータ名を示す情報を記録する。プリンタ名には、そ
のエントリに対応するレポートを印刷するプリンタを示
す情報を記録する。ジョブ種別には、そのエントリに対
応するレポートの印刷がチェーンドジョブであるのか又
はノーマルジョブであるのかを示す情報を記録する。チ
ェーンドジョブ種別には、そのエントリが最初のチェー
ンドジョブの場合、それを示す「最初」を、中間のチェ
ーンドジョブの場合、それを示す「中間」を、最後のチ
ェーンドジョブの場合、それを示す「最後」を記録す
る。また、詳細は後に説明するが、ここに「ダミー」と
記録する場合もある。チェーンドジョブ識別子には、一
連のリンクされたチェーンドジョブの最初のチェーンド
ジョブに対して付与されたエントリ生成番号を記録す
る。チェーンドジョブシーケンス番号には、「1」から
始まる一連番号で、チェーンドジョブの生成された順に
付与される。保存属性には、そのエントリに対応するレ
ポートを印刷した後もそのレポートを削除することなく
保存しておく場合に、属性情報として「保存」を記録す
る。
【0022】次にアプリケーションプログラム11から
スプール12に対してレポートを登録してその印刷を要
求する動作を図8から図14を参照して説明する。ま
ず、アプリケーションプログラム11はスプール12に
対して、スプール12に登録するレポートの属性設定を
行う。この要求の際に、そのレポートがチェーンドジョ
ブである場合には、その旨の指定を行う。更に、チェー
ンドジョブの場合に、そのレポートを保存属性として保
存が必要なときには、その旨も指定する(ステップS8
1)。このような登録要求やジョブ種別の指定、保存属
性の指定は、アプリケーションプログラム11がスプー
ル12のAPI(Apprication Progr
am Interface)の関数をコールすることで
実現する。
【0023】スプール12は、アプリケーションプログ
ラム11からこのようにレポートの属性設定要求を受け
取った場合、そのレポートのジョブ種別を判断する(ス
テップS82)。ジョブ種別がノーマルジョブの場合に
は、ステップS83へ進み、チェーンドジョブの場合に
は、ステップ85へ進む。
【0024】登録要求を受けたレポートがノーマルジョ
ブの場合には、まず、スプール12は印刷データである
レポートを磁気ディスク装置13に記録し保存する(ス
テップS83)。続いて、スプール12は管理テーブル
ヘッダ121aを参照して最初の空きのエントリ番号を
探し、そのエントリのエントリヘッダ部121b1とエ
ントリ本体部121b2に所定の情報を登録する(ステ
ップS84)。この際、チェーンドジョブ関連の情報の
登録はしない。
【0025】登録要求を受けたレポートがチェーンドジ
ョブの場合には、まず、スプール12は、印刷データで
あるレポートを磁気ディスク装置13に記録し保存する
(ステップS85)。続いて、スプール12は管理テー
ブルヘッダ121aを参照して最初の空きのエントリ番
号を探し、そのエントリのエントリヘッダ部121b1
とエントリ本体部121b2に所定の情報を登録する
(ステップS86)。
【0026】次にアプリケーションプログラム11は、
連続して1つのプリンタで印刷すべき印刷データを全て
チェーンドジョブとして登録したかを判断する(ステッ
プS87)。全ての印刷データがチェーンドジョブとし
て登録されていない場合には、ステップS85に進み次
のチェーンドジョブをエントリに登録する。ステップS
87において、全ての印刷データがチェーンドジョブと
して登録されたと判断された場合には、アプリケーショ
ンプログラム11はステップ88においてチェーンドジ
ョブの終了を宣言することによるチェーンドジョブの登
録全てが終了する。このような手順でアプリケーション
プログラム11がスプール12に対してレポートを登録
してその印刷を指示する。この結果、エントリ部121
bには、図4に示すようにレポート、チェーンドジョブ
が登録されたものとして以後の説明を続ける。
【0027】図4において、エントリ番号5に登録され
たチェーンドジョブA1と、エントリ番号15に登録さ
れたチェーンドジョブA2と、エントリ番号23に登録
されたチェーンドジョブA3とが互いにリンクされて一
組のチェーンドジョブを構成している。
【0028】図9にエントリ番号5に登録されたチェー
ンドジョブA1のエントリヘッダ部121b1に登録さ
れた情報を図示した。図9において、エントリステータ
スには、「使用中」が設定される。しかし、エントリへ
の記録作業中で完了していない状態のときには、「作成
中」と設定されている。エントリへの記録作業が完了し
た後に、このステータスは「使用中」に更新される。次
のエントリ番号には、「6」が登録される。これは、エ
ントリ番号5の次にエントリが登録されているのは、図
4から明らかなようにエントリ番号6のためである。同
様に前のエントリ番号には、「4」が登録されている。
チェーンドジョブに対する次のエントリ番号には、「1
5」が登録されている。これは、チェーンドジョブA1
にリンクしている次のチェーンドジョブA2がエントリ
番号15に登録されているからである。また、チェーン
ドジョブに対する前のエントリ番号には、「FFFF
F」と登録されている。これは、チェーンドジョブA1
は、一連のリンクされたチェーンドジョブの最初のもの
であり、前のチェーンドジョブが存在しないので、その
旨を表す情報「FFFFF」を登録する。チェーンドジ
ョブ数には、「3」と登録されている。ただし、チェー
ンドジョブA1だけがエントリ部121bに登録されて
いる状態では、「1」と登録されており、次にチェーン
ドジョブA2が登録された時点では「2」と更新され
る。また、エントリ生成番号には、「105」と登録さ
れている。
【0029】図10にエントリ番号5に登録されたチェ
ーンドジョブA1のエントリ本体部121b2に登録さ
れた情報を図示した。図10において、ジョブ種別には
「チェーンドジョブ」と登録し、チェーンドジョブ種別
には「最初」と登録し、チェーンドジョブ識別子には
「105」と登録し、チェーンドジョブシーケンス番号
には「1」と登録する。チェーンドジョブ識別子に「1
05」と登録したのは、スプール12が一連のリンクさ
れたチェーンドジョブの最初のチェーンドジョブである
チェーンドジョブA1に対して、エントリ生成番号を1
05と生成したからである。また、プリケーションプロ
グラム11からスプール12に対して保存属性を指定し
ている場合には、保存属性に「保存」と情報を記録す
る。
【0030】図11にエントリ番号15に登録されたチ
ェーンドジョブA2のエントリヘッダ部121b1に登
録された情報を図示した。図11において、エントリス
テータスには、「使用中」が登録される。更に、チェー
ンドジョブに対する次のエントリ番号には、「23」が
登録されている。これは、チェーンドジョブA2にリン
クしている次のチェーンドジョブA3がエントリ番号2
3に登録されているからである。また、チェーンドジョ
ブに対する前のエントリ番号には、「5」と登録されて
いる。また、エントリ生成番号には、「115」と登録
されている。
【0031】図12にエントリ番号15に登録されたチ
ェーンドジョブA2のエントリ本体部121b2に登録
された情報を図示した。図12において、ジョブ種別に
は「チェーンドジョブ」と登録され、チェーンドジョブ
種別には「中間」と登録れている。このチェーンドジョ
ブ種別には「中間」と登録れているのは、チェーンドジ
ョブA2が一連のリンクされたチェーンドジョブの中間
に位置するからである。更に、チェーンドジョブ識別子
には「105」と登録され、チェーンドジョブシーケン
ス番号には「2」と登録され、チェーンドジョブ識別子
に「105」と登録されている。また、保存属性には必
要に応じて「保存」と情報が登録される。
【0032】図13にエントリ番号23に登録されたチ
ェーンドジョブA3のエントリヘッダ部121b1に登
録された情報を図示した。図13において、エントリス
テータスには、「使用中」が登録される。更に、チェー
ンドジョブに対する次のエントリ番号には、このチェー
ンドジョブA3は一連のリンクされたチェーンドジョブ
の最後のチェーンドジョブであることから続チェーンド
ジョブが存在しないので、その旨を表す情報「FFFF
F」が登録されている。また、チェーンドジョブに対す
る前のエントリ番号には、「15」と登録されている。
また、エントリ生成番号には、「123」と登録されて
いる。
【0033】図14にエントリ番号23に登録されたチ
ェーンドジョブA2のエントリ本体部121b2に登録
された情報を図示した。図14において、ジョブ種別に
は「チェーンドジョブ」と登録され、チェーンドジョブ
種別には「最後」と登録れている。このチェーンドジョ
ブ種別には「最後」と登録れているのは、チェーンドジ
ョブA3が一連のリンクされたチェーンドジョブの最後
に位置するからである。一般に、2つ目以降のチェーン
ドジョブの場合には、最初にチェーンドジョブ種別には
「中間」と登録しておき、そのチェーンドジョブの登録
が終了した時点で次に登録するチェーンドジョブが無い
場合にこのチェーンドジョブ種別を「最後」と登録し直
す処理をする。この登録のし直しのタイミングは、ステ
ップS87で全ての印刷データがチェーンドジョブとし
て登録されたと判断されてアプリケーションプログラム
11によるチェーンドジョブの登録全てが終了させると
きに行う。更に、チェーンドジョブ識別子には「10
5」と登録され、チェーンドジョブシーケンス番号には
「3」と登録されている。また、保存属性には必要に応
じて「保存」と情報が登録される。
【0034】次にスプール12がエントリに登録されて
いるレポートの印刷動作について図15から図19を参
照して説明する。一般にスプール12は管理テーブルヘ
ッダ121aを介して各エントリの印刷の優先度順にエ
ントリ番号をリンクして管理している。このときにリン
クされるレポートは、ノーマルジョブとチェーンドジョ
ブの先頭のエントリである。今スプール12はチェーン
ドジョブA1の印刷開始の順番に来たとする。まず、ス
プール12は、チェーンドジョブA1のエントリ本体部
121b2を参照して、コンピュータ名とプリンタ名を
参照して、現在処理が空き状態で印刷に使用可能なプリ
ンタが、コンピュータ名とプリンタ名で指定されている
ものと一致するか判断する。コンピュータ名としてスプ
ール12がインストールされているサーバ計算機10が
指定されている場合には。指定されたプリンタと使用可
能なプリンタとが一致する場合には、印刷処理を進め
る。コンピュータ名としてスプール12がインストール
されているサーバ計算機10以外のリモートのサーバ計
算機が登録されている場合には。そのレポートを指定さ
れたリモートのサーバ計算機にインストールされている
スプールに登録する。このリモートのサーバ計算機に接
続されたプリンタでの印刷が指定されている場合の動作
については、後述する。以下の説明では、チェーンドジ
ョブA1のエントリ本体部121b2を参照して、コン
ピュータ名とプリンタ名を参照して、現在処理が空き状
態で印刷に使用可能なプリンタが図1に図示したプリン
タ14で、コンピュータ名とプリンタ名で指定されてい
るものと一致する場合の動作を説明する。
【0035】まず、スプール12は、図1に図示したプ
リンタ管理テーブル122のプリンタ14に対応するテ
ーブルに図17に示すように管理データを登録した後、
プリンタ14に対してチェーンドジョブA1のレポート
の印刷をさせる(ステップS50)。図17において、
プリンタ管理テーブル122には、ジョブ種別として
「チェーンドジョブ」と登録し、チェーンドジョブ種別
として「最初」と登録し、チェーンドジョブ識別子とし
て「105」と登録し、チェーンドジョブシーケンス番
号として「1」と登録し、プリンタ状態として「印刷
中」と登録する。
【0036】次に、チェーンドジョブA1の印刷が終了
した時点でそのチェーンドジョブA1に保存属性が登録
されているか判断する(ステップ51)。保存属性が登
録されている場合には、ステップ52に進み、チェーン
ドジョブA1に対してエントリ部121bに登録されて
いる情報を削除することなく保存したままとする(ステ
ップS52)。次にステップS53でチェーンドジョブ
A1に続くチェーンドジョブA2がエントリ部121b
に登録されて印刷可能か判断する(ステップA53)。
存在する場合には、ステップS56へ進む。チェーンド
ジョブA1に続く次のチェーンドジョブA2がエントリ
部121bに登録されいない場合には、次のチェーンド
ジョブが発生するまで待ち(ステップS61)、次のチ
ェーンドジョブが発生したらステップS53へ進む。
【0037】このようにあるチェーンドジョブの印刷が
終了した時点で次に印刷すべきチェーンドジョブがエン
トリ部121bに登録されていない場合としては、プリ
ンタの印刷速度とアプリケーションプログラム11によ
るスプール12へのチェーンドジョブの登録する処理速
度との差に基づいて発生する。
【0038】ステップS56に進んだ場合には、スプー
ル12は、図1に図示したプリンタ管理テーブル122
のプリンタ14に対応するテーブルに図18に示すよう
に管理データを登録した後、プリンタ14に対してチェ
ーンドジョブA2のレポートの印刷をさせる(ステップ
S56)。このとき、プリンタ管理テーブル122に
は、ジョブ種別として「チェーンドジョブ」と登録し、
チェーンドジョブ種別として「中間」と登録し、チェー
ンドジョブ識別子として「105」と登録し、チェーン
ドジョブシーケンス番号として「2」と登録し、プリン
タ状態として「印刷中」と登録する。
【0039】次にステップS57へ進み、今印刷したチ
ェーンドジョブA2が最後のチェーンドジョブであるか
どうかを判定する(ステップS57)。この判定は、図
11に示したエントリヘッダ部121b1と図12に示
したエントリ本体部121b2を参照することで行う。
【0040】ステップS57の判定で、最後のチェーン
ドジョブでないと判断された場合は、ステップS51に
進み、ステップS56で印刷処理したチェーンドジョブ
A2に保存属性が設定されているか判断する。保存属性
が設定されている場合には、ステップS52へ進み、以
後上記説明と同様にステップS57まで進みチェーンド
ジョブA3の印刷を行う。このチェーンドジョブA3の
印刷に際して、スプール12は、プリンタ管理テーブル
122に図19に示すようにジョブ種別として「チェー
ンドジョブ」と登録し、チェーンドジョブ種別として
「最後」と登録し、チェーンドジョブ識別子として「1
05」と登録し、チェーンドジョブシーケンス番号とし
て「3」と登録し、プリンタ状態として「印刷中」と登
録する。
【0041】ステップS51において、チェーンドジョ
ブA1に保存属性が登録されてないと判断された場合に
は、ステップS54へ進む。ステップS54では、次の
チェーンドジョブA2がエントリに登録されて存在する
か判断する。この判断の結果、次のチェーンドジョブA
2がエントリに登録されている場合には、チェーンドジ
ョブA1をエントリ部121bから削除し(ステップS
55)、ステップS56へ進む。
【0042】次にステップS54で次のチェーンドジョ
ブA2がエントリに登録されていない場合には、ステッ
プS62へ進み、そのチェーンドジョブA1が最後のチ
ェーンドジョブであるか判断する(ステップS62)。
チェーンドジョブA1が最後チェーンドジョブの場合に
は、ステップS63へ進み、チェーンドジョブA1をエ
ントリ部121bから削除(S63)して、処理を終了
する。ステップS62の判断の結果、チェーンドジョブ
A1が最後のチェーンドジョブでない場合には、次のチ
ェーンドジョブA2が存在するかどうか判断する(S6
4)。この判断の結果、次のチェーンドジョブA2がエ
ントリに登録されて存在する場合には、チェーンドジョ
ブA1をエントリ部121bから削除(ステップS6
5)してステップS56へ進み、また、チェーンドジョ
ブA1に続くチェーンドジョブA2がエントリ部121
bに登録されいない場合には、図10に図示したチェー
ンドジョブA1のエントリ本体部121b2のチェーン
ドジョブ種別を「ダミー」に変更(ステップS66)し
てステップS67へ進み、次のチェーンドジョブA2が
発生するのを待つ(ステップS67)。そして、次のチ
ェーンドジョブA2が発生した場合には、ステップS6
8へ進み、チェーンドジョブA1をエントリ部121b
から削除(ステップS68)してステップS56へ進
む。
【0043】一般的にスプール12では、プリンタにお
いてあるチェーンドジョブを印刷させているときに、プ
リンタに障害が発生した場合、その対策として頁単位で
印刷位置を指定して再印刷をすることができる。この再
印刷の指定の結果として、現在印刷しているチェーンド
ジョブの範囲を超えて1つ前のチェーンドジョブの所定
の頁まで再印刷を指定された場合でも、上記保存属性を
設定しておくことにより、そのチェーンドジョブが削除
されることなく残っているので、再印刷することが可能
となる。尚、保存属性が設定されたチェーンドジョブは
その印刷終了後も削除されることなく保存されている
が、所定時間過ぎるとその保存状態が解除されて削除さ
れるものとする。尚、スプール12が明示的にその保存
されたチェーンドジョブを削除するような設定にしても
よい。
【0044】以上の説明でスプール12が印刷のために
選択したチェーンドジョブのエントリ本体部121b2
のコンピュータ名とプリンタ名の登録が、リモートのサ
ーバ計算機とそれに接続されたプリンタとが設定されて
いる場合には、スプール12は、そのチェーンドジョブ
を一旦リートコンピュータ管理テーブル123に登録
し、その後そのチェーンドジョブをその指定されたリモ
ートのコンピュータ(サーバ計算機)にインストールさ
れているスプールに対して、レポートの登録要求をす
る。この場合に、スプール12がアプリケーションプロ
グラムと同様な動作をし、リモートのコンピュータ(サ
ーバ計算機)にインストールされているスプールに対し
て、レポートの登録要求をすることになる。以後の動作
は、これまでの説明と同一であるためその説明を省略す
る。
【0045】以上の説明では、アプリケーション11が
スプール12に対して明示的にチェーンドジョブを登録
する動作の説明をした。しかし、アプリケーション11
がスプール12に対して明示的にチェーンドジョブを登
録する場合には、プリンタの印刷速度に対して最適にチ
ェーンドジョブが登録されないために次のような非効率
が発生し得る。即ち、一つ前のチェーンドジョブの印刷
が終了した時点で、次のチェーンドジョブが登録されて
いない場合には、プリンタが印刷データ待ちで停止して
しまうことがある。このような非効率を防止するために
プリンタへの印刷に同期してチェーンドジョブを生成す
る動作を以下に図20、図21を参照して説明する。
【0046】ます、アプリケーションプログラム11と
スプール12のレポート登録処理の動作(ルーチン)に
ついて説明する。アプリケーションプログラム11は、
1つのプリンタにおいて連続して出力することが要求さ
れている大量の印刷データが発生した場合には、まず、
スプール12に対して上記大量の印刷データのうち先頭
から特定ページ数分の印刷データ(例えば60ページ
分)についてレポート(印刷データ)の登録要求を行う
(ステップS90)。この要求に伴って、スプール12
はレポートを磁気ディスク装置13に登録する(ステッ
プS91)。その後、この登録したレポートに対するチ
ェーンドジョブをエントリに登録する(ステップS9
2)。
【0047】続いて、アプリケーション11はスプール
12に対して、上記大量の印刷データのうち61ページ
以降の全ての印刷データの出力を行う(ステップS9
3)。この出力に伴って、スプール12はレポートを磁
気ディスク装置13に登録を開始する(ステップS9
3)。続いて、このレポートの登録の処理中に、印刷デ
ータの出力がページの区切りであるか判断する(ステッ
プS94)。もし、ページの区切りでなければ、印刷デ
ータの出力の処理を続ける(ステップS93)。このス
テップS94にてページ区切りであると判断された場合
には、全ての印刷データの出力が終了したかを判断する
(ステップS95)。この判断の結果、全ての印刷デー
タ出力が終了している場合には、ステップS98へ進
み、この出力した印刷データをチェーンドジョブとして
エントリに登録する(ステップS98)。
【0048】ステップS95における判断の結果、全て
の印刷データの出力が終了していない場合には、チェー
ンドジョブ作成指示の通知を受け取っているか判断する
(ステップS96)。この通知を受けていない場合に
は、ステップS93へ戻り処理を続ける。もし、この通
知を受けている場合には、ステップS97へ進み、現時
点までに出力した印刷データをチェーンドジョブとして
作成するためにエントリを登録する(ステップS9
7)。
【0049】ここで、チェーンドジョブ作成指示の通知
とは、ステップS93で処理している印刷データの登録
をステップS94で区切りを検出したページまでで終了
させてチェーンドジョブを作成するようにとの意味であ
り、先にステップS91、ステップS92で登録した印
刷データのうち先頭から60ページ分の印刷が終了間近
になった場合にスプール12の印刷処理ルーチンから受
け取る通知である。この通知の作成についての詳細は、
後程説明する。
【0050】次に、登録すべき印刷データが残っている
か判断する(ステップS99)。残っている場合には、
ステップS93へ進み、処理を続ける。また、登録すべ
き印刷データが残っていない場合には、印刷データの出
力処理を終了する。
【0051】次に、図21を用いて、図20のステップ
92で作成された60ページ分の印刷データに対するチ
ェーンドジョブの印刷がスプール12の印刷処理ルーチ
ンによって開始された場合の動作を説明する。
【0052】まず、スプール12は、チェーンドジョブ
作成指示の通知をすることが必要であることを設定する
ために、フラグに「1」を立てる。その後、スプール1
2はプリンタにチェーンドジョブの印刷を開始させる
(ステップS21)。そして、印刷処理が行われる(ス
テップS22)。次に前記フラグの状態をチェックし
て、チェーンドジョブ作成指示の通知をすることが必要
であるかを判断する(ステップS23)。通知が必要で
ない場合には、ステップS22へ戻り印刷処理を続け
る。通知が必要な場合には、ステップS24へ進む。こ
のステップS24でスプール12は、印刷されずに残っ
ている印刷データの量(ページ数)とプリンタの印刷処
理能力(例えば1秒あたりの印刷可能ページ数)とに基
づいて、このチェーンドジョブの印刷処理があと何秒で
終了するか計算する。この計算の結果、あと例えばt秒
以内に印刷処理が終了しないと判断した場合には、ステ
ップS22へ戻り印刷処理を続ける。
【0053】このステップS24の判断の結果、t以内
に印刷処理が終了すると判断した場合には、この60ペ
ージ分の印刷、即ち現在処理している印刷に続く印刷デ
ータがチェーンドジョブとして登録されているか判断す
る(ステップS25)。印刷データが登録されている場
合には、ステップS26へ進み、チェーンドジョブ作成
指示の通知をすることが必要でないことをを設定するた
めに、フラグに「0」に設定する。その後、ステップS
22へ戻り印刷処理を続ける。これは、最初の60ペー
ジ分の印刷が終了しても、続く印刷データがチェーンド
ジョブとして登録されているので、その印刷処理をして
いるプリンタにおいて、処理が停止することなく連続し
て印刷処理を続けることが可能であるため、ステップS
22へ戻るわけである。
【0054】一方、ステップS25の判断の結果、61
ページ以降の印刷データが登録されていない場合には、
最初の60ページ分の印刷が終了したときには、続く印
刷データがチェーンドジョブとして登録されていないの
で、その印刷処理をしているプリンタの処理が停止して
しまうことになる。そこで、スプール12の印刷処理ル
ーチンは、スプール12のレポート登録処理ルーチンに
対して、チェーンドジョブの作成することを指示する通
知をする(ステップS27)。この通知が出されると、
スプール12内で動作している通知受付ルーチン(スレ
ッド)がそれを受信して、レポート登録処理ルーチンに
通知することになる。このような動作により、アプリケ
ーションプログラム11は、チェーンドジョブの作成を
意識することなく、大量の印刷データを1つのプリンタ
で連続して印刷することができる。また、この動作は、
リモートのコンピータに接続されたプリンタに対して印
刷を指定した場合にも、同様に処理することができる。
【0055】
【発明の効果】以上説明した通り、本発明によれば、連
続した印刷出力が要求される大量のデータを即時性を損
なうことなく同一のプリンタに連続して印刷することが
できる。
【図面の簡単な説明】
【図1】本発明の実施形態に関わるシステムの概略構成
を示す図である。
【図2】レポート管理デーブル121を示す図である。
【図3】エントリの構造を示す図である。
【図4】エントリ部121bを示す図である。
【図5】管理テーブルヘッダ121aを示す図である。
【図6】エントリヘッダ部121b1を示す図である。
【図7】エントリ本体部121b2を示す図である。
【図8】を示す図である。
【図9】エントリヘッダ部121b1の登録状態を示す
図である。
【図10】エントリ本体部121b2の登録状態を示す
図である。
【図11】エントリヘッダ部121b1の登録状態を示
す図である。
【図12】エントリ本体部121b2の登録状態を示す
図である。
【図13】エントリヘッダ部121b1の登録状態を示
す図である。
【図14】エントリ本体部121b2の登録状態を示す
図である。
【図15】チェーンドジョブの印刷動作を説明するため
のフローチャートを示す図である。
【図16】チェーンドジョブの印刷動作を説明するため
のフローチャートを示す図である。
【図17】プリンタ管理テーブル122の登録状態を示
す図である。
【図18】プリンタ管理テーブル122の登録状態を示
す図である。
【図19】プリンタ管理テーブル122の登録状態を示
す図である。
【図20】プリンタへの印刷に同期してチェーンドジョ
ブを生成する動作を説明するためのフローチャートを示
す図である。
【図21】プリンタへの印刷に同期してチェーンドジョ
ブを生成する動作を説明するためのフローチャートを示
す図である。
【符号の説明】
10‥‥サーバ計算機 11‥‥アプリケーション 12‥‥スプール 121‥‥レポート管理テーブル 122‥‥プリンタ管理テーブル 123‥‥リモートコンピュータ管理テーブル 13‥‥磁気ディスク装置 14‥‥プリンタ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】アプリケーションからの印刷データの印刷
    要求を受け付け、この受け付けた印刷データをプリンタ
    に印刷させる印刷制御を行うスプールにおいて、 前記アプリケーションから連続した印刷の要求を受けた
    複数の印刷データを連続して同一のプリンタに印刷させ
    るために、前記アプリケーションから連続した印刷の指
    定を受けた複数の印刷データをリンクして管理し、これ
    らリンクした複数の印刷データをリンクした順番に同一
    プリンタに連続して印刷させることを特徴とするスプー
    ルにおける印刷制御方法。
  2. 【請求項2】前記アプリケーションから連続した印刷の
    要求を受けた複数の印刷データにその印刷後に保存する
    ことが指定された場合、その印刷データは印刷後に保存
    することを特徴とする請求項1記載のスプールにおける
    印刷制御方法。
  3. 【請求項3】印刷データの印刷要求を受け付け、この受
    け付けた印刷データをプリンタに印刷させる印刷制御を
    行う第1のスプールと第1のプリンタとを持つ第1のサ
    ーバ計算機と、印刷データの印刷要求を受け付け、この
    受け付けた印刷データをプリンタに印刷させる印刷制御
    を行う第2のスプールと第2のプリンタとを持つ第2の
    サーバ計算機とからなるシステムにおいて、 前記第1のスプールは、連続した印刷の要求を受けた複
    数の印刷データを連続して同一のプリンタに印刷させる
    ために、前記連続した印刷の指定を受けた複数の印刷デ
    ータをリンクして管理するとともに、その印刷するプリ
    ンタが前記第2のプリンタと指定されている場合、この
    リンクして管理した複数の印刷データを前記第2のスプ
    ールに対して印刷要求し、 前記第2のスプールは、前記第1のスプールから連続し
    た印刷の要求を受けた複数の印刷データを連続して第2
    ののプリンタに印刷させるために、前記連続した印刷の
    指定を受けた複数の印刷データをリンクして管理し、こ
    れらリンクした複数の印刷データをリンクした順番に第
    2のプリンタに連続して印刷させることを特徴とするス
    プールにおける印刷制御方法。
  4. 【請求項4】アプリケーションからの印刷データの印刷
    要求を受け付け、この受け付けた印刷データをプリンタ
    に印刷させる印刷制御を行うスプールにおいて、 前記アプリケーションから印刷の要求を受けた印刷デー
    タにおいて先頭から所定ページ分の印刷データを第1の
    印刷データとして管理するとともに、この第1の印刷デ
    ータをプリンタに印刷させている際に、前記プリンタで
    の印刷が残りt秒以内に終了すると判断した場合、前記
    アプリケーションから印刷の要求を受けた印刷データの
    うち前記第1の印刷データ以後の印刷データを所定の単
    位で区切り、この区切った第2の印刷データを前記第1
    の印刷データの後に連続して前記プリンタに印刷させる
    ために前記第1の印刷データとリンクして管理し、前記
    第2の印刷データを前記プリンタにおいて前記第1の印
    刷データの後に連続して印刷させることを特徴とするス
    プールにおける印刷制御方法。
JP28366199A 1999-10-05 1999-10-05 スプールにおける印刷制御方法 Pending JP2001109593A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28366199A JP2001109593A (ja) 1999-10-05 1999-10-05 スプールにおける印刷制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28366199A JP2001109593A (ja) 1999-10-05 1999-10-05 スプールにおける印刷制御方法

Publications (1)

Publication Number Publication Date
JP2001109593A true JP2001109593A (ja) 2001-04-20

Family

ID=17668432

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28366199A Pending JP2001109593A (ja) 1999-10-05 1999-10-05 スプールにおける印刷制御方法

Country Status (1)

Country Link
JP (1) JP2001109593A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005212250A (ja) * 2004-01-29 2005-08-11 Matsushita Electric Ind Co Ltd 印字制御装置ならびにこれを備えた印字装置及び情報処理装置
JP2021121077A (ja) * 2020-01-30 2021-08-19 キヤノン株式会社 画像形成装置、制御方法、およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005212250A (ja) * 2004-01-29 2005-08-11 Matsushita Electric Ind Co Ltd 印字制御装置ならびにこれを備えた印字装置及び情報処理装置
JP4558337B2 (ja) * 2004-01-29 2010-10-06 パナソニック株式会社 印字制御装置ならびにこれを備えた印字装置及び情報処理装置
JP2021121077A (ja) * 2020-01-30 2021-08-19 キヤノン株式会社 画像形成装置、制御方法、およびプログラム
JP7438771B2 (ja) 2020-01-30 2024-02-27 キヤノン株式会社 画像形成装置、制御方法、およびプログラム

Similar Documents

Publication Publication Date Title
US6256750B1 (en) Information processing apparatus, network printing system, its control method, and storage medium storing program
US7382477B2 (en) Information processing apparatus capable of transferring print job to another information processing apparatus, and its control method
US8045202B2 (en) Information processing apparatus and print device control method
US8189221B2 (en) Image forming device for executing a designated process with priority without canceling a previously accepted process
WO2005124531A1 (ja) 情報処理装置及びジョブ転送制御方法
JP4730201B2 (ja) プリント制御装置と印刷システムおよび印刷制御方法とプログラム
JP2002091720A (ja) 情報処理装置及びジョブの処理結果確認方法
JP3800380B2 (ja) プリントシステム及びプリンタ
JP4246620B2 (ja) 情報処理装置、情報処理システム、情報処理方法、プログラム及び記録媒体
US20020181019A1 (en) Print device and method of acquiring print data
JP2001109593A (ja) スプールにおける印刷制御方法
JP3622670B2 (ja) 印刷ジョブ管理装置
JP3102836B2 (ja) プリンタシステムおよびプリンタシステムの印字ジョブ処理方法
JP3867450B2 (ja) 印刷制御装置及び印刷制御プログラムを記録したコンピュータ読取り可能な記録媒体
JP3837863B2 (ja) 印刷処理システム及び印刷処理方法並びに印刷処理制御プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP3134539B2 (ja) プリンタ制御装置
JPH11194914A (ja) 印刷制御装置
JP2762959B2 (ja) プリンタ制御方式
JP4567911B2 (ja) 分散印刷方法
JPH07121318A (ja) リモートプリンティングシステム
JP2003308184A (ja) ジョブ管理システム、ジョブ管理装置、データ処理装置、ジョブ管理方法、データ処理方法、及び制御プログラム
JPH07121324A (ja) ジョブ処理実行システム
JPH05265668A (ja) 画像印刷システム
JP3226860B2 (ja) 印刷ジョブ制御システム
JPH07253860A (ja) プリンタ負荷分散方式

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050428

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050620