(57)【要約】【課題】印刷処理をより効率よく実行することが可能な印刷システム、印刷装置、プログラム、および記憶媒体を得る。【解決手段】プリンタ（メイン）１２Ｍで、サーバＡ（１１Ａ）からの印刷ジョブの実行が中断中の状態で、他のサーバＢ（１１Ｂ）から印刷ジョブの処理要求を受けた場合には、プリンタ（メイン）１２Ｍとは別のプリンタ（サブ）１２Ｓ１が、他のサーバＢ（１１Ｂ）からの印刷ジョブを実行する。よって、通信断によって印刷ジョブの実行が中断しているために他の印刷ジョブが実行できないといった、プリンタ１２の無駄な休止状態を減らして、印刷ジョブをより効率よく実行することができる。【選択図】図１５
2011170429.tif 000002
【特許請求の範囲】
【請求項１】
複数のホスト装置と、
複数の前記ホスト装置に電気通信回線を介して接続され、前記ホスト装置から送信された印刷ジョブの印刷処理を実行可能な複数の印刷装置と、
前記ホスト装置からの印刷ジョブを実行する前記印刷装置を決定するジョブ割当部と、
を備えた印刷システムにおいて、
前記ジョブ割当部は、複数のうち一つの前記印刷装置としての第一の印刷装置で複数のうち一つの前記ホスト装置としての第一のホスト装置から送信された印刷ジョブの印刷処理が完了する前に、前記第一のホスト装置から前記第一の印刷装置への印刷ジョブのデータの通信が途絶したときには、前記データの通信が回復する前に前記第一のホスト装置以外の前記ホスト装置から送信された印刷ジョブの印刷処理を、前記第一の印刷装置以外の前記印刷装置に実行させることを特徴とする印刷システム。
【請求項２】
前記ジョブ割当部は、前記データの通信が回復した後に、前記第一の印刷装置に、前記第一のホスト装置からの印刷ジョブの少なくとも残りの印刷処理を実行させることを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記ジョブ割当部は、複数のうち一つの前記印刷装置で前記ホスト装置から送信された印刷ジョブの印刷処理が完了する前に、当該ホスト装置から印刷ジョブのデータを受信しているのにも拘わらず当該印刷装置では印刷出力が不可能な状態となったときには、当該印刷装置とは別の印刷装置に、当該印刷ジョブの印刷処理を実行させことを特徴とする請求項１または２に記載の印刷システム。
【請求項４】
前記印刷装置で前記ホスト装置から送信された印刷ジョブの印刷処理が完了する前に前記ホスト装置から前記印刷装置への印刷ジョブのデータの通信が途絶した状態であることがわかる情報を記憶部に記憶する処理を行う第一の記憶処理部を備えることを特徴とする請求項１〜３のうちいずれか一つに記載の印刷システム。
【請求項５】
前記印刷装置で印刷出力が可能な状態か不可能な状態かがわかる情報を記憶部に記憶する処理を行う第二の記憶処理部を備えることを特徴とする請求項１〜４のうちいずれか一つに記載の印刷システム。
【請求項６】
前記印刷装置での印刷ジョブの印刷処理の進捗状況がわかる情報を記憶部に記憶する処理を行う第三の記憶処理部を備えることを特徴とする請求項１〜５のうちいずれか一つに記載の印刷システム。
【請求項７】
請求項１〜６のうちいずれか一つに記載の印刷システムで用いられる印刷装置であって、
前記ジョブ割当部および前記第一の記憶処理部を備えることを特徴とする印刷装置。
【請求項８】
コンピュータを、請求項７に記載の前記印刷装置に含まれる前記ジョブ割当部および前記第一の記憶処理部として機能させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムを記憶したコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、印刷装置、プログラム、および記憶媒体に関する。
【背景技術】
【０００２】
従来、ホスト装置に電気通信回線を介して複数の印刷装置が接続された印刷システムにおいて、印刷処理を実行していた印刷装置に印刷処理が不可能となる印刷エラーが生じた場合に、印刷処理の実行を他の印刷装置に切り替えるシステムが知られている（特許文献１）。そして、この種の印刷システムには、印刷装置が複数のホスト装置からの印刷ジョブを実行可能なものがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
この種の印刷システムでは、従来、ホスト装置と印刷装置との間の通信に不具合が生じた場合、当該通信の不具合が回復するまで、印刷ジョブが中断されていた。
【０００４】
すなわち、その間に、他のホスト装置から印刷装置に対して、印刷ジョブの処理要求があった場合、当該他のホスト装置との間の通信状況および印刷装置の状態は良好で、印刷装置による印刷ジョブを本来は実行可能な状況であったとしても、上記通信の不具合が回復するまでは新しい印刷ジョブは受け付けられず、待機することになっていた。
【０００５】
そこで、本発明は、より効率よく印刷ジョブを処理可能な印刷システム、印刷装置、プログラム、および記憶媒体を得ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明にあっては、複数のホスト装置と、複数の前記ホスト装置に電気通信回線を介して接続され、前記ホスト装置から送信された印刷ジョブの印刷処理を実行可能な複数の印刷装置と、前記ホスト装置からの印刷ジョブを実行する前記印刷装置を決定するジョブ割当部と、を備えた印刷システムにおいて、前記ジョブ割当部は、複数のうち一つの前記印刷装置としての第一の印刷装置で複数のうち一つの前記ホスト装置としての第一のホスト装置から送信された印刷ジョブの印刷処理が完了する前に、前記第一のホスト装置から前記第一の印刷装置への印刷ジョブのデータの通信が途絶したときには、前記データの通信が回復する前に前記第一のホスト装置以外の前記ホスト装置から送信された印刷ジョブの印刷処理を、前記第一の印刷装置以外の前記印刷装置に実行させることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、通信断によって印刷ジョブの実行が中断しているために他の印刷ジョブが実行できないといった、印刷装置の無駄な休止状態を減らして、印刷ジョブをより効率よく実行することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の実施形態にかかる印刷システムの全体構成の一例を示す模式図である。
【図２】図２は、印刷システムの一部の構成の一例を示す模式図である。
【図３】図３は、印刷サーバの構成の一例を示すブロック図である。
【図４】図４は、印刷装置のハードウエア構成の一例を示すブロック図である。
【図５】図５は、印刷装置の構成の一例を示すブロック図である。
【図６】図６は、印刷装置のＣＰＵの一例を示すブロック図である。
【図７】図７は、印刷システムにおいて印刷処理を実行する手順の一例を示すシーケンス図である。
【図８】図８は、印刷システムにおける装置獲得処理の手順の一例を示すフローチャートである。
【図９】図９は、印刷システムにおけるジョブ割当処理の手順の一例を示すフローチャートである。
【図１０】図１０は、通信断が生じた際の印刷装置の処理手順の一例を示すフローチャートである。
【図１１】図１１は、印刷不能となる印刷エラーが生じた際の印刷装置の処理手順の一例を示すフローチャートである。
【図１２】図１２は、複数のプリンタの印刷ステータスの状態の一例を示す模式図であって、サーバＡから装置獲得要求を受信した状態を示す図である。
【図１３】図１３は、複数のプリンタの印刷ステータスの状態の一例を示す模式図であって、サーバＡからの印刷ジョブが処理される状態を示す図である。
【図１４】図１４は、複数のプリンタの印刷ステータスの状態の一例を示す模式図であって、サーバＡとの間で通信断が発生した状態を示す図である。
【図１５】図１５は、複数のプリンタの印刷ステータスの状態の一例を示す模式図であって、サーバＡとの間で通信断中にサーバＢからの印刷ジョブが処理される状態を示す図である。
【図１６】図１６は、複数のプリンタの印刷ステータスの状態の一例を示す模式図であって、サーバＡ，Ｂとの間で通信断中にサーバＣからの印刷ジョブが処理される状態を示す図である。
【図１７】図１７は、複数のプリンタの印刷ステータスの状態の一例を示す模式図であって、サーバＣからの印刷ジョブ完了後にサーバＢからの印刷ジョブが処理された状態を示す図である。
【図１８】図１８は、複数のプリンタの印刷ステータスの状態の一例を示す模式図であって、サーバＢからの印刷ジョブ完了後にサーバＡとの通信が復旧した状態を示す図である。
【図１９】図１９は、複数のプリンタの印刷ステータスの状態の一例を示す模式図であって、サーバＢとの間で通信断中にサーバＡからの印刷ジョブが処理された状態を示す図である。
【図２０】図２０は、複数のプリンタの印刷ステータスの状態の一例を示す模式図であって、印刷不能状態が発生した状態を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１０】
＜印刷システムの構成＞
図１に示すように、本実施形態にかかる印刷システム１は、複数の企業や事業所のイントラネット２，３、すなわちインターネット技術をベースにした社内ネットワークであるイントラネット２，３を、電気通信回線としてのインターネット網１０を介して相互接続したエクストラネットとして構成されている。
【００１１】
例えば、コンビニエンスストア本社のイントラネット２は、各種のサーバコンピュータ（以下、サーバと記す）４に電気通信回線としてのＬＡＮ（Local Area Network）等のネットワーク５を介してコンピュータやプリンタなどのクライアント６が複数台接続されたサーバクライアントシステムとして構成されている。このようなイントラネット２では、インターネット網１０と、ＷＷＷ（World Wide Web）サーバなどの公開サーバ７を除く社内のネットワーク５との境界にファイアウォール８が設けられている。このファイアウォール８は、社内のネットワーク５とインターネット網１０との間で出入りするパケットを監視し、決められたルールに従って、その通過を許可したり、阻止（廃棄）したりすることによって、社内のネットワーク５におけるセキュリティを確保している。
【００１２】
一方、例えばフランチャイズ店舗のイントラネット３も、各種のサーバ４にＬＡＮ等のネットワーク５を介してコンピュータやプリンタなどのクライアント６が複数台接続されたサーバクライアントシステムとして構成されている。このようなイントラネット３においても、インターネット網１０と、公開サーバ７を除く社内のネットワーク５との境界にファイアウォール８が設けられている。
【００１３】
なお、イントラネット２，３間は、インターネット網１０ではなく、専用の通信回線を介して接続するようにしても良い。また、ネットワーク５の少なくとも一部を無線通信方式（赤外線や電波等）で構成しても良い。また、光ファイバを用いたものであっても良い。
【００１４】
そして、図２に示すように、上述した印刷システム１では、例えばコンビニエンスストア本社のイントラネット２に含まれるサーバ４の一つであるホスト装置としての印刷サーバ（以下、サーバとも記す）１１から、フランチャイズ店舗のイントラネット３に含まれるクライアント６の一つである印刷装置としてのプリンタ１２に対して、販促資料等の印刷処理をダイレクトに実行することができる。なお、図２に示すように、イントラネット３は、同等の機能を有する複数のプリンタ１２と、パーソナルコンピュータ１３とを備えている。図２に示すイントラネット３には３台のプリンタ１２が接続されており、最上位に位置するメインプリンタ１２と下位に位置するサブプリンタ１２とがネットワーク５を介して接続されている。なお、プリンタ１２の数は、３台より多くても少なくてもよい。
【００１５】
そして、本実施形態にかかる印刷システム１では、通常は、印刷ジョブは逐次処理され、並列処理されない。すなわち、通常は、一度には一つの印刷ジョブのみが処理対象となり、複数の印刷ジョブが並行して処理されることはない。また、複数のうちいずれか一つのプリンタ１２で印刷ジョブが実行されるとともに、他のプリンタ１２は予備のプリンタ１２として動作する。さらに、印刷ジョブは、ページ単位で処理され、例えば、１ページ印刷出力される度に、プリンタ１２で印刷ステータスが更新されたり、プリンタ１２から印刷サーバ１１へ通知がなされたりする。このようにして信頼性の向上が図られているため、本実施形態にかかる印刷システム１は、多量の帳票等を印刷する帳票印刷システムとして特に好適である。
【００１６】
ただし、本実施形態にかかる印刷システム１は、一つの印刷サーバ１１からの印刷ジョブをプリンタ１２で実行中に、何らかの原因で通信断が生じて印刷ジョブにかかるデータの通信が途絶した場合に、他の印刷サーバ１１からの印刷ジョブを受け付けて処理する。これにより、印刷処理の効率向上が図られている。以下、上述した機能を実現する印刷システム１の各部の構成について説明する。
【００１７】
＜印刷サーバの構成＞
図３に示すように、印刷サーバ１１は、この印刷サーバ１１の動作制御を行うＣＰＵ（Central Processing Unit：中央処理装置）１４を備えている。このＣＰＵ１４には、ＣＰＵ１４が起動時に実行するプログラムや必要なデータ等を記憶するＲＯＭ（Read Only Memory）１１ａと、ＣＰＵ１４のワークエリア等を構成するＲＡＭ（Random Access Memory）１１ｂとが、内部バス１１ｃを介して接続されている。
【００１８】
さらに、ＣＰＵ１４には、キャラクタジェネレータ１１ｄ、時計回路１１ｅ、ネットワーク伝送制御部１１ｆ、磁気ディスク装置１１ｇ、ＣＤ−ＲＯＭ装置１１ｈ、表示制御部１１ｉ、および入力制御部１１ｊが、内部バス１１ｃを介して接続されており、これら各要素間のデータのやりとりは、主としてこの内部バス１１ｃを介して行われる。
【００１９】
キャラクタジェネレータ１１ｄは、図形文字の表示データを発生する。また、時計回路１１ｅは、現在日時情報を出力する。
【００２０】
ネットワーク伝送制御部１１ｆは、ネットワークインタフェース１１ｋおよびネットワーク５を介して、他のサーバ４やクライアント６との間で種々のデータをやりとりするための各種所定のプロトコルスイートの通信制御処理を実行する。ネットワークインタフェース１１ｋは、ネットワーク５やインターネット網１０を介して他のイントラネット（ここでは、イントラネット３）のクライアント６の一つであるプリンタ１２に接続され、そのプリンタ１２へ印刷データ等を送信したり、プリンタ１２から印刷処理状態等を受信したりする。
【００２１】
磁気ディスク装置１１ｇは、ＯＳ（Operating System）や、ＯＳ上で走る種々のアプリケーションプログラム、ワークデータ、ファイルデータ、画像情報データなどの種々のデータ等を記憶する。本実施形態では、アプリケーションプログラムとして、印刷データ送信プログラム等が記憶されている。また、ＣＤ−ＲＯＭ装置１１ｈは、交換可能な記憶媒体であるＣＤ−ＲＯＭ１１ｍに記憶されているデータ（種々のアプリケーションプログラム、ワークデータ、ファイルデータ、画像情報データ等の種々のデータ）を読み込む。
【００２２】
このような印刷サーバ１１では、例えば、ユーザが電源を投入するとＣＰＵ１４がＲＯＭ１１ａ内のローダ（プログラム）を起動させ、磁気ディスク装置１１ｇからＯＳをＲＡＭ１１ｂに読み込み、このＯＳを起動させる。起動したＯＳは、ユーザの操作に応じてアプリケーションプログラムを起動したり、情報を読み込んだり保存したりする。なお、記憶媒体はＣＤ−ＲＯＭ１１ｍに限るものではなく、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ、半導体メモリ等のコンピュータで読み取り可能な記憶媒体であれば良い。この場合、ＣＤ−ＲＯＭ装置１１ｈを記憶媒体のデータを読み込み可能なものに変更することは言うまでもない。また、アプリケーションプログラムは、所定のＯＳ上で動作するものに限らず、後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００２３】
なお、一般的には、印刷サーバ１１の磁気ディスク装置１１ｇにインストールされるアプリケーションプログラムは、ＣＤ−ＲＯＭ１１ｍなどの記憶媒体に記録され、この記憶媒体に記録されたアプリケーションプログラムが磁気ディスク装置１１ｇにインストールされる。このため、ＣＤ−ＲＯＭ１１ｍ等の可搬性を有する記憶媒体も、アプリケーションプログラムを記憶する記憶媒体となり得る。さらには、アプリケーションプログラムは、例えばネットワークインタフェース１１ｋを介して外部から取り込まれ、磁気ディスク装置１１ｇにインストールされても良い。
【００２４】
表示制御部１１ｉは、ＣＲＴなどの表示装置１１ｎを制御してＣＰＵ１４から受け取った表示データに対応した文字や画像等を当該表示装置１１ｎに表示させる。また、入力制御部１１ｊは、キーボード装置１１ｐでのキー操作に応じた入力信号や、マウスやポインティングデバイス等の画面指示装置１１ｑの操作に応じた入力信号を取り込んで、ＣＰＵ１４に通知する。
【００２５】
印刷文書情報は、この印刷サーバ１１で適宜なアプリケーションプログラムが起動され、当該アプリケーションプログラムによって作成されて磁気ディスク装置１１ｇに保存されたり、ＣＤ−ＲＯＭ１１ｍに保存されているものがＣＤ−ＲＯＭ装置１１ｈによって読み出されて、印刷サーバ１１に取り込まれたり、ネットワーク５およびインターネット網１０を介して電子メール等で受信した情報から再構築されて印刷サーバ１１に取り込まれたりすることで、印刷サーバ１１に保存される。
【００２６】
＜プリンタの構成＞
図４に示すように、各プリンタ１２は、このプリンタ１２の各部の制御処理および画像形成処理などの各種制御処理を行うプリンタコントローラ（マザーボード）１２ａを備えている。このプリンタコントローラ１２ａには、オペレーションパネル１２ｂ、プリンタエンジン１２ｃ、および磁気ディスク装置１２ｄが接続されている。
【００２７】
プリンタコントローラ１２ａは、その時設定されている制御モードおよび各イントラネット２，３の各種サーバ４（例えば、イントラネット２の印刷サーバ１１）からの制御コードに従って、各イントラネット２，３の各種サーバ４（例えば、イントラネット２の印刷サーバ１１）からの印刷データを描画データに変換してプリンタエンジン１２ｃへ出力する制御機構の総称で、次のようなモジュールで構成される。すなわち、プリンタコントローラ１２ａは、制御の主体となるＣＰＵ１５、ＲＡＭ１２ｅ、このプリンタ１２に固有な各種の情報を記憶するためのＲＯＭ１２ｆ、電源のオン／オフに関わらずデータを保持できる不揮発性メモリであるＮＶ−ＲＡＭ１２ｇ、印刷の時に使用される数種の書体を保持しているメモリであるＦｏｎｔ（フォント）ＲＯＭ１２ｈ、エンジンインタフェース１２ｉ、オペレーションパネル１２ｂを接続するパネルインタフェース１２ｊ、磁気ディスク装置１２ｄを接続するディスクインタフェース１２ｋ、ネットワークインタフェース１２ｍなどで構成されている。
【００２８】
オペレーションパネル１２ｂは、例えば、プリンタ１２のステータス等の各種表示を行ったり、モード、印刷条件等を設定したり変更したりすることができるスイッチ部である。
【００２９】
プリンタエンジン１２ｃは、例えば、電子写真プロセス方式によって画像を形成して記録用紙に記録出力させる。具体的には、プリンタエンジン１２ｃは、プリンタコントローラ１２ａからの描画データと制御情報とに基づいて、感光体（図示せず）上に静電作像し、給紙部（図示せず）より転写紙を給紙して画像を形成する。
【００３０】
磁気ディスク装置１２ｄは、種々の印刷文書情報を格納したり、それ以外の適宜な情報ファイル等を保存したりする。また、磁気ディスク装置１２ｄには、ＯＳ（Operating System）、ＯＳ上で走る種々のアプリケーションプログラムが記憶されている。本実施形態においては、アプリケーションプログラムとして、印刷処理プログラムなどが記憶されている。
【００３１】
ＲＡＭ１２ｅは、ＣＰＵ１５のワーク領域、各イントラネット２，３の各種サーバ４からのデータ受信バッファ、および処理後のイメージ展開領域として使用される。
【００３２】
エンジンインタフェース１２ｉは、プリンタコントローラ１２ａからプリンタエンジン１２ｃへの制御信号や、プリンタエンジン１２ｃからプリンタコントローラ１２ａへのステータス信号等を送受信するインタフェースである。
【００３３】
ネットワークインタフェース１２ｍは、ネットワーク５を介して各イントラネット２，３の各種サーバ４（例えば、印刷サーバ１１）からプリンタ１２への制御信号や、データ、プリンタ１２からのステータス信号等を送受信するインタフェースである。
【００３４】
このような構成のプリンタ１２は、サーバ４などと同様に、ユーザが電源を投入すると、磁気ディスク装置１２ｄからＯＳをＲＡＭ１２ｅに読み込み、このＯＳを起動させる。起動したＯＳは、ユーザの操作に応じてアプリケーションプログラムを起動したり、情報を読み込んだり保存したりする。また、アプリケーションプログラムは、所定のＯＳ上で動作するものに限らず、後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションプログラムやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００３５】
なお、一般的には、プリンタ１２の磁気ディスク装置１２ｄにインストールされるアプリケーションプログラムは、ＣＤ−ＲＯＭ（図示せず）などの記憶媒体に記録され、この記憶媒体に記録されたアプリケーションプログラムが磁気ディスク装置１２ｄにインストールされる。このため、ＣＤ−ＲＯＭ等の可搬性を有する記憶媒体も、アプリケーションプログラムを記憶する記憶媒体となり得る。さらには、アプリケーションプログラムは、例えばネットワークインタフェース１２ｍを介して外部から取り込まれ、磁気ディスク装置１２ｄにインストールされても良い。
【００３６】
また、本実施形態では、アプリケーションプログラムやＯＳ等を磁気ディスク装置１２ｄに格納したが、これに替えて、半導体メモリ等のコンピュータ読み取り可能な記憶媒体に格納しても良い。
【００３７】
そして、記憶部１６としての磁気ディスク装置１２ｄには、図５に示すように、連結情報テーブル１７、ページ情報テーブル１８、ステータス情報テーブル１９等が形成されている。これら各テーブル１７，１８，１９は、印刷処理、印刷処理を実行するプリンタ１２を決定する処理等で、使用される。連結情報テーブル１７には、上記各処理を実行するために必要なプリンタ１２の情報、例えば、印刷処理を実行するグループを構成するプリンタ１２の数や、当該プリンタ１２（メインプリンタ、サブプリンタ）のＩＰアドレス等が記憶されている。また、ページ情報テーブル１８には、例えば、ページ単位の処理に関する情報、具体的には、印刷出力後にデータを削除したページを示す情報等が記憶される。また、ステータス情報テーブル１９には、印刷ジョブの処理状況に関する情報、例えば、印刷サーバ１１を識別する情報としてのサーバＩＤや、印刷ジョブを識別する情報としてのジョブＩＤ、受信済みページ数、展開済みページ数、出力済みページ数等が記憶されている。ステータス情報テーブル１９は、サーバ１１ごと、あるいは印刷ジョブごとに準備される。
【００３８】
そして、本実施形態では、ＣＰＵ１５は、ＲＡＭ１２ｅに保持されたアプリケーションプログラムを実行することにより、図６に示すように、印刷処理部１５ａ、通信処理部１５ｂ、通信監視部１５ｃ、印刷可否状態監視部１５ｄ、進捗監視部１５ｅ、ステータス情報管理部１５ｆ、通知処理部１５ｇ、計時部１５ｈ、システム機能処理部１５ｉとして動作する。そして、システム機能処理部１５ｉは、連携処理部１５ｊ、ジョブ割当部１５ｋ、印刷抑制指令部１５ｍ、印刷抑制解除指令部１５ｎ、およびページ同期処理部１５ｏを含む。すなわち、プリンタコントローラ１２ａ用のプログラムには、ＣＰＵ１５を、印刷処理部１５ａ、通信処理部１５ｂ、通信監視部１５ｃ、印刷可否状態監視部１５ｄ、進捗監視部１５ｅ、ステータス情報管理部１５ｆ、通知処理部１５ｇ、計時部１５ｈ、システム機能処理部１５ｉ、連携処理部１５ｊ、ジョブ割当部１５ｋ、印刷抑制指令部１５ｍ、印刷抑制解除指令部１５ｎ、およびページ同期処理部１５ｏとして動作させる各モジュールが含まれている。
【００３９】
印刷処理部１５ａは、印刷データおよび処理要求で構成される印刷ジョブにしたがって、プリンタエンジン１２ｃを制御して、印刷処理を実行させる。
【００４０】
通信処理部１５ｂは、ＣＰＵ１５の各部間およびＣＰＵ１５内部と外部との間におけるデータ等の通信を司る。すなわち、この通信処理部１５ｂは、エンジンＩ／Ｆ１２ｉ、パネルＩ／Ｆ１２ｊ、ディスクＩ／Ｆ１２ｋ、ネットワークＩ／Ｆ１２ｍ等を制御する。
【００４１】
通信監視部１５ｃは、印刷サーバ１１とプリンタ１２との間の印刷ジョブにかかるデータの通信を監視する。具体的には、例えば、通知処理部１５ｇの動作によってプリンタ１２から印刷サーバ１１へページを印刷出力した旨の通知が送出されてから、次のページのデータが受信されるまでの時間が、計時部１５ｈによって計測され、通信監視部１５ｃは、その計測された時間が、予め設定された閾値より長い場合に、通信断が生じたと判定する。また、通信監視部１５ｃは、プリンタ１２で印刷サーバ１１から送信された印刷ジョブの印刷処理が完了する前に印刷サーバ１１からプリンタ１２への印刷ジョブのデータの通信が途絶した状態であることがわかる情報としての印刷ステータスを、記憶部としての磁気ディスク装置１２ｄあるいはＮＶ−ＲＡＭ１２ｇ等に記憶させる（新規に記録する、あるいは書き換える）処理を行う。本実施形態では、印刷ジョブの印刷処理が完了する前に印刷サーバ１１からプリンタ１２への印刷ジョブのデータの通信が途絶した場合、印刷ステータスを、「印刷中」から「通信断停止中」に変更する。また、その後、通信が回復した場合、通信監視部１５ｃは、印刷ステータスを、「通信断停止中」から「抑制中」に変更する。なお、「抑制中」とは、そのプリンタ１２での印刷が抑制されている状態、すなわち、データは受信しているものの、印刷処理を行っていない状態（予備機として待機している状態）を示す。そして、この通信監視部１５ｃは、印刷ステータスが「抑制中」である場合には、印刷ステータスを「通信断停止中」には変更しない。これにより、「通信断停止中」の印刷ステータスを、「通信断停止中」となる前に当該印刷ジョブの印刷処理を（途中まで）実行していたプリンタ１２を特定する情報として利用することができる。本実施形態では、通信監視部１５ｃが、第一の記憶処理部に相当する。
【００４２】
印刷可否状態監視部１５ｄは、プリンタ１２に設けられた公知のセンサ（図示せず）の検出結果等に基づいて、プリンタ１２が印刷可能な状態にあるか否かを監視する。この監視は、予め設定されたタイミング（例えば一定の時間間隔で定期的に）行われてもよいし、プリンタ１２の動作やモードが変化したタイミングや、上記公知のセンサによる検出値が変化したタイミング等で行われてもよい。印刷可否状態監視部１５ｄは、紙無し（紙切れ）、紙詰まり（ジャム）、トナー切れ、トナー不足、その他の原因によって、プリンタ１２が印刷ジョブの印刷処理を実行可能か否かを判定する。また、印刷可否状態監視部１５ｄは、プリンタ１２で印刷出力が可能な状態か不可能な状態かがわかる情報としての印刷ステータスを、記憶部としての磁気ディスク装置１２ｄあるいはＮＶ−ＲＡＭ１２ｇ等に記憶させる（新規に記録する、あるいは書き換える）処理を行う。本実施形態では、プリンタ１２が印刷ジョブの印刷処理を実行中に印刷不可能となった場合、印刷可否状態監視部１５ｄは、印刷ステータスを、「印刷中」から「印刷不能」に変更する。また、その後、印刷可能な状態に復帰した場合にも、印刷可否状態監視部１５ｄは、「印刷不能」となったときのサーバ（印刷ジョブ）に対しては、印刷ステータスを、「印刷不能」のまま維持する。この場合、印刷不能となった時点で処理していた印刷ジョブの印刷処理が完了した時点で、後述の進捗監視部１５ｅまたはステータス情報管理部１５ｆが、印刷ステータスを「印刷不能」から「印刷完了」へ変更する。なお、自機が最下位である場合（下位機器がない場合）には、印刷可能な状態に復帰した際に、印刷ステータスを「印刷不能」から「抑制中」に変更してもよい。このように、本実施形態では、印刷可否状態監視部１５ｄおよびステータス情報管理部１５ｆが、第二の記憶処理部に相当する。
【００４３】
進捗監視部１５ｅは、プリンタ１２に設けられた公知のセンサ（図示せず）の検出結果等に基づいて、プリンタエンジン１２ｃによる印刷出力を監視し、印刷ジョブの終了したページ数等を取得する。また、進捗監視部１５ｅは、プリンタ１２での印刷ジョブの印刷処理の進捗状況がわかる情報としての印刷ステータスを、記憶部としての磁気ディスク装置１２ｄあるいはＮＶ−ＲＡＭ１２ｇ等に記憶させる（新規に記録する、あるいは書き換える）処理を行う。本実施形態では、進捗監視部１５ｅはプリンタエンジン１２ｃからページが印刷出力される度に、出力済みページ数を書き換える。本実施形態では、進捗監視部１５ｅが、第三の記憶処理部に相当する。
【００４４】
ステータス情報管理部１５ｆは、ステータス情報テーブル１９のメンテナンスを行う。すなわち、プリンタ１２に新たな印刷ジョブの印刷処理が割り当てられたときには、記憶部としての磁気ディスク装置１２ｄあるいはＮＶ−ＲＡＭ１２ｇ等に、その印刷ジョブに対するステータス情報テーブル１９を新規作成、あるいは確保する。そして、ステータス情報テーブル１９に、サーバ識別情報としてのサーバＩＤ（例えばＩＰアドレス等）、印刷ジョブの識別情報としてのジョブＩＤ、等をステータス情報テーブル１９に書き込む。また、ステータス情報管理部１５ｆは、通信処理部１５ｂでの印刷ジョブのページの受信状況をもとに、受信済みページ数を取得して、これをステータス情報テーブル１９に書き込む。また、ステータス情報管理部１５ｆは、受信されたページのデータのイメージが展開されたページ数を示すデータを取得して、これをステータス情報テーブル１９に書き込む。また、ステータス情報管理部１５ｆは、通信監視部１５ｃ、印刷可否状態監視部１５ｄ、進捗監視部１５ｅ等からステータス情報テーブル１９に含まれる情報を取得して、記憶部としての磁気ディスク装置１２ｄあるいはＮＶ−ＲＡＭ１２ｇ等に、記憶させる（新規に記録する、あるいは書き換える）処理を行ってもよい。その場合、ステータス情報管理部１５ｆが、第一、第二、および第三の記憶処理部となる。
【００４５】
通知処理部１５ｇは、プリンタ１２から印刷サーバ１１へ向けた種々の通知を作成する。この通知としては、印刷ジョブの印刷処理の進捗状況（出力済みページ数など）等がある。
【００４６】
計時部１５ｈは、プリンタ１２内の各部であるイベントから次のイベントまでの所要時間の計測を行うことができる時計情報（パルス等）を生成することができる。あるいは、計時部１５ｈは、現在時刻を示す情報を取得することができる。現在時刻は、時計合わせされた内蔵タイマから取得してもよいし、ネットワーク５やインターネット網１０等を介して、外部の時刻サーバから取得してもよい。また、計時部１５ｈが、あるイベントから次のイベントまでの所要時間を計測する処理を行ってもよい。
【００４７】
システム機能処理部１５ｉは、複数のプリンタ１２によって各種機能を実現させる処理を実行する。このうち、連携処理部１５ｊは、複数のプリンタ１２のうち一つのプリンタ１２が印刷ジョブの印刷処理を実行する場合に、他のプリンタ１２を、印刷処理を実行するプリンタ１２の予備機として機能させる処理を実行する。具体的には、通信処理部１５ｂやネットワークＩ／Ｆ１２ｍ等を制御して、上位機器（印刷サーバ１１または上位に順位付けされたプリンタ１２）から受信した各種データあるいはコマンドを下位機器（プリンタ１２）へ送信する処理や、下位機器（プリンタ１２）から受信した各種データあるいは応答を上位機器へ送信する処理等を行う。また、連携処理部１５ｊは、上位機器からのコマンドに対する応答を、当該コマンドに対する下位機器からの応答が来た後に送信するとともに、下位機器からの情報には、自機（プリンタ１２）の情報をマージして上位機器へ送信する。これにより、印刷サーバ１１は、複数のプリンタ１２の全てから情報を取得することができるとともに、複数のプリンタ１２間で、印刷ジョブにかかるデータや、ステータスを共有することが可能となる。
【００４８】
ジョブ割当部１５ｋは、所定のアルゴリズムに従って、印刷ジョブを実行するプリンタ１２を決定する。すなわち、ジョブ割当部１５ｋは、印刷システム１に含まれる複数のプリンタ１２のうちの一つに印刷ジョブを割り当てる処理を行う。本実施形態では、印刷ジョブは、上位機器となるプリンタ１２に優先的に割り当てられ、上位機器としてのプリンタ１２で支障がある場合には、下位機器となるプリンタ１２に割り当てられる。そして、複数の全てのプリンタ１２が、同一のアルゴリズムで動作するジョブ割当部１５ｋを備えている。したがって、各ジョブ割当部１５ｋは、自機（プリンタ１２）が、アルゴリズムに規定された条件に合致するか否かを判定し、条件に合致した場合には、印刷ジョブを実行する。すなわち、この場合、自機に印刷ジョブが割り当てられる。一方、自機が条件に合致しなかった場合には、後述する印刷抑制解除指令部１５ｎから一段下位機器（プリンタ１２）に、印刷抑制解除コマンドが送られ、印刷抑制解除コマンドを受けた当該下位機器（プリンタ１２）のジョブ割当部１５ｋが、条件に合致するか否かを判定する。当該下位機器（プリンタ１２）でも同様の処理が行われて、複数のプリンタ１２のうちの一つが選択される。なお、いずれのプリンタ１２も条件に合致しなかった場合には、印刷ジョブが割り当てられず、当該印刷ジョブの処理要求元としての印刷サーバ１１に対して、印刷ジョブを処理できない旨の通知が行われる。この通知は、上位機器が無いプリンタ１２の通知処理部１５ｇが行うことができる。
【００４９】
印刷抑制指令部１５ｍは、通信処理部１５ｂやネットワークインタフェース１２ｍ等を制御して、下位機器（プリンタ１２）に対して、印刷の抑制を指令する。また、印刷抑制解除指令部１５ｎは、通信処理部１５ｂやネットワークインタフェース１２ｍ等を制御して、下位機器（プリンタ１２）に対して、印刷の抑制の解除を指令する。本実施形態では、印刷抑制および印刷抑制の解除によって、印刷ジョブを実行するジョブ割当（印刷権）の切り替えが行われる。また、各プリンタ１２の記憶部（ＲＡＭ１２ｅ、ＮＶ−ＲＡＭ１２ｇ、磁気ディスク装置１２ｄ等）１６には、ジョブ割当（印刷権）を示す情報としてのステータス情報が記憶される。印刷抑制が解除されて、印刷処理を実行しているプリンタ１２の印刷ステータスは「印刷中」となり、印刷処理を抑制しているプリンタ１２の印刷ステータスは「印刷抑制中」となる。ステータス情報管理部１５ｆが記憶部１６に印刷ステータスを書き込む（すなわち、新規書き込みあるいは変更する）ことができる。
【００５０】
ページ同期処理部１５ｏは、各プリンタ１２が保持している印刷データ（印刷ジョブ）の同期処理を行う。
【００５１】
上述したように、本実施形態では、複数のプリンタ１２のそれぞれに、上述した処理を行わせるプログラムがインストールされる。したがって、複数のプリンタ１２とは別に、それら複数のプリンタ１２を統括して印刷ジョブを実行するプリンタ１２を決定するデバイス等は不要となる。
【００５２】
＜印刷システムの動作例＞
図７は、二つの印刷サーバ１１（サーバＡ（１１Ａ）およびサーバＢ（１１Ｂ））に二つのプリンタ１２（プリンタ（メイン）１２Ｍおよびプリンタ（サブ）１２Ｓ１）が接続された印刷システム１の動作の一例を示すシーケンス図である。なお、「メイン」、「サブ」は、単に印刷ジョブを割り当てる優先順位を示しているに過ぎず、構成上の差異を示すものではない。
【００５３】
また、プリンタ（メイン）１２Ｍはホスト装置としての印刷サーバ１１から一意に決定されるが、プリンタ（サブ）１２Ｓ１，１２Ｓ２については固定的に決められるものであっても良いし、その順序が処理毎に変わるものであっても良い。これらプリンタ（サブ）１２Ｓ１，１２Ｓ２の設定（すなわち、順序の設定）は、プリンタ１２の記憶部（ＲＡＭ１２ｅ、ＮＶ−ＲＡＭ１２ｇ、磁気ディスク装置１２ｄ等）１６に、次にデータを送るプリンタ１２のＩＰアドレスを記憶しておき、データ転送の際に記憶されたＩＰアドレスを参照することで実現可能である。
【００５４】
図７に示すように、まず、サーバＡ（１１Ａ）がプリンタ（メイン）１２Ｍへ装置獲得要求を送信する。プリンタ（メイン）１２Ｍのジョブ割当部１５ｋが自機で印刷ジョブを実行することを決定したため、プリンタ（メイン）１２Ｍは、下位のプリンタ（サブ）１２Ｓ１へ、装置獲得要求とともに印刷抑制コマンドを送信する。
【００５５】
サーバＡ（１１Ａ）は、ジョブ開始コマンドをプリンタ（メイン）１２Ｍに送信する。これにより、プリンタ（メイン）１２ＭのサーバＡ（１１Ａ）からの印刷ジョブについてのステータス情報テーブル１９の印刷ステータスは、「印刷中」となる。ジョブ開始コマンドは、プリンタ（メイン）１２Ｍから下位機器としてのプリンタ（サブ）１２Ｓ１へも送信される。
【００５６】
次いで、サーバＡ（１１Ａ）から、プリンタ（メイン）１２Ｍへ向けて印刷するデータが送信される。データは、上述したようにページ単位で送信される。また、データは、プリンタ（メイン）１２Ｍを経由してプリンタ（サブ）１２Ｓ１へも送信される。これにより、上記のプリンタ１２で印刷不能となった場合に、下位のプリンタ１２で印刷出力を速やかに実行することができる。各プリンタ１２で、ページのデータは、ページの印刷出力が完了するたびに削除されてもよいし、予め定められた期間あるいは量（ページ数）について保存され、それを超える分については古いデータから順に削除されてもよい。
【００５７】
ここで、図７に示す例では、２ページ目のデータが送信された後に、何らかの原因で通信断が発生し、サーバＡ（１１Ａ）からプリンタ（メイン）１２Ｍへのデータの通信が途絶した。これにより、プリンタ（メイン）１２ＭのサーバＡ（１１Ａ）からの印刷ジョブについてのステータス情報テーブル１９の印刷ステータスは「通信断停止中」となる。しかし、プリンタ（メイン）１２Ｍは、受け取ったデータについての印刷処理は完了させる。その後、プリンタ（メイン）１２Ｍでは、出力済みのデータは削除され、サーバＡ（１１Ａ）とプリンタ１２との間のセッション（通信確立状態）が破棄される。
【００５８】
図７に示す例では、この状態で、プリンタ（メイン）１２Ｍが、サーバＡ（１１Ａ）とは別のサーバＢ（１１Ｂ）から装置獲得要求を受信した。この場合、通信断で印刷ジョブにかかる印刷処理が中断している状態にあるため、後に詳しく述べるアルゴリズムにしたがって、プリンタ（メイン）１２Ｍのジョブ割当部１５ｋは、当該サーバＢ（１１Ｂ）からの印刷ジョブを自機には割り当てず、プリンタ（メイン）１２ＭのサーバＡ（１１Ａ）からの印刷ジョブについてのステータス情報テーブル１９の印刷ステータスを「印刷抑制中」とする。また、印刷ジョブを自機に割り当てないため、プリンタ（メイン）１２Ｍの印刷抑制解除指令部１５ｎは、下位機器としてのプリンタ（サブ）１２Ｓ１に向けて印刷抑制解除コマンドを送信する。プリンタ（サブ）１２Ｓ１のジョブ割当部１５ｋで、印刷ジョブを処理可能であると判定されると、プリンタ（サブ）１２Ｓ１に対する印刷抑制が解除され、プリンタ（サブ）１２Ｓ１が、サーバＢ（１１Ｂ）からの印刷ジョブについての印刷処理を実行する。このとき、プリンタ（サブ）１２Ｓ１のステータス情報管理部１５ｆは、サーバＢ（１１Ｂ）からの印刷ジョブについてのステータス情報テーブル１９の印刷ステータスを、「印刷中」に変更する。
【００５９】
印刷ジョブの印刷処理が進行し、完了すると、プリンタ（メイン）１２Ｍおよびプリンタ（サブ）１２Ｓ１の双方で、サーバＢ（１１Ｂ）からの印刷ジョブについてのステータス情報テーブル１９の印刷ステータスは「印刷完了」となる。
【００６０】
本実施形態にかかる印刷システム１では、サーバＢ（１１Ｂ）からの印刷ジョブの処理中に、サーバＡ（１１Ａ）とプリンタ１２との間の回線が復旧し、通信断が解消された場合にあっても、プリンタ１２でサーバＢ（１１Ｂ）からの印刷ジョブの印刷処理が完了するまでは、サーバＡ（１１Ａ）からの印刷ジョブの処理要求は受け付けられない。サーバＢ（１１Ｂ）からの印刷ジョブの印刷処理が完了した後に、サーバＡ（１１Ａ）から印刷ジョブの処理要求（装置獲得要求）を受信した場合には、当該処理要求は受け入れられる。この場合、後に詳しく述べるアルゴリズムにしたがって、通信断が生じる前に当該印刷ジョブの印刷処理を実行していたプリンタ１２（図７の例ではプリンタ（メイン）１２Ｍ）で、印刷ジョブが実行される。よって、プリンタ（メイン）１２Ｍでは、印刷抑制状態が解除され、下位のプリンタ（サブ）１２Ｓ１，１２Ｓ２に対しては、印刷抑制コマンドが送信される。また、通信断が生じる前の状況を示す情報が、印刷ジョブを実行していたプリンタ１２（すなわちプリンタ（メイン）１２Ｍ）のステータス情報テーブル１９に記憶されているため、プリンタ（メイン）１２ＭからサーバＡ（１１Ａ）に向けて、出力済みページ数を示す通知が送信される。これにより、サーバＡ（１１Ａ）は、出力が済んだ次のページからデータを送信し、プリンタ（メイン）１２Ｍは、当該次のページから印刷出力する。
【００６１】
＜プリンタの動作＞
ここで、図８〜１２のフローチャートを参照して、プリンタ１２の動作について説明する。
【００６２】
まず、図８を参照して、各プリンタ１２が、印刷サーバ１１（以下サーバＸ１１）から印刷ジョブの処理要求としての装置獲得要求を受信した場合の動作例について説明する。
【００６３】
通信処理部１５ｂで、サーバＸ（１１）からの印刷ジョブの処理要求としての装置獲得要求が受信されると（ステップＳ１０）、連携処理部１５ｊは、ステータス情報テーブル１９を参照して（ステップＳ１１）、サーバＸ（１１）についてのステータス情報があるか否かを調べる（ステップＳ１２）。
【００６４】
記憶部１６に、サーバＸ（１１）のステータス情報テーブル１９が記憶されていた場合（ステップＳ１２でＹｅｓ）、通知処理部１５ｇは、ステータス情報として、出力済みページ数や印刷ステータス等を、サーバＸ（１１）に通知する（ステップＳ１３）。これにより、通信が途絶して復旧した後に印刷ジョブを再開する際に、既に印刷処理を行ったページが再度印刷されるのを抑制することができる。
【００６５】
一方、記憶部１６にサーバＸ（１１）のステータス情報テーブル１９が記憶されていなかった場合（ステップＳ１２でＮｏ）、その印刷ジョブは新規の印刷ジョブであることになる。ステータス情報管理部１５ｆは、記憶部１６にサーバＸ（１１）のステータス情報テーブル１９を作成し（ステップＳ１４）、その印刷ステータスを「印刷完了」に設定する（ステップＳ１５）。その後、ステップＳ１３が実行される。このように、本実施形態では、印刷が未だに実行されていない状態と、印刷が終了した状態とで、ステータスを共通にしている。これにより、記憶部１６における記憶容量を削減でき、データ管理の手間を削減できるという利点がある。そして、サーバＸ（１１）から装置獲得要求を受信した全てのプリンタ１２に、印刷処理を実行するか否かによらずステータス情報テーブル１９が作成されて割り当て変更に速やかに対応できるとともに、ステータス情報テーブル１９の内容を参照することで、通信断の復旧後に受信した印刷ジョブが、新規の印刷ジョブか否かを判定できるようになる。
【００６６】
下位機器としてのプリンタ１２が存在する場合（ステップＳ１６でＹｅｓ）、連携処理部１５ｊは、下位機器に装置獲得コマンドを送信するとともに（ステップＳ１７）、印刷抑制コマンドを送信する（ステップＳ１８）。そして、装置獲得コマンドに対する装置獲得応答を下位機器から受信し（ステップＳ１９）、受信した応答に自機のステータス情報をマージして（ステップＳ２０）、サーバＸ（１１）に向けて装置獲得応答を送信する（ステップＳ２１）。これにより、サーバＸ（１１）は、印刷ジョブの処理要求に対する応答を受信することができる。なお、ステップＳ１８の段階では、各プリンタ１２のステータス情報テーブル１９中の印刷ステータスは「抑制中」には変更されない。また、ステップＳ２１の時点では、印刷ジョブをどのプリンタ１２で処理するか（ジョブ割当）については、決定されていない。
【００６７】
次に、図９のフローチャートを参照して、プリンタ１２におけるジョブ割当について説明する。
【００６８】
プリンタ１２の通信処理部１５ｂで、サーバＸ（１１）のジョブ割当についてのトリガ信号が受信されると（ステップＳ３０）、図９のフローが開始される。ジョブ割当のトリガ信号は、例えば、プリンタ（メイン）１２Ｍの場合には、サーバＸからの印刷ジョブの処理要求、プリンタ（サブ）１２Ｓ１，１２Ｓ２の場合には、上位機器からの印刷抑制解除コマンドとすることができる。次に、ジョブ割当部１５ｋは、サーバＸ（１１）についてのステータス情報テーブル１９を検索する（ステップＳ３１）。そして、ステップＳ３２で、ステータス情報テーブル１９に含まれる印刷ステータスが「印刷不能」でなかった場合（ステップＳ３２でＮｏ）、さらに、サーバＸ（１１）についての印刷ステータスが「通信断停止中」であるか否かを調べる（ステップＳ３３）。
【００６９】
ステップＳ３３で、サーバＸ（１１）からの印刷ジョブについての印刷ステータスが「通信断停止中」でなかった場合には（ステップＳ３３でＮｏ）、対象となっている印刷ジョブは、サーバＸ（１１）についての新規の印刷ジョブということになる。しかし、この場合に、サーバＸ（１１）以外のサーバ１１からの印刷ジョブについての印刷ステータスが「通信断停止中」であると、自機（プリンタ１２）では、当該他のサーバ１１からの印刷ジョブで途中まで印刷されていることになる。この状態で、サーバＸからの印刷ジョブの印刷処理を実行すると、他のサーバ１１からの印刷ジョブの途中ページの後に、サーバＸからの印刷ジョブのページが続けて印刷出力されることになって、好ましくない。そこで、本実施形態では、ジョブ割当部１５ｋは、サーバＸ以外のサーバ１１についてのステータス情報テーブル１９を検索し（ステップＳ３４）、他のサーバ１１についてのステータス情報テーブル１９があった場合には（ステップＳ３５でＹｅｓ）、さらに、当該ステータス情報テーブル１９の印刷ステータスが「通信断停止中」であるか否かを調べる（ステップＳ３６）。これらステップＳ３５およびステップＳ３６によって、サーバＸ（１１）以外の全サーバ１１の印刷ステータスが「通信断停止中」であるか否かを調べる。
【００７０】
そして、ステップＳ３５およびステップＳ３６により、サーバＸ（１１）以外に、印刷ステータスが「通信断停止中」となっているサーバ１１が存在した場合には（ステップＳ３６でＹｅｓ）、上述した理由により、サーバＸ（１１）の印刷ステータスを「抑制中」として、自機（プリンタ１２）には印刷ジョブを割り当てないこととする（ステップＳ３７）。ここで、下位機器が存在する場合には（ステップＳ３８でＹｅｓ）、下位機器に印刷抑制解除コマンドを送信する（ステップＳ３９）。ステップＳ３８で下位機器が存在しない場合には（ステップＳ３８でＮｏ）、いずれのプリンタ１２でもサーバＸ（１１）からの印刷ジョブは処理されないこととなって、終了する。
【００７１】
また、サーバＸのステータス情報テーブル１９の印刷ステータスが、「印刷不能」であった場合にも（ステップＳ３２でＹｅｓ）、自機（プリンタ１２）には印刷ジョブを割り当てないこととし、下位機器が存在する場合には（ステップＳ３８でＹｅｓ）、下位機器に印刷抑制解除コマンドを送信する（ステップＳ３９）。
【００７２】
一方、ステップＳ３３でＹｅｓの場合は、サーバＸ（１１）の印刷ジョブについての印刷ステータスが「通信断停止中」であった場合であり、これは、自機（プリンタ１２）がサーバＸ（１１）からの印刷ジョブの印刷処理を実行しているときに通信断が発生し、その後、サーバＸ（１１）から、その印刷ジョブの再開要求を受信した場合に相当する。また、ステップＳ３５でＮｏの場合は、印刷ジョブがサーバＸ（１１）からの新規の印刷ジョブであり、かつ、自機（プリンタ１２）が、他のサーバ１１からの印刷ジョブについて、印刷ジョブを実行中に通信断が発生して印刷処理が中断している状態ではない場合に相当する。これらの場合には、サーバＸ（１１）の印刷ジョブを自機で実行することについて支障が無い。よって、これらの場合には（すなわち、ステップＳ３３でＹｅｓおよびステップＳ３５でＮｏ）、ジョブ割当部１５ｋは、自機（プリンタ１２）でサーバＸ（１１）からの印刷ジョブの印刷処理を実行することとして、サーバＸ（１１）の印刷ジョブについての印刷ステータスを「印刷中」に変更する（ステップＳ４０）。さらに、下位機器が存在する場合には（ステップＳ４１でＹｅｓ）、当該下位機器に印刷抑制コマンドを送信する（ステップＳ４２）。そして、自機（プリンタ１２）が、サーバＸ（１１）からの印刷ジョブの印刷処理を実行する（ステップＳ４３）。
【００７３】
次に、図１０のフローチャートを参照して、プリンタ１２でサーバＸ（１１）からの印刷ジョブの印刷処理を実行中に、通信断が生じた場合の動作について説明する。
【００７４】
プリンタ１２で、サーバＸ（１１）からの印刷ジョブの印刷処理を実行中に通信断が発生すると（ステップＳ５０）、通信監視部１５ｃは、当該印刷ジョブに対応するステータス情報テーブル１９の印刷ステータスを、「印刷中」から「通信断停止中」に変更する（ステップＳ５１）。下位機器がある場合には（ステップＳ５２でＹｅｓ）、印刷抑制解除指令部１５ｎは、当該下位機器に向けて、印刷抑制解除コマンドを送信する（ステップＳ５３）。なお、上述したように、通信監視部１５ｃは、印刷ステータスが「抑制中」であった場合には、「通信断停止中」には変更せず、「抑制中」のまま維持する。
【００７５】
次に、図１１のフローチャートを参照して、プリンタ１２でサーバＸ（１１）からの印刷ジョブの印刷処理を実行中に、印刷処理を続行できなくなるエラーが生じた場合の動作について説明する。
【００７６】
プリンタ１２で、サーバＸ（１１）からの印刷ジョブの印刷処理を実行中に印刷処理の続行が不能となるエラー（紙無し、紙詰まり、トナー不足、トナー切れ等）が発生すると（ステップＳ６０）、印刷可否状態監視部１５ｄは、当該印刷ジョブに対応するステータス情報テーブル１９の印刷ステータスを、「印刷中」から「印刷不能」に変更する（ステップＳ６１）。なお、下位機器がある場合には（ステップＳ６２でＹｅｓ）、印刷抑制解除指令部１５ｎは、当該下位機器に向けて、印刷抑制解除コマンドを送信する（ステップＳ６３）。
【００７７】
次に、図１２〜図２０を参照して、種々のケースでの各プリンタ１２の印刷ステータスの変化について説明する。
【００７８】
図１２は、プリンタ１２でサーバＡ（１１Ａ）から装置獲得要求が受信された状態を示している。上位機器から下位機器に向けて装置獲得要求が送信され、下位機器から上位機器へ向けて装置獲得応答が送信される。装置獲得要求および応答の送受信に伴って、各プリンタ１２には、ステータス情報テーブル１９が作成される。ステータス情報テーブル１９の印刷ステータスは、初期状態では「印刷完了」に設定される。
【００７９】
図１３に示すように、印刷ジョブの印刷処理を実行するプリンタ１２（図１２ではプリンタ（メイン）１２Ｍ）では、当該印刷ジョブ（サーバＡ（１１Ａ）からの印刷ジョブ）の印刷ステータスは「印刷中」となる。図９のフローチャートでは、プリンタ（メイン）１２ＭにおいてステップＳ３５でＮｏとなって、図１３の状態となる。
【００８０】
図１４に示すように、印刷ジョブの印刷処理が実行されている途中で、サーバＡ（１１Ａ）とプリンタ１２との間の通信が途絶した場合、当該印刷処理を実行していたプリンタ１２（本実施形態でプリンタ（メイン）１２Ｍ）では、当該印刷ジョブの印刷ステータスが「通信断停止中」となる。印刷ジョブを実行していないプリンタ１２では、印刷ステータスは「抑制中」のまま維持される。
【００８１】
図１５に示すように、図１４に示す通信途絶が生じたときに、サーバＡ（１１Ａ）以外のサーバＢ（１１Ｂ）からの印刷要求をプリンタ１２が受信した場合、サーバＡ（１１Ａ）の印刷ジョブの印刷処理を実行していたプリンタ１２（図１５ではプリンタ（メイン）１２Ｍ）には、印刷ジョブは割り当てられない。これは、ジョブ割当部１５ｋにて、サーバＡ（１１Ａ）からの印刷ジョブの印刷ステータスが「通信断停止中」であることによって判定される。印刷ジョブは、プリンタ（メイン）１２Ｍ以外のプリンタ（図１５ではプリンタ（サブ）１２Ｓ１）に割り当てられる。図９のフローチャートでは、プリンタ（メイン）１２ＭではステップＳ３８でＹｅｓとなり、プリンタ（サブ）１２Ｓ１ではステップＳ３５でＮｏとなって、図１５の状態となる。
【００８２】
図１６に示すように、サーバＡ（１１Ａ）およびサーバＢ（１１Ｂ）からの印刷ジョブのデータが通信断によって届かなくなった場合、それら以外のサーバＣ（１１Ｃ）からの印刷ジョブの印刷処理は、サーバＡ（１１Ａ）およびサーバＢ（１１Ｂ）の印刷ジョブの印刷処理を実行していたプリンタ１２（プリンタ（メイン）１２Ｍおよびプリンタ（サブ）１２Ｓ１）以外のプリンタ１２（プリンタ（サブ）１２Ｓ２）が、実行する。図９のフローチャートでは、プリンタ（メイン）１２Ｍおよびプリンタ（サブ）１２Ｓ１ではステップＳ３８でＹｅｓとなり、プリンタ（サブ）１２Ｓ２ではステップＳ３５でＮｏとなって、図１６の状態となる。
【００８３】
図１７に示すように、サーバＣ（１１Ｃ）からの印刷ジョブの印刷処理が、通信が途絶したサーバＡ（１１Ａ）およびサーバＢ（１１Ｂ）からの印刷ジョブの印刷処理より、先に完了する。通信が途絶したため、他のサーバ１１からの印刷ジョブの印刷処理が実行された場合、通信が途絶したサーバ１１からの印刷ジョブは、他のサーバ１１からの印刷ジョブの印刷処理が完了するまでは、たとえ通信が復旧したとしても実行されず、後回しになる。
【００８４】
図１８に示すように、サーバＣ（１１Ｃ）からの印刷ジョブの印刷処理が完了した後、サーバＡ（１１Ａ）からの印刷ジョブのデータ送信が再開すると、途絶前に印刷処理を実行していたプリンタ１２（プリンタ（メイン）１２Ｍ）で印刷処理が再開される。各プリンタ１２は、データ送信が再開されたサーバ１１（１１Ａ）についての印刷ステータスが「通信断停止中」となっている場合に、自機（プリンタ１２）で印刷処理を実行する。
【００８５】
図１９に示すように、サーバＢ（１１Ｂ）からプリンタ（サブ）１２Ｓ１への印刷ジョブのデータの通信が途絶した状態で、他のサーバＡ（１１Ａ）からの印刷ジョブを、プリンタ（メイン）１２Ｍで処理することができる。
【００８６】
図２０に示すように、図１９の状態で、サーバＡ（１１Ａ）からの印刷ジョブの印刷処理を実行しているプリンタ（メイン）１２Ｍで、紙無し等の印刷不能となるエラーが生じた場合、当該プリンタ（メイン）１２Ｍの当該サーバＡ（１１Ａ）からの印刷ジョブについての印刷ステータスが「印刷不能」となって、印刷代替処理が実行される。プリンタ（サブ）１２Ｓ１では、サーバＢ（１１Ｂ）からの印刷ジョブの印刷ステータスが「通信断停止中」であるため、印刷ジョブは割り当てられない。よって、さらに下位のプリンタ（サブ）１２Ｓ２にサーバＡ（１１Ａ）からの印刷ジョブが割り当てられ、プリンタ（サブ）１２Ｓ２で、サーバＡ（１１Ａ）からの印刷ジョブの未完了分の印刷処理が実行される。図９のフローチャートでは、プリンタ（メイン）１２ＭではステップＳ３２でＹｅｓとなり、プリンタ（サブ）１２Ｓ１ではステップＳ３６でＹｅｓとなり、プリンタ（サブ）１２Ｓ２ではステップＳ３５でＮｏとなって、図２０の状態となる。
【００８７】
以上、説明したように、本実施形態では、複数のうち一つのプリンタ１２（例えばプリンタ（メイン）１２Ｍ）で複数のうち一つの印刷サーバ１１（例えばサーバＡ（１１Ａ））から送信された印刷ジョブの印刷処理が完了する前に、そのサーバＡ（１１Ａ）からプリンタ（メイン）１２Ｍへの印刷ジョブのデータの通信が途絶したときには、そのデータの通信が回復する前にサーバＡ（１１Ａ）以外のサーバ１１（例えばサーバＢ（１１Ｂ）から送信された印刷ジョブの印刷処理を、プリンタ（メイン）１２Ｍ以外のプリンタ１２（例えばプリンタ（サブ）１２Ｓ１）が実行する。よって、通信断によって印刷ジョブの実行が中断しているために他の印刷ジョブが実行できないといった、プリンタ１２の無駄な休止状態を減らして、印刷ジョブをより効率よく実行することができる。さらに、他のサーバ１１からの印刷ジョブの印刷処理が、通信が途絶したプリンタ１２で実行されると、そのプリンタ１２では、一つのサーバ１１からのページの後に他のサーバ１１からのページが印刷出力されることとなり、分けるのに手間がかかる場合がある。この点、本実施形態によれば、印刷出力中に通信が途絶したことで印刷処理が中断したプリンタ１２では、通信が回復する前に受け付けられた他のサーバ１１からの印刷ジョブの印刷処理は実行されないため、そのような不都合を回避することができる。
【００８８】
また、本実施形態では、データの通信が回復した後に、通信の途絶によって印刷出力ができなくなったプリンタ１２が、その通信元であったサーバ１１からの印刷ジョブの少なくとも残りの印刷処理を実行する。よって、一つのサーバ１１からの印刷ジョブのページがまとまって出力されるため、複数のプリンタ１２に分けて出力されるのに比べて、取り扱いが容易になる。
【００８９】
また、本実施形態では、複数のうち一つのプリンタ１２でサーバ１１から送信された印刷ジョブの印刷処理が完了する前に、そのサーバ１１から印刷ジョブのデータを受信しているのにも拘わらずプリンタ１２では印刷出力が不可能な状態となったときには、そのプリンタ１２とは別のプリンタ１２で、その印刷ジョブの印刷処理を実行する。すなわち、データが送信されてきているときには、他のプリンタ１２を利用して、印刷ジョブの印刷処理をより迅速に完了させることができる。
【００９０】
また、本実施形態では、印刷ジョブを実行するプリンタ１２を決定するジョブ割当部１５ｋを備える。このジョブ割当部１５ｋの動作によって、プリンタ１２に印刷ジョブを、種々の状況に応じて適切に割り当てることができる。また、本実施形態では、相互に接続されて代替処理を行うことが可能な複数のプリンタ１２の全てが、同じ機能を有するジョブ割当部１５ｋを備えている。このため、複数のプリンタ１２を統括するデバイス等が不要となり、システムの構成をより簡素に構成することができる。
【００９１】
また、本実施形態では、プリンタ１２でサーバ１１から送信された印刷ジョブの印刷処理が完了する前にサーバ１１からプリンタ１２への印刷ジョブのデータの通信が途絶した状態であることがわかる情報としての印刷ステータスを記憶部１６に記憶する処理を行う第一の記憶処理部として、通信監視部１５ｃを備える。よって、ジョブ割当部１５ｋは、印刷ステータスを参照して、プリンタ１２への印刷ジョブの割当を、より円滑にかつより確実に実行することができる。
【００９２】
また、本実施形態では、プリンタ１２で印刷出力が可能な状態か不可能な状態かがわかる情報としての印刷ステータスを記憶部１６に記憶する処理を行う第二の記憶処理部として、印刷可否状態監視部１５ｄを備える。よって、ジョブ割当部１５ｋは、印刷ステータスを参照して、プリンタ１２への印刷ジョブの割当を、より円滑にかつより確実に実行することができる。
【００９３】
また、本実施形態では、プリンタ１２での印刷ジョブの印刷処理の進捗状況がわかる情報としての受信済みページ数や出力済みページ数を示す情報を記憶部１６に記憶する処理を行う第三の記憶処理部として、進捗監視部１５ｅを備える。よって、通信の途絶が回復したときに、受信済みページ数や出力済みページ数を示す情報に基づいて、未だ印刷出力されていない残りのページから効率良く印刷出力を再開することができる。
【００９４】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態には限定されず、種々の変形が可能である。例えば、ホスト装置の数、印刷装置の数等は上記実施形態には限定されない。また、上記実施形態では、印刷ステータスの値を変更する構成としたが、通信断停止や、印刷可否等の各項目について値を設定してもよい。また、印刷ステータスの名称は、あくまで一例であって、処理上は適宜な値が割り当てられる。それらの名称が実際の処理に用いられるわけではない。また、各部の構成や処理手順もあくまで一例である。
【符号の説明】
【００９５】
１  印刷システム
５  ネットワーク（電気通信回線）
１０  インターネット網（電気通信回線）
１１，１１Ａ，１１Ｂ  印刷サーバ（ホスト装置）
１２，１２Ｍ，１２Ｓ１，１２Ｓ２  プリンタ（印刷装置）
１５ｋ  ジョブ割当部
１５ｃ  通信監視部（第一の記憶処理部）
１５ｄ  印刷可否状態監視部（第二の記憶処理部）
１５ｅ  進捗監視部（第三の記憶処理部）
【先行技術文献】
【特許文献】
【００９６】
【特許文献１】特開２００２−１８９５８１号公報
【図１】
2011170429.tif 000003
【図２】
2011170429.tif 000004
【図３】
2011170429.tif 000005
【図４】
2011170429.tif 000006
【図５】
2011170429.tif 000007
【図６】
2011170429.tif 000008
【図７】
2011170429.tif 000009
【図８】
2011170429.tif 000010
【図９】
2011170429.tif 000011
【図１０】
2011170429.tif 000012
【図１１】
2011170429.tif 000013
【図１２】
2011170429.tif 000014
【図１３】
2011170429.tif 000015
【図１４】
2011170429.tif 000016
【図１５】
2011170429.tif 000017
【図１６】
2011170429.tif 000018
【図１７】
2011170429.tif 000019
【図１８】
2011170429.tif 000020
【図１９】
2011170429.tif 000021
【図２０】
2011170429.tif 000022