(57)【特許請求の範囲】
【請求項１】
原印刷ジョブを分散させる分散処理を実行する分散元装置と、前記分散元装置から供給される複数の分散済み印刷ジョブのそれぞれに従って印刷を実行する複数台の分散先印刷装置と、を備える印刷システムにおいて利用される第１の分散先印刷装置であって、
印刷を実行する印刷実行部と、
前記分散元装置から供給される第１の分散済み印刷ジョブを取得し、前記印刷実行部に前記第１の分散済み印刷ジョブを与えるための印刷ジョブ処理部と、
を備え、
前記印刷ジョブ処理部は、
前記複数台の分散先印刷装置のうち、前記第１の分散先印刷装置と同じグループに属する第２の分散先印刷装置を特定する装置特定情報を前記分散元装置から取得する装置情報取得部と、
前記第１の分散先印刷装置が前記第１の分散済み印刷ジョブに従った印刷を続行できない場合に、前記第１の分散済み印刷ジョブのうちの未実行の印刷ジョブである第１の未実行印刷ジョブを生成し、前記第１の未実行印刷ジョブを前記装置特定情報によって特定される前記第２の分散先印刷装置に供給する未実行印刷ジョブ生成部と、
を備え、
前記印刷ジョブ処理部は、前記分散元装置から前記第２の分散先印刷装置に供給された第２の分散済み印刷ジョブのうちの未実行の印刷ジョブである第２の未実行印刷ジョブを、前記第２の分散先印刷装置から取得する場合には、前記印刷実行部に前記第２の未実行印刷ジョブを与え、
前記原印刷ジョブは、複数のページの印刷の実行を要求し、
前記第１の分散済み印刷ジョブは、前記複数のページのうちの第１の部分のページの印刷の実行を要求すると共に、前記第１の部分のページが印刷される各印刷済み媒体が第１の状態であって、前記各印刷済み媒体の印刷面が第１の方向を向き、前記各印刷済み媒体が前記第１の方向から該第１の方向の反対の方向である第２の方向に向けて昇順に並ぶ前記第１の状態で出力されることを要求し、
前記第２の分散済み印刷ジョブは、前記複数のページのうちの前記第１の部分と異なり前記第１の部分のページに続く第２の部分のページの印刷の実行を要求すると共に、前記第２の部分のページが印刷される各印刷済み媒体が第２の状態であって、前記各印刷済み媒体の印刷面が前記第２の方向を向き、前記各印刷済み媒体が前記第１の方向から前記第２の方向に向けて降順に並ぶ前記第２の状態で出力されることを要求し、
前記第１の未実行印刷ジョブは、前記第１の部分のページのうちの前記第２の部分のページの直前の未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第２の状態で出力されることを要求し、
前記第１の部分のページと前記第２の部分のページとは連続しており、前記第１の部分のページの方が前記第２の部分のページよりも若いページである、
第１の分散先印刷装置。
【請求項２】
請求項１記載の第１の分散先印刷装置であって、
前記各分散済み印刷ジョブは、
昇順に並んだ前記複数のページの画像を表す第１種の前記印刷データと、
降順に並んだ前記複数のページの画像を表す第２種の前記印刷データと、
前記２種類の印刷データのうちの前記各分散先印刷装置で利用されるべき一方の印刷データを示す印刷データ指定情報と、
を含み、
前記第１の未実行印刷ジョブは、前記第１の分散済み印刷ジョブに含まれる前記印刷データ指定情報を変更することによって生成される、第１の分散先印刷装置。
【請求項３】
請求項１記載の第１の分散先印刷装置であって、
前記各分散済み印刷ジョブは、
所定の順序で並んだ前記複数のページの画像を表す前記印刷データと、
前記各分散先印刷装置で印刷される前記各印刷済み媒体の出力順序を示す出力順序指定情報と、
を含み、
前記第１の未実行印刷ジョブは、前記第１の分散済み印刷ジョブに含まれる前記出力順序指定情報を変更することによって生成される、第１の分散先印刷装置。
【請求項４】
請求項１ないし３のいずれかに記載の第１の分散先印刷装置であって、
前記各分散済み印刷ジョブは、前記複数のページの画像を表す印刷データを含んでおり、
前記第２の分散先印刷装置では、前記第２の分散済み印刷ジョブに従った印刷が完了した場合には前記第２の分散済み印刷ジョブが削除され、
前記未実行印刷ジョブ生成部は、前記第２の分散先印刷装置に、前記第１の分散済み印刷ジョブを用いて生成され、前記印刷データを含む前記第１の未実行印刷ジョブを供給する、第１の分散先印刷装置。
【請求項５】
請求項１ないし３のいずれかに記載の第１の分散先印刷装置であって、
前記各分散済み印刷ジョブは、前記複数のページの画像を表す印刷データを含んでおり、
前記第２の分散先印刷装置では、前記第１の分散先印刷装置で前記第１の分散済み印刷ジョブに従った印刷が完了するまで、前記第２の分散済み印刷ジョブが保持され、
前記未実行印刷ジョブ生成部は、前記第２の分散先印刷装置に、前記第１の分散済み印刷ジョブを用いて生成され、前記印刷データを含まない前記第１の未実行印刷ジョブを供給する、第１の分散先印刷装置。
【請求項６】
請求項１ないし５のいずれかに記載の第１の分散先印刷装置であって、
前記装置特定情報は、前記第１の分散済み印刷ジョブに含まれる、第１の分散先印刷装置。
【請求項７】
請求項１ないし６のいずれかに記載の第１の分散先印刷装置であって、
前記グループは、前記第１の分散先印刷装置と前記第２の分散先印刷装置とで構成される、第１の分散先印刷装置。
【請求項８】
請求項１ないし７のいずれかに記載の第１の分散先印刷装置であって、
前記第１の分散先印刷装置は、前記分散元装置を含む、第１の分散先印刷装置。
【請求項９】
印刷システムであって、
請求項１ないし８のいずれかに記載の前記第１の分散先印刷装置を含む前記複数台の分散先印刷装置と、
前記分散元装置と、
を備えることを特徴とする印刷システム。
【請求項１０】
原印刷ジョブを分散させる分散処理を実行する分散元装置と、前記分散元装置から供給される複数の分散済み印刷ジョブのそれぞれに従って印刷を実行する複数台の分散先印刷装置と、を備える印刷システムにおいて利用され、印刷を実行する印刷実行部を備える第１の分散先印刷装置の処理方法であって、
（ａ）前記分散元装置から供給される第１の分散済み印刷ジョブを取得し、前記印刷実行部に前記第１の分散済み印刷ジョブを与える工程と、
（ｂ）前記複数台の分散先印刷装置のうち、前記第１の分散先印刷装置と同じグループに属する第２の分散先印刷装置を特定する装置特定情報を前記分散元装置から取得する工程と、
（ｃ）前記第１の分散先印刷装置が前記第１の分散済み印刷ジョブに従った印刷を続行できない場合に、前記第１の分散済み印刷ジョブのうちの未実行の印刷ジョブである第１の未実行印刷ジョブを生成し、前記第１の未実行印刷ジョブを前記装置特定情報によって特定される前記第２の分散先印刷装置に供給する工程と、
（ｄ）前記分散元装置から前記第２の分散先印刷装置に供給された第２の分散済み印刷ジョブのうちの未実行の印刷ジョブである第２の未実行印刷ジョブを、前記第２の分散先印刷装置から取得する場合には、前記印刷実行部に前記第２の未実行印刷ジョブを与える工程と、を備え、
前記原印刷ジョブは、複数のページの印刷の実行を要求し、
前記第１の分散済み印刷ジョブは、前記複数のページのうちの第１の部分のページの印刷の実行を要求すると共に、前記第１の部分のページが印刷される各印刷済み媒体が第１の状態であって、前記各印刷済み媒体の印刷面が第１の方向を向き、前記各印刷済み媒体が前記第１の方向から該第１の方向の反対の方向である第２の方向に向けて昇順に並ぶ前記第１の状態で出力されることを要求し、
前記第２の分散済み印刷ジョブは、前記複数のページのうちの前記第１の部分と異なり前記第１の部分のページに続く第２の部分のページの印刷の実行を要求すると共に、前記第２の部分のページが印刷される各印刷済み媒体が第２の状態であって、前記各印刷済み媒体の印刷面が前記第２の方向を向き、前記各印刷済み媒体が前記第１の方向から前記第２の方向に向けて降順に並ぶ前記第２の状態で出力されることを要求し、
前記第１の未実行印刷ジョブは、前記第１の部分のページのうちの前記第２の部分のページの直前の未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第２の状態で出力されることを要求し、
前記第１の部分のページと前記第２の部分のページとは連続しており、前記第１の部分のページの方が前記第２の部分のページよりも若いページである
処理方法。
【請求項１１】
原印刷ジョブを分散させる分散処理を実行する分散元装置と、前記分散元装置から供給される複数の分散済み印刷ジョブのそれぞれに従って印刷を実行する複数台の分散先印刷装置と、を備える印刷システムにおいて利用され、印刷を実行する印刷実行部を備える第１の分散先印刷装置に処理を実行させるためのコンピュータプログラムであって、
前記分散元装置から供給される第１の分散済み印刷ジョブを取得し、前記印刷実行部に前記第１の分散済み印刷ジョブを与える機能と、
前記複数台の分散先印刷装置のうち、前記第１の分散先印刷装置と同じグループに属する第２の分散先印刷装置を特定する装置特定情報を前記分散元装置から取得する機能と、
前記第１の分散先印刷装置が前記第１の分散済み印刷ジョブに従った印刷を続行できない場合に、前記第１の分散済み印刷ジョブのうちの未実行の印刷ジョブである第１の未実行印刷ジョブを生成し、前記第１の未実行印刷ジョブを前記装置特定情報によって特定される前記第２の分散先印刷装置に供給する機能と、
前記分散元装置から前記第２の分散先印刷装置に供給された第２の分散済み印刷ジョブのうちの未実行の印刷ジョブである第２の未実行印刷ジョブを、前記第２の分散先印刷装置から取得する場合には、前記印刷実行部に前記第２の未実行印刷ジョブを与える機能と、を前記第１の分散先印刷装置に実現させることを特徴とするコンピュータプログラムであり、
前記原印刷ジョブは、複数のページの印刷の実行を要求し、
前記第１の分散済み印刷ジョブは、前記複数のページのうちの第１の部分のページの印刷の実行を要求すると共に、前記第１の部分のページが印刷される各印刷済み媒体が第１の状態であって、前記各印刷済み媒体の印刷面が第１の方向を向き、前記各印刷済み媒体が前記第１の方向から該第１の方向の反対の方向である第２の方向に向けて昇順に並ぶ前記第１の状態で出力されることを要求し、
前記第２の分散済み印刷ジョブは、前記複数のページのうちの前記第１の部分と異なり前記第１の部分のページに続く第２の部分のページの印刷の実行を要求すると共に、前記第２の部分のページが印刷される各印刷済み媒体が第２の状態であって、前記各印刷済み媒体の印刷面が前記第２の方向を向き、前記各印刷済み媒体が前記第１の方向から前記第２の方向に向けて降順に並ぶ前記第２の状態で出力されることを要求し、
前記第１の未実行印刷ジョブは、前記第１の部分のページのうちの前記第２の部分のページの直前の未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第２の状態で出力されることを要求し、
前記第１の部分のページと前記第２の部分のページとは連続しており、前記第１の部分のページの方が前記第２の部分のページよりも若いページである
コンピュータプログラム。
【請求項１２】
請求項１１記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを複数のプリンタに分散させる分散印刷の技術に関する。
【背景技術】
【０００２】
分散印刷システムでは、通常、サーバと複数のプリンタとがネットワークを介して接続されており、サーバがコンピュータから受け取った印刷ジョブを複数の分散先プリンタに分散させる。これにより、複数の分散先プリンタにおいて印刷ジョブに従った印刷が行われる。
【０００３】
特許文献１では、紙詰まりによってプリンタ対の一方でジョブの実行が停止したときに、サーバが、プリンタ対の他方に未出力部分のジョブを再作成して送信することが開示されている。
【０００４】
【特許文献１】特開２００２−２６８８５０号公報
【特許文献２】特開２００４−１８１６４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の技術では、未出力部分のジョブはサーバによって再作成されているため、サーバが必要となってしまうという問題があった。
【０００６】
本発明は、上述の課題を解決するためになされたものであり、第１の分散先印刷装置が印刷ジョブに従った印刷の続行ができない場合に、サーバを利用せずに、第２の分散先印刷装置に未実行の印刷ジョブを実行させることを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題の少なくとも一部を解決するため、本発明の第１の装置は、原印刷ジョブを分散させる分散処理を実行する分散元装置と、前記分散元装置から供給される複数の分散済み印刷ジョブのそれぞれに従って印刷を実行する複数台の分散先印刷装置と、を備える印刷システムにおいて利用される第１の分散先印刷装置であって、
印刷を実行する印刷実行部と、
前記分散元装置から供給される第１の分散済み印刷ジョブを取得し、前記印刷実行部に前記第１の分散済み印刷ジョブを与えるための印刷ジョブ処理部と、
を備え、
前記印刷ジョブ処理部は、
前記複数台の分散先印刷装置のうち、前記第１の分散先印刷装置と同じグループに属する第２の分散先印刷装置を特定する装置特定情報を前記分散元装置から取得する装置情報取得部と、
前記第１の分散先印刷装置が前記第１の分散済み印刷ジョブに従った印刷を続行できない場合に、前記第１の分散済み印刷ジョブのうちの未実行の印刷ジョブである第１の未実行印刷ジョブを生成し、前記第１の未実行印刷ジョブを前記装置特定情報によって特定される前記第２の分散先印刷装置に供給する未実行印刷ジョブ生成部と、
を備え、
前記印刷ジョブ処理部は、前記分散元装置から前記第２の分散先印刷装置に供給された第２の分散済み印刷ジョブのうちの未実行の印刷ジョブである第２の未実行印刷ジョブを、前記第２の分散先印刷装置から取得する場合には、前記印刷実行部に前記第２の未実行印刷ジョブを与え、
前記原印刷ジョブは、複数のページの印刷の実行を要求し、
前記第１の分散済み印刷ジョブは、前記複数のページのうちの第１の部分のページの印刷の実行を要求すると共に、前記第１の部分のページが印刷される各印刷済み媒体が第１の状態であって、前記各印刷済み媒体の印刷面が第１の方向を向き、前記各印刷済み媒体が前記第１の方向から該第１の方向の反対の方向である第２の方向に向けて昇順に並ぶ前記第１の状態で出力されることを要求し、
前記第２の分散済み印刷ジョブは、前記複数のページのうちの前記第１の部分と異なり前記第１の部分のページに続く第２の部分のページの印刷の実行を要求すると共に、前記第２の部分のページが印刷される各印刷済み媒体が第２の状態であって、前記各印刷済み媒体の印刷面が前記第２の方向を向き、前記各印刷済み媒体が前記第１の方向から前記第２の方向に向けて降順に並ぶ前記第２の状態で出力されることを要求し、
前記第１の未実行印刷ジョブは、前記第１の部分のページのうちの前記第２の部分のページの直前の未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第２の状態で出力されることを要求し、
前記第１の部分のページと前記第２の部分のページとは連続しており、前記第１の部分のページの方が前記第２の部分のページよりも若いページであることを特徴とする。
【０００８】
第１の分散先印刷装置では、第１の分散済み印刷ジョブに従った印刷を続行できない場合には第１の未実行印刷ジョブを生成し、該第１の未実行印刷ジョブを装置特定情報によって特定される第２の分散先印刷装置に供給することができる。これにより、第１の分散先印刷装置が第１の分散済み印刷ジョブに従った印刷を続行できない場合に、サーバとしての機能を有する分散元装置を利用せずに、第２の分散先印刷装置に第１の未実行印刷ジョブを実行させることが可能となる。
【０００９】
上記の装置において、
前記印刷ジョブ処理部は、前記分散元装置から前記第２の分散先印刷装置に供給された第２の分散済み印刷ジョブのうちの未実行の印刷ジョブである第２の未実行印刷ジョブを、前記第２の分散先印刷装置から取得する場合には、前記印刷実行部に前記第２の未実行印刷ジョブを与えることが好ましい。
【００１０】
こうすれば、第１の分散先印刷装置は、第２の分散先印刷装置から第２の未実行印刷ジョブを取得した場合に、第２の未実行印刷ジョブに従った印刷を実行することができる。
【００１１】
上記の装置において、
前記原印刷ジョブは、複数のページの印刷の実行を要求し、
前記第１の分散済み印刷ジョブは、前記複数のページのうちの第１の部分のページの印刷の実行を要求し、
前記第２の分散済み印刷ジョブは、前記複数のページのうちの前記第１の部分と異なる第２の部分のページの印刷の実行を要求し、
前記第１の未実行印刷ジョブは、前記第１の部分のページのうちの未印刷のページの印刷の実行を要求するようにしてもよい。
【００１２】
上記の装置において、
前記第１の分散済み印刷ジョブは、前記第１の部分のページの印刷の実行を要求すると共に、前記第１の部分のページが印刷される各印刷済み媒体が第１の状態であって、前記各印刷済み媒体の所定面が第１の方向を向き、前記各印刷済み媒体が昇順に並ぶ前記第１の状態で出力されることを要求し、
前記第２の分散済み印刷ジョブは、前記第１の部分のページに続く前記第２の部分のページの印刷の実行を要求すると共に、前記第２の部分のページが印刷される各印刷済み媒体が第２の状態であって、前記各印刷済み媒体の所定面が前記第１の方向と異なる第２の方向を向き、前記各印刷済み媒体が降順に並ぶ前記第２の状態で出力されることを要求し、
前記第１の未実行印刷ジョブは、前記第１の部分のページのうちの前記第２の部分のページの直前の前記未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第２の状態で出力されることを要求することが好ましい。
【００１３】
こうすれば、第１および第２の分散先印刷装置に、ページの連続性が保たれた状態で、各印刷済み媒体を出力させることができる。
【００１４】
上記の装置において、
前記各分散済み印刷ジョブは、
昇順に並んだ前記複数のページの画像を表す第１種の前記印刷データと、
降順に並んだ前記複数のページの画像を表す第２種の前記印刷データと、
前記２種類の印刷データのうちの前記各分散先印刷装置で利用されるべき一方の印刷データを示す印刷データ指定情報と、
を含み、
前記第１の未実行印刷ジョブは、前記第１の分散済み印刷ジョブに含まれる前記印刷データ指定情報を変更することによって生成されるようにしてもよい。
【００１５】
あるいは、上記の装置において、
前記各分散済み印刷ジョブは、
所定の順序で並んだ前記複数のページの画像を表す前記印刷データと、
前記各分散先印刷装置で印刷される前記各印刷済み媒体の出力順序を示す出力順序指定情報と、
を含み、
前記第１の未実行印刷ジョブは、前記第１の分散済み印刷ジョブに含まれる前記出力順序指定情報を変更することによって生成されるようにしてもよい。
【００１６】
上記の装置において、
前記各分散済み印刷ジョブは、前記複数のページの画像を表す印刷データを含んでおり、
前記第２の分散先印刷装置では、前記第２の分散済み印刷ジョブに従った印刷が完了した場合には前記第２の分散済み印刷ジョブが削除され、
前記未実行印刷ジョブ生成部は、前記第２の分散先印刷装置に、前記第１の分散済み印刷ジョブを用いて生成され、前記印刷データを含む前記第１の未実行印刷ジョブを供給することが好ましい。
【００１７】
こうすれば、第２の分散先印刷装置において第２の分散済み印刷ジョブが削除された後にも、第１の分散先印刷装置の未実行印刷ジョブ生成部は、第２の分散先印刷装置に第１の未実行印刷ジョブに従った印刷を実行させることができる。
【００１８】
あるいは、上記の装置において、
前記各分散済み印刷ジョブは、前記複数のページの画像を表す印刷データを含んでおり、
前記第２の分散先印刷装置では、前記第１の分散先印刷装置で前記第１の分散済み印刷ジョブに従った印刷が完了するまで、前記第２の分散済み印刷ジョブが保持され、
前記未実行印刷ジョブ生成部は、前記第２の分散先印刷装置に、前記第１の分散済み印刷ジョブを用いて生成され、前記印刷データを含まない前記第１の未実行印刷ジョブを供給することが好ましい。
【００１９】
このように、第１の分散先印刷装置における印刷が完了するまで、第２の分散先印刷装置において第２の分散済み印刷ジョブが保持されれば、第１の分散先印刷装置の未実行印刷ジョブ生成部は、印刷データを含まない第１の未実行印刷ジョブを第２の分散先印刷装置に供給することができるため、第１の未実行印刷ジョブのサイズをかなり小さくすることができる。
【００２０】
上記の装置において、
前記装置特定情報は、前記第１の分散済み印刷ジョブに含まれるようにしてもよい。
【００２１】
上記の装置において、
前記グループは、前記第１の分散先印刷装置と前記第２の分散先印刷装置とで構成されるようにしてもよい。
【００２２】
上記の装置において、
前記第１の分散先印刷装置は、前記分散元装置を含むようにしてもよい。
【００２３】
こうすれば、サーバとしての機能を有する分散元装置を独立して設けずに済む。
【００２４】
本発明の第２の装置は、印刷システムであって、
上記のいずれかに記載の前記第１の分散先印刷装置を含む前記複数台の分散先印刷装置と、
前記分散元装置と、
を備えることを特徴とする。
【００２５】
なお、本発明は、他の態様でも実現可能である。例えば、本発明の第３の装置は、分散元装置であって、
原印刷ジョブから複数の分散済み印刷ジョブを生成し、前記複数の分散済み印刷ジョブを複数台の分散先印刷装置に供給するための分散処理部を備え、
前記分散処理部は、
前記複数台の分散先印刷装置のうちの少なくとも２台の分散先印刷装置を含むグループを設定し、前記グループに属する第１の分散先印刷装置に、前記グループに属する第２の分散先印刷装置を特定する装置特定情報を供給する装置特定情報供給部を備えることを特徴とする。
【００２６】
この発明は、種々の形態で実現することが可能であり、分散先印刷装置および該装置の処理方法、印刷システムおよび該システムに含まれる分散先印刷装置の処理方法、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００２７】
次に、本発明の実施の形態を実施例に基づき以下の順序で説明する。
Ａ．第１実施例：
Ａ−１．分散印刷システムの構成：
Ａ−１−１．パーソナルコンピュータの構成：
Ａ−１−２．プリンタの構成：
Ａ−２．印刷処理：
Ａ−２−１．印刷処理の概要：
Ａ−２−２．通信データ：
Ａ−２−３．分散元プリンタの処理：
Ａ−２−４．分散先プリンタの処理：
Ａ−３．第１実施例の変形例：
Ａ−３−１．印刷処理の概要：
Ａ−３−２．通信データ：
Ａ−３−３．分散元プリンタの処理：
Ａ−３−４．分散先プリンタの処理：
Ｂ．第２実施例：
Ｂ−１．印刷処理の概要：
Ｂ−２．通信データ：
Ｂ−３．分散元プリンタの処理：
Ｂ−４．分散先プリンタの処理：
【００２８】
Ａ．第１実施例：
Ａ−１．分散印刷システムの構成：
図１は、分散印刷システムを示す説明図である。分散印刷システムは、パーソナルコンピュータＰＣと、複数のプリンタＰＲＴ１〜ＰＲＴ５と、を備えており、各機器は、ローカルエリアネットワーク（ＬＡＮ）ＮＷを介して互いに接続されている。
【００２９】
各機器間の通信は、ＴＣＰ／ＩＰプロトコルによって実現されており、各機器には、ＩＰアドレスが予め割り当てられている。図１では、コンピュータＰＣには、ＩＰアドレス「ＩＰｃ」が割り当てられており、プリンタＰＲＴ１〜ＰＲＴ５には、ＩＰアドレス「ＩＰ１」〜「ＩＰ５」がそれぞれ割り当てられている。なお、ＩＰアドレスは、実際には、ネットワークＮＷに接続されるネットワークボードなどのノードに割り当てられている。
【００３０】
図１では、第１のプリンタＰＲＴ１には、第１種のネットワークボードＮＢａが搭載されており、他のプリンタＰＲＴ２〜ＰＲＴ５には、第２種のネットワークボードＮＢｂが搭載されている。各ネットワークボードＮＢａ，ＮＢｂは、ネットワークＮＷを介して、通信データを遣り取りするためのインタフェースである。特に、第１種のネットワークボードＮＢａは、コンピュータＰＣから与えられた分散対象の印刷ジョブを複数のプリンタに分散させる分散処理を実行する機能を有する。第１種のネットワークボードＮＢａが搭載されたプリンタは、分散元のプリンタとして機能し得ると共に、分散先のプリンタとして機能し得る。一方、第２種のネットワークボードＮＢｂが搭載されたプリンタは、分散先のプリンタとしてのみ機能し得る。
【００３１】
図１では、コンピュータＰＣから分散元プリンタＰＲＴ１に与えられた分散対象の印刷ジョブが、４つの分散先プリンタＰＲＴ１〜ＰＲＴ４に分散されるときの通信データＤＴ０〜ＤＴ４の遣り取りが示されている。
【００３２】
図２は、通信データの構造を模式的に示す説明図である。図示するように、通信データは、ヘッダ部とデータ部とを含んでいる。
【００３３】
ヘッダ部は、送信元ＩＰアドレスと、送信先ＩＰアドレスと、送信元ポート番号と、送信先ポート番号と、を含んでいる。送信元ＩＰアドレスは、通信データを送信する送信元機器のＩＰアドレスを示し、送信先ＩＰアドレスは、通信データを受信する送信先機器のＩＰアドレスを示す。送信元ポート番号は、送信元機器内におけるソフトウェアを特定するポート番号を示し、送信先ポート番号は、送信先機器内におけるソフトウェアを特定するポート番号を示す。
【００３４】
データ部は、印刷ジョブを含んでいる。印刷ジョブは、後述するように、制御データと印刷データとを含んでいる。印刷データは、複数のページの画像を表すデータであり、ESC/pageやPostscriptなどのページ記述言語で記述されている。制御データは、印刷ジョブの属性や印刷データを用いた印刷を実行する際に必要なコマンドなどを含んでおり、所定のジョブ制御言語（本実施例ではEpson Job Language）を用いて記述されている。
【００３５】
図１において、コンピュータＰＣは、まず、分散元プリンタＰＲＴ１に対して分散対象の印刷ジョブＪＢ０を含む通信データＤＴ０を送信する。通信データＤＴ０（図１）には、送信先ＩＰアドレス「ＩＰ１」と、送信先ポート番号「５９１００」と、が含まれている。
【００３６】
なお、本実施例では、印刷プロトコルとして無手順プロトコルが用いられている。無手順プロトコルでは、通常、ポート番号として「９１００」が割り当てられている。本実施例では、コンピュータＰＣから分散元プリンタＰＲＴ１に印刷ジョブを送信する際には、ポート番号として通常の「９１００」に代えて「５９１００」が用いられる。
【００３７】
分散元プリンタＰＲＴ１の第１種のネットワークボードＮＢａは、通信データＤＴ０を受信すると、ポート番号「５９１００」に待機しているソフトウェアに分散対象の印刷ジョブＪＢ０を渡す。ポート番号「５９１００」には、分散対象の印刷ジョブを分散させるための分散処理用ソフトウェアが待機している。図１では、分散処理用ソフトウェアは、自己のプリンタＰＲＴ１を含む４つのプリンタＰＲＴ１〜ＰＲＴ４を分散先プリンタとして決定している。そして、分散処理用ソフトウェアは、分散済みの印刷ジョブＪＢ１〜ＪＢ４をそれぞれ含む通信データＤＴ１〜ＤＴ４を生成し、分散先プリンタＰＲＴ１〜ＰＲＴ４に送信する。通信データＤＴ１〜ＤＴ４では、送信先ＩＰアドレスとして「ＩＰ１」，「ＩＰ２」，「ＩＰ３」，「ＩＰ４」がそれぞれ設定されており、送信先ポート番号として「９１００」が設定されている。
【００３８】
分散先プリンタＰＲＴ２の第２種のネットワークボードＮＢｂは、通信データＤＴ２を受信すると、ポート番号「９１００」に待機しているソフトウェアに分散済みのジョブＪＢ２を渡す。前述したように、ポート番号「９１００」は、印刷プロトコルである無手順プロトコルに対して通常割り当てられているポート番号であり、ポート番号「９１００」には、受け取った印刷ジョブを処理するためのジョブ処理用ソフトウェアが待機している。ジョブ処理用ソフトウェアは、分散済み印刷ジョブＪＢ２をプリンタＰＲＴ２内のコントローラに渡し、この結果、プリンタＰＲＴ２では、印刷ジョブＪＢ２に従った印刷が実行される。なお、他の分散先プリンタＰＲＴ１，ＰＲＴ３，ＰＲＴ４においても、分散先プリンタＰＲＴ２と同様に、分散済みの印刷ジョブに従った印刷が実行される。
【００３９】
本実施例では、コンピュータＰＣは、複数のページの印刷を要求する印刷ジョブＪＢ０を分散元プリンタＰＲＴ１に与える。そして、分散元プリンタＰＲＴ１は、複数のページのうちの互いに異なる一部のページの印刷を要求する印刷ジョブＪＢ１〜ＪＢ４を分散先プリンタＰＲＴ１〜ＰＲＴ４に与える。これにより、４台の分散先プリンタによって複数のページの画像が印刷される。また、本実施例では、いずれかの分散先プリンタが印刷を続行できない場合には、他の分散先プリンタが代わりに印刷を続行する。
【００４０】
なお、以下では、分散対象の印刷ジョブ（ＪＢ０）を単に「原ジョブ」とも呼び、実行対象の分散済み印刷ジョブ（ＪＢ１〜ＪＢ４）を単に「分散ジョブ」とも呼ぶ。
【００４１】
Ａ−１−１．パーソナルコンピュータの構成：
図３は、図１のコンピュータＰＣの内部構成を示す説明図である。コンピュータＰＣは、ＣＰＵ１１０と、ＲＯＭやＲＡＭなどの内部記憶装置１２０と、外部記憶装置１５０と、表示部１６０と、マウスやキーボードなどの操作部１７０と、通信インタフェース部（通信ＩＦ部）１９０と、を備えている。
【００４２】
内部記憶装置１２０には、印刷ジョブ生成部１３０として機能するコンピュータプログラム（プリンタドライバ）が格納されている。印刷ジョブ生成部１３０は、ユーザからの指示に従って、分散対象の印刷ジョブ（原ジョブ）を生成する。そして、印刷ジョブ生成部１３０は、原ジョブを通信ＩＦ部１９０を介して分散元プリンタＰＲＴ１に供給する。印刷ジョブ生成部１３０の機能は、ＣＰＵ１１０がコンピュータプログラム（プリンタドライバ）を実行することによって実現される。コンピュータプログラムは、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録された形態で提供される。
【００４３】
Ａ−１−２．プリンタの構成：
図４は、図１の第１および第２のプリンタＰＲＴ１，ＰＲＴ２の内部構成を示す説明図である。
【００４４】
第１のプリンタＰＲＴ１は、プリンタ本体ＰＲＢと、前述の第１種のネットワークボードＮＢａと、を備えている。
【００４５】
プリンタ本体ＰＲＢは、プリンタコントローラ２６０とプリンタエンジン２７０とを備えている。プリンタエンジン２７０は、画像の印刷を実行する機構部分である。プリンタコントローラ２６０は、ネットワークボードＮＢａから与えられた実行対象の分散済み印刷ジョブ（分散ジョブ）に従って、プリンタエンジン２７０に印刷を実行させる。プリンタコントローラ２６０は、分散ジョブを格納するプリンタバッファ２６２と、ＭＩＢ（Management Information Base）と呼ばれる自己のプリンタのステータス情報等を格納するＭＩＢ格納部２６４と、を備えている。
【００４６】
ネットワークボードＮＢａは、ＣＰＵとＲＯＭやＲＡＭなどのメモリとを備えるコンピュータである。ネットワークボードＮＢａは、通信制御部２１０と、分散処理部２２０と、ジョブ処理部２３０と、を含んでいる。分散処理部２２０の機能は、前述の分散処理用ソフトウェアによって実現され、ジョブ処理部２３０の機能は、前述のジョブ処理用ソフトウェアとによって実現される。通信データが送信先ポート番号「５９１００」を含む場合には、分散処理部２２０が動作し、通信データが送信先ポート番号「９１００」を含む場合には、ジョブ処理部２３０が動作する。なお、各ソフトウェア（コンピュータプログラム）は、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録された形態で提供される。
【００４７】
通信制御部２１０は、ネットワークを介して外部の機器と通信を行う。例えば、通信制御部２１０は、受信した通信データに含まれる送信先ＩＰアドレスや送信先ポート番号を検出する。また、通信制御部２１０は、送信すべき通信データに送信先ＩＰアドレスや送信先ポート番号を付与する。
【００４８】
分散処理部２２０は、分散先プリンタ決定部２２２と、割当ページ決定部２２４と、ジョブ格納部２２６と、を備えており、コンピュータＰＣから与えられた原ジョブから複数の分散ジョブを生成し、複数の分散ジョブを複数の分散先プリンタに供給する分散処理を実行する機能を有する。
【００４９】
分散先プリンタ決定部２２２は、ネットワークに接続された多数のプリンタの中から、分散先として実際に使用される複数のプリンタを決定する。具体的には、分散先プリンタ決定部２２２は、設定ファイル格納部２２３に格納された設定ファイルを利用して、複数の分散先プリンタを決定する。設定ファイルには、分散先として利用可能なプリンタのＩＰアドレスが登録されている。該プリンタのＩＰアドレスとしては、分散元プリンタと同一機種のプリンタのＩＰアドレスが登録されており、本実施例では、分散元プリンタ自身のＩＰアドレスも登録されている。なお、設定ファイルは、ネットワークの管理者などによって予め設定される。
【００５０】
特に、本実施例では、分散先プリンタ決定部２２２は、偶数台の分散先プリンタを選択し、２台毎にペアを決定する。後述するように、本実施例では、ペアを構成する一方の分散先プリンタが分散ジョブに従った印刷を続行できない場合には、ペアを構成する他方の分散先プリンタ（パートナープリンタ）が未実行の印刷を代行する。
【００５１】
割当ページ決定部２２４は、各分散先プリンタが印刷すべき割当ページを決定する。具体的には、分散処理部２２０が複数のページの印刷を要求する原ジョブを用いて複数の分散先プリンタに供給される複数の分散ジョブを生成する際に、割当ページ決定部２２４は、各分散先プリンタに該複数のページのうちの互いに異なる一部のページを割り当てる。
【００５２】
ジョブ格納部２２６には、コンピュータＰＣから受け取った原ジョブや各分散先プリンタに供給される分散ジョブが格納される。
【００５３】
ジョブ処理部２３０は、分散元プリンタ（より具体的には分散処理部２２０）から供給される分散ジョブを取得し、該分散ジョブをプリンタコントローラ２６０に渡す機能を有する。
【００５４】
また、ジョブ処理部２３０は、パートナープリンタ（分散先プリンタ）が印刷を続行できない場合に、パートナープリンタから未実行ジョブを取得し、該未実行ジョブをプリンタコントローラ２６０に渡す機能を有する。さらに、ジョブ処理部２３０は、プリンタ特定情報取得部２３２と、未実行ジョブ生成部２３４と、を備えており、自己の分散先プリンタが印刷を続行できない場合に、パートナープリンタに未実行ジョブを供給する機能を有する。なお、未実行ジョブは、分散先プリンタに与えられた分散ジョブのうち、未実行の部分の印刷を要求する印刷ジョブである。
【００５５】
プリンタ特定情報取得部２３２は、分散元プリンタから、パートナープリンタ（他の分散先プリンタ）を特定するプリンタ特定情報を取得する。本実施例では、プリンタ特定情報としてＩＰアドレスが利用されており、ＩＰアドレスは、分散元プリンタから供給される分散ジョブに含まれている。
【００５６】
未実行ジョブ生成部２３４は、自己の分散先プリンタが分散ジョブに従った印刷を続行できない場合に、該分散ジョブのうちの少なくとも一部の未実行の印刷ジョブでる未実行ジョブを生成し、該未実行ジョブをプリンタ特定情報によって特定されるパートナープリンタ（他の分散先プリンタ）に供給する。
【００５７】
第２のプリンタＰＲＴ２は、プリンタ本体ＰＲＢと、前述の第２種のネットワークボードＮＢｂと、を備えている。なお、プリンタ本体ＰＲＢは、第１のプリンタＰＲＴ１のプリンタ本体ＰＲＢと同じである。また、第２種のネットワークボードＮＢｂは、第１種のネットワークボードＮＢａとほぼ同じであるが、分散処理部２２０を備えておらず、通信制御部２１０とジョブ処理部２３０とを備えている。
【００５８】
図３に示すように、第１種および第２種のネットワークボードＮＢａ，ＮＢｂは、さらに、ＳＮＭＰマネージャ部２４２と、ＳＮＭＰエージェント部２４４と、を備えている。ＳＮＭＰマネージャ部２４２は、分散処理部２２０またはジョブ処理部２３０からの指示に従って、各プリンタのＳＮＭＰエージェント部２４４からステータス情報を取得する機能を有する。この際、ＳＮＭＰエージェント部２４４は、ＭＩＢ格納部２６４からプリンタのステータス情報を読み出す。
【００５９】
他の３つのプリンタＰＲＴ３〜ＰＲＴ５は、第２のプリンタＰＲＴ２と同様に構成されている。
【００６０】
なお、上記の説明から分かるように、本実施例における各ネットワークボードＮＢａ，ＮＢｂを備える分散先プリンタが、本発明における分散先印刷装置に相当する。また、第１種のネットワークボードＮＢａに設けられた分散処理部２２０が本発明における分散元装置に相当し、ネットワークボードＮＢａ，ＮＢｂに設けられたジョブ処理部２３０が本発明における印刷ジョブ処理部に相当する。さらに、本実施例におけるプリンタコントローラ２６０とプリンタエンジン２７０とが本発明における印刷実行部に相当する。
【００６１】
Ａ−２．印刷処理：
Ａ−２−１．印刷処理の概要：
図５は、第１実施例における印刷処理の概要を示す説明図である。本実施例では、コンピュータＰＣは、１９ページ分の画像の印刷の実行を要求する原ジョブＪＢ０を生成し、原ジョブＪＢ０を含む通信データＤＴ０を分散元プリンタＰＲＴ１に供給する。分散元プリンタＰＲＴ１は、該１９ページ分の画像が４台の分散先プリンタＰＲＴ１〜ＰＲＴ４によって印刷されるように、互いに異なる分散ジョブＪＢ１〜ＪＢ４を生成し、分散ジョブＪＢ１〜ＪＢ４をそれぞれ含む通信データＤＴ１〜ＤＴ４を各分散先プリンタＰＲＴ１〜ＰＲＴ４に供給する。
【００６２】
図５（Ａ）に示すように、第１の分散ジョブＪＢ１は、１〜５ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第１の状態で出力することを要求する。第１の状態は、各印刷済み用紙の表面（本実施例では印刷面と同じ）が排紙トレイ上で下方を向き、かつ、各印刷済み用紙が昇順（すなわちページ番号が次第に大きくなる順序）に並んだ状態を意味する。なお、図５（Ａ）では、印刷済み用紙の表面が△印で示されている。第２の分散ジョブＪＢ２は、６〜１０ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第２の状態で出力することを要求する。第２の状態は、各印刷済み用紙の表面が排紙トレイ上で上方を向き、かつ、各印刷済み用紙が降順（すなわちページ番号が次第に小さくなる順序）に並んだ状態を意味する。第３の分散ジョブＪＢ３は、第１の分散ジョブＪＢ１とほぼ同様に、１１〜１５ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第１の状態で出力することを要求する。第４の分散ジョブＪＢ４は、第２の分散ジョブＪＢ２とほぼ同様に、１６〜１９ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第２の状態で出力することを要求する。
【００６３】
各分散先プリンタＰＲＴ１〜ＰＲＴ４が与えられた各分散ジョブに従って印刷を実行すれば、ユーザは、ページの連続性が保たれた１９枚の印刷済み用紙を容易に得ることができる。具体的には、ユーザは、第１のプリンタＰＲＴ１によって５枚目（５ページ目）に印刷される印刷済み用紙の裏面と、第２のプリンタＰＲＴ２によって５枚目（６ページ目）に印刷された印刷済み用紙の表面と、が向かい合うように重ねる。同様に、ユーザは、第２のプリンタＰＲＴ２によって１枚目（１０ページ目）に印刷された印刷済み用紙の裏面と、第３のプリンタＰＲＴ３によって１枚目（１１ページ目）に印刷された印刷済み用紙の表面と、が向かい合うように重ね、さらに、第３のプリンタＰＲＴ３によって５枚目（１５ページ目）に印刷された印刷済み用紙の裏面と、第４のプリンタＰＲＴ４によって４枚目（１６ページ目）に印刷された印刷済み用紙の表面と、が向かい合うように重ねる。こうすれば、ユーザは、各印刷済み用紙を回収する際に、ページ順に印刷済み用紙を並べ替えずに済む。
【００６４】
ところで、用紙の不足等に起因して、いずれかの分散先プリンタが印刷を続行できない場合が発生し得る。本実施例では、他の分散先プリンタが代わりに印刷を続行する。
【００６５】
図５（Ｂ）では、３台のプリンタＰＲＴ２〜ＰＲＴ４は、分散ジョブＪＢ２〜ＪＢ４に従った印刷を完了しているが、第１のプリンタＰＲＴ１は、分散ジョブＪＢ１に従った印刷を完了していない。具体的には、第１のプリンタＰＲＴ１は、１〜３ページ目の画像の印刷のみを終了しており、用紙不足のため、４，５ページ目の画像の印刷を終了していない。なお、図中、印刷済み用紙には、ハッチが付されている。
【００６６】
このとき、第１の分散先プリンタＰＲＴ１は、第１の未実行ジョブＪＢ５を含む通信データＤＴ５を第２の分散先プリンタＰＲＴ２に供給し、第２の分散先プリンタＰＲＴ２に４，５ページ目の画像の印刷の代行を依頼する。ただし、各印刷済み用紙のページの連続性が保たれるように、第１の未実行ジョブＪＢ５は、第２の分散ジョブＪＢ２とほぼ同様に、４，５ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第２の状態で出力することを要求する。
【００６７】
第２の分散先プリンタＰＲＴ２が第１の未実行ジョブＪＢ５に従って印刷を実行すれば、ユーザは、ページの連続性が保たれた１９枚の印刷済み用紙を得ることができる。
【００６８】
本実施例では、さらに、第２の分散先プリンタＰＲＴ２が、用紙の不足等に起因して、印刷を続行できない場合を想定する。
【００６９】
図５（Ｃ）では、第２の分散先プリンタＰＲＴ２は、５ページ目の画像の印刷のみを終了しており、用紙不足のため、４ページ目の画像の印刷を終了していない。なお、この際、第１の分散先プリンタＰＲＴ１には、既に用紙が補給されていると仮定する。
【００７０】
このとき、第２の分散先プリンタＰＲＴ２は、第２の未実行ジョブＪＢ６を含む通信データＤＴ６を第１の分散先プリンタＰＲＴ１に供給し、第１の分散先プリンタＰＲＴ１に４ページ目の画像の印刷の代行を依頼する。ただし、各印刷済み用紙のページの連続性が保たれるように、第２の未実行ジョブＪＢ６は、第１の分散ジョブＪＢ１とほぼ同様に、４ページ目の画像の印刷の実行を要求すると共に、１枚の印刷済み用紙を第１の状態で出力することを要求する。
【００７１】
第１の分散先プリンタＰＲＴ１が第２の未実行ジョブＪＢ６に従って印刷を実行すれば、ユーザは、ページの連続性が保たれた１９枚の印刷済み用紙を得ることができる。
【００７２】
上記のように、未印刷のページの印刷が他の分散先プリンタによって適切に印刷されれば、いずれかのプリンタが印刷を続行できない場合にも、迅速に、かつ、ページの連続性が保たれるように、すべてのページの印刷を完了することができる。
【００７３】
図５に示すように、本実施例では、第１の分散先プリンタＰＲＴ１と第２の分散先プリンタＰＲＴ２とのうちの一方が印刷を続行できない場合には、他方が未印刷ページの印刷を続行する。同様に、第３の分散先プリンタＰＲＴ３と第４の分散先プリンタＰＲＴ４とのうちの一方が印刷を続行できない場合には、他方が未印刷ページの印刷を続行する。すなわち、本実施例では、第１の分散先プリンタＰＲＴ１と第２の分散先プリンタＰＲＴ２とのペアが相互に印刷を代行し、第３の分散先プリンタＰＲＴ３と第４の分散先プリンタＰＲＴ４とのペアが相互に印刷を代行する。
【００７４】
Ａ−２−２．通信データ：
図６は、第１実施例における通信データＤＴ０〜ＤＴ４の具体的な内容を示す説明図である。図６（Ａ）〜（Ｅ）は、それぞれ、通信データＤＴ０〜ＤＴ４を示している。なお、図６（Ａ）〜（Ｅ）では、ヘッダ部には、送信先ＩＰアドレスと送信先ポート番号とが表されている。
【００７５】
図６（Ａ）〜（Ｅ）に示すように、本実施例では、データ部の印刷ジョブは、２組のジョブデータを含んでいる。第１組のジョブデータは、第１の制御データＣＤａと、昇順に並んだ複数のページの画像を表す第１種の印刷データＰＤａと、を含んでいる。第２組のジョブデータは、第２の制御データＣＤｂと、降順に並んだ複数のページの画像を表す第２種の印刷データＰＤｂと、を含んでいる。
【００７６】
各制御データには、「SUBMISSION」，「TARGET」，「ORDER」，「TOTAL PAGES」，「START PAGE」，「END PAGE」，「PRINT FACE」，「PARTNER ADD.」などの種々の情報が含まれている。なお、図６では、「SUBMISSION」，「ORDER」，「TOTAL PAGES」，「PRINT FACE」情報は、原ジョブＪＢ０（図６（Ａ））のみに含まれているように示されているが、分散ジョブＪＢ１〜ＪＢ４（図６（Ｂ）〜（Ｅ））にも同様に含まれている。また、図６に示すように、「START PAGE」，「END PAGE」，「PARTNER ADD.」情報は、ジョブＪＢ１〜ＪＢ４（図６（Ｂ）〜（Ｅ））のみに含まれている。
【００７７】
・「SUBMISSION」情報：コンピュータＰＣの印刷ジョブ生成部１３０によって印刷ジョブが作成される際に付与される識別子を示す。ユーザは、「SUBMISSION」情報を特定することによって、コンピュータＰＣにおいて対応する印刷ジョブの処理状況を確認することができる。なお、第１の制御データＣＤａと第２の制御データＣＤｂとには、「SUBMISSION」情報として同じ識別子が記述されている。
【００７８】
・「TARGET」情報：分散先プリンタが利用すべき一方の組のジョブデータを示す。分散先プリンタは、「TARGET=SELF」が記述された制御データを含むジョブデータを利用して、印刷を実行する。なお、分散先プリンタは、「TARGET=PARTNER」が記述された制御データを含むジョブデータを無視する。第１の制御データＣＤａには、「TARGET=SELF」と「TARGET=PARTNER」とのうちのいずれか一方が記述され、第２の制御データＣＤｂには、他方が記述される。
【００７９】
・「ORDER」情報：各組のジョブデータに含まれる印刷データによって表される複数のページ画像の並び順を示す。「ORDER=ASCENDING」は複数のページ画像が昇順に並んでいることを示し、「ORDER=DESCENDING」は複数のページ画像が降順に並んでいることを示す。なお、第１の制御データＣＤａには、「ORDER=ASCENDING」が記述されており、第２の制御データＣＤｂには、「ORDER=DESCENDING」が記述されている。
【００８０】
・「TOTAL PAGES」情報：各組のジョブデータに含まれる印刷データによって表される複数のページ画像の総ページ数を示す。なお、第１の制御データＣＤａと第２の制御データＣＤｂとには、同じ「TOTAL PAGES」の値が記述されている。
【００８１】
・「START PAGE」情報：各組のジョブデータに含まれる印刷データによって表される複数のページ画像のうちの印刷開始ページを示す。なお、「START PAGE」情報は、分散元プリンタによって追加され、「TARGET=SELF」が記述された一方の制御データのみに含まれる。
【００８２】
・「END PAGE」情報：各組のジョブデータに含まれる印刷データによって表される複数のページ画像のうちの印刷終了ページを示す。なお、「END PAGE」情報は、分散元プリンタによって追加され、「TARGET=SELF」が記述された一方の制御データのみに含まれる。
【００８３】
・「PRINT FACE」情報：印刷済み用紙の出力形態を示す。「PRINT FACE=DOWN」は、各印刷済み用紙の表面が排紙トレイ上で下方を向いて出力されるべきことを示す。「PRINT FACE=UP」は、各印刷済み用紙の表面が排紙トレイ上で上方を向いて出力されるべきことを示す。なお、第１の制御データＣＤａには、「PRINT FACE=DOWN」が記述されており、第２の制御データＣＤｂには、「PRINT FACE=UP」が記述されている。
【００８４】
・「PARTNER ADD.」情報：送信先ＩＰアドレスによって特定される分散先プリンタのパートナープリンタ（他の分散先プリンタ）のＩＰアドレスを示す。なお、「PARTNER ADD.」は、分散元プリンタによって追加される情報であり、「TARGET=SELF」が記述された一方の制御データのみに含まれる。
【００８５】
第１および第３の分散先プリンタＰＲＴ１，ＰＲＴ３は、それぞれ、図６（Ｂ），（Ｄ）に示す分散ジョブＪＢ１，ＪＢ３に含まれる２組のジョブデータのうち、「TARGET=SELF」を含む第１組のジョブデータを利用する。第１組のジョブデータは、「PRINT FACE=DOWN」が記述された第１の制御データＣＤａと、昇順に並んだ複数のページの画像を表す第１種の印刷データＰＤａと、を含んでいる。このため、第１および第３のプリンタＰＲＴ１，ＰＲＴ３は、図５に示すように、各印刷済み用紙の表面が排紙トレイ上で下方を向き、かつ、各印刷済み用紙が昇順に並んだ状態（第１の状態）で、各印刷済み用紙を出力することができる。
【００８６】
また、第２および第４の分散先プリンタＰＲＴ２，ＰＲＴ４は、それぞれ、図６（Ｃ），（Ｅ）に示す分散ジョブＪＢ２，ＪＢ４に含まれる２組のジョブデータのうち、「TARGET=SELF」を含む第２組のジョブデータを利用する。第２組のジョブデータは、「PRINT FACE=UP」が記述された第２の制御データＣＤｂと、降順に並んだ複数のページの画像を表す第２種の印刷データＰＤｂと、を含んでいる。このため、第２および第４のプリンタＰＲＴ１，ＰＲＴ３は、図５に示すように、各印刷済み用紙の表面が排紙トレイ上で上方を向き、かつ、各印刷済み用紙が降順に並んだ状態（第２の状態）で、各印刷済み用紙を出力することができる。
【００８７】
なお、本実施例における「TARGET」情報が、本発明における印刷データ指定情報に相当する。
【００８８】
Ａ−２−３．分散元プリンタの処理：
図７は、分散元プリンタの処理内容を示すフローチャートである。なお、図７の処理は、分散元プリンタＰＲＴ１の分散処理部２２０によって実行される。
【００８９】
ステップＳ１０２では、分散処理部２２０は、コンピュータＰＣから分散対象の原ジョブＪＢ０を含む通信データＤＴ０（図６（Ａ））を受信する。
【００９０】
ステップＳ１０４では、分散先プリンタ決定部２２２は、分散先プリンタ候補を選択する。具体的には、分散先プリンタ決定部２２２は、ＳＮＭＰマネージャ部２４２を制御して、設定ファイルに登録された各プリンタにステータス情報の送信を要求する。この際、上記の各プリンタのＳＮＭＰエージェント部２４４は、ＭＩＢ格納部２６４からステータス情報を読み出し、該情報を分散元プリンタＰＲＴ１のＳＮＭＰマネージャ部２４２に返す。分散先プリンタ決定部２２２は、各プリンタのステータス情報に基づいて、直ちに印刷を実行可能な分散先プリンタ候補を選択する。なお、直ちに利用可能な分散先プリンタ候補は、例えば、用紙詰まりや用紙不足などのエラーが発生していないプリンタである。
【００９１】
ステップＳ１０６では、分散先プリンタ決定部２２２は、分散先プリンタ候補が１台以上見つかったか否かを判断する。分散先プリンタ候補が１台以上見つかった場合には、ステップＳ１０８に進む。一方、分散先プリンタ候補が見つからない場合には、ステップＳ１０４に戻る。
【００９２】
ステップＳ１０８では、分散先プリンタ決定部２２２は、分散先プリンタ候補が２台以上見つかったか否かを判断する。分散先プリンタ候補が２台以上見つかった場合には、ステップＳ１１０に進む。一方、分散先プリンタ候補が１台だけ見つかった場合には、後述するステップＳ１２４に進む。
【００９３】
ステップＳ１１０では、分散先プリンタ決定部２２２は、２台以上の分散先プリンタ候補の中から、実際に使用される分散先プリンタを決定すると共に、分散先プリンタのペアを決定する。
【００９４】
分散先プリンタ候補の台数をＮとすると、分散先プリンタのペア数Ｒと実際に使用される分散先プリンタの台数ｎとは、式（１）で表される。なお、ｉｎｔ（）は、括弧内の値の整数部分を求める関数である。
【００９５】
【数１】
0004635785.tif 000002
【００９６】
例えば、分散先プリンタ候補の台数Ｎが５である場合には、ペア数Ｒは２であり、実際に使用される分散先プリンタの台数ｎは４である。
【００９７】
分散先プリンタの台数ｎが決定されると、分散先プリンタ決定部２２２は、複数の分散先プリンタ候補の中から偶数台の分散先プリンタを決定すると共に、分散先プリンタのペアを決定する。本実施例では、Ｎ台の分散先プリンタ候補のうち、設定ファイルにおいてより高い優先順位に設定されたｎ台が分散先プリンタに決定される。また、ｎ台の分散先プリンタのうち、最も高い優先順位に設定されたプリンタから、順次２台ずつが同じペアに決定される。なお、分散元プリンタＰＲＴ１が配置された場所により近い場所に配置されたプリンタの優先順位がより高く設定されていれば、ユーザが印刷済み用紙を回収する際の移動距離を比較的小さくすることができる。
【００９８】
本実施例では、４台のプリンタＰＲＴ１〜ＰＲＴ４が分散先プリンタとして決定される。また、第１および第２のプリンタＰＲＴ１，ＰＲＴ２が第１のペアとして決定され、第２および第３のプリンタＰＲＴ３，ＰＲＴ４が第２のペアとして決定される。
【００９９】
ステップＳ１１２では、割当ページ決定部２２４は、原ジョブＪＢ０に含まれる総ページ数（図６（Ａ）の「TOTAL PAGES」情報）に基づいて、各分散先プリンタが印刷すべき割当ページを決定する。
【０１００】
総ページ数をＱとすると、第ｍのプリンタＰＲＴｍで印刷すべきページ数Ｐ（ｍ）は、式（２）で表される。
【０１０１】
【数２】
0004635785.tif 000003
【０１０２】
本実施例では、総ページ数Ｑが１９であるため、Ｐ（１）＝５，Ｐ（２）＝５，Ｐ（３）＝５，Ｐ（４）＝４と求められる。このように、式（２）に従えば、各分散先プリンタにほぼ均等にページ数を割り当てることができ、この結果、各分散先プリンタにおける印刷完了時刻をほぼ同じに設定することができる。
【０１０３】
第ｍのプリンタＰＲＴｍが印刷すべき割当先頭ページＳ（ｍ）は、第１〜第（ｍ−１）のプリンタが印刷すべきページ数の総和に１を加えた値であるため、式（３）で表される。ただし、第１のプリンタＰＲＴ１が印刷すべき割当先頭ページＳ（１）は１に設定される。
【０１０４】
【数３】
0004635785.tif 000004
【０１０５】
本実施例では、Ｓ（１）＝１，Ｓ（２）＝６，Ｓ（３）＝１１，Ｓ（４）＝１６と求められる。
【０１０６】
また、第ｍのプリンタＰＲＴｍが印刷すべき割当最終ページＥ（ｍ）は、第１〜第ｍのプリンタが印刷すべきページ数の総和であるため、式（４）で表される。
【０１０７】
【数４】
0004635785.tif 000005
【０１０８】
本実施例では、Ｅ（１）＝５，Ｅ（２）＝１０，Ｅ（３）＝１５，Ｅ（４）＝１９と求められる。
【０１０９】
ステップＳ１１４では、分散処理部２２０は、ジョブ格納部２２６に格納された原ジョブＪＢ０の制御データＣＤａ，ＣＤｂを変更して分散ジョブＪＢ１〜ＪＢ４を生成し、該ジョブＪＢ１〜ＪＢ４を含む通信データＤＴ１〜ＤＴ４（図６（Ｂ）〜（Ｅ））を各分散先プリンタＰＲＴ１〜ＰＲＴ４に供給する。
【０１１０】
前述したように、各分散ジョブには、昇順に並んだ複数のページの画像を表す第１種の印刷データＰＤａと、降順に並んだ複数のページの画像を表す第２種の印刷データＰＤｂと、が含まれている。そして、ペア番号をｘとすると、第（２・ｘ−１）のプリンタ（すなわち奇数番目のプリンタ）は、第１種の印刷データＰＤａを利用して印刷を実行し、第（２・ｘ）のプリンタ（すなわち偶数番目のプリンタ）は、第２種の印刷データＰＤｂを利用して印刷を実行する。
【０１１１】
第１種の印刷データＰＤａと第２種の印刷データＰＤｂとでは、複数のページ画像の並ぶ順序が異なるため、該順序に応じて印刷開始ページおよび印刷終了ページの値を指定する必要がある。
【０１１２】
図８は、ページ画像のページ番号と、指定値と、の関係を示す説明図である。図８（Ａ）は、昇順に並んだページ画像のページ番号と指定値との関係を示しており、図８（Ｂ）は、降順に並んだページ画像のページ番号と指定値との関係を示している。ページ画像が昇順に並ぶ場合には、図８（Ａ）に示すように、ページ画像（例えば５ページ目の画像）のページ番号（例えば５）と指定値（例えば５）とは、常に、一致する。しかしながら、ページ画像が降順に並ぶ場合には、図８（Ｂ）に示すように、ページ画像（例えば５ページ目の画像）のページ番号（例えば５）と指定値（例えば１５）とは、異なる。
【０１１３】
図５に示すように、第１および第３のプリンタＰＲＴ１，ＰＲＴ３は、第１種の印刷データＰＤａを用いてページ画像を昇順に出力する。このため、第１および第３の分散ジョブＪＢ１，ＪＢ３には、印刷開始ページ（図６の「START PAGE」情報）の指定値ＳＰとして、割当先頭ページＳの値と同じ値が含まれ、印刷終了ページ（図６の「END PAGE」情報）の指定値ＥＰとして、割当最終ページＥの値と同じ値が含まれていればよい（図８（Ａ）参照）。すなわち、第１の分散ジョブＪＢ１には、ＳＰ（１）＝１（１ページ目の画像），ＥＰ（１）＝５（５ページ目の画像）が含まれればよい。同様に、第３の分散ジョブＪＢ３には、ＳＰ（３）＝１１（１１ページ目の画像），ＥＰ（３）＝１５（１５ページ目の画像）が含まれればよい。
【０１１４】
一方、図５に示すように、第２および第４のプリンタＰＲＴ２，ＰＲＴ４は、第２種の印刷データＰＤｂを用いてページ画像を降順に出力する。このため、第２および第４の分散ジョブＪＢ２，ＪＢ４には、印刷開始ページの指定値ＳＰとして、割当最終ページＥの値に対応する値が含まれ、印刷終了ページの指定値ＥＰとして、割当先頭ページＳの値に対応する値が含まれる必要がある（図８（Ｂ）参照）。すなわち、第２の分散ジョブＪＢ２には、ＳＰ（２）＝１０（１０ページ目の画像），ＥＰ（２）＝１４（６ページ目の画像）が含まれる必要がある。同様に、第４の分散ジョブＪＢ４には、ＳＰ（４）＝１（１９ページ目のページ画像），ＥＰ（４）＝４（１６ページ目のページ画像）が含まれる必要がある。
【０１１５】
上記の説明から分かるように、第（２・ｘ−１）のプリンタに与えられるジョブと第（２・ｘ）のプリンタに与えられるジョブとに含まれるべき指定値ＳＰ，ＥＰは、それぞれ、式（５）で表される。
【０１１６】
【数５】
0004635785.tif 000006
【０１１７】
本実施例では、式（５）に基づいて上記の各値ＳＰ，ＥＰが求められる。そして、分散処理部２２０は、図６（Ｂ）〜（Ｅ）に示すように、「START PAGE」情報および「END PAGE」情報が追加された分散ジョブＪＢ１〜ＪＢ４を生成する。
【０１１８】
また、ステップＳ１１４（図７）では、分散処理部２２０は、「TARGET」情報が変更され、「PARTNER ADD.」情報が追加された分散ジョブＪＢ１〜ＪＢ４を生成する。
【０１１９】
具体的には、分散処理部２２０は、第（２・ｘ−１）の分散先プリンタに与えられる分散ジョブの第１の制御データＣＤａに「TARGET=SELF」を設定し、第２の制御データＣＤｂに「TARGET=PARTNER」を設定する。また、分散処理部２２０は、第（２・ｘ）の分散先プリンタに与えられる分散ジョブの第１の制御データＣＤａに「TARGET=PARTNER」を設定し、第２の制御データＣＤｂに「TARGET=SELF」を設定する。
【０１２０】
本実施例では、図６（Ｂ）〜（Ｅ）に示すように、第１および第３の分散ジョブＪＢ１，ＪＢ３の第１の制御データＣＤａには「TARGET=SELF」が設定され、第２および第４の分散ジョブＪＢ２，ＪＢ４の第２の制御データＣＤｂには「TARGET=SELF」が設定される。
【０１２１】
また、分散処理部２２０は、ペアを構成する一方の分散先プリンタに与えられる分散ジョブに含まれる２つの制御データＣＤａ，ＣＤｂのうち、「TARGET=SELF」が記述される制御データには、「PARTNER ADD.」情報として、ペアを構成するパートナープリンタ（他の分散先プリンタ）のＩＰアドレスを設定する。
【０１２２】
本実施例では、図６（Ｂ）〜（Ｅ）に示すように、第１の分散ジョブＪＢ１の第１の制御データＣＤａには、第２のプリンタＰＲＴ２のＩＰアドレス「ＩＰ２」が設定され、第２の分散ジョブＪＢ２の第２の制御データＣＤｂには、第１のプリンタＰＲＴ１のＩＰアドレス「ＩＰ１」が設定される。同様に、第３の分散ジョブＪＢ３の第１の制御データＣＤａには、第４のプリンタＰＲＴ４のＩＰアドレス「ＩＰ４」が設定され、第４の分散ジョブＪＢ４の第２の制御データＣＤｂには、第３のプリンタＰＲＴ３のＩＰアドレス「ＩＰ３」が設定される。
【０１２３】
ステップＳ１１４では、上記のようにして、各分散先プリンタに適したジョブＪＢ１〜ＪＢ４（図６（Ｂ）〜（Ｅ））が生成され、各分散先プリンタに供給される。
【０１２４】
前述したように、ステップＳ１０８で分散先プリンタ候補が１台だけ見つかった場合には、ステップＳ１２４に進む。ステップＳ１２４では、分散処理部２２０は、原ジョブＪＢ０の制御データＣＤａ，ＣＤｂを変更せずに、原ジョブＪＢ０をそのまま含む通信データを分散先プリンタ候補として選択された唯一のプリンタ（例えば、第５のプリンタＰＲＴ５）に供給する。
【０１２５】
唯一のプリンタは、通信データを受け取ると、原ジョブＪＢ０に従った印刷を実行する。具体的には、唯一のプリンタは、原ジョブＪＢ０に含まれる「TARGET=SELF」が記述された制御データＣＤａを含む第１組のジョブデータを利用して印刷を実行する。ただし、原ジョブＪＢ０の第１の制御データＣＤａには、「START PAGE」情報と「END PAGE」情報とは含まれていない。このため、分散先プリンタは、第１種の印刷データＰＤａに従ってすべてのページ画像を印刷する。
【０１２６】
Ａ−２−４．分散先プリンタの処理：
図９は、分散先プリンタの処理内容を示すフローチャートである。なお、以下では、１台の分散先プリンタに注目して説明する。
【０１２７】
ステップＳ２０２では、注目分散先プリンタ（例えばＰＲＴ１）のジョブ処理部２３０は、分散元プリンタＰＲＴ１から分散ジョブ（例えばＪＢ１）を含む通信データ（例えばＤＴ１）を順次受信する。このとき、ジョブ処理部２３０は、分散ジョブをプリンタコントローラ２６０に渡し、プリンタコントローラ２６０は受け取った分散ジョブをプリンタバッファ２６２に格納する。
【０１２８】
ステップＳ２０４では、注目分散先プリンタ（例えばＰＲＴ１）のプリンタエンジン２７０は、分散ジョブ（例えばＪＢ１）に従って印刷を順次実行する。
【０１２９】
ステップＳ２０６では、注目分散先プリンタ（例えばＰＲＴ１）のプリンタコントローラ２６０は、自己のプリンタでエラーが発生しているか否かを判断する。なお、エラーは、印刷を続行できない状態を意味しており、例えば、用紙詰まりや用紙不足などが挙げられる。エラーが発生していない場合には、ステップＳ２１０に進み、エラーが発生している場合には、ステップＳ２２０（後述する）に進む。
【０１３０】
ステップＳ２１０では、注目分散先プリンタ（例えばＰＲＴ１）のプリンタコントローラ２６０は、分散ジョブ（例えばＪＢ１）に従った印刷が完了したか否かを判断する。印刷が完了した場合には、ステップＳ２３０に進み、印刷が完了していない場合には、ステップＳ２０４に戻る。
【０１３１】
ステップＳ２３０では、注目分散先プリンタ（例えばＰＲＴ１）のプリンタコントローラ２６０は、ステップＳ２０２で受信した分散ジョブ（例えばＪＢ１）を、プリンタバッファ２６２から削除する。これにより、注目分散先プリンタにおける分散ジョブに従った印刷が完了する。
【０１３２】
前述したように、ステップＳ２０６で自己のプリンタ（例えばＰＲＴ１）でエラーが発生している場合には、ステップＳ２２０に進む。
【０１３３】
ステップＳ２２０では、注目分散先プリンタ（例えばＰＲＴ１）のジョブ処理部２３０は、パートナーである他の分散先プリンタ（例えばＰＲＴ２）でエラーが発生しているか否かを判断する。具体的には、ジョブ処理部２３０は、ＳＮＭＰマネージャ部２４２を制御して、パートナープリンタにステータス情報の送信を要求する。この際、パートナープリンタのＳＮＭＰエージェント部２４４は、ＭＩＢ格納部２６４からステータス情報を読み出し、該情報を注目分散先プリンタのＳＮＭＰマネージャ部２４２に返す。ジョブ処理部２３０は、パートナープリンタのステータス情報に基づいて、パートナープリンタでエラーが発生しているか否かを判断する。パートナープリンタでエラーが発生していない場合には、ステップＳ２２２に進む。一方、パートナープリンタでエラーが発生している場合には、ステップＳ２０６に戻る。なお、後者の場合には、ペアを構成するいずれか一方のプリンタでエラーが解消されるまで、印刷の続行が停止される。
【０１３４】
ステップＳ２２２では、注目分散先プリンタ（例えばＰＲＴ１）の未実行ジョブ生成部２３４は、分散ジョブ（例えばＪＢ１）の制御データを変更して未実行ジョブ（例えばＪＢ５）を生成し、未実行ジョブを含む通信データ（例えばＤＴ５）をパートナープリンタ（例えばＰＲＴ２）に供給する。具体的には、未実行ジョブ生成部２３４は、プリンタコントローラ２６０から、未印刷ページ情報を受け取ると共に、プリンタバッファ２６２内に格納された分散ジョブ（例えばＪＢ１）を受け取る。そして、未実行ジョブ生成部２３４は、分散ジョブ（例えばＪＢ１）の制御データＣＤａ，ＣＤｂを変更して、未印刷ページの印刷を要求する未実行ジョブ（例えばＪＢ５）を生成する。なお、未実行ジョブのパートナープリンタ（例えばＰＲＴ２）への供給が完了すると、ステップＳ２３０に進み、ステップＳ２０２で受信した分散ジョブ（例えばＪＢ１）が削除される。
【０１３５】
上記のようにペアを構成する一方の分散先プリンタから他方の分散先プリンタ（パートナープリンタ）に未実行ジョブが供給された場合には、パートナープリンタは、図９の手順に従って未実行ジョブを処理することができる。
【０１３６】
上記の説明から分かるように、図５（Ｂ）の場合には、第１の分散先プリンタＰＲＴ１は、ステップＳ２２２において、第１の分散ジョブＪＢ１を用いて第１の未実行ジョブＪＢ５を生成し、第１の未実行ジョブＪＢ５をパートナーである第２の分散先プリンタＰＲＴ２に供給することができる。そして、第２の分散先プリンタＰＲＴ２は、ステップＳ２０２において、第１の未実行ジョブＪＢ５を受け取り、未実行ジョブＪＢ５に従った印刷を実行することができる。また、図５（Ｃ）の場合には、第２の分散先プリンタＰＲＴ２は、ステップＳ２２２において、第１の未実行ジョブＪＢ５を用いて第２の未実行ジョブＪＢ６を生成し、第２の未実行ジョブＪＢ６をパートナーである第１の分散先プリンタＰＲＴ１に供給することができる。そして、第１の分散先プリンタＰＲＴ１は、ステップＳ２０２において、第２の未実行ジョブＪＢ６を受け取り、未実行ジョブＪＢ５に従った印刷を実行することができる。
【０１３７】
図１０は、第１実施例における通信データＤＴ５，ＤＴ６の具体的な内容を示す説明図である。図１０（Ａ），（Ｂ）は、それぞれ、通信データＤＴ５，ＤＴ６を示している。
【０１３８】
前述したように、図１０（Ａ）の第１の未実行ジョブＪＢ５は、第１の分散ジョブＪＢ１（図６（Ｂ））の第１の制御データＣＤａと第２の制御データＣＤｂとの内容を変更することによって、生成される。具体的には、第１の分散先プリンタＰＲＴ１の未実行ジョブ生成部２３４は、第１の分散ジョブＪＢ１（図６（Ｂ））の第１の制御データＣＤａの「TARGET=SELF」を「TARGET=PARTNER」に変更して、「START PAGE」，「END PAGE」，「PARTNER ADD.」情報を削除する。また、未実行ジョブ生成部２３４は、第１の分散ジョブＪＢ１の第２の制御データＣＤｂの「TARGET=PARTNER」を「TARGET=SELF」に変更して、「START PAGE=15」，「END PAGE=16」，「PARTNER ADD.=IP1」を追加する。なお、第２の制御データＣＤｂには、「PRINT FACE=UP」が記述されている。これにより、図５（Ｂ）で説明したように、未印刷の４，５ページ目の画像（図８（Ｂ）参照）の印刷の実行を要求すると共に、各印刷済み用紙を第２の状態で出力することを要求する第１の未実行ジョブＪＢ５が生成される。なお、未印刷ページの指定値は、式（５）に従って決定される。
【０１３９】
また、図１０（Ｂ）の第２の未実行ジョブＪＢ６は、第１の未実行ジョブＪＢ５（図１０（Ａ））の第１の制御データＣＤａと第２の制御データＣＤｂとの内容を変更することによって、生成される。具体的には、第２の分散先プリンタＰＲＴ２の未実行ジョブ生成部２３４は、第１の未実行ジョブＪＢ５（図１０（Ａ））の第１の制御データＣＤａの「TARGET=PARTNER」を「TARGET=SELF」に変更して、「START PAGE=4」，「END PAGE=4」，「PARTNER ADD.=IP2」を追加する。また、未実行ジョブ生成部２３４は、第１の未実行ジョブＪＢ５の第２の制御データＣＤｂの「TARGET=SELF」を「TARGET=PARTNER」に変更して、「START PAGE」，「END PAGE」，「PARTNER ADD.」情報を削除する。なお、第１の制御データＣＤａには、「PRINT FACE=DOWN」が記述されている。これにより、図５（Ｃ）で説明したように、未印刷の４ページ目の画像（図８（Ａ）参照）の印刷の実行を要求すると共に、各印刷済み用紙を第１の状態で出力することを要求する第２の未実行ジョブＪＢ６が生成される。
【０１４０】
以上説明したように、本実施例では、第１の分散先プリンタＰＲＴ１が第１の分散ジョブＪＢ１に従った印刷を続行できない場合には、第１の分散先プリンタＰＲＴ１は、第１の未実行ジョブＪＢ５を生成し、第１の分散ジョブＪＢ１に含まれる「PARTNER ADD.」情報によって特定される第２の分散先プリンタＰＲＴ２に、第１の未実行ジョブＪＢ５を供給する。そして、第２の分散先プリンタＰＲＴ２は、第１の未実行ジョブＪＢ５を取得して、第１の未実行ジョブＪＢ５に従った印刷を実行する。このように、本実施例では、第１の分散先プリンタが第１の分散ジョブＪＢ１に従った印刷を続行できない場合に、サーバとしての機能を有する分散処理部２２０を利用せずに、第２の分散先プリンタＰＲＴ２に第１の未実行ジョブＪＢ５を実行させることができる。
【０１４１】
特に、本実施例では、各分散先プリンタでは、与えられた分散ジョブに従った印刷が完了した場合には該分散ジョブが削除される。しかしながら、本実施例では、第１の分散先プリンタＰＲＴ１は、印刷データＰＤａ，ＰＤｂを含む未実行ジョブＪＢ５を第２の分散先プリンタＰＲＴ２に供給するため、第２の分散先プリンタＰＲＴ２は、未実行ジョブＪＢ５に従った印刷を実行することができる。
【０１４２】
Ａ−３．第１実施例の変形例：
Ａ−３−１．印刷処理の概要：
第１実施例では、ユーザによって、用紙の表面のみに１ページ分の画像が印刷されるように指示された場合について説明したが、用紙の表面および裏面に２ページ分の画像が印刷されるように指示される場合もある。また、用紙の双方の面に画像が印刷される場合には、複数枚の用紙のうちの先頭用紙の裏面に複数のページ画像のうちの先頭ページの画像が印刷されるように指示される場合もある。
【０１４３】
図１１は、第１実施例の変形例における印刷処理の概要を示す説明図である。本例では、第１実施例（図５）と同様に、コンピュータＰＣは、１９ページ分の画像の印刷の実行を要求する原ジョブＪＢ０’を生成し、原ジョブＪＢ０’を含む通信データＤＴ０’を分散元プリンタＰＲＴ１に供給する。分散元プリンタＰＲＴ１は、該１９ページ分の画像が４台の分散先プリンタＰＲＴ１〜ＰＲＴ４によって印刷されるように、互いに異なる分散ジョブＪＢ１’〜ＪＢ４’を生成し、分散ジョブＪＢ１’〜ＪＢ４’をそれぞれ含む通信データＤＴ１’〜ＤＴ４’を各分散先プリンタＰＲＴ１〜ＰＲＴ４に供給する。
【０１４４】
図１１（Ａ）に示すように、第１の分散ジョブＪＢ１’は、１〜５ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を前述の第１の状態で出力することを要求する。第２の分散ジョブＪＢ２’は、６〜１１ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を前述の第２の状態で出力することを要求する。第３の分散ジョブＪＢ３’は、第１の分散ジョブＪＢ１’とほぼ同様に、１２〜１５ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第１の状態で出力することを要求する。第４の分散ジョブＪＢ４’は、第２の分散ジョブＪＢ２’とほぼ同様に、１６〜１９ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第２の状態で出力することを要求する。
【０１４５】
ただし、本例では、図１１（Ａ）に示すように、両面印刷が行われる。このため、本例では、前述の第１の状態および第２の状態における各印刷済み用紙の表面は、各印刷済み用紙に印刷される２ページ分の画像のうち、より小さなページ番号の画像が印刷される面と同じである。また、本例では、図１１（Ａ）に示すように、先頭用紙の表面には画像は印刷されない。このため、本例では、各印刷済み用紙の表面には偶数ページが印刷され、裏面には奇数ページが印刷される。
【０１４６】
図１１（Ｂ）では、図５（Ｂ）と同様に、３台のプリンタＰＲＴ２〜ＰＲＴ４は、分散ジョブＪＢ２’〜ＪＢ４’に従った印刷を完了しているが、第１のプリンタＰＲＴ１は、分散ジョブＪＢ１’に従った印刷を完了していない。具体的には、第１のプリンタＰＲＴ１は、１ページ目の画像の印刷のみを終了しており、用紙不足のため、２〜５ページ目の画像の印刷を終了していない。
【０１４７】
このとき、第１の分散先プリンタＰＲＴ１は、第１の未実行ジョブＪＢ５’を含む通信データＤＴ５’を第２の分散先プリンタＰＲＴ２に供給し、第２の分散先プリンタＰＲＴ２に２〜５ページ目の画像の印刷の代行を依頼する。ただし、各印刷済み用紙のページの連続性が保たれるように、第１の未実行ジョブＪＢ５’は、第２の分散ジョブＪＢ２’とほぼ同様に、２〜５ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第２の状態で出力することを要求する。
【０１４８】
図１１（Ｃ）では、図５（Ｃ）と同様に、第２の分散先プリンタＰＲＴ２は、４，５ページ目の画像の印刷のみを終了しており、用紙不足のため、２，３ページ目の画像の印刷を終了していない。なお、この際、第１の分散先プリンタＰＲＴ１には、既に用紙が補給されていると仮定する。
【０１４９】
このとき、第２の分散先プリンタＰＲＴ２は、第２の未実行ジョブＪＢ６’を含む通信データＤＴ６’を第１の分散先プリンタＰＲＴ１に供給し、第１の分散先プリンタＰＲＴ１に２，３ページ目の画像の印刷の代行を依頼する。ただし、各印刷済み用紙のページの連続性が保たれるように、第２の未実行ジョブＪＢ６’は、第１の分散ジョブＪＢ１’とほぼ同様に、２，３ページ目の画像の印刷の実行を要求すると共に、１枚の印刷済み用紙を第１の状態で出力することを要求する。
【０１５０】
本実施例においても、各プリンタＰＲＴ１〜ＰＲＴ４が与えられた各ジョブに従って印刷を実行すれば、ユーザは、第１実施例と同様に、ページの連続性が保たれた１０枚の印刷済み用紙を容易に得ることができる。
【０１５１】
Ａ−３−２．通信データ：
図１２は、第１実施例の変形例における通信データＤＴ０’〜ＤＴ４’の具体的な内容を示す説明図である。図１２（Ａ）〜（Ｅ）は、それぞれ、通信データＤＴ０’〜ＤＴ４’を示している。
【０１５２】
本例では、原ジョブＪＢ０’〜ＪＢ４’の各制御データには、第１実施例（図６）とほぼ同様の情報が含まれているが、「DX」，「FC」情報が追加されている。なお、図１２では、「DX」，「FC」情報は、原ジョブＪＢ０’（図１２（Ａ））のみに含まれているように示されているが、分散ジョブＪＢ１’〜ＪＢ４’（図１２（Ｂ）〜（Ｅ））にも同様に含まれている。
【０１５３】
・「DX」情報：両面印刷の実行の有無を示す。「DX=ON」の場合には、両面印刷が実行され、「DX=OFF」の場合には、第１実施例と同様に、両面印刷が実行されずに片面印刷が実行される。なお、第１の制御データＣＤａと第２の制御データＣＤｂとには、同じ「DX」情報（「DX=ON」または「DX=OFF」）が記述されている。
【０１５４】
・「FC」情報：両面印刷が実行される場合に、先頭用紙のいずれの面に先頭ページの画像が印刷されるかを示す。「FC=FR」の場合には、先頭用紙の表面に先頭ページの画像が印刷され、「FC=BK」の場合には、先頭用紙の裏面に先頭ページの画像が印刷される。なお、第１の制御データＣＤａと第２の制御データＣＤｂとには、同じ「FC」情報（「FC=FR」または「FC=BK」）が記述されている。
【０１５５】
本例では、図１１に示すように、両面印刷が実行され、かつ、先頭用紙の裏面に先頭ページが印刷されるため、「DX=ON」，「FC=BK」に設定されている。
【０１５６】
Ａ−３−３．分散元プリンタの処理：
本例では、図７と同様の手順で、分散元プリンタの処理が実行される。ただし、両面印刷の実行に伴って、図７のステップＳ１１２，Ｓ１１４の具体的な処理内容が以下のように変更される。
【０１５７】
ステップＳ１１２では、割当ページ決定部２２４は、原ジョブＪＢ０’に含まれる総ページ数（図１２（Ａ）の「TOTAL PAGES」情報）に基づいて、各分散先プリンタが印刷すべき割当ページを決定する。
【０１５８】
総ページ数をＱとすると、印刷に使用される用紙の総枚数Ｑｖは、式（６）で表される。
【０１５９】
【数６】
0004635785.tif 000007
【０１６０】
ここで、ｂは、先頭用紙の表面への先頭ページの印刷の有無を示し、先頭用紙の表面に先頭ページが印刷される場合（すなわち「FC=FR」の場合）にはｂ＝０に設定され、先頭用紙の表面に先頭ページが印刷されない場合（すなわち「FC=BK」の場合）にはｂ＝１に設定される。
【０１６１】
本実施例では、「FC=BK」に設定されており、先頭用紙の表面に先頭ページが印刷されないため、ｂ＝１に設定される。したがって、総枚数Ｑｖは１０枚となる。
【０１６２】
また、第ｍのプリンタＰＲＴｍで使用される用紙の枚数Ｐｖ（ｍ）は、式（７）で表される。
【０１６３】
【数７】
0004635785.tif 000008
【０１６４】
本実施例では、総枚数Ｑｖが１０であるため、Ｐｖ（１）＝３，Ｐｖ（２）＝３，Ｐｖ（３）＝２，Ｐｖ（４）＝２と求められる。
【０１６５】
先頭用紙の表面に先頭ページが印刷されると仮定すると、第ｍのプリンタＰＲＴｍが印刷すべき割当先頭ページＳ’（ｍ）は、第１〜第（ｍ−１）のプリンタで使用される用紙の枚数の総和を２倍して１を加えた値である。したがって、先頭用紙の表面への先頭ページの印刷の実行の有無を考慮すると、第ｍのプリンタＰＲＴｍが印刷すべき割当先頭ページＳ’（ｍ）は、式（８）で表される。
【０１６６】
【数８】
0004635785.tif 000009
【０１６７】
本実施例では、Ｓ’（１）＝１，Ｓ’（２）＝６，Ｓ’（３）＝１２，Ｓ’（４）＝１６と求められる。
【０１６８】
また、先頭用紙の表面に先頭ページが印刷されると仮定すると、第ｍのプリンタＰＲＴｍが印刷すべき割当最終ページＥ’（ｍ）は、第１〜第ｍのプリンタで使用される用紙の枚数の総和を２倍した値である。したがって、先頭用紙の表面への先頭ページの印刷の実行の有無を考慮すると、第ｍのプリンタＰＲＴｍが印刷すべき割当最終ページＥ’（ｍ）は、式（９）で表される。
【０１６９】
【数９】
0004635785.tif 000010
【０１７０】
本実施例では、Ｅ’（１）＝５，Ｅ’（２）＝１１，Ｅ’（３）＝１５，Ｅ’（４）＝１９と求められる。
【０１７１】
ステップＳ１１４では、分散処理部２２０は、ジョブ格納部２２６に格納された原ジョブＪＢ０’の制御データＣＤａ，ＣＤｂを変更して分散ジョブＪＢ１’〜ＪＢ４’を生成し、該ジョブＪＢ１’〜ＪＢ４’を含む通信データＤＴ１’〜ＤＴ４’（図１２（Ｂ）〜（Ｅ））を各分散先プリンタＰＲＴ１〜ＰＲＴ４に供給する。
【０１７２】
第１実施例（図８）で説明したように、第１種の印刷データＰＤａと第２種の印刷データＰＤｂとでは、複数のページ画像が並ぶ順序が異なるため、該順序に応じて印刷開始ページおよび印刷終了ページの値を指定する必要がある。
【０１７３】
したがって、本例では、第１実施例と同様に、第（２・ｘ−１）のプリンタに与えられるジョブと、第（２・ｘ−１）のプリンタに与えられるジョブとに含まれるべき指定値ＳＰ’，ＥＰ’は、それぞれ、式（１０）で表される。
【０１７４】
【数１０】
0004635785.tif 000011
【０１７５】
本例では、式（１０）に基づいて上記の各値ＳＰ’，ＥＰ’が求められる。そして、分散処理部２２０は、図１２（Ｂ）〜（Ｅ）に示すように、「START PAGE」情報および「END PAGE」情報が追加された分散ジョブＪＢ１’〜ＪＢ４’を生成する。
【０１７６】
また、ステップＳ１１４では、分散処理部２２０は、第１実施例と同様に、「TARGET」情報が変更され、「PARTNER ADD.」情報が追加された分散ジョブＪＢ１’〜ＪＢ４’を生成する。
【０１７７】
Ａ−３−４．分散先プリンタの処理：
本例では、図９と同様の手順で、各分散先プリンタの処理が行われる。そして、図１１（Ｂ）の場合には、第１の分散先プリンタＰＲＴ１は、ステップＳ２２２において、第１の分散ジョブＪＢ１’を用いて第１の未実行ジョブＪＢ５’を生成し、第１の未実行ジョブＪＢ５’を含む通信データＤＴ５’を第２の分散先プリンタＰＲＴ２に供給することができる。また、図１１（Ｃ）の場合には、第２の分散先プリンタＰＲＴ２は、ステップＳ２２２において、第１の未実行ジョブＪＢ５’を用いて第２の未実行ジョブＪＢ６’を生成し、第２の未実行ジョブＪＢ６’を含む通信データＤＴ６’を第１の分散先プリンタＰＲＴ１に供給することができる。
【０１７８】
図１３は、第１実施例の変形例における通信データＤＴ５’，ＤＴ６’の具体的な内容を示す説明図である。図１３（Ａ），（Ｂ）は、それぞれ、通信データＤＴ５’，ＤＴ６’を示している。
【０１７９】
第１実施例と同様に、図１３（Ａ）の第１の未実行ジョブＪＢ５’は、第１の分散ジョブＪＢ１’（図１２（Ｂ））の第１の制御データＣＤａと第２の制御データＣＤｂとの内容を変更することによって、生成される。なお、図１３（Ａ）は、図１０（Ａ）とほぼ同じであるが、第２の制御データＣＤｂに含まれる「START PAGE」情報と「END PAGE」情報とが異なっており、「START PAGE=15」，「END PAGE=18」に設定されている。これにより、図１１（Ｂ）で説明したように、未印刷の２〜５ページ目の画像（図８（Ｂ）参照）の印刷の実行を要求すると共に、各印刷済み用紙を第２の状態で出力することを要求する第１の未実行ジョブＪＢ５’が生成される。
【０１８０】
また、図１３（Ｂ）の第２の未実行ジョブＪＢ６’は、第１の未実行ジョブＪＢ５’（図１３（Ａ））の第１の制御データＣＤａと第２の制御データＣＤｂとの内容を変更することによって、生成される。なお、図１３（Ｂ）は、図１０（Ｂ）とほぼ同じであるが、第２の制御データＣＤｂに含まれる「START PAGE」情報と「END PAGE」情報とが異なっており、「START PAGE=2」，「END PAGE=3」に設定されている。これにより、図１１（Ｃ）で説明したように、未印刷の２〜３ページ目の画像（図８（Ａ）参照）の印刷の実行を要求すると共に、各印刷済み用紙を第１の状態で出力することを要求する第２の未実行ジョブＪＢ６’が生成される。
【０１８１】
なお、本例では、印刷用紙の表面と裏面とのそれぞれに１ページ分の画像が印刷される場合について説明したが、印刷用紙の表面と裏面とのそれぞれに複数ページ分（例えば２または４ページ分）の画像が印刷されるようにしてもよい。
【０１８２】
Ｂ．第２実施例：
Ｂ−１．印刷処理の概要：
図１４は、第２実施例における印刷処理の概要を示す説明図である。図１４（Ａ），（Ｂ）は、図５（Ａ），（Ｂ）とほぼ同じである。なお、本実施例では、図５（Ｃ）に対応する処理は実行されない。
【０１８３】
本実施例では、コンピュータＰＣは、１９ページ分の画像の印刷の実行を要求する原ジョブＪＢ０ｂを生成し、原ジョブＪＢ０ｂを含む通信データＤＴ０ｂを分散元プリンタＰＲＴ１に供給する。分散元プリンタＰＲＴ１は、該１９ページ分の画像が４台の分散先プリンタＰＲＴ１〜ＰＲＴ４によって印刷されるように、互いに異なる分散ジョブＪＢ１ｂ〜ＪＢ４ｂを生成し、分散ジョブＪＢ１ｂ〜ＪＢ４ｂをそれぞれ含む通信データＤＴ１ｂ〜ＤＴ４ｂを各分散先プリンタＰＲＴ１〜ＰＲＴ４に供給する。ただし、本実施例では、後述するように、各印刷ジョブのデータ構造が第１実施例と異なっている。
【０１８４】
図１４（Ａ）に示すように、分散ジョブＪＢ１ｂ〜ＪＢ４ｂは、第１実施例のジョブＪＢ０〜ＪＢ４とほぼ同様に、ページ画像の印刷の実行を要求すると共に、印刷済み用紙を第１または第２の状態で出力することを要求する。
【０１８５】
図１４（Ｂ）では、図５（Ｂ）と同様に、３台のプリンタＰＲＴ２〜ＰＲＴ４は、分散ジョブＪＢ２ｂ〜ＪＢ４ｂに従った印刷を完了しているが、第１のプリンタＰＲＴ１は、分散ジョブＪＢ１ｂに従った印刷を完了していない。具体的には、第１のプリンタＰＲＴ１は、用紙不足のため、４，５ページ目の画像の印刷を終了していない。
【０１８６】
このとき、第１の分散先プリンタＰＲＴ１は、図５（Ｂ）と同様に、未実行ジョブＪＢ５ｂを含む通信データＤＴ５ｂを第２の分散先プリンタＰＲＴ２に供給し、第２の分散先プリンタＰＲＴ２に４，５ページ目の画像の印刷の代行を依頼する。
【０１８７】
本実施例においても、各プリンタＰＲＴ１〜ＰＲＴ４が与えられた各ジョブに従って印刷を実行すれば、ユーザは、第１実施例と同様に、ページの連続性が保たれた１９枚の印刷済み用紙を容易に得ることができる。
【０１８８】
Ｂ−２．通信データ：
図１５は、第２実施例における通信データＤＴ０ｂ〜ＤＴ４ｂの具体的な内容を示す説明図である。図１５（Ａ）〜（Ｅ）は、それぞれ、通信データＤＴ０ｂ〜ＤＴ４ｂを示している。
【０１８９】
図１５（Ａ）〜（Ｅ）に示すように、本実施例では、データ部の印刷ジョブは、１組のジョブデータを含んでいる。１組のジョブデータは、制御データＣＤと、昇順に並んだ複数のページの画像を表す１種類の印刷データＰＤと、を含んでいる。
【０１９０】
各制御データには、第１実施例と同様に、「SUBMISSION」，「TOTAL PAGES」，「START PAGE」，「END PAGE」，「PRINT FACE」，「PARTNER ADD.」情報が含まれていると共に、「KEEPJOB」，「PRINT ORDER」情報が含まれている。なお、図１５では、「SUBMISSION」，「TOTAL PAGES」情報は、原ジョブＪＢ０ｂ（図１５（Ａ））のみに含まれているように示されているが、分散ジョブＪＢ１ｂ〜ＪＢ４ｂ（図１５（Ｂ）〜（Ｅ））にも同様に含まれている。また、図１５に示すように、「START PAGE」，「END PAGE」，「PARTNER ADD.」情報は、ジョブＪＢ１ｂ〜ＪＢ４ｂ（図１５（Ｂ）〜（Ｅ））のみに含まれている。「KEEPJOB」情報と「PRINT ORDER」情報とは、以下の内容を示している。
【０１９１】
・「KEEPJOB」情報：分散先プリンタにおける分散ジョブの取扱を示す。「KEEPJOB=ON」は分散先プリンタが分散ジョブの印刷を完了した後にも該分散ジョブを保持すべきことを示し、「KEEPJOB=RECALL」は分散先プリンタが保持された分散ジョブを読み出すべきことを示す。
【０１９２】
・「PRINT ORDER」情報：分散先プリンタによるページ画像の出力順序を示す。「PRINT ORDER=ASCENDING」は、複数のページ画像を昇順に出力すべきことを示し、「PRINT ORDER=DESCENDING」は、複数のページ画像を降順に出力すべきことを示す。
【０１９３】
第１および第３の分散先プリンタＰＲＴ１，ＰＲＴ３は、それぞれ、図１５（Ｂ），（Ｄ）に示す分散ジョブＪＢ１ｂ，ＪＢ３ｂに含まれる１組のジョブデータを利用する。ジョブデータは、「PRINT FACE=DOWN」および「PRINT ORDER=ASCENDING」が記述された制御データＣＤと、昇順に並んだ複数のページの画像を表す印刷データＰＤと、を含んでいる。このため、第１および第３のプリンタＰＲＴ１，ＰＲＴ３は、図１４に示すように、各印刷済み用紙の表面が排紙トレイ上で下方を向き、かつ、各印刷済み用紙が昇順に並んだ状態（第１の状態）で、各印刷済み用紙を出力することができる。
【０１９４】
また、第２および第４の分散先プリンタＰＲＴ２，ＰＲＴ４は、それぞれ、図１５（Ｃ），（Ｅ）に示す分散ジョブＪＢ２ｂ，ＪＢ４ｂに含まれる１組のジョブデータを利用する。ジョブデータは、「PRINT FACE=UP」および「PRINT ORDER=DESCENDING」が記述された制御データＣＤと、昇順に並んだ複数のページの画像を表す印刷データＰＤと、を含んでいる。このため、第２および第４のプリンタＰＲＴ２，ＰＲＴ４は、図１４に示すように、各印刷済み用紙の表面が排紙トレイ上で上方を向き、かつ、各印刷済み用紙が降順に並んだ状態（第２の状態）で、各印刷済み用紙を出力することができる。
【０１９５】
上記のように、本実施例では、「PRINT ORDER」情報が含まれている。このため、１種類の印刷データＰＤのみが利用されるにも拘わらず、第１および第３のプリンタＰＲＴ１，ＰＲＴ３は、各印刷済み用紙が昇順に並んだ状態で、各印刷済み用紙を出力することができ、第２および第４のプリンタＰＲＴ２，ＰＲＴ４は、各印刷済み用紙が降順に並んだ状態で、各印刷済み用紙を出力することができる。
【０１９６】
なお、本実施例における「PRINT ORDER」情報が、本発明における出力順序指定情報に相当する。
【０１９７】
Ｂ−３．分散元プリンタの処理：
本実施例では、図７と同様の手順で、分散元プリンタの処理が実行される。ただし、印刷ジョブのデータ構造の変更に伴って、図７のステップＳ１１４の具体的な処理内容が以下のように変更される。
【０１９８】
ステップＳ１１４では、分散処理部２２０は、ジョブ格納部２２６に格納された原ジョブＪＢ０ｂの制御データＣＤを変更して分散ジョブＪＢ１ｂ〜ＪＢ４ｂを生成し、該ジョブＪＢ１ｂ〜ＪＢ４ｂを含む通信データＤＴ１ｂ〜ＤＴ４ｂ（図１５（Ｂ）〜（Ｅ））を各分散先プリンタＰＲＴ１〜ＰＲＴ４に供給する。
【０１９９】
本実施例では、複数のページ画像が昇順に並んだ１種類の印刷データＰＤが使用される。図１６は、ページ画像のページ番号と、指定値と、の関係を示す説明図である。図示するように、本実施例では、ページ画像のページ番号（例えば５）と指定値（例えば５）とは、常に、一致する。したがって、各分散ジョブＪＢ１ｂ〜ＪＢ４ｂには、印刷開始ページ（図１５の「START PAGE」）の指定値ＳＰとして、割当先頭ページＳ（式（３））の値と同じ値が含まれ、印刷終了ページ（図１５の「END PAGE」）の値ＥＰとして、割当最終ページＥ（式（４））の値と同じ値が含まれていればよい。
【０２００】
すなわち、本実施例では、第（２・ｘ−１）のプリンタに与えられるジョブと第（２・ｘ）のプリンタに与えられるジョブとに含まれるべき指定値ＳＰ，ＥＰは、それぞれ、式（１１）で表される。
【０２０１】
【数１１】
0004635785.tif 000012
【０２０２】
本実施例では、式（１１）に基づいて上記の各値ＳＰ，ＥＰが求められる。そして、分散処理部２２０は、図１５（Ｂ）〜（Ｅ）に示すように、「START PAGE」情報および「END PAGE」情報が追加されたジョブＪＢ１ｂ〜ＪＢ４ｂを生成する。
【０２０３】
また、ステップＳ１１４では、分散処理部２２０は、「PRINT ORDER」情報と「PRINT FACE」情報とが変更され、「KEEPJOB 」情報と「PARTNER ADD.」情報とが追加された分散ジョブＪＢ１ｂ〜ＪＢ４ｂを生成する。
【０２０４】
具体的には、分散処理部２２０は、第（２・ｘ−１）の分散先プリンタに与えられる分散ジョブの制御データＣＤに「PRINT ORDER=ASCENDING」，「PRINT FACE=DOWN」を設定する。また、分散処理部２２０は、第（２・ｘ）の分散先プリンタに与えられるジョブの制御データＣＤに「PRINT ORDER=DESCENDING」，「PRINT FACE=UP」を設定する。
【０２０５】
本実施例では、図１５（Ｂ）〜（Ｅ）に示すように、分散ジョブＪＢ１ｂ，ＪＢ３ｂの制御データＣＤに「PRINT ORDER=ASCENDING」，「PRINT FACE=DOWN」が設定され、分散ジョブＪＢ２ｂ，ＪＢ４ｂの制御データＣＤに「PRINT ORDER=DESCENDING」，「PRINT FACE=UP」が設定される。
【０２０６】
また、分散処理部２２０は、ペアを構成する一方の分散先プリンタに与えられるジョブに含まれる制御データＣＤに、第１実施例と同様に、「PARTNER ADD.」情報として、パートナープリンタ（他の分散先プリンタ）のＩＰアドレスを設定する。さらに、分散処理部２２０は、各分散先プリンタに与えられるジョブに含まれる制御データＣＤに、「KEEPJOB=ON」を設定する。
【０２０７】
ステップＳ１１４では、上記のようにして、各分散先プリンタに適したジョブＪＢ１ｂ〜ＪＢ４ｂ（図１５（Ｂ）〜（Ｅ））が生成され、各分散先プリンタに供給される。
【０２０８】
Ｂ−４．分散先プリンタの処理：
図１７は、第３実施例における分散先プリンタの処理内容を示すフローチャートである。図１７は、図９とほぼ同じであるが、図９のステップＳ２２２に代えて、ステップＳ２２４が実行される。また、図１７では、ステップＳ２１２，Ｓ２１４，Ｓ２１６，Ｓ２１８が追加されている。
【０２０９】
ステップＳ２２４の処理は、注目分散先プリンタ（例えばＰＲＴ１）でエラーが発生しており、かつ、パートナーである他の分散先プリンタ（例えばＰＲＴ２）でエラーが発生していない場合に実行される。
【０２１０】
ステップＳ２２４では、注目分散先プリンタ（例えばＰＲＴ１）の未実行ジョブ生成部２３４は、分散ジョブ（例えばＪＢ１ｂ）の制御データを変更して未実行ジョブ（例えばＪＢ５ｂ）を生成し、未実行ジョブを含む通信データ（例えばＤＴ５ｂ）をパートナープリンタ（例えばＰＲＴ２）に供給する。具体的には、未実行ジョブ生成部２３４は、プリンタコントローラ２６０から、未印刷ページ情報を受け取ると共に、プリンタバッファ２６２内に格納された分散ジョブ（例えばＪＢ１ｂ）に含まれる制御データＣＤのみを受け取る。そして、未実行ジョブ生成部２３４は、分散ジョブの制御データＣＤを変更して、制御データＣＤを含み印刷データＰＤを含まない未実行ジョブ（例えばＪＢ５ｂ）を生成する。未実行ジョブのパートナープリンタ（例えばＰＲＴ２）への供給が完了すると、ステップＳ２３０に進み、ステップＳ２０２で受信した分散ジョブ（例えばＪＢ１ｂ）が削除される。
【０２１１】
ステップＳ２１２の処理は、ステップＳ２１０で注目分散先プリンタ（例えばＰＲＴ１）が分散ジョブ（例えばＪＢ１ｂ）に従った印刷を完了した場合に実行される。
【０２１２】
ステップＳ２１２では、注目分散先プリンタ（例えばＰＲＴ１）のジョブ処理部２３０は、パートナーである他の分散先プリンタ（例えばＰＲＴ２）に印刷が完了した旨を通知する。
【０２１３】
ステップＳ２１４では、注目分散先プリンタ（例えばＰＲＴ１）は、パートナープリンタ（例えばＰＲＴ２）から印刷を完了した旨の通知を受信したか否かを判断する。パートナープリンタから印刷完了通知を受信した場合には、ステップＳ２３０に進み、ステップＳ２０２で受信した分散ジョブ（例えばＪＢ１ｂ）が削除される。一方、パートナープリンタから印刷完了通知を受信していない場合には、ステップＳ２１６に進む。
【０２１４】
ステップＳ２１６では、注目分散先プリンタ（例えばＰＲＴ１）のジョブ処理部２３０は、パートナープリンタ（例えばＰＲＴ２）から未実行ジョブを受信したか否かを判断する。パートナープリンタから未実行ジョブを受信した場合には、ステップＳ２１８に進む。一方、パートナープリンタから未実行ジョブを受信していない場合には、ステップＳ２１４に戻る。
【０２１５】
ステップＳ２１８では、注目分散先プリンタ（例えばＰＲＴ１）のプリンタエンジン２７０は、パートナープリンタ（例えばＰＲＴ２）から受信した未実行ジョブに従った印刷を実行する。ただし、ステップＳ２２４で説明したように、未実行ジョブは、制御データＣＤを含み印刷データＰＤを含んでいない。このため、注目分散先プリンタのプリンタコントローラ２６０は、ジョブ処理部２３０から受け取った未実行ジョブ（制御データＣＤ）と、プリンタバッファ２６２に保存された分散ジョブ（例えばＪＢ１ｂ）と、を利用してプリンタエンジン２７０に印刷を実行させる。印刷が完了すると、ステップＳ２３０に進み、ステップＳ２０２で受信した分散ジョブ（例えばＪＢ１ｂ）および未実行ジョブ（制御データ）が削除される。
【０２１６】
本実施例では、上記のように、各分散先プリンタは、自己のプリンタで分散ジョブに従った印刷を完了した場合には、パートナープリンタから印刷を完了した旨の通知を受け取った後（ステップＳ２１４）、あるいは、パートナープリンタから与えられた未実行ジョブに従った印刷を実行した後（ステップＳ２１８）に、自己のプリンタに与えられた分散ジョブを削除する。また、各分散先プリンタは、自己のプリンタでエラーが発生した場合には、パートナープリンタに未実行ジョブを供給した後（ステップＳ２２４）に、自己のプリンタに与えられた分散ジョブを削除する。
【０２１７】
上記の説明から分かるように、図１４（Ｂ）の場合には、第１の分散先プリンタＰＲＴ１は、ステップＳ２２４において、第１の分散ジョブＪＢ１ｂを用いて未実行ジョブＪＢ５ｂを生成し、未実行ジョブＪＢ５ｂをパートナーである第２の分散先プリンタＰＲＴ２に供給することができる。そして、第２の分散先プリンタＰＲＴ２は、ステップＳ２１６で未実行ジョブＪＢ５ｂを受け取り、ステップＳ２１８で未実行ジョブＪＢ５ｂに従った印刷を実行することができる。
【０２１８】
ただし、未実行ジョブＪＢ５ｂには、印刷データＰＤが含まれていない。このため、第２の分散先プリンタＰＴＴ２のプリンタコントローラ２６０は、未実行ジョブＪＢ５ｂを受け取ると、未実行ジョブＪＢ５ｂに含まれる「SUBMISSION」情報を利用して、プリンタバッファ２６２に保持された分散ジョブＪＢ２ｂの印刷データＰＤを読み出す。そして、プリンタコントローラ２６０は、未実行ジョブＪＢ５ｂの制御データＣＤと分散ジョブＪＢ２ｂの印刷データＰＤとを利用して印刷を実行する。
【０２１９】
図１８は、第２実施例における通信データＤＴ５ｂの具体的な内容を示す説明図である。図示するように、通信データＤＴ５ｂには、未実行ジョブＪＢ５ｂが含まれているが、未実行ジョブＪＢ５ｂには、印刷データＰＤは含まれておらず、制御データＣＤのみが含まれている。
【０２２０】
前述したように、図１８の未実行ジョブＪＢ５ｂは、第１の分散ジョブＪＢ１ｂ（図１５（Ｂ））の制御データＣＤの内容を変更して、生成される。具体的には、第１の分散先プリンタＰＲＴ１の未実行ジョブ生成部２３４は、第１の分散ジョブＪＢ１ｂ（図１５（Ｂ））の制御データＣＤの「KEEPJOB=ON」，「PRINT ORDER=ASCENDING」，「PRINT FACE=DOWN」，「PARTNERADRESS=IP2」をそれぞれ「KEEPJOB=RECALL」，「PRINT ORDER=DESCENDING」，「PRINT FACE=UP」，「PARTNERADRESS=IP1」に変更し、「START PAGE=4」，「END PAGE=5」を追加する。これにより、図１４（Ｂ）で説明したように、未印刷の４，５ページ目の画像（図１６参照）の印刷の実行を要求すると共に、各印刷済み用紙を第２の状態で出力することを要求する未実行ジョブＪＢ５ｂが生成される。なお、未印刷ページの指定値は、式（１１）に従って決定される。
【０２２１】
なお、本実施例においても、第１実施例の変形例で説明したように、制御データには、両面印刷に関する「DX」情報や、先頭用紙の表面に関する「FC」情報が含まれるようにしてもよい。
【０２２２】
以上説明したように、本実施例でも、第１実施例と同様に、第１の分散先プリンタが第１の分散ジョブＪＢ１ｂに従った印刷を続行できない場合に、サーバとしての機能を有する分散処理部２２０を利用せずに、第２の分散先プリンタＰＲＴ２に未実行ジョブＪＢ５ｂを実行させることができる。
【０２２３】
特に、本実施例では、各分散先プリンタでは、与えられた分散ジョブに従った印刷が完了した場合でも、パートナーである他の分散先プリンタの印刷が完了していない場合には、該分散ジョブが保持される。このため、本実施例では、第１の分散先プリンタＰＲＴ１は、印刷データＰＤを含まない未実行ジョブＪＢ５ｂを第２の分散先プリンタＰＲＴ２に供給するだけで済み、未実行ジョブＪＢ５ｂのサイズをかなり小さくすることができる。
【０２２４】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０２２５】
（１）第１実施例では、２つの制御データＣＤａ，ＣＤｂと２種類の印刷データＰＤａ，ＰＤｂとを含む印刷ジョブが利用されているが、これに代えて、１つの制御データと２種類の印刷データとを含む印刷ジョブが利用されるようにしてもよい。そして、第１の分散先プリンタが印刷を続行できない場合には、第１の分散先プリンタは、第２実施例と同様に、分散ジョブに含まれる１つの制御データを変更して、１つの制御データと２種類の印刷データとを含む未実行ジョブを生成すればよい。なお、この場合には、１つの制御データには、「TARGET」情報に代えて、分散先プリンタで利用されるべき一方の印刷データを示す他の印刷データ指定情報が含まれる。
【０２２６】
（２）第１実施例では、２種類の印刷データＰＤａ，ＰＤｂを含む印刷ジョブが利用されているが、これに代えて、第２実施例と同様に、１種類の印刷データを含む印刷ジョブが利用されてもよい。また、この場合には、制御データと１種類の印刷データとを含む未実行ジョブが利用されればよい。
【０２２７】
また、第２実施例では、１種類の印刷データを含む印刷ジョブが利用されているが、これに代えて、第１実施例と同様に、２種類の印刷データを含む印刷ジョブが利用されてもよい。また、この場合には、２種類の印刷データを含まず制御データのみを含む未実行ジョブが利用されればよい。
【０２２８】
（３）第１実施例では、各分散ジョブには、同じ印刷データＰＤａ，ＰＤｂが含まれており、第２実施例では、各分散ジョブには、同じ印刷データＰＤが含まれているが、各分散ジョブには、異なる印刷データが含まれるようにしてもよい。
【０２２９】
例えば、コンピュータＰＣは、昇順に並んだ複数のページの画像を表す第１種の印刷データを含む原ジョブを分散元プリンタに供給する。分散元プリンタは、第１種の印刷データから、降順に並んだ複数のページの画像を表す第２種の印刷データを生成する。そして、分散元プリンタは、第（２・ｘ−１）の分散先プリンタに第１種の印刷データを含む分散ジョブを供給し、第（２・ｘ）の分散先プリンタに第２種の印刷データを含む分散ジョブを供給する。この場合にも、第（２・ｘ−１）の分散先プリンタは、第１種の印刷データを用いて昇順に印刷を実行することができ、第（２・ｘ）の分散先プリンタは、第２種の印刷データを用いて降順に印刷を実行することができる。
【０２３０】
そして、第１の分散先プリンタが印刷を続行できない場合には、第１の分散先プリンタは、分散ジョブに含まれる第１種の印刷データから第２種の印刷データを生成して、該第２種の印刷データを含む未実行ジョブをパートナーである第２の分散先プリンタに供給すればよい。
【０２３１】
（４）上記実施例では、複数のページの印刷の実行を要求する原ジョブが、ページ単位で複数の分散先プリンタに分散されている。しかしながら、これに代えて、複数の部数の印刷の実行を要求する原ジョブが、部数単位で複数の分散先プリンタに分散されるようにしてもよい。この場合には、第１の分散先プリンタが印刷を続行できない場合には、第１の分散先プリンタは、複数の部数の印刷の実行を要求する分散ジョブのうちの未実行の部数の印刷を要求する未実行ジョブを第２の分散先プリンタに供給すればよい。
【０２３２】
また、上記実施例では、２台の分散先プリンタが１つのグループ（ペア）を構成しているが、これに代えて、３台以上の分散先プリンタが１つのグループを構成するようにしてもよい。ただし、２台の分散先プリンタが１つのグループ（ペア）を構成すれば、上記実施例のように、ページ単位で分散ジョブが生成され、未印刷ページの印刷を要求する未実行ジョブが発行される場合にも、ページの連続性が保たれた状態で各印刷済み媒体を出力させることができるという利点がある。
【０２３３】
一般には、第１の分散先プリンタの未実行ジョブ生成部は、第１の分散先プリンタが第１の分散ジョブに従った印刷を続行できない場合に、第１の分散ジョブのうちの未実行のジョブである第１の未実行ジョブを生成し、該第１の未実行ジョブを同じグループに属する第２の分散先印刷装置に供給すればよい。
【０２３４】
（５）上記実施例では、各分散先プリンタに供給されるジョブにパートナーの分散先プリンタのＩＰアドレスが含まれているが、これに代えて、各分散先プリンタは、自己のプリンタでエラーが発生した場合にのみ、分散元プリンタからパートナーのプリンタのＩＰアドレスを取得するようにしてもよい。
【０２３５】
一般には、装置情報取得部は、複数台の分散先印刷装置のうち、第１の分散先印刷装置と同じグループに属する第２の分散先印刷装置を特定する装置特定情報を分散元装置から取得すればよい。
【０２３６】
（６）上記実施例では、分散元プリンタＰＲＴ１は、分散元プリンタと同一機種のプリンタが登録された設定ファイルを利用して、分散先プリンタ候補を選択している。しかしながら、これに代えて、分散元プリンタは、ネットワークに接続されている多数のプリンタの中から、分散元プリンタと同じ機種名を有する複数の分散先プリンタ候補を取得するようにしてもよい。なお、各プリンタの機種名は、分散元プリンタのＳＮＭＰマネージャ部が各プリンタのＳＮＭＰエージェント部に問い合わせることによって取得可能である。
【０２３７】
また、上記実施例では、設定ファイルには、分散元プリンタと同一機種のプリンタが登録されているが、これに加えて、類似機種のプリンタが登録されていてもよい。例えば、カラー印刷およびモノクロ印刷を実行可能な上位機種のプリンタと、該上位機種のプリンタからカラー印刷機能が省略された下位機種のプリンタとでは、通常、モノクロ印刷時には、同一の印刷データを利用して印刷が実行される。したがって、下位機種のプリンタが分散元プリンタとして選択された場合には、下位機種のプリンタと上位機種のプリンタとが分散先プリンタとして選択されるようにしてもよい。すなわち、分散先プリンタとしては、同一の印刷データを使用して印刷を実行可能なプリンタが選択されればよい。
【０２３８】
（７）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【０２３９】
【図１】分散印刷システムを示す説明図である。
【図２】通信データの構造を模式的に示す説明図である。
【図３】図１のコンピュータＰＣの内部構成を示す説明図である。
【図４】図１の第１および第２のプリンタＰＲＴ１，ＰＲＴ２の内部構成を示す説明図である。
【図５】第１実施例における印刷処理の概要を示す説明図である。
【図６】第１実施例における通信データＤＴ０〜ＤＴ４の具体的な内容を示す説明図である。
【図７】分散元プリンタの処理内容を示すフローチャートである。
【図８】ページ画像のページ番号と、指定値と、の関係を示す説明図である。
【図９】分散先プリンタの処理内容を示すフローチャートである。
【図１０】第１実施例における通信データＤＴ５，ＤＴ６の具体的な内容を示す説明図である。
【図１１】第１実施例の変形例における印刷処理の概要を示す説明図である。
【図１２】第１実施例の変形例における通信データＤＴ０’〜ＤＴ４’の具体的な内容を示す説明図である。
【図１３】第１実施例の変形例における通信データＤＴ５’，ＤＴ６’の具体的な内容を示す説明図である。
【図１４】第２実施例における印刷処理の概要を示す説明図である。
【図１５】第２実施例における通信データＤＴ０ｂ〜ＤＴ４ｂの具体的な内容を示す説明図である。
【図１６】ページ画像のページ番号と、指定値と、の関係を示す説明図である。
【図１７】第３実施例における分散先プリンタの処理内容を示すフローチャートである。
【図１８】第２実施例における通信データＤＴ５ｂの具体的な内容を示す説明図である。
【符号の説明】
【０２４０】
１１０…ＣＰＵ
１２０…内部記憶装置
１３０…印刷ジョブ生成部
１５０…外部記憶装置
１６０…表示部
１７０…操作部
１９０…通信ＩＦ部
２１０…通信制御部
２２０…分散処理部
２２２…分散先プリンタ決定部
２２３…設定ファイル格納部
２２４…割当ページ決定部
２２６…ジョブ格納部
２３０…ジョブ処理部
２３２…プリンタ特定情報取得部
２３４…未実行ジョブ生成部
２４２…ＳＮＭＰマネージャ部
２４４…ＳＮＭＰエージェント部
２６０…プリンタコントローラ
２６２…プリンタバッファ
２６４…ＭＩＢ格納部
２７０…プリンタエンジン
ＮＢａ…ネットワークボード
ＮＢｂ…ネットワークボード
ＮＷ…ネットワーク
ＰＣ…パーソナルコンピュータ
ＰＲＢ…プリンタ本体
【図１】
0004635785.tif 000013
【図２】
0004635785.tif 000014
【図３】
0004635785.tif 000015
【図４】
0004635785.tif 000016
【図５】
0004635785.tif 000017
【図６】
0004635785.tif 000018
【図７】
0004635785.tif 000019
【図８】
0004635785.tif 000020
【図９】
0004635785.tif 000021
【図１０】
0004635785.tif 000022
【図１１】
0004635785.tif 000023
【図１２】
0004635785.tif 000024
【図１３】
0004635785.tif 000025
【図１４】
0004635785.tif 000026
【図１５】
0004635785.tif 000027
【図１６】
0004635785.tif 000028
【図１７】
0004635785.tif 000029
【図１８】
0004635785.tif 000030