(57)【特許請求の範囲】
【請求項１】
分散先となる複数のプリンタを指定するプリンタ指定手段と、
印刷すべき印刷データを、前記プリンタ指定手段により指定された複数のプリンタに分散出力する分散出力手段と
を備えて、分散印刷についての制御を行なう分散印刷制御装置において、
前記各プリンタの印刷能力に関わる一の所定条件を入力するための所定のデータ入力欄を表示装置に表示するとともに、入力装置による前記データ入力欄からの入力データを取り込んで、該入力データに基づく所定条件を前記分散印刷のために設定する条件設定手段と、
前記プリンタ指定手段により指定された前記複数のプリンタのそれぞれが備える前記所定条件についての能力情報を取得するプリンタ能力情報取得手段と、
前記データ入力欄から入力可能な入力データを、前記プリンタ能力情報取得手段により取得された前記複数の能力情報に応じて定まる範囲内に制限するデータ入力制限手段と
を備え、
前記データ入力制限手段は、
前記プリンタ能力情報取得手段により取得された前記複数の能力情報の総和である能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第１のモードと、前記プリンタ能力情報取得手段により取得された前記複数の能力情報に共通の能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第２のモードとを選択的に切り替えるモード切替手段を備え、
さらに、
前記モード切替手段によるモードの切り替えのためのスイッチを表示装置に表示するとともに、入力装置による前記スイッチを操作する入力データを取り込んで、該入力データに基づいて、前記モード切替手段に対して前記モードの切り替えを指示する指示手段
を備える分散印刷制御装置。
【請求項２】
請求項１に記載の分散印刷制御装置であって、
前記条件設定手段は、
前記データ入力欄から入力可能な選択肢を示す選択肢表示欄を、前記データ入力欄に伴って表示して、前記選択肢の中から前記入力装置により指示された一の選択肢を前記所定条件として設定する構成であり、
前記データ入力制限手段は、
前記選択肢表示欄に示され得る少なくとも一部の選択肢を前記入力装置による指示を不可能とすることにより、前記入力可能な入力データの制限を行なう構成である分散印刷制御装置。
【請求項３】
請求項１または請求項２に記載の分散印刷制御装置であって、
グループに複数のプリンタを割り当てるグループ割当手段を備え、
前記プリンタ指定手段は、
前記グループ割当手段により割り当ての行なわれたグループ単位で前記指定を行なう構成である分散印刷制御装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の分散印刷制御装置であって、
前記プリンタ指定手段は、
前記指定された複数のプリンタの呼び名を表示装置に表示する呼び名表示制御手段を備える分散印刷制御装置。
【請求項５】
請求項４に記載の分散印刷制御装置であって、
前記プリンタ指定手段は、
前記呼び名表示制御手段により表示されたプリンタの呼び名のそれぞれに対応させて、当該プリンタを前記分散先から除外するためのスイッチを表示装置に表示するとともに、入力装置による前記スイッチの操作データを取り込む入力制御手段を備え、
前記分散出力手段は、
前記入力制御手段により取り込んだ操作データに基づいて前記スイッチが操作されたと判定されたプリンタについては、前記印刷データの出力先から除外する出力先除外手段を備える分散印刷制御装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の分散印刷制御装置であって、
前記プリンタ指定手段は、
前記指定された複数のプリンタのそれぞれに優先順位を指定する優先順位指定手段を備え、
前記分散出力手段は、
前記優先順位指定手段により指定された優先順位を考慮して前記分散出力を行なう構成である分散印刷制御装置。
【請求項７】
請求項１ないし請求項６のいずれかに記載の分散印刷制御装置であって、
前記プリンタ能力情報取得手段は、
前記複数のプリンタの機種毎に設けられたプリンタドライバから各プリンタの性能についての情報を取り込み、該情報から記所定条件についての能力情報を取得する構成である分散印刷制御装置。
【請求項８】
（ａ）分散先となる複数のプリンタを指定するステップと、
（ｂ）印刷すべき印刷データを、前記ステップ（ａ）により指定された複数のプリンタに分散出力するステップと
を備えて、分散印刷についての制御を行なう分散印刷制御方法において、
（ｃ）前記各プリンタの印刷能力に関わる一の所定条件を入力するための所定のデータ入力欄を表示装置に表示するとともに、入力装置による前記データ入力欄からの入力データを取り込んで、該入力データに基づく所定条件を前記分散印刷のために設定するステップと、
（ｄ）前記ステップ（ａ）により指定された前記複数のプリンタのそれぞれが備える前記所定条件についての能力情報を取得するステップと、
（ｅ）前記データ入力欄から入力可能な入力データを、前記ステップ（ｄ）により取得された前記複数の能力情報に応じて定まる範囲内に制限するステップと
を備え、
前記ステップ（ｅ）は、
（ｅ−１）前記ステップ（ｄ）により取得された前記複数の能力情報の総和である能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第１のモードと、前記ステップ（ｄ）により取得された前記複数の能力情報に共通の能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第２のモードとを選択的に切り替えるステップを備え、
さらに、
（ｆ）前記ステップ（ｅ−１）によるモードの切り替えのためのスイッチを表示装置に表示するとともに、入力装置による前記スイッチを操作する入力データを取り込んで、該入力データに基づいて、前記ステップ（ｅ−１）によるモードの切り替えを指示するステップ
を備える分散印刷制御方法。
【請求項９】
（ａ）分散先となる複数のプリンタを指定する機能と、
（ｂ）印刷すべき印刷データを、前記機能（ａ）により指定された複数のプリンタに分散出力する機能と
を、コンピュータに実現させて分散印刷についての制御を行なうコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータプログラムは、さらに、
（ｃ）前記各プリンタの印刷能力に関わる一の所定条件を入力するための所定のデータ入力欄を表示装置に表示するとともに、入力装置による前記データ入力欄からの入力データを取り込んで、該入力データに基づく所定条件を前記分散印刷のために設定する機能と、
（ｄ）前記機能（ａ）により指定された前記複数のプリンタのそれぞれが備える前記所定条件についての能力情報を取得する機能と、
（ｅ）前記データ入力欄から入力可能な入力データを、前記機能（ｄ）により取得された前記複数の能力情報に応じて定まる範囲内に制限する機能と
を、コンピュータに実現させるとともに、
前記機能（ｅ）は、
（ｅ−１）前記機能（ｄ）により取得された前記複数の能力情報の総和である能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第１のモードと、前記機能（ｄ）により取得された前記複数の能力情報に共通の能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第２のモードとを選択的に切り替える機能を備え、
さらに、
（ｆ）前記機能（ｅ−１）によるモードの切替のためのスイッチを表示装置に表示するとともに、入力装置による前記スイッチを操作する入力データを取り込んで、該入力データに基づいて、機能（ｅ−１）による前記モードの切り替えを指示する機能
を、コンピュータに実現させるコンピュータ読み取り可能な記録媒体。
【請求項１０】
請求項９に記載のコンピュータ読み取り可能な記録媒体であって、
前記機能（ｃ）は、
前記データ入力欄から入力可能な選択肢を示す選択肢表示欄を、前記データ入力欄に伴って表示して、前記選択肢の中から前記入力装置により指示された一の選択肢を前記所定条件として設定する構成であり、
前記機能（ｅ）は、
前記選択肢表示欄に示され得る少なくとも一部の選択肢を前記入力装置による指示を不可能とすることにより、前記入力可能な入力データの制限を行なう構成であるコンピュータ読み取り可能な記録媒体。
【請求項１１】
請求項９または請求項１０のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記コンピュータプログラムは、さらに、
（ｇ）グループに１または複数のプリンタを割り当てる機能を、コンピュータに実現させるとともに、
前記機能（ａ）は、
前記機能（ｇ）により割り当ての行なわれたグループ単位で前記指定を行なう構成である
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
請求項９ないし請求項１１のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記機能（ａ）は、
（ａ−１）前記指定された複数のプリンタの呼び名を表示装置に表示する機能を備えるものである
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１３】
請求項１２に記載のコンピュータ読み取り可能な記録媒体であって、
前記機能（ａ）は、
（ａ−２）前記機能（ａ−１）により表示されたプリンタの呼び名のそれぞれに対応させて、当該プリンタを前記分散先から除外するためのスイッチを表示装置に表示するとともに、入力装置による前記スイッチの操作データを取り込む機能を備え、
前記機能（ｂ）は、
前記入力制御機能により取り込んだ操作データに基づいて前記スイッチが操作されたと判定されたプリンタについては、前記印刷データの出力先から除外する機能を備えるものである
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
請求項９ないし請求項１３のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記機能（ａ）は、
（ａ−３）前記指定された複数のプリンタのそれぞれに優先順位を指定する機能を備え、
前記機能（ｂ）は、
前記機能（ａ−３）により指定された優先順位を考慮して前記分散出力を行なう構成である
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１５】
請求項９ないし請求項１４のいずれかに記載のコンピュータ読み取り可能な記録媒体であって、
前記機能（ｄ）は、
前記複数のプリンタの機種毎に設けられたプリンタドライバから各プリンタの性能についての情報を取り込み、該情報から記所定条件についての能力情報を取得する構成である
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、分散先となる複数のプリンタを指定して、印刷すべき印刷データを、前記指定された複数のプリンタに分散出力することにより、分散印刷についての制御を行なう技術に関する。
【０００２】
【従来の技術】
近年、コンピュータネットワークを用いることで、パーソナルコンピュータ等の一の情報処理装置に対して複数のプリンタを容易に接続することが可能となった。こうした一の情報処理装置に複数のプリンタを接続した構成では、情報処理装置で作成した印刷データを各プリンタに分散して出力することができ、全体としての印刷時間の短縮を図ることができる。
【０００３】
かかる構成の印刷システムでは、分散印刷を行なうに際して、各種の情報を情報処理装置に設定しておく必要があった。これら設定情報としては、分散先のプリンタを特定するプリンタ名の情報や、用紙サイズ、用紙種類などの用紙の情報等がある。これら情報の入力は、ディスプレイにデータ入力用のウィンドウを表示して、作業者によるキーボード、マウスを用いた上記ウィンドウからのデータ入力を受けて行なわれる。
【０００４】
情報処理装置では、印刷データを各プリンタに分散出力する前に、上記プリンタ名から定まる各プリンタに対して、上記用紙の情報などのプリンタの印刷能力に関わる情報を通知する。各プリンタはこうした通知に基づいて、当該用紙の情報に見合うよう印刷の準備を行なう。その後、情報処理装置は、印刷の準備が整った各プリンタに向かって印刷データを出力する。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、用紙の情報として設定した内容が、分散先のプリンタの印刷能力を超えることがあった。例えば、分散先のプリンタが最大Ａ４のサイズまでしか印刷能力がないようなときに、用紙サイズをＡ３と設定した場合がそうである。こうした場合、Ａ４までしか印刷能力がないプリンタに対して、Ａ３の用紙サイズでの印刷を要求することになり、この結果、プリンタからは良好な印刷結果を得ることができないといった問題があった。
【０００６】
この発明は、用紙情報などの各種の情報の設定を適正なものとして、良好な印刷結果を得ることができるようにすることを目的としている。
【０００７】
【課題を解決するための手段およびその作用・効果】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【０００８】
この発明の分散印刷制御装置は、
分散先となる複数のプリンタを指定するプリンタ指定手段と、
印刷すべき印刷データを、前記プリンタ指定手段により指定された複数のプリンタに分散出力する分散出力手段と
を備えて、分散印刷についての制御を行なう分散印刷制御装置において、
前記各プリンタの印刷能力に関わる一の所定条件を入力するための所定のデータ入力欄を表示装置に表示するとともに、入力装置による前記データ入力欄からの入力データを取り込んで、該入力データに基づく所定条件を前記分散印刷のために設定する条件設定手段と、
前記プリンタ指定手段により指定された前記複数のプリンタのそれぞれが備える前記所定条件についての能力情報を取得するプリンタ能力情報取得手段と、
前記データ入力欄から入力可能な入力データを、前記プリンタ能力情報取得手段により取得された前記複数の能力情報に応じて定まる範囲内に制限するデータ入力制限手段と
を備え、
前記データ入力制限手段は、
前記プリンタ能力情報取得手段により取得された前記複数の能力情報の総和である能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第１のモードと、前記プリンタ能力情報取得手段により取得された前記複数の能力情報に共通の能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第２のモードとを選択的に切り替えるモード切替手段を備え、
さらに、
前記モード切替手段によるモードの切り替えのためのスイッチを表示装置に表示するとともに、入力装置による前記スイッチを操作する入力データを取り込んで、該入力データに基づいて、前記モード切替手段に対して前記モードの切り替えを指示する指示手段
を備えることを、その要旨としている。
【０００９】
上記構成の分散印刷制御装置によれば、プリンタ指定手段により、分散先となる複数のプリンタが指定され、条件設定手段により、各プリンタの印刷能力に関わる所定条件が設定される。さらに、プリンタ指定情報により指定された複数のプリンタのそれぞれが備える前記所定条件についての能力情報が、プリンタ能力情報取得手段により拾得され、データ入力欄から入力可能な入力データが、データ入力制限手段によって、その取得された各プリンタの能力情報に応じて制限される。
【００１０】
このために、データ入力欄を用いて設定される所定条件は、各プリンタの能力情報に応じたものとなる。したがって、所定条件は適正なものとなることからプリンタの能力にあった分散印刷が常に行なわれることになる。この結果、良好な印刷結果を得ることができるという効果を奏する。
【００１２】
また、データ入力欄から入力可能な入力データを、各プリンタの所定条件についての能力情報の総和である能力情報の集合の範囲内に制限することができる。このために、分散先の複数のプリンタのいずれかが有する能力を用いた印刷を行なうことができることから、高い能力に基づく印刷が可能となる。
【００１４】
また、データ入力欄から入力可能な入力データを、各プリンタの所定条件についての能力情報に共通の能力情報の集合の範囲内に制限することができる。このために、分散先の複数のプリンタのいずれにも備えられる能力でもって印刷を行なうことができることから、上記複数のプリンタのいずれからでも印刷が可能となる。
【００１８】
特に、この構成によれば、上記モードの切替を作業者は入力装置の操作により行なうことができることから、作業者にとって操作性に優れているという効果を奏する。
【００１９】
上記この発明の分散印刷制御装置において、前記条件設定手段は、前記データ入力欄から入力可能な選択肢を示す選択肢表示欄を、前記データ入力欄に伴って表示して、前記選択肢の中から前記入力装置により指示された一の選択肢を前記所定条件として設定する構成であり、前記データ入力制限手段は、前記選択肢表示欄に示され得る少なくとも一部の選択肢を前記入力装置による指示を不可能とすることにより、前記入力可能な入力データの制限を行なう構成とすることができる。
【００２０】
この構成によれば、作業者は、プリンタの能力情報に応じた所定条件を、選択肢表示欄から選択することができ、プリンタの能力情報に応じない所定条件の選択肢については選択することができない。このためにデータ入力欄のデータ入力の操作性に優れている。
【００２１】
上記この発明の分散印刷制御装置において、グループに複数のプリンタを割り当てるグループ割当手段を備え、前記プリンタ指定手段は、前記グループ割当手段により割り当ての行なわれたグループ単位で前記指定を行なう構成とすることができる。
【００２２】
この構成によれば、分散先となる複数のプリンタをグループ単位で指定することができることから、操作性に優れている。
【００２３】
上記この発明の分散印刷制御装置において、前記プリンタ指定手段は、前記指定された複数のプリンタの呼び名を表示装置に表示する呼び名表示制御手段を備える構成とすることができる。
【００２４】
この構成によれば、分散先として指定された複数のプリンタを、作業者は表示装置の表示から知ることができる。
【００２５】
上記呼び名表示制御手段を備える構成の分散印刷制御装置において、前記プリンタ指定手段は、前記呼び名表示制御手段により表示されたプリンタの呼び名のそれぞれに対応させて、当該プリンタを前記分散先から除外するためのスイッチを表示装置に表示するとともに、入力装置による前記スイッチの操作データを取り込む入力制御手段を備え、前記分散出力手段は、前記入力制御手段により取り込んだ操作データに基づいて前記スイッチが操作されたと判定されたプリンタについては、前記印刷データの出力先から除外する出力先除外手段を備える構成とすることができる。
【００２６】
この構成によれば、分散先として指定された複数のプリンタであっても、スイッチを操作することにより、分散先から除外することができる。この結果、操作性に優れている。
【００２７】
上記この発明の分散印刷制御装置において、前記プリンタ指定手段は、前記指定された複数のプリンタのそれぞれに優先順位を指定する優先順位指定手段を備え、前記分散出力手段は、前記優先順位指定手段により指定された優先順位を考慮して前記分散出力を行なう構成であるとすることができる。
【００２８】
この構成によれば、分散先のプリンタでありながら、各プリンタに優先順位を指定することができることから、印刷結果の回収の際の利便性に優れている。
【００３３】
上記この発明の分散印刷制御装置において、前記プリンタ能力情報取得手段は、前記複数のプリンタの機種毎に設けられたプリンタドライバから各プリンタの性能についての情報を取り込み、該情報から記所定条件についての能力情報を取得する構成とすることができる。
【００３４】
この構成によれば、各プリンタの機種毎に設けられたプリンタドライバからプリンタの性能の情報を取り込むことが可能となる。
【００３５】
この発明の分散印刷制御方法は、
（ａ）分散先となる複数のプリンタを指定するステップと、
（ｂ）印刷すべき印刷データを、前記ステップ（ａ）により指定された複数のプリンタに分散出力するステップと
を備えて、分散印刷についての制御を行なう分散印刷制御方法において、
（ｃ）前記各プリンタの印刷能力に関わる一の所定条件を入力するための所定のデータ入力欄を表示装置に表示するとともに、入力装置による前記データ入力欄からの入力データを取り込んで、該入力データに基づく所定条件を前記分散印刷のために設定するステップと、
（ｄ）前記ステップ（ａ）により指定された前記複数のプリンタのそれぞれが備える前記所定条件についての能力情報を取得するステップと、
（ｅ）前記データ入力欄から入力可能な入力データを、前記ステップ（ｄ）により取得された前記複数の能力情報に応じて定まる範囲内に制限するステップと
を備え、
前記ステップ（ｅ）は、
（ｅ−１）前記ステップ（ｄ）により取得された前記複数の能力情報の総和である能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第１のモードと、前記ステップ（ｄ）により取得された前記複数の能力情報に共通の能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第２のモードとを選択的に切り替えるステップを備え、
さらに、
（ｆ）前記ステップ（ｅ−１）によるモードの切り替えのためのスイッチを表示装置に表示するとともに、入力装置による前記スイッチを操作する入力データを取り込んで、該入力データに基づいて、前記ステップ（ｅ−１）によるモードの切り替えを指示するステップ
を備えることを、その要旨としている。
【００３６】
この発明の記録媒体は、
（ａ）分散先となる複数のプリンタを指定する機能と、
（ｂ）印刷すべき印刷データを、前記機能（ａ）により指定された複数のプリンタに分散出力する機能と
を、コンピュータに実現させて分散印刷についての制御を行なうコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータプログラムは、さらに、
（ｃ）前記各プリンタの印刷能力に関わる一の所定条件を入力するための所定のデータ入力欄を表示装置に表示するとともに、入力装置による前記データ入力欄からの入力データを取り込んで、該入力データに基づく所定条件を前記分散印刷のために設定する機能と、
（ｄ）前記機能（ａ）により指定された前記複数のプリンタのそれぞれが備える前記所定条件についての能力情報を取得する機能と、
（ｅ）前記データ入力欄から入力可能な入力データを、前記機能（ｄ）により取得された前記複数の能力情報に応じて定まる範囲内に制限する機能と
を、コンピュータに実現させるとともに、
前記機能（ｅ）は、
（ｅ−１）前記機能（ｄ）により取得された前記複数の能力情報の総和である能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第１のモードと、前記機能（ｄ）により取得された前記複数の能力情報に共通の能力情報の集合を求めて、該求めた能力情報の集合の範囲内に前記データ入力欄から入力可能な入力データを制限する第２のモードとを選択的に切り替える機能を備え、
さらに、
（ｆ）前記機能（ｅ−１）によるモードの切替のためのスイッチを表示装置に表示するとともに、入力装置による前記スイッチを操作する入力データを取り込んで、該入力データに基づいて、機能（ｅ−１）による前記モードの切り替えを指示する機能
を、コンピュータに実現させるよう構成したことを、その要旨としている。
【００３７】
上記構成のこの発明の分散印刷制御方法とコンピュータ読み取り可能な記録媒体は、上記発明の分散印刷制御装置と同様な作用・効果をそれぞれ有しており、データ入力欄を用いたプリンタの印刷能力に関わる所定条件の設定を適正なものとして、良好な印刷結果を得ることができるという効果を奏する。
【００３８】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。その第１の態様は、この発明の記録媒体による機能と同様の機能を持つコンピュータプログラムとしての態様である。その第２の態様は、そのコンピュータプログラムを含むことで搬送波内に具現化されたデータ信号としての態様である。第３の態様は、コンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第３の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の装置や方法を実現することができる。
【００３９】
【発明の実施の形態】
以上説明したこの発明の構成・作用を一層明らかにするために、以下この発明の実施の形態を実施例に基づき説明する。
【００４０】
１．ハードウェアの全体構成
図１はこの発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。図示するように、この一実施例のコンピュータシステムは、コンピュータ１０を備え、このコンピュータ１０には、実質的にコンピュータ機能を有する複数のプリンタ７０，８０，…が、ローカルエリアネットワーク（ＬＡＮ）により構築されたコンピュータネットワーク９０を介して接続されている。なお、コンピュータネットワーク９０は、ＬＡＮに替えて、インターネットや、イントラネットや、ワイドエリアネットワーク（ＷＡＮ）など、各種ネットワークに替えることができる。
【００４１】
コンピュータ１０には、周辺機器としてのＣＲＴディスプレイ１２が接続され、さらにはローカルにてもう一台のプリンタ６０が接続されている。また、コンピュータ１０は、コンピュータ本体１６とキーボード１８とマウス２０を備える。このコンピュータ本体１６には、フロッピィディスク２２の内容を読み取るフロッピィディスクドライブ２４が搭載されている。
【００４２】
コンピュータ本体１６は、中央演算処理装置としてのＣＰＵ３０を中心にバスにより相互に接続されたＲＯＭ３１、ＲＡＭ３２、表示画像メモリ３３、マウスインタフェース３４、キーボードインタフェース３５、ＦＤＣ３６、ＨＤＣ３７、ＣＲＴＣ３８、プリンタインタフェース３９およびネットワーク制御回路４０を備える。
【００４３】
ＲＯＭ３１は、内蔵されている各種プログラム等を記憶する読み出し専用のメモリである。ＲＡＭ３２は、各種データ等を記憶する読み出し・書込み可能なメモリである。表示画像メモリ３３はＣＲＴディスプレイ１２に表示する画像の画像データを記憶するメモリである。マウスインタフェース３４は、マウス２０とのデータ等のやり取りを司るインタフェースである。キーボードインタフェース３５は、キーボード１８からのキー入力を司るインタフェースである。ＦＤＣ３６は、フロッピィディスクドライブ（ＦＤＤ）２４を制御するフロッピィディスクコントローラである。ＨＤＣ３７は、ハードディスクドライブ（ＨＤＤ）４１を制御するハードディスクコントローラである。ＣＲＴＣ３８は、表示画像メモリ３３に記憶される表示画像データに基づいてＣＲＴディスプレイ１２における画像の表示を制御するＣＲＴコントローラである。プリンタインタフェース３９は、ローカルにて接続されるプリンタ１４へのデータの出力を制御するインタフェースである。ネットワーク制御回路４０は、ネットワークカードなどから成り、コンピュータネットワーク９０に接続されている。
【００４４】
このコンピュータシステムでは、オペレーティングシステムはＨＤＤ４１に記憶されており、コンピュータ本体１６に電源を投入すると、ＨＤＤ４１のブートブロックに書き込まれたローダに従ってＲＡＭ３２の所定の領域にロードされる。また、プリンタ６０，７０，８０の機種毎に用意される実プリンタドライバは、フロッピィディスク２２に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ２４からコンピュータ１０にインストールされる。このインストールされたプリンタドライバは、ＨＤＤ４１に記憶されており、コンピュータ１０に電源を投入したときに、オペレーティングシステムに組み込まれ、ＲＡＭ３２の所定の領域にロードされる。
【００４５】
また、このコンピュータシステムでは、仮想的なプリンタについての情報を定める仮想的なプリンタドライバ（仮想プリンタドライバ）１１０を備えている。この仮想プリンタドライバ１１０は、実際のプリンタドライバと同様に、フロッピィディスク２２に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ２４からコンピュータ１０にインストールされる。このインストールされた仮想プリンタドライバ１１０は、ＨＤＤ４１に記憶されており、コンピュータ１０に電源を投入したときに、オペレーティングシステムに組み込まれ、ＲＡＭ３２の所定の領域にロードされる。なお、仮想プリンタドライバ１１０のコンピュータプログラムは、フロッピィディスク２２に格納されたものに替えて、ＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード等の他の携帯型記録媒体（可搬型記録媒体）に格納された構成としてもよい。また、このコンピュータプログラムは、外部のコンピュータネットワーク（例えばインターネット）に接続される特定のサーバから、コンピュータネットワークを介して提供されるプログラムデータをダウンロードして、ＲＡＭ３２またはＨＤＤ４１に転送することにより得るようにすることもできる。
【００４６】
プリンタ６０，７０，８０は、感光ドラムにレーザ光を当てて潜像を作り、トナーで現像して用紙に転写する所謂レーザプリンタである。なお、プリンタ６０，７０，８０としては、インクジェットプリンタ、熱転写プリンタなど、各種プリンタを適用することができる。なお、ここでは、プリンタ６０，７０，８０は、それぞれ異なる機種であるものとする。
【００４７】
２．分散印刷処理の様子
かかる構成のコンピュータシステムによれば、大まかには、コンピュータ本体１６により、印刷すべき印刷データを作成し、この印刷データをコンピュータ本体１６に接続されているプリンタ６０，７０，８０に分散して印刷させる分散印刷処理を行なう。こうした分散印刷処理の様子について以下詳しく説明する。
【００４８】
図２は、分散印刷処理の全体の様子を概略的に示すブロック図である。図３は、分散印刷処理に用いられる仮想プリンタドライバ１１０の処理の様子を示すブロック図である。図４は、分散印刷処理の一部を実現する分散印刷ユーティリティプログラム（以下、単に「分散印刷ユーティリティ」と呼ぶ）１２０の処理の様子を示すブロック図である。
【００４９】
図２に示すように、コンピュータ本体１６の内部で動作しているアプリケーションプログラム１００は、画像の処理を行って画像データを生成し、この画像データを印刷すべく印刷命令を発行する。アプリケーションプログラム１００から印刷命令が発行されると、仮想プリンタドライバ１１０が、印刷命令を受けて、この仮想プリンタドライバ１１０が想定する仮想的なプリンタの性能についての性能情報をアプリケーションプログラム１００に返す。詳細には、図３に示すように、仮想プリンタドライバ１１０は、印刷命令受信部１１１により、アプリケーションプログラム１００から発行される印刷命令を受信して、その印刷命令を受信した旨を印刷命令受信部１１１から受けた性能情報返信部１１２により、仮想的なプリンタの性能についての性能情報をアプリケーションプログラム１００に返す。
【００５０】
ここで仮想的なプリンタの性能というのは、分散先となり得る全てのプリンタのうちの最も性能の高いプリンタについての性能である。一般に、性能の高いプリンタは、高級なプログラム言語により描画を行なっている。例えば、数式等を用いた高度な描画命令により図形を表わすものは高級なプログラム言語であり、ビットマップを用いた程度の低い描画命令により図形を表わすものは低級なプログラム言語である。したがって、この実施例では、仮想的なプリンタの性能を上述したように分配先となり得る全てのプリンタのうちの最も高いプリンタについての性能と定めることで、この仮想プリンタドライバ１１０において高級なプログラム言語に従うデータ変換処理（レンダリング処理）を可能としている。すなわち、高級なプログラム言語は前述したように、高度な描画命令を使用するものであるから、この仮想プリンタドライバ１１０では、もっとも高性能なプリンタに合わせて効率的なレンダリング処理を実現し得るようにしている。
【００５１】
なお、分散先となり得るプリンタというのは、コンピュータ本体１６にローカルもしくはネットワークで接続される全てのプリンタのうちのプロパティ設定部１１３により設定されるプリンタグループに属するプリンタであり、ここでは、プリンタ６０，７０，８０が該当するものとする。
【００５２】
詳細には、上記プリンタ６０，７０，８０の機種毎に用意されるプリンタドライバ（以下、実プリンタドライバと呼ぶ）から分散印刷ユーティリティ１２０が取り込んだ各プリンタ６０，７０，８０の性能情報を、性能情報入力部１１４により取り込んで、仮想プリンタ性能決定部１１５により、これら各プリンタ６０，７０，８０の性能情報から最も高いものを選択して、これを仮想的なプリンタの性能情報とする。性能情報返信部１１２はこの仮想的なプリンタの性能情報をアプリケーションプログラム１００に返している。
【００５３】
なお、こうした仮想プリンタドライバ１１０で定める性能情報は、この実施例のように最も高性能のプリンタの性能とする構成に替えて、各プリンタ６０，７０，８０の性能情報から選択した任意のものとすることもできる。また、各プリンタ６０，７０，８０の性能情報に依存しない予め定めた性能情報とすることもできる。
【００５４】
また、仮想プリンタドライバ１１０は、プロパティ設定部１１３により、ユーザインタフェース１１６を動作させて印刷のための各種情報を設定・記憶するが、この印刷のための各種情報のうちのいくつかの情報を上記性能情報とともに性能情報返信部１１２を介してアプリケーションプログラム１００に返す。印刷のための各種情報としては、印刷品質、色補正、ハーフトーンの種類等の印刷の基本設定に関するもの、用紙のサイズ、印刷方向等の用紙設定に関するもの、分散先となり得るプリンタを指定するプリンタグループに関するもの、分散印刷する場合の分散形態に関するもの等があるが、ここでは、これら情報の内のプリンタグループおよび分散形態に関するものを除いた情報をアプリケーションプログラム１００に送る。
【００５５】
アプリケーションプログラム１００は、性能情報やこれら情報を受け取り、上記生成した画像データを性能情報やこれら情報に基づいて、プリンタ（ここでは仮想的なプリンタ）に適合した印刷データに変換して、この変換後の印刷データを仮想プリンタドライバ１１０に送る。この印刷データの変換の処理は、前述したように効率的なレンダリング処理を実現するもので、実プリンタドライバにより実現される色変換やハーフトーン等の処理についてはここでは実施されない。
【００５６】
図２に示すように、仮想プリンタドライバ１１０は、アプリケーションプログラム１００から送られてきた印刷データを中間印刷データとして、その中間印刷データをまとめたデータセットを中間印刷ファイルＭＦとしてＨＤＤ４１に一旦格納する。詳細には、図３に示すように、アプリケーションプログラム１００から送られてきた印刷データを印刷データ受信部１１７により受信して、その後、その印刷データを中間印刷データとしてその中間印刷データをまとめたデータセットを、中間印刷データ出力部１１８によりＨＤＤ４１に出力する。この中間印刷ファイルＭＦの中間印刷データは、その後、分散印刷ユーティリティ１２０により読み込まれる。なお、中間印刷ファイルＭＦは、ＨＤＤ４１に替えてＲＡＭ３２に格納する構成としたり、フロッピィディスク２２に格納する構成としたりすることもでき、さらには、他の外部記憶装置とすることもできる。また、仮想プリンタドライバ１１０は、プロパティ設定部１１３で設定された各種情報をプリンタプロパティデータとしてプロパティデータ出力部１１９を介して分散印刷ユーティリティ１２０に送る処理も行なう。
【００５７】
図２に示すように、分散印刷ユーティリティ１２０は、中間印刷ファイルＭＦを構成する中間印刷データとプリンタプロパティデータとを受け取り、その中間印刷データを、プリンタプロパティデータに含まれるプリンタグループと分散形態に関する情報に従って分散先となり得る各プリンタ６０，７０，８０用に分配して、各プリンタ６０，７０，８０に対応して設けられた実プリンタドライバ１３０，１４０，１５０に送る。分散印刷ユーティリティ１２０によるこうした処理について、次に詳しく説明する。
【００５８】
図４に示すように、分散印刷ユーティリティ１２０は、まず、中間印刷データ入力部１２１により、中間印刷ファイルＭＦを構成する中間印刷データを取り込むとともに、プロパティデータ入力部１２２により、仮想プリンタドライバ１１０から送られてくるプリンタプロパティデータを受け取る。次いで、そのプリンタプロパティデータに含まれるプリンタグループと分散形態に関する情報に基づいて、割り振り決定部１２３により中間印刷データの割り振りを決定する。ここでいう割り振りというのは、中間印刷データをページ単位に分け、プリンタグループに属する各プリンタ６０，７０，８０がそれぞれ引き受けるページを定めることである。
【００５９】
こうして決定された割り振りの情報は出力データ制御部１２４に送られる。出力データ制御部１２４は、中間印刷データ入力部１２１で取り込んだ中間印刷データを、上記割り振りの情報に基づいて、上記プリンタ６０，７０，８０の実プリンタドライバ１３０，１４０，１５０に対して振り分けながらそれぞれ出力する。なお、この実プリンタドライバ１３０，１４０，１５０へのデータ出力の際には、具体的には次のような作業を経て行なう。
【００６０】
まず、割り振り先のプリンタに対してプリンタドライバを介して設定変更を指示する処理をプリンタ設定部１２５により行なう。次いで、出力命令出力部１２６により出力命令を発行して、その出力命令の発行を受けた実プリンタドライバ１３０，１４０，１５０から返送されてくるプリンタ６０，７０，８０の性能についての性能情報を、性能情報入力部１２７により受け取る。出力データ制御部１２４は、性能情報入力部１２７から受け取った性能情報と、プロパティデータ入力部１２２から受け取ったプリンタプロパティデータに含まれる印刷の基本設定に関する情報、用紙設定に関する情報等（プリンタグループと分散形態に関する情報を除く）に基づいて、中間印刷データの割り振るべきページを割り振り先のプリンタ６０，７０，８０に適合したデータに変換する（以下、このデータ変換の処理をレンダリング処理と呼ぶ）。
【００６１】
出力データ制御部１２４は、これら変換後の印刷データを最終印刷データとして、最終印刷データ出力部１２８を介して実プリンタドライバ１３０，１４０，１５０に送る。実プリンタドライバ１３０，１４０，１５０は、仮想プリンタドライバでは実施されなかった各プリンタに対応した色変換やハーフトーン等の処理を最終印刷データに施して、その最終印刷データを各プリンタ６０，７０，８０に送信する。
【００６２】
さらに、分散印刷ユーティリティ１２０は、実プリンタドライバ１３０，１４０，１５０からの信号に基づいて各プリンタ６０，７０，８０の状態を監視するプリンタ監視部１２９を備えている。プリンタ監視部１２９は、各プリンタの混み具合やプリンタのエラー状態（故障は勿論のこと、用紙詰まり、用紙切れの状態等も含む）を監視するものである。出力データ制御部１２４は、このプリンタ監視部１２９からの信号を受け取り、上記分配された印刷データの出力に際して、混み合っていたりエラー状態にあるプリンタについては出力先を変更したり、出力先を中止したりする処理を行なう。
【００６３】
なお、実プリンタドライバ１３０，１４０，１５０から送られてくる各プリンタ６０，７０，８０の性能情報は、前述したように分散印刷ユーティリティ１２０で利用されるとともに、性能情報出力部１２ａを介して仮想プリンタドライバ１１０にも送られる。
【００６４】
３．仮想プリンタドライバ
仮想プリンタドライバ１１０がコンピュータ１０にインストールされたときに、オペレーティングシステムがどのような状態に変わるかを、次に説明する。なお、この説明に当たり、この仮想プリンタドライバ１１０が動作するオペレーティングシステムとして、Ｗｉｎｄｏｗｓ９５（マイクロソフト社の商標）を例にとって説明する。
【００６５】
ユーザ（作業者）は、コンピュータ１０を次のように操作して、印刷のための各種情報を設定するダイアログボックスをＣＲＴディスプレイ１２の画面上に開く。すなわち、［スタート］→［設定］→［プリンタ］の操作を行なうことで、「プリンタ」ウィンドウを開く。図５は、この「プリンタ」ウィンドウを示す説明図である。仮想プリンタドライバ１１０がコンピュータ１０にインストールされた場合、図示するように、「プリンタ」ウィンドウＷＮ１には、プリンタ６０，７０，８０の機種毎に用意される実プリンタドライバ１３０，１４０，１５０のアイコンＩＣ１，ＩＣ２，ＩＣ３に加えて、仮想プリンタドライバ１１０に対応する例えば「分散印刷」と表記されたアイコンＩＣ４が表示されることになる。即ち、仮想プリンタドライバ１１０も実プリンタドライバと同様に、インストールされると、その仮想プリンタドライバ１１０に対応したアイコンＩＣ４が「プリンタ」ウィンドウＷＮ１に表示されることになる。
【００６６】
なお、その「プリンタ」ウィンドウ上の仮想プリンタドライバ１１０に対応した「分散印刷」のアイコンＩＣ４をダブル・クリックして、その仮想プリンタドライバ１１０についてのウィンドウを開き、その後、そのウィンドウから［プリンタ］→［プロパティ］の操作を行なうと、その仮想のプリンタについての各種情報を設定する「分散印刷プロパティ」のダイアログボックスが表示される。作業者は、この「分散印刷プロパティ」のダイアログボックスに従ってマウス２０およびキーボード１８を操作することにより、各種の設定情報を入力することが可能となる。なお、この「分散印刷プロパティ」のダイアログボックスが、前述したユーザインタフェース１１６に相当する。
【００６７】
４．ユーザインタフェース
図６は、「分散印刷プロパティ」のダイアログボックスＷＮ２を例示する説明図である。図示するように、「分散印刷プロパティ」のダイアログボックスＷＮ２には、「分散設定」、「プリンタ」の２種類のカードＣＤ１，ＣＤ２が用意されている。「分散設定」のカードＣＤ１は、分散印刷する場合の分散形態に関わる情報等を設定するためのものである。「プリンタ」のカードＣＤ２は、分散先となり得るプリンタグループに関わる情報、用紙設定に関する情報および印刷の基本設定に関する情報等を設定するためのものである。両カードＣＤ１，ＣＤ２のいずれかが、作業者によって、マウス２０を操作することにより選択されて、ダイアログボックスＷＮ２に表示される。図６には、「分散設定」のカードＣＤ１が表示された状態が例示されている。なお、カードＣＤ１，ＣＤ２の内容の組み分けは、上記例に限る訳ではなく、１枚のカードで全ての内容を含む構成としてもよく、あるいは、より細かく分けて３枚以上のカードに分ける構成としてもよい。
【００６８】
図示するように、「分散設定」のカードＣＤ１には、「ドキュメント」、「リカバリ」、「指定日時」の３つのフィールドｆｄ１，ｆｄ２，ｆｄ３が設けられている。「ドキュメント」のフィールドｆｄ１は、文書の印刷形態を設定するためのもので、「部数」についてのデータ入力欄ｉｄ１、「部単位で印刷する」のチェックボックスｉｄ２、「部、ページ単位でまとめる」のチェックボックスｉｄ３、「ジョブのまとめ方」についてのデータ入力欄ｉｄ４、「区切りページ」についてのデータ入力欄ｉｄ５が設けられている。各データ入力欄（チェックボックスを含む、以下同じ）ｉｄ１〜ｉｄ５は次のような仕様にて設計されている。
【００６９】
１）「部数」のデータ入力欄ｉｄ１：
印刷する部数を入力する。アプリケーションプログラム１００で設定された内容がデフォルトとして入力される。
２）「部単位で印刷する」のチェックボックスｉｄ２：
このチェックボックスｉｄ２がオン状態のとき、丁合い印刷となり、オフ状態のとき、スタック印刷となる。ここで、丁合い印刷とは、部単位で、各部はページ順にて出力を行なうものであり、スタック印刷とは、ページ単位で、各ページは部数分出力を行なうものである。すなわち、チェックボックスｉｄ２がオン状態のときには、部単位で、チェックボックスｉｄ２がオフ状態のときには、ページ単位で順に印刷がなされることになる。
【００７０】
３）「部、ページ単位でまとめる」のチェックボックスｉｄ３：
このチェックボックスｉｄ３がオン状態のときには、上記部単位もしくはページ単位の一集合が複数のプリンタに亘って印刷されることを禁止し、オフ状態のときには、その一集合が複数のプリンタに亘って印刷されることを許可する。なお、このチェックボックスｉｄ３がオフ状態のとき、すなわち、「部、ページ単位でまとめない」のときには、分散先の全てのプリンタでほぼ同時に印刷が終了するように、プリンタの印刷速度についての性能（以下、印刷速度性能と呼ぶ）に応じて各プリンタへの割り当て枚数を変えるといったことがなされている。なお、この印刷速度性能情報に応じて各プリンタへの割り当て枚数を変えるといった動作の状態を、以下、「速度優先モード」と呼ぶこととして、この点については後ほど詳述する。
【００７１】
４）「ジョブのまとめ方」のデータ入力欄ｉｄ４：
このデータ入力欄ｉｄ４における「プリンタ単位」のラジオボタンが選択されると、一のプリンタから出力する全ページを一つのまとまりとして扱う。このラジオボタンが選択されると、ネットワークに接続された共有プリンタ７０，８０において他の使用者の印刷結果との混在がなくなる。一方、「部、ページ番号単位」のラジオボタンが選択されると、上記部単位やページ単位の一集合ごとを一つのまとまりとして扱う。ローカルのプリンタ６０に分散する場合や他の使用者の印刷結果と混在しても問題ないような場合に利用する。
【００７２】
５）「区切りページ」のデータ入力欄ｉｄ５：
区切りページとは、他の使用者の印刷結果と上記まとまりの単位で混在した場合に判別できるように、上記まとまりの先頭や末尾に設けるページである。「先頭」のチェックボックスがクリックされた場合には、まとまりの先頭位置に区切りページを印刷する。「末尾」のチェックボックスがクリックされた場合には、まとまりの末尾位置に区切りページを印刷する。なお、区切りページには、印刷する文書名や部数、ページ数、使用者名などが印刷される。
【００７３】
なお、この「ドキュメント」のフィールドｆｄ１には、上記データ入力欄ｉｄ１〜ｉｄ５の他に、上記データ入力欄ｉｄ１〜ｉｄ５の設定内容によって決定される分散形態を表わす分散形態表示欄ｄｄが設けられている。この分散形態表示欄ｄｄは、データ入力欄ｉｄ１〜ｉｄ５の設定内容によって決定される分散形態がどのようなものであるかをイラスト画像にて示すものである。
【００７４】
次に、データ入力欄ｉｄ１〜ｉｄ５の設定の内容によって分散形態表示欄ｄｄのイラスト画像がどのように決まるかを、図７ないし図１０を用いて説明する。まず最初に、「部数」のデータ入力欄ｉｄ１、「部単位で印刷する」のチェックボックスｉｄ２、「部、ページ単位でまとめる」のチェックボックスｉｄ３によってイラスト画像がどのように決まるかを説明する。
【００７５】
図７は、データ入力欄ｉｄ１と２つのチェックボックスｉｄ２，ｉｄ３の設定の内容によって分散形態表示欄ｄｄのイラスト画像がどのように変わるかを示す説明図である。図示の表において、列は、部単位で印刷するか否か、すなわち、「部単位で印刷する」のチェックボックスｉｄ２がオン状態であるかオフ状態であるかによって定まり、行は、部、ページ単位でまとめないか否か、すなわち、「部、ページ単位でまとめる」のチェックボックスｉｄ３がオフ状態であるかオン状態であるかによって定まる。この表は、「部数」データ入力欄ｉｄ１から設定される部数が４部である場合の一例である。
【００７６】
「部単位で印刷する」で、かつ「部、ページ単位でまとめない」の場合には、表中第１行、第１列のセルＣ１１に示すように、１台目（この順位は後述する各プリンタに割り当てられた優先順位に従う順番である。以下、２台目、３台目も同じ）のプリンタ６０には、丁合で第１部の第１ページと第２ページが次いで第２部の第１ページが印刷され、２台目のプリンタ７０には、第２部の第２ページ、第３部の第１ページと第２ページが印刷され、３台目のプリンタ８０には、第４部の第１ページと第２ページが印刷されることを示すイラスト画像が表示される。
【００７７】
「部単位で印刷しない」で、かつ「部、ページ単位でまとめない」の場合には、表中第１行、第２列のセルＣ１２に示すように、スタック印刷となることから、１台目のプリンタ６０には、第１ページが３部印刷され、２台目のプリンタ７０には、第１ページの必要部数の残り分と第２ページが２部印刷され、３台目のプリンタ８０には、第２部の必要部数の残り分とが印刷されることを示すイラスト画像が表示される。
【００７８】
「部単位で印刷する」で、かつ「部、ページ単位でまとめる」の場合には、表中第２行、第１列のセルＣ２１に示すように、１台目のプリンタ６０は、１単位が複数のプリンタに渡ることを禁止することから、第１部の第１ページから第２部の第２ページまで印刷され、２台目のプリンタ７０には、第３部の第１ページと第２ページが印刷され、３台目のプリンタ８０には、第４部の第１ページと第２ページが印刷されることを示すイラスト画像が表示される。
【００７９】
「部単位で印刷しない」で、かつ「部、ページ単位でまとめる」の場合には、表中第２行、第２列のセルＣ２２に示すように、１台目のプリンタ６０には、第１ページが必要部数分印刷され、２台目のプリンタ７０には、第２ページが必要部数分印刷されることを示すイラスト画像が表示される。
【００８０】
なお、図７の表中の第１行のセルＣ１１，Ｃ１２に示した例は、分散先のプリンタ６０，７０，８０がほぼ同一の印刷速度性能を持つ場合についてのものである。各プリンタ６０，７０，８０の印刷速度性能が同一であることから、各プリンタに割り当てる枚数はほぼ均等となっている。これに対して、分散先のプリンタ６０，７０，８０の印刷速度性能が相違する場合には、各プリンタに割り当てる枚数はプリンタの機種によって相違するようになされている。これは、「速度優先」で分散の割り振りを決定するためである。例えば、１台目のプリンタ６０の印刷速度性能が２０ｐｐｍ（Page Per Minute）、２台目のプリンタ７０の印刷速度性能が４０ｐｐｍ、３台目のプリンタ７０の印刷速度性能が４０ｐｐｍであるとすると、各プリンタ６０，７０，８０の印刷速度の性能比率は、１：２：２となる。速度優先モードで分散の割り振りを決めるときには（すなわち、表中の第１行に該当する「部、ページ単位でまとめない」ときには）、各プリンタへの割り当て枚数はこの性能比率に一致するように決められる。こうすることで、各プリンタ６０，７０，８０ができるだけ同時に印刷を終了するようにすることができる。
【００８１】
図８は、速度優先モードで分散の割り振りを決めた場合の一例を示す説明図である。５ページから構成される文書を４部、３台のプリンタ６０，７０，８０に分散する場合について例示する。各プリンタ６０，７０，８０の印刷速度性能は、前述したように２０ｐｐｍ、４０ｐｐｍ、４０ｐｐｍであるとする。こうした場合は、印刷する全ページ数は２０頁であることから、各プリンタ６０，７０，８０の性能比率（１：２：２）から、１台目のプリンタ６０に割り当てられるページ数は４ページ、２台目、３台目のプリンタ７０，８０に割り当てられるページ数はそれぞれ８ページになる。したがって、「部単位で印刷する」場合には、図８に示すように、１台目のプリンタ６０には、丁合で第１部の第１ページから第４ページまでが印刷され、２台目のプリンタ７０には、第１部の第５ページと第２部の第１ページから第５ページまでと第３部の第１ページおよび第２ページとが印刷され、３台目のプリンタ８０には、第３部の第３ページから第５ページまでと第４部の第１ページから第５ページまでとが印刷されることになる。なお、「部単位で印刷しない」場合にも、スタック印刷において、同様に、各プリンタ６０，７０，８０の性能比率（１：２：２）に応じて、各プリンタ６０，７０，８０に割り当てられるページ数が定められている。
【００８２】
この実施例では、図７の表中の第１行の「部、ページ単位でまとめない」場合には、前述したような速度優先モードで分散の割り振りを決定するように行なわれているが、これに対して、図７の表中の第２行の「部、ページ単位でまとめる」場合には、「ハンドリング優先」で分散の割り振りが行なわれるよう（以下、これを「ハンドリング優先モード」と呼ぶ）にした。図９は、ハンドリング優先モードで分散の割り振りを決めた場合の一例を示す説明図である。ハンドリング優先モードでは、部、ページ単位でまとめる、すなわちその単位の一集合が複数のプリンタに分割されないように分散することにより、プリンタからの回収が容易となるようになされている。図９では、図８で示した例と同様に、５ページから構成される文書を４部、３台のプリンタ６０，７０，８０に分散する場合について例示している。図示するように、１台目のプリンタ６０には、丁合で第１部の第１ページないし第５ページが印刷され、２台目のプリンタ７０には、丁合で第２部の第１ページないし第５ページと第３部の第１ページないし第５ページが印刷され、３台目のプリンタ８０には、第４部の第１ページないし第５ページが印刷されることになる。なお、図９の例では、２台目のプリンタ７０が２部を引き受ける構成としたが、これは、ハンドリング優先モードでありながら、さらに速度優先モードでもあるためである。速度優先モードにより前述した１：２：２の性能比率を達すべく、１台目のプリンタ６０が１部を、２台目のプリンタ７０が２部を、３台目のプリンタ８０が２部となるところを残りの部数がないことから１部をそれぞれ引き受けることになる。
【００８３】
一方、図７の表中の第２行の「部、ページ単位でまとめる」場合であっても、ハンドリング優先モードであるが速度優先モードでない構成とすることもできる。この場合には、部、ページ単位の一集合が複数のプリンタに渡ることを禁止したハンドリング優先モードでありながら、各プリンタの請け負う枚数は各プリンタの速度性能によらない均等なものとしている。図８，図９の例のように部数が分散先のプリンタの数で均等に割り切れない場合には、最初のプリンタ側から部数が増えるようになされており、例えば、５ページの文書を４部、３つのプリンタに分散するような場合、１台目のプリンタ６０が２部を、２台目のプリンタ７０が１部を、３台目のプリンタ８０が１部をそれぞれ引き受けることになる。
【００８４】
前述したように、図７の表中の第２行の「部、ページ単位でまとめる」場合には、ハンドリング優先モードで且つ速度優先モードである場合と、速度優先モードではないがハンドリング優先モードである場合との２つの状態を取り得る。この２つの状態の切換えは、この実施例では、「ジョブのまとめ方」のデータ入力欄ｉｄ４の設定内容に従って行なっている。データ入力欄ｉｄ４における「プリンタ単位」のラジオボタンが選択された場合には、一のプリンタから出力する全ページが一つのまとまりとして扱われることから、各プリンタの印刷速度性能が考慮されるように速度優先モードをとるようにし、データ入力欄ｉｄ４における「部、ページ番号単位」のラジオボタンが選択された場合には、部単位やページ単位の一集合ごとを一つのまとまりとして扱うことから、速度優先モードをとらないようにした。データ入力欄ｉｄ４における「部、ページ番号単位」のラジオボタンが選択された場合には、各プリンタの印刷速度性能に関係なく空いているプリンタに１部ずつ印刷紙、残りの部数をあいているあいたプリンタから順番に割り当てるようになされている。
【００８５】
次に、データ入力欄ｉｄ１〜ｉｄ３の設定内容から決まるイラスト画像が、「ジョブのまとめ方」のデータ入力欄ｉｄ４と「区切りページ」のデータ入力欄ｉｄ５によってどのように変わるかを説明する。図１０は、データ入力欄ｉｄ４，ｉｄ５によって分散形態表示欄ｄｄのイラスト画像がどのように決まるかを示す説明図である。図１０に示したイラスト画像の一例は、データ入力欄ｉｄ１〜ｉｄ３の内容によって図７中のセルＣ１１に示すようにイラスト画像が決定した場合に、データ入力欄ｉｄ４，ｉｄ５の設定内容に応じてさらにどのように変わるかを示すものである。
【００８６】
図１０の表において、列は、「ジョブのまとめ方」のデータ入力欄ｉｄ４において「プリンタ単位」、「部、ページ番号単位」のいずれのラジオボタンが選択されたかによって定まり、行は、「区切りページ」のデータ入力欄ｉｄ５において「先頭」、「末尾」の両チェックボックスがどのように指示されているかによって定まる。
【００８７】
「ジョブのまとめ方」のデータ入力欄ｉｄ４において、「プリンタ単位」のラジオボタンがクリックされている場合、表中の第１行、第１列のセルＣＥ１１に示すように、図７のセルＣ１１とそのイラスト画像は変わらず、一のプリンタから印刷される全ページはまとめられた形となる。一方、「部、ページ番号単位」のラジオボタンがクリックされている場合には、第１行、第２列のセルＣＥ１２に示すように、部、もしくはページ単位の集合がまとめられ、それらは次のまとまりとの間で一旦分けられる。なお、実際は、「プリンタ単位」のラジオボタンがクリックされている場合も「部、ページ番号単位」のラジオボタンがクリックされている場合にも、区切りページがないことから同じ印刷結果となる。
【００８８】
「区切りページ」のデータ入力欄ｉｄ５から区切りページがあると判別された場合には、表中の第２行目、第３行目、第４行目に示すように、第１行目にてまとめられた区分に対して、先頭、末尾、または両者に区切りページ（図中黒塗りの部分）が差し込まれた形にイラスト画像は定められる。この表によって決定されるイラスト画像が、分散形態表示欄ｄｄに表示される。
【００８９】
図６に戻り、「リカバリ」のフィールドｆｄ２は、分散印刷されるプリンタでエラーが発生した場合に他のプリンタでリカバリさせる際のリカバリ先を指定するためのものである。この「リカバリ」のフィールドｆｄ２には、「リカバリしない」、「出力先を指定する」、「リカバリ先を自動で選択する」の３つのラジオボタンが設けられている。「リカバリしない」のラジオボタンが選択された場合には、分散印刷されるプリンタでエラーが発生した場合にもリカバリをしないものとする。「出力先を指定する」のラジオボタンが選択された場合には、「プリンタ」のデータ入力欄から入力された出力先をリカバリ先とする。「リカバリ先を自動で選択する」のラジオボタンが選択された場合には、エラーが発生したプリンタと同機種のプリンタをリカバリ先とする。同機種のプリンタがなければ空いているプリンタをリカバリ先とする。
【００９０】
「指定日時」のフィールドｆｄ３は、印刷時間を指定するもので、「印刷日時を指定する」のチェックボックスが指定された場合には、「指定日時」の欄から入力された時間に印刷が開始される。
【００９１】
「分散印刷プロパティ」のダイアログボックスＷＮ２に表示される「プリンタ」のカードＣＤ２について、図１１を用いて次に説明する。図示するように、「プリンタ」のカードＣＤ２には、「プリンタグループ」のフィールドｆｄ４と、「候補選択」のフィールドｆｄ５と、「用紙設定」のフィールドｆｄ６と、内容表示欄ｆｄ７が設けられている。
【００９２】
「プリンタグループ」のフィールドｆｄ４は、文書を分散して印刷するプリンタの集合であるグループを指定するためのもので、「グループ名」のデータ入力欄ｉｄ１１、「コメント」の表示欄ｉｄ１２、「プリンタ」の表示欄ｉｄ１３、「使用台数」の表示欄ｉｄ１４および「グループ設定」のボタンｉｄ１５等が設けられている。なお、上記プリンタの集合であるグループはプリンタグループと呼ぶが、以下単にグループと呼ぶこともある。
【００９３】
「グループ名」のデータ入力欄ｉｄ１１は、グループの名前を設定するためのものであり、右端の逆三角形のマークが付されたボタンｉｄ１１ａがクリックされると、プルダウンメニュ（図２１参照）が開き、このプルダウンメニュに、複数のグループ名が選択肢として予め用意される。作業者は、プルダウンメニュに表示される選択肢の一つをマウス２０を用いてクリックすることで、所望のグループ名をデータ入力欄ｉｄ１１にセットすることができる。
【００９４】
「コメント」の表示欄ｉｄ１２は、「グループ名」のデータ入力欄ｉｄ１１で現在選択されているグループに設定されているコメントを表示するためのものである。「プリンタ」の表示欄ｉｄ１３は、「グループ名」のデータ入力欄ｉｄ１１で現在選択されているグループに属するプリンタ名を表示するものである。「使用台数」の表示欄ｉｄ１４は、分散印刷を実行した場合に使用されるプリンタの台数を表示するものである。
【００９５】
「グループ設定」のボタンｉｄ１５は、新規グループの作成や既存グループの設定変更などの作業を実行開始するためのスイッチである。以下、新規グループの作成の作業について説明する。「グループ設定」のボタンｉｄ１５が、作業者によるマウス２０の操作によってクリックされると、「グループ一覧」のダイアログボックスがまずＣＲＴディスプレイ１２に表示される。
【００９６】
図１２は、「グループ一覧」のダイアログボックスＷＮ３を示す説明図である。図示するように、「グループ一覧」のダイアログボックスＷＮ３には、「一覧リスト」の表示欄ｉｄ２１と、「追加」、「編集」、「削除」等のボタンｉｄ２２，ｉｄ２３，ｉｄ２４が設けられている。「一覧リスト」の表示欄ｉｄ２１は、既存のグループを表示するものである。「追加」のボタンｉｄ２２は、新しいグループを作成したい場合に用いられるもので、このボタンｉｄ２２がマウス２０の操作によってクリックされると、「グループ設定」のダイアログボックスがＣＲＴディスプレイ１２に表示される。
【００９７】
図１３は、「グループ設定」のダイアログボックスＷＮ４を示す説明図である。図示するように、「グループ設定」のダイアログボックスＷＮ４には、「グループ名」のデータ入力欄ｉｄ３１、「コメント」のデータ入力欄ｉｄ３２、「所属するプリンタ」の表示欄ｉｄ３３、「所属しないプリンタ」の表示欄ｉｄ３４等が設けられている。
【００９８】
「グループ名」のデータ入力欄ｉｄ３１は、プリンタの集まりであるグループの名前を入力するためのものである。「コメント」のデータ入力欄ｉｄ３２は、そのグループの説明を入力するためのものである。「所属するプリンタ」の表示欄ｉｄ３３は、そのグループに所属するプリンタを表示するためのものである。「所属しないプリンタ」の表示欄ｉｄ３４は、予め用意した多数のプリンタ名の中からこのグループに所属しないものを表示するためのものである。
【００９９】
作業者は、「所属しないプリンタ」の表示欄ｉｄ３４に表示されたプリンタ名の中から所望のものを選択して、「追加」のボタンｉｄ３５をクリックすることで、その選択したプリンタ名を「所属するプリンタ」の表示欄ｉｄ３３に移すことができる。図１３に例示するように、「所属しないプリンタ」の表示欄ｉｄ３４には８台のプリンタについてのプリンタ名が表示されている。この状態から、「ＬＰ−１００」、「ＬＰ−２００」、「ＬＰ−３００」の３台のプリンタを選択して、「追加」のボタンｉｄ３５をクリックすると、図１４に例示するように、「所属するプリンタ」の表示欄ｉｄ３３に、これら３台のプリンタのプリンタ名が移行して表示されることになる。
【０１００】
なお、「所属するプリンタ」の表示欄ｉｄ３３に表示されるプリンタ名の各プリンタには、その表示される順番に従って優先順位が定められている。最も上部に表示されるプリンタ名が最も優先順位が高く、下部に位置するほど優先順位が低くなる。この表示されるプリンタ名の順番は、「所属するプリンタ」の表示欄ｉｄ３３に移行した順番と一致するものである。「所属しないプリンタ」の表示欄ｉｄ３４に表示されるプリンタ名を１つずつ選択して、「追加」のボタンｉｄ３５をクリックすることで、一つずつ順に「所属するプリンタ」の表示欄ｉｄ３３に移行することができ、これにより、「所属するプリンタ」の表示欄ｉｄ３３に表示されるプリンタの順番、延いては、各プリンタに対して優先順位を定めることができる。上記各プリンタ毎に割り当てられた優先順位は、分散印刷の割り振りの際に利用される。
【０１０１】
「削除」のボタンｉｄ３６は、「所属するプリンタ」の表示欄ｉｄ３３に表示されたプリンタ名から所望のものを削除したい場合に用いられる。
【０１０２】
上記のような「グループ設定」のダイアログボックスＷＮ４を用いた作業により、グループに対して複数のプリンタが割り当てられることになる。この割り当てられた結果は、グループ登録リストデータとしてＲＡＭ３２に格納される。図１５は、グループ登録リストデータＰＤの一例を示す説明図である。図示するように、グループ登録リストデータＰＤには、１または複数のグループ名が記憶され、各グループ名毎に、１または複数のプリンタ名とコメントが関連づけて記憶される。
【０１０３】
なお、「グループ一覧」のダイアログボックスＷＮ３の「一覧リスト」の表示欄ｉｄ２１に表示されるグループ名は、グループ登録リストデータＰＤに記憶されるグループ名のデータに基づいて定められている。図１１に戻り、「プリンタグループ」のフィールドｆｄ４に設けられた「グループ名」のデータ入力欄ｉｄ１１、「コメント」の表示欄ｉｄ１２、「プリンタ」の表示欄ｉｄ１３の内容は、グループ登録リストデータＰＤの内容、すなわち、プリンタ上記に「グループ一覧」のダイアログボックスＷＮ３および「グループ設定」のダイアログボックスＷＮ４で登録された内容で更新されることになる。この結果、「グループ名」のデータ入力欄ｉｄ１１から開くプルダウンメニュには、「グループ一覧」のダイアログボックスＷＮ３に登録されたグループ名が示され、「コメント」の表示欄ｉｄ１２、「プリンタ」の表示欄ｉｄ１３の内容は、「グループ設定」のダイアログボックスＷＮ４で登録された内容が表示されることになる。
【０１０４】
「候補選択」のフィールドｆｄ５は、「用紙設定」のフィールドｆｄ６からのデータ入力を、「機能優先」と「速度優先」の２通りのモードで制限させようとするものである。詳細には、「機能優先」のモードに対応したラジオボタンＢＴ１と「速度優先」のモードに対応したラジオボタンＢＴ２が設けられており、いずれかのラジオボタンＢＴ１，ＢＴ２がクリックされることで、「機能優先」のモードもしくは「速度優先」のモードで上記データ入力の制限がなされる。なお、各モードにより「用紙設定」のフィールドｆｄ６のデータ入力が具体的にどのように制限されるかについては後ほど詳述する。
【０１０５】
「用紙設定」のフィールドｆｄ６は、用紙や印刷品質を設定するためのもので、「用紙サイズ」、「用紙方向」、「両面印刷する」、「用紙種類」、「色」、「解像度」をそれぞれ設定するデータ入力欄ｉｄ４１，ｉｄ４２，ｉｄ４３，ｉｄ４４，ｉｄ４５，ｉｄ４６が設けられている。
【０１０６】
「用紙サイズ」のデータ入力欄ｉｄ４１は、使用する用紙サイズを用紙の種類と共に設定するものであり、右端の逆三角形のマークが付されたボタンｉｄ４１ａがクリックされると、プルダウンメニュ（図２２参照）が開き、このプルダウンメニュに、複数の用紙サイズが選択肢として予め用意される。これら選択肢は、例えば、「Ａ４  ２１０×２９７ｍｍ」、「Ａ４横  ２１０×２９７ｍｍ」、「洋封筒  １２０×２３５」、「ハガキ  １００×１４７ｍｍ」等が該当する。
【０１０７】
「用紙方向」のデータ入力欄ｉｄ４２は、プリンタにおいて用紙のセットされる方向を示すものであり、「縦」と「横」とが選択可能である。「両面印刷する」のデータ入力欄ｉｄ４３は、両面印刷するかどうかを指定するチェックボックスから構成される。このチェックボックスがクリックされた場合には、両面印刷を行なうものとして、両面印刷機能のあるプリンタだけが分散印刷に利用される。
【０１０８】
「用紙種類」のデータ入力欄ｉｄ４４は、用紙の種類を設定するもので、「普通紙」、「スーパーファイン専用紙」、「専用光沢紙」が選択肢として用意されている。「色」のデータ入力欄ｉｄ４５は、プリンタ１４に使用するインクの種類を設定するもので、「カラー」と「モノクロ」とが選択肢として用意されている。「解像度」のデータ入力欄ｉｄ４６は、印刷する解像度を設定するもので、「はやい」、「きれい」の２種類が選択肢として用意されている。ここで、「はやい」、「きれい」は、例えば、順に３６０×３６０（ｄｏｔ）、７２０×７２０（ｄｏｔ）の解像度を示すものである。
【０１０９】
内容表示欄ｆｄ７は、「プリンタグループ」のフィールドｆｄ４と「用紙設定」のフィールドｆｄ５から設定された内容のうちの所望のデータを表示する。
【０１１０】
以上のように構成された「分散印刷プロパティ」のダイアログボックスＷＮ２に従って、作業者はマウス２０およびキーボード１８を操作することにより、分散印刷する場合の分散形態に関わる情報、分散先となり得るプリンタグループに関わる情報、用紙設定に関する情報および印刷の基本設定に関する情報等の各種の設定情報がコンピュータ本体１６に入力されることになる。
【０１１１】
５．コンピュータプログラム
図３に示した仮想プリンタドライバ１１０にて実現される各部１１１〜１１９は、実際は、コンピュータプログラムである仮想プリンタドライバ１１０とその仮想プリンタドライバ１１０に従ってＣＰＵ３０により実行される各種処理とにより実現されている。また、図４に示した分散印刷ユーティリティ１２０にて実現される各部１２１〜１２９は、実際は、コンピュータプログラムである分散印刷ユーティリティ１２０とその分散印刷ユーティリティ１２０に従ってＣＰＵ３０により実行される各種処理とにより実現されている。
【０１１２】
上記分散印刷ユーティリティ１２０は、仮想プリンタドライバ１１０と同様に、フロッピィディスク２２に予め格納されており、所定のインストールプログラムを起動することで、フロッピィディスクドライブ２４からコンピュータ１０にインストールされる。このインストールされた分散印刷ユーティリティ１２０は、ＨＤＤ４１に記憶されており、コンピュータ１０に電源を投入したときに、オペレーティングシステムに組み込まれ、ＲＡＭ３２の所定の領域にロードされる。なお、分散印刷ユーティリティ１２０は、仮想プリンタドライバ１１０と同様に、フロッピィディスク２２に格納されたものに替えて、ＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード等の他の携帯型記録媒体（可搬型記録媒体）に格納された構成としてもよい。また、この分散印刷ユーティリティ１２０は、外部のコンピュータネットワーク（例えばインターネット）に接続される特定のサーバから、コンピュータネットワークを介して提供されるプログラムデータをダウンロードして、ＲＡＭ３２またはＨＤＤ４１に転送することにより得るようにすることもできる。
【０１１３】
図１６は、仮想プリンタドライバ１１０で記述される処理ルーチンを、アプリケーションプログラム１００で記述される処理ルーチンとともに示すフローチャートである。図示するように、このコンピュータ本体１６のＣＰＵ３０は、まず、アプリケーションプログラム１００に処理を移して、画像の処理を行って画像データを作成する処理を行なう（ステップＳ２１０）。このアプリケーションプログラム１００は、文書や絵図等を作成する汎用のアプリケーションプログラムであり、それぞれのアプリケーションプログラム特有の機能を使って画像データが作成される。
【０１１４】
次いで、ＣＰＵ３０は、この作成されたアプリケーションプログラムに備えられる［印刷］のコマンドを実行することで、分散印刷を行なう旨の印刷命令を発行する処理を行なう（ステップＳ２２０）。図１７は、アプリケーションプログラム１００上で［印刷］のコマンドが操作されたときにＣＲＴディスプレイ１２に表示される「印刷」のダイアログボックスＷＮ６の一例を示す説明図である。図示するように、「印刷」のダイアログボックスＷＮ６には、「プリンタ名」のデータ入力欄ｉｄ５１が設けられている。この「プリンタ名」のデータ入力欄ｉｄ５１に、図５で説明した「分散印刷」のアイコンＩＣ４に対応する「分散印刷」の文字列が選択入力された状態で、「ＯＫ」のボタンｉｄ５２がマウス２０によりクリックされると、上記分散印刷を行なう旨の印刷命令がアプリケーションプログラム１００からオペレーティングシステムを介して仮想プリンタドライバ１１０に対して発行される。なお、「印刷」のダイアログボックスＷＮ６において、「プロパティ」のボタンｉｄ５３がマウス２０によりクリックされると、仮想プリンタドライバ１１０に従う分散情報設定ルーチンに処理を移して、「分散印刷プロパティ」のダイアログボックスＷＮ２をＣＲＴディスプレイ１２に表示させ、キーボード１８とマウス２０からの入力データを読み取ることで、分散印刷に係わる各種情報を設定する処理を行なう。
【０１１５】
ここで、「分散印刷プロパティ」のダイアログボックスＷＮ２を用いて分散印刷に係わる各種情報を設定する処理について詳述する。図１８は、ＣＰＵ３０にて実行される分散情報設定ルーチンを示すフローチャートである。図示するように、ＣＰＵ３０は、処理が開始されると、まず、図６に示した「分散印刷プロパティ」のダイアログボックスＷＮ２をＣＲＴディスプレイ１２に表示する（ステップＳ６１０）。次いで、ＣＰＵ３０は、このダイアログボックスＷＮ２において、「分散設定」のカードＣＤ１と「プリンタ」のカードＣＤ２のうちのいずれのカードがアクティブな状態にあるかを判定する（ステップＳ６２０）。ここで、「分散設定」のカードＣＤ１がアクティブな状態にあると判定された場合には、ステップＳ６３０に処理を進める。
【０１１６】
ステップＳ６３０では、ＣＰＵ３０は、ＣＲＴディスプレイ１２の表示画面を見た作業者によるキーボード１８およびマウス２０を用いたデータ入力の操作を受けて、各種データを入力する処理を行なう。ここで入力される各種データは、図６に示した「分散設定」のカードＣＤ１から入力可能なデータであり、分散印刷の分散形態に関する情報が該当する。その後、ＣＰＵ３０は、ステップ３０３で入力された各種データをプリンタプロパティデータの一部のデータとしてＲＡＭ３２に記憶する（ステップＳ６４０）。その後、「リターン」に抜けてこのルーチンの処理を終了する。
【０１１７】
一方、ステップＳ６２０で、「プリンタ」のカードＣＤ２がアクティブな状態にあると判定された場合には、ステップＳ６５０に処理を進めて、「プリンタ」のカードＣＤ２によるデータ入力処理ルーチンを実行する。このデータ入力処理ルーチンの詳細については後述するが、このデータ入力処理ルーチンにより、「プリンタ」のカードＣＤ２から入力可能なプリンタグループに関する情報、用紙設定に関する情報および印刷の基本設定に関する情報等が入力されることになる。その後、ＣＰＵ３０は、ステップ６５０で入力された各種データをプリンタプロパティデータの一部のデータとしてＲＡＭ３２に記憶する（ステップＳ６６０）。その後、「リターン」に抜けてこのルーチンの処理を終了する。
【０１１８】
次に、ステップＳ６５０で実行されるデータ入力処理ルーチンについて詳しく説明する。図１９および図２０は、このデータ入力処理ルーチンを示すフローチャートである。分散情報設定ルーチンのステップＳ６５０に処理が移り、このデータ入力処理ルーチンが実行開始されると、ＣＰＵ３０は、まず、図１９に示すように、作業者によるキーボード１８、マウス２０の入力操作に従う入力データを読み込む（ステップＳ７１０）。次いで、この入力データから、「グループ名」のデータ入力欄ｉｄ１１に備えられたボタンｉｄ１１ａがマウス２０によりクリックされたか否かを判別する（ステップＳ７２０）。ここで、クリックされていると判別された場合、以下の処理を実行する。
【０１１９】
ＣＰＵ３０は、まず、グループ名入力用のプルダウンメニュＭＮ１をＣＲＴディスプレイ１２に表示する処理を行なう（ステップＳ７３０）。図２１は、ＣＲＴディスプレイ１２に表示されるグループ名入力用のプルダウンメニュＭＮ１の一例を示す説明図である。図示するように、このプルダウンメニュＭＮ１は、「グループ名」のデータ入力欄ｉｄ１１の直下に表示される。このプルダウンメニュＭＮ１には、選択肢として複数のグループ名が示される。ステップＳ７３０では、詳細には、ＲＡＭ３２に格納されたグループ登録リストデータＰＤの内容に基づいて、プルダウンメニュＭＮ１に示す選択肢を定めた上で、上記ＣＲＴディスプレイ１２への表示を行なっている。
【０１２０】
次いで、ＣＰＵ３０は、作業者によるマウス２０のクリック操作を受けて、プルダウンメニュＭＮ１から一のグループ名を選択する処理を行なう（ステップＳ７４０）。その後、その選択されたグループ名のグループに属するプリンタ名を、ＲＡＭ３２に格納されるグループ登録リストデータＰＤから求めて、こららプリンタ名を一旦ＲＡＭ３２のテンポラリ領域に記憶するとともに、「プリンタ」のカードＣＤ２の「プリンタ」の表示欄ｉｄ１３に表示する処理を行なう（ステップＳ７５０）。この結果、図２２に例示するように、「グループ名」のデータ入力欄ｉｄ１１にセットされたグループ名のグループに属するプリンタが「プリンタ」の表示欄ｉｄ１３に表示されることになる。
【０１２１】
その後、ＣＰＵ３０はステップＳ７５０でＲＡＭ３２に記憶した各プリンタ名のプリンタについての性能情報を読み込む処理を行なう（ステップＳ７６０）。ここで性能情報とは、印刷可能な用紙サイズ、印刷可能な用紙の種類、両面印刷の可否等についての情報であり、予めＲＡＭ３２にロードされた、各プリンタの機種毎の実プリンタドライバから取り込むことができる。ステップＳ７６０の実行後、「リターン」に抜けて、このデータ入力処理ルーチンを一旦終了する。
【０１２２】
一方、ステップＳ７２０で、否定判別された場合には、ＣＰＵ３０は、図２０のステップＳ７７０に処理を進める。ステップＳ７７０では、ステップＳ７１０で読み込んだ入力データから、「プリンタ」のカードＣＤ２の「用紙サイズ」のデータ入力欄ｉｄ４１に備えられたボタンｉｄ４１ａがマウス２０によりクリックされたか否かを判別する（ステップＳ７７０）。ここで、クリックされたと判別された場合、以下の処理を実行する。
【０１２３】
ＣＰＵ３０は、まず、ステップＳ７６０で取り込んだ各プリンタの性能情報から、各プリンタの印刷可能な用紙サイズを検出する処理を行なう（ステップＳ７８０）。次いで、ＣＰＵ３０は、「プリンタ」のカードＣＤ２の「候補選択」のフィールドｆｄ５において、「機能優先」のモードが選択されているか否かを判別する（ステップＳ７９０）。この判別は、「機能優先」のモードに対応したラジオボタンＢＴ１と「速度優先」のモードに対応したラジオボタンＢＴ２のいずれが選択されているかにより判別する。
【０１２４】
ステップＳ７９０で、「機能優先」のモードであると判別された場合には、ステップＳ７８０で検出した各プリンタの印刷可能な用紙サイズの総和を求める処理（すなわちＯＲ処理）を行なう（ステップＳ８００）。例えば、プリンタ６０，７０の印刷可能な用紙サイズが「Ｂ５」、「Ａ４」であり、プリンタ８０の印刷可能な用紙サイズが「Ｂ５」、「Ａ４」、「Ａ３」である場合には、「Ｂ５」、「Ａ４」、「Ａ３」の用紙サイズがステップＳ８００で求められることになる。
【０１２５】
一方、ステップＳ７９０で、「機能優先」のモードでない、すなわち「速度優先」のモードであると判別された場合には、ステップＳ７８０で検出した各プリンタの印刷可能な用紙サイズにおいて各プリンタに共通な用紙サイズを求める処理（すなわちＡＮＤ処理）を行なう（ステップＳ８１０）。例えば、プリンタ６０，７０の印刷可能な用紙サイズが「Ｂ５」、「Ａ４」であり、プリンタ８０の印刷可能な用紙サイズが「Ｂ５」、「Ａ４」、「Ａ３」である場合には、「Ｂ５」、「Ａ４」の用紙サイズがステップＳ８１０で求められることになる。
【０１２６】
ステップＳ８００またはＳ８１０の実行後、ＣＰＵ３０はステップＳ８２０に処理を進めて、用紙サイズ入力用のプルダウンメニュＭＮ２をＣＲＴディスプレイ１２に表示する処理を行なう。図２２は、ＣＲＴディスプレイ１２に表示される用紙サイズ入力用のプルダウンメニュＭＮ２の一例を示す説明図である。図示するように、このプルダウンメニュＭＮ２は、「用紙サイズ」のデータ入力欄ｉｄ４１の直下に表示される。このプルダウンメニュＭＮ２には、ステップＳ８００またはＳ８１０で求められた用紙サイズが選択肢として表示される。
【０１２７】
こうした結果、図２２に示すように、「候補選択」のフィールドｆｄ５において「機能優先」のモードが選択されている場合には、用紙サイズ入力用のプルダウンメニュＭＮ２には、現在選択されているグループに属する各プリンタ（即ち、「プリンタ」の表示欄ｉｄ１３に表示された各プリンタ）の印刷可能な用紙サイズの総和である、例えば「Ｂ５」、「Ａ４」、「Ａ３」の用紙サイズが選択肢として表示されることになる。
【０１２８】
一方、図２３に示すように、「候補選択」のフィールドｆｄ５において「速度優先」のモードが選択されている場合には、用紙サイズ入力用のプルダウンメニュＭＮ２には、現在選択されているグループに属する各プリンタ（即ち、「プリンタ」の表示欄ｉｄ１３に表示された各プリンタ）の印刷可能な用紙サイズにおいて各プリンタに共通な用紙サイズである、例えば「Ｂ５」、「Ａ４」の用紙サイズが選択肢として表示されることになる。
【０１２９】
図２３に例示した「速度優先」のモード時の表示を、図２２に例示した「機能優先」のモードの表示と比較してみると、「Ａ３」の用紙サイズが選択肢から除外されたことになる。この実施例の別態様として、その除外する選択肢については、グレーダウンさせて表示するように構成することもできる。グレーダウンとは、表示される文字の濃度を低下させることで、文字の識別は可能ではあるが、マウス２０による選択を不能とするものである。かかる構成によれば、プリンタに機能がないということで、いずれの条件が設定することができなくなったかを知ることができる。
【０１３０】
図２０に戻り、ステップＳ８２０の実行後、ＣＰＵ３０は、作業者によるマウス２０のクリック操作を受けて、プルダウンメニュＭＮ２から一の用紙サイズを選択する処理を行なう（ステップＳ８３０）。この処理の結果、その選択された用紙サイズが「用紙サイズ」のデータ入力欄ｉｄ４１にセットされることになる。その後、そのセット用紙サイズを一旦ＲＡＭ３２のテンポラリ領域に記憶する（ステップＳ８４０）。
【０１３１】
その後、ＣＰＵ３０は、ステップＳ８４０で記憶した一の用紙サイズを、ステップＳ７８０で検出した各プリンタの用紙サイズと照合することにより、現在選択されているグループに属する各プリンタにおいて上記一の用紙サイズを印刷不可能な機種を選択して、その機種のプリンタについては、「プリンタ」の表示欄ｉｄ１３の表示をグレーダウンさせる処理を行なう（ステップＳ８５０）。
【０１３２】
図２４に例示するように、「用紙サイズ」のデータ入力欄ｉｄ４１に「Ａ３」の用紙サイズがセットされたとすると、「プリンタ」の表示欄ｉｄ１３に表示されたプリンタ名のプリンタにあって「Ａ３」の用紙サイズが印刷不可能なもの、例えば、「ＬＰ−１００」、「ＬＰ−２００」のプリンタのプリンタ名の表示がグレーダウンされることになる。なお、このステップＳ８４０の処理は、「機能優先」のモード時に限って実行するようにすればよい。「速度優先」のモード時においては、各プリンタに共通の用紙サイズの条件しか設定されていないことから、このステップＳ８４０の処理は不要である。かかる構成によれば、作業者は、分散印刷のなされないプリンタを即座に知ることが可能となる。ステップＳ７８５０の実行後、「リターン」に抜けて、このデータ入力処理ルーチンを一旦終了する。
【０１３３】
一方、ステップＳ７７０で、否定判別された場合には、ＣＰＵ３０は、ステップＳ８６０に処理を進めて、「プリンタ」のカードＣＤ２の他のデータ入力欄からのデータ入力を行なう（ステップＳ８６０）。このデータ入力の結果得られた入力データは一旦ＲＡＭ３２のテンポラリ領域に記憶される。その後、「リターン」に抜けて、このデータ入力処理ルーチンを一旦終了する。
【０１３４】
このデータ入力処理ルーチンは、分散情報設定ルーチンのステップＳ６５０に処理が移行すると実行開始されるが、「プリンタ」のカードＣＤ２に設けられた各種データ入力欄からデータ入力がある度に繰り返し実行される。その後、「分散印刷プロパティ」のダイアログボックスＷＮ２の最下部にある「ＯＫ」のボタンＢＴＯＫがクリックされるデータ入力があった時に、このデータ入力処理ルーチンを終了する。このデータ入力処理ルーチンを終了すると、ＣＰＵ３０は、図１８のステップＳ６６０に処理を進めて、データ入力処理ルーチンでＲＡＭ３２のテンポラリ領域に記憶された各種の入力データを、プリンタプロパティデータの一部のデータとしてＲＡＭ３２に記憶する。この結果、「プリンタ」のカードＣＤ２からプリンタグループに関わる情報、用紙設定に関する情報および印刷の基本設定に関する情報がコンピュータ本体１６に入力されることになる。
【０１３５】
この実施例では、現在選択されているグループに属する各プリンタの性能に応じて、印刷条件である「用紙サイズ」のデータ入力欄ｉｄ４１の設定可能な選択肢が制限されるように構成されていたが、図示しないフローチャートによって、さらに、「両面印刷する」のデータ入力欄ｉｄ４３についても、現在選択されているグループに属する各プリンタの性能に応じて、その入力が制限されるように構成されている。即ち、現在選択されているグループに属する各プリンタの中で少なくとも１台が両面印刷機能を有するような場合には、「機能優先」のモード時には、「両面印刷する」のデータ入力欄ｉｄ４３からのデータ入力が可能となるよう（即ち、各プリンタの能力情報のＯＲである、両面印刷するという条件と両面印刷しないという条件との２通りを入力可能となるよう）にし、「速度優先」のモード時には、「両面印刷する」のデータ入力欄ｉｄ４３からのデータ入力が不可能となるよう（即ち、各プリンタの能力情報のＡＮＤである、両面印刷しないという条件だけが入力可能となる）にする。具体的には、データ入力欄ｉｄ４３である「両面印刷する」のダイアログボックスを、「機能優先」のモード時には入力可能な状態とし、「速度優先」のモード時にはグレーダウンさせて入力不可能な状態とする。
【０１３６】
以上のように、「分散印刷プロパティ」のダイアログボックスＷＮ２を用いて分散印刷に係わる各種情報の設定がなされると、その後、前述したように、「印刷」のダイアログボックスＷＮ６内の「ＯＫ」のボタンｉｄ５２がマウス２０によりクリックされるのを受けて、図１６のステップＳ２２０で印刷命令の発行を行なう。なお、「プロパティ」のボタンｉｄ５３がクリックされず直ちに「ＯＫ」のボタンｉｄ５２がマウス２０によりクリックされた場合には、前回、分散情報設定ルーチンを実行したときにＲＡＭ３２に記憶されたプリンタプロパティデータ（初めての場合には予め用意されたイニシャルのプリンタプロパティデータ）がそのまま残っている。
【０１３７】
ステップＳ２２０で印刷命令が発行されると、ＣＰＵ３０は、仮想プリンタドライバ１１０に処理を移して、アプリケーションプログラム１００による処理から印刷命令を取り込んだか否かを判別する処理を行なう（ステップＳ３１０）。ここで、印刷命令を取り込んでいないと判別されると、ステップＳ３１０の判別処理を繰り返し実行して、アプリケーションプログラム１００からの印刷命令が取り込まれるのを待つ。一方、ステップＳ３１０で印刷命令が取り込まれたと判別されたときには、以下の処理を実行する。
【０１３８】
ＣＰＵ３０は、まず、プリンタ６０，７０，８０の機種毎に用意される実プリンタドライバ１３０，１４０，１５０から分散印刷ユーティリティ１２０が取り込んだ各プリンタ６０，７０，８０の性能情報を、分散印刷ユーティリティ１２０から取り込む（ステップＳ３２０）。その後、ＣＰＵ３０は、これら各プリンタ６０，７０，８０の性能情報から最も高いものを抽出して、これを仮想プリンタの性能情報と決定する（ステップＳ３３０）。その後、ＣＰＵ３０は、この仮想プリンタの性能情報をアプリケーションプログラム１００に送る（ステップＳ３４０）。
【０１３９】
仮想プリンタドライバ１１０から仮想プリンタの性能情報が送られてくると、ＣＰＵ３０は、アプリケーションプログラム１００に処理を移して、その仮想プリンタの性能情報を取り込む（ステップＳ２４０）。次いで、ＣＰＵ３０は、その性能情報と、前述した分散情報設定ルーチンでＲＡＭ３２に記憶したプリンタプロパティデータに含まれる印刷の基本設定に関する情報と用紙設定に関する情報等（プリンタグループと分散形態に関する情報を除く）とに基づいて、ステップＳ２１０で作成した画像データを仮想プリンタに適合した印刷データに変換する（ステップＳ２５０）。その後、この変換後の印刷データを仮想プリンタドライバ１１０に送る（ステップＳ２６０）。ＣＰＵ３０は、ステップＳ２６０の処理を終えると、アプリケーションプログラム１００の処理ルーチンを終了する。
【０１４０】
アプリケーションプログラム１００から仮想プリンタに適合した印刷データが送られてくると、ＣＰＵ３０は、仮想プリンタドライバ１１０に処理を移して、その印刷データを取り込む（ステップＳ３５０）。続いて、ＣＰＵ３０は、その取り込んだ印刷データを中間印刷データとして、その中間印刷データをＨＤＤ４１に出力する（ステップＳ３６０）。この結果、この中間印刷データをまとめたデータセットが中間印刷ファイルＭＦとしてＨＤＤ４１に格納される。ＣＰＵ３０は、ステップＳ３６０の処理を終えると、仮想プリンタドライバ１１０の処理ルーチンを終了する。
【０１４１】
図２５および図２６は、分散印刷ユーティリティ１２０で記述される処理ルーチンを示すフローチャートである。この処理ルーチンは、仮想プリンタドライバ１１０の処理ルーチンを終了後、起動されるものである。処理が開始されると、図２５に示すように、ＣＰＵ３０は、まず、ＨＤＤ４１から中間印刷ファイルＭＦの中間印刷データを取り込む（ステップＳ４１０）。次いで、ＣＰＵ３０は、分散情報設定ルーチンで設定された各種情報であるプリンタプロパティデータを取り込む（ステップＳ４２０）。
【０１４２】
続いて、ＣＰＵ３０は、ステップＳ４２０で取り込んだプリンタプロパティデータに含まれるプリンタグループに関する情報と分散形態に関する情報に基づいて、ステップＳ４１０で取り込んだ中間印刷データの割り振りを決定する処理を行なう（ステップＳ４３０）。この割り振りは、中間印刷データを構成する各ページを指定されたプリンタグループに属する各プリンタ（ここでは、３台のプリンタ６０，７０，８０とする）に対してどのように割り振るかを定めるものである。即ち、「分散印刷プロパティ」のダイアログボックスＷＮ２で設定した分散形態が実現されるように（即ち、「分散設定」のカードＣＤ１の分散形態表示欄ｄｄに表示された図１０に例示した分散形態が実現されるように）、中間印刷データを構成する各ページをどのように各プリンタ６０，７０，８０用に割り振るかを定めている。こうして定められた各プリンタに割り当てられたページについての情報は出力先リストデータとしてＲＡＭ３２に記憶される。
【０１４３】
図２７は、その出力先リストデータの一例を示す説明図である。図示の例は、図８のように割り振りが決定された場合のものである。図示するように、１台目（プリンタに設定した優先順位が１番）のプリンタ６０に対して１，２，３，４の各ページがこの順に、２台目のプリンタ７０に対して５、１，２，３，４，５，１，２の各ページがこの順に、３台目（プリンタに設定した優先順位が最後）のプリンタ８０に対して３、４，５，１，２，３，４，５の各ページがこの順にそれぞれ、印刷するページ番号として定められる。
【０１４４】
ステップＳ４３０で各ページの出力先の割り振りが決まると、次いで、この割り振りに従って実際に印刷がなされるように、以下の処理を実行する。まず、図２６に示すように、ＣＰＵ３０は、印刷の対象となるプリンタを示すプリンタカウンタＣ１を値１にセットする（ステップＳ４４０）。ここで、プリンタカウンタＣ１は、値１のとき１台目のプリンタ６０を、値２のとき２台目のプリンタ７０を、値３のとき３台目のプリンタ７０というように分散先の各プリンタを示すものとする。
【０１４５】
次いで、ＣＰＵ３０は、プリンタカウンタＣ１の値に対応するプリンタに対して設定変更を指示する処理を行なう（ステップＳ４５０）。この処理は、印刷しようとするプリンタに対してプリンタドライバを介して印刷の用意を促すもので、上記ステップＳ４２０で取り込んだプリンタプロパティデータに含まれる印刷の基本設定に関する情報と用紙設定に関する情報のうちから必要な設定情報をプリンタドライバに対して指示を行なう。例えば、用紙の種類は「専用光沢紙」であるということをプリンタドライバに知らせることで、プリンタに対してその用紙に適した印刷が可能な状態となるように定める。
【０１４６】
続いて、ＣＰＵ３０は、印刷の対象となるページ数を示すページカウンタＣ２を値１にセットする（ステップＳ４６０）。その後、ＣＰＵ３０は、ステップＳ４３０で求めた出力先リストデータに、プリンタカウンタＣ１およびページカウンタＣ２で特定されるページが含まれるか否かを判別する（ステップＳ４７０）。ここで、出力先リストデータに含まれると判別されると、以下の処理を行なう。まず、プリンタカウンタＣ１の値に対応するプリンタに対して印刷を実行させるべく、そのプリンタの実プリンタドライバ１３０（１４０，１５０）に対して出力命令を発行する（ステップＳ４８０）。その出力命令の発行を受けた実プリンタドライバ１３０（１４０，１５０）からは、プリンタ６０（７０，８０）の性能についての性能情報が返送されてくることから、次いで、ＣＰＵ３０は、その性能情報を取り込む（ステップＳ４９０）。
【０１４７】
続いて、その性能情報と、ステップＳ４２０で取り込んだプリンタプロパティデータに含まれる印刷の基本設定に関する情報、用紙設定に関する情報等（プリンタグループと分散形態に関する情報を除く）とに基づいて、プリンタカウンタＣ１およびページカウンタＣ２で特定されるページについての最終印刷データを作成する処理を行なう（ステップＳ５００）。詳しくは、ステップＳ４１０で取り込んだ中間印刷データの中からページカウンタＣ２の値に対応したページのページデータを抽出し、この抽出したページデータを、上記性能情報、印刷の基本設定に関する情報および用紙設定に関する情報等に基づいて、プリンタカウンタＣ１の値に対応したプリンタ６０（７０，８０）に適合したデータに変換するレンダリング処理を行なうことにより、最終印刷データを作成する。
【０１４８】
その後、ＣＰＵ３０は、その最終印刷データをプリンタカウンタＣ１の値に対応したプリンタ６０（７０，８０）の実プリンタドライバ１３０（１４０，１５０）に出力する（ステップＳ５１０）。なお、ステップＳ４８０ないしＳ５１０で印刷を実行させる前に、実プリンタドライバ１３０，１４０，１５０からの信号に基づいて各プリンタ６０，７０，８０の状態を監視する処理を行ない、この監視結果が、出力先のプリンタが混み合っていたりエラー状態にあるといったエラー状態にあるというものであるときには、その出力先へのプリンタについては出力先を変更したり、出力先を中止したりする処理を行なうよう構成することもできる。
【０１４９】
その後、ＣＰＵ３０は、ページカウンタＣ２の値を１だけインクリメントする（ステップＳ５２０）。なお、ステップＳ４７０で否定判別されたときには、ステップＳ４８０ないしＳ５１０を読み飛ばして直ちにステップＳ５２０に進む。その後、ＣＰＵ３０は、ページカウンタＣ２の値が最終ページを示す値ＬＣ２を超えたか否かを判別する（ステップＳ５３０）。ここで、最終ページを示す値ＬＣ２を超えていないと判別されると、処理をステップＳ４７０に戻して、上記値１を増加したページについての最終印刷データの作成および出力の処理を行なう。一方、ステップＳ５３０でページカウンタＣ２の値が最終ページを示す値ＬＣ２を超えたと判別されたときには、ＣＰＵ３０は、プリンタカウンタＣ１の値を１だけインクリメントして（ステップＳ５４０）、そのプリンタカウンタＣ１の値が最後のプリンタを示す値ＬＣ１を超えたか否かを判別する（ステップＳ５５０）。ここで、最後のプリンタを示す値ＬＣ１を超えていないと判別されると、処理をステップＳ４５０に戻して、上記値１を増加したプリンタカウンタＣ１で示される次のプリンタ７０（８０，６０）についての各ページの最終印刷データの作成および出力の処理を行なう。一方、ステップＳ５５０でプリンタカウンタＣ１の値が最終ページを示す値ＬＣ１を超えたと判別されたときには、全てのプリンタについての印刷を要する全てのページの最終印刷データの作成・出力が終了したとして、「エンド」に抜けて、分散印刷ユーティリティの処理ルーチンを終了する。
【０１５０】
なお、この分散印刷ユーティリティの処理ルーチンは、前述したように、１ページから最終ページまでの最終印刷データの作成および出力の処理を第１のプリンタから最終のプリンタまで各プリンタ単位で順に行なうよう記述されているが、これはフローチャートの記載上の便宜のためにこのように記述されたものであり、実際は、１ページから最終ページまでの最終印刷データの作成および出力の処理を各プリンタ毎に時分割によりマクロ的に並行処理されるよう構成されている。なお、この実施例では、これら各プリンタ毎の処理がマクロ的に並行に処理されるように構成されているが、これに換えて、複数のマイクロプロセッサを備えるコンピュータ本体を用いることで完全に並行に処理される構成とすることもできる。
【０１５１】
図２８は、以上のように構成されたコンピュータシステムによって分散印刷が行なわれる手順を、従来例と比較しつつ示すタイミングチャートである。図示の例は、３ページから構成される文書を３台のプリンタ６０，７０，８０に１部ずつ印刷する場合についてが示されている。図示するように、この実施例では、最初、中間印刷データの作成がなされ（▲１▼）、次いで、その中間印刷データの１ページ目のページデータが、並行処理により、プリンタ６０用、プリンタ７０用、プリンタ８０用と順に各プリンタに適合するようにレンダリング処理される（▲２▼、▲３▼、▲４▼）。なお、プリンタ６０用に変換されたデータ（最終印刷データ）のプリンタ６０への送信の処理は、次のプリンタ７０用へのレンダリング処理と並列に行なわれており、同様に、プリンタ７０への送信の処理もプリンタ８０への送信も次のレンダリング処理と並列に行なわれる。次いで、中間印刷データの２ページ目のページデータが、並行処理により、プリンタ６０用、プリンタ７０用、プリンタ８０用と順に各プリンタに適合するようにレンダリング処理され（▲５▼、▲６▼、▲７▼）、続いて、中間印刷データの３ページ目のページデータが、並行処理により、プリンタ６０用、プリンタ７０用、プリンタ８０用と順に各プリンタに適合するようにレンダリング処理される（▲８▼、▲９▼、○１０）。こうして全ての印刷が終了する。
【０１５２】
これに対して、従来の装置では、まず、１ページ目のページデータを１台目のプリンタＡに適合するようにレンダリング処理が行なわれ、その後、その変換されたデータをプリンタＡに送信する処理が行なわれる。次いで、２ページ目のページデータを１台目のプリンタＡに適合するようにレンダリング処理が行なわれ、その後、その変換されたデータをプリンタＡに送信する処理が行なわれる。続いて、３ページ目のページデータを１台目のプリンタＡに適合するようにレンダリング処理が行なわれ、その後、その変換されたデータを送信する処理が行なわれる。さらにその後、２台目のプリンタＢについても、１台目のプリンタＡと同様に、１ページ目、２ページ目、３ページ目と順に、レンダリング処理およびプリンタへの送信が行なわれる。その後、３台目のプリンタＣについても、１台目のプリンタＡと同様に、１ページ目、２ページ目、３ページ目と順に、データ変換およびプリンタへの送信が行なわれる。
【０１５３】
したがって、この実施例では、レンダリング処理とプリンタへの送信の処理とが並列に行なわれていることから、従来例と比較して、印刷に要する全体の時間を短縮することができるという効果を奏する。
【０１５４】
また、この実施例によれば、アプリケーションプログラム１００からは仮想プリンタドライバ１１０に対して一の印刷命令を行なうだけで、中間印刷データを得ることができ、この中間印刷データから各プリンタ６０，７０，８０への分散印刷が自動的に行なわれる。このために、作業者は、アプリケーションプログラム上で［印刷］のコマンドを一度実行すればよく、作業性に優れているという効果を奏する。
【０１５５】
この実施例では、「プリンタ」のカードＣＤ２の「用紙サイズ」のデータ入力欄ｉｄ４１から設定される用紙サイズの条件は、現在選択されているグループに属する各プリンタの性能に応じて制限されたものとなる。このために、データ入力欄ｉｄ４１から設定される用紙サイズの条件は、各プリンタの能力情報に応じたものとなる。したがって、用紙サイズの条件は適正なものとなることからプリンタの能力にあった分散印刷が常に行なわれることになる。この結果、良好な印刷結果を得ることができるという効果を奏する。
【０１５６】
特に、この実施例では、「機能優先」のモードが選択された場合には、用紙サイズ入力用のプルダウンメニュＭＮ２に、現在選択されているグループに属する各プリンタの印刷可能な用紙サイズの総和である用紙サイズの集合が選択肢として表示され、一方、「速度優先」のモードが選択された場合には、用紙サイズ入力用のプルダウンメニュＭＮ２に、現在選択されているグループに属する各プリンタの印刷可能な用紙サイズにおいて各プリンタに共通な用紙サイズの集合が選択肢として表示される。このために、「機能優先」のモード時には、分散先の複数のプリンタのいずれかが有する能力を用いた印刷を行なうことができることから、高い能力に基づく印刷が可能となる。一方、「速度優先」のモード時には、分散先の複数のプリンタのいずれにも備えられる能力でもって印刷を行なうことができることから、上記複数のプリンタのいずれからでも印刷が可能となる。この結果、印刷に要する全体の時間を短縮することが可能となる。
【０１５７】
また、この実施例では、ＣＲＴディスプレイ１２に表示される「プリンタ」のカードＣＤ２に設けたラジオボタンＢＴ１，ＢＴ２により、上記「機能優先」のモードと「速度優先」のモードとを切り替えることができる。このために、作業者は、機能を優先するか速度を優先するかを自由に切り替えることができる。したがって、作業者にとって操作性に優れているという効果を奏する。
【０１５８】
なお、この実施例では、前述したようにモード切替用のラジオボタンＢＴ１，ＢＴ２が特別に設けられているが、これに換えて、既存のデータ入力欄の入力データに従って、「機能優先」のモードと「速度優先」のモードとを切り替える構成としてもよい。例えば、「解像度」のデータ入力欄ｉｄ４６で、「はやい」が選択された場合には、「機能優先」のモードに切り換え、「きれい」が選択された場合には、「速度優先」のモードに切り替えるよう構成することができる。
【０１５９】
この実施例では、分散先となる複数のプリンタを、「グループ名」のデータ入力欄ｉｄ１１からグループ単位で指定することができる。このため、いちいち一台ずつ分散先のプリンタを指定していく必要がないことから、作業者の操作性に優れている。さらに、この実施例では、グループに所属するプリンタに対して優先順位が指定されることから、印刷された用紙の回収の際の利便性に優れている。
【０１６０】
本発明の他の実施形態について、次に説明する。
（１）上記実施例では、「プリンタ」の表示欄ｉｄ１３は、「グループ名」のデータ入力欄ｉｄ１１で現在選択されているグループに属するプリンタ名を表示するだけのものであったが、これに換えて、図２９に示すように、表示した各プリンタ名の前方にチェックボックスｃｂｘをそれぞれ設ける構成とすることもできる。「グループ名」のデータ入力欄ｉｄ１１にグループ名が設定されたとき、このグループに属する全てのプリンタのプリンタ名が「プリンタ」の表示欄ｉｄ１３に表示されるが、このとき、各プリンタ名の前方に設けられたチェックボックスｃｂｘは全てチェックされた状態に初期化されている。作業者は、設定したグループでありながら、例えば、用紙切れや故障等の理由により印刷データの出力を止めたいプリンタに対しては、その対応するチェックボックスｃｂｘのチェックを解除することで、印刷データの出力先から除外することができる。したがって、操作性に優れているという効果を奏する。
【０１６１】
なお、この構成においては、「用紙サイズ」のデータ入力欄ｉｄ４１からデータ入力を行なおうとすると、用紙サイズ入力用のプルダウンメニュＭＮ２に表示される選択肢は、チェックボックスｃｂｘのチェックがなされているプリンタに応じたものとなる。例えば、図３０に示すように、「ＬＰ−３００」のチェックボックスｃｂｘが解除されて「Ａ３」の用紙サイズを印刷可能なプリンタが印刷データの出力先から除外された場合、「機能優先」のモード時には、用紙サイズ入力用のプルダウンメニュＭＮ２に表示される「Ａ３」の選択肢はグレーダウンされて選択不能となる。
【０１６２】
（２）上記実施例では、プリンタの印刷能力に関わる所定条件として、用紙サイズについて説明してきたが、用紙サイズに限るものではなく、これに替えて、「両面印刷する」、「用紙種類」、「色」、「解像度」を設定する各データ入力欄ｉｄ４１，ｉｄ４２，ｉｄ４３，ｉｄ４４，ｉｄ４５，ｉｄ４６から入力される印刷能力についてのもの等、他の所定条件とすることもできる。
【０１６３】
（３）この発明の分散印刷制御装置として、印刷を行なう１台のコンピュータ１０から複数のプリンタ６０，７０，８０に対して直接印刷データを出力する構成としていたが、これに替えて、コンピュータネットワーク９０上に、サーバを用意し、サーバ上でプリンタを管理して分散印刷を行なうクライアント／サーバ方式の構成とすることもできる。この構成では、各クライアントに仮想プリンタドライバを内蔵し、サーバに分散印刷ユーティリティを内蔵するようにすればよい。
【０１６４】
以上、本発明の一実施例を詳述してきたが、本発明は、こうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することができるのは勿論のことである。
【図面の簡単な説明】
【図１】この発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。
【図２】分散印刷処理の全体の様子を概略的に示すブロック図である。
【図３】分散印刷処理に用いられる仮想プリンタドライバ１１０の処理の様子を示すブロック図である。
【図４】分散印刷処理の一部を実現する分散印刷ユーティリティ１２０の処理の様子を示すブロック図である。
【図５】「プリンタ」ウィンドウＷＮ１を示す説明図である。
【図６】「分散印刷プロパティ」のダイアログボックスＷＮ２に表示される「分散設定」のカードＣＤ１を示す説明図である。
【図７】データ入力欄ｉｄ１〜ｉｄ３の設定の内容によって分散形態表示欄のイラスト画像がどのように変わるかを示す説明図である。
【図８】速度優先モードで分散の割り振りを決めた場合の一例を示す説明図である。
【図９】ハンドリング優先モードで分散の割り振りを決めた場合の一例を示す説明図である。
【図１０】データ入力欄ｉｄ４、ｉｄ５の設定の内容によって分散形態表示欄のイラスト画像がどのように変わるかを示す説明図である。
【図１１】「分散印刷プロパティ」のダイアログボックスＷＮ２に表示される「プリンタ」のカードＣＤ２を示す説明図である。
【図１２】「グループ一覧」のダイアログボックスＷＮ３を示す説明図である。
【図１３】「グループ設定」のダイアログボックスＷＮ４を示す説明図である。
【図１４】「所属するプリンタ」の表示欄ｉｄ３３への追加がなされた状態を示す説明図である。
【図１５】グループ登録リストデータＰＤの一例を示す説明図である。
【図１６】アプリケーションプログラム１００で記述される処理ルーチンと仮想プリンタドライバ１１０で記述される処理ルーチンを示すフローチャートである。
【図１７】アプリケーションプログラム１００上で［印刷］のコマンドが操作されたときにＣＲＴディスプレイ１２に表示される「印刷」のダイアログボックスＷＮ６の一例を示す説明図である。
【図１８】ＣＰＵ３０にて実行される分散情報設定ルーチンを示すフローチャートである。
【図１９】ＣＰＵ３０にて実行されるデータ入力処理ルーチンの前半部分を示すフローチャートである。
【図２０】データ入力処理ルーチンの後半部分を示すフローチャートである。
【図２１】グループ名入力用のプルダウンメニュＭＮ１の一例を示す説明図である。
【図２２】「機能優先」のモード時における用紙サイズ入力用のプルダウンメニュＭＮ２の一例を示す説明図である。
【図２３】「速度優先」のモード時における用紙サイズ入力用のプルダウンメニュＭＮ２の一例を示す説明図である。
【図２４】「用紙サイズ」のデータ入力欄ｉｄ４１と「プリンタ」の表示欄ｉｄ１３との関連を示す説明図である。
【図２５】分散印刷ユーティリティ１２０で記述される処理ルーチンの前半部分を示すフローチャートである。
【図２６】分散印刷ユーティリティ１２０で記述される処理ルーチンの後半部分を示すフローチャートである。
【図２７】出力先リストデータの一例を示す説明図である。
【図２８】この実施例によって分散印刷が行なわれる手順を、従来例と比較しつつ示すタイミングチャートである。
【図２９】本発明の他の実施形態の「プリンタ」のカードＣＤ２を示す説明図である。
【図３０】上記他の実施形態における用紙サイズ入力用のプルダウンメニュＭＮ２の一例を示す説明図である。
【符号の説明】
１０…コンピュータ
１２…ＣＲＴディスプレイ
１４…プリンタ
１６…コンピュータ本体
１８…キーボード
２０…マウス
２２…フロッピィディスク
２４…フロッピィディスクドライブ
３０…ＣＰＵ
３１…ＲＯＭ
３２…ＲＡＭ
３３…表示画像メモリ
３４…マウスインタフェース
３５…キーボードインタフェース
３６…ＦＤＣ
３７…ＨＤＣ
３８…ＣＲＴＣ
３９…プリンタインタフェース
４０…ネットワーク制御回路
４１…ＨＤＤ
６０，７０，８０…プリンタ
９０…コンピュータネットワーク
１００…アプリケーションプログラム
１１０…仮想プリンタドライバ
１１１…印刷命令受信部
１１２…性能情報返信部
１１３…プロパティ設定部
１１４…性能情報入力部
１１５…仮想プリンタ性能決定部
１１６…ユーザインタフェース
１１７…印刷データ受信部
１１８…中間印刷データ出力部
１１９…プロパティデータ出力部
１２０…分散印刷ユーティリティ
１２１…中間印刷データ入力部
１２２…プロパティデータ入力部
１２３…決定部
１２４…出力データ制御部
１２５…プリンタ設定部
１２６…出力命令出力部
１２７…性能情報入力部
１２８…最終印刷データ出力部
１２９…プリンタ監視部
１２ａ…性能情報出力部
１３０，１４０，１５０…実プリンタドライバ
ＭＦ…中間印刷ファイル
ＷＮ２…「分散印プロパティ」のウィンドウ
ｉｄ１１…「グループ名」のデータ入力欄ｉｄ１１
ｉｄ１３…「プリンタ」の表示欄ｉｄ１３
ｆｄ５…「候補選択」のフィールド
ＢＴ１…「機能優先」のモードに対応したラジオボタン
ＢＴ２…「速度優先」のモードに対応したラジオボタンＢＴ２
ｉｄ４１…「用紙サイズ」のデータ入力欄
ＭＮ２…用紙サイズ入力用のプルダウンメニュ
【図１】
0003757749.tif 000002
【図２】
0003757749.tif 000003
【図３】
0003757749.tif 000004
【図４】
0003757749.tif 000005
【図５】
0003757749.tif 000006
【図６】
0003757749.tif 000007
【図７】
0003757749.tif 000008
【図８】
0003757749.tif 000009
【図９】
0003757749.tif 000010
【図１０】
0003757749.tif 000011
【図１１】
0003757749.tif 000012
【図１２】
0003757749.tif 000013
【図１３】
0003757749.tif 000014
【図１４】
0003757749.tif 000015
【図１５】
0003757749.tif 000016
【図１６】
0003757749.tif 000017
【図１７】
0003757749.tif 000018
【図１８】
0003757749.tif 000019
【図１９】
0003757749.tif 000020
【図２０】
0003757749.tif 000021
【図２１】
0003757749.tif 000022
【図２２】
0003757749.tif 000023
【図２３】
0003757749.tif 000024
【図２４】
0003757749.tif 000025
【図２５】
0003757749.tif 000026
【図２６】
0003757749.tif 000027
【図２７】
0003757749.tif 000028
【図２８】
0003757749.tif 000029
【図２９】
0003757749.tif 000030
【図３０】
0003757749.tif 000031