(57)【要約】【課題】分散印刷にかかわる分散割合設定を容易に行うこと。【解決手段】プリンタの情報を取得する取得手段と、前記取得手段により取得した情報に基づき分散印刷する際の分散割合を設定する設定手段とを有することを特徴とする。【選択図】　　　図５
2004005166.tif 000002
【特許請求の範囲】
【請求項１】
プリンタの情報を取得する取得手段と、
前記取得手段により取得した情報に基づき分散印刷する際の分散割合を設定する設定手段とを有することを特徴とする設定装置。
【請求項２】
前記設定手段は、前記取得手段により各プリンタの情報を取得できない場合、分散割合を均等に設定することを特徴とする請求項１記載の設定装置。
【請求項３】
前記設定手段は、前記取得手段により各プリンタの情報を取得できた場合、前記取得手段により取得したプリンタの情報に基づき分散割合を設定することを特徴とする請求項１、または２記載の設定装置。
【請求項４】
前記プリンタの情報は、プリンタの最大印刷速度を含むことを特徴とする請求項１、２、または３記載の設定装置。
【請求項５】
前記設定手段は、分散割合として各プリンタの最大印刷速度を設定することを特徴とする請求項１、２、３、または４記載の設定装置。
【請求項６】
前記設定手段は、前記取得手段により取得したプリンタの情報に基づき、プリンタの最大印刷速度が不明なものがある場合、分散割合を均等に設定することを特徴とする請求項１記載の設定装置。
【請求項７】
前記分散印刷は、単一のジョブが複数のプリンタで印刷されるジョブに分割されて実行されることを特徴とする請求項１、２、３、４、５、または６記載の設定装置。
【請求項８】
プリンタの情報を取得する取得ステップと、
前記取得ステップにより取得した情報に基づき分散印刷する際の分散割合を設定する設定ステップとを有することを特徴とする設定方法。
【請求項９】
前記設定ステップは、前記取得ステップにより各プリンタの情報を取得できない場合、分散割合を均等に設定することを特徴とする請求項８記載の設定方法。
【請求項１０】
前記設定ステップは、前記取得ステップにより各プリンタの情報を取得できた場合、前記取得ステップにより取得したプリンタの情報に基づき分散割合を設定することを特徴とする請求項８、または９記載の設定方法。
【請求項１１】
前記プリンタの情報は、プリンタの最大印刷速度を含むことを特徴とする請求項８、９、または１０記載の設定方法。
【請求項１２】
前記設定ステップは、分散割合として各プリンタの最大印刷速度を設定することを特徴とする請求項８、９、１０、または１１記載の設定方法。
【請求項１３】
前記設定ステップは、前記取得ステップにより取得したプリンタの情報に基づき、プリンタの最大印刷速度が不明なものがある場合、分散割合を均等に設定することを特徴とする請求項８記載の設定方法。
【請求項１４】
前記分散印刷は、単一のジョブが複数のプリンタで印刷されるジョブに分割されて実行されることを特徴とする請求項８、９、１０、１１、１２、または１３記載の設定方法。
【請求項１５】
プリンタの情報を取得する取得ステップと、
前記取得ステップにより取得した情報に基づき分散印刷する際の分散割合を設定する設定ステップとを有することを特徴とするコンピュータ読み取り可能な設定プログラム。
【請求項１６】
前記設定ステップは、前記取得ステップにより各プリンタの情報を取得できない場合、分散割合を均等に設定することを特徴とする請求項１５記載の設定プログラム。
【請求項１７】
前記設定ステップは、前記取得ステップにより各プリンタの情報を取得できた場合、前記取得ステップにより取得したプリンタの情報に基づき分散割合を設定することを特徴とする請求項１５、または１６記載の設定プログラム。
【請求項１８】
前記プリンタの情報は、プリンタの最大印刷速度を含むことを特徴とする請求項１５、１６、または１７記載の設定プログラム。
【請求項１９】
前記設定ステップは、分散割合として各プリンタの最大印刷速度を設定することを特徴とする請求項１５、１６、１７、または１８記載の設定プログラム。
【請求項２０】
前記設定ステップは、前記取得ステップにより取得したプリンタの情報に基づき、プリンタの最大印刷速度が不明なものがある場合、分散割合を均等に設定することを特徴とする請求項１５記載の設定プログラム。
【請求項２１】
前記分散印刷は、単一のジョブが複数のプリンタで印刷されるジョブに分割されて実行されることを特徴とする請求項１５、１６、１７、１８、１９、または２０記載の設定プログラム。
【請求項２２】
請求項１５乃至２１記載の設定プログラムを記憶する記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、コンピュータネットワークを介して分散印刷サービスを提供するプリントサーバ装置（以下、単に「プリントサーバ」ともいう）や、パーソナルコンピュータ等の端末装置とプリンタを機器制御言語による双方向通信可能に接続して構成される分散及び印刷システム、特にシステムを稼動させるのに必要な設定手続きに用いられる、設定装置、設定方法、設定プログラム、及び設定プログラムを記憶する記憶媒体に関するものである。
【０００２】
【従来の技術】
近年においては、例えば、印刷品位の高いレーザービームプリンタが、低価格化の進展により印刷そのものを業務としないオフィスでも一般的に使用されるようになってきた。またオフィスで利用されるコンピュータ機器のネットワーク化も近年非常に著しい。これらを背景に、一般オフィスにおいて、複数のプリンタをネットワークに接続して使用するケースも珍しくなくなってきている。
【０００３】
このようなプリンタの使用形態が一般的になるにつれて、ネットワークに接続された複数台のプリンタをいかに有効利用するかが新たな課題となってきている。
【０００４】
複数台のプリンタを有効利用する一つの方法としては一つの印刷ジョブを複数のプリンタを用いて印刷させる、いわゆる分散印刷と呼ばれるものがある。分散印刷を行うことにより、大部の印刷ジョブを出力する場合に一台のプリンタで印刷するよりも早く結果を得られるというメリットがある。例えば、１，０００ページのドキュメントを印刷するのに、５台のプリンタを用いて２００ページずつ印刷させれば同じ性能のプリンタ１台で印刷させるより早く印刷が完了すると期待することができる。近年プリンタの低価格化が進展してきたといっても、一般のオフィスで購入できる価格帯のプリンタの性能は現状では十分高速といえない場合がしばしばある。したがって、低価格なプリンタを複数台導入し、ソフトウェアによって分散印刷処理を行って印刷ジョブ全体の実行時間を短縮化するという考え方はコストパフォーマンス面でより現実的に意味があると言える。
【０００５】
より詳しくは、分散印刷処理の方法ではまず分散印刷に用いる複数台のプリンタを特定しておく必要がある。次に、一つの印刷ジョブのどの部分をそれら複数台のプリンタに割り振るかを決定する必要がある。言い換えれば、元の印刷ジョブをどのように論理的に分散して、得られた部分的な印刷ジョブを複数のプリンタに割り当てるかを決定するということである。これには大きく分けて二つの考え方がある。一つは部数単位の分散である。これはあるドキュメントをＮ台のプリンタでＣ部印刷するとすると、各プリンタにそれぞれＣ（１）部、Ｃ（２）部、・・・Ｃ（Ｎ）部（ただし、Ｃ（１）＋Ｃ（２）＋…＋　Ｃ（Ｎ）＝Ｃ）を印刷させるというものである。部数単位の分散は、もとの印刷ジョブがあるドキュメントを複数部数印刷する場合にのみ適用することができる。印刷ジョブの分散印刷処理の方法としてもう一つはページ単位に分散するものである。ページ単位の分散の場合、ＰページのドキュメントをＮ台のプリンタで印刷するとすると、１ページ目からＰ（１）−１ページ目、Ｐ（１）ページ目からＰ（２）−１ページ目、…、Ｐ（Ｎ−１）ページ目からＰページ目を各プリンタに印刷させる。ページ単位の分散はもとの印刷ジョブが複数のページから成るドキュメントを印刷する場合にのみ適用することができる。
【０００６】
さらに、部数単位の分散、ページ単位の分散ともに次に決定する必要があるのが、各プリンタへの印刷ジョブの配分、すなわち分散の割合である。割合の指定方法としては百分率による方法と分散比による方法の二つが使われる。百分率の場合は分散印刷に使用する複数台のプリンタに元の印刷ジョブのそれぞれ何パーセントを印刷させるかを指定する。一方、分散比の場合は各プリンタで印刷する部数またはページ数の比ｘ：ｙ：ｚ：・・・の形で指定していた。
【０００７】
【発明が解決しようとする課題】
上記のような負荷分散を目的とした分散印刷を効率良く行うためには分散割合の設定を適切に行うことが肝要である。分散印刷の目的がなるべく早く印刷を終了することであることからすると、使用する複数のプリンタのうちより高速なプリンタにはより多くの割合を配分し、逆により低速なプリンタにはより少ない割合を配分することが望ましい。
【０００８】
ところで、これまで分散印刷にかかわる前記の分散割合設定はユーザの判断にまかせられていた。そのため、ユーザは分散印刷で使用するプリンタの性能を調べ、それをもとにユーザインタフェース上で各プリンタへの配分を分散割合設定として入力していた。しかしながら、プリンタの性能を調べることは必ずしも容易なこととは言えず、設定に手間を生じさせる要因となっていた。
【０００９】
したがって本発明では、分散印刷にかかわる前記の分散割合設定を容易に行いうる手段・システム・方法・プログラムとそれを含む媒体を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記課題を解決するために本発明の設定装置は、
プリンタの情報を取得する取得手段と、
前記取得手段により取得した情報に基づき分散印刷する際の分散割合を設定する設定手段とを有することを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００１２】
本発明は、例えば、図１に示すようなパーソナルコンピュータ（ＰＣ）１００に適用される。ＰＣ１００上に前記のような分散印刷を行うプリントサーバソフトウェアおよびそのシステム設定を行うソフトウェアを動作させる。特に、本実施の形態のＰＣ１００は、分散印刷の設定を容易にし、ユーザの判断によらずソフトウェアにより自動的に適切な条件設定を決定することで、利便性を高めることを目的としている。
【００１３】
＜ＰＣ１００のハード構成＞
ＰＣ１００は、上記図１に示すように、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、キーボード（ＫＢ）１０９のキーボードコントローラ（ＫＢＣ）１０５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）１１０のＣＲＴコントローラ（ＣＲＴＣ）１０６と、ハードディスク（ＨＤ）１１１及びフレキシブルディスク（ＦＤ）１１２のディスクコントローラ（ＤＫＣ）１０７と、ネットワーク（ＬＡＮ）２００との接続のためのネットワークインターフェースコントローラ（ＮＩＣ）１０８とが、システムバス１０４を介して互いに通信可能に接続された構成としている。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０２或いはＨＤ１１１に記憶されたソフトウェア（分散印刷プログラム、分散割合自動設定プログラム等）、或いはＦＤ１１２により供給されるソフトウェアを実行することで、システムバス１０４に接続された各構成部を総括的に制御する。
【００１５】
すなわち、ＣＰＵ１０１は、所定の処理シーケンスに従った処理プログラムを、ＲＯＭ１０２、或いはＨＤ１１１、或いはＦＤ１１２から読み出して実行することで、本実施の形態での動作を実現するための制御を行う。
【００１６】
ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ或いはワークエリア等として機能する。
【００１７】
ＫＢＣ１０５は、ＫＢ１０９や図示していないポインティングデバイス等からの指示入力を制御する。
【００１８】
ＣＲＴＣ１０６は、ＣＲＴ１１０の表示を制御する。
【００１９】
ＤＫＣ１０７は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び本実施の形態における所定の処理プログラム等を記憶するＨＤ１１１及びＦＤ１１２とのアクセスを制御する。
【００２０】
ＮＩＣ１０８は、ＬＡＮ２００上の装置或いはシステム（プリントサーバ、クライアントＰＣ、及びプリンタ等）と双方向にデータをやりとりする。
【００２１】
ＨＤ１１１には、ＰＣ１００を、本発明を適用したリントサーバとして機能させるためのプリントサーバプログラム等が格納される。すなわち、ＨＤ１１１内の当該プログラムがＣＰＵ１０１から読み出され実行されることで、ＰＣ１００は本発明を適用したリントサーバ等として機能する。
【００２２】
したがって、後述の全ての説明において、特に断りのない限り、実行の主体はハード上はＣＰＵ１０１となる。一方、ソフトウェア上の制御の主体は、ＨＤ１１１内に格納されたプリントサーバプログラム等のソフトウェアとなる。
【００２３】
本実施の形態では、ＰＣ１００のＯＳとして、例えば、米マイクロソフト社製“Ｗｉｎｄｏｗｓ（Ｒ）　ＮＴ　４．０　Ｓｅｒｖｅｒ（Ｒ）”を想定しているが、これに限るものではない。
【００２４】
尚、プリントサーバプログラム等のソフトウェアの格納先は、ＨＤ１１１に限られることはなく、例えば、ＦＤ１１２やＣＤ−ＲＯＭ等の任意の記憶媒体を適用可能である。この場合、ＣＰＵ１０１は、当該記憶媒体からプログラムを読み出してＨＤ１１１にインストールする。
【００２５】
図２は、上記図１に示したＰＣ１００をプリントサーバ４００として用いた場合の、プリントサーバ４００の内部的なソフトウェアモジュール構成を具体的に示した図である。
【００２６】
プリントサーバ４００は、上記図２に示すように、ルータ４０４、プリントプロセッサ４０５、ＧＤＩモジュール４０６、プリンタドライバ４０７、ブリッジ４０９、プリントジョブ送信マネージャ４１１、分散印刷情報テーブル４１２ａを有する分散印刷情報記憶部４１２、プリンタ３０１（１）用のプリントモニタ４１３（１）、プリンタ３０１（２）用のプリントモニタ４１３（２）、及びプリンタ３０１（３）用のプリントモニタ４１３（３）を備えている。
【００２７】
プリントサーバ４００が接続されるＬＡＮ２００上には、プリンタ３０１（１）〜３０１（３）、及びクライアントＰＣ３０２（１）〜３０２（３）が接続される。
【００２８】
尚、ＬＡＮ２００上へのプリンタ及びクライアントＰＣの接続数は、上記図２に示す接続数に限られることはない。
【００２９】
また、プリンタ３０１（１）〜３０１（３）はそれぞれ同様の構成であり、クライアントＰＣ３０２（１）〜３０２（３）についてもそれぞれ同様の構成であることにより、説明の簡単のため、必要に応じて、プリンタ３０１（１）〜３０１（３）の中の任意のプリンタ３０１（ｘ）に着目し、クライアントＰＣ３０２（１）〜３０２（３）の中の任意のクライアントＰＣ３０２（ｘ）に着目して説明する。
【００３０】
プリンタ３０１（１）〜３０１（３）はそれぞれ、上記図１に示したようなプリンタ１３０２及びＮＩＣ１３０１の機能を有するプリンタである。
【００３１】
クライアントＰＣ３０２（１）〜３０２（３）はそれぞれ、上記図１に示したＰＣ１００を適用したものであり、そのＯＳとしては、例えば、米マイクロソフト社製の“Ｗｉｎｄｏｗｓ（Ｒ）　ＮＴ　４．０　Ｗｏｒｋｓｔａｔｉｏｎ（Ｒ）”を用いる。
【００３２】
ＬＡＮ２００としては、例えば、米Ｘｅｒｏｘ社の“Ｅｔｈｅｒｎｅｔ（Ｒ）”、及び“ＴＣＰ／ＩＰを”プロトコルとして用いる。
【００３３】
このため、プリンタ３０１（１）〜３０１（３）はそれぞれ、“ＴＣＰ／ＩＰ”をプロトコルとして用いたネットワーク環境で広く使われる“ＬＰＤ（Ｌｉｎｅ　Ｐｒｉｎｔｅｒ　Ｄａｅｍｏｎ　Ｐｒｏｔｏｃｏｌ）”の機能を有する。
【００３４】
ＬＰＤを利用した印刷では、クライアントＰＣ３０２（ｘ）上で動作する“ＬＰＲ”と呼ばれるプログラムが、“ＴＣＰ／ＩＰ”のプロトコルを使用して、ＬＡＮ２００を介してプリントジョブデータを送信することになる。
【００３５】
この場合、プリンタ３０１（ｘ）は、内蔵されたネットワークインタフェースにより、クライアントＰＣ３０２（ｘ）からのプリントジョブデータを受信し、当該受信データを、内蔵されたプリンタコントローラに渡す。これにより、プリンタコントローラは、受信データを解釈することで、プリンタエンジンに対して、印刷処理のための制御情報や信号を与える。
【００３６】
以下、上記図２に示したプリントサーバ４００のモジュール構成による動作について説明する。
【００３７】
先ず、ルータ４０４は、ＬＡＮ２００を介してクライアントＰＣ３０２（ｘ）からＥＭＦ形式のプリントジョブデータを受け取り、当該プリントジョブデータをプリントプロセッサ４０５に供給する。
【００３８】
プリントプロセッサ４０５は、ルータ４０４からのＥＭＦ形式のプリントジョブデータを解析し、当該解析結果に基づいて、ＧＤＩモジュール４０６のＡＰＩ関数を呼び出す。
【００３９】
ＧＤＩモジュール４０６は、プリントプロセッサ４０５によるＡＰＩ関数呼び出しに基づき、プリンタドライバ４０７を用いて、プリンタ３０１（１）〜３０１（３）が解釈可能なＰＤＬ形式のファイルを生成し、当該ＰＤＬ形式のファイルをスプールファイル４０８として、ハードディスク（ＨＤ１１１）上のスプールエリアに格納する。
【００４０】
ブリッジ４０９は、ハードディスク（ＨＤ１１１）内のスプールファイル４０８をプリントジョブ送信マネージャ４１１へ供給するために、スプールファイル４０８をハードディスク（ＨＤ１１１）のスプールエリアから別のエリア（ファイルシステム）に移動する。
【００４１】
プリントジョブ送信マネージャ４１１は、ハードディスク（ＨＤ１１１）内でスプールファイル４０８が移動されたことにより、スプールファイル４０８を検出し、スプールファイル４０８に含まれるジョブＩＤから、スプールファイル４０８、すなわちプリントジョブが投入されたプリンタオブジェクトの、当該プリンタオブジェクトに関連して分散印刷情報記憶部４１２に設定されている分散印刷プリンタ（プリンタ３０１（１）〜３０１（３））に対するジョブの分散割合を求める。
【００４２】
プリントジョブ送信マネージャ４１１は、上記の分散割合に基づいて、スプールファイル４０８（プリントジョブ）を、プリントモニタ４１３（１）〜４１３（３）を介してプリンタ３０１（１）〜３０１（３）に対して分散して送信する。
【００４３】
具体的には、プリンタ３０１（１）〜３０１（３）はそれぞれＰＤＬ形式のプリントジョブデータを処理できるプリンタであることにより、プリントジョブ送信マネージャ４１１は、スプールファイル４０８に含まれる印刷開始ページ及び印刷終了ページ、及び印刷部数を有するパラメータをそれぞれ変更して、プリントモニタ４１３（１）〜４１３（２）へ供給することで、スプールファイル４０８に含まれているドキュメントの任意のページ範囲を任意の部数だけプリンタ３０１（１）〜３０１（３）に印刷処理させる。
【００４４】
ここで、スプールファイル４０８をプリンタ３０１（１）〜３０１（３）に対して分散して印刷させる処理について具体的に説明する。
【００４５】
まず、分散印刷情報記憶部４１２では、分散印刷に関する情報（分散印刷情報）が、プリンタオブジェクトに関連した分散印刷情報テーブル４１２ａの形で管理されている。
【００４６】
例えば、分散印刷情報テーブル４１２ａは、次の表１に示される。
【００４７】
【表１】
2004005166.tif 000003
【００４８】
プリントジョブ送信マネージャ４１１は、スプールファイル４０８を受け取ると、スプールファイル４０８により示されるプリントジョブが投入されたプリンタ３０１（ｘ）に関連して設定されている分散印刷情報を分散情報記憶部４１２から取得すると共に、スプーラファイル４０８から印刷部数情報を取得し、当該印刷部数情報から、プリントジョブの印刷部数が単一部数であるか或いは複数部数か否かを判別する。単一部数である場合は、分散印刷情報テーブル４１２ａで管理された分散割合に応じてプリントジョブをページ単位に分散して同テーブルで指定された各プリンタに出力させる。複数部数である場合は、同じく分散印刷情報テーブル４１２ａで管理された分散割合に応じてプリントジョブを部数単位に分散して同テーブルで指定された各プリンタに出力させる。
【００４９】
＜ＰＣ１００がクライアントＰＣとして機能する場合のモジュール構成及び動作＞
図３は、上記図１に示したＰＣ１００をクライアントＰＣ３０２（ｘ）として用いた場合の、クライアントＰＣ３０２（ｘ）の内部的なソフトウェアモジュール構成を具体的に示した図である。
【００５０】
すなわち、上記図３は、上記図２に示したクライアントＰＣ３０２（１）〜３０２（３）の内部的なソフトウェアモジュール構成を具体的に示した図である。
【００５１】
クライアントＰＣ３０２（ｘ）は、上記図３に示すように、アプリケーションプログラム５０３、ＧＤＩモジュール５０４、プリンタドライバ５０５、ルータ５０７、及びリモートプリンタプロバイダ５０８を備えている。
【００５２】
アプリケーションプログラム５０３は、クライアントＰＣ３０２（ｘ）で稼働するＯＳ（ここでは一例として“Ｗｉｎｄｏｗｓ（Ｒ）　ＮＴ　４．０　Ｗｏｒｋｓｔａｔｉｏｎ”（Ｒ）としている）にインストールされている１つのプリンタオブジェクトを指定し、“Ｗｉｎｄｏｗｓ（Ｒ）”のグラフィックエンジンであるＧＤＩモジュール５０４を呼び出して描画情報を伝える。
【００５３】
ＧＤＩモジュール５０４は、アプリケーションプログラム５０３で指定されたプリンタオブジェクトに関連付けられているプリンタドライバ５０５を用いながら、アプリケーションプログラム５０３からの描画情報をＥＭＦ形式のＤＤＩジャーナルファイル５０６に変換し、“Ｗｉｎｄｏｗｓ（Ｒ）”のファイルシステム（ＨＤ１１１）に保存する。
【００５４】
ルータ５０７は、“Ｗｉｎｄｏｗｓ（Ｒ）”のスプーラの一部であり、ファイルシステム（ＨＤ１１１）に保存されたＤＤＩジャーナルファイル５０６を読み出す。
【００５５】
そして、ルータ５０７は、アプリケーションプログラム５０３が印刷時に指定したプリンタオブジェクトの構成情報により、ＤＤＩジャーナルファイル５０６で表現されたプリントジョブデータをプリントサーバ４００に対して転送すべきことを認識し、リモートプリンタプロバイダ５０８に対して、当該プリントジョブデータを供給する。
【００５６】
リモートプリンタプロバイダ５０８は、ルータ５０７からのプリントジョブデータを、ＬＡＮ２００を介してプリントサーバ４００に対して転送する。
【００５７】
これにより、プリントサーバ４００では上述したような処理が実行され、この結果、上記プリントジョブのプリンタ３０１（１）〜３０１（３）による分散印刷が実行される。
【００５８】
＜プリントサーバ４００の特徴とする機能＞
図４は、プリントサーバ４００の機能のうち、プリントジョブ送信マネージャ４１１の動作を具体的にフローチャートにより示したものである。なお、本フローチャートにかかわるプログラムは、ＨＤ１１１またはＲＯＭ１０２に記憶されており、ＲＡＭ１０３に適宜読み出されてＣＰＵ１０１により実行される。
【００５９】
ステップＳ６０１：
プリントジョブ送信マネージャ４１１は、プリントプロセッサ４０５により生成されたプリントジョブのスプールファイル４０８をブリッジ４０９から受け取る。
【００６０】
ステップＳ６０２：
プリントジョブ送信マネージャ４１１は、分散印刷情報記憶部４１２から、ステップＳ６０１で取得したスプールファイル４０８に対応する分散印刷情報（上記表１参照）を取得する。
【００６１】
ステップＳ６０３：
プリントジョブ送信マネージャ４１１は、スプールファイル４０８から、そのプリントジョブで印刷するドキュメントの部数、ページ数、及びステープル留めの指示の有無等についての情報を取得する。
【００６２】
ステップＳ６０４：
プリントジョブ送信マネージャ４１１は、ステップＳ６０３で取得した情報により、プリントジョブが単一部数印刷のジョブであるか否かを判別する。
【００６３】
この判別の結果、単一部数印刷のジョブである場合にはステップＳ６０５へ進み、そうでない場合にはステップＳ６０９へ進む。
【００６４】
ステップＳ６０５：
ステップＳ６０４の判別の結果、単一部数印刷のジョブである場合、プリントジョブ送信マネージャ４１１は、ステップＳ６０３で取得した情報により、ステープル留め指示がなされているか否かを判別する。
【００６５】
この判別の結果、ステープル留め指示ありの場合にはステップＳ６０６へ進み、そうでない場合にはステップＳ６０７へ進む。
【００６６】
ステップＳ６０６：
ステップＳ６０５の判別の結果、ステープル留め指示ありの場合、プリントジョブ送信マネージャ４１１は、スプールファイル４０８を、ステップＳ６０２で取得した分散印刷情報により示される分散順位が“１”（最上位）に指定されたプリンタ３０１（ｘ）に対応するプリントモニタ４１３（ｘ）に対して転送し、本処理終了とする。
【００６７】
ステップＳ６０７、ステップＳ６０８：
ステップＳ６０５の判別の結果、ステープル留め指示なしの場合、プリントジョブ送信マネージャ４１１は、スプールファイル４０８が有する印刷対象のドキュメントの総ページ数を、ステップＳ６０２で取得した分散印刷情報により示される分散割合設定に基づいて分散し（ステップＳ６０７、その分散結果（ページ数分散結果）に基づいて、分散ジョブを生成してそれぞれプリンタ３０１（１）〜３０１（３）の対応するプリントモニタ４１３（１）〜４１３（３）に対して転送し（ステップＳ６０８）、本処理終了とする。
【００６８】
ステップＳ６０９、ステップＳ６１０：
ステップＳ６０４の判別の結果、単一部数印刷のジョブでない場合、すなわち複数部数のジョブである場合、プリントジョブ送信マネージャ４１１は、スプールファイル４０８が有する印刷対象のドキュメントの印刷部数を、ステップＳ６０２で取得した分散印刷情報により示される分散割合設定に基づいて分散し（ステップＳ６０７、その分散結果（部数分散結果）に基づいて、分散ジョブを生成してそれぞれプリンタ３０１（１）〜３０１（３）の対応するプリントモニタ４１３（１）〜４１３（３）に対して転送し（ステップＳ６０８）、本処理終了とする。
【００６９】
図５は、本発明の分散割合自動設定部４１４の動作を具体的にフローチャートにより示したものである。なお、本フローチャートにかかわるプログラムは、ＨＤ１１１またはＲＯＭ１０２に記憶されており、ＲＡＭ１０３に適宜読み出されてＣＰＵ１０１により実行される。前提としてユーザが図６に示すユーザインタフェースにおいてユーザの「自動設定」ボタン６０２の押下を検知して起動するものとし、それによって呼び出される処理を説明する。図６では前掲表１に対応する三つのプリンタが中央の「出力先」のリストの「プリンタ名」カラム６００に表示されているが、プリンタを選択した直後であるため「割合」カラム６０３に表示されるべき分散割合はまだ入力されていない状態を示している。プリンタの追加、削除作業は「プリンタの追加／削除」ボタン６０１を用いて行う。「プリンタの追加／削除」ボタン６０１の押下に応じて別ウインドウを開き、ユーザにより選択された追加または削除するプリンタを選択して、プリンタの追加、削除処理を行う。
【００７０】
ステップＳ７０１：
分散割合自動設定部４１４は分散印刷情報テーブル４１２ａが持つ分散印刷に使用するプリンタのプリントモニタ４１３（１）〜４１３（３）に設定されている各プリンタの最大印刷速度の値を取得して、本処理終了とする。なお、他社のプリンタ等であり、最大印刷枚数が不明な場合、最大印刷速度の値として０が取得される。
【００７１】
ステップＳ７０２：
ステップＳ７０１で取得した各プリンタの最大印刷速度の値がすべて有効な場合、すなわちすべて正の整数であった場合（たとえば、最大印刷速度の値として、Ｖｅｎｕｓについては４４（枚／分）、Ｍａｒｓについては２２（枚／分）、Ｊｕｐｉｔｅｒについては２２（枚／分）の値を取得した場合）は、ステップＳ７０３に進み、一つでも無効な値、すなわち０が含まれている場合（たとえば、最大印刷速度の値として、Ｖｅｎｕｓについては０（枚／分）、Ｍａｒｓについては２２（枚／分）、Ｊｕｐｉｔｅｒについては２２（枚／分）の値を取得した場合）は、ステップＳ７０４に進む。
【００７２】
ステップＳ７０３：
ステップＳ７０１で取得した各プリンタの最大印刷速度の値を、分散印刷情報テーブル４１２ａの分散割合にそれぞれ設定して、たとえば図７のように表示させ、本処理終了とする。図７の例では、割合を４４、２２，２２と実最大印刷速度で割合を表示したが、割合を２、１、１と表示させたり、５０（パーセント）、２５（パーセント）、２５（パーセント）と百分率で表示させても良い。
【００７３】
ステップＳ７０４：
分散印刷情報テーブル４１２ａのすべてプリンタの分散割合に１を設定して、たとえば、図８のように表示させ、本処理終了とする。
【００７４】
なお、図７、８で分散割合が表示されている状態で、プリンタの追加／削除ボタン６０１の押下に応じてプリンタを追加処理し、自動設定ボタン６０２の押下に応じて図５のフローを実行し、追加したプリンタを含むプリンタの情報（最大印刷速度）を取得し、取得できた最大印刷速度に応じて再度割合を設定し、表示処理を行う。
【００７５】
また、図７、８で割合が表示されている状態で、プリンタ名カラム６００からユーザの選択したプリンタを選択し、設定割合６０４の押下に応じて、ユーザが手動で設定した割合を設定し、変更処理する。
【００７６】
また、図７、８で割合が表示されている状態で、割合を均等に設定ボタン６０５の押下に応じてプリンタ名カラム６００のプリンタの分散割合を均等に設定（たとえば全てのプリンタの割合を１にする）し、変更処理する。
【００７７】
また、ユーザは、各プリンタの最大印刷速度を取得できた場合、図７のように割合カラム６０３に４４，２２，２２と実印刷速度に応じた割合が表示されるので、ユーザは印刷速度に対応した設定ができたことが認識できる。また、各プリンタの最大印刷速度を取得できない場合、図８のように割合カラム６０３に１，１，１と表示されるので、ユーザは印刷速度に対応した設定ができなかったことが認識でき、必要に応じて、ユーザが、割合設定ボタン６０４により割合を手動設定して対応することができる。
【００７８】
【発明の効果】
以上説明したように本発明によれば、分散印刷において、元の印刷ジョブの分散割合の設定をユーザがみずから考え、判断して設定せずとも、たとえばプリンタの最大印刷速度の値を入手して適宜設定を行うことができる。
【００７９】
また、最大印刷枚数の値を取得できない場合（不明な場合）でも、適宜設定できる。
【図面の簡単な説明】
【図１】第１の実施の形態において、本発明を適用したパーソナルコンピュータ（ＰＣ）の構成を示すブロック図である。
【図２】上記ＰＣをプリントサーバとして用いた場合の当該プリントサーバの構成を示すブロック図である。
【図３】上記ＰＣをクライアントＰＣとして用いた場合の当該クライアントＰＣの構成を示すブロック図である。
【図４】上記プリントサーバの動作を説明するためのフローチャートを示す図である。
【図５】上記プリントサーバの分散割合自動設定部の動作を説明するためのフローチャートを示す図である。
【図６】上記プリントサーバの分散割合自動設定を指示するユーザインタフェースを示す図である。
【図７】分散割合の表示例を示す図である。
【図８】分散割合の表示例を示す図である。
【符号の説明】
４００　プリントサーバ
４０４　ルータ
４０５　プリントプロセッサ
４０６　ＧＤＩモジュール
４０７　プリンタドライバ
４０９　ブリッジ
４１１　プリントジョブ送信マネージャ
４１２　分散印刷情報記憶部
４１２ａ　分散印刷情報テーブル
４１３（１）〜４１３（３）　プリントモニタ
４１４　分散割合自動設定部
３０１（１）〜３０１（３）　プリンタ
３０２（１）〜３０２（３）　クライアントＰＣ
【図１】
2004005166.tif 000004
【図２】
2004005166.tif 000005
【図３】
2004005166.tif 000006
【図４】
2004005166.tif 000007
【図５】
2004005166.tif 000008
【図６】
2004005166.tif 000009
【図７】
2004005166.tif 000010
【図８】
2004005166.tif 000011