(57)【特許請求の範囲】
【請求項１】
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷するプリントシステムにおいて、
前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、予め定めたプリント装置の集まりの範囲内から検出する特定装置検出手段と、
該特定装置検出手段により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、前記予め定めたプリント装置の集まりの範囲内の他のプリント装置のバッファに移動させるジョブ移動手段と
を備えるプリントシステム。
【請求項２】
請求項１に記載のプリントシステムであって、
前記特定装置検出手段は、
前記複数のプリント装置のうちの予め定めたプリント装置の集まりの範囲内で、各プリント装置毎に前記バッファでのプリントジョブの状態を示す第１の情報を取得する第１情報取得手段と、
該第１情報取得手段から取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が大きい状態のプリント装置を検出して、該プリント装置を前記代替えすべきプリント装置とする手段と
を備えるプリントシステム。
【請求項３】
請求項２に記載のプリントシステムであって、
前記第１情報取得手段から取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が小さい状態のプリント装置を前記予め定めたプリント装置の集まりの範囲内から検出する検出手段を備えるとともに、
前記ジョブ移動手段は、前記プリントジョブの移動先を該検出手段により検出されたプリント装置に定める構成であるプリントシステム。
【請求項４】
請求項１または３に記載のプリントシステムであって、
前記特定装置検出手段は、
前記予め定めたプリント装置の集まりの範囲内で、前記印刷機構の状態を示す第２の情報を取得する第２情報取得手段と、
該第２情報取得手段から取得された第２の情報に基づき、前記印刷機構がエラー状態にあるプリント装置を検出し、該プリント装置を前記代替えすべきプリント装置とする手段と
を備えるプリントシステム。
【請求項５】
請求項４に記載のプリントシステムであって、
前記第２情報取得手段から取得された第２の情報に基づき、前記印刷機構がエラー状態にないプリント装置を前記予め定めたプリント装置の集まりの範囲内から検出する検出手段を備えるとともに、
前記ジョブ移動手段は、前記プリントジョブの移動先を該検出手段により検出されたプリント装置に定める構成であるプリントシステム。
【請求項６】
請求項１に記載のプリントシステムであって、
前記情報処理装置にて発生する各プリントジョブは、前記ジョブ移動手段による移動の対象となり得るか否かを予め定める第１標識データをそれぞれ伴うものであり、
前記ジョブ移動手段は、前記第１標識データにより移動の対象となり得ないと判別されたプリントジョブについての移動を禁止する移動禁止手段を備える構成であるプリントシステム。
【請求項７】
請求項１に記載のプリントシステムであって、
前記情報処理装置にて発生する各プリントジョブは、前記スプール機能による印刷の優先度を予め定める第２標識データをそれぞれ伴うものであり、
前記ジョブ移動手段は、前記移動させるプリントジョブの選択を前記第２標識データの内容に基づいて定める手段を備える構成であるプリントシステム。
【請求項８】
請求項１に記載のプリントシステムであって、
前記ジョブ移動手段により移動を行なうプリントジョブの発生元である情報処理装置に対して、前記プリントジョブの移動先であるプリント装置を通知するジョブ移動通知手段
を備えるプリントシステム。
【請求項９】
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷する装置群を、複数組備えたプリントシステムにおいて、
前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、一組の前記装置群の範囲内から検出する特定装置検出手段と、
該特定装置検出手段により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、当該プリント装置を備える装置群を少なくとも含む２以上の組数の前記装置群の範囲内の他のプリント装置のバッファに移動させるジョブ移動手段と
を備えるプリントシステム。
【請求項１０】
請求項９に記載のプリントシステムであって、
前記特定装置検出手段は、
前記一の装置群の範囲内で、各プリント装置毎に前記バッファでのプリントジョブの状態を示す第１の情報を取得する第１情報取得手段と、
該第１情報取得手段から取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が大きい状態のプリント装置を検出して、該プリント装置を前記代替えすべきプリント装置とする手段と
を備えるプリントシステム。
【請求項１１】
請求項１０に記載のプリントシステムであって、
前記ジョブ移動手段で移動先となり得る複数組の装置群を規定する対象装置群規定手段と、
該規定された複数組の装置群の範囲内で、前記第１の情報を取得する手段と、
該手段から取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が小さい状態のプリント装置を前記規定された複数組の装置群の範囲内から検出する検出手段を備えるとともに、
前記ジョブ移動手段は、前記プリントジョブの移動先を該検出手段により検出されたプリント装置に定める構成であるプリントシステム。
【請求項１２】
請求項９または１１に記載のプリントシステムであって、
前記特定装置検出手段は、
前記一の装置群の範囲内で、各プリンタ装置毎に前記印刷機構の状態を示す第２の情報を取得する第２情報取得手段と、
該第２情報取得手段から取得された第２の情報に基づき、前記印刷機構がエラー状態にあるプリント装置を検出し、該プリント装置を前記代替えすべきプリント装置とする手段と
を備えるプリントシステム。
【請求項１３】
請求項１２に記載のプリントシステムであって、
前記ジョブ移動手段で移動先となり得る複数組の装置群を規定する対象装置群規定手段と、
該規定された複数組の装置群の範囲内で、前記第２の情報を取得する手段と、
該手段から取得された第２の情報に基づき、前記印刷機構がエラー状態にないプリント装置を前記規定された複数組の装置群の範囲内から検出する検出手段を備えるとともに、
前記ジョブ移動手段は、前記プリントジョブの移動先を該検出手段により検出されたプリント装置に定める構成であるプリントシステム。
【請求項１４】
請求項９に記載のプリントシステムであって、
前記ジョブ移動手段で移動先となり得る複数組の装置群を規定する対象装置群規定手段と、
該規定された複数組の装置群のそれぞれで、前記ジョブ移動手段による移動先の候補プリント装置を検出する検出手段と、
該検出手段により検出された各組の装置群の候補プリント装置を集計して、該集計結果を集計データとして記憶する集計手段と、
前記ジョブ移動手段に指示するための一のプリント装置を前記集計データに基づいて決定する決定手段と
を備えるプリントシステム。
【請求項１５】
請求項１４に記載のプリントシステムであって、
前記対象装置群規定手段で規定された複数組の装置群のそれぞれは、前記集計手段を備え、
前記検出手段により検出された各組の装置群の候補プリント装置を少なくとも含むデータを、前記対象装置群規定手段により規定された複数組の装置群の間で送受信することにより、前記集計データが前記複数組の装置群で一本化される構成のプリントシステム。
【請求項１６】
前記集計手段は、前記対象装置群規定手段により規定された複数組の装置群と別体に設けられ、前記各装置群と通信により接続されたコンピュータ装置により実現される請求項１４に記載のプリントシステム。
【請求項１７】
請求項１または９に記載のプリントシステムであって、
前記プリント装置は、
外部からのプリントジョブを受信する受信手段と、
該受信手段により受信されるプリントジョブが、前記ジョブ移動手段を経て送られてきたものか否かを識別する識別手段と、
該識別手段による識別結果に基づいて、実行される処理を切り替える処理切替手段と
を備えることを特徴とするプリントシステム。
【請求項１８】
請求項１７に記載のプリントシステムであって、
前記プリント装置は、さらに、前記プリントジョブの送信元を認証する認証手段を備え、
前記処理切替手段は、前記認証手段の実行、非実行を切り替える手段を備えるプリントシステム。
【請求項１９】
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷するプリントシステムにおいて用いられるプリント制御方法であって、
（ａ）前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、予め定めたプリント装置の集まりの範囲内から検出する工程と、
（ｂ）前記工程（ａ）により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、前記予め定めたプリント装置の集まりの範囲内の他のプリント装置のバッファに移動させる工程と
を備えるプリント制御方法。
【請求項２０】
請求項１９に記載のプリント制御方法であって、
前記工程（ａ）は、
（ａ−１）前記複数のプリント装置のうちの予め定めたプリント装置の集まりの範囲内で、各プリント装置毎に前記バッファでのプリントジョブの状態を示す第１の情報を取得する工程と、
（ａ−２）該工程（ａ）により取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が大きい状態のプリント装置を検出して、該プリント装置を前記代替えすべきプリント装置とする工程と
を備えるプリント制御方法。
【請求項２１】
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷する装置群を、複数組備えたプリントシステムにおいて用いられるプリント制御方法であって、
（ａ）前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、一組の前記装置群の範囲内から検出する工程と、
（ｂ）前記工程（ａ）により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、当該プリント装置を備える装置群を少なくとも含む２以上の組数の前記装置群の範囲内の他のプリント装置のバッファに移動させる工程と
を備えるプリント制御方法。
【請求項２２】
請求項２１に記載のプリント制御方法であって、
前記工程（ａ）は、
（ａ−１）前記一の装置群の範囲内で、各プリント装置毎に前記バッファでのプリントジョブの状態を示す第１の情報を取得する工程と、
（ａ−２）該工程（ａ）により取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が大きい状態のプリント装置を検出して、該プリント装置を前記代替えすべきプリント装置とする工程と
を備えるプリント制御方法。
【請求項２３】
請求項１９または２１に記載のプリント制御方法であって、
（ｃ）前記プリント装置においてプリントジョブを受信する工程と、
（ｄ）該工程（ｃ）により受信されるプリントジョブが、前記工程（ｂ）を経て送られてきたものか否かを識別する工程と、
（ｅ）該工程（ｄ）段による識別結果に基づいて、実行される処理を切り替える工程と
を備えることを特徴とするプリント制御方法。
【請求項２４】
請求項２３に記載のプリント制御方法であって、
（ｆ）前記プリント装置において前記プリントジョブの送信元を認証する工程を備え、
前記工程（ｅ）は、前記工程（ｆ）による認証の実行、非実行を切り替える手段を備えるプリント制御方法。
【請求項２５】
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷するプリントシステムにおいて用いられるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
（ａ）前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、予め定めたプリント装置の集まりの範囲内から検出する機能と、
（ｂ）前記機能（ａ）により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、前記予め定めたプリント装置の集まりの範囲内の他のプリント装置のバッファに移動させる機能と
を、コンピュータに実現させるためのコンピュータプログラムを記録した記録媒体。
【請求項２６】
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷する装置群を、複数組備えたプリントシステムにおいて用いられるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
（ａ）前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、一組の前記装置群の範囲内から検出する機能と、
（ｂ）前記機能（ａ）により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、当該プリント装置を備える装置群を少なくとも含む２以上の組数の前記装置群の範囲内の他のプリント装置のバッファに移動させる機能と
を、コンピュータに実現させるためのコンピュータプログラムを記録した記録媒体。
【請求項２７】
請求項２５または２６に記載の記録媒体であって、
前記コンピュータプログラムは、さらに、
（ｃ）前記プリント装置においてプリントジョブを受信する機能と、
（ｄ）該機能（ｃ）により受信されるプリントジョブが、前記機能（ｂ）を経て送られてきたものか否かを識別する機能と、
（ｅ）該機能（ｄ）による識別結果に基づいて、実行される処理を切り替える機能と
をコンピュータに実現させる構成である記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、印刷機構とスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続したプリントシステム、およびそのプリントシステムに関わるプリント制御方法ならびに記録媒体に関する。
【０００２】
【従来の技術】
従来より、プリンタを共有する技術として、ネットワークを使って、複数のクライアントパソコンとプリンタとを相互に接続した構成がある。こうした構成の一つのタイプとして、各プリンタに、内蔵もしくは外付けでプリントサーバをそれぞれ設けることにより、プリントサーバを介して各プリンタとネットワークとの接続を可能としたものがある。このプリントサーバには、複数のクライアントパソコンからのプリントジョブの処理を可能とするために、スプール機能がサポートされている。プリントサーバは、スプール機能により、蓄えられたプリントジョブを順次プリンタへ出力することで、各プリンタによる印刷を行なう。
【０００３】
【発明が解決しようとする課題】
上記従来の技術では、多数のクライアントパソコンからのプリントジョブが一台のプリンタに集中して送られた場合、受け付けが遅れたプリントジョブについては印刷が始まるまでに長い時間を要し、印刷の完了が遅延するといった問題が生じた。
【０００４】
この発明は、プリントジョブが一台のプリンタに集中したときにも、印刷を素早く完了することを可能とすることを目的としている。
【０００５】
【課題を解決するための手段およびその作用・効果】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【０００６】
この発明の第１のプリントシステムは、
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷するプリントシステムにおいて、
前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、予め定めたプリント装置の集まりの範囲内から検出する特定装置検出手段と、
該特定装置検出手段により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、前記予め定めたプリント装置の集まりの範囲内の他のプリント装置のバッファに移動させるジョブ移動手段と
を備えることを要旨としている。
【０００７】
上記構成の第１のプリントシステムによれば、複数のプリント装置のうちの予め定めたプリント装置の集まりの範囲内で、バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置が、特定装置検出手段により検出され、その検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブが、ジョブ移動手段により、前記プリント装置の集まりの範囲内の他のプリント装置のバッファに移動させられる。
【０００８】
このため、複数のプリント装置のうちの予め定めたプリント装置の集まりの範囲内で、プリント装置のバッファに格納されるプリントジョブは、必要に応じて、他のプリント装置に自動的に転送される。したがって、所定のプリンタにおいてプリントジョブの印刷が遅れるような場合に、他の空いているプリント装置からの印刷が可能となり、印刷を素早く完了することができるという効果を奏する。
【０００９】
上記構成の第１のプリントシステムにおいて、前記特定装置検出手段は、前記複数のプリント装置のうちの予め定めたプリント装置の集まりの範囲内で、各プリント装置毎に前記バッファでのプリントジョブの状態を示す第１の情報を取得する第１情報取得手段と、該第１情報取得手段から取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が大きい状態のプリント装置を検出して、該プリント装置を前記代替えすべきプリント装置とする手段とを備える構成とすることができる。
【００１０】
このため、多数の情報処理装置からのプリントジョブが一台のプリント装置に集中した場合に、そのプリント装置ではプリントジョブの混み合いの程度が大きいとして、そのプリント装置に設けられたバッファに格納されるプリントジョブは他のプリント装置に送られる。したがって、プリントジョブが一台のプリント装置に集中したときにも、他の空いているプリント装置からの印刷が可能となり、印刷を素早く完了することができる。
【００１１】
上記のように代替えすべきプリント装置を定める構成のプリントシステムにおいて、前記第１情報取得手段から取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が小さい状態のプリント装置を前記予め定めたプリント装置の集まりの範囲内から検出する検出手段を備えるとともに、前記ジョブ移動手段は、前記プリントジョブの移動先を該検出手段により検出されたプリント装置に定める構成とすることができる。
【００１２】
この構成によれば、プリントジョブの移動先を、プリントジョブの混み合いの程度が小さい状態のプリント装置とすることができることから、空いたプリント装置を有効に利用して印刷をより早く完了することができる。
【００１３】
上記構成の第１のプリントシステムにおいて、前記特定装置検出手段は、前記予め定めたプリント装置の集まりの範囲内で、前記印刷機構の状態を示す第２の情報を取得する第２情報取得手段と、該第２情報取得手段から取得された第２の情報に基づき、前記印刷機構がエラー状態にあるプリント装置を検出し、該プリント装置を前記代替えすべきプリント装置とする手段とを備える構成とすることができる。
【００１４】
この構成によれば、プリントジョブを受けたプリント装置において印刷機構がエラー状態となった場合に、そのプリント装置は、特定装置検出手段により検出されて、その検出されたプリント装置に設けられたバッファに格納される少なくとも１のプリントジョブが、ジョブ移動手段により他のプリント装置のバッファに移動させられる。
【００１５】
このため、エラー状態のプリント装置にプリントジョブが送られた場合にも、そのプリントジョブは他のプリント装置にて印刷されることから、印刷を素早く完了することができる。ここで、印刷機構のエラー状態とは、印刷機構の故障、用紙詰まり、用紙切れ等の状態である。
【００１６】
上記のように代替えすべきプリント装置を定める構成のプリントシステムにおいて、前記第２情報取得手段から取得された第２の情報に基づき、前記印刷機構がエラー状態にないプリント装置を前記予め定めたプリント装置の集まりの範囲内から検出する検出手段を備えるとともに、前記ジョブ移動手段は、前記プリントジョブの移動先を該検出手段により検出されたプリント装置に定める構成とすることができる。
【００１７】
この構成によれば、プリントジョブの移動先を、印刷機構がエラー状態でないプリント装置とすることができることから、印刷できない印刷機構に対して印刷を図ろうとして印刷が遅れるようなことがない。
【００１８】
上記構成のプリントシステムにおいて、前記情報処理装置にて発生する各プリントジョブは、前記ジョブ移動手段による移動の対象となり得るか否かを予め定める第１標識データをそれぞれ伴うものであり、前記ジョブ移動手段は、前記第１標識データにより移動の対象となり得ないと判別されたプリントジョブについての移動を禁止する移動禁止手段を備える構成とすることができる。
【００１９】
この構成によれば、作業者が特定のプリント装置からの印刷を望むような場合に、プリントジョブが他のプリント装置に転送されることを防ぐことができる。
【００２０】
上記構成のプリントシステムにおいて、前記情報処理装置にて発生する各プリントジョブは、前記スプール機能による印刷の優先度を予め定める第２標識データをそれぞれ伴うものであり、前記ジョブ移動手段は、前記移動させるプリントジョブの選択を前記第２標識データの内容に基づいて定める手段を備える構成とすることができる。
【００２１】
この構成によれば、印刷の優先度の高いプリントジョブを優先して他のプリント装置に移動させることができる。
【００２２】
上記構成のプリントシステムにおいて、前記ジョブ移動手段により移動を行なうプリントジョブの発生元である情報処理装置に対して、前記プリントジョブの移動先であるプリント装置を通知するジョブ移動通知手段を備える構成とすることができる。
【００２３】
この構成によれば、作業者はプリントジョブの移動がなされたときにいずれのプリント装置から印刷がなされるかを知ることができ、使い勝手がよい。
【００２４】
この発明の第２のプリントシステムは、
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷する装置群を、複数組備えたプリントシステムにおいて、
前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、一組の前記装置群の範囲内から検出する特定装置検出手段と、
該特定装置検出手段により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、当該プリント装置を備える装置群を少なくとも含む２以上の組数の前記装置群の範囲内の他のプリント装置のバッファに移動させるジョブ移動手段と
を備えることを要旨としている。
【００２５】
上記構成の第２のプリントシステムによれば、複数組の装置群のうちの任意の一組の装置群の範囲内で、バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置が、特定装置検出手段により検出され、その検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブが、ジョブ移動手段により、そのプリント装置を備える装置群を少なくとも含む２以上の組数の装置群の範囲内の他のプリント装置のバッファに移動させられる。
【００２６】
このため、一組の装置群の範囲内で、プリント装置のバッファに格納されるプリントジョブは、必要に応じて、自身の組の装置群かあるいは他の装置群に含まれる他のプリント装置に自動的に転送される。したがって、所定のプリンタにおいてプリントジョブの印刷が遅れるような場合に、自身の装置群を越えた広い範囲から空いているプリント装置を探して印刷が可能となることから、印刷をより確実に素早く完了することができるという効果を奏する。
【００２７】
上記構成の第２のプリントシステムにおいて、前記特定装置検出手段は、前記一の装置群の範囲内で、各プリント装置毎に前記バッファでのプリントジョブの状態を示す第１の情報を取得する第１情報取得手段と、該第１情報取得手段から取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が大きい状態のプリント装置を検出して、該プリント装置を前記代替えすべきプリント装置とする手段とを備える構成とすることができる。
【００２８】
このため、多数の情報処理装置からのプリントジョブが一台のプリント装置に集中した場合に、そのプリント装置ではプリントジョブの混み合いの程度が大きいとして、そのプリント装置に設けられたバッファに格納されるプリントジョブは他のプリント装置に送られる。したがって、プリントジョブが一台のプリント装置に集中したときにも、他の空いているプリント装置からの印刷が可能となり、印刷を素早く完了することができる。
【００２９】
上記のように代替えすべきプリント装置を定める構成のプリントシステムにおいて、前記ジョブ移動手段で移動先となり得る複数組の装置群を規定する対象装置群規定手段と、該規定された複数組の装置群の範囲内で、前記第１の情報を取得する手段と、該手段から取得された第１の情報に基づき、前記プリントジョブの混み合いの程度が小さい状態のプリント装置を前記規定された複数組の装置群の範囲内から検出する検出手段を備えるとともに、前記ジョブ移動手段は、前記プリントジョブの移動先を該検出手段により検出されたプリント装置に定める構成とすることができる。
【００３０】
この構成によれば、プリントジョブの移動先を、プリントジョブの混み合いの程度が小さい状態のプリント装置とすることができることから、空いたプリント装置を有効に利用して印刷をより早く完了することができる。
【００３１】
上記構成のプリントシステムにおいて、前記特定装置検出手段は、前記一の装置群の範囲内で、各プリンタ装置毎に前記印刷機構の状態を示す第２の情報を取得する第２情報取得手段と、該第２情報取得手段から取得された第２の情報に基づき、前記印刷機構がエラー状態にあるプリント装置を検出し、該プリント装置を前記代替えすべきプリント装置とする手段とを備える構成とすることができる。
【００３２】
この構成によれば、プリントジョブを受けたプリント装置において印刷機構がエラー状態となった場合に、そのプリント装置は、特定装置検出手段により検出されて、その検出されたプリント装置に設けられたバッファに格納される少なくとも１のプリントジョブが、ジョブ移動手段により他のプリント装置のバッファに移動させられる。
【００３３】
このため、エラー状態のプリント装置にプリントジョブが送られた場合にも、そのプリントジョブは他のプリント装置にて印刷されることから、印刷を素早く完了することができる。ここで、印刷機構のエラー状態とは、印刷機構の故障、用紙詰まり、用紙切れ等の状態である。
【００３４】
上記のように代替えすべきプリント装置を定める構成のプリントシステムにおいて、前記ジョブ移動手段で移動先となり得る複数組の装置群を規定する対象装置群規定手段と、該規定された複数組の装置群の範囲内で、前記第２の情報を取得する手段と、該手段から取得された第２の情報に基づき、前記印刷機構がエラー状態にないプリント装置を前記規定された複数組の装置群の範囲内から検出する検出手段を備えるとともに、前記ジョブ移動手段は、前記プリントジョブの移動先を該検出手段により検出されたプリント装置に定める構成とすることができる。
【００３５】
この構成によれば、プリントジョブの移動先を、印刷機構がエラー状態でないプリント装置とすることができることから、印刷できない印刷機構に対して印刷を図ろうとして印刷が遅れるようなことがない。
【００３６】
上記構成の第２のプリントシステムにおいて、前記ジョブ移動手段で移動先となり得る複数組の装置群を規定する対象装置群規定手段と、該規定された複数組の装置群のそれぞれで、前記ジョブ移動手段による移動先の候補プリント装置を検出する検出手段と、該検出手段により検出された各組の装置群の候補プリント装置を集計して、該集計結果を集計データとして記憶する集計手段と、前記ジョブ移動手段に指示するための一のプリント装置を前記集計データに基づいて決定する決定手段とを備える構成とすることができる。
【００３７】
この構成によれば、ジョブ移動の移動先となり得る複数組の装置群のそれぞれで移動の対象となり得る一の候補プリント装置が検出され、それら各組の装置群の候補プリンタを集計して、その集計結果に基づいてジョブ移動の移動先のプリント装置が決定される。したがって、ジョブ移動の移動先を容易に定めることができる。
【００３８】
上記集計を行なうプリントシステムにおいて、前記対象装置群規定手段で規定された複数組の装置群のそれぞれは、前記集計手段を備え、前記検出手段により検出された各組の装置群の候補プリント装置を少なくとも含むデータを、前記対象装置群規定手段により規定された複数組の装置群の間で送受信することにより、前記集計データが前記複数組の装置群で一本化される構成とすることができる。
【００３９】
この構成によれば、ジョブ移動の移動先となり得る複数組の装置群の全てから確実にジョブ移動の移動先を決定することができる。
【００４０】
上記集計を行なうプリントシステムにおいて、前記集計手段は、前記対象装置群規定手段により規定された複数組の装置群と別体に設けられ、前記各装置群と通信により接続されたコンピュータ装置により実現される構成とすることができる。
【００４１】
この構成によれば、上記コンピュータ装置を上位のコンピュータ装置として、各組の装置群に含まれる情報処理装置を管理することが可能となる。このために、確実にジョブ移動の移動先を決定することができる。
【００４２】
上記第１または第２のプリントシステムにおいて、前記プリント装置は、外部からのプリントジョブを受信する受信手段と、該受信手段により受信されるプリントジョブが、前記ジョブ移動手段を経て送られてきたものか否かを識別する識別手段と、該識別手段による識別結果に基づいて、実行される処理を切り替える処理切替手段とを備える構成とすることができる。
【００４３】
この構成によれば、プリント装置に外部からプリントジョブが送られてきたときに、このプリントジョブが、ジョブ移動手段により他のプリント装置から送られてきたものか、それともジョブ移動手段を経ることなく、情報処理装置から直接送られてきたものかによって、実行される処理が切り替えられる。したがって、プリントジョブの送信元に異なる処理を施すことが可能となる。
【００４４】
上記識別を行なう構成のプリントシステムにおいて、前記プリント装置は、さらに、前記プリントジョブの送信元を認証する認証手段を備え、前記処理切替手段は、前記認証手段の実行、非実行を切り替える手段を備える構成とすることができる。
【００４５】
この構成によれば、他のプリント装置から送られてきたプリントジョブは、例えば、送信元の認証を行なわず、情報処理装置から直接送られてきたものは認証を行なうといったことができる。他のプリント装置から送られてきたプリントジョブは、他のプリンタに送られてきた時点で認証が既に行なわれているものとして、認証の手続きを省略することができる。
【００４６】
この発明の第１のプリント制御方法は、
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷するプリントシステムにおいて用いられるプリント制御方法であって、
（ａ）前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、予め定めたプリント装置の集まりの範囲内から検出する工程と、
（ｂ）前記工程（ａ）により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、前記予め定めたプリント装置の集まりの範囲内の他のプリント装置のバッファに移動させる工程と
を備えることを要旨としている。
【００４７】
この発明の第２のプリント制御方法は、
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷する装置群を、複数組備えたプリントシステムにおいて用いられるプリント制御方法であって、
（ａ）前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、一組の前記装置群の範囲内から検出する工程と、
（ｂ）前記工程（ａ）により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、当該プリント装置を備える装置群を少なくとも含む２以上の組数の前記装置群の範囲内の他のプリント装置のバッファに移動させる工程と
を備えることを要旨としている。
【００４８】
上記構成の第１のプリント制御方法および第２のプリント制御方法は、上記発明の第１のプリントシステムおよび第２のプリントシステムとそれぞれ同様な作用・効果を有しており、所定のプリンタにおいてプリントジョブの印刷が遅れるような場合に、印刷を素早く完了することができる。
【００４９】
この発明の第１の記録媒体は、
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷するプリントシステムにおいて用いられるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
（ａ）前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、予め定めたプリント装置の集まりの範囲内から検出する機能と、
（ｂ）前記機能（ａ）により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、前記予め定めたプリント装置の集まりの範囲内の他のプリント装置のバッファに移動させる工程と
を、コンピュータに実現させるためのプログラムを記録したことを要旨としている。
【００５０】
この発明の第２の記録媒体は、
印刷機構と該印刷機構に対応したスプール用のバッファとをそれぞれ備える複数のプリント装置と、プリントジョブを発生する少なくとも１の情報処理装置とを相互に接続し、前記プリントジョブを前記情報処理装置から任意の前記プリント装置の前記バッファに送出し、前記プリント装置のスプール機能により前記プリントジョブを前記印刷機構から印刷する装置群を、複数組備えたプリントシステムにおいて用いられるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
（ａ）前記バッファに格納されるプリントジョブを他のプリント装置に代替すべきプリント装置を、一組の前記装置群の範囲内から検出する機能と、
（ｂ）前記機能（ａ）により検出されたプリント装置に設けられた前記バッファに格納される少なくとも１のプリントジョブを、当該プリント装置を備える装置群を少なくとも含む２以上の組数の前記装置群の範囲内の他のプリント装置のバッファに移動させる機能と
を、コンピュータに実現させるためのプログラムを記録したことを要旨としている。
【００５１】
上記構成の第１の記録媒体および第２の記録媒体も、上記発明の第１のプリントシステムおよび第２のプリントシステムと同様な作用・効果を有しており、所定のプリンタにおいてプリントジョブの印刷が遅れるような場合に、印刷を素早く完了することができる。
【００５２】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。その第１の態様は、この発明の記録媒体による機能と同様の機能を持つコンピュータプログラムとしての態様である。その第２の態様は、そのコンピュータプログラムを含むことで搬送波内に具現化されたデータ信号としての態様である。第３の態様は、コンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第３の態様では、コンピュータプログラムをネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の方法やシステムを実現することができる。
【００５３】
【発明の実施の形態】
以上説明したこの発明の構成・作用を一層明らかにするために、以下この発明の実施の形態を実施例に基づき説明する。図１はこの発明の第１実施例を適用するコンピュータシステムの概略構成図である。
【００５４】
図１に示すように、この実施例を適用するコンピュータシステム１０には、プリントジョブを発生する複数（図１に表示される範囲では３台）のパーソナルコンピュータ（以下、クライアントパソコンと呼ぶ）２０，３０，４０や、プリントジョブを印刷する複数（図１に表示される範囲では３台）のプリンタ５０，６０，７０や、各プリンタ５０〜７０の印刷の負荷を分散する印刷負荷分散装置８０などが、ローカルエリアネットワーク（ＬＡＮ）により構築されたコンピュータネットワーク９０を介して相互に接続されている。なお、コンピュータネットワーク９０は、ＬＡＮに替えて、インターネットや、イントラネットや、ワイドエリアネットワーク（ＷＡＮ）など、各種ネットワークに替えることができる。
【００５５】
ここで、プリントジョブとは、一の印刷物を表わすデータの集合であり、画像データや制御データ等から構成される。なお、このプリントジョブには、プリントジョブの発生元であるクライアントパソコンを特定する発信者情報も含まれる。発信者情報は、このようにクライアントパソコンを特定するものであってもよいが、これに替えて、ネットワークに対して使用許可を得るためのユーザアカウント名とすることもできる。ネットワーク環境においては、一人の使用者が複数のクライアントパソコンを同時に使用している場合があるが、このような場合、クライアントパソコンを特定しなくても使用者を特定すれば十分であると考えることができ、上記のようにユーザアカウント名を発信者情報としてプリントジョブに含む構成とすることができる。
【００５６】
クライアントパソコン２０〜４０は、周辺機器としてのＣＲＴディスプレイやキーボード、マウス等を備える周知の所謂パーソナルコンピュータである。プリンタ５０〜７０は、実質的にコンピュータ機能を有するもので、ドラムにレーザ光を当てて像を作り、トナーで現像して用紙に転写する所謂レーザプリンタである。これらプリンタ５０〜７０は、スプール機能を有しており、この発明のプリント装置を構成する。なお、プリンタ５０〜７０としては、インクジェットプリンタ、熱転写プリンタなど、各種プリンタを適用することができる。印刷負荷分散装置８０も、実質的にコンピュータ機能を有するものである。
【００５７】
図２は、プリンタ５０〜７０や印刷負荷分散装置８０の内部のハードウェア構成を示すブロック図である。図示するように、プリンタ５０〜７０は、印刷機構５１とプリンタ制御回路５３を備える。プリンタ制御回路５３は、中央演算処理装置としてのＣＰＵ５３ａを中心にバスにより相互に接続されたＲＯＭ５３ｂ、ＲＡＭ５３ｃ、入出力インタフェース５３ｄおよびネットワーク制御回路５３ｅを備える。ＲＯＭ５３ｂは、内蔵されている各種コンピュータプログラム等を記憶する読み出し専用のメモリである。ＲＡＭ５３ｃは、各種データ等を記憶する読み出し・書込み可能なメモリであり、このＲＡＭ５３ｃ内にスプール用のバッファ５５が構成される。入出力インタフェース５３ｄは、印刷を制御する制御データを印刷機構５１へ出力するインタフェースである。ネットワーク制御回路５３ｅは、コンピュータネットワーク９０に接続されている。
【００５８】
印刷負荷分散装置８０は、中央演算処理装置としてのＣＰＵ８０ａを中心にバスにより相互に接続されたＲＯＭ８０ｂ、ＲＡＭ８０ｃ、入出力インタフェース８０ｄおよびネットワーク制御回路８０ｅを備える。ＲＯＭ８０ｂは、内蔵されている各種コンピュータプログラム等を記憶する読み出し専用のメモリである。ＲＡＭ８０ｃは、各種データ等を記憶する読み出し・書込み可能なメモリである。入出力インタフェースは図示しない周辺装置とデータの入出力を行なうインタフェースである。ネットワーク制御回路８０ｅは、コンピュータネットワーク９０に接続されている。なお、クライアントパソコン２０〜４０のハードウェア構成は、周知のものであることから、ここでは詳しい説明は省略する。
【００５９】
かかる構成のコンピュータシステム１０によれば、大まかには、プリントジョブを、クライアントパソコン２０，３０，４０からコンピュータネットワーク９０を介して任意のプリンタ５０，６０，７０のプリンタ制御回路５３に送出する処理を行ない、多数のクライアントパソコン２０，３０，４０から一台のプリンタ５０（６０，７０）にプリントジョブが集中して送られてそのプリンタ５０（６０，７０）のプリントジョブの混み合いの程度が大きい状態となった場合には、印刷負荷分散装置８０により、その一旦送られたプリントジョブを他の空いているプリンタ６０，７０（５０）のプリンタ制御回路５３に移動する処理を行なう。
【００６０】
こうした処理の様子について次に詳しく説明する。図３は、各プリンタ５０，６０，７０のプリンタ制御回路５３と印刷負荷分散装置８０で実現される処理の様子を示すブロック図である。図示するように、クライアントパソコン２０，３０，４０から任意のプリンタ（図示の例ではプリンタ５０）に向かってプリントジョブが送出されると（▲１▼）、そのプリントジョブの送り先のプリンタ５０のプリンタ制御回路５３に設けられたジョブ受信部１０１によりそのプリントジョブを受信する。プリンタ制御回路５３では、ジョブ受信部１０１で受信したプリントジョブを一旦スプール用のバッファ５５に格納する（▲２▼）。スプールの機能はジョブ制御部１０３により実現されており、ジョブ制御部１０３は、バッファ５５に格納されたプリントジョブを順に印刷機構５１に出力する（▲３▼）。この結果、印刷機構５１によって上記プリントジョブにより示される画像が印刷される。
【００６１】
プリンタ制御回路５３は、また、ジョブ状態監視部１０４とプリンタ状態監視部１０５を備えている。ジョブ状態監視部１０４は、ジョブ制御部１０３から送られてくる情報に基づいて、バッファ５５におけるプリントジョブの混み具合を監視する。プリンタ状態監視部１０５は、印刷機構５１から送られてくる情報に基づいて、印刷機構５１の動作の状態を監視する。各プリンタ５０，６０，７０におけるジョブ状態監視部１０４とプリンタ状態監視部１０５で求めた監視結果は、印刷負荷分散装置８０に送られる（▲４▼，▲５▼）。
【００６２】
印刷負荷分散装置８０は、ジョブ状態監視部１１１によって、各プリンタ５０，６０，７０から受信したジョブ状態の監視結果を記憶して、各バッファ５５におけるプリントジョブの混み具合を監視しており、また、プリンタ状態監視部１１２によって、各プリンタ５０，６０，７０から受信したプリンタ状態の監視結果を記憶して、各印刷機構５１の動作の状態を監視している。なお、ここでは、コンピュータネットワーク９０に接続される複数のプリンタのうちの３台のプリンタ５０，６０，７０に対して、印刷負荷分散装置８０は、そのプリンタ状態とジョブ状態の監視を行なうように説明してきたが、実際は、印刷負荷分散装置８０に設けられたグループ情報記憶部１１３に、それら監視を行なうべきプリンタを識別するプリンタ名が予め記憶されており（この実施例では、上記３台のプリンタ５０，６０，７０のプリンタ名が記憶されていることになる）、それらプリンタ名を参照することで、所望のプリンタについてのプリンタ状態とジョブ状態の監視を行なうように構成されている。なお、上記プリンタ名は、プリンタを特定できる情報であれば、どのようなものでもよく、例えば、ネットワークアドレス、ＩＰアドレス等に替えることもできる。
【００６３】
具体的には、印刷負荷分散装置８０は、グループ情報記憶部１１３から監視を行なうべきプリンタ名を読み出して、そのプリンタ名のプリンタに対して監視情報を送信する旨の要求信号を送り、この要求信号を受けた各プリンタのジョブ状態監視部１０４およびプリンタ状態監視部１０５から送信される監視情報を受信する。
【００６４】
印刷負荷分散装置８０は、次いで、ジョブ移動判定部１１４により、ジョブ状態監視部１１１とプリンタ状態監視部１１２からの監視結果に基づいて（▲６▼，▲７▼）、ジョブ移動が必要なプリンタ（即ち、バッファ５５内のプリントジョブを他のプリンタに代替する必要のあるプリンタ）とその移動先のプリンタとを求める処理を行なう。この処理では、ジョブ状態監視部１１１の監視結果から、プリントジョブの混み合いの程度が大きいプリンタを選択し、プリンタ状態監視部１１２の監視結果から、印刷機構５１がエラーの状態（故障は勿論のこと、用紙詰まり、用紙切れの状態等も含む）にあるプリンタを選択し、これら選択されたプリンタについてジョブ移動が必要であると定める。また、ジョブ状態監視部１１１の監視結果から、グループ情報記憶部１１３に記憶されたプリンタ５０，６０，７０の集まりの範囲内でプリントジョブの混み合いの程度が小さいと推測されるプリンタの一つを移動先のプリンタと定める。ここで、プリントジョブの混み合いの程度が大きいプリンタとは、バッファ５５の全容量に対するプリントジョブの格納量の総量の割合が所定値Ｃ１以上となったプリンタをいい、プリントジョブの混み合いの程度が小さいプリンタとは、バッファ５５の全容量に対するプリントジョブの格納量の総量の割合が所定値Ｃ２以下となったプリンタをいう。なお、上記所定値Ｃ１は、所定値Ｃ２より大きい値である。なお、両者は同一の値とすることもできる。
【００６５】
印刷負荷分散装置８０は、その後、ジョブ移動指令部１１５により、上記ジョブ移動が必要なプリンタに対してプリントジョブを移動する旨の指令を発する。この発令は、ジョブ移動が必要だと判定されたプリンタ（図示の例ではプリンタ５０）のプリンタ制御回路５３に設けられたジョブ制御部１０３に送られる（▲８▼）。印刷負荷分散装置８０のジョブ移動指令部１１５では、また、印刷負荷分散装置８０自身のジョブ移動送信部１１６に対しても、移動先を示すプリンタのプリンタ名を通知している（▲９▼）。
【００６６】
ジョブ移動指令部１１５からジョブ移動の指令を受けたプリンタ５０のジョブ制御部１０３は、プリントジョブに予め付された優先度を考慮して、バッファ５５に格納された複数のプリントジョブの中から移動に供するプリントジョブを決定して、そのプリントジョブをバッファ５５からプリンタ制御回路５３のジョブ移動送信部１０６に送る（○１０；図３中の１０以上の数字を○で囲んだ記号をこの明細書では○に数字を並べた文字列により示すものとする）。その後、ジョブ移動送信部１０６は、そのプリントジョブを印刷負荷分散装置８０のジョブ移動受信部１１７に送信する（○１１）。
【００６７】
印刷負荷分散装置８０では、そのジョブ移動受信部１１７で受けたプリントジョブをジョブ移動送信部１１６に送る（○１２）。ジョブ移動送信部１１６は、前述したようにジョブ移動指令部１１５から移動先のプリンタ名の通知を受けていることから、その移動先のプリンタ（図示の例ではプリンタ６０）に向かって、上記ジョブ移動受信部１１７から送られてきたプリントジョブを送信する（○１３）。なお、ジョブ移動通知部１１８は、ジョブ移動指令部１１５から移動先のプリンタ名の通知を受け（○１４）、ジョブ移動受信部１１７からプリントジョブに含まれる発信者情報とプリントジョブによって表わされる印刷物の名前との通知を受けている（○１５）。ジョブ移動通知部１１８は、これら通知から、移動に供するプリントジョブの発令元であるクライアントパソコンに対して、印刷物の名前とプリントジョブの移動先のプリンタ名とを通知する（○１６）。この構成により、プリントジョブの移動先をプリントジョブの発令元のクライアントパソコンに通知することができることから、作業者はいずれのプリンタからプリントアウトがなされるかを知ることができ、使い勝手がよい。
【００６８】
一方、ジョブ移動送信部１１６からのプリントジョブの送信を受けたプリンタ６０は、ジョブ移動受信部１０７によりそのプリントジョブを受信して、その後、そのプリントジョブをバッファ５５に格納する（○１７）。この結果、一のプリントジョブは、混み合いの程度が大きいプリンタ５０（または印刷機構５１がエラーの状態にあるプリンタ）から混み合いの程度が小さいプリンタ６０に移動されることになり、プリントジョブはそのプリンタ６０から混み合うことなく印刷がなされる。
【００６９】
なお、印刷負荷分散装置８０において、ジョブ移動通知部１１８が、ジョブ移動の移動先をプリントジョブの発令元であるクライアントパソコンに対して通知しているが、これに替えて、ジョブ移動通知部１１８を無くして、ジョブ移動指令部１１５が、プリントジョブの格納場所（移動元）であるプリンタに対してジョブ移動の指令とともに移動先を送信するようにして、その後、そのプリンタからその移動するプリントジョブの発令元であるクライアントパソコンに対して、プリントジョブの移動先を通知する構成とすることもできる。
【００７０】
図３に示した各プリンタ制御回路５３に設けられた各部１０３〜１０７は、実際は、図２のハードウェア構成におけるＲＯＭ５３ｂに予め記憶されたコンピュータプログラムとそのコンピュータプログラムに従ってＣＰＵ５３ａにより実行される各種処理とにより実現されている。また、図３に示した印刷負荷分散装置８０に設けられたジョブ状態監視部１１１とプリンタ状態監視部１１２内のバッファと、グループ情報記憶部１１３は、実際は、図２のハードウェア構成におけるＲＡＭ８０ｃにより実現されており、図３に示した印刷負荷分散装置８０に設けられた各部１１１，１１４〜１１８は、実際は、図２のハードウェア構成におけるＲＯＭ８０ｂに予め記憶されたコンピュータプログラムとそのコンピュータプログラムに従ってＣＰＵ８０ａにより実行される各種処理とにより実現されている。
【００７１】
上記プリンタ制御回路５３および印刷負荷分散装置８０で実行される各コンピュータプログラムは、ＲＯＭ５３ｂ，ＲＯＭ８０ｂに予め記憶されたものであるが、これに替えて、外部のコンピュータ読み取り可能な記録媒体に予め記憶させておき、入出力インタフェース５３ｄ，８０ｄを介してこれら記録媒体からダウンロードして、ＲＡＭ５３ｃ，８０ｃに転送することにより得るようにしてもよい。この種の記録媒体としては、フロッピィディスク、ハードディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード等が該当する。また、これらコンピュータプログラムは、コンピュータネットワーク９０に接続される特定のサーバから、コンピュータネットワーク９０を介して提供されるプログラムデータをダウンロードして、ＲＡＭ５３ｃ，８０ｃに転送することにより得るようにすることもできる。
【００７２】
こうしたコンピュータプログラムで記述される各種処理ルーチンについて次に説明する。プリンタ制御回路５３のＣＰＵ５３ａでは、スプール印刷を行なうスプール印刷処理ルーチンと、印刷負荷分散装置８０へのプリントジョブの送受信を行なうジョブ送受信処理ルーチンとが実行される。印刷負荷分散装置８０のＣＰＵ８０ａでは、印刷負荷の分散を行なう印刷負荷分散処理ルーチンが実行される。
【００７３】
図４は、プリンタ制御回路５３のＣＰＵ５３ａで実行されるスプール印刷処理ルーチンを示すフローチャートである。この処理ルーチンは所定時間毎に繰り返し実行される。図示するように、プリンタ制御回路５３のＣＰＵ５３ａは、処理が開始されると、まず、コンピュータネットワーク９０に接続されたクライアントパソコン２０，３０，４０からプリントジョブが送られてくるか否かを判別する（ステップＳ２００）。なお、図５に示すように、クライアントパソコン２０，３０，４０から送られてくる個々のプリントジョブＰＪには、優先度識別データＦＧ１と負荷分散対象判別フラグＦＧ２とが付加されている。優先度識別データＦＧ１は、印刷の優先度を示すもので、例えば、「Ａ」は最優先、「Ｂ」は優先、「Ｃ」は普通というように定めて、「Ａ」，「Ｂ」，「Ｃ」のうちのいずれか一つの文字列が記されている。負荷分散対象判別フラグＦＧ２は、印刷負荷を分散させるためのジョブ移動の対象となり得るか否かを示すもので、「１」もしくは「０」の数値が記されている。
【００７４】
ステップＳ２００で、これらフラグＦＧ１，ＦＧ２が付加されたプリントジョブが送られてきたと判別されると、ＣＰＵ５３ａは、そのプリントジョブ（以下、各プリントジョブには上記フラグＦＧ１，ＦＧ２がそれぞれセットとなっているものとして説明を続ける）を受信して（ステップＳ２１０）、プリントジョブをＲＡＭ５３ｃに用意したスプール用のバッファ５５に格納する（ステップＳ２２０）。その後、バッファ５５に格納されているプリントジョブの中から格納順の早いプリントジョブを一つ抽出して、このプリントジョブを印刷機構５１に出力する（ステップＳ２３０）。この結果、印刷機構５１によってバッファ５５に格納されたプリントジョブが格納順に印刷される。
【００７５】
なお、ステップＳ２３０の処理は、バッファ５５にプリントジョブが格納されている場合に実行されるもので、バッファ５５にプリントジョブがない場合には実行されることはない。また、ステップＳ２２０とステップＳ２３０の処理は、フローチャートの記載上の都合からこのような順に記載したが、実際は、両処理は並列に実行されており、これによりスプール機能が実現されている。その後、「リターン」に抜けてこの処理ルーチンの実行を一旦終了する。一方、ステップＳ２００で否定判別された場合には、ステップＳ２１０およびＳ２２０の処理を実行することなく、ステップＳ２３０に処理を進めて、プリントジョブの印刷を行なっている。
【００７６】
図６は、プリンタ制御回路５３のＣＰＵ５３ａで実行されるジョブ送受信処理ルーチンと印刷負荷分散装置８０のＣＰＵ８０ａで実行される印刷負荷分散処理ルーチンを示すフローチャートである。両処理は所定時間毎にそれぞれ繰り返し実行される。図示するように、プリンタ制御回路５３のＣＰＵ５３ａは、ジョブ送受信処理ルーチンが開始されると、まず、ＲＡＭ５３ｃに用意したスプール用のバッファ５５に格納されているプリントジョブの量を検出して（ステップＳ３００）、その検出結果に基づいて、バッファ５５におけるプリントジョブの混み合いの程度を判定するジョブ状態監視処理を実行する（ステップＳ３１０）。なお、ステップＳ３００のプリントジョブの量の検出は、具体的にはバッファ５５内にある未処理の全プリントジョブ数を検出するようにすればよいが、さらには、プリントジョブに示される印刷物のページ数を考慮するようにすることもできる。また、ステップＳ３００で検出されたプリントジョブの量を、当該プリンタの平均出力処理能力で割り算することで、プリンタの出力処理能力に鑑みたプリンタの負荷量を求めて、この負荷量に応じてプリントジョブの混み合いの程度を判定する構成とすることもできる。
【００７７】
次いで、ＣＰＵ５３ａは、印刷機構５１の動作の状態を示す各種情報を印刷機構５１から入力し（ステップＳ３２０）、その各種情報から印刷機構５１が現在どのような動作の状態にあるか、すなわち、正常に動作しているか、故障、用紙詰まり、用紙切れ等のエラーの状態にあるか等を判定するプリンタ状態監視処理を実行する（ステップＳ３３０）。
【００７８】
ステップＳ３３０の実行後、ＣＰＵ５３ａは、印刷負荷分散装置８０から監視情報を要求する要求信号が送られてきたか否かを判別する（ステップＳ３４０）。この要求信号は、印刷負荷分散装置８０のＣＰＵ８０ａで実行される印刷負荷分散処理ルーチンの最初のステップＳ４００にて送信されるものである。なお、この要求信号の送信先は、ＲＡＭ８０ｃ内の所定領域（前述したグループ情報記憶部１１３に相当する）に予め記憶された監視を行なうべきプリンタのプリンタ名から決定されている。
【００７９】
ステップＳ３４０で要求信号が送られてこないと判別されたときには、「リターン」に抜けてこの処理ルーチンの実行を一旦終了する。一方、ステップＳ３４０で要求信号が送られてきたと判別されたときには、ステップＳ３１０のジョブ状態監視処理で判定した結果（以下、ジョブ状態監視情報と呼ぶ）とステップＳ３３０のプリンタ状態監視処理で判定した結果（以下、プリンタ状態監視情報）をネットワーク制御回路５３ｅを介して印刷負荷分散装置８０に送信する（ステップＳ３５０）。
【００８０】
一方、印刷負荷分散装置８０のＣＰＵ８０ａは、印刷負荷分散処理ルーチンにおいて、ステップＳ４００で監視情報を要求する要求信号を送信した後、その要求信号を送信した各プリンタ５０，６０，７０から送られてくるジョブ状態監視情報とプリンタ状態監視情報を受信する処理を行なう（ステップＳ４１０）。その後、ＣＰＵ８０ａは、それら受信した各プリンタの両監視情報をＲＡＭ８０ｃに順に格納する（ステップＳ４２０）。
【００８１】
続いて、ＣＰＵ８０ａは、ＲＡＭ８０ｃに格納したジョブ状態監視情報とプリンタ状態監視情報に基づいて、ジョブ移動が必要なプリンタとその移動先のプリンタとを求めるジョブ移動判定処理を行なう（ステップＳ４３０）。この判定処理は、ジョブ状態監視情報から、プリントジョブの混み合いの程度が大きいプリンタを選択し、さらには、プリンタ状態監視情報から、印刷機構５１がエラーの状態にあるプリンタを選択し、それら双方のプリンタ（混み合いの程度の大きいプリンタとエラーの状態にあるプリンタ）を、プリントジョブを他のプリンタに代替するジョブ移動が必要であると定めるものである。さらに、ジョブ状態監視情報から、プリントジョブの混み合いの程度が小さいと推測されるプリンタの一つを移動先のプリンタと定めるものである。
【００８２】
その後、ＣＰＵ８０ａは、上記ジョブ移動が必要と判定されたプリンタに対してプリントジョブを移動する旨の指令を送信する処理を行なう（ステップＳ４４０）。
【００８３】
プリンタ制御回路５３のＣＰＵ５３ａは、ジョブ送受信処理ルーチンにおいて、ステップＳ３５０の実行後、印刷負荷分散装置８０から上記ステップＳ４４０で送信されたジョブ移動の指令を受けたか否かを判別する（ステップＳ３６０）。ここで、ジョブ移動の指令を受けなかったと判別された場合には、「リターン」に抜けて、この処理ルーチンの実行を一旦終了する。なお、ステップＳ３４０で要求信号がないと判別された場合にも、「リターン」に抜けて、この処理ルーチンの実行を一旦終了する。
【００８４】
一方、ステップＳ３６０でジョブ移動の指令を受けたと判別された場合には、スプール用のバッファ５５に格納された複数のプリントジョブの中から移動に供するプリントジョブを選択する処理を行なう（ステップＳ３７０）。この選択は具体的には、バッファ５５内の全てのプリントジョブを順に読み出し、まず、プリントジョブに添付された負荷分散対象判別フラグＦＧ２が値１であるか否かから、プリントジョブが印刷負荷分散のためのジョブ移動の対象となり得るか否かを判別する。ここで、そのジョブ移動の対象となり得ると判別されたプリントジョブについては、優先度識別データＦＧ１で示される優先度を調べ、それらジョブ移動の対象となったプリントジョブの中から最も優先度が大きいものを選択する。なお、ここで優先度が最も大きいものとして複数のプリントジョブが選択された場合には、バッファ５５への格納の順序が遅いものをプリントジョブの移動の対象とした。なお、プリントジョブのデータの容量を考慮してそれら複数のプリントジョブをそのまま移動の対象とすることもできる。
【００８５】
その後、ＣＰＵ５３ａは、移動の対象として選択したプリントジョブを印刷負荷分散装置８０に送信する（ステップＳ３８０）。印刷負荷分散装置８０のＣＰＵ８０ａは、印刷負荷分散処理ルーチンにおいて、ステップＳ４４０でジョブ移動の指令を送信した後、その要求信号を受信したプリンタからステップＳ３８０の実行により送られてくる上記プリントジョブを受信する（ステップＳ４５０）。その後、ＣＰＵ８０ａは、その受信したプリントジョブに含まれる発信者情報からそのプリントジョブの発令元であるクライアントパソコンを特定する（ステップＳ４６０）。続いて、ＣＰＵ８０ａは、ステップＳ４５０で受信したプリントジョブによって表わされる印刷物の名前と、ステップＳ４３０で判定した移動先のプリンタを識別するプリンタ名とを、ステップＳ４６０で特定した発令元のクライアントパソコンに対して送信する（ステップＳ４７０）。その後、ＣＰＵ８０ａは、ステップＳ４５０で受信したプリントジョブをステップＳ４３０で判定した移動先のプリンタに送信する（ステップＳ４８０）。
【００８６】
印刷負荷分散装置８０からプリントジョブの送信を受けたプリンタは、前述したスプール印刷処理ルーチンにより、そのプリントジョブを受信して（ステップＳ２１０）、バッファ５５に格納する（ステップＳ２２０）。その後、そのプリントジョブを印刷機構に出力することでプリントアウトを行なう（ステップＳ２３０）。
【００８７】
なお、プリンタ制御回路５３のＣＰＵ５３ａは、ジョブ送受信処理ルーチンにおいてステップＳ３８０の処理の実行後、「リターン」に抜けてこの処理ルーチンの実行を一旦終了する。また、印刷負荷分散装置８０のＣＰＵ８０ａは、印刷負荷分散処理ルーチンにおいて、ステップＳ４８０の実行後、「リターン」に抜けてこの処理ルーチンの実行を一旦終了する。
【００８８】
以上のように構成されたこの実施例によれば、コンピュータネットワーク９０により接続される複数のプリンタのうちの予め定めた３台のプリンタ５０，６０，７０の集まりの範囲内で、１台のプリンタ（例えばプリンタ５０）にプリントジョブが集中した場合、そのプリンタ（５０）のスプール用のバッファ５５に格納される少なくとも１のプリントジョブが、その３台のプリンタ５０，６０，７０のうちの他のプリンタ（６０，７０）のバッファ５５に転送される。したがって、プリントジョブが一台のプリンタに集中したときにも、他の空いているプリンタからの印刷が可能となり、印刷を素早く完了することができるという効果を奏する。
【００８９】
また、エラー状態にあるプリント装置にプリントジョブが送られた場合に、そのプリントジョブは他のプリント装置にて印刷されることから、印刷を素早く完了することができる。
【００９０】
さらに、この実施例では、プリントジョブに優先度識別データＦＧ１と負荷分散対象判別フラグＦＧ２とを付加することで、そのプリントジョブを負荷分散のために転送することを許可するか禁止するかを定めることができるとともに、その転送を行なう際の優先度を定めることができる。したがって、作業者が特定のプリント装置からの印刷を望むような場合に、プリントジョブが他のプリント装置に転送されることを防ぐことができる。また、印刷の優先度の高いプリントジョブを優先して他のプリント装置に移動させることができる。
【００９１】
なお、上記実施例では、バッファ内のプリントジョブを他のプリンタに代替する必要のあるプリンタとして、バッファ内のプリントジョブの状態が混み合いの程度が大きいプリンタと、故障、用紙詰まり、用紙切れ等のエラー状態にあるプリンタを検出していたが、これらに替えて、いずれか一方だけを検出する構成とすることができる。また、これらに替えて、印刷の完了時刻を予め予約しておくプリンタの使用において、バッファ内のプリントジョブの状態からその完了時刻に間に合いそうもないと判断された場合に、上記他のプリンタへの代替の必要があると判断する構成とすることもできる。
【００９２】
また、上記実施例では、移動先のプリンタとして、バッファ内のプリントジョブの状態が混み合いの程度が小さいプリンタを検出していたが、これらに替えて、混み合いの程度が小さく、かつ故障、用紙詰まり、用紙切れ等のエラー状態にないプリンタを検出する構成とすることができる。また、上記エラー状態にないプリンタだけを移動先のプリンタとして検出することもできる。
【００９３】
本発明の第２実施例について次に説明する。図７は、この発明の第２実施例を適用するコンピュータシステムの概略構成図である。図示するように、このコンピュータシステム５００は、第１のコンピュータシステム５００Ａと、第２のコンピュータシステム５００Ｂと、両コンピュータシステム５００Ａ，５００Ｂを相互に接続するコンピュータネットワーク６００とを備える。
【００９４】
第１のコンピュータシステム５００Ａは、第１実施例のコンピュータシステム１０とほぼ同一の構成であり、プリントジョブを発生する複数（図７に表示される範囲では３台）のクライアントパソコン５２０Ａ，５３０Ａ，５４０Ａや、プリントジョブを印刷する複数（図７に表示される範囲では３台）のプリンタ５５０Ａ，５６０Ａ，５７０Ａや、各プリンタ５５０Ａ〜５７０Ａの印刷の負荷を分散する印刷負荷分散装置５８０Ａなどが、コンピュータネットワーク５９０Ａを介して相互に接続された構成をしている。第２のコンピュータシステム５００Ｂも、第１実施例のコンピュータシステム１０とほぼ同一の構成であり、クライアントパソコン５２０Ｂ，５３０Ｂ，５４０Ｂやプリンタ５５０Ｂ、５６０Ｂ、５７０Ｂや印刷負荷分散装置５８０Ｂなどが、コンピュータネットワーク５９０Ｂを介して相互に接続された構成をしている。
【００９５】
コンピュータネットワーク６００は、ＬＡＮにより構築されている。なお、ＬＡＮに替えて、インターネットや、イントラネットや、ワイドエリアネットワーク（ＷＡＮ）など、各種ネットワークに替えることができる。第１のコンピュータシステム５００Ａと第２のコンピュータシステム５００Ｂは、例えば、１階と２階というように階層が相違していたり、本店と支店というように建物が相違していたりというように距離的に大きく離れて設置されているのが一般的である。なお、両コンピュータシステム５００Ａ，５００Ｂは必ずしも距離的に大きく離れている必要はなく、ネットワークの網羅する範囲が明確に定められておれば、近接して設置されていてもよい。
【００９６】
かかる構成のコンピュータシステム５００によれば、大まかには、次のような処理を行なう。第１実施例と同様に、まず、第１のコンピュータシステム５００Ａでは、プリントジョブを、自身の範囲内の任意の一台のクライアントパソコン５２０Ａ，５３０Ａ，５４０Ａからコンピュータネットワーク５９０Ａを介して任意の一台のプリンタ５５０Ａ，５６０Ａ，５７０Ａに送出する処理を行なう。そして、その送出先のプリンタのプリントジョブの混み合いの程度が大きい状態となったり、その送出先のプリンタがエラーとなった場合には、印刷負荷分散装置５８０Ａにより、自身の範囲内のプリンタ５５０Ａ，５６０Ａ，５７０Ａは勿論、他の範囲内、すなわち第２のコンピュータシステム５００Ｂ内のプリンタ５５０Ｂ，５６０Ｂ，５７０Ｂを含めた中で空いているプリンタを検出して、上記一旦送られたプリントジョブをそのプリンタに移動する処理を行なう。
【００９７】
同様に、第２のコンピュータシステム５００Ｂでも、プリントジョブを自身の範囲内の任意の一台のクライアントパソコン５２０Ｂ，５３０Ｂ，５４０Ｂから任意の一台のプリンタ５５０Ｂ，５６０Ｂ，５７０Ｂに送出する処理を行ない、その送出先のプリンタのプリントジョブの混み合いの程度が大きい状態となったり、その送出先のプリンタがエラーとなった場合には、印刷負荷分散装置５８０Ｂにより、第１および第２のコンピュータシステム５００Ａ，５００Ｂ内の全てのプリンタのプリンタ５５０Ｂ〜５７０Ｂ，５６０Ｂ〜５７０Ｂを含めた中で空いているプリンタを検出して、上記一旦送られたプリントジョブをそのプリンタに移動する処理を行なう。
【００９８】
こうした処理の様子について次に詳しく説明する。図８は、各コンピュータシステム５００Ａ、５００Ｂに備えられる印刷負荷分散装置５８０Ａ，５８０Ｂで実現される処理の様子を、各プリンタ５５０Ａ〜５７０Ａ，５５０Ｂ〜５７０Ｂのプリンタ制御回路６１０Ａ，６１０Ｂに関連づけて示すブロック図である。図中におけるプリンタ制御回路６１０Ａ，６１０Ｂは、第１実施例のプリンタ制御回路５３と同一の処理を実現している。印刷負荷分散装置５８０Ａ，５８０Ｂは、第１実施例の印刷負荷分散装置８０と比較して、ジョブ状態監視部６１１，プリンタ状態監視部６１２，グループ情報記憶部６１３，ジョブ移動判定部６１４，ジョブ移動指令部６１５，ジョブ移動送信部６１６，ジョブ移動受信部６１７およびジョブ移動通知部６１８を備える点で一致する。両者の相違点は、この印刷負荷分散装置５８０Ａ，５８０Ｂが、空きプリンタ判定部６５０と空きプリンタ監視部６５１と通信制御部６５２をさらに備える点にある。
【００９９】
印刷負荷分散装置５８０Ａでは、上述した第１実施例と同一の構成により、図中の▲１▼，▲４▼〜▲９▼，○１１〜○１２，○１４〜○１６で示す信号に基づく処理が実現される。これら信号に基づく処理は、第１実施例で実現された処理と同一であり、第１実施例と同一の番号が付されている。
【０１００】
印刷負荷分散装置５８０Ａは、さらに、上述した第１実施例と相違する構成により、第１実施例の印刷負荷分散装置８０では実現されない次の処理を実現する。
【０１０１】
印刷負荷分散装置５８０Ａは、空きプリンタ判定部６５０により、ジョブ状態監視部６１１とプリンタ状態監視部６１２からの監視結果をそれぞれ受信して（○ａ，○ｂ；図８中のａ〜ｅの英字を○で囲んだ記号をこの明細書では○に英字を並べた文字列により示すものとする）、自身のコンピュータシステム５００Ａに含まれるプリンタ５５０Ａ，５６０Ａ，５７０Ａの中から、プリントジョブの混み合いの程度が小さくて、かつ印刷機構６２０Ａがエラーの状態にないプリンタ（以下、空きプリンタと呼ぶ。通常、空きプリンタとは、混み合いの程度が小さいだけのものを言うが、ここでは、混み合いの程度が小さく、かつエラーの状態にないプリンタを空きプリンタと呼ぶ）を判定して、それら空きプリンタの内の一つを選択する。なお、この一つへの選択は、任意の空きプリンタであってもよいし、例えば先に判定されたものといった所定の条件により定められた空きプリンタであってもよい。その後、空きプリンタ判定部６５０は、空きプリンタ監視部６５１に、その選択された空きプリンタを識別するプリンタ名を通知する（○ｃ）。なお、空きプリンタがない場合には、その旨を示すデータ（例えば、”空きなし”）を通知する。
【０１０２】
空きプリンタ監視部６５１は、このコンピュータシステム５００が有するコンピュータシステムの数（この実施例では、第１のコンピュータシステム５００Ａと第２のコンピュータシステム５００Ｂの２つ）のフィールドｆｄ１，ｆｄ２を備えるテーブルｔｂｌを有しており、第１番目のフィールドｄ１が第１のコンピュータシステム５００Ａに、第２番目のフィールドｆｄ２が第２のコンピュータシステム５００Ｂにそれぞれ対応している。空きプリンタ監視部６５１は、空きプリンタ判定部６５０から送られてきたプリンタ名を、自身のコンピュータシステム５００Ａに対応するフィールドｆｄ１に格納する。
【０１０３】
さらに、空きプリンタ監視部６５１は、空きプリンタ判定部６５０から送られてきたプリンタ名と、自身が所属するコンピュータシステム５００Ａを識別するＩＤとを通信制御部６５２に送る（○ｄ）。通信制御部６５２は、第２のコンピュータシステム５００Ｂの印刷負荷分散装置５８０Ｂに備えられる通信制御部６５２と間で、上記プリンタ名とＩＤとがセットになった空きプリンタ情報をやり取りする（○ｅ）。第２のコンピュータシステム５００Ｂの印刷負荷分散装置５８０Ｂに備えられる空きプリンタ監視部６５１では、上記通信制御部６５２から上記空きプリンタ情報を受け取って、上記ＩＤ番号によって定まるコンピュータシステム５００Ａに対応するフィールドｆｄ１に上記プリンタ名を書き込む。同様に、この第２のコンピュータシステム５００Ｂ側のプリンタ監視部６５１は、人身の第２のコンピュータシステム５００Ｂの空きプリンタ判定部６５０から送られてきたプリンタ名と、自身が所属するコンピュータシステム５００Ｂを識別するＩＤとがセットになった空きプリンタ情報を通信制御部６５２を介して、第１のコンピュータシステム５００Ａ側に送る（○ｅ）。第１のコンピュータシステム５００Ａ側に備えられる空きプリンタ監視部６５１では、通信制御部６５２を介して上記空きプリンタ情報を受け取って、上記ＩＤ番号によって定まるコンピュータシステム５００Ｂに対応するフィールドｆｄ２に上記プリンタ名を書き込む。
【０１０４】
このように、テーブルｔｂｌで規定する全てのコンピュータシステム５００Ａ，５００Ｂの間で、各コンピュータシステム５００Ａ，５００Ｂがそれぞれ管理するプリンタの空きプリンタ情報をやり取りすることで、各コンピュータシステム５００Ａ，５００Ｂの印刷負荷分散装置５８０Ａ，５８０Ｂの有する空きプリンタ監視部６５１で記憶されるそれぞれのテーブルｔｂｌの内容は、各コンピュータシステム５００Ａ，５００Ｂ間で相違することなく、かつ、各コンピュータシステム５００Ａ，５００Ｂに含まれる最新の空きプリンタ情報を示すものとなる。
【０１０５】
空きプリンタ監視部６５１は、テーブルｔｂｌの内容をジョブ移動判定部６１４に通知する。ジョブ移動判定部６１４は、第１実施例で説明したジョブ移動判定部１１４と比較して、ジョブ移動が必要なプリンタの処理を定める手法については同一であるが、その移動先のプリンタを定める手法については相違する。第１実施例では、一のコンピュータシステム１０の範囲内から移動先のプリンタを定めていたが、これに替えて、この第２実施例では、空きプリンタ監視部６５１から通知を受けたテーブルｔｂｌの内容に基づいて、双方のコンピュータシステム５００Ａ，５００Ｂの範囲（空きプリンタ監視部６５１でフィールドとして規定するコンピュータシステムの範囲）内から移動先のプリンタを定めている。即ち、テーブルｔｂｌの内容から双方のコンピュータシステム５００Ａ，５００Ｂの範囲内で、混み合いの程度が小さくかつエラーの状態にない空きプリンタがないかを調べて、空きのプリンタがあった場合に、そのプリンタを移動先と定める。なお、空きプリンタが双方のコンピュータシステム５００Ａ，５００Ｂにある場合は、自身のコンピュータシステム５００Ａ内の空きのプリンタを優先的に定めるようにする。自身のコンピュータシステム５００Ａ内のプリンタであれば、プリントジョブを発令したクライアントパソコン５２０Ａから距離的に近いことから、印刷物の回収性に優れているためである。
【０１０６】
印刷負荷分散装置５８０Ａは、その後、ジョブ移動判定部６１４で判定されたジョブ移動が必要なプリンタを識別するプリンタ名と、移動先を示すプリンタを識別するプリンタ名をジョブ移動指令部６１５に通知する。ジョブ移動指令部６１５は、第１実施例と同様な処理を実行する。この結果、ジョブ移動送信部６１６は、移動先である空きプリンタ（図８に例示するテーブルｔｂｌの内容の場合には、第２のコンピュータシステム５００Ｂに含まれる第２のプリンタ５６０Ｂ）に向かって、ジョブ移動受信部６１７から送られてきたプリントジョブを送信する（○９９）。この結果、一のプリントジョブは、混み合いの程度が大きい（または印刷機構６２０Ａがエラーの状態にある）プリンタ５５０Ａから、自身のコンピュータシステム５００Ａと他のコンピュータシステム５００Ｂを含めた範囲内の空きプリンタ５６０Ｂに移動されることになり、プリントジョブはそのプリンタ５６０Ｂから混み合うことなく印刷がなされる。
【０１０７】
図８に示した印刷負荷分散装置５８０Ａ，５８０Ｂに設けられた第１実施例と相違する各部、すなわち、空きプリンタ判定部６５０、空きプリンタ監視部６５１、通信制御部６５２は、実際は、印刷負荷分散装置５８０Ａ，５８０Ｂにハードウェア的に設けられたＲＯＭに予め記憶されたコンピュータプログラムとそのコンピュータプログラムに従ってＣＰＵにより実行される各種処理とにより実現されている。なお、図８に示した印刷負荷分散装置５８０Ａ，５８０Ｂに設けられた第１実施例と同一の各部６１１〜６１８も、第１実施例と同様に、ＲＯＭに予め記憶されたコンピュータプログラムとそのコンピュータプログラムに従ってＣＰＵにより実行される各種処理とにより実現されている。
【０１０８】
印刷負荷分散装置５８０Ａ，５８０Ｂで実行される各コンピュータプログラムは、ＲＯＭに予め記憶されたものであるが、これに替えて、第１実施例と同様に、外部のコンピュータ読み取り可能な記録媒体に予め記憶させておき、入出力インタフェースを介してこれら記録媒体からダウンロードして、ＲＡＭに転送することにより得るようにしてもよい。また、これらコンピュータプログラムは、コンピュータネットワーク５９０Ａ，５９０Ｂに接続される特定のサーバから、コンピュータネットワーク５９０Ａ，５９０Ｂを介して提供されるプログラムデータをダウンロードして、ＲＡＭに転送することにより得るようにすることもできる。
【０１０９】
こうしたコンピュータプログラムで記述される各種処理ルーチンのうちの第２実施例に特有の処理ルーチンについて次に説明する。印刷負荷分散装置５８０Ａ（または５８０Ｂ）のＣＰＵでは、空きプリンタ判定部６５０と空きプリンタ監視部６５１に対応する空きプリンタ判定・監視ルーチンが実行され、また、通信制御部６５２に対応する通信制御ルーチンが実行される。図９は、その空きプリンタ判定・監視ルーチンを示すフローチャートである。この処理ルーチンは所定時間毎に繰り返し実行される。
【０１１０】
図示するように、印刷負荷分散装置５８０Ａ（５８０Ｂ）のＣＰＵは、処理が開始されると、まず、第１実施例のステップＳ４００，Ｓ４１０，Ｓ４２０と同一のステップＳ７００，Ｓ７１０，Ｓ７２０の処理を実行する。次いで、そのＣＰＵは、ステップＳ７２０で印刷負荷分散装置５８０ＡのＲＡＭに格納されたジョブ状態監視情報とプリンタ状態監視情報に基づいて、自身のコンピュータシステム５００Ａ（５００Ｂ）に含まれるプリンタ５５０Ａ，５６０Ａ，５７０Ａ（５５０Ｂ，５６０Ｂ，５７０Ｂ）の中から、プリントジョブの混み合いの程度が小さくて、かつ印刷機構６２０Ａがエラーの状態にない空きプリンタを判別して、得られた空きプリンタの内の一つを選択する（ステップＳ７３０）。この一つへの選択は、前述したように、任意の空きプリンタであってもよいし、所定の条件により定められた空きプリンタであってもよい。
【０１１１】
続いて、ステップＳ７３０による一の空きプリンタの選択が正しくなされたか、それとも一の空きプリンタも選択されずにエラーとなったかを判別する処理を行なう（ステップＳ７４０）。ここで、正しく選択された場合には、その選択された空きプリンタを識別するプリンタ名を指示データとして記憶し（ステップＳ７５０）、一方、ステップＳ７３０で、一の空きプリンタも選択されなかったときには、「空きなし」の旨を指示データとして記憶する（ステップＳ７６０）。次いで、ステップＳ７５０またはＳ７６０で得られた指示データを、自身のコンピュータシステム５００Ａ（５００Ｂ）に対応するフィールドｆｄ１（ｆｄ２）に書き込む（ステップＳ７７０）。このフィールドｆｄ１（ｆｄ２）は、ＲＡＭに用意された前述したテーブルｔｂｌに備えられるものである。その後、その指示データと、自身が所属するコンピュータシステム５００Ａ（５００Ｂ）を識別するＩＤ（第１のコンピュータシステム５００Ａの場合、例えば”１”であり、第２のコンピュータシステム５００Ｂの場合、例えば”２”である）とがセットになった空きプリンタ情報を送信用データとしてＲＡＭに格納する処理を行なう（ステップＳ７８０）。ステップＳ７８０の実行後、この処理ルーチンを一旦終了する。
【０１１２】
図１０は、印刷負荷分散装置５８０Ａ（５８０Ｂ）のＣＰＵで実行される通信制御ルーチンを示すフローチャートである。この処理ルーチンは所定時間毎に繰り返し実行される。
【０１１３】
図示するように、印刷負荷分散装置５８０Ａ（５８０Ｂ）のＣＰＵは、処理が開始されると、まず、空きプリンタ判定・監視ルーチンのステップＳ７８０で格納される送信用データがあるか否かを判別する（ステップＳ８００）。ここで、送信用データがあると判別されたときには、ＲＡＭからその送信用データ（空きプリンタ情報）を読み出して、他方側のコンピュータシステム５００Ｂ（５００Ａ）に送信する処理を行なう（ステップＳ８１０）。一方、ステップＳ８００で、送信用データがないと判別されたときには、ステップＳ８１０の処理を行なうことはない。
【０１１４】
その後、そのＣＰＵは、他方側のコンピュータシステム５００Ｂ（５００Ａ）から空きプリンタ情報が送られてきたか否かを判別する（ステップＳ８２０）。ここで、肯定判別されたときには、その空きプリンタ情報を受信して（ステップＳ８３０）、その空きプリンタ情報に含まれる指示データを、同じく空きプリンタ情報に含まれるＩＤから定まるフィールドｆｄ２（ｆｄ１）に書き込む（ステップＳ８３０）。このフィールドｆｄ２（ｆｄ１）は、自身の印刷負荷分散装置５８０Ａ（５８０Ｂ）のＲＡＭに格納されるテーブルｔｂｌに備えられるものである。ステップＳ８３０の実行後、「リターン」に抜けて、この処理ルーチンを一旦終了する。
【０１１５】
この第２実施例では、上記処理ルーチン以外にも、第１実施例において図６に示した印刷負荷分散処理ルーチンおよびジョブ送受信処理ルーチンとほぼ同一の処理ルーチンを実行する。この第２実施例の印刷負荷分散処理ルーチンの第１実施例のそれとの相違点は、ステップＳ４３０のジョブ移動判定処理にあり、印刷負荷分散処理ルーチンのその他のステップおよびジョブ送受信処理ルーチンの全ステップは同一である。
【０１１６】
図１１は、第１実施例との相違点となるジョブ移動判定処理の内容を示すフローチャートである。図示するように、そのＣＰＵの処理が、ステップＳ４３０′に移行すると、まず、第１実施例と同一の手法にてジョブ移動が必要なプリンタを判定して（ステップＳ４３１）、その後、ＲＡＭに格納したテーブルｔｂｌに基づいて移動先のプリンタを判定する処理を行なう（ステップＳ４３２）。即ち、テーブルｔｂｌの内容から双方のコンピュータシステム５００Ａ，５００Ｂの範囲内で、混み合いの程度が小さくかつエラーの状態にない空きプリンタがないかを調べて、空きのプリンタがあった場合に、そのプリンタを移動先と定める。なお、空きプリンタが双方のコンピュータシステム５００Ａ，５００Ｂにある場合は、自身のコンピュータシステム５００Ａ内の空きのプリンタを優先的に定めるようにする。
【０１１７】
以上のように構成されたこの第２実施例によれば、第１のコンピュータシステム５００Ａに含まれる３台のプリンタ５５０Ａ，５６０Ａ，５７０Ａの集まりの範囲内で、１台のプリンタ（例えばプリンタ５５０Ａ）にプリントジョブが集中した場合、そのプリンタ５５０Ａのスプール用のバッファに格納される少なくとも１のプリントジョブが、その第１のコンピュータシステム５００Ａと他の第２のコンピュータシステム５００Ｂを含む範囲内の他のプリンタ５６０Ｂのバッファに転送される。したがって、プリントジョブが一台のプリンタに集中したときにも、自身のコンピュータシステムを越えた広い範囲内から空いているプリンタを探して印刷が可能となることから、印刷をより確実に素早く完了することができるという効果を奏する。
【０１１８】
また、エラー状態にあるプリント装置にプリントジョブが送られた場合にも、そのプリントジョブは他のプリント装置にて印刷されることから、印刷を素早く完了することができる。
【０１１９】
第２実施例の変形例について次に説明する。上記第２実施例では、バッファ内のプリントジョブを他のプリンタに代替する必要のあるプリンタとして、バッファ内のプリントジョブの状態が混み合いの程度が大きいプリンタと、故障、用紙詰まり、用紙切れ等のエラー状態にあるプリンタを検出していたが、これらに替えて、いずれか一方だけを検出する構成とすることができる。また、これらに替えて、印刷の完了時刻を予め予約しておくプリンタの使用において、バッファ内のプリントジョブの状態からその完了時刻に間に合いそうもないと判断された場合に、上記他のプリンタへの代替の必要があると判断する構成とすることもできる。
【０１２０】
また、移動先のプリンタとして、バッファ内のプリントジョブの状態が混み合いの程度が小さく、かつ故障、用紙詰まり、用紙切れ等のエラー状態にないプリンタを検出していたが、これに替えて、混み合いの程度が小さいもの、エラー状態にないものといったいずれか一方だけを検出する構成とすることもできる。
【０１２１】
図１２は、次の変形例を示すブロック図である。上記第２実施例では、空きプリンタ監視部６５１は、各コンピュータシステム５００Ａ，５００Ｂに含まれる印刷負荷分散装置５８０Ａ，５８０Ｂにそれぞれ設けられていたが、これに替えて、図１２に示すように、各コンピュータシステム８５０Ａ，８６０Ｂとは別体に設けられた管理用コンピュータ８６０に、空きプリンタ監視部８６１を設けた構成とすることもできる。この管理用コンピュータ８６０は、上記空きプリンタ監視部８６１に加えて、空きプリンタ情報を送受信する空きプリンタ情報送信部８６２および空きプリンタ情報受信部８６３を備えている。
【０１２２】
この変形例における各コンピュータシステム８５０Ａ，８６０Ｂに備えられる印刷負荷分散装置８５１Ａ，８５１Ｂは、前記第２実施例の印刷負荷分散装置５８０Ａ，５８０Ｂと比較して、空きプリンタ監視部６５１および通信制御部６５２を備えない点で相違し、その他の各部６１１〜６１８，６５０は同様に設けられている。なお、図には、ジョブ移動判定部６１４および空きプリンタ判定部６５０（第２実施例と同一の番号を付した）だけを記載した。また、印刷負荷分散装置８５１Ａ，８５１Ｂには、管理用コンピュータ８６０と空きプリンタ情報を送受信する空きプリンタ情報送受信部８５２を備える。
【０１２３】
かかる変形例の構成によれば、各印刷負荷分散装置８５１Ａ，８５１Ｂで得られた各コンピュータシステム８５０Ａ，８６０Ｂ内の空きプリンタ情報を、管理用コンピュータ８６０で一括管理することができることから、より確実にジョブ移動の移動先を決定することができるという効果を奏する。
【０１２４】
上記第２実施例では、第１のコンピュータシステム５００Ａと第２のコンピュータシステム５００Ｂの２組の装置群から構成されていたが、これに替えて、３以上の組数の装置群から構成することもできる。この構成によれば、より一層広い範囲で空きプリンタを探すことができることから、より一層確実にジョブ移動の移動先を決定することができる。
【０１２５】
さらに、３組以上の装置群から構成する場合には、上記管理用コンピュータで一括管理する構成としてもよいが、さらには、自身のコンピュータシステムと隣り合う第２のコンピュータシステムとの間で空きプリンタを探して、空きプリンタが見つからない場合に、さらに隣の第３のコンピュータシステムを探すというように、空き領域を探す範囲を順に拡大する構成とすることもできる。
【０１２６】
本発明の第３実施例について次に説明する。図１３は、この発明の第３実施例を適用するコンピュータシステムの概略構成図である。図示するように、このコンピュータシステム９００は、第１実施例のコンピュータシステム１０とほぼ同じで（同一部分には、同一の番号を付した）、相違する点は次の通りである。
【０１２７】
第３実施例のコンピュータシステム９００に備えられるプリンタ９５０，９６０，９７０のプリンタ制御回路９５３では、ジョブ受信部１０１が、クライアントパソコン２０，３０，４０からのプリントジョブの受信に際してアカウント属性情報を受け取るが、アカウント認証判定部９８１で、そのアカウント属性情報に基づいてアカウントを認証判定する処理を行なう。この認証判定処理は、プリンタ９５０，９６０，９７０に予め用意されたアカウントリストに該当するアカウントの登録があるか否かから、このコンピュータシステム９００に備えられるプリンタ９５０，９６０，９７０から印刷を行なう権限を持つかを否かを判定する。権限を持たないと判定された場合には、受信禁止部９８２により、ジョブ受信部１０１に対してそのアカウントに対応するプリントジョブの受信を禁止させる。
【０１２８】
なお、アカウントリストは、図にないアカウント管理装置に登録されており、アカウント認証判定部９８１は、必要に応じて前記アカウント管理装置にアカウント登録を問い合わせるないしはアカウントリストを受信して認証判定処理を行うこともある。
【０１２９】
ジョブ移動受信部１０７にて受信する他のプリンタから転送されてきたプリントジョブについては、第１実施例と同様に、上記のようなアカウントの認証処理は施さない。上記ジョブ受信部１０１とジョブ移動受信部１０７とは、実際は、ネットワークから送られてくる信号のパケットの構造に含まれる論理的なネットワークチャンネルを区別するポート番号の相違により２つの受信部に区分けされるものである。
【０１３０】
上記アカウント認証判定部９８１および受信禁止部９８２は、プリンタ制御回路９５３にハードウェア的に設けられたＲＯＭに予め記憶されたコンピュータプログラムとそのコンピュータプログラムに従ってＣＰＵにより実行される各種処理とにより実現されている。なお、このコンピュータプログラムは、ＲＯＭに予め記憶されたものであるが、これに替えて、第１実施例と同様に、外部のコンピュータ読み取り可能な記録媒体に予め記憶させておき、入出力インタフェースを介してこれら記録媒体からダウンロードして、ＲＡＭに転送することにより得るようにしてもよい。また、これらコンピュータプログラムは、コンピュータネットワークに接続される特定のサーバから、コンピュータネットワークを介して提供されるプログラムデータをダウンロードして、ＲＡＭに転送することにより得るようにすることもできる。
【０１３１】
こうしたコンピュータプログラムで記述される各種処理ルーチンについて次に説明する。プリンタ制御回路９５３のＣＰＵでは、アカウント認証判定部９８１と受信禁止部９８２に対応する受信可否制御ルーチンが実行される。この受信可否制御ルーチンは、プリンタ制御回路９５３にプリントジョブの入力があって起動される。図１４は、受信可否制御ルーチンを示すフローチャートである。
【０１３２】
図示するように、プリンタ制御回路９５３のＣＰＵは、処理が開始されると、まず、外部から送られてくるプリントジョブが、クライアントパソコン２０，３０，４０から送られてきたものか、他のプリンタから転送されてきたものかを判別する処理を行なう（ステップＳ９９０）。ここで、クライアントパソコン２０，３０，４０からのプリントジョブでないと判別されると、プリントジョブの受信をそのまま実行して（ステップＳ９９１）、その後、「リターン」に抜けてこの処理ルーチンを一旦終了する。一方、他のプリンタから転送されてきたプリントジョブと判別された場合には、以下の処理を実行する。
【０１３３】
まず、プリンタ制御回路９５３のＣＰＵは、プリントジョブの受信に際して入力されるアカウント属性情報を取り込み（ステップＳ９９２）、そのアカウント属性情報に基づいてアカウントを認証判定する処理を行なう（ステップＳ９９３）。この認証判定の処理は、前述したように、プリンタ９５０，９６０，９７０に予め用意されたアカウントリストに該当するアカウントの登録があるか否かから、このコンピュータシステム９００に備えられるプリンタ９５０，９６０，９７０から印刷を行なう権限を持つかを否かの判定を行なう。ステップＳ９９４で、その判定結果がいずれであるかを判別して、権限を持つと判別されたときには、アカウント属性情報に続くプリントジョブを受信して（ステップＳ９９５）、この処理ルーチンを一旦終了する。一方、ステップＳ９９４で、権限がないと判別された場合には、プリントジョブの受信を行なわずに、そのままこの処理ルーチンを一旦終了する。
【０１３４】
以上のように構成されたこの第３実施例では、プリンタ９５０，９６０，９７０に外部からプリントジョブが送られてきたときに、このプリントジョブが、クライアントパソコン２０，３０，４０から直接送られてきたものか、それとも他のプリンタから転送されてきたものかによって、アカウントの認証判別処理を行なうか否かが切り替えられる。このために、他のプリント装置から転送されてきたプリントジョブは、他のプリンタに送られてきた時点で認証が既に行なわれているものとして、認証の手続きが省略される。したがって、認証に費やす時間を省略することができることから、分散印刷のスピードアップにつながる。
【０１３５】
なお、前記ジョブ移動受信部１０７へのプリントジョブは、ポート番号で指定される論理的なネットワークチャンネルを経由して行われるために、固定したポート番号では悪意を持って送信されたデータを選別できずにプリントジョブとみなして処理してしまう可能性がある。これを防ぐためにジョブ移動受信部１０７とジョブ移動送信部１１６の間でポート番号を双方とも同期して動的に変えることで防ぐことができる。
【０１３６】
前記第３実施例では、クライアントパソコンからのプリントジョブを受信するジョブ受信部１０１と、他のプリンタから転送されてきたプリントジョブを受信するジョブ移動受信部１０７とは、図１３に示すように別体に構成されていたが、これに替えて、両者を一つの受信部として、プリントジョブと共に送られるアカウント属性情報から、送信元がクライアントパソコンであるか、他のプリンタであるかを判別する構成とすることもできる。この変形例では、第３実施例と同様に、その判別結果が、送り元がクライアントパソコンであるというものであれば、アカウントの認証判定を行ない、権限がない場合に、プリントジョブの受信を禁止する構成とする。この構成によっても、第３実施例と同様な効果を奏することができる。
【０１３７】
また、この第３実施例は、第１実施例に、アカウント認証判定部９８１と受信禁止部９８２の機能を付加した構成であるが、これに替えて、前記第２実施例にアカウント認証判定部９８１と受信禁止部９８２の機能を付加した構成とすることもできる。
【０１３８】
上記第１ないし第３実施例では、この発明のプリント装置として、印刷機構５１と、スプール用のバッファ５５を備えるプリンタ制御回路５３とが一つの筐体内に内蔵されるプリンタを用いていたが、これに替えて、印刷機構としてのプリンタと、プリンタに対して別体であるスプール用のバッファを備えるプリントサーバとからプリント装置を構成することもできる。
【０１３９】
この発明は、プリンタ、ファクシミリ装置、コピー機、ワードプロセッサ等の印刷を行なうことのできる種々のプリント装置と、プリントジョブを発生する種々のコンピュータに代表される各種の情報処理装置とを備えるプリントシステムに適用可能である。
【図面の簡単な説明】
【図１】この発明の第１実施例を適用するコンピュータシステムの概略構成図である。
【図２】プリンタ５０〜７０や印刷負荷分散装置８０の内部のハードウェア構成を示すブロック図である。
【図３】各プリンタ５０，６０，７０のプリンタ制御回路５３と印刷負荷分散装置８０で実現される処理の様子を示すブロック図である。
【図４】プリンタ制御回路５３のＣＰＵ５３ａで実行されるスプール印刷処理ルーチンを示すフローチャートである。
【図５】プリントジョブＰＪとそれに付加されるフラグＦＧ１，ＦＧ２を示す説明図である。
【図６】プリンタ制御回路５３のＣＰＵ５３ａで実行されるジョブ送受信処理ルーチンと印刷負荷分散装置８０のＣＰＵ８０ａで実行される印刷負荷分散処理ルーチンを示すフローチャートである。
【図７】この発明の第２実施例を適用するコンピュータシステムの概略構成図である。
【図８】コンピュータシステム５００Ａ、５００Ｂに備えられる印刷負荷分散装置５８０Ａ，５８０Ｂで実現される処理の様子を、各プリンタのプリンタ制御回路６１０Ａ，６１０Ｂに関連づけて示すブロック図である。
【図９】印刷負荷分散装置５８０Ａ，５８０ＢのＣＰＵで実行される空きプリンタ判定・監視ルーチンを示すフローチャートである。
【図１０】印刷負荷分散装置５８０Ａ（５８０Ｂ）のＣＰＵで実行される通信制御ルーチンを示すフローチャートである。
【図１１】第１実施例との相違点となるジョブ移動判定処理の内容を示すフローチャートである。
【図１２】第２実施例の変形例を示す説明図である。
【図１３】この発明の第３実施例を適用するコンピュータシステムの概略構成図である。
【図１４】プリンタ制御回路９５３のＣＰＵで実行される受信可否制御ルーチンを示すフローチャートである。
【図１】
0003744423.tif 000002
【図２】
0003744423.tif 000003
【図３】
0003744423.tif 000004
【図４】
0003744423.tif 000005
【図５】
0003744423.tif 000006
【図６】
0003744423.tif 000007
【図７】
0003744423.tif 000008
【図８】
0003744423.tif 000009
【図９】
0003744423.tif 000010
【図１０】
0003744423.tif 000011
【図１１】
0003744423.tif 000012
【図１２】
0003744423.tif 000013
【図１３】
0003744423.tif 000014
【図１４】
0003744423.tif 000015