(57)【要約】【課題】  分割されたジョブを元の１つのジョブとして管理し、ユーザに印刷時に途中で印刷データが分割されたことを意識させることなく、分割の有無に関らず常に同じ印刷結果をうることができる分割印刷環境を構築すること。【解決手段】  情報管理部１０４が、分割前の印刷データと分割後の各印刷データとの対応関係を管理するとともに、前記分割前の印刷データに対して、代行・分散印刷設定が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを、前記分割前の印刷データから生成される印刷ジョブとみなして代行・分散印刷設定に応じた１又は複数の印刷装置へ出力するように、出力管理部１０５による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御する構成を特徴とする。【選択図】図１
2005190418.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置から受信した印刷データを複数の印刷データに分割するデータ分割手段と、
前記データ分割手段により分割された各印刷データからそれぞれ印刷ジョブを生成する生成手段と、
前記生成手段により生成された各印刷ジョブを指定された印刷設定に応じて１又は複数の印刷装置へ出力する出力管理手段と、
前記データ分割手段による分割前の印刷データと分割後の各印刷データとの対応関係を管理する情報管理手段とを有し、
前記情報管理手段は、前記分割前の印刷データに対して、所定の印刷設定が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを、前記分割前の印刷データから生成される印刷ジョブとみなして前記所定の印刷設定に応じた１又は複数の印刷装置へ出力するように、前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御することを特徴とする印刷管理システム。
【請求項２】
前記情報管理手段は、前記分割前の印刷データに対して、印刷ジョブを処理する印刷装置でエラーが発生した場合に該印刷ジョブの処理を他の印刷装置に代行させる代行印刷設定が指定されていた場合には、該代行印刷時に、前記分割後の各印刷データから生成された各印刷ジョブを対応する前記分割前の印刷データ毎に同一の印刷装置に代行させるように前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御することを特徴とする請求項１記載の印刷管理システム。
【請求項３】
前記情報管理手段は、前記分割前の印刷データに対して、印刷ジョブを印刷ジョブ単位で前記いずれかの印刷装置に処理させる第１の分散印刷設定が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを前記分割前の印刷データ単位で前記いずれかの印刷装置に処理させるように前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御することを特徴とする請求項１記載の印刷管理システム。
【請求項４】
前記情報管理手段は、前記分割前の印刷データに対して、印刷ジョブを予め指定された割合で複数の印刷装置に処理させる第２の分散印刷設定が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを前記分割前の印刷データ単位で前記予め指定された割合で複数の印刷装置に処理させるように前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御することを特徴とする請求項１記載の印刷管理システム。
【請求項５】
前記出力管理手段は、印刷装置へ出力したジョブの終了を監視して前記情報管理手段に通知するものであり、
前記情報管理手段は、前記出力管理手段から通知される各印刷ジョブの終了の通知を、前記分割前の印刷データ単位で前記クライアントに通知することを特徴とする請求項１〜４のいずれかに記載の印刷管理システム。
【請求項６】
クライアント装置から受信した印刷データを複数の印刷データに分割するデータ分割手段と、前記データ分割手段により分割された各印刷データからそれぞれ印刷ジョブを生成する生成手段と、前記生成手段により生成された各印刷ジョブを指定された印刷設定に応じて１又は複数の印刷装置へ出力する出力管理手段とを有する印刷管理システムの制御方法において、
前記データ分割手段による分割前の印刷データと分割後の各印刷データとの対応関係を管理する情報管理工程と、
前記分割前の印刷データに対して、所定の印刷設定が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを、前記分割前の印刷データから生成される印刷ジョブとみなして前記所定の印刷設定に応じた１又は複数の印刷装置へ出力するように、前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更する出力先変更工程と、
を有することを特徴とする印刷管理システムの制御方法。
【請求項７】
請求項６に記載された印刷管理システムの制御方法を実行するためのプログラム。
【請求項８】
請求項６に記載された印刷管理システムの制御方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置から受信した印刷データを複数の印刷データに分割して印刷処理する印刷管理システムおよび印刷管理システムの制御方法およびプログラムおよび記録媒体に関するものである。
【背景技術】
【０００２】
帳票印刷や、文字や表、画像など、データの種類が異なるデータを保持するアプリケーションプログラムを印刷するとき、印刷設定上、途中でジョブを分割するということがある。
【０００３】
そのとき、文書に対して行いたい設定が、ジョブ単位でしかできないような場合、例えば、サドルステッチ（用紙の中央にステイプルを行う指定、以下単にステイプル指定とも呼ぶ）がなされている場合、デバイスにより１つの印刷ジョブには１つのステイプルしかできないという制約があり、そのようなデバイスに対して印刷出力を行わせる場合は、分割したジョブを１つのジョブと判断しなければならない。
【０００４】
しかし、印刷設定を反映した複数の印刷ジョブを生成する印刷システムでは、設定に応じた印刷が可能となるものの、印刷ジョブの個数ともとのデータの個数とは必ずしも対応しない形で生成されてしまう。
【０００５】
そのため、例えば利用者が印刷状況を監視するために、オペレーティングシステムによって提供されている機能やジョブ管理ユーティリティによるジョブ監視機能によってジョブキューの状態を表示させても、表示された印刷ジョブを利用者が印刷させているものであるのか特定することができないことが考えられる。
【０００６】
これは、特に印刷中に障害が発生した場合等に、再度印刷し直すデータがどれであるのか特定することを困難にし、印刷システムの操作性を低下させてしまう。
【０００７】
また、アプリケーションから印刷ジョブとデータとを対応づけて管理できないことから、印刷ジョブをデータ単位で扱うことができないことが考えられる。例えば、分割されたジョブの一方が削除された場合など、同じデータから生成された他のジョブも削除する方が望ましいにもかかわらず、そのような処理を行うことはできないことが考えられる。
【０００８】
そこで、従来の技術では、印刷対象とされた文書ファイルとその文書ファイルから生成される印刷ジョブとを、それらの対応及び各データの順序を識別可能なジョブ識別子を付与することで対応付けて管理することによって、文書を扱うアプリケーションプログラムや利用者が、文書と印刷ジョブとの対応関係を認識することを可能としている。この種の文献に特許文献１がある。
【０００９】
また、分散・代行印刷が設定されていても、ユーザが、ステイプルや両面を含む等の製本指定のように分割されては不具合がある印刷ジョブを発行する場合、自動的に分散印刷を抑制し、出力先候補のグループの中から最適な印刷手段を選択して印刷ジョブを処理することができる。
【００１０】
さらに、印刷ジョブを処理している印刷手段でエラー等の不具合が発生した場合であっても、頁途中から別の印刷手段に代行することなく、続行或いは代行かを選びながら、代行選択の場合は、頁分割することなく且つ適切な代行先をストレス無く探し出し、印刷ジョブを処理することが可能である。
【特許文献１】特開２００３−９１３８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来の技術では、１つのジョブに対しては分散・代行印刷もユーザの意図した形で行われるが、分割したジョブが分散印刷や代行印刷に設定されたプリンタに送られた場合、データが分割してしまったものに対して分割前のデータと分割後のデータを対応付けて管理するモジュールがなく、しかも分散・代行を指示するモジュールに対応していないため、ユーザの意図しない状況で出力されてしまうという不具合が生じてしまうという問題点があった。
【００１２】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、分割前の印刷データと分割後の各印刷データとの対応関係を管理するとともに、前記分割前の印刷データに対して、所定の印刷設定（代行印刷設定・分散印刷設定）が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを、前記分割前の印刷データから生成される印刷ジョブとみなして前記所定の印刷設定に応じた１又は複数の印刷装置へ出力するように、前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更することにより、分割されたジョブを元の１つのジョブとして管理することができ、ユーザに印刷時に途中で印刷データが分割されたことを意識させることなく、分割の有無に関らず常に同じ印刷結果をうることができる優れた分割印刷環境を構築することができる印刷管理システムおよび印刷管理システムの制御方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１の発明は、クライアント装置から受信した印刷データを複数の印刷データに分割するデータ分割手段（図１に示すデータ分割部１０２）と、前記データ分割手段により分割された各印刷データからそれぞれ印刷ジョブを生成する生成手段（図１に示すジョブ生成部１０３）と、前記生成手段により生成された各印刷ジョブを指定された印刷設定に応じて１又は複数の印刷装置へ出力する出力管理手段（図１に示す出力管理部１０５）と、前記データ分割手段による分割前の印刷データと分割後の各印刷データとの対応関係を管理する情報管理手段（図１に示す情報管理部１０４）とを有し、前記情報管理手段は、前記分割前の印刷データに対して、所定の印刷設定が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを、前記分割前の印刷データから生成される印刷ジョブとみなして前記所定の印刷設定に応じた１又は複数の印刷装置へ出力するように、前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御する（図１９のステップＳ２０６〜Ｓ２１０，図２０のステップＳ３０５，Ｓ３０６，図２５のステップＳ４０４〜Ｓ４０６）ことを特徴とする。
【００１４】
本発明の第２の発明は、前記情報管理手段は、前記分割前の印刷データに対して、印刷ジョブを処理する印刷装置でエラーが発生した場合に該印刷ジョブの処理を他の印刷装置に代行させる代行印刷設定が指定されていた場合には、該代行印刷時に、前記分割後の各印刷データから生成された各印刷ジョブを対応する前記分割前の印刷データ毎に同一の印刷装置に代行させるように前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御する（図１９のステップＳ２０６〜Ｓ２１０）ことを特徴とする。
【００１５】
本発明の第３の発明は、前記情報管理手段は、前記分割前の印刷データに対して、印刷ジョブを印刷ジョブ単位で前記いずれかの印刷装置に処理させる第１の分散印刷設定が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを前記分割前の印刷データ単位で前記いずれかの印刷装置に処理させるように前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御する（図２０のステップＳ３０５，Ｓ３０６）ことを特徴とする。
【００１６】
本発明の第４の発明は、前記情報管理手段は、前記分割前の印刷データに対して、印刷ジョブを予め指定された割合で複数の印刷装置に処理させる第２の分散印刷設定が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを前記分割前の印刷データ単位で前記予め指定された割合で複数の印刷装置に処理させるように前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御する（図２５のステップＳ４０４〜Ｓ４０６）ことを特徴とする。
【００１７】
本発明の第５の発明は、前記出力管理手段は、印刷装置へ出力したジョブの終了を監視して前記情報管理手段に通知する（図２５のステップＳ４０７）ものであり、前記情報管理手段は、前記出力管理手段から通知される各印刷ジョブの終了の通知を、前記分割前の印刷データ単位で前記クライアントに通知する（図２５のステップＳ４０８）ことを特徴とする。
【００１８】
本発明の第６の発明は、クライアント装置から受信した印刷データを複数の印刷データに分割するデータ分割手段と、前記データ分割手段により分割された各印刷データからそれぞれ印刷ジョブを生成する生成手段と、前記生成手段により生成された各印刷ジョブを指定された印刷設定に応じて１又は複数の印刷装置へ出力する出力管理手段とを有する印刷管理システムの制御方法において、前記データ分割手段による分割前の印刷データと分割後の各印刷データとの対応関係を管理する情報管理工程（図５のステップＳ１０４）と、前記分割前の印刷データに対して、所定の印刷設定が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを、前記分割前の印刷データから生成される印刷ジョブとみなして前記所定の印刷設定に応じた１又は複数の印刷装置へ出力するように、前記出力管理手段による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更する出力先変更工程（図１９のステップＳ２０６〜Ｓ２１０，図２０のステップＳ３０５，Ｓ３０６，図２５のステップＳ４０４〜Ｓ４０６）とを有することを特徴とする。
【００１９】
本発明の第７の発明は、請求項６に記載された印刷管理システムの制御方法を実行するためのプログラムであることを特徴とする。
【００２０】
本発明の第８の発明は、請求項６に記載された印刷管理システムの制御方法を実行するためのプログラムを記録媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、分割前の印刷データと分割後の各印刷データとの対応関係を管理するとともに、前記分割前の印刷データに対して、所定の印刷設定（代行印刷設定・分散印刷設定）が指定されていた場合には、前記分割後の各印刷データから生成された各印刷ジョブを、前記分割前の印刷データから生成される印刷ジョブとみなして前記所定の印刷設定に応じた１又は複数の印刷装置へ出力するように、前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更することにより、分割前のジョブ情報と分割後のジョブ情報とを一括管理することにより、ジョブを複数生成した場合でも、生成されたジョブともとのジョブとの対応を検知することができ、ユーザが分割を意識にすることなく、印刷終了やジョブの印刷状況の確認をすることができ、また、分散や代行などの機能を持ったプリンタに印刷を要求しても、分割前のジョブと分割後のジョブを対応づけて、ユーザに分割することなく印刷した場合と同等の印刷結果を提供することができる等の効果を奏する。
【発明を実施するための最良の形態】
【００２２】
まず、本発明の前提となる代行印刷と分散印刷について説明する。
【００２３】
＜代行印刷＞
〔自動代行印刷〕
自動代行印刷とは、印刷ジョブが送信待ちの状態の時に、そのデバイスで印刷不可能なエラーが発生した場合や、印刷ジョブの送信中に送信が不可能になった場合、あるいはデバイスに印刷ジョブを送信した後、印刷終了通知が来る前にデバイス側でエラーが発生したことを検出した場合に、印刷システムが、まずユーザが代行用に予め指定しておいた他のデバイスに印刷先を変更することを示す。
【００２４】
〔手動代行印刷〕
手動代行印刷とは、上述したようなエラー／問題が発生した際に、自動代行印刷の設定が行われていない場合、あるいは自動代行印刷でも印刷を行うことができなかった場合には、印刷システムは、ユーザにその旨を知らせ、他のデバイスを明示的に指定して印刷先を変更するか（手動代行印刷）、元のデバイスへ印刷するように待機させるか、ジョブをキャンセルするかをユーザに選択させ、印刷システムが、ユーザが選択した処理を実行することを示す。
【００２５】
＜分散印刷＞
〔プリンタ分散〕
プリンタ分散とは、空いているプリンタに次々とジョブを振り分ける分散印刷や、負荷の係り具合を計算して負荷が均一になるように設定してある分散印刷を示し、これは印刷待ち状態のジョブ数やジョブサイズが設定値に達した場合、プリンタビジー状態と判断し、他のプリンタに負荷を分散して印刷させることも可能で、プリンタ資源をより効率的に活用することができ、大量の帳票印刷業務などを大幅に改善することができる。
【００２６】
〔シート単位分散（ページ分散又は割合分散とも称する）〕
シート単位分散は、１つのジョブ内に複数枚数が存在する場合に、予め設定しておいた割合比率に基づきページ単位で複数のプリンタに分散する機能を示す。
【００２７】
以下、本発明の実施形態について説明する。
【００２８】
＜システムの構成及び動作＞
図１は、本発明の一実施形態を示す印刷管理システムの構成を示すブロック図である。
【００２９】
図１に示すように、本実施形態の印刷管理システムは、１又は複数のクライアント装置（以下、クライアント）１０１，印刷管理サーバ１００，複数のプリンタ１０６（１）〜１０６（ｎ）が所定のネットワーク（例えば、イーサネット（登録商標））を介して接続されている。
【００３０】
クライアント１０１は、一般アプリケーション１０１ａを実装している。このアプリケーション１０１ａは、例えば、ワードプロセシングやスプレッドシート，フォトレタッチ，ドローあるいはペイント，プレゼンテーション，テキスト編集などの機能を提供するアプリケーションプログラムであり、印刷機能を有している。そして、これらのアプリケーションは、作成された文書データや画像データ等のアプリケーションデータを印刷するにあたって、クライアント１０１のオペレーティングシステム（ＯＳ）により提供される所定のインタフェースを利用する。
【００３１】
即ち、アプリケーション１０１ａは、作成したデータを印刷するために、前記インタフェースを提供するＯＳの出力モジュールに対して、予め定められるＯＳに依存する形式の出力コマンドを送信する。そして、出力コマンドを受けたＯＳの出力モジュールは、プリンタ等の出力デバイスが処理可能な形式にそのコマンドを変換し、それを出力する。
【００３２】
なお、上記出力デバイスが処理可能な形式は、デバイスの種類やメーカ，機種等によって異なるために、デバイスごとにデバイスドライバが提供されており、ＯＳではそのデバイスドライバを利用してコマンドの変換を行う。なお、ＯＳとしてマイクロソフト社のウインドウズ（登録商標）を利用する場合には、前述した出力モジュールとしてはＧＤＩと呼ばれるモジュールが相当する。
【００３３】
印刷管理サーバ１００は、クライアント１０１から送信される印刷データに基づいて印刷ジョブを生成し、プリンタ１〜プリンタｎで印刷処理を実行させるものであり、データ分割部１０２，ジョブ生成部１０３，情報管理部１０４，出力管理部１０５を有するものである。なお、図１では、データ分割部１０２，ジョブ生成部１０３，情報管理部１０４，出力管理部１０５が、１つの装置（印刷管理サーバ１００）に実装された構成について示したが、データ分割部１０２，ジョブ生成部１０３，情報管理部１０４，出力管理部１０５を、データ分割サーバ，ジョブ生成サーバ，情報管理サーバ，出力管理サーバ等の異なる装置に実装し、各サーバをネットワークを介して通信可能に接続したシステムで構成してもよい。
【００３４】
以下、各部の機能について説明する。
【００３５】
データ分割部１０２は、ユーザから送られてきたデータを分割するモジュールであり、ここでは、ユーザが送ったデータに対して分割の有無の判断をし、分割の必要がある際にはデータを分割し、元のデータの名前に順序のある固有なＩＤを加えた名前をつける。このデータ分割部１０２は、送られてきたデータ、そのデータの分割の有無、分割後のデータの名前、分割データの順序、分散・代行の有無等の情報を情報管理部１０４に伝える。また、このデータ分割部１０２は、分割したデータをジョブ生成部１０３に送信する。
【００３６】
ジョブ生成部１０３は、データ分割部１０２から送られてきたデータを印刷ジョブに変換するモジュールであり、このジョブ生成部１０３で変換されたジョブは、出力管理部１０５に送られる。
【００３７】
そして、情報管理部１０４は、データ分割部１０２から送られてきた情報を管理情報として、例えば、後述する図４の１４に示すようにハードディスク等の記憶媒体に格納する。なお、このハードディスク等の記録媒体は、本実施形態のシステムを実現するコンピュータが備えているローカルドライブであってもよいし、ネットワークに接続されている場合にはネットワーク上に提供されるドライブであっても良い。また、情報を保持する部分は、ファイルやデータベースなどであってもよい。
【００３８】
また、情報管理部１０４は、分割したジョブが割合分散等をするとき、出力管理部１０５に設定された分散の割合から、分割前のジョブをその割合で分散させると想定し、分割後のデータそれぞれに対して分散割合を計算する機能を持ち、情報管理部１０４は、出力管理部１０５に設定された分散・代行割合を変更することができる（詳細は後述する）。
【００３９】
さらに、情報管理部１０４は、出力管理部１０５から出力先の情報を伝えられたジョブに対して印刷命令を出すことができる。これにより、出力管理部１０５は、印刷ジョブをプリンタに送信する。
【００４０】
また、情報管理部１０４は、分割前のデータと分割後のデータを対応付けて管理するものであり、クライアント１０１から印刷ジョブの状況の問い合わせがあったとき、分割ジョブのそのときの状況を、分割前のジョブの印刷状況に置き換えてクライアント１０１に通知、又は、分割前のジョブと分割後のジョブともに印刷状況を通知したりすることができる。
【００４１】
例えば、ジョブＡから分割したＡ１，Ａ２，Ａ３という分割ジョブにおいて、今Ａ２が印刷中であった場合、Ａの印刷状況として、３分の１を印刷中である旨の通知をクライアント１０１に行うこともできる。
【００４２】
さらに、情報管理部１０４は、最後、出力管理部１０５から伝えられた、分割後のデータの印刷終了通知を分割前のデータの印刷終了通知として、クライアント１０１に通知することができる。
【００４３】
出力管理部１０５は、印刷ジョブの生成から排紙完了までの状態遷移を管理可能であり、印刷ジョブが途中で分割された場合にも、そのジョブの状態遷移の管理が可能なモジュールである。この出力管理部１０５は、この印刷管理システムでは、印刷ジョブの生成から、スプール、データ送信、及び排紙までのジョブの状態遷移が管理可能であり、情報管理部１０４と情報の交換を行うことにより、ユーザに対して、正常な（分かれていない元々のジョブの）印刷ジョブ情報を提供（通知）できる。
【００４４】
また、出力管理部１０５は、ジョブの分散・代行時、予め設定されている形式でジョブを振り分ける。出力管理部１０５は、ジョブの状態を情報管理部１０４に送り、分散・代行時に命令を受け、受信した出力コマンドを、デバイスドライバを用いてプリンタ１０６で解釈実行可能なデバイスコマンドに変換することができる。このデバイスコマンドは、プリンタ１０６に送信され、プリンタ１０６によってコマンドに応じたものが印刷される。
【００４５】
以下、分散・代行の設定方法について示す。
【００４６】
図２は、分散・代行設定画面の一例を示す模式図である。
【００４７】
管理者やユーザは、図２に示すような分散・代行選択画面により、出力管理部１０５に、分散・代行時のプリンタの設定を行うことができる。この設定は、出力管理部１０５のハードディスク等の記憶媒体に記憶される。
【００４８】
なお、「プリンタ名」を選択し、編集ボタン２００１を押下することにより、分散・代行の詳細設定を行うことができる。代行に対する詳細設定は、優先順位を設定する。また、分散に対する詳細設定は、分散割合等を設定する。この割合分割分散の設定画面を図３に示す。
【００４９】
図３は、割合分割分散の設定画面の一例を示す模式図である。
【００５０】
管理者やユーザは、図３に示すような割合分割分散の設定画面により、出力管理部１０５に、割合分割分散時のプリンタの割合の設定を行うことができる。この設定は、出力管理部１０５のハードディスク等の記憶媒体に記憶される。
【００５１】
また、この設定は、直接印刷管理サーバ１００で行うことも可能であるし、クライアント１０１から印刷管理サーバ１００にログインして設定することも可能である。
【００５２】
さらに、ユーザは同様の設定をユーザごとに、デフォルトの管理情報として、情報管理部１０４に登録することができる。そして、情報管理部１０４は、この分散・代行の設定をクライアント装置やユーザ単位等でデフォルトとして管理している（ハードディスク等の記憶媒体に記憶管理している）。
【００５３】
また、ユーザは、クライアント１０１からの印刷時に、分散が設定されたプリンタ名「ｄｉｓｔ」や代行が設定されたプリンタ名「ａｕｔｏ」を指定して印刷指示を行うことにより、分散印刷，代行印刷を行うことができる。なお、ユーザは、印刷の度に、印刷データに対して分散・代行の設定を行うことができ、その際に、分散・代行の詳細設定を変更することも可能である。
【００５４】
そして、情報管理部１０４は、上記デフォルトの設定を、印刷時にユーザが設定し直したときには、その設定を一時的に上書きし、印刷終了時に上記デフォルトの設定に戻すように制御する。
【００５５】
図４は、図１に示した印刷管理サーバ１００の構成を示すブロック図である。
【００５６】
図４において、１１はＣＰＵで、ＲＯＭ１３に記憶されるＢＩＯＳ等によりハードウエアが認識されて、ＲＡＭ１２にハードディスク（ＨＤ）等の記憶媒体（記録媒体）１４からロードされるシステムソフトウェア（オペレーティングシステム（ＯＳ）を含む）によりシステムバスに接続されるデバイスを利用する各種の入出力処理（後述するフローチャートに示す処理を含む）を総括的に制御する。このＣＰＵ１１により実行される処理により、図１に示したデータ分割部１０２，ジョブ生成部１０３，情報管理部１０４，出力管理部１０５等が実現される。
【００５７】
１９は通信インタフェースで、通信ネットワーク２１とを接続するネットワークケーブルが接続され、所定のプロトコルで外部機器との通信処理を制御している。１７は表示装置で、キーボードやマウス等の入力装置１６の操作を反映した表示やＣＰＵ１１による各種処理結果を表示可能である。なお、表示装置１７，入力装置１６は、必ずしも備えていなくてもよい。
【００５８】
以下、図５，図６を参照して、本発明の印刷管理システムにおけるジョブ分割時の処理動作について説明する。
【００５９】
図５，図６は、本発明の印刷管理システムにおける第１の制御処理手順の一例を示すフローチャートであり、ジョブ分割時の処理動作に対応する。図１に示した印刷管理サーバ１００におけるジョブ分割時の処理手順に対応する。なお、Ｓ１０１〜Ｓ１１９は各ステップを示し、図４に示したＣＰＵ１１の制御の下で実行される。
【００６０】
先ず、ステップＳ１０１において、データ分割部１０２が、クライアント１０１の一般アプリケーション１０１ａから送信された印刷データを受信すると、ステップＳ１０２において、データ分割部１０２が、ステップＳ１０１で受信したデータを分割するか否かを判断し、分割すると判断した場合には、ステップＳ１０３に進み、データ分割部１０２は、該印刷データを印刷に適した形に分割し、該分割した印刷データをジョブ生成部１０３に出力する。
【００６１】
そして、ステップＳ１０４において、データ分割部１０２は、分割前のデータ、分割後のデータ、データの分割有無、データの名前、データの順序、ユーザからの分散・代行設定などの情報を、情報管理部１０４に伝える（情報管理部１０４はこれらの情報をＲＡＭ又はハードディスク等に保持する）とともに、前記分割した印刷データをジョブ生成部１０３に送り、ステップＳ１０６に進む。
【００６２】
一方、ステップＳ１０２で、データ分割部１０２が、ステップＳ１０１で受信したデータを分割しないと判断した場合には、ステップＳ１０５に進み、データの分割有無、データの名前、ユーザからの分散・代行設定などの情報を、情報管理部１０４に伝える（情報管理部１０４はこれらの情報をＲＡＭ又はハードディスク等に保持する）とともに、前記印刷データをジョブ生成部１０３に送り、ステップＳ１０６に進む。
【００６３】
そして、ステップＳ１０６において、情報管理部１０４は、データ分割部１０２より受け取ったデータ（ユーザからの分散・代行設定）に基づいて、分散・代行の設定がされているか否かを判断し、分散・代行の設定がされている（即ち、ユーザからデータに分散・分割支持がしてある）と判断した場合には、ステップＳ１０７に進み、情報管理部１０４は、情報管理部１０４の分散・代行設定フラグをデフォルトの代行・分散設定から変更し（分散または代行する：１，分散または代行しない：０）、ステップＳ１０８に進む。
【００６４】
一方、ステップＳ１０６で、情報管理部１０４が、データ分割部１０２より受け取ったデータに対して分散・代行の設定がされていないと判断した場合には、そのままステップＳ１０８に進む。
【００６５】
なお、この時の情報管理部１０４の管理データを後述する図７，図８に示す。
【００６６】
つぎに、ステップＳ１０８において、ジョブ生成部１０３は、印刷データを印刷ジョブに変換し、ステップＳ１０９において、該変換されたジョブを、出力管理部１０５に送る。
【００６７】
そして、ステップＳ１１０において、出力管理部１０５は、到着したジョブに基づいて分散・代行の判断を行い、該到着したジョブの情報（名前など）や、出力管理部１０５に予め設定してある分散の割合や代行のプリンタ指定の情報を情報管理部１０４に伝える。
【００６８】
そして、ステップＳ１１１において、情報管理部１０４は、出力管理部１０５から受けた情報に基づいて、管理データの設定を変えて出力管理部１０５に印刷命令を出力する。
【００６９】
なお、この時の情報管理部１０４の管理情報を後述する図９〜図１３に示す。
【００７０】
すると、出力管理部１０５は、情報管理部１０４から伝えられら命令に従って印刷命令をプリンタに送る。
【００７１】
次に、ステップＳ１１２において、出力管理部１０５は、印刷が正常に終了したか否かを判断し、印刷が正常に終了したと判断した場合には、ステップＳ１１３において、出力管理部１０５は情報管理部１０４に印刷終了通知を出力する。
【００７２】
そして、ステップＳ１１４において、情報管理部１０４は、出力管理部１０５から返ってきた通知が、分割された印刷ジョブに対する終了通知であるか否かを判断し、分割された印刷ジョブに対する終了通知でないと判断した場合には、そのままステップＳ１１６に移行し、情報管理部１０４は、クライアント１０１に印刷終了通知を出力するようにデータ分割部１０２に命令する。
【００７３】
一方、ステップＳ１１４で、情報管理部１０４が、出力管理部１０５から返ってきた通知が、分割された印刷ジョブに対する終了通知であると判断した場合には、ステップＳ１１５において、分割されたジョブの通知が全て返ってきたか否かを判断し、未だ全て返ってきていないと判断した場合には、ステップＳ１１８において、分割されたジョブの通知が全て返ってくるまで元のジョブと分割後のジョブの印刷終了通知を出さないように制御し、ステップＳ１１５に戻る。
【００７４】
なお、何らかのジョブのトラブルが生じ、分割後の印刷ジョブの１つが消えてしまった場合等も、それを判断して、もう一度印刷ジョブを送る命令を出すことができる。
【００７５】
一方、ステップＳ１１５で、情報管理部１０４が、分割されたジョブの通知が全て返ってきたと判断した場合には、ステップＳ１１６に進む。
【００７６】
次に、ステップＳ１１６において、情報管理部１０４は、クライアント１０１に印刷終了通知を出力するようにデータ分割部１０２に命令し、ステップＳ１１７に進み、情報管理部１０４は、代行・分散設定をデフォルトに戻し、処理を終了する。
【００７７】
一方、ステップＳ１１２で、出力管理部１０５が、印刷が正常に終了しなかったと判断した場合には、ステップＳ１１９において、出力管理部１０５は情報管理部１０４にその旨を通知し、後述する代行印刷処理に移行する。
【００７８】
以下、図７，図８を参照して、図６のステップＳ１１０において出力管理部１０５から分散・代行の情報を貰う前の情報管理部１０４の管理データについて説明する。なお、分散・代行のデフォルトの設定を「分散しない」，「代行しない」とする。
【００７９】
図７は、図６のステップＳ１１０において出力管理部１０５から分散・代行の情報を貰う前の情報管理部１０４の管理データを示す図であり、特に、ユーザがデータに対して分散・代行指定をしていない場合に対応する。
【００８０】
図７の場合には、図５のステップＳ１０７による分散・代行設定の変更が行われないため、ステップＳ１１０より前ではデフォルトのままとなり、１３０１，１３０２に示すように、分散ｆｌａｇ，代行ｆｌａｇが全て「０」となっている。
【００８１】
図８は、図６のステップＳ１１０において出力管理部１０５から分散・代行の情報を貰う前の情報管理部１０４の管理データを示す図であり、特に、ユーザが印刷データＡ，Ｃに対して分散を指定し、印刷データＡ，Ｂ，Ｃに対して代行指定をしている場合に対応する。
【００８２】
図８の場合には、図５のステップＳ１０７による分散・代行設定の変更が行われるため、図６のステップＳ１１０より前（且つステップＳ１０７より後）ではデフォルトから変更され、１４０１，１４０２に示すように、印刷データＡ，Ｃの分散ｆｌａｇが「１」，印刷データＡ，Ｂ，Ｃの代行ｆｌａｇが「１」となっている。
【００８３】
以下、図９，図１０を参照して、図６のステップＳ１１０において出力管理部１０５から分散・代行の情報（ページ分散の割合）を貰った後の情報管理部１０４の管理データについて説明する。
【００８４】
図９は、図６のステップＳ１１０において出力管理部１０５から分散・代行の情報（ページ分散の割合）を貰った後の情報管理部１０４の管理データを示す図であり、特に、ユーザが印刷データに対してページ分散（割合分散）をしている場合に対応する。
【００８５】
図９の場合には、ユーザが印刷データに対してページ分散（割合分散）をしているので、出力管理部１０５からページ分割の割合が情報管理部１０４に通知され、情報管理部１０４に設定される。なお、この時点では、１５０１に示すように、分割されたジョブＡ１，Ａ２，Ａ３が、それぞれプリンタ１，プリンタ２，プリンタ３に、１：１：２の割合で分割されるように決定されている。
【００８６】
図１０は、図６のステップＳ１１０において出力管理部１０５から図９に示した分散・代行の情報（ページ分散の割合）を貰った後、情報管理部１０４がページ分散の割合を再計算した後の管理データを示す図である。
【００８７】
図１０の場合、情報管理部１０４が、例えば、ジョブＡ１〜Ａ３，ジョブＢ１〜Ｂ４がジョブＡ，ジョブＢから分割されたものと判断して、ジョブＡ１〜Ａ３，ジョブＢ１〜Ｂ４をそれぞれ１つのジョブとみなし、ページ分散（割合分散）するように、ページ分散の割合を再計算し、１６０１に示すようにセットしたものである。なお、ページ分散（割合分散）時の処理についての詳細な説明は後述する。
【００８８】
以下、図１１，図１２を参照して、図６のステップＳ１１０において出力管理部１０５から分散・代行の情報（プリンタ分散の情報）を貰った後の情報管理部１０４の管理データについて説明する。
【００８９】
図１１は、図６のステップＳ１１０において出力管理部１０５から分散・代行の情報（プリンタ分散の割合）を貰った後の情報管理部１０４の管理データを示す図であり、特に、ユーザが印刷データに対してプリンタ分散をしている場合に対応する。
【００９０】
図１１の場合には、ユーザが印刷データに対してプリンタ分散をしているので、出力管理部１０５からプリンタ分散の情報が情報管理部１０４に通知され、情報管理部１０４に設定される。なお、この時点では、１７０１に示すように、分割されたジョブＡ１，Ａ２，Ａ３が、それぞれ独立したジョブとしてプリンタ１，プリンタ２，プリンタ３で出力されるように決定されている。
【００９１】
図１２は、図６のステップＳ１１０において出力管理部１０５から図１１に示した分散・代行の情報（プリンタ分散の情報）を貰った後、情報管理部１０４がプリンタ分散の情報を再設定した後の管理データを示す図である。
【００９２】
図１２の場合、情報管理部１０４が、例えば、ジョブＡ１〜Ａ３，ジョブＢ１〜Ｂ４がジョブＡ，ジョブＢから分割されたものと判断して、ジョブＡ１〜Ａ３，ジョブＢ１〜Ｂ４をそれぞれ１つのジョブとみなし、プリンタ分散するように、プリンタ分散の情報を１７０２に示すように再セットしたものである。なお、プリンタ分散時の処理についての詳細な説明は後述する。
【００９３】
以下、図１３を参照して、図６のステップＳ１１０において出力管理部１０５から分散・代行の情報（代行印刷の情報）を貰った後の情報管理部１０４の管理データについて説明する。
【００９４】
図１３は、図６のステップＳ１１０において出力管理部１０５から分散・代行の情報（代行印刷の情報）を貰った後の情報管理部１０４の管理データを示す図であり、特に、ユーザが印刷データに対して代行印刷をしている場合に対応する。
【００９５】
図１３の場合には、ユーザが印刷データに対して代行印刷を設定しているので、出力管理部１０５から代行印刷の情報が情報管理部１０４に通知され、１８０１に示すように、情報管理部１０４に設定される。なお、ここでは、ジョブＡ１〜Ａ３，Ｂ１〜Ｂ４，Ｃの全ジョブがプリンタ１で出力されるように決定されている。なお、代行印刷処理についての詳細な説明は後述する。
【００９６】
以下、本実施形態における代行印刷処理，プリンタ分散印刷処理，割合分散印刷処理について説明する。なお、これらの説明は、図６のステップＳ１１０に示した出力管理部１０４による分散・代行の判断後の説明に対応する。
【００９７】
また、一例として、以下の状況を想定して説明する。
【００９８】
・データＡは、Ａ１，Ａ２，Ａ３に分割された
・データＢは、Ｂ１，Ｂ２，Ｂ３，Ｂ４に分割された
・データＣは、分割されなかった
なお、以下この状況において説明するが、この状況に限定されるものではない。
【００９９】
〔代行印刷処理〕
以下、図１４〜図１９を参照して、従来の代行印刷処理と比較しながら本実施形態における代行印刷処理について、Ａ１のプリンタ１での印刷終了直後にプリンタ１にエラーが発生した状況を例にして説明する。
【０１００】
まず、ユーザが印刷データに図２に示したような分散・代行選択画面で代行印刷を設定した状態、又は予め情報管理部１０４にデフォルト設定として代行印刷が設定されている状態において、プリンタ１にてＡ１の印刷終了直後に、プリンタ１が不具合（例えば、紙切れや紙づまり、トナー切れ等）でプリンタ１が一時使用できなくなった場合、例えば、従来の技術では、代行印刷が設定してあると、図１４に示すようにジョブＡ２やジョブＡ３は他のプリンタ（例えばプリンタ２）に代行されてしまう。これでは、印刷データＡにステイプル機能が設定されている場合等では不具合となってしまう。
【０１０１】
これに対して、本実施形態の場合、まず、出力管理部１０５から情報管理部１０４に印刷ジョブの情報、代行されるプリンタの情報が伝えられる。この情報により、変更された情報管理部１０４の管理データは図１３に示したものとなり、Ａ２，Ａ３に対する代行プリンタとしてプリンタ２が指定されている。
【０１０２】
また、情報管理部１０４は、Ａ１，Ａ２，Ａ３はＡから分割されたもの（Ａ１，Ａ２，Ａ３→Ａ）、Ｂ１，Ｂ２，Ｂ３，Ｂ４はＢから分割されたもの（Ｂ１，Ｂ２，Ｂ３，Ｂ４）→Ｂ、Ｃは分割されていない、というジョブの分割情報を保持しているため、出力管理部１０５から通知されたジョブ情報から、分割前のジョブと分割後のジョブを対応付けて考えることができる。
【０１０３】
よって、情報管理部１０４は、図１５に示すように、出力管理部１０５からジョブＡ２をプリンタ２に代行させて出力するという情報が通知されたら、Ａ１に対してもプリンタ２に出力するように設定変更する。この変更後の管理データを図１６の１９０１に示す。
【０１０４】
また、出力管理部１０５から、ジョブＡ２をプリンタ２に代行出力するという情報が通知されても、別のプリンタに代行させたくない場合がある（手動代行で「代行拒否」）。このような場合、情報管理部１０４は、図１７に示すように、出力管理部１０５からジョブＡ２をプリンタ２に代行させて出力するという情報が通知されても、Ａ１，Ａ２，Ａ３ともにプリンタ１に出力するように設定変更する。即ち、Ａ２，Ａ３をプリンタ１の復帰後にプリンタ１に出力するように設定変更する。この変更後の管理データを図１８の１９０１に示す。
【０１０５】
なお、情報管理部１０４が、別のプリンタに代行させる（図１５）／別のプリンタには代行させない（図１７）かは、手動代行の場合に、ユーザの判断で決められるものであり、代行印刷になる時点でユーザに問い合わせるように構成されている。なお、自動代行の場合には、別のプリンタに代行される。
【０１０６】
そして、情報管理部１０４は、この変更した情報管理部１０４の情報を、出力管理部１０５に通知し、出力管理部１０５は、これに従って、Ａ１，Ａ２，Ａ３をプリンタ２に代行させる（図１５）、またはプリンタ１の回復を待って印刷を実行する（図１７）。
【０１０７】
また、Ｂ１，Ｂ２，Ｂ３，Ｂ４に対して、はじめは代行印刷の優先度からプリンタ１に代行されるように設定してある。しかし、プリンタ１にエラーが生じたため次に優先度の高いプリンタ２に代行させることになった。
【０１０８】
まず、Ｂ１，Ｂ２に対してはプリンタ１に失敗したので、プリンタ２で印刷された。
【０１０９】
しかし、ここでプリンタ１が印刷可能になってしまう場合がある。この場合、従来ではＢ３，Ｂ４はプリンタ１で出力されてしまう。
【０１１０】
そこで、本実施形態では、出力管理部１０５からＢ３をプリンタ１に出力するという情報を受け取ったら、情報管理部１０４は、Ｂ１，Ｂ２がプリンタ２で出力されたことから、Ｂ３に対して、プリンタ１ではなくプリンタ２に出力されるように設定を変更する。Ｂ４に対しても同様である。
【０１１１】
そして、情報管理部１０４は、この情報を出力管理部１０５に通知し、出力管理部１０５は、Ｂ３，Ｂ４をプリンタ２に出力する。
【０１１２】
また、分割されていないジョブＣに対しては、もともと出力管理部１０５の設定、またはユーザがデータに対して新たにした設定にそって出力される。
【０１１３】
以上のようにして、分割前のジョブと分割後のジョブを関連付けて代行することができる。なお、上述したように、手動代行が設定されている場合は、ユーザに印刷エラーと伝え、Ａを同じプリンタに出力するか、他のプリンタに代行させるかをユーザに判断させる。
【０１１４】
また、代行印刷が行われた場合、代行印刷が行われた旨、及び代行されたプリンタをユーザに対して通知することにより、ユーザは速やかに自らの印刷ジョブの代行状態を把握することができる。
【０１１５】
以下、図１９のフローチャートを参照して、本発明の印刷管理システムにおける代行印刷の処理動作について説明する。
【０１１６】
図１９は、本発明の印刷管理システムにおける第２の制御処理手順の一例を示すフローチャートであり、図１に示した印刷管理サーバ１００におけるジョブ分割時の代行印刷処理手順に対応する。なお、Ｓ２０１〜Ｓ２１０は各ステップを示し、図３に示したＣＰＵ１１の制御の下で実行される。なお、このフローチャートも上述した状況を想定して記載されているが、特にこの状況に限定されるものではない。
【０１１７】
先ず、ステップＳ２０１において、出力管理部１０５が、印刷時（又はジョブ送信時）、プリンタ１にエラーが発生したことを検知すると、出力管理部１０５は、該エラー発生したプリンタは、代行印刷が設定してあるプリンタか否かを判定し、代行印刷が設定してあるプリンタでないと判断した場合には、処理を終了する。
【０１１８】
一方、ステップＳ２０１で、出力管理部１０５が、該エラー発生したプリンタは、代行印刷が設定してあるプリンタであると判断した場合には、ステップＳ２０３に進む。なお、以下、Ａ１印刷完了直後（Ａ２ジョブ送信開始時）にプリンタ１でエラーが発生した状況を例にして説明する。
【０１１９】
ステップＳ２０３において、出力管理部１０５が代行印刷を判断する（代行印刷させるプリンタを、設定されているプリンタの優先順位等から決定する）。
【０１２０】
次に、ステップＳ２０４において、出力管理部１０５は、ジョブＡ２をプリンタ２に代行させることを、情報管理部１０４に伝える。
【０１２１】
そして、情報管理部１０４は、出力管理部１０５からジョブＡ２をプリンタ２に代行させる情報を得たら、ステップＳ２０５において、代行させるか否かを判断する。この判断は、自動代行が指定されている場合や手動代行での問い合わせ結果が代行指示の場合は代行させるものと判断し、手動代行での問い合わせ結果が代行拒否の場合は代行させないものと判断する。
【０１２２】
情報管理部１０４が、代行させると判断した場合には、情報管理部１０４は、Ａ１，Ａ２，Ａ３がＡから分割されたもの（Ａ１，Ａ２，Ａ３→Ａ）と判断して、Ａ１，Ａ３に対してもプリンタ２に代行させるように管理データを書き換え（図１６の１９０１）、印刷命令を出力管理部１０５に出力する。
【０１２３】
そして、ステップＳ２０７において、出力管理部１０５は、設定されたプリンタ２にＡ１，Ａ２，Ａ３を代行印刷させ、処理を終了する。
【０１２４】
一方、ステップＳ２０５で、情報管理部１０４が、代行させないと判断した場合には、情報管理部１０４は、Ａ１，Ａ２，Ａ３がＡから分割されたもの（Ａ１，Ａ２，Ａ３→Ａ）と判断して、Ａ２，Ａ３に対してプリンタ２に代行はさせず、プリンタ１のエラーが直るまで出力しないように出力管理部１０５に命令を出す。
【０１２５】
そして、ステップＳ２０９において、プリンタ１が回復するまで待機し、回復したと判断した場合には、ステップＳ２１０において、情報管理部１０４は、設定されたプリンタ１に対して、Ａ２，Ａ３を送るように、出力管理部１０５に指示を出す。
【０１２６】
〔プリンタ分散印刷処理〕
以下、本実施形態のプリンタ分散印刷処理について説明する。なお、プリンタ分散印刷とは、空いているプリンタにジョブを次々と振り分ける分散印刷を示す。
【０１２７】
まず、ユーザが印刷データに図２に示したような分散・代行選択画面で分散印刷を設定した状態、又は予め情報管理部１０４にデフォルト設定としてプリンタ分散印刷が設定されている状態、又は出力管理部１０５でプリンタ分散印刷の設定になっている場合において、ユーザにとって印刷データＡから分割されて生成されたジョブＡ１，Ａ２，Ａ３が分散されてしまうことは好ましくない。
【０１２８】
そこで、本実施形態では、このような場合、出力管理部１０５がＡ１に対してプリンタ分散を判断すると、出力管理部１０５は、情報管理部１０４に印刷ジョブの情報、そのジョブをどのプリンタに分散するかを伝える（図１１の１７０１）。
【０１２９】
情報管理部１０４は保持している管理データからＡ１，Ａ２，Ａ３はＡから分割されたもの（Ａ１，Ａ２，Ａ３→Ａ）と判断する。そして、情報管理部１０４は、Ａ１，Ａ２，Ａ３の中で順位が一番上のジョブＡ１に設定された分散先がプリンタ１なので、残りのジョブ（Ａ２，Ａ３）の印刷情報が出力管理部１０５から通知されたら、残りのジョブ（Ａ２，Ａ３）を出力する先が他のプリンタになっていても、プリンタ１に設定しなおし（図１２の１７０２）、出力管理部１０５に対して印刷命令を出す。
【０１３０】
ここで、情報管理部１０４は、もしＡ１より先にＡ２の印刷情報（出力先）が通知されても、順位が一番上のＡ１の情報がまだきていないので、出力管理部１０５に印刷命令は出さない。Ａ１の印刷情報が通知され、Ａ２，Ａ３がＡ１と同じプリンタに分散されるように設定しなおした後、Ａ１からはじめに印刷命令を出力管理部１０５に出す。
【０１３１】
出力管理部１０５は、情報管理部１０４から印刷命令がきたら、そのまま適当なプリンタに分散する。
【０１３２】
もし、分割前のジョブが同一でないジョブの情報が出力管理部１０５から通知された場合は、該分割前のジョブが同一でないジョブは、別々のプリンタに分散させてもよい。例えばＢ１，Ｂ２，Ｂ３，Ｂ４は、Ａ１，Ａ２，Ａ３と別のプリンタに分散させてもよい。
【０１３３】
以上のように、情報管理部１０４が、分割前のジョブと分割後のジョブを関連付けてプリンタ分散制御するので、ユーザに対しては、分散印刷が行われた旨及び該分散されたプリンタを通知することができる。
【０１３４】
また、情報管理部１０４により、分割したジョブが別々のプリンタに分散してしまうことを防ぐことができる。
【０１３５】
以下、図２０のフローチャートを参照して、本発明の印刷管理システムにおけるプリンタ分散印刷の処理動作について説明する。
【０１３６】
図２０は、本発明の印刷管理システムにおける第３の制御処理手順の一例を示すフローチャートであり、図１に示した印刷管理サーバ１００におけるジョブ分割時のプリンタ分散印刷処理手順に対応する。なお、Ｓ３０１〜Ｓ３０７は各ステップを示し、図３に示したＣＰＵ１１の制御の下で実行される。なお、このフローチャートも上述した状況を想定して記載されているが、特にこの状況に限定されるものではない。
【０１３７】
先ず、ステップＳ３０１において、出力管理部１０５が、プリンタ分散に設定されているか否かを判断し、プリンタ分散に設定されていないと判定した場合には、他の処理に移行する。
【０１３８】
一方、ステップＳ３０１で、出力管理部１０５が、プリンタ分散に設定されていると判定した場合には、ステップＳ３０２において、出力管理部１０５は、情報管理部１０４に印刷ジョブの情報及び該ジョブをどのプリンタに分散するかを示す情報を伝える。例えば、出力管理部１０５は、Ａ１，Ａ２，Ａ３，Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｃのジョブを受けたこと、それぞれのジョブをどのプリンタに分散させるかを情報管理部１０４に伝える（図１１の１７０１）。
【０１３９】
次に、ステップＳ３０３において、情報管理部１０４は、情報管理部１０４の保持する管理データから、分割後のジョブが分割前のどのデータに対応するかそれぞれ判断する。例えば、分割後のジョブＡ１，Ａ２，Ａ３が分割前のデータＡに対応し（Ａ１，Ａ２，Ａ３→Ａ）、分割後のジョブＢ１，Ｂ２，Ｂ３，Ｂ４が分割前のデータＢに対応し（Ｂ１，Ｂ２，Ｂ３，Ｂ４→Ｂ）、ジョブＣは分割されていないことを判断する。
【０１４０】
次に、ステップＳ３０４において、情報管理部１０４は、情報管理部１０４に設定してあるデータ（分割前）に分散設定がなされているか否かを判断し（図９の１５０２から判断し）、分散設定がなされていると判断した場合には、ステップＳ３０５において、カレントのジョブを分散するプリンタが１番目のジョブと同じプリンタか否かを判断し、同じプリンタであると判断した場合には、ステップＳ３０７に進む。
【０１４１】
一方、ステップＳ３０５で、分散するプリンタが１番目のジョブと同じプリンタでないと判断した場合には、ステップＳ３０６において、情報管理部１０４の分割データに対して分散するプリンタの設定を１番目のデータと同じプリンタに分散設定し（図１２の１７０２）、ステップＳ３０７に進む。
【０１４２】
このように、情報管理部１０４は、Ａ１，Ａ２，Ａ３の中で順位が一番上のジョブＡ１に設定された分散先がプリンタ１である場合、残りのジョブ（Ａ２，Ａ３）の印刷情報が通知されたら、該残りのジョブ（Ａ２，Ａ３）の出力先が他のプリンタになっていても、プリンタ１に設定しなおす制御を行う。
【０１４３】
一方、ステップＳ３０４で、情報管理部１０４が、情報管理部１０４に設定してあるデータ（分割前）に分散設定がなされていないと判断した場合には、そのままステップＳ３０７に進む。
【０１４４】
そして、ステップＳ３０７において、情報管理部１０４は出力管理部１０５に印刷命令を出力し、処理を終了する。
【０１４５】
最後に、ステップＳ３０７では、情報管理部１０４は、出力管理部１０５に印刷命令を出し、処理を終了する。
【０１４６】
以上より、１つの印刷データより分割されたジョブが、別々のプリンタに分散して出力されてしまうことを防ぐことができる。
【０１４７】
〔ページ分散（割合分散）印刷処理〕
以下、図２１〜図２５を参照して、従来の代行印刷処理と比較しながら本実施形態におけるページ分散（割合分散）印刷処理について説明する。なお、ページ分散（割合分散）印刷とは、各プリンタへの負荷の係り具合を計算して負荷が均一になるように分散する印刷を示す。
【０１４８】
まず、ユーザが印刷データに図２に示したような分散・代行選択画面で分散印刷を設定した状態、又は予め情報管理部１０４にデフォルト設定としてページ分散（割合分散）印刷が設定されている状態、又は出力管理部１０５でページ分散（割合分散）印刷の設定になっている場合において、例えばプリンタ１，プリンタ２，プリンタ３に対して、１対１対２の割合でページ分割設定がされているとする。
【０１４９】
この場合、分割前のジョブＡと分割後のジョブＡ１，Ａ２，Ａ３を管理していないと、図２１，図２２に示すように、分割ジョブＡ１，Ａ２，Ａ３に対してそれぞれ、１対１対２の割合でページ分割されてしまう。それでは結果的に、印刷物の順番がおかしいものになってしまうことになる。
【０１５０】
そこで、本発明では上記の場合、図２３に示すように、まず出力管理部１０５が、情報管理部１０４にジョブの印刷情報及び出力管理部１０５に設定されている印刷の割合（図９の１５０１）を伝える。
【０１５１】
情報管理部１０４が、Ａ１，Ａ２，Ａ３がＡから分割されたジョブであると判断し、Ａ１，Ａ２，Ａ３の全ての印刷情報を受け取った時点で、分割前のジョブＡを出力管理部１０５から与えられた分散割合で分散させることを想定して、図２４に示すように、分割したジョブＡ１，Ａ２，Ａ３に対して、それぞれプリンタにどの割合で出せばいいかを計算する。
【０１５２】
情報管理部１０４は、この計算結果（図１０の１６０１）とともに、出力管理部１０５に対して印刷命令を出す。
【０１５３】
そして、出力管理部１０５は、プリンタへの出力を行い、それぞれのプリンタからの、分散させたジョブの印刷終了通知を情報管理部１０４に通知する。
【０１５４】
情報管理部１０４は、出力管理部１０５から戻ってきた分散ジョブの印刷終了通知と、上記で計算した結果から、分割したジョブＡ１，Ａ２，Ａ３の印刷終了を判断する。
【０１５５】
情報管理部１０４は、分割前のジョブＡの分割後のジョブＡ１，Ａ２，Ａ３の印刷終了通知が全て通知されたと判断したら、分割前のジョブＡの印刷終了通知をクライアントに出力する。これにより、ユーザに対して、分散印刷が行われた場合その旨、分散されたプリンタを通知することができる。
【０１５６】
以上により、割合分散時にユーザの意図しないプリンタに分散されるということはない。
【０１５７】
なお、データに対して新たに分散させないという設定がされていたら、情報管理部１０４は、情報管理部１０５から情報管理部１０４は分割後すべてのデータに対して、分散させないように設定する（または、分散設定のないプリンタに出力する）。
【０１５８】
以下、図２５のフローチャートを参照して、本発明の印刷管理システムにおけるページ分散（割合分散）印刷の処理動作について説明する。
【０１５９】
図２５は、本発明の印刷管理システムにおける第４の制御処理手順の一例を示すフローチャートであり、図１に示した印刷管理サーバ１００におけるジョブ分割時のプリンタ分散印刷処理手順に対応する。なお、Ｓ４０１〜Ｓ４１１は各ステップを示し、図３に示したＣＰＵ１１の制御の下で実行される。なお、このフローチャートも上述した状況を想定して記載されているが、特にこの状況に限定されるものではない。
【０１６０】
先ず、ステップＳ４０１において、出力管理部１０５が、割合分散に設定されているか否かを判断し、プリンタ分散に設定されていないと判定した場合には、他の処理に移行する。
【０１６１】
一方、ステップＳ４０１で、出力管理部１０５が、割合分散に設定されていると判定した場合には、ステップＳ４０２において、出力管理部１０５は、まず出力管理部１０５に設定されている印刷の割合（図９の１５０１）を情報管理部１０４に伝える。
【０１６２】
つぎに、ステップＳ４０３において、情報管理部１０４は、保持する管理データから当該ジョブが分割を行われているジョブか否かを判断し、分割が行われているジョブであると判定した場合には、ステップＳ４０４において、分割前のジョブを出力管理部１０５から与えられた分散割合で分散させるように、分割後のジョブに対してそれぞれ分割割合を計算し、この計算結果（図１０の１６０１）をもとに管理データを変更（再設定）する。
【０１６３】
次に、ステップＳ４０５において、情報管理部１０４は、分割ジョブに対して変更した分散の割合を出力管理部１０５に通知し、印刷命令を発行する。
【０１６４】
次に、ステップＳ４０６において、出力管理部１０５は、分割されたジョブに対して変更通知された分散の割合で分散させて出力させる。
【０１６５】
そして、ステップＳ４０７において、出力管理部１０５は、分散したものの印刷通知を受けたら、情報管理部１０４に印刷終了を通知する。
【０１６６】
そして、ステップＳ４０８において、情報管理部１０４は、分割後のジョブの印刷終了通知を全て受け取ったら、分割前のジョブ（例えばＡやＢ）の印刷終了通知を行い、管理データ内の分散の割合をデフォルトに戻し、処理を終了する。
【０１６７】
一方、ステップＳ４０３で、情報管理部１０４が、保持する管理データから当該ジョブが分割が行われていないジョブであると判定した場合には、ステップＳ４０９において、プリンタに設定された分散を行う（分散割合を変更することなく印刷命令を出す）。
【０１６８】
そして、ステップＳ４１０において、出力管理部１０５は、分散したものの印刷通知を受けたら、情報管理部１０４に印刷終了を通知する。
【０１６９】
そして、情報管理部１０４は、分割されていないジョブ（例えばＣ）の印刷終了通知を出力する（Ｓ４１１）。
【０１７０】
以上説明したように、情報管理部１０４は、分散や代行を管理する出力管理機能を持つ出力管理部１０５から印刷ジョブの情報をもらうことにより、そのジョブが分割したものであったら、分割前のジョブと分割後のジョブの情報を対応付けして判断し、出力管理部１０５の設定を変更することができる。
【０１７１】
情報管理部１０４は、分割前のジョブと分割後のジョブを対応付けて管理することが出来るため、分散や代行印刷の設定されたプリンタにジョブが送られても、ユーザの意図しない出力が行われることを防止することができる。
【０１７２】
さらに、出力管理部１０５と情報管理部１０４と情報を渡しあえるので、印刷中に障害が起きた場合、印刷状況をユーザが確認したい場合も、ユーザが分割後のデータだけでなく、分割前のデータの状況を瞬時に確認できるような表示をすることを可能にしている。
【０１７３】
また、情報管理部１０４は、データ分割部１０２と連携することによって元の分割前のジョブと分割後のジョブをファイルなどで管理することにより、対応付けすることが出来る。
【０１７４】
さらに、情報管理部１０４は、ジョブ生成部１０３と連携することによって、ジョブの情報を保持することができ、不本意なジョブ削除が行われたとき、ジョブを送信しなおす命令を出すことができる。
【０１７５】
また、情報管理部１０４は、出力管理部１０５と連携することによって、途中でジョブが分割されても、分割されたジョブに代行・分散設定がされていても、アプリケーションプログラムや利用者に対して、分割前の印刷終了通知を出すことができるので、送ったデータの数と返ってくる印刷終了通知の数が異なることはない。
【０１７６】
よって、情報管理部１０４で情報をしっかり管理しているため、正確な印刷処理のログを保存したりすることなども可能である。
【０１７７】
さらに、分散印刷失敗時の代行印刷、代行印刷失敗時の代行印刷など、さまざまな印刷パターンや障害にも対応できるようになっている。
【０１７８】
ユーザがジョブの状況を確認する際も、データ分割部１０２から、分割前のデータと分割後のデータを対応付けられる情報管理部１０４に印刷情報が伝えられ、情報管理部１０４は、ユーザに対して分割後のデータＡ１，Ａ２，Ａ３に対するそれぞれの印刷状況、分割前のデータＡに対する印刷状況（この場合は、例えば、現在実行中の分割データの印刷状況や、どの割合で印刷が進んでいるか、分散や代行が起こっているかなど）を、例えば図２６に示すようにクライアント１０１の表示部に表示することができる。（どのようなＯＳに対しても表示をすることができる）。
【０１７９】
よって、ユーザが送ったデータの数と最後に返ってくる通知の数が同じになり、ユーザは分割されたジョブに対して、それを気にすることなく分割前のデータの印刷状況を確認でき、さらに、分割前のデータと分割後のデータを対応付けて印刷状況を確認することができる。
【０１８０】
従って、分散・代行設定がされていても、情報管理部１０４が、分割前のジョブと分割後のジョブを対応付けて一括管理することにより、１つの印刷データから分割によりジョブが複数生成された場合でも、生成されたジョブともとのジョブとの対応を検知することができ、ユーザに分割を意識させることなく、印刷終了やジョブの印刷状況の確認を分割されなかったジョブと同様に行うことができる。
【０１８１】
従って、分散や代行などの機能を持ったプリンタに印刷を要求した場合でも、ユーザにとって意図しない不本意な印刷が行われることを防止することができ、分割されない状態で出力されたジョブと同様の印刷結果を得ることができる。
【０１８２】
なお、図７〜図１３，図１６，図１８の管理データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１８３】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１８４】
以下、図２７に示すメモリマップを参照して本発明に係る印刷管理システムを構成する装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１８５】
図２７は、本発明に係る印刷管理システムを構成する装置で読み取り（読み出し）可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１８６】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１８７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１８８】
本実施形態における図５，図６，図１９，図２０，図２５に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１８９】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１９０】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１９１】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１９２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１９５】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【産業上の利用可能性】
【０１９６】
情報管理部１０４が、印刷データに指定される印刷設定は、代行・分散に限られるものではなく、他の印刷設定が指定されていた場合でも、同様に、分割後の各印刷データから生成された各印刷ジョブを、分割前の印刷データから生成される印刷ジョブとみなして印刷設定に応じた１又は複数の印刷装置へ出力するように、出力管理部１０５による前記分割後の各印刷データから生成された各印刷ジョブの出力先を変更制御することにより、分割されたデータの各種印刷設定に応じた処理にも適用できる。
【図面の簡単な説明】
【０１９７】
【図１】本発明の一実施形態を示す印刷管理システムの構成を示すブロック図である。
【図２】分散代行選択画面の一例を示す模式図である。
【図３】割合分割分散の設定画面の一例を示す模式図である。
【図４】図１に示した印刷管理サーバの構成を示すブロック図である。
【図５】本発明の印刷管理システムにおける第１の制御処理手順の一例を示すフローチャートである。
【図６】本発明の印刷管理システムにおける第１の制御処理手順の一例を示すフローチャートである。
【図７】情報管理部が保持する管理データの一例を示す模式図である。
【図８】情報管理部が保持する管理データの一例を示す模式図である。
【図９】情報管理部が保持する管理データの一例を示す模式図である。
【図１０】情報管理部が保持する管理データの一例を示す模式図である。
【図１１】情報管理部が保持する管理データの一例を示す模式図である。
【図１２】情報管理部が保持する管理データの一例を示す模式図である。
【図１３】情報管理部が保持する管理データの一例を示す模式図である。
【図１４】従来の代行印刷シーケンスを示す模式図である。
【図１５】本発明の代行印刷シーケンスを示す模式図である。
【図１６】情報管理部が保持する管理データの一例を示す模式図である。
【図１７】本発明の代行印刷シーケンスを示す模式図である。
【図１８】情報管理部が保持する管理データの一例を示す模式図である。
【図１９】本発明の印刷管理システムにおける第２の制御処理手順の一例を示すフローチャートである。
【図２０】本発明の印刷管理システムにおける第３の制御処理手順の一例を示すフローチャートである。
【図２１】従来の割合分散印刷シーケンスを示す模式図である。
【図２２】従来の割合分散印刷を説明する模式図である。
【図２３】本発明の割合分散印刷シーケンスを示す模式図である。
【図２４】本発明の割合分散印刷を説明する模式図である。
【図２５】本発明の印刷管理システムにおける第４の制御処理手順の一例を示すフローチャートである。
【図２６】本発明の印刷管理システムにおける印刷ジョブ確認画面の一例を示す模式図である。
【図２７】本発明に係る印刷管理システムを構成する装置で読み取り（読み出し）可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０１９８】
１００  印刷管理サーバ
１０１  クライアント
１０２  データ分割部
１０３  ジョブ生成部
１０４  出力管理部
１０５  情報管理部
１０６  プリンタ
【図１】
2005190418.tif 000003
【図２】
2005190418.tif 000004
【図３】
2005190418.tif 000005
【図４】
2005190418.tif 000006
【図５】
2005190418.tif 000007
【図６】
2005190418.tif 000008
【図７】
2005190418.tif 000009
【図８】
2005190418.tif 000010
【図９】
2005190418.tif 000011
【図１０】
2005190418.tif 000012
【図１１】
2005190418.tif 000013
【図１２】
2005190418.tif 000014
【図１３】
2005190418.tif 000015
【図１４】
2005190418.tif 000016
【図１５】
2005190418.tif 000017
【図１６】
2005190418.tif 000018
【図１７】
2005190418.tif 000019
【図１８】
2005190418.tif 000020
【図１９】
2005190418.tif 000021
【図２０】
2005190418.tif 000022
【図２１】
2005190418.tif 000023
【図２２】
2005190418.tif 000024
【図２３】
2005190418.tif 000025
【図２４】
2005190418.tif 000026
【図２５】
2005190418.tif 000027
【図２６】
2005190418.tif 000028
【図２７】
2005190418.tif 000029