JP3222059B2 - 分散スプールシステム - Google Patents

分散スプールシステム

Info

Publication number
JP3222059B2
JP3222059B2 JP12319096A JP12319096A JP3222059B2 JP 3222059 B2 JP3222059 B2 JP 3222059B2 JP 12319096 A JP12319096 A JP 12319096A JP 12319096 A JP12319096 A JP 12319096A JP 3222059 B2 JP3222059 B2 JP 3222059B2
Authority
JP
Japan
Prior art keywords
spooler
spool
printer
computers
another
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
JP12319096A
Other languages
English (en)
Other versions
JPH09305332A (ja
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP12319096A priority Critical patent/JP3222059B2/ja
Publication of JPH09305332A publication Critical patent/JPH09305332A/ja
Application granted granted Critical
Publication of JP3222059B2 publication Critical patent/JP3222059B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プリンタに印刷す
る印刷データを一旦蓄えるためのスプーラに係り、特
に、複数の計算機の各々にスプーラを配してスプーリン
グの分散処理を行う分散スプールシステムに関する。
【0002】
【従来の技術】一般に、コンピュータ本体のCPU(中
央処理装置)で処理されたデータをプリンタ等の出力装
置により出力する場合、CPUの処理速度に比較してプ
リンタの処理速度は格段に遅いため、プリンタがすべて
のデータを出力し終わるまでCPUは次の処理を待たな
くてはならない。そこで、高速アクセスが可能な磁気デ
ィスクやRAMディスク等の記憶領域(以下、スプール
領域という。)を用意し、このスプール領域を出力装置
とみなしてこれにCPUからのデータを一旦出力し、プ
リンタはこのスプール領域からデータを受け取って出力
するというスプーリングが行われている。このようなス
プーリングを行うと、CPUはその間出力処理から開放
されて次の仕事を行うことができるため、効率的な入出
力処理が可能となる。
【0003】図15は、例えば、「日経オープンシステ
ム1993年5月(no.2)号」に記述された従来の
スプールシステムの構成例である。このスプールシステ
ムは、印刷コマンド部102から印刷データ101をス
プーラに投入するための印刷コマンドを受け付けるスプ
ーラ103と、スプーラ103によって管理され印刷デ
ータを一時的に蓄えるスプールディレクトリ104と、
スプーラ103によって起動されると共にスプールファ
イル105のデータをプリンタ107のデータフォーマ
ットに変換するプリントフィルタ106と、プリントフ
ィルタ106から出力された印刷データを印刷するプリ
ンタ107とを備えている。ここでは、スプールディレ
クトリ104の下に、投入された印刷データのコピーで
あるスプールファイル105および108が蓄えられて
いる。なお、スプールファイル108は、スプールファ
イル105よりも先にスプールディレクトリ104に格
納されたスプールファイルである。
【0004】次に、このような構成のスプールシステム
の動作を説明する。図15において、ユーザは印刷デー
タ101を印刷コマンド部102を用いてスプーラ10
3に投入する。スプーラ103は受け取った印刷データ
101をコピーし、スプールディレクトリ104の所定
の位置にスプールファイル105として格納する。スプ
ールファイル105は、先に投入されスプールディレク
トリ104の下で印刷待ちの状態のスプールファイル1
08と同様に蓄えられる。スプールファイル105の印
刷順番が到来すると、スプーラ103はプリントフィル
タ106を起動し、スプールファイル105をプリント
フィルタ106に渡す。プリントフィルタ106は、ス
プールファイル105内のデータをプリンタのデータフ
ォーマットに変換した後、プリンタ107に変換データ
を出力して印刷を行う。
【0005】印刷コマンド部102によって印刷データ
101をスプーラ103に投入する際にエラーが発生し
た場合には、再度、印刷コマンド部102によって印刷
データ101をスプーラ103に投入する。
【0006】
【発明が解決しようとする課題】従来のスプールシステ
ムは以上のように構成されていたので、印刷コマンド部
102によって印刷データ101をスプーラ103に投
入する際にエラーが発生すると、再度、印刷コマンド部
102により印刷データ101をスプーラ103に投入
しなければならず、スプーラ103の障害が除かれない
限りこの動作を繰り返さなくてはならなかった。この結
果、スプーラ103の障害が除かれない限り印刷するこ
とはできないという問題があった。
【0007】本発明はかかる問題点に鑑みてなされたも
ので、その目的は、それぞれがスプーラを備える複数の
計算機のうちの1台の計算機のスプーラに障害が発生し
た場合であっても印刷処理が可能な分散スプールシステ
ム提供することにある。
【0008】
【課題を解決するための手段】本発明に係る分散スプー
ルシステムは、それぞれがスプーラを備える複数の計算
機からなるシステムであって、複数の計算機のうちの1
台の計算機のスプーラに障害が発生したとき、次に印刷
データを渡すべき他のスプーラを示す情報を予め記憶す
るスプーラ記憶手段を備え、前記スプーラは、自己が現
在サポートしているプリンタのタイプを他のスプーラに
伝達するプリンタタイプ伝達手段を備えたものである。
【0009】
【0010】他の発明に係る分散スプールシステムは、
それぞれがスプーラを備える複数の計算機からなるシス
テムであって、前記複数の計算機のうちの1台の計算機
のスプーラに障害が発生したとき、次に印刷データを渡
すべき他のスプーラを示す情報を予め記憶するスプーラ
記憶手段を備え、前記スプーラは、自己が現在サポート
しているプリンタのフォーム名を他のスプーラに伝達す
るフォーム名伝達手段を備えたものである。
【0011】他の発明に係る分散スプールシステムは、
それぞれがスプーラを備える複数の計算機からなるシス
テムであって、前記複数の計算機のうちの1台の計算機
のスプーラに障害が発生したとき、次に印刷データを渡
すべき他のスプーラを示す情報を予め記憶するスプーラ
記憶手段を備え、前記スプーラは、自己のスプールエリ
アに空きがあるときにそれを他のスプーラに伝達する空
きエリア伝達手段を備えたものである。
【0012】他の発明に係る分散スプールシステムは、
それぞれがスプーラを備える複数の計算機からなるシス
テムであって、前記複数の計算機のうちの1台の計算機
のスプーラに障害が発生したとき、次に印刷データを渡
すべき他のスプーラを示す情報を予め記憶するスプーラ
記憶手段を備え、前記スプーラは、自己の内部に障害が
発生したときに当該スプーラを備える計算機に対して他
の印刷先スプーラを示す情報を通知する印刷先通知手段
を備えたものである。
【0013】他の発明に係る分散スプールシステムは、
それぞれがスプーラを備える複数の計算機からなるシス
テムであって、前記複数の計算機のうちの1台の計算機
のスプーラに障害が発生したとき、次に印刷データを渡
すべき他のスプーラを示す情報を予め記憶するスプーラ
記憶手段を備え、前記計算機、印刷先スプーラを他の
スプーラに切り替える切替手段を備えたものである。
【0014】他の発明に係る分散スプールシステムは、
それぞれがスプーラを備える複数の計算機からなるシス
テムであって、前記複数の計算機のうちの1台の計算機
のスプーラに障害が発生したとき、次に印刷データを渡
すべき他のスプーラを示す情報を予め記憶するスプーラ
記憶手段を備え、前記スプーラは、本来自分が処理すべ
きスプールファイルを他のスプーラに待避させたときに
その旨を当該他のスプーラに通知するスプール待避通知
手段を備え、前記他のスプーラは、スプール待避通知手
段から受けた通知の内容を記憶するスプール待避記憶手
段を備えたものである。
【0015】また、前記他のスプーラは、さらに、待避
中のスプールファイルを元の計算機のスプーラに戻して
再度スプールさせる待避スプールファイル再スプール手
段を備えたものである。
【0016】また、前記他のスプーラは、さらに、待避
中のスプールファイルを元の計算機のスプーラに戻して
再度スプールさせようとしたときに当該元の計算機が未
だスプール可能状態になっていないときにスプールファ
イルを再度自己に投入する待避スプールファイル再待避
手段を備えたものである。
【0017】本発明の分散スプールシステムでは、複数
の計算機がそれぞれ備えるスプーラ間で通信が可能であ
り、1つのスプーラに障害が発生すると、他のスプーラ
に自動的に印刷データが振り向けられて投入される。投
入されたスプールファイルは当該他のスプーラによって
管理され、当該他のスプーラに接続されたプリンタによ
って印刷される。また、障害が発生したスプーラの障害
が除かれれば、他のスプーラに待避しておいたスプール
ファイルが元のスプーラに戻され、再スプールされる。
【0018】
【発明の実施の形態】以下図面に基づき、本発明の実施
の形態を詳細に説明する。
【0019】実施の形態1.図1は本発明の一実施の形
態に係る分散スプールシステムの構成を表すものであ
る。なお、この図で、上記従来例(図15)と同一構成
要素には同一符号を付す。このシステムは、スプーラ1
03を備える計算機1と、スプーラ3を備える計算機2
と、計算機1のスプーラ103に接続されたプリンタ1
07と、計算機2のスプーラ3に接続されたプリンタ1
7とを備えている。
【0020】計算機1は、印刷データ101をスプーラ
に投入する機能を有すると共に印刷データ投入先のスプ
ーラを切り替えるスプーラ切替え装置10を有する印刷
コマンド部102と、印刷コマンド部102からの印刷
コマンドを受け付けてスプール処理を行うスプーラ10
3と、スプーラ103によって管理され印刷データをス
プールファイル105として一時的に蓄えるスプールデ
ィレクトリ104と、スプーラ103に障害が発生した
場合に切り替える先の他のスプーラの名前を記憶するた
めのスプーラ定義ファイル4と、計算機2のスプーラ3
から受信したプリンタタイプ、フォーム名および空き領
域サイズ等の属性データを記憶するための別スプーラ属
性記憶装置8とを備えている。
【0021】スプーラ103は、計算機2のスプーラ3
のプリンタタイプ伝達装置5、フォーム名伝達装置6お
よびスプール領域空きサイズ伝達装置7から伝達された
プリンタタイプ、フォーム名および空き領域サイズを受
信して別スプーラ属性記憶装置8に出力する属性受信装
置19と、障害発生時にスプーラ定義ファイル4および
別スプーラ属性記憶装置8に格納された情報を基に印刷
データを振り向けるべき他のスプーラを決定して印刷コ
マンド部102に通知するスプーラ選択装置9と、スプ
ーラ103によってスプールされたスプールファイル1
05をプリンタ107に出力する制御を行うスプールフ
ァイル出力制御装置11とを備えている。
【0022】一方、計算機2は、計算機1の印刷コマン
ド部102のスプーラ切り替え装置10からスプール処
理を要求された印刷データを受け付けるスプーラ3と、
スプーラ3が受け取った印刷データをスプールするため
のスプールディレクトリ12と、スプールディレクトリ
12によって受け付けられた印刷データを蓄えるスプー
ルファイル13とを備えている。
【0023】計算機2のスプーラ3は、このスプーラ3
が接続可能なプリンタのタイプを計算機1のスプーラ1
03に知らせるプリンタタイプ伝達装置5と、スプーラ
3のプリンタ17でサポートしているフォームをスプー
ラ103に知らせるフォーム名伝達装置6と、スプーラ
3のスプール領域空きサイズをスプーラ103に知らせ
るスプール領域空きサイズ伝達装置7と、計算機1の印
刷コマンド部102が自分のスプーラ103に印刷デー
タ101を投入するのをやめて計算機2のスプーラ3に
投入した場合に本来投入すべきだったスプーラの名前
(ここではスプーラ103)を記憶する待避元スプーラ
記憶装置14と、スプールファイル13を再度計算機1
のスプーラ103に投入するための処理を行うスプール
ファイル再投入装置15と、スプールファイル13をス
プールファイル再投入装置15によってスプーラ103
に再投入したがスプーラ103の障害がまだ取り除かれ
ない場合にスプールファイル13をスプーラ3用のスプ
ールディレクトリ12に再度投入するスプールファイル
再スプール装置16と、スプーラ3によってスプールさ
れたスプールファイル13をプリンタ17に出力する制
御を行うスプールファイル出力制御装置18とを備えて
いる。
【0024】図2は、スプーラ定義ファイル4内に格納
される項目テーブルの内容を表すものである。この図に
示したように、スプーラ定義ファイル4には、印刷先ス
プーラの優先度20と、障害時に振り向ける先のスプー
ラを有する計算機のホスト名21と、ホスト名21に対
応する計算機が保有するスプーラ識別子22とが対応付
けられて登録されている。
【0025】図3は、別スプーラ属性記憶装置8内に格
納される項目テーブルの内容を表すものである。この図
に示したように、別スプーラ属性記憶装置8には、障害
時の印刷先スプーラを保有する計算機のホスト名23
と、ホスト名23に対応する計算機が保有するスプーラ
識別子24と、プリンタ名25と、プリンタタイプ伝達
装置5から伝達されたプリンタ名に対応するプリンタタ
イプ26と、フォーム名伝達装置6から伝達されたプリ
ンタ名に対応するフォーム名27と、スプール領域空き
サイズ伝達装置7から伝達された空き領域サイズ28と
が対応付けられて登録されている。
【0026】次に、図4〜図14を参照して、以上のよ
うな構成の分散スプールシステムの動作を説明する。
【0027】まず、図4〜図7を参照して、この分散ス
プールシステムの基本動作(前処理およびスプーラ10
3に障害が発生しない場合の処理)を説明する。
【0028】図1において、計算機1のスプーラ103
はシステムによって計算機2のスプーラ3よりも先に起
動されているとする。ここで、計算機2のスプーラ3が
起動されると、スプーラ3のプリンタタイプ伝達装置
5、フォーム名伝達装置6およびスプール領域空きサイ
ズ伝達装置7は、それぞれ、実際に印刷を行うプリンタ
17に関するプリンタタイプ、フォームおよびスプール
空きサイズを計算機1のスプーラ103の属性受信装置
19に通知する。属性受信装置19が受け取った内容は
別スプーラ属性記憶装置8に出力され、ここに図3に示
したフォーマットで記憶される。
【0029】図4はプリンタタイプ伝達装置5の処理を
表すものである。この図に示したように、プリンタタイ
プ伝達装置5から属性受信装置19へのプリンタタイプ
の通知は、スプーラ3からスプーラ3のスプーラ識別子
を入手し(ステップS29)、次に、スプーラ3からプ
リンタ17のプリンタタイプを入手し(ステップS3
0)、さらに、スプーラ3のホスト名、識別子、プリン
タ名およびプリンタタイプを1組にした情報を他の計算
機(計算機1)にブロードキャストする(ステップS3
1)ことで行う。
【0030】図5はフォーム名伝達装置6の処理を表す
ものである。この図に示したように、フォーム名伝達装
置6から属性受信装置19へのフォーム名の通知は、ス
プーラ3からスプーラ3の識別子を入手し(ステップS
32)、次に、スプーラ3からプリンタ17でサポート
しているフォーム名を入手し(ステップS33)、さら
に、スプーラ3のホスト名、識別子、プリンタ名および
フォーム名を1組にした情報を他の計算機(計算機1)
にブロードキャストする(ステップS34)ことで行
う。
【0031】図6はスプール領域空きサイズ伝達装置7
の処理を表すものである。この図に示したように、スプ
ール領域空きサイズ伝達装置7から属性受信装置19へ
のスプール領域空きサイズの通知は、スプーラ3からス
プーラ3のスプーラ識別子を入手し(ステップS3
5)、次に、スプーラ3からスプール領域空きサイズを
検出し(ステップS36)、さらに、スプーラ3のホス
ト名、識別子およびスプール領域空きサイズを1組にし
て他の計算機(計算機1)にブロードキャストする(ス
テップS37)ことで行う。
【0032】図7は属性受信装置19の処理を表すもの
である。図7に示したように、計算機1の属性受信装置
19は他の計算機2のスプーラ3からの情報を受け付け
(ステップS38)、受け取った情報がプリンタタイプ
伝達装置5またはフォーム名伝達装置6からのものであ
る場合は、受け取ったホスト名、スプーラ識別子および
プリンタ名を検索キーとして別スプーラ属性記憶装置8
を検索する(ステップS39)。
【0033】この検索処理では、ステップS40に示し
たように、受け取った情報がプリンタタイプ伝達装置5
からのものであり、かつ、別スプーラ属性記憶装置8の
項目テーブル(図3)中のホスト名23、スプーラ識別
子24およびプリンタ名25の欄に、受け取ったホスト
名、スプーラ識別子およびプリンタ名の組み合わせと同
じ内容のが存在し、既にプリンタタイプ26の欄にプリ
ンタタイプが設定されている場合は、そのプリンタタイ
プ26の欄に、受け取った新しいプリンタタイプをセッ
トする。これに対し、ステップS38で受け取った情報
がプリンタタイプ伝達装置5からのものであり、かつ、
別スプーラ属性記憶装置8の項目テーブル(図3)中の
ホスト名23、スプーラ識別子24およびプリンタ名2
5の欄に、受け取ったホスト名、スプーラ識別子および
プリンタ名の組み合わせと同じ内容のものが存在しない
場合は、新たにエントリを作成し、ホスト名23、スプ
ーラ識別子24およびプリンタ名25の各欄に、それぞ
れ、受け取ったホスト名、スプーラ識別子およびプリン
タ名をセットすると共に、プリンタタイプ26の欄に、
受け取った新しいプリンタタイプをセットし、さらに空
き領域サイズ28の欄には、セットすべき情報がないこ
とを意味する“−−”という記号をセットする。
【0034】また、ステップS41に示したように、受
け取った情報がフォーム名伝達装置6からのものであ
り、かつ、別スプーラ属性記憶装置8のホスト名23、
スプーラ識別子24およびプリンタ名25の欄に、受け
取ったホスト名、スプーラ識別子およびプリンタ名の組
み合わせと同じ内容のものが存在し、既にフォーム名2
7の欄にフォーム名が設定されている場合は、そのフォ
ーム名27の欄に、受け取った新しいフォーム名をセッ
トする。これに対し、受け取った情報がフォーム名伝達
装置6からのものであり、かつ、別スプーラ属性記憶装
置8のホスト名23、スプーラ識別子24およびプリン
タ名25の欄に、受け取ったホスト名、スプーラ識別子
およびプリンタ名の組み合わせと同じ内容のものが存在
しない場合は、新たにエントリを作成し、ホスト名2
3、スプーラ識別子24およびプリンタ名25に、受け
取ったホスト名、スプーラ識別子およびプリンタ名をセ
ットすると共に、フォーム名27の欄に、受け取った新
しいフォーム名をセットし、さらに空き領域サイズ28
の欄には、セットする情報がないことを意味する“−
−”という記号をセットする。
【0035】一方、ステップS38で受け取った情報が
スプール領域空きサイズ伝達装置7からのものである場
合は、属性受信装置19は、ステップS42に示したよ
うに、受け取ったホスト名、スプーラ識別子およびプリ
ンタ名を検索キーとして別スプーラ属性記憶装置8を検
索する。ただし、この場合はプリンタ名は必要ないので
プリンタ名としては“−−”という記号を検索キーとし
て検索する。
【0036】この検索処理では、ステップS43に示し
たように、別スプーラ属性記憶装置8のホスト名23、
スプーラ識別子24およびプリンタ名25の欄に、受け
取ったホスト名、スプーラ識別子およびプリンタ名“−
−”の組み合わせと同じ内容のものがある場合は、その
空き領域サイズ28の欄に、受け取った新しい空き領域
サイズをセットする。これに対し、別スプーラ属性記憶
装置8のホスト名23、スプーラ識別子24およびプリ
ンタ名25の欄に、受け取ったホスト名、スプーラ識別
子およびプリンタ名(−−)の組み合わせと同じ内容の
ものがない場合は、新たにエントリを作成し、ホスト名
23、スプーラ識別子24およびプリンタ名25の欄
に、受け取ったホスト名、スプーラ識別子およびプリン
タ名“−−”をセットすると共に、空き領域サイズ28
の欄に、受け取った新しい空き領域サイズを追加し、さ
らに、プリンタ名25、プリンタタイプ26およびフォ
ーム名27の欄には、セットする情報がないことを意味
する、−−という記号をセットする。
【0037】属性受信装置19は、検索後の上記一連の
処理が終わると、再び他の計算機のスプーラからの情報
を受け付ける。
【0038】スプーラ103において障害が発生しない
場合は、ユーザが印刷コマンド部102によって印刷デ
ータ101をスプーラ103に投入すると、スプーラ1
03は受け取った印刷データをコピーし、スプールディ
レクトリ104の所定の位置にスプールファイル105
として格納する。スプールファイル105はスプールデ
ィレクトリ104の下で印刷待ちの状態で蓄えられる。
スプールファイル105の印刷順番になるとスプーラ1
03はスプールファイル印刷装置11を起動し、スプー
ルファイル105をプリンタ107に渡す。スプールフ
ァイル印刷装置11は従来例(図15)に示したフィル
タ106と同等の機能を有しており、スプールファイル
105で使用するフォーム名をプリンタ107に伝える
とともに、スプールファイル105内のデータをプリン
タ107のデータフォーマットに変換した上でプリンタ
107にデータを送り、印刷を行う。
【0039】次に、図8〜図14を参照して、スプーラ
103に障害が発生した場合の処理を説明する。
【0040】図8はスプーラ選択装置9の処理を表すも
のである。この図において、印刷コマンド部102から
スプーラ103に印刷対象の印刷データ101が投入さ
れると、スプーラ103内のスプーラ選択装置9は自ス
プーラ内に障害があるかどうかを確認する(図8ステッ
プS44)。障害が発生し、スプーラ103を経由して
の印刷が不可能になると、それがスプール領域が足りな
いことによる障害であるか否かを判断する(ステップS
45)。この結果、スプール領域不足障害であった場合
は、図10に示したスプール領域待避処理に移行し(ス
テップS46)、そうでない場合は図9に示したタイプ
・フォーム処理に移行する(ステップS47)。
【0041】図9はスプーラ選択装置9の処理を表すも
ので、図8のうちのタイプ・フォーム処理の詳細を示し
ている。この図に示したように、タイプ・フォーム処理
においては、まずスプーラ定義ファイル4から印刷デー
タを投入すべき他のスプーラの候補を読み込む(図9ス
テップS48)。スプーラ定義ファイル4には、図2に
示したフォーマットでスプーラ候補が定義されているの
で、ここから、優先度20が一番高い(数字が一番小さ
い)スプーラのホスト名21およびスプーラ識別子22
の内容を読み込む。例えば図2では、まず優先度が
“1”であるスプーラとして、ホスト名「abc」およ
びスプーラ識別子「1」の組み合わせを選択する。そし
て、選択したホスト名21およびスプーラ識別子22の
内容の組み合わせと同じ名前を持つホスト名およびスプ
ーラ識別子を検索キーとして別スプーラ属性記憶装置8
(図3)のエントリを検索する(ステップS49)。
【0042】求めるエントリが存在したときには、それ
に対応するプリンタタイプ26およびフォーム名27の
内容を調べる(ステップS50)。この結果、プリンタ
タイプ26の内容が障害の発生したスプーラの印刷出力
先であるプリンタ107のタイプと一致し、かつ、フォ
ーム名27の内容がプリンタ107のサポートするフォ
ーム名とも一致する場合には、印刷要求を出して印刷コ
マンド部102に切替先スプーラのホスト名、スプーラ
識別子、プリンタ名、プリンタタイプおよびフォーム名
を伝達する(ステップS51)。これに対し、プリンタ
タイプ26は障害の発生したスプーラの印刷出力先であ
るプリンタ107のタイプと一致するものの、フォーム
名27がプリンタ107のサポートするフォーム名と一
致しない場合において、このプリンタタイプの一致が今
回初めての場合は、切替先スプーラのホスト名23、ス
プーラ識別子24、プリンタ名25およびプリンタタイ
プ26の内容を保持する(ステップS52)とともに、
別スプーラ属性記憶装置8のエントリを1つ進めた上で
(ステップS53)、ステップS49に戻り、ホスト名
21とスプーラ識別子22の組み合わせと同一の内容を
もつエントリを別スプーラ属性記憶装置8から検索す
る。
【0043】ステップS49における別スプーラ属性記
憶装置8のエントリ検索の結果、選択したホスト名21
およびスプーラ識別子22の組み合わせと同一のホスト
名およびスプーラ識別子を持つエントリがあった場合で
も、別スプーラ属性記憶装置8から読込んだプリンタタ
イプ26の内容が、障害の発生したスプーラ103の印
刷出力先であるプリンタ107のプリンタタイプと一致
しない場合は、別スプーラ属性記憶装置8のエントリを
1つ進めた上で(ステップS53)、ステップS49に
戻り、ホスト名21とスプーラ識別子22の組み合わせ
と同一の内容をもつエントリを別スプーラ属性記憶装置
8から検索する。
【0044】ステップS49における別スプーラ記憶装
置8のエントリ検索の結果、選択したホスト名21およ
びスプーラ識別子22の組み合わせと同一のホスト名お
よびスプーラ識別子を持つエントリがない場合は、スプ
ーラ定義ファイル4のエントリを1つ進める(ステップ
S54)。そして、次のエントリが該当するものである
場合は、ステップS48に戻ってそのエントリを読み込
み、上記した処理(ステップS49〜S53)を繰り返
す。エントリがない場合は、ステップS52で先に保持
しておいた切替先スプーラのホスト名23、スプーラ識
別子24、プリンタ名25およびプリンタタイプ26の
内容を印刷コマンド部102に伝える(ステップS5
5)。
【0045】図10はスプーラ選択装置9の処理を表
し、図8のうちのスプーラ領域待避処理の詳細を示して
いる。この図に示したように、スプール領域待避処理に
おいては、まず、スプーラ定義ファイル4から1つのエ
ントリを読み込み、次に候補となるスプーラのホスト名
23およびスプーラ識別子24の内容を読み込む(ステ
ップS56)。次に、別スプーラ属性記憶装置8を検索
して、上記次の候補となるスプーラのホスト名23およ
びスプーラ識別子24の組み合わせと同一内容を持ち、
かつ、プリンタ名25、プリンタタイプ26およびフォ
ーム名27の内容がそれぞれ“−−”であるエントリを
読み込む(ステップS57)。読み込んだエントリにつ
いて、空き領域サイズ28がスプールファイルのサイズ
に比べて大きいかどうかチェックする(ステップS5
8)。大きい場合は、読み込んだエントリからホスト名
23およびスプーラ識別子24の内容を切り出し、切替
先スプーラのホスト名およびスプーラ識別子として印刷
コマンド部102に通知する(ステップS59)。小さ
い場合は、スプーラ定義ファイル4のエントリを1つ先
に進めた上で(ステップS60)、ステップS56に戻
って次に候補となるスプーラのホスト名およびスプーラ
識別子を読み込み、上記の処理(ステップS57〜S6
0)を繰り返す。
【0046】印刷コマンド部102は、印刷データ10
1をスプーラ103に投入した際に、スプーラ選択装置
9から切替先スプーラのホスト名とスプーラ識別子を通
知されると、それらをスプーラ切替装置10に渡し、ス
プーラ切替装置10に制御を移す。
【0047】図11はスプーラ切替装置10の処理を表
すものである。この図に示したように、スプーラ切替装
置10は、印刷コマンド部102経由でスプーラ選択装
置9から切替先スプーラの情報としてスプーラ3のホス
ト名、スプーラ識別子およびプリンタタイプとフォーム
名もしくはスプール領域空きサイズとの組み合わせのい
ずれかを入手する(図11ステップS61)。
【0048】入手した情報の中にスプール領域空きサイ
ズが含まれている場合は、他のスプーラ3にスプールフ
ァイルを待避する処理であるとみなし、入手したホスト
名およびスプーラ名を持つスプーラにスプールファイル
を投入する。この投入の際には、自計算機1のホスト名
およびスプーラ識別子と共に待避処理用であることを投
入先のスプーラ3に通知する(ステップS62)。
【0049】入手した情報の中にプリンタタイプが含ま
れている場合は、他のスプーラ3にスプールファイルの
印刷を代替させる処理であるとみなし、入手したホスト
名およびスプーラ名を持つスプーラに印刷データ101
を投入する。この際、印刷するプリンタのプリンタタイ
プおよびフォーム名もスプーラ3に通知する(ステップ
S63)。プリンタタイプは、印刷時にスプーラ3がプ
リンタ17への実際の印刷が可能かを判断するのに使用
され、フォーム名は、スプーラ3がプリンタ17に印刷
する際に使用するフォームをプリンタ17に通知する際
に使用される。
【0050】図12は待避元スプーラ記憶装置14の処
理を表すものである。この図において、スプーラ3は、
印刷コマンド部102のスプーラ切替装置10から印刷
データ101を受け取ると、これをスプールディレクト
リ12に投入する。この投入の際、待避処理用であるこ
との指定と共に投入元の計算機1のホスト名およびスプ
ーラ識別子も送られて来た場合には(ステップS64、
ステップS65)、この印刷データ101は待避用であ
るとみなし、そのスプール番号、待避処理用であること
を示すフラグ、投入元の計算機1のホスト名、およびス
プーラ識別子を待避元スプーラ記憶装置14に記憶する
(ステップS66)。
【0051】一方、待避用であることの指定がない場合
は、待避元スプーラ記憶装置14には記憶せず、通常の
印刷データとしてディレクトリ12にスプールファイル
13を投入する。通常の印刷データの場合、スプールフ
ァイル13はスプールディレクトリ12の下で印刷待ち
の状態で蓄えられる。スプールファイル13の印刷順番
になると、スプーラ3はスプールファイル印刷装置18
を起動し、スプールファイル13をプリンタ17に渡
す。スプールファイル印刷装置18は従来例(図15)
に示したフィルタ106の機能を備えており、スプール
ファイル13で使用するフォーム名をプリンタ107に
伝えるとともに、スプールファイル13内のデータをプ
リンタのデータフォーマットに変換した上でプリンタ1
7にデータを送り、印刷を行う。
【0052】図13はスプールファイル再投入装置15
の処理を表すものである。この図において、計算機2の
スプーラ3は、スプールファイル13を印刷する際、ス
プールファイル再投入装置15によってスプールファイ
ル13を通常データとして印刷するか、あるいは他のス
プーラ103に再投入するかの判別を行う。具体的に
は、スプールファイル再投入装置15はまず、印刷対象
となるスプールファイル13のスプール番号が待避元ス
プーラ記憶装置14で記憶しているスプール番号と一致
するか調べる(図13ステップS67)。この結果、一
致するものがない場合は、通常の印刷データであるとみ
なし、印刷対象となるスプールファイル13をスプール
ファイル印刷装置18に渡しプリンタ17によって印刷
を行う(ステップS71)。
【0053】一方、待避元スプーラ記憶装置14中に一
致するスプール番号がある場合は、そのスプール番号に
対応する待避元スプーラのホスト名およびスプーラ識別
子を待避元スプーラ記憶装置14から入手し(ステップ
S68)、入手したホスト名およびスプーラ識別子の組
み合わせが意味するスプーラ103に対してスプールフ
ァイル13を再投入する。その際、再投入元であるスプ
ーラ3のホスト名およびスプーラ識別子もスプーラ10
3に渡す(ステップS69)。この再投入要求がスプー
ラ103によって受け付けられると、スプールファイル
再投入装置15は、投入したスプールファイル13のス
プール番号、この印刷データは待避処理用であることを
示すフラグ、投入元である計算機1のホスト名およびス
プーラ識別子の組み合わせを待避元スプーラ記憶装置1
4から削除する。
【0054】この再投入処理において、スプーラ103
のスプール空き領域がスプールファイル13のサイズよ
りもまだ小さく障害が取り除かれていない場合には、ス
プーラ103に対する再投入の要求は受け付けられな
い。この場合、スプーラ103は、スプールファイル1
3の再投入時にスプールファイル再投入装置15から渡
された投入元であるスプーラ3のホスト名およびスプー
ラ識別子を用いることにより、スプーラ3に対して要求
拒否を行う。この場合、スプールファイル再投入装置1
5はスプールファイル再スプール装置16に制御を移す
(ステップS70)。
【0055】図14はスプールファイル再スプール装置
16の処理を表すものである。この図に示したように、
スプーラ103の障害が取り除かれておらず、スプール
ファイル再投入装置15によって再投入したスプールフ
ァイルが受け付けられなかったときは、スプーラ103
は、送られてきたホスト名およびスプーラ識別子をもつ
スプーラ3に対してエラー情報を返すので(ステップS
72)、スプーラ3は、スプーラ103から拒否された
スプールファイル13のスプール番号をスプールファイ
ル再スプール装置16によって入手する (ステップS
73)。そして、スプーラ3は、入手したスプーラ番号
を持つスプールファイルを再度スプーラ3のスプールデ
ィレクトリ12に投入する(ステップS74)。さら
に、スプールファイル再スプール装置16は、投入した
スプールファイル13のスプール番号、この印刷データ
は待避処理用であることを示すフラグ、投入元である計
算機1のホスト名およびスプーラ識別子の組み合わせを
待避元スプーラ記憶装置14に記憶する(ステップS7
5)。
【0056】このように、本実施の形態では、印刷コマ
ンド部102によって印刷データ101をスプーラ10
3に投入した場合において当該スプーラ103で障害が
発生すると、スプーラ定義ファイル4に予め登録された
他のスプーラの名称と、計算機2側のプリンタタイプ伝
達装置5、フォーム名伝達装置6およびスプール領域空
きサイズ伝達装置7から得た他のスプーラの情報とを基
に、印刷データ101を投入すべき他のスプーラが選択
され、印刷コマンド部102に通知される。この通知を
受けた印刷コマンド部102は、スプーラ切替装置10
によってその印刷データ101を他の計算機2のスプー
ラ3に投入する。スプーラ3は、投入された印刷データ
101をスプールファイル13としてスプールディレク
トリ12の下に記憶しておき、印刷時にスプールファイ
ル再投入装置15によって、障害が起こったスプーラ1
03に再投入する。その際、スプールファイル13の待
避元である計算機1のスプーラ3が未だスプール可能状
態になっていないときは、スプールファイル再スプール
装置16によって自分の(スプール3の)スプールファ
イル13として再投入する。
【0057】以上、いくつかの実施の形態を挙げて本発
明を説明したが、本発明はこれらの実施の形態に限定さ
れるものではなく、その均等の範囲で種々変形可能であ
る。例えば、上記実施の形態では計算機1および計算機
2はそれぞれ1つのスプーラ(スプーラ3,スプーラ1
03)を備えるものとして説明したが、これに限らず、
各計算機がそれぞれ複数のスプーラを備える場合にも適
用することができる。また、上記実施の形態では各計算
機にそれぞれ1台のプリンタが接続されているものとし
て説明しだが、これに限らず、各計算機にそれぞれ複数
台のプリンタが接続されている場合にも適用できる。
【0058】
【発明の効果】本発明によれば、それぞれがスプーラを
備える複数の計算機のうちの1台の計算機のスプーラに
障害が発生したとき、次に印刷データを渡すべき他のス
プーラを示す情報を予め記憶するようにしたので、1台
の計算機のスプーラに障害が起きた場合、自動的に次の
スプーラ候補を探すことができる。
【0059】また、スプーラは自己が現在サポートして
いるプリンタのタイプを他のスプーラに伝達するように
したので、スプーラに障害が発生した場合、印刷予定の
プリンタと同一のプリンタタイプを持つスプーラを印刷
データ振り向け先のスプーラ候補として選ぶことができ
る。
【0060】また、スプーラは自己が現在サポートして
いるプリンタのフォーム名を他のスプーラに伝達するよ
うにしたので、スプーラに障害が発生した場合、印刷デ
ータ振り向け先のスプーラ候補として、印刷予定の印刷
データが使用するフォーム名と同じフォーム名を用意し
ているプリンタに印刷可能なスプーラを選ぶことがで
き、振り向けたスプーラ経由で実際にプリンタに印刷す
る場合にフォーム変換を行う必要がない。このため、そ
のようなフォーム変換によって印刷処理が待たされる
(あるいは中断される)という事態を回避することがで
きる。
【0061】また、スプーラは自己のスプールエリアに
空きがあるときにそれを他のスプーラに伝達するように
したので、自分のスプールエリアに空きがないときに
は、他のスプールエリアに空きのあるスプーラを探すこ
とができる。
【0062】また、スプーラは自己の内部に障害が発生
したときに当該スプーラを備える計算機に対して他の印
刷先スプーラを示す情報を通知するようにしたので、障
害の発生したスプーラを備える計算機は直ちに他のスプ
ーラに印刷を振り向けることができる。
【0063】また、計算機は印刷先スプーラを他のスプ
ーラに切り替える手段を備えているので、1つのスプー
ラに障害が発生しても印刷が可能となり、スプーラの障
害が取り除かれるまで印刷が中断されることがない。
【0064】また、スプーラが本来自分が処理すべきス
プールファイルを他のスプーラに待避したことを他のス
プーラに通知して記録させるようにしたので、自スプー
ルエリアの空き領域がなくなって印刷データを他の空き
領域のあるスプーラに待避させたとき、それを自動的に
取り出すことができる。
【0065】また、他のスプーラが、待避中のスプール
ファイルを自動的に元の計算機のスプーラに戻して再度
スプールさせるようにしたので、再度スプールファイル
を投入するためのコマンドを入力する必要がない。ま
た、他の計算機のスプーラのスプール空き領域を有効に
使用できるため、1台の計算機に多量のディスクを集中
して接続するという必要がなくなる。
【0066】また、他のスプーラが、待避中のスプール
ファイルを元の計算機のスプーラに戻して再度スプール
させようとしたときに当該元の計算機が未だスプール可
能状態になっていないときにスプールファイルを再度自
己に投入(待避)するようにしたので、印刷が終了する
前に、待避したスプールファイルが消されてしまうとい
う事態を回避することができる。また、再投入するため
のコマンドを逐一入力する必要もない。
【図面の簡単な説明】
【図1】 本発明の一実施の形態に係る分散スプールシ
ステムの構成を表すブロック図である。
【図2】 スプーラ定義ファイルに格納される項目テー
ブルの内容を表す図である。
【図3】 別スプーラ属性記憶装置に格納される項目テ
ーブルの内容を表す図である。
【図4】 プリンタタイプ伝達装置の処理を示す流れ図
である。
【図5】 フォーム名伝達装置の処理を示す流れ図であ
る。
【図6】 スプール領域空きサイズ伝達装置の処理を示
す流れ図である。
【図7】 属性受信装置の処理を示す流れ図である。
【図8】 スプーラ選択装置の処理を示す流れ図であ
る。
【図9】 図8におけるタイプ・フォーム処理の詳細を
示す流れ図である。
【図10】 図8におけるスプール領域待避処理の詳細
を示す流れ図である。
【図11】 スプーラ切替装置の処理を示す流れ図であ
る。
【図12】 待避元スプーラ記憶装置の処理を示す流れ
図である。
【図13】 スプールファイル再投入装置の処理を示す
流れ図である。
【図14】 スプールファイル再スプール装置の処理を
示す流れ図である。
【図15】 従来のスプールシステムの構成を表すブロ
ック図である。
【符号の説明】
1,2 計算機、3,103 スプーラ、4 スプーラ
定義ファイル、5 プリンタタイプ伝達装置、6 フォ
ーム名伝達装置、7 スプール領域空きサイズ伝達装
置、8 別スプーラ属性記憶装置、9 スプーラ選択装
置、10 スプーラ切替装置、11,18 スプールフ
ァイル印刷装置、12,104 スプールディレクト
リ、13,105 スプールファイル、14 待避元ス
プーラ記憶装置、15 スプールファイル再投入装置、
16 スプールファイル再スプール装置、17,107
プリンタ、19 属性受信装置、102 印刷コマン
ド部。

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 それぞれがスプーラを備える複数の計算
    機からなるシステムであって、 前記複数の計算機のうちの1台の計算機のスプーラに障
    害が発生したとき、次に印刷データを渡すべき他のスプ
    ーラを示す情報を予め記憶するスプーラ記憶手段を備
    前記スプーラは、自己が現在サポートしているプリンタ
    のタイプを他のスプーラに伝達するプリンタタイプ伝達
    手段を備え たことを特徴とする分散スプールシステム。
  2. 【請求項2】 それぞれがスプーラを備える複数の計算
    機からなるシステムであって、 前記複数の計算機のうちの1台の計算機のスプーラに障
    害が発生したとき、次に印刷データを渡すべき他のスプ
    ーラを示す情報を予め記憶するスプーラ記憶手段を備
    え、 前記スプーラは、自己が現在サポートしているプリンタ
    のフォーム名を他のスプーラに伝達するフォーム名伝達
    手段を備えたことを特徴とする分散スプールシステム。
  3. 【請求項3】 それぞれがスプーラを備える複数の計算
    機からなるシステムであって、 前記複数の計算機のうちの1台の計算機のスプーラに障
    害が発生したとき、次に印刷データを渡すべき他のスプ
    ーラを示す情報を予め記憶するスプーラ記憶手段を備
    え、 前記スプーラは、自己のスプールエリアに空きがあると
    き、それを他のスプーラに伝達する空きエリア伝達手段
    を備えたことを特徴とする分散スプールシステム。
  4. 【請求項4】 それぞれがスプーラを備える複数の計算
    機からなるシステムであって、 前記複数の計算機のうちの1台の計算機のスプーラに障
    害が発生したとき、次に印刷データを渡すべき他のスプ
    ーラを示す情報を予め記憶するスプーラ記憶手 段を備
    え、 前記スプーラは、自己の内部に障害が発生したとき、当
    該スプーラを備える計算機に対して他の印刷先スプーラ
    を示す情報を通知する印刷先通知手段を備えたことを特
    徴とする分散スプールシステム。
  5. 【請求項5】 それぞれがスプーラを備える複数の計算
    機からなるシステムであって、 前記複数の計算機のうちの1台の計算機のスプーラに障
    害が発生したとき、次に印刷データを渡すべき他のスプ
    ーラを示す情報を予め記憶するスプーラ記憶手段を備
    え、 前記計算機は、印刷先スプーラを他のスプーラに切り替
    える切替手段を備えたことを特徴とする分散スプールシ
    ステム。
  6. 【請求項6】 それぞれがスプーラを備える複数の計算
    機からなるシステムであって、 前記複数の計算機のうちの1台の計算機のスプーラに障
    害が発生したとき、次に印刷データを渡すべき他のスプ
    ーラを示す情報を予め記憶するスプーラ記憶手段を備
    え、 前記スプーラは、本来自分が処理すべきスプールファイ
    ルを他のスプーラに待避させたとき、その旨を当該他の
    スプーラに通知するスプール待避通知手段を備え、 前記他のスプーラは、前記スプール待避通知手段から受
    けた通知の内容を記憶するスプール待避記憶手段を備え
    たことを特徴とする分散スプールシステム。
  7. 【請求項7】 前記他のスプーラは、さらに、 待避中のスプールファイルを元の計算機のスプーラに戻
    して再度スプールさせる待避スプールファイル再スプー
    ル手段を備えたことを特徴とする請求項記載の分散ス
    プールシステム。
  8. 【請求項8】 前記他のスプーラは、さらに、 待避中のスプールファイルを元の計算機のスプーラに戻
    して再度スプールさせようとしたときに当該元の計算機
    が未だスプール可能状態になっていないとき、前記スプ
    ールファイルを再度自己に投入する待避スプールファイ
    ル再待避手段を備えたことを特徴とする請求項記載の
    分散スプールシステム。
JP12319096A 1996-05-17 1996-05-17 分散スプールシステム Expired - Fee Related JP3222059B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12319096A JP3222059B2 (ja) 1996-05-17 1996-05-17 分散スプールシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12319096A JP3222059B2 (ja) 1996-05-17 1996-05-17 分散スプールシステム

Publications (2)

Publication Number Publication Date
JPH09305332A JPH09305332A (ja) 1997-11-28
JP3222059B2 true JP3222059B2 (ja) 2001-10-22

Family

ID=14854429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12319096A Expired - Fee Related JP3222059B2 (ja) 1996-05-17 1996-05-17 分散スプールシステム

Country Status (1)

Country Link
JP (1) JP3222059B2 (ja)

Also Published As

Publication number Publication date
JPH09305332A (ja) 1997-11-28

Similar Documents

Publication Publication Date Title
US7092117B2 (en) Print system
US9224078B2 (en) Image forming apparatus, method, and computer-readable storage medium for forming images on recording media such as paper having different sizes
JP4812162B2 (ja) 自動走査処理
US6879982B2 (en) Data management system, server, and data management method
JP3365988B2 (ja) 画像形成方法
JPH11110275A (ja) データベースシステム及びその制御方法及び情報処理装置
JP2001056756A (ja) ネットワ−ク印刷システム
JP2004005545A (ja) ジョブ管理装置、ジョブ管理方法、制御プログラム、及びジョブ管理システム
JP3222059B2 (ja) 分散スプールシステム
JP4929142B2 (ja) データ処理装置及びその制御方法、コンピュータプログラム
JP2001243034A (ja) 処理装置
JP3102836B2 (ja) プリンタシステムおよびプリンタシステムの印字ジョブ処理方法
JPH11134134A (ja) 印刷システム
JPH11143908A (ja) ファイルシステムおよび該システムに使用するプログラムを記録した記録媒体
KR20050122495A (ko) 파일 검색 방법 및 시스템
US7623253B1 (en) Indirect processing of print jobs
JPH07187491A (ja) 印刷装置
JP2762959B2 (ja) プリンタ制御方式
JPH06187107A (ja) 帳票配布出力装置
JP2003308184A (ja) ジョブ管理システム、ジョブ管理装置、データ処理装置、ジョブ管理方法、データ処理方法、及び制御プログラム
JPH0675725A (ja) プリンタ制御システム
JP2862430B2 (ja) 印刷システム
JP3350180B2 (ja) データ処理システム
JP3800801B2 (ja) 印刷システム
JPH03122715A (ja) プリンタ選択装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees