JP4635785B2 - 印刷ジョブの分散処理 - Google Patents

印刷ジョブの分散処理 Download PDF

Info

Publication number
JP4635785B2
JP4635785B2 JP2005248733A JP2005248733A JP4635785B2 JP 4635785 B2 JP4635785 B2 JP 4635785B2 JP 2005248733 A JP2005248733 A JP 2005248733A JP 2005248733 A JP2005248733 A JP 2005248733A JP 4635785 B2 JP4635785 B2 JP 4635785B2
Authority
JP
Japan
Prior art keywords
print job
distributed
distribution destination
printing
job
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005248733A
Other languages
English (en)
Other versions
JP2007062059A (ja
Inventor
敏博 島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005248733A priority Critical patent/JP4635785B2/ja
Priority to US11/510,659 priority patent/US7692805B2/en
Publication of JP2007062059A publication Critical patent/JP2007062059A/ja
Application granted granted Critical
Publication of JP4635785B2 publication Critical patent/JP4635785B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1261Job scheduling, e.g. queuing, determine appropriate device by using alternate printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1291Pool of printer devices: self-managing printing devices in a network, e.g. without a server

Description

本発明は、印刷ジョブを複数のプリンタに分散させる分散印刷の技術に関する。
分散印刷システムでは、通常、サーバと複数のプリンタとがネットワークを介して接続されており、サーバがコンピュータから受け取った印刷ジョブを複数の分散先プリンタに分散させる。これにより、複数の分散先プリンタにおいて印刷ジョブに従った印刷が行われる。
特許文献1では、紙詰まりによってプリンタ対の一方でジョブの実行が停止したときに、サーバが、プリンタ対の他方に未出力部分のジョブを再作成して送信することが開示されている。
特開2002−268850号公報 特開2004−181647号公報
従来の技術では、未出力部分のジョブはサーバによって再作成されているため、サーバが必要となってしまうという問題があった。
本発明は、上述の課題を解決するためになされたものであり、第1の分散先印刷装置が印刷ジョブに従った印刷の続行ができない場合に、サーバを利用せずに、第2の分散先印刷装置に未実行の印刷ジョブを実行させることを目的とする。
上述の課題の少なくとも一部を解決するため、本発明の第1の装置は、原印刷ジョブを分散させる分散処理を実行する分散元装置と、前記分散元装置から供給される複数の分散済み印刷ジョブのそれぞれに従って印刷を実行する複数台の分散先印刷装置と、を備える印刷システムにおいて利用される第1の分散先印刷装置であって、
印刷を実行する印刷実行部と、
前記分散元装置から供給される第1の分散済み印刷ジョブを取得し、前記印刷実行部に前記第1の分散済み印刷ジョブを与えるための印刷ジョブ処理部と、
を備え、
前記印刷ジョブ処理部は、
前記複数台の分散先印刷装置のうち、前記第1の分散先印刷装置と同じグループに属する第2の分散先印刷装置を特定する装置特定情報を前記分散元装置から取得する装置情報取得部と、
前記第1の分散先印刷装置が前記第1の分散済み印刷ジョブに従った印刷を続行できない場合に、前記第1の分散済み印刷ジョブのうちの未実行の印刷ジョブである第1の未実行印刷ジョブを生成し、前記第1の未実行印刷ジョブを前記装置特定情報によって特定される前記第2の分散先印刷装置に供給する未実行印刷ジョブ生成部と、
を備え
前記印刷ジョブ処理部は、前記分散元装置から前記第2の分散先印刷装置に供給された第2の分散済み印刷ジョブのうちの未実行の印刷ジョブである第2の未実行印刷ジョブを、前記第2の分散先印刷装置から取得する場合には、前記印刷実行部に前記第2の未実行印刷ジョブを与え、
前記原印刷ジョブは、複数のページの印刷の実行を要求し、
前記第1の分散済み印刷ジョブは、前記複数のページのうちの第1の部分のページの印刷の実行を要求すると共に、前記第1の部分のページが印刷される各印刷済み媒体が第1の状態であって、前記各印刷済み媒体の印刷面が第1の方向を向き、前記各印刷済み媒体が前記第1の方向から該第1の方向の反対の方向である第2の方向に向けて昇順に並ぶ前記第1の状態で出力されることを要求し、
前記第2の分散済み印刷ジョブは、前記複数のページのうちの前記第1の部分と異なり前記第1の部分のページに続く第2の部分のページの印刷の実行を要求すると共に、前記第2の部分のページが印刷される各印刷済み媒体が第2の状態であって、前記各印刷済み媒体の印刷面が前記第2の方向を向き、前記各印刷済み媒体が前記第1の方向から前記第2の方向に向けて降順に並ぶ前記第2の状態で出力されることを要求し、
前記第1の未実行印刷ジョブは、前記第1の部分のページのうちの前記第2の部分のページの直前の未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第2の状態で出力されることを要求し、
前記第1の部分のページと前記第2の部分のページとは連続しており、前記第1の部分のページの方が前記第2の部分のページよりも若いページであることを特徴とする。
第1の分散先印刷装置では、第1の分散済み印刷ジョブに従った印刷を続行できない場合には第1の未実行印刷ジョブを生成し、該第1の未実行印刷ジョブを装置特定情報によって特定される第2の分散先印刷装置に供給することができる。これにより、第1の分散先印刷装置が第1の分散済み印刷ジョブに従った印刷を続行できない場合に、サーバとしての機能を有する分散元装置を利用せずに、第2の分散先印刷装置に第1の未実行印刷ジョブを実行させることが可能となる。
上記の装置において、
前記印刷ジョブ処理部は、前記分散元装置から前記第2の分散先印刷装置に供給された第2の分散済み印刷ジョブのうちの未実行の印刷ジョブである第2の未実行印刷ジョブを、前記第2の分散先印刷装置から取得する場合には、前記印刷実行部に前記第2の未実行印刷ジョブを与えることが好ましい。
こうすれば、第1の分散先印刷装置は、第2の分散先印刷装置から第2の未実行印刷ジョブを取得した場合に、第2の未実行印刷ジョブに従った印刷を実行することができる。
上記の装置において、
前記原印刷ジョブは、複数のページの印刷の実行を要求し、
前記第1の分散済み印刷ジョブは、前記複数のページのうちの第1の部分のページの印刷の実行を要求し、
前記第2の分散済み印刷ジョブは、前記複数のページのうちの前記第1の部分と異なる第2の部分のページの印刷の実行を要求し、
前記第1の未実行印刷ジョブは、前記第1の部分のページのうちの未印刷のページの印刷の実行を要求するようにしてもよい。
上記の装置において、
前記第1の分散済み印刷ジョブは、前記第1の部分のページの印刷の実行を要求すると共に、前記第1の部分のページが印刷される各印刷済み媒体が第1の状態であって、前記各印刷済み媒体の所定面が第1の方向を向き、前記各印刷済み媒体が昇順に並ぶ前記第1の状態で出力されることを要求し、
前記第2の分散済み印刷ジョブは、前記第1の部分のページに続く前記第2の部分のページの印刷の実行を要求すると共に、前記第2の部分のページが印刷される各印刷済み媒体が第2の状態であって、前記各印刷済み媒体の所定面が前記第1の方向と異なる第2の方向を向き、前記各印刷済み媒体が降順に並ぶ前記第2の状態で出力されることを要求し、
前記第1の未実行印刷ジョブは、前記第1の部分のページのうちの前記第2の部分のページの直前の前記未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第2の状態で出力されることを要求することが好ましい。
こうすれば、第1および第2の分散先印刷装置に、ページの連続性が保たれた状態で、各印刷済み媒体を出力させることができる。
上記の装置において、
前記各分散済み印刷ジョブは、
昇順に並んだ前記複数のページの画像を表す第1種の前記印刷データと、
降順に並んだ前記複数のページの画像を表す第2種の前記印刷データと、
前記2種類の印刷データのうちの前記各分散先印刷装置で利用されるべき一方の印刷データを示す印刷データ指定情報と、
を含み、
前記第1の未実行印刷ジョブは、前記第1の分散済み印刷ジョブに含まれる前記印刷データ指定情報を変更することによって生成されるようにしてもよい。
あるいは、上記の装置において、
前記各分散済み印刷ジョブは、
所定の順序で並んだ前記複数のページの画像を表す前記印刷データと、
前記各分散先印刷装置で印刷される前記各印刷済み媒体の出力順序を示す出力順序指定情報と、
を含み、
前記第1の未実行印刷ジョブは、前記第1の分散済み印刷ジョブに含まれる前記出力順序指定情報を変更することによって生成されるようにしてもよい。
上記の装置において、
前記各分散済み印刷ジョブは、前記複数のページの画像を表す印刷データを含んでおり、
前記第2の分散先印刷装置では、前記第2の分散済み印刷ジョブに従った印刷が完了した場合には前記第2の分散済み印刷ジョブが削除され、
前記未実行印刷ジョブ生成部は、前記第2の分散先印刷装置に、前記第1の分散済み印刷ジョブを用いて生成され、前記印刷データを含む前記第1の未実行印刷ジョブを供給することが好ましい。
こうすれば、第2の分散先印刷装置において第2の分散済み印刷ジョブが削除された後にも、第1の分散先印刷装置の未実行印刷ジョブ生成部は、第2の分散先印刷装置に第1の未実行印刷ジョブに従った印刷を実行させることができる。
あるいは、上記の装置において、
前記各分散済み印刷ジョブは、前記複数のページの画像を表す印刷データを含んでおり、
前記第2の分散先印刷装置では、前記第1の分散先印刷装置で前記第1の分散済み印刷ジョブに従った印刷が完了するまで、前記第2の分散済み印刷ジョブが保持され、
前記未実行印刷ジョブ生成部は、前記第2の分散先印刷装置に、前記第1の分散済み印刷ジョブを用いて生成され、前記印刷データを含まない前記第1の未実行印刷ジョブを供給することが好ましい。
このように、第1の分散先印刷装置における印刷が完了するまで、第2の分散先印刷装置において第2の分散済み印刷ジョブが保持されれば、第1の分散先印刷装置の未実行印刷ジョブ生成部は、印刷データを含まない第1の未実行印刷ジョブを第2の分散先印刷装置に供給することができるため、第1の未実行印刷ジョブのサイズをかなり小さくすることができる。
上記の装置において、
前記装置特定情報は、前記第1の分散済み印刷ジョブに含まれるようにしてもよい。
上記の装置において、
前記グループは、前記第1の分散先印刷装置と前記第2の分散先印刷装置とで構成されるようにしてもよい。
上記の装置において、
前記第1の分散先印刷装置は、前記分散元装置を含むようにしてもよい。
こうすれば、サーバとしての機能を有する分散元装置を独立して設けずに済む。
本発明の第2の装置は、印刷システムであって、
上記のいずれかに記載の前記第1の分散先印刷装置を含む前記複数台の分散先印刷装置と、
前記分散元装置と、
を備えることを特徴とする。
なお、本発明は、他の態様でも実現可能である。例えば、本発明の第3の装置は、分散元装置であって、
原印刷ジョブから複数の分散済み印刷ジョブを生成し、前記複数の分散済み印刷ジョブを複数台の分散先印刷装置に供給するための分散処理部を備え、
前記分散処理部は、
前記複数台の分散先印刷装置のうちの少なくとも2台の分散先印刷装置を含むグループを設定し、前記グループに属する第1の分散先印刷装置に、前記グループに属する第2の分散先印刷装置を特定する装置特定情報を供給する装置特定情報供給部を備えることを特徴とする。
この発明は、種々の形態で実現することが可能であり、分散先印刷装置および該装置の処理方法、印刷システムおよび該システムに含まれる分散先印刷装置の処理方法、これらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
次に、本発明の実施の形態を実施例に基づき以下の順序で説明する。
A.第1実施例:
A−1.分散印刷システムの構成:
A−1−1.パーソナルコンピュータの構成:
A−1−2.プリンタの構成:
A−2.印刷処理:
A−2−1.印刷処理の概要:
A−2−2.通信データ:
A−2−3.分散元プリンタの処理:
A−2−4.分散先プリンタの処理:
A−3.第1実施例の変形例:
A−3−1.印刷処理の概要:
A−3−2.通信データ:
A−3−3.分散元プリンタの処理:
A−3−4.分散先プリンタの処理:
B.第2実施例:
B−1.印刷処理の概要:
B−2.通信データ:
B−3.分散元プリンタの処理:
B−4.分散先プリンタの処理:
A.第1実施例:
A−1.分散印刷システムの構成:
図1は、分散印刷システムを示す説明図である。分散印刷システムは、パーソナルコンピュータPCと、複数のプリンタPRT1〜PRT5と、を備えており、各機器は、ローカルエリアネットワーク(LAN)NWを介して互いに接続されている。
各機器間の通信は、TCP/IPプロトコルによって実現されており、各機器には、IPアドレスが予め割り当てられている。図1では、コンピュータPCには、IPアドレス「IPc」が割り当てられており、プリンタPRT1〜PRT5には、IPアドレス「IP1」〜「IP5」がそれぞれ割り当てられている。なお、IPアドレスは、実際には、ネットワークNWに接続されるネットワークボードなどのノードに割り当てられている。
図1では、第1のプリンタPRT1には、第1種のネットワークボードNBaが搭載されており、他のプリンタPRT2〜PRT5には、第2種のネットワークボードNBbが搭載されている。各ネットワークボードNBa,NBbは、ネットワークNWを介して、通信データを遣り取りするためのインタフェースである。特に、第1種のネットワークボードNBaは、コンピュータPCから与えられた分散対象の印刷ジョブを複数のプリンタに分散させる分散処理を実行する機能を有する。第1種のネットワークボードNBaが搭載されたプリンタは、分散元のプリンタとして機能し得ると共に、分散先のプリンタとして機能し得る。一方、第2種のネットワークボードNBbが搭載されたプリンタは、分散先のプリンタとしてのみ機能し得る。
図1では、コンピュータPCから分散元プリンタPRT1に与えられた分散対象の印刷ジョブが、4つの分散先プリンタPRT1〜PRT4に分散されるときの通信データDT0〜DT4の遣り取りが示されている。
図2は、通信データの構造を模式的に示す説明図である。図示するように、通信データは、ヘッダ部とデータ部とを含んでいる。
ヘッダ部は、送信元IPアドレスと、送信先IPアドレスと、送信元ポート番号と、送信先ポート番号と、を含んでいる。送信元IPアドレスは、通信データを送信する送信元機器のIPアドレスを示し、送信先IPアドレスは、通信データを受信する送信先機器のIPアドレスを示す。送信元ポート番号は、送信元機器内におけるソフトウェアを特定するポート番号を示し、送信先ポート番号は、送信先機器内におけるソフトウェアを特定するポート番号を示す。
データ部は、印刷ジョブを含んでいる。印刷ジョブは、後述するように、制御データと印刷データとを含んでいる。印刷データは、複数のページの画像を表すデータであり、ESC/pageやPostscriptなどのページ記述言語で記述されている。制御データは、印刷ジョブの属性や印刷データを用いた印刷を実行する際に必要なコマンドなどを含んでおり、所定のジョブ制御言語(本実施例ではEpson Job Language)を用いて記述されている。
図1において、コンピュータPCは、まず、分散元プリンタPRT1に対して分散対象の印刷ジョブJB0を含む通信データDT0を送信する。通信データDT0(図1)には、送信先IPアドレス「IP1」と、送信先ポート番号「59100」と、が含まれている。
なお、本実施例では、印刷プロトコルとして無手順プロトコルが用いられている。無手順プロトコルでは、通常、ポート番号として「9100」が割り当てられている。本実施例では、コンピュータPCから分散元プリンタPRT1に印刷ジョブを送信する際には、ポート番号として通常の「9100」に代えて「59100」が用いられる。
分散元プリンタPRT1の第1種のネットワークボードNBaは、通信データDT0を受信すると、ポート番号「59100」に待機しているソフトウェアに分散対象の印刷ジョブJB0を渡す。ポート番号「59100」には、分散対象の印刷ジョブを分散させるための分散処理用ソフトウェアが待機している。図1では、分散処理用ソフトウェアは、自己のプリンタPRT1を含む4つのプリンタPRT1〜PRT4を分散先プリンタとして決定している。そして、分散処理用ソフトウェアは、分散済みの印刷ジョブJB1〜JB4をそれぞれ含む通信データDT1〜DT4を生成し、分散先プリンタPRT1〜PRT4に送信する。通信データDT1〜DT4では、送信先IPアドレスとして「IP1」,「IP2」,「IP3」,「IP4」がそれぞれ設定されており、送信先ポート番号として「9100」が設定されている。
分散先プリンタPRT2の第2種のネットワークボードNBbは、通信データDT2を受信すると、ポート番号「9100」に待機しているソフトウェアに分散済みのジョブJB2を渡す。前述したように、ポート番号「9100」は、印刷プロトコルである無手順プロトコルに対して通常割り当てられているポート番号であり、ポート番号「9100」には、受け取った印刷ジョブを処理するためのジョブ処理用ソフトウェアが待機している。ジョブ処理用ソフトウェアは、分散済み印刷ジョブJB2をプリンタPRT2内のコントローラに渡し、この結果、プリンタPRT2では、印刷ジョブJB2に従った印刷が実行される。なお、他の分散先プリンタPRT1,PRT3,PRT4においても、分散先プリンタPRT2と同様に、分散済みの印刷ジョブに従った印刷が実行される。
本実施例では、コンピュータPCは、複数のページの印刷を要求する印刷ジョブJB0を分散元プリンタPRT1に与える。そして、分散元プリンタPRT1は、複数のページのうちの互いに異なる一部のページの印刷を要求する印刷ジョブJB1〜JB4を分散先プリンタPRT1〜PRT4に与える。これにより、4台の分散先プリンタによって複数のページの画像が印刷される。また、本実施例では、いずれかの分散先プリンタが印刷を続行できない場合には、他の分散先プリンタが代わりに印刷を続行する。
なお、以下では、分散対象の印刷ジョブ(JB0)を単に「原ジョブ」とも呼び、実行対象の分散済み印刷ジョブ(JB1〜JB4)を単に「分散ジョブ」とも呼ぶ。
A−1−1.パーソナルコンピュータの構成:
図3は、図1のコンピュータPCの内部構成を示す説明図である。コンピュータPCは、CPU110と、ROMやRAMなどの内部記憶装置120と、外部記憶装置150と、表示部160と、マウスやキーボードなどの操作部170と、通信インタフェース部(通信IF部)190と、を備えている。
内部記憶装置120には、印刷ジョブ生成部130として機能するコンピュータプログラム(プリンタドライバ)が格納されている。印刷ジョブ生成部130は、ユーザからの指示に従って、分散対象の印刷ジョブ(原ジョブ)を生成する。そして、印刷ジョブ生成部130は、原ジョブを通信IF部190を介して分散元プリンタPRT1に供給する。印刷ジョブ生成部130の機能は、CPU110がコンピュータプログラム(プリンタドライバ)を実行することによって実現される。コンピュータプログラムは、CD−ROMなどのコンピュータ読み取り可能な記録媒体に記録された形態で提供される。
A−1−2.プリンタの構成:
図4は、図1の第1および第2のプリンタPRT1,PRT2の内部構成を示す説明図である。
第1のプリンタPRT1は、プリンタ本体PRBと、前述の第1種のネットワークボードNBaと、を備えている。
プリンタ本体PRBは、プリンタコントローラ260とプリンタエンジン270とを備えている。プリンタエンジン270は、画像の印刷を実行する機構部分である。プリンタコントローラ260は、ネットワークボードNBaから与えられた実行対象の分散済み印刷ジョブ(分散ジョブ)に従って、プリンタエンジン270に印刷を実行させる。プリンタコントローラ260は、分散ジョブを格納するプリンタバッファ262と、MIB(Management Information Base)と呼ばれる自己のプリンタのステータス情報等を格納するMIB格納部264と、を備えている。
ネットワークボードNBaは、CPUとROMやRAMなどのメモリとを備えるコンピュータである。ネットワークボードNBaは、通信制御部210と、分散処理部220と、ジョブ処理部230と、を含んでいる。分散処理部220の機能は、前述の分散処理用ソフトウェアによって実現され、ジョブ処理部230の機能は、前述のジョブ処理用ソフトウェアとによって実現される。通信データが送信先ポート番号「59100」を含む場合には、分散処理部220が動作し、通信データが送信先ポート番号「9100」を含む場合には、ジョブ処理部230が動作する。なお、各ソフトウェア(コンピュータプログラム)は、CD−ROMなどのコンピュータ読み取り可能な記録媒体に記録された形態で提供される。
通信制御部210は、ネットワークを介して外部の機器と通信を行う。例えば、通信制御部210は、受信した通信データに含まれる送信先IPアドレスや送信先ポート番号を検出する。また、通信制御部210は、送信すべき通信データに送信先IPアドレスや送信先ポート番号を付与する。
分散処理部220は、分散先プリンタ決定部222と、割当ページ決定部224と、ジョブ格納部226と、を備えており、コンピュータPCから与えられた原ジョブから複数の分散ジョブを生成し、複数の分散ジョブを複数の分散先プリンタに供給する分散処理を実行する機能を有する。
分散先プリンタ決定部222は、ネットワークに接続された多数のプリンタの中から、分散先として実際に使用される複数のプリンタを決定する。具体的には、分散先プリンタ決定部222は、設定ファイル格納部223に格納された設定ファイルを利用して、複数の分散先プリンタを決定する。設定ファイルには、分散先として利用可能なプリンタのIPアドレスが登録されている。該プリンタのIPアドレスとしては、分散元プリンタと同一機種のプリンタのIPアドレスが登録されており、本実施例では、分散元プリンタ自身のIPアドレスも登録されている。なお、設定ファイルは、ネットワークの管理者などによって予め設定される。
特に、本実施例では、分散先プリンタ決定部222は、偶数台の分散先プリンタを選択し、2台毎にペアを決定する。後述するように、本実施例では、ペアを構成する一方の分散先プリンタが分散ジョブに従った印刷を続行できない場合には、ペアを構成する他方の分散先プリンタ(パートナープリンタ)が未実行の印刷を代行する。
割当ページ決定部224は、各分散先プリンタが印刷すべき割当ページを決定する。具体的には、分散処理部220が複数のページの印刷を要求する原ジョブを用いて複数の分散先プリンタに供給される複数の分散ジョブを生成する際に、割当ページ決定部224は、各分散先プリンタに該複数のページのうちの互いに異なる一部のページを割り当てる。
ジョブ格納部226には、コンピュータPCから受け取った原ジョブや各分散先プリンタに供給される分散ジョブが格納される。
ジョブ処理部230は、分散元プリンタ(より具体的には分散処理部220)から供給される分散ジョブを取得し、該分散ジョブをプリンタコントローラ260に渡す機能を有する。
また、ジョブ処理部230は、パートナープリンタ(分散先プリンタ)が印刷を続行できない場合に、パートナープリンタから未実行ジョブを取得し、該未実行ジョブをプリンタコントローラ260に渡す機能を有する。さらに、ジョブ処理部230は、プリンタ特定情報取得部232と、未実行ジョブ生成部234と、を備えており、自己の分散先プリンタが印刷を続行できない場合に、パートナープリンタに未実行ジョブを供給する機能を有する。なお、未実行ジョブは、分散先プリンタに与えられた分散ジョブのうち、未実行の部分の印刷を要求する印刷ジョブである。
プリンタ特定情報取得部232は、分散元プリンタから、パートナープリンタ(他の分散先プリンタ)を特定するプリンタ特定情報を取得する。本実施例では、プリンタ特定情報としてIPアドレスが利用されており、IPアドレスは、分散元プリンタから供給される分散ジョブに含まれている。
未実行ジョブ生成部234は、自己の分散先プリンタが分散ジョブに従った印刷を続行できない場合に、該分散ジョブのうちの少なくとも一部の未実行の印刷ジョブでる未実行ジョブを生成し、該未実行ジョブをプリンタ特定情報によって特定されるパートナープリンタ(他の分散先プリンタ)に供給する。
第2のプリンタPRT2は、プリンタ本体PRBと、前述の第2種のネットワークボードNBbと、を備えている。なお、プリンタ本体PRBは、第1のプリンタPRT1のプリンタ本体PRBと同じである。また、第2種のネットワークボードNBbは、第1種のネットワークボードNBaとほぼ同じであるが、分散処理部220を備えておらず、通信制御部210とジョブ処理部230とを備えている。
図3に示すように、第1種および第2種のネットワークボードNBa,NBbは、さらに、SNMPマネージャ部242と、SNMPエージェント部244と、を備えている。SNMPマネージャ部242は、分散処理部220またはジョブ処理部230からの指示に従って、各プリンタのSNMPエージェント部244からステータス情報を取得する機能を有する。この際、SNMPエージェント部244は、MIB格納部264からプリンタのステータス情報を読み出す。
他の3つのプリンタPRT3〜PRT5は、第2のプリンタPRT2と同様に構成されている。
なお、上記の説明から分かるように、本実施例における各ネットワークボードNBa,NBbを備える分散先プリンタが、本発明における分散先印刷装置に相当する。また、第1種のネットワークボードNBaに設けられた分散処理部220が本発明における分散元装置に相当し、ネットワークボードNBa,NBbに設けられたジョブ処理部230が本発明における印刷ジョブ処理部に相当する。さらに、本実施例におけるプリンタコントローラ260とプリンタエンジン270とが本発明における印刷実行部に相当する。
A−2.印刷処理:
A−2−1.印刷処理の概要:
図5は、第1実施例における印刷処理の概要を示す説明図である。本実施例では、コンピュータPCは、19ページ分の画像の印刷の実行を要求する原ジョブJB0を生成し、原ジョブJB0を含む通信データDT0を分散元プリンタPRT1に供給する。分散元プリンタPRT1は、該19ページ分の画像が4台の分散先プリンタPRT1〜PRT4によって印刷されるように、互いに異なる分散ジョブJB1〜JB4を生成し、分散ジョブJB1〜JB4をそれぞれ含む通信データDT1〜DT4を各分散先プリンタPRT1〜PRT4に供給する。
図5(A)に示すように、第1の分散ジョブJB1は、1〜5ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第1の状態で出力することを要求する。第1の状態は、各印刷済み用紙の表面(本実施例では印刷面と同じ)が排紙トレイ上で下方を向き、かつ、各印刷済み用紙が昇順(すなわちページ番号が次第に大きくなる順序)に並んだ状態を意味する。なお、図5(A)では、印刷済み用紙の表面が△印で示されている。第2の分散ジョブJB2は、6〜10ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第2の状態で出力することを要求する。第2の状態は、各印刷済み用紙の表面が排紙トレイ上で上方を向き、かつ、各印刷済み用紙が降順(すなわちページ番号が次第に小さくなる順序)に並んだ状態を意味する。第3の分散ジョブJB3は、第1の分散ジョブJB1とほぼ同様に、11〜15ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第1の状態で出力することを要求する。第4の分散ジョブJB4は、第2の分散ジョブJB2とほぼ同様に、16〜19ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第2の状態で出力することを要求する。
各分散先プリンタPRT1〜PRT4が与えられた各分散ジョブに従って印刷を実行すれば、ユーザは、ページの連続性が保たれた19枚の印刷済み用紙を容易に得ることができる。具体的には、ユーザは、第1のプリンタPRT1によって5枚目(5ページ目)に印刷される印刷済み用紙の裏面と、第2のプリンタPRT2によって5枚目(6ページ目)に印刷された印刷済み用紙の表面と、が向かい合うように重ねる。同様に、ユーザは、第2のプリンタPRT2によって1枚目(10ページ目)に印刷された印刷済み用紙の裏面と、第3のプリンタPRT3によって1枚目(11ページ目)に印刷された印刷済み用紙の表面と、が向かい合うように重ね、さらに、第3のプリンタPRT3によって5枚目(15ページ目)に印刷された印刷済み用紙の裏面と、第4のプリンタPRT4によって4枚目(16ページ目)に印刷された印刷済み用紙の表面と、が向かい合うように重ねる。こうすれば、ユーザは、各印刷済み用紙を回収する際に、ページ順に印刷済み用紙を並べ替えずに済む。
ところで、用紙の不足等に起因して、いずれかの分散先プリンタが印刷を続行できない場合が発生し得る。本実施例では、他の分散先プリンタが代わりに印刷を続行する。
図5(B)では、3台のプリンタPRT2〜PRT4は、分散ジョブJB2〜JB4に従った印刷を完了しているが、第1のプリンタPRT1は、分散ジョブJB1に従った印刷を完了していない。具体的には、第1のプリンタPRT1は、1〜3ページ目の画像の印刷のみを終了しており、用紙不足のため、4,5ページ目の画像の印刷を終了していない。なお、図中、印刷済み用紙には、ハッチが付されている。
このとき、第1の分散先プリンタPRT1は、第1の未実行ジョブJB5を含む通信データDT5を第2の分散先プリンタPRT2に供給し、第2の分散先プリンタPRT2に4,5ページ目の画像の印刷の代行を依頼する。ただし、各印刷済み用紙のページの連続性が保たれるように、第1の未実行ジョブJB5は、第2の分散ジョブJB2とほぼ同様に、4,5ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第2の状態で出力することを要求する。
第2の分散先プリンタPRT2が第1の未実行ジョブJB5に従って印刷を実行すれば、ユーザは、ページの連続性が保たれた19枚の印刷済み用紙を得ることができる。
本実施例では、さらに、第2の分散先プリンタPRT2が、用紙の不足等に起因して、印刷を続行できない場合を想定する。
図5(C)では、第2の分散先プリンタPRT2は、5ページ目の画像の印刷のみを終了しており、用紙不足のため、4ページ目の画像の印刷を終了していない。なお、この際、第1の分散先プリンタPRT1には、既に用紙が補給されていると仮定する。
このとき、第2の分散先プリンタPRT2は、第2の未実行ジョブJB6を含む通信データDT6を第1の分散先プリンタPRT1に供給し、第1の分散先プリンタPRT1に4ページ目の画像の印刷の代行を依頼する。ただし、各印刷済み用紙のページの連続性が保たれるように、第2の未実行ジョブJB6は、第1の分散ジョブJB1とほぼ同様に、4ページ目の画像の印刷の実行を要求すると共に、1枚の印刷済み用紙を第1の状態で出力することを要求する。
第1の分散先プリンタPRT1が第2の未実行ジョブJB6に従って印刷を実行すれば、ユーザは、ページの連続性が保たれた19枚の印刷済み用紙を得ることができる。
上記のように、未印刷のページの印刷が他の分散先プリンタによって適切に印刷されれば、いずれかのプリンタが印刷を続行できない場合にも、迅速に、かつ、ページの連続性が保たれるように、すべてのページの印刷を完了することができる。
図5に示すように、本実施例では、第1の分散先プリンタPRT1と第2の分散先プリンタPRT2とのうちの一方が印刷を続行できない場合には、他方が未印刷ページの印刷を続行する。同様に、第3の分散先プリンタPRT3と第4の分散先プリンタPRT4とのうちの一方が印刷を続行できない場合には、他方が未印刷ページの印刷を続行する。すなわち、本実施例では、第1の分散先プリンタPRT1と第2の分散先プリンタPRT2とのペアが相互に印刷を代行し、第3の分散先プリンタPRT3と第4の分散先プリンタPRT4とのペアが相互に印刷を代行する。
A−2−2.通信データ:
図6は、第1実施例における通信データDT0〜DT4の具体的な内容を示す説明図である。図6(A)〜(E)は、それぞれ、通信データDT0〜DT4を示している。なお、図6(A)〜(E)では、ヘッダ部には、送信先IPアドレスと送信先ポート番号とが表されている。
図6(A)〜(E)に示すように、本実施例では、データ部の印刷ジョブは、2組のジョブデータを含んでいる。第1組のジョブデータは、第1の制御データCDaと、昇順に並んだ複数のページの画像を表す第1種の印刷データPDaと、を含んでいる。第2組のジョブデータは、第2の制御データCDbと、降順に並んだ複数のページの画像を表す第2種の印刷データPDbと、を含んでいる。
各制御データには、「SUBMISSION」,「TARGET」,「ORDER」,「TOTAL PAGES」,「START PAGE」,「END PAGE」,「PRINT FACE」,「PARTNER ADD.」などの種々の情報が含まれている。なお、図6では、「SUBMISSION」,「ORDER」,「TOTAL PAGES」,「PRINT FACE」情報は、原ジョブJB0(図6(A))のみに含まれているように示されているが、分散ジョブJB1〜JB4(図6(B)〜(E))にも同様に含まれている。また、図6に示すように、「START PAGE」,「END PAGE」,「PARTNER ADD.」情報は、ジョブJB1〜JB4(図6(B)〜(E))のみに含まれている。
・「SUBMISSION」情報:コンピュータPCの印刷ジョブ生成部130によって印刷ジョブが作成される際に付与される識別子を示す。ユーザは、「SUBMISSION」情報を特定することによって、コンピュータPCにおいて対応する印刷ジョブの処理状況を確認することができる。なお、第1の制御データCDaと第2の制御データCDbとには、「SUBMISSION」情報として同じ識別子が記述されている。
・「TARGET」情報:分散先プリンタが利用すべき一方の組のジョブデータを示す。分散先プリンタは、「TARGET=SELF」が記述された制御データを含むジョブデータを利用して、印刷を実行する。なお、分散先プリンタは、「TARGET=PARTNER」が記述された制御データを含むジョブデータを無視する。第1の制御データCDaには、「TARGET=SELF」と「TARGET=PARTNER」とのうちのいずれか一方が記述され、第2の制御データCDbには、他方が記述される。
・「ORDER」情報:各組のジョブデータに含まれる印刷データによって表される複数のページ画像の並び順を示す。「ORDER=ASCENDING」は複数のページ画像が昇順に並んでいることを示し、「ORDER=DESCENDING」は複数のページ画像が降順に並んでいることを示す。なお、第1の制御データCDaには、「ORDER=ASCENDING」が記述されており、第2の制御データCDbには、「ORDER=DESCENDING」が記述されている。
・「TOTAL PAGES」情報:各組のジョブデータに含まれる印刷データによって表される複数のページ画像の総ページ数を示す。なお、第1の制御データCDaと第2の制御データCDbとには、同じ「TOTAL PAGES」の値が記述されている。
・「START PAGE」情報:各組のジョブデータに含まれる印刷データによって表される複数のページ画像のうちの印刷開始ページを示す。なお、「START PAGE」情報は、分散元プリンタによって追加され、「TARGET=SELF」が記述された一方の制御データのみに含まれる。
・「END PAGE」情報:各組のジョブデータに含まれる印刷データによって表される複数のページ画像のうちの印刷終了ページを示す。なお、「END PAGE」情報は、分散元プリンタによって追加され、「TARGET=SELF」が記述された一方の制御データのみに含まれる。
・「PRINT FACE」情報:印刷済み用紙の出力形態を示す。「PRINT FACE=DOWN」は、各印刷済み用紙の表面が排紙トレイ上で下方を向いて出力されるべきことを示す。「PRINT FACE=UP」は、各印刷済み用紙の表面が排紙トレイ上で上方を向いて出力されるべきことを示す。なお、第1の制御データCDaには、「PRINT FACE=DOWN」が記述されており、第2の制御データCDbには、「PRINT FACE=UP」が記述されている。
・「PARTNER ADD.」情報:送信先IPアドレスによって特定される分散先プリンタのパートナープリンタ(他の分散先プリンタ)のIPアドレスを示す。なお、「PARTNER ADD.」は、分散元プリンタによって追加される情報であり、「TARGET=SELF」が記述された一方の制御データのみに含まれる。
第1および第3の分散先プリンタPRT1,PRT3は、それぞれ、図6(B),(D)に示す分散ジョブJB1,JB3に含まれる2組のジョブデータのうち、「TARGET=SELF」を含む第1組のジョブデータを利用する。第1組のジョブデータは、「PRINT FACE=DOWN」が記述された第1の制御データCDaと、昇順に並んだ複数のページの画像を表す第1種の印刷データPDaと、を含んでいる。このため、第1および第3のプリンタPRT1,PRT3は、図5に示すように、各印刷済み用紙の表面が排紙トレイ上で下方を向き、かつ、各印刷済み用紙が昇順に並んだ状態(第1の状態)で、各印刷済み用紙を出力することができる。
また、第2および第4の分散先プリンタPRT2,PRT4は、それぞれ、図6(C),(E)に示す分散ジョブJB2,JB4に含まれる2組のジョブデータのうち、「TARGET=SELF」を含む第2組のジョブデータを利用する。第2組のジョブデータは、「PRINT FACE=UP」が記述された第2の制御データCDbと、降順に並んだ複数のページの画像を表す第2種の印刷データPDbと、を含んでいる。このため、第2および第4のプリンタPRT1,PRT3は、図5に示すように、各印刷済み用紙の表面が排紙トレイ上で上方を向き、かつ、各印刷済み用紙が降順に並んだ状態(第2の状態)で、各印刷済み用紙を出力することができる。
なお、本実施例における「TARGET」情報が、本発明における印刷データ指定情報に相当する。
A−2−3.分散元プリンタの処理:
図7は、分散元プリンタの処理内容を示すフローチャートである。なお、図7の処理は、分散元プリンタPRT1の分散処理部220によって実行される。
ステップS102では、分散処理部220は、コンピュータPCから分散対象の原ジョブJB0を含む通信データDT0(図6(A))を受信する。
ステップS104では、分散先プリンタ決定部222は、分散先プリンタ候補を選択する。具体的には、分散先プリンタ決定部222は、SNMPマネージャ部242を制御して、設定ファイルに登録された各プリンタにステータス情報の送信を要求する。この際、上記の各プリンタのSNMPエージェント部244は、MIB格納部264からステータス情報を読み出し、該情報を分散元プリンタPRT1のSNMPマネージャ部242に返す。分散先プリンタ決定部222は、各プリンタのステータス情報に基づいて、直ちに印刷を実行可能な分散先プリンタ候補を選択する。なお、直ちに利用可能な分散先プリンタ候補は、例えば、用紙詰まりや用紙不足などのエラーが発生していないプリンタである。
ステップS106では、分散先プリンタ決定部222は、分散先プリンタ候補が1台以上見つかったか否かを判断する。分散先プリンタ候補が1台以上見つかった場合には、ステップS108に進む。一方、分散先プリンタ候補が見つからない場合には、ステップS104に戻る。
ステップS108では、分散先プリンタ決定部222は、分散先プリンタ候補が2台以上見つかったか否かを判断する。分散先プリンタ候補が2台以上見つかった場合には、ステップS110に進む。一方、分散先プリンタ候補が1台だけ見つかった場合には、後述するステップS124に進む。
ステップS110では、分散先プリンタ決定部222は、2台以上の分散先プリンタ候補の中から、実際に使用される分散先プリンタを決定すると共に、分散先プリンタのペアを決定する。
分散先プリンタ候補の台数をNとすると、分散先プリンタのペア数Rと実際に使用される分散先プリンタの台数nとは、式(1)で表される。なお、int()は、括弧内の値の整数部分を求める関数である。
Figure 0004635785
例えば、分散先プリンタ候補の台数Nが5である場合には、ペア数Rは2であり、実際に使用される分散先プリンタの台数nは4である。
分散先プリンタの台数nが決定されると、分散先プリンタ決定部222は、複数の分散先プリンタ候補の中から偶数台の分散先プリンタを決定すると共に、分散先プリンタのペアを決定する。本実施例では、N台の分散先プリンタ候補のうち、設定ファイルにおいてより高い優先順位に設定されたn台が分散先プリンタに決定される。また、n台の分散先プリンタのうち、最も高い優先順位に設定されたプリンタから、順次2台ずつが同じペアに決定される。なお、分散元プリンタPRT1が配置された場所により近い場所に配置されたプリンタの優先順位がより高く設定されていれば、ユーザが印刷済み用紙を回収する際の移動距離を比較的小さくすることができる。
本実施例では、4台のプリンタPRT1〜PRT4が分散先プリンタとして決定される。また、第1および第2のプリンタPRT1,PRT2が第1のペアとして決定され、第2および第3のプリンタPRT3,PRT4が第2のペアとして決定される。
ステップS112では、割当ページ決定部224は、原ジョブJB0に含まれる総ページ数(図6(A)の「TOTAL PAGES」情報)に基づいて、各分散先プリンタが印刷すべき割当ページを決定する。
総ページ数をQとすると、第mのプリンタPRTmで印刷すべきページ数P(m)は、式(2)で表される。
Figure 0004635785
本実施例では、総ページ数Qが19であるため、P(1)=5,P(2)=5,P(3)=5,P(4)=4と求められる。このように、式(2)に従えば、各分散先プリンタにほぼ均等にページ数を割り当てることができ、この結果、各分散先プリンタにおける印刷完了時刻をほぼ同じに設定することができる。
第mのプリンタPRTmが印刷すべき割当先頭ページS(m)は、第1〜第(m−1)のプリンタが印刷すべきページ数の総和に1を加えた値であるため、式(3)で表される。ただし、第1のプリンタPRT1が印刷すべき割当先頭ページS(1)は1に設定される。
Figure 0004635785
本実施例では、S(1)=1,S(2)=6,S(3)=11,S(4)=16と求められる。
また、第mのプリンタPRTmが印刷すべき割当最終ページE(m)は、第1〜第mのプリンタが印刷すべきページ数の総和であるため、式(4)で表される。
Figure 0004635785
本実施例では、E(1)=5,E(2)=10,E(3)=15,E(4)=19と求められる。
ステップS114では、分散処理部220は、ジョブ格納部226に格納された原ジョブJB0の制御データCDa,CDbを変更して分散ジョブJB1〜JB4を生成し、該ジョブJB1〜JB4を含む通信データDT1〜DT4(図6(B)〜(E))を各分散先プリンタPRT1〜PRT4に供給する。
前述したように、各分散ジョブには、昇順に並んだ複数のページの画像を表す第1種の印刷データPDaと、降順に並んだ複数のページの画像を表す第2種の印刷データPDbと、が含まれている。そして、ペア番号をxとすると、第(2・x−1)のプリンタ(すなわち奇数番目のプリンタ)は、第1種の印刷データPDaを利用して印刷を実行し、第(2・x)のプリンタ(すなわち偶数番目のプリンタ)は、第2種の印刷データPDbを利用して印刷を実行する。
第1種の印刷データPDaと第2種の印刷データPDbとでは、複数のページ画像の並ぶ順序が異なるため、該順序に応じて印刷開始ページおよび印刷終了ページの値を指定する必要がある。
図8は、ページ画像のページ番号と、指定値と、の関係を示す説明図である。図8(A)は、昇順に並んだページ画像のページ番号と指定値との関係を示しており、図8(B)は、降順に並んだページ画像のページ番号と指定値との関係を示している。ページ画像が昇順に並ぶ場合には、図8(A)に示すように、ページ画像(例えば5ページ目の画像)のページ番号(例えば5)と指定値(例えば5)とは、常に、一致する。しかしながら、ページ画像が降順に並ぶ場合には、図8(B)に示すように、ページ画像(例えば5ページ目の画像)のページ番号(例えば5)と指定値(例えば15)とは、異なる。
図5に示すように、第1および第3のプリンタPRT1,PRT3は、第1種の印刷データPDaを用いてページ画像を昇順に出力する。このため、第1および第3の分散ジョブJB1,JB3には、印刷開始ページ(図6の「START PAGE」情報)の指定値SPとして、割当先頭ページSの値と同じ値が含まれ、印刷終了ページ(図6の「END PAGE」情報)の指定値EPとして、割当最終ページEの値と同じ値が含まれていればよい(図8(A)参照)。すなわち、第1の分散ジョブJB1には、SP(1)=1(1ページ目の画像),EP(1)=5(5ページ目の画像)が含まれればよい。同様に、第3の分散ジョブJB3には、SP(3)=11(11ページ目の画像),EP(3)=15(15ページ目の画像)が含まれればよい。
一方、図5に示すように、第2および第4のプリンタPRT2,PRT4は、第2種の印刷データPDbを用いてページ画像を降順に出力する。このため、第2および第4の分散ジョブJB2,JB4には、印刷開始ページの指定値SPとして、割当最終ページEの値に対応する値が含まれ、印刷終了ページの指定値EPとして、割当先頭ページSの値に対応する値が含まれる必要がある(図8(B)参照)。すなわち、第2の分散ジョブJB2には、SP(2)=10(10ページ目の画像),EP(2)=14(6ページ目の画像)が含まれる必要がある。同様に、第4の分散ジョブJB4には、SP(4)=1(19ページ目のページ画像),EP(4)=4(16ページ目のページ画像)が含まれる必要がある。
上記の説明から分かるように、第(2・x−1)のプリンタに与えられるジョブと第(2・x)のプリンタに与えられるジョブとに含まれるべき指定値SP,EPは、それぞれ、式(5)で表される。
Figure 0004635785
本実施例では、式(5)に基づいて上記の各値SP,EPが求められる。そして、分散処理部220は、図6(B)〜(E)に示すように、「START PAGE」情報および「END PAGE」情報が追加された分散ジョブJB1〜JB4を生成する。
また、ステップS114(図7)では、分散処理部220は、「TARGET」情報が変更され、「PARTNER ADD.」情報が追加された分散ジョブJB1〜JB4を生成する。
具体的には、分散処理部220は、第(2・x−1)の分散先プリンタに与えられる分散ジョブの第1の制御データCDaに「TARGET=SELF」を設定し、第2の制御データCDbに「TARGET=PARTNER」を設定する。また、分散処理部220は、第(2・x)の分散先プリンタに与えられる分散ジョブの第1の制御データCDaに「TARGET=PARTNER」を設定し、第2の制御データCDbに「TARGET=SELF」を設定する。
本実施例では、図6(B)〜(E)に示すように、第1および第3の分散ジョブJB1,JB3の第1の制御データCDaには「TARGET=SELF」が設定され、第2および第4の分散ジョブJB2,JB4の第2の制御データCDbには「TARGET=SELF」が設定される。
また、分散処理部220は、ペアを構成する一方の分散先プリンタに与えられる分散ジョブに含まれる2つの制御データCDa,CDbのうち、「TARGET=SELF」が記述される制御データには、「PARTNER ADD.」情報として、ペアを構成するパートナープリンタ(他の分散先プリンタ)のIPアドレスを設定する。
本実施例では、図6(B)〜(E)に示すように、第1の分散ジョブJB1の第1の制御データCDaには、第2のプリンタPRT2のIPアドレス「IP2」が設定され、第2の分散ジョブJB2の第2の制御データCDbには、第1のプリンタPRT1のIPアドレス「IP1」が設定される。同様に、第3の分散ジョブJB3の第1の制御データCDaには、第4のプリンタPRT4のIPアドレス「IP4」が設定され、第4の分散ジョブJB4の第2の制御データCDbには、第3のプリンタPRT3のIPアドレス「IP3」が設定される。
ステップS114では、上記のようにして、各分散先プリンタに適したジョブJB1〜JB4(図6(B)〜(E))が生成され、各分散先プリンタに供給される。
前述したように、ステップS108で分散先プリンタ候補が1台だけ見つかった場合には、ステップS124に進む。ステップS124では、分散処理部220は、原ジョブJB0の制御データCDa,CDbを変更せずに、原ジョブJB0をそのまま含む通信データを分散先プリンタ候補として選択された唯一のプリンタ(例えば、第5のプリンタPRT5)に供給する。
唯一のプリンタは、通信データを受け取ると、原ジョブJB0に従った印刷を実行する。具体的には、唯一のプリンタは、原ジョブJB0に含まれる「TARGET=SELF」が記述された制御データCDaを含む第1組のジョブデータを利用して印刷を実行する。ただし、原ジョブJB0の第1の制御データCDaには、「START PAGE」情報と「END PAGE」情報とは含まれていない。このため、分散先プリンタは、第1種の印刷データPDaに従ってすべてのページ画像を印刷する。
A−2−4.分散先プリンタの処理:
図9は、分散先プリンタの処理内容を示すフローチャートである。なお、以下では、1台の分散先プリンタに注目して説明する。
ステップS202では、注目分散先プリンタ(例えばPRT1)のジョブ処理部230は、分散元プリンタPRT1から分散ジョブ(例えばJB1)を含む通信データ(例えばDT1)を順次受信する。このとき、ジョブ処理部230は、分散ジョブをプリンタコントローラ260に渡し、プリンタコントローラ260は受け取った分散ジョブをプリンタバッファ262に格納する。
ステップS204では、注目分散先プリンタ(例えばPRT1)のプリンタエンジン270は、分散ジョブ(例えばJB1)に従って印刷を順次実行する。
ステップS206では、注目分散先プリンタ(例えばPRT1)のプリンタコントローラ260は、自己のプリンタでエラーが発生しているか否かを判断する。なお、エラーは、印刷を続行できない状態を意味しており、例えば、用紙詰まりや用紙不足などが挙げられる。エラーが発生していない場合には、ステップS210に進み、エラーが発生している場合には、ステップS220(後述する)に進む。
ステップS210では、注目分散先プリンタ(例えばPRT1)のプリンタコントローラ260は、分散ジョブ(例えばJB1)に従った印刷が完了したか否かを判断する。印刷が完了した場合には、ステップS230に進み、印刷が完了していない場合には、ステップS204に戻る。
ステップS230では、注目分散先プリンタ(例えばPRT1)のプリンタコントローラ260は、ステップS202で受信した分散ジョブ(例えばJB1)を、プリンタバッファ262から削除する。これにより、注目分散先プリンタにおける分散ジョブに従った印刷が完了する。
前述したように、ステップS206で自己のプリンタ(例えばPRT1)でエラーが発生している場合には、ステップS220に進む。
ステップS220では、注目分散先プリンタ(例えばPRT1)のジョブ処理部230は、パートナーである他の分散先プリンタ(例えばPRT2)でエラーが発生しているか否かを判断する。具体的には、ジョブ処理部230は、SNMPマネージャ部242を制御して、パートナープリンタにステータス情報の送信を要求する。この際、パートナープリンタのSNMPエージェント部244は、MIB格納部264からステータス情報を読み出し、該情報を注目分散先プリンタのSNMPマネージャ部242に返す。ジョブ処理部230は、パートナープリンタのステータス情報に基づいて、パートナープリンタでエラーが発生しているか否かを判断する。パートナープリンタでエラーが発生していない場合には、ステップS222に進む。一方、パートナープリンタでエラーが発生している場合には、ステップS206に戻る。なお、後者の場合には、ペアを構成するいずれか一方のプリンタでエラーが解消されるまで、印刷の続行が停止される。
ステップS222では、注目分散先プリンタ(例えばPRT1)の未実行ジョブ生成部234は、分散ジョブ(例えばJB1)の制御データを変更して未実行ジョブ(例えばJB5)を生成し、未実行ジョブを含む通信データ(例えばDT5)をパートナープリンタ(例えばPRT2)に供給する。具体的には、未実行ジョブ生成部234は、プリンタコントローラ260から、未印刷ページ情報を受け取ると共に、プリンタバッファ262内に格納された分散ジョブ(例えばJB1)を受け取る。そして、未実行ジョブ生成部234は、分散ジョブ(例えばJB1)の制御データCDa,CDbを変更して、未印刷ページの印刷を要求する未実行ジョブ(例えばJB5)を生成する。なお、未実行ジョブのパートナープリンタ(例えばPRT2)への供給が完了すると、ステップS230に進み、ステップS202で受信した分散ジョブ(例えばJB1)が削除される。
上記のようにペアを構成する一方の分散先プリンタから他方の分散先プリンタ(パートナープリンタ)に未実行ジョブが供給された場合には、パートナープリンタは、図9の手順に従って未実行ジョブを処理することができる。
上記の説明から分かるように、図5(B)の場合には、第1の分散先プリンタPRT1は、ステップS222において、第1の分散ジョブJB1を用いて第1の未実行ジョブJB5を生成し、第1の未実行ジョブJB5をパートナーである第2の分散先プリンタPRT2に供給することができる。そして、第2の分散先プリンタPRT2は、ステップS202において、第1の未実行ジョブJB5を受け取り、未実行ジョブJB5に従った印刷を実行することができる。また、図5(C)の場合には、第2の分散先プリンタPRT2は、ステップS222において、第1の未実行ジョブJB5を用いて第2の未実行ジョブJB6を生成し、第2の未実行ジョブJB6をパートナーである第1の分散先プリンタPRT1に供給することができる。そして、第1の分散先プリンタPRT1は、ステップS202において、第2の未実行ジョブJB6を受け取り、未実行ジョブJB5に従った印刷を実行することができる。
図10は、第1実施例における通信データDT5,DT6の具体的な内容を示す説明図である。図10(A),(B)は、それぞれ、通信データDT5,DT6を示している。
前述したように、図10(A)の第1の未実行ジョブJB5は、第1の分散ジョブJB1(図6(B))の第1の制御データCDaと第2の制御データCDbとの内容を変更することによって、生成される。具体的には、第1の分散先プリンタPRT1の未実行ジョブ生成部234は、第1の分散ジョブJB1(図6(B))の第1の制御データCDaの「TARGET=SELF」を「TARGET=PARTNER」に変更して、「START PAGE」,「END PAGE」,「PARTNER ADD.」情報を削除する。また、未実行ジョブ生成部234は、第1の分散ジョブJB1の第2の制御データCDbの「TARGET=PARTNER」を「TARGET=SELF」に変更して、「START PAGE=15」,「END PAGE=16」,「PARTNER ADD.=IP1」を追加する。なお、第2の制御データCDbには、「PRINT FACE=UP」が記述されている。これにより、図5(B)で説明したように、未印刷の4,5ページ目の画像(図8(B)参照)の印刷の実行を要求すると共に、各印刷済み用紙を第2の状態で出力することを要求する第1の未実行ジョブJB5が生成される。なお、未印刷ページの指定値は、式(5)に従って決定される。
また、図10(B)の第2の未実行ジョブJB6は、第1の未実行ジョブJB5(図10(A))の第1の制御データCDaと第2の制御データCDbとの内容を変更することによって、生成される。具体的には、第2の分散先プリンタPRT2の未実行ジョブ生成部234は、第1の未実行ジョブJB5(図10(A))の第1の制御データCDaの「TARGET=PARTNER」を「TARGET=SELF」に変更して、「START PAGE=4」,「END PAGE=4」,「PARTNER ADD.=IP2」を追加する。また、未実行ジョブ生成部234は、第1の未実行ジョブJB5の第2の制御データCDbの「TARGET=SELF」を「TARGET=PARTNER」に変更して、「START PAGE」,「END PAGE」,「PARTNER ADD.」情報を削除する。なお、第1の制御データCDaには、「PRINT FACE=DOWN」が記述されている。これにより、図5(C)で説明したように、未印刷の4ページ目の画像(図8(A)参照)の印刷の実行を要求すると共に、各印刷済み用紙を第1の状態で出力することを要求する第2の未実行ジョブJB6が生成される。
以上説明したように、本実施例では、第1の分散先プリンタPRT1が第1の分散ジョブJB1に従った印刷を続行できない場合には、第1の分散先プリンタPRT1は、第1の未実行ジョブJB5を生成し、第1の分散ジョブJB1に含まれる「PARTNER ADD.」情報によって特定される第2の分散先プリンタPRT2に、第1の未実行ジョブJB5を供給する。そして、第2の分散先プリンタPRT2は、第1の未実行ジョブJB5を取得して、第1の未実行ジョブJB5に従った印刷を実行する。このように、本実施例では、第1の分散先プリンタが第1の分散ジョブJB1に従った印刷を続行できない場合に、サーバとしての機能を有する分散処理部220を利用せずに、第2の分散先プリンタPRT2に第1の未実行ジョブJB5を実行させることができる。
特に、本実施例では、各分散先プリンタでは、与えられた分散ジョブに従った印刷が完了した場合には該分散ジョブが削除される。しかしながら、本実施例では、第1の分散先プリンタPRT1は、印刷データPDa,PDbを含む未実行ジョブJB5を第2の分散先プリンタPRT2に供給するため、第2の分散先プリンタPRT2は、未実行ジョブJB5に従った印刷を実行することができる。
A−3.第1実施例の変形例:
A−3−1.印刷処理の概要:
第1実施例では、ユーザによって、用紙の表面のみに1ページ分の画像が印刷されるように指示された場合について説明したが、用紙の表面および裏面に2ページ分の画像が印刷されるように指示される場合もある。また、用紙の双方の面に画像が印刷される場合には、複数枚の用紙のうちの先頭用紙の裏面に複数のページ画像のうちの先頭ページの画像が印刷されるように指示される場合もある。
図11は、第1実施例の変形例における印刷処理の概要を示す説明図である。本例では、第1実施例(図5)と同様に、コンピュータPCは、19ページ分の画像の印刷の実行を要求する原ジョブJB0’を生成し、原ジョブJB0’を含む通信データDT0’を分散元プリンタPRT1に供給する。分散元プリンタPRT1は、該19ページ分の画像が4台の分散先プリンタPRT1〜PRT4によって印刷されるように、互いに異なる分散ジョブJB1’〜JB4’を生成し、分散ジョブJB1’〜JB4’をそれぞれ含む通信データDT1’〜DT4’を各分散先プリンタPRT1〜PRT4に供給する。
図11(A)に示すように、第1の分散ジョブJB1’は、1〜5ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を前述の第1の状態で出力することを要求する。第2の分散ジョブJB2’は、6〜11ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を前述の第2の状態で出力することを要求する。第3の分散ジョブJB3’は、第1の分散ジョブJB1’とほぼ同様に、12〜15ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第1の状態で出力することを要求する。第4の分散ジョブJB4’は、第2の分散ジョブJB2’とほぼ同様に、16〜19ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第2の状態で出力することを要求する。
ただし、本例では、図11(A)に示すように、両面印刷が行われる。このため、本例では、前述の第1の状態および第2の状態における各印刷済み用紙の表面は、各印刷済み用紙に印刷される2ページ分の画像のうち、より小さなページ番号の画像が印刷される面と同じである。また、本例では、図11(A)に示すように、先頭用紙の表面には画像は印刷されない。このため、本例では、各印刷済み用紙の表面には偶数ページが印刷され、裏面には奇数ページが印刷される。
図11(B)では、図5(B)と同様に、3台のプリンタPRT2〜PRT4は、分散ジョブJB2’〜JB4’に従った印刷を完了しているが、第1のプリンタPRT1は、分散ジョブJB1’に従った印刷を完了していない。具体的には、第1のプリンタPRT1は、1ページ目の画像の印刷のみを終了しており、用紙不足のため、2〜5ページ目の画像の印刷を終了していない。
このとき、第1の分散先プリンタPRT1は、第1の未実行ジョブJB5’を含む通信データDT5’を第2の分散先プリンタPRT2に供給し、第2の分散先プリンタPRT2に2〜5ページ目の画像の印刷の代行を依頼する。ただし、各印刷済み用紙のページの連続性が保たれるように、第1の未実行ジョブJB5’は、第2の分散ジョブJB2’とほぼ同様に、2〜5ページ目の画像の印刷の実行を要求すると共に、各印刷済み用紙を第2の状態で出力することを要求する。
図11(C)では、図5(C)と同様に、第2の分散先プリンタPRT2は、4,5ページ目の画像の印刷のみを終了しており、用紙不足のため、2,3ページ目の画像の印刷を終了していない。なお、この際、第1の分散先プリンタPRT1には、既に用紙が補給されていると仮定する。
このとき、第2の分散先プリンタPRT2は、第2の未実行ジョブJB6’を含む通信データDT6’を第1の分散先プリンタPRT1に供給し、第1の分散先プリンタPRT1に2,3ページ目の画像の印刷の代行を依頼する。ただし、各印刷済み用紙のページの連続性が保たれるように、第2の未実行ジョブJB6’は、第1の分散ジョブJB1’とほぼ同様に、2,3ページ目の画像の印刷の実行を要求すると共に、1枚の印刷済み用紙を第1の状態で出力することを要求する。
本実施例においても、各プリンタPRT1〜PRT4が与えられた各ジョブに従って印刷を実行すれば、ユーザは、第1実施例と同様に、ページの連続性が保たれた10枚の印刷済み用紙を容易に得ることができる。
A−3−2.通信データ:
図12は、第1実施例の変形例における通信データDT0’〜DT4’の具体的な内容を示す説明図である。図12(A)〜(E)は、それぞれ、通信データDT0’〜DT4’を示している。
本例では、原ジョブJB0’〜JB4’の各制御データには、第1実施例(図6)とほぼ同様の情報が含まれているが、「DX」,「FC」情報が追加されている。なお、図12では、「DX」,「FC」情報は、原ジョブJB0’(図12(A))のみに含まれているように示されているが、分散ジョブJB1’〜JB4’(図12(B)〜(E))にも同様に含まれている。
・「DX」情報:両面印刷の実行の有無を示す。「DX=ON」の場合には、両面印刷が実行され、「DX=OFF」の場合には、第1実施例と同様に、両面印刷が実行されずに片面印刷が実行される。なお、第1の制御データCDaと第2の制御データCDbとには、同じ「DX」情報(「DX=ON」または「DX=OFF」)が記述されている。
・「FC」情報:両面印刷が実行される場合に、先頭用紙のいずれの面に先頭ページの画像が印刷されるかを示す。「FC=FR」の場合には、先頭用紙の表面に先頭ページの画像が印刷され、「FC=BK」の場合には、先頭用紙の裏面に先頭ページの画像が印刷される。なお、第1の制御データCDaと第2の制御データCDbとには、同じ「FC」情報(「FC=FR」または「FC=BK」)が記述されている。
本例では、図11に示すように、両面印刷が実行され、かつ、先頭用紙の裏面に先頭ページが印刷されるため、「DX=ON」,「FC=BK」に設定されている。
A−3−3.分散元プリンタの処理:
本例では、図7と同様の手順で、分散元プリンタの処理が実行される。ただし、両面印刷の実行に伴って、図7のステップS112,S114の具体的な処理内容が以下のように変更される。
ステップS112では、割当ページ決定部224は、原ジョブJB0’に含まれる総ページ数(図12(A)の「TOTAL PAGES」情報)に基づいて、各分散先プリンタが印刷すべき割当ページを決定する。
総ページ数をQとすると、印刷に使用される用紙の総枚数Qvは、式(6)で表される。
Figure 0004635785
ここで、bは、先頭用紙の表面への先頭ページの印刷の有無を示し、先頭用紙の表面に先頭ページが印刷される場合(すなわち「FC=FR」の場合)にはb=0に設定され、先頭用紙の表面に先頭ページが印刷されない場合(すなわち「FC=BK」の場合)にはb=1に設定される。
本実施例では、「FC=BK」に設定されており、先頭用紙の表面に先頭ページが印刷されないため、b=1に設定される。したがって、総枚数Qvは10枚となる。
また、第mのプリンタPRTmで使用される用紙の枚数Pv(m)は、式(7)で表される。
Figure 0004635785
本実施例では、総枚数Qvが10であるため、Pv(1)=3,Pv(2)=3,Pv(3)=2,Pv(4)=2と求められる。
先頭用紙の表面に先頭ページが印刷されると仮定すると、第mのプリンタPRTmが印刷すべき割当先頭ページS’(m)は、第1〜第(m−1)のプリンタで使用される用紙の枚数の総和を2倍して1を加えた値である。したがって、先頭用紙の表面への先頭ページの印刷の実行の有無を考慮すると、第mのプリンタPRTmが印刷すべき割当先頭ページS’(m)は、式(8)で表される。
Figure 0004635785
本実施例では、S’(1)=1,S’(2)=6,S’(3)=12,S’(4)=16と求められる。
また、先頭用紙の表面に先頭ページが印刷されると仮定すると、第mのプリンタPRTmが印刷すべき割当最終ページE’(m)は、第1〜第mのプリンタで使用される用紙の枚数の総和を2倍した値である。したがって、先頭用紙の表面への先頭ページの印刷の実行の有無を考慮すると、第mのプリンタPRTmが印刷すべき割当最終ページE’(m)は、式(9)で表される。
Figure 0004635785
本実施例では、E’(1)=5,E’(2)=11,E’(3)=15,E’(4)=19と求められる。
ステップS114では、分散処理部220は、ジョブ格納部226に格納された原ジョブJB0’の制御データCDa,CDbを変更して分散ジョブJB1’〜JB4’を生成し、該ジョブJB1’〜JB4’を含む通信データDT1’〜DT4’(図12(B)〜(E))を各分散先プリンタPRT1〜PRT4に供給する。
第1実施例(図8)で説明したように、第1種の印刷データPDaと第2種の印刷データPDbとでは、複数のページ画像が並ぶ順序が異なるため、該順序に応じて印刷開始ページおよび印刷終了ページの値を指定する必要がある。
したがって、本例では、第1実施例と同様に、第(2・x−1)のプリンタに与えられるジョブと、第(2・x−1)のプリンタに与えられるジョブとに含まれるべき指定値SP’,EP’は、それぞれ、式(10)で表される。
Figure 0004635785
本例では、式(10)に基づいて上記の各値SP’,EP’が求められる。そして、分散処理部220は、図12(B)〜(E)に示すように、「START PAGE」情報および「END PAGE」情報が追加された分散ジョブJB1’〜JB4’を生成する。
また、ステップS114では、分散処理部220は、第1実施例と同様に、「TARGET」情報が変更され、「PARTNER ADD.」情報が追加された分散ジョブJB1’〜JB4’を生成する。
A−3−4.分散先プリンタの処理:
本例では、図9と同様の手順で、各分散先プリンタの処理が行われる。そして、図11(B)の場合には、第1の分散先プリンタPRT1は、ステップS222において、第1の分散ジョブJB1’を用いて第1の未実行ジョブJB5’を生成し、第1の未実行ジョブJB5’を含む通信データDT5’を第2の分散先プリンタPRT2に供給することができる。また、図11(C)の場合には、第2の分散先プリンタPRT2は、ステップS222において、第1の未実行ジョブJB5’を用いて第2の未実行ジョブJB6’を生成し、第2の未実行ジョブJB6’を含む通信データDT6’を第1の分散先プリンタPRT1に供給することができる。
図13は、第1実施例の変形例における通信データDT5’,DT6’の具体的な内容を示す説明図である。図13(A),(B)は、それぞれ、通信データDT5’,DT6’を示している。
第1実施例と同様に、図13(A)の第1の未実行ジョブJB5’は、第1の分散ジョブJB1’(図12(B))の第1の制御データCDaと第2の制御データCDbとの内容を変更することによって、生成される。なお、図13(A)は、図10(A)とほぼ同じであるが、第2の制御データCDbに含まれる「START PAGE」情報と「END PAGE」情報とが異なっており、「START PAGE=15」,「END PAGE=18」に設定されている。これにより、図11(B)で説明したように、未印刷の2〜5ページ目の画像(図8(B)参照)の印刷の実行を要求すると共に、各印刷済み用紙を第2の状態で出力することを要求する第1の未実行ジョブJB5’が生成される。
また、図13(B)の第2の未実行ジョブJB6’は、第1の未実行ジョブJB5’(図13(A))の第1の制御データCDaと第2の制御データCDbとの内容を変更することによって、生成される。なお、図13(B)は、図10(B)とほぼ同じであるが、第2の制御データCDbに含まれる「START PAGE」情報と「END PAGE」情報とが異なっており、「START PAGE=2」,「END PAGE=3」に設定されている。これにより、図11(C)で説明したように、未印刷の2〜3ページ目の画像(図8(A)参照)の印刷の実行を要求すると共に、各印刷済み用紙を第1の状態で出力することを要求する第2の未実行ジョブJB6’が生成される。
なお、本例では、印刷用紙の表面と裏面とのそれぞれに1ページ分の画像が印刷される場合について説明したが、印刷用紙の表面と裏面とのそれぞれに複数ページ分(例えば2または4ページ分)の画像が印刷されるようにしてもよい。
B.第2実施例:
B−1.印刷処理の概要:
図14は、第2実施例における印刷処理の概要を示す説明図である。図14(A),(B)は、図5(A),(B)とほぼ同じである。なお、本実施例では、図5(C)に対応する処理は実行されない。
本実施例では、コンピュータPCは、19ページ分の画像の印刷の実行を要求する原ジョブJB0bを生成し、原ジョブJB0bを含む通信データDT0bを分散元プリンタPRT1に供給する。分散元プリンタPRT1は、該19ページ分の画像が4台の分散先プリンタPRT1〜PRT4によって印刷されるように、互いに異なる分散ジョブJB1b〜JB4bを生成し、分散ジョブJB1b〜JB4bをそれぞれ含む通信データDT1b〜DT4bを各分散先プリンタPRT1〜PRT4に供給する。ただし、本実施例では、後述するように、各印刷ジョブのデータ構造が第1実施例と異なっている。
図14(A)に示すように、分散ジョブJB1b〜JB4bは、第1実施例のジョブJB0〜JB4とほぼ同様に、ページ画像の印刷の実行を要求すると共に、印刷済み用紙を第1または第2の状態で出力することを要求する。
図14(B)では、図5(B)と同様に、3台のプリンタPRT2〜PRT4は、分散ジョブJB2b〜JB4bに従った印刷を完了しているが、第1のプリンタPRT1は、分散ジョブJB1bに従った印刷を完了していない。具体的には、第1のプリンタPRT1は、用紙不足のため、4,5ページ目の画像の印刷を終了していない。
このとき、第1の分散先プリンタPRT1は、図5(B)と同様に、未実行ジョブJB5bを含む通信データDT5bを第2の分散先プリンタPRT2に供給し、第2の分散先プリンタPRT2に4,5ページ目の画像の印刷の代行を依頼する。
本実施例においても、各プリンタPRT1〜PRT4が与えられた各ジョブに従って印刷を実行すれば、ユーザは、第1実施例と同様に、ページの連続性が保たれた19枚の印刷済み用紙を容易に得ることができる。
B−2.通信データ:
図15は、第2実施例における通信データDT0b〜DT4bの具体的な内容を示す説明図である。図15(A)〜(E)は、それぞれ、通信データDT0b〜DT4bを示している。
図15(A)〜(E)に示すように、本実施例では、データ部の印刷ジョブは、1組のジョブデータを含んでいる。1組のジョブデータは、制御データCDと、昇順に並んだ複数のページの画像を表す1種類の印刷データPDと、を含んでいる。
各制御データには、第1実施例と同様に、「SUBMISSION」,「TOTAL PAGES」,「START PAGE」,「END PAGE」,「PRINT FACE」,「PARTNER ADD.」情報が含まれていると共に、「KEEPJOB」,「PRINT ORDER」情報が含まれている。なお、図15では、「SUBMISSION」,「TOTAL PAGES」情報は、原ジョブJB0b(図15(A))のみに含まれているように示されているが、分散ジョブJB1b〜JB4b(図15(B)〜(E))にも同様に含まれている。また、図15に示すように、「START PAGE」,「END PAGE」,「PARTNER ADD.」情報は、ジョブJB1b〜JB4b(図15(B)〜(E))のみに含まれている。「KEEPJOB」情報と「PRINT ORDER」情報とは、以下の内容を示している。
・「KEEPJOB」情報:分散先プリンタにおける分散ジョブの取扱を示す。「KEEPJOB=ON」は分散先プリンタが分散ジョブの印刷を完了した後にも該分散ジョブを保持すべきことを示し、「KEEPJOB=RECALL」は分散先プリンタが保持された分散ジョブを読み出すべきことを示す。
・「PRINT ORDER」情報:分散先プリンタによるページ画像の出力順序を示す。「PRINT ORDER=ASCENDING」は、複数のページ画像を昇順に出力すべきことを示し、「PRINT ORDER=DESCENDING」は、複数のページ画像を降順に出力すべきことを示す。
第1および第3の分散先プリンタPRT1,PRT3は、それぞれ、図15(B),(D)に示す分散ジョブJB1b,JB3bに含まれる1組のジョブデータを利用する。ジョブデータは、「PRINT FACE=DOWN」および「PRINT ORDER=ASCENDING」が記述された制御データCDと、昇順に並んだ複数のページの画像を表す印刷データPDと、を含んでいる。このため、第1および第3のプリンタPRT1,PRT3は、図14に示すように、各印刷済み用紙の表面が排紙トレイ上で下方を向き、かつ、各印刷済み用紙が昇順に並んだ状態(第1の状態)で、各印刷済み用紙を出力することができる。
また、第2および第4の分散先プリンタPRT2,PRT4は、それぞれ、図15(C),(E)に示す分散ジョブJB2b,JB4bに含まれる1組のジョブデータを利用する。ジョブデータは、「PRINT FACE=UP」および「PRINT ORDER=DESCENDING」が記述された制御データCDと、昇順に並んだ複数のページの画像を表す印刷データPDと、を含んでいる。このため、第2および第4のプリンタPRT2,PRT4は、図14に示すように、各印刷済み用紙の表面が排紙トレイ上で上方を向き、かつ、各印刷済み用紙が降順に並んだ状態(第2の状態)で、各印刷済み用紙を出力することができる。
上記のように、本実施例では、「PRINT ORDER」情報が含まれている。このため、1種類の印刷データPDのみが利用されるにも拘わらず、第1および第3のプリンタPRT1,PRT3は、各印刷済み用紙が昇順に並んだ状態で、各印刷済み用紙を出力することができ、第2および第4のプリンタPRT2,PRT4は、各印刷済み用紙が降順に並んだ状態で、各印刷済み用紙を出力することができる。
なお、本実施例における「PRINT ORDER」情報が、本発明における出力順序指定情報に相当する。
B−3.分散元プリンタの処理:
本実施例では、図7と同様の手順で、分散元プリンタの処理が実行される。ただし、印刷ジョブのデータ構造の変更に伴って、図7のステップS114の具体的な処理内容が以下のように変更される。
ステップS114では、分散処理部220は、ジョブ格納部226に格納された原ジョブJB0bの制御データCDを変更して分散ジョブJB1b〜JB4bを生成し、該ジョブJB1b〜JB4bを含む通信データDT1b〜DT4b(図15(B)〜(E))を各分散先プリンタPRT1〜PRT4に供給する。
本実施例では、複数のページ画像が昇順に並んだ1種類の印刷データPDが使用される。図16は、ページ画像のページ番号と、指定値と、の関係を示す説明図である。図示するように、本実施例では、ページ画像のページ番号(例えば5)と指定値(例えば5)とは、常に、一致する。したがって、各分散ジョブJB1b〜JB4bには、印刷開始ページ(図15の「START PAGE」)の指定値SPとして、割当先頭ページS(式(3))の値と同じ値が含まれ、印刷終了ページ(図15の「END PAGE」)の値EPとして、割当最終ページE(式(4))の値と同じ値が含まれていればよい。
すなわち、本実施例では、第(2・x−1)のプリンタに与えられるジョブと第(2・x)のプリンタに与えられるジョブとに含まれるべき指定値SP,EPは、それぞれ、式(11)で表される。
Figure 0004635785
本実施例では、式(11)に基づいて上記の各値SP,EPが求められる。そして、分散処理部220は、図15(B)〜(E)に示すように、「START PAGE」情報および「END PAGE」情報が追加されたジョブJB1b〜JB4bを生成する。
また、ステップS114では、分散処理部220は、「PRINT ORDER」情報と「PRINT FACE」情報とが変更され、「KEEPJOB 」情報と「PARTNER ADD.」情報とが追加された分散ジョブJB1b〜JB4bを生成する。
具体的には、分散処理部220は、第(2・x−1)の分散先プリンタに与えられる分散ジョブの制御データCDに「PRINT ORDER=ASCENDING」,「PRINT FACE=DOWN」を設定する。また、分散処理部220は、第(2・x)の分散先プリンタに与えられるジョブの制御データCDに「PRINT ORDER=DESCENDING」,「PRINT FACE=UP」を設定する。
本実施例では、図15(B)〜(E)に示すように、分散ジョブJB1b,JB3bの制御データCDに「PRINT ORDER=ASCENDING」,「PRINT FACE=DOWN」が設定され、分散ジョブJB2b,JB4bの制御データCDに「PRINT ORDER=DESCENDING」,「PRINT FACE=UP」が設定される。
また、分散処理部220は、ペアを構成する一方の分散先プリンタに与えられるジョブに含まれる制御データCDに、第1実施例と同様に、「PARTNER ADD.」情報として、パートナープリンタ(他の分散先プリンタ)のIPアドレスを設定する。さらに、分散処理部220は、各分散先プリンタに与えられるジョブに含まれる制御データCDに、「KEEPJOB=ON」を設定する。
ステップS114では、上記のようにして、各分散先プリンタに適したジョブJB1b〜JB4b(図15(B)〜(E))が生成され、各分散先プリンタに供給される。
B−4.分散先プリンタの処理:
図17は、第3実施例における分散先プリンタの処理内容を示すフローチャートである。図17は、図9とほぼ同じであるが、図9のステップS222に代えて、ステップS224が実行される。また、図17では、ステップS212,S214,S216,S218が追加されている。
ステップS224の処理は、注目分散先プリンタ(例えばPRT1)でエラーが発生しており、かつ、パートナーである他の分散先プリンタ(例えばPRT2)でエラーが発生していない場合に実行される。
ステップS224では、注目分散先プリンタ(例えばPRT1)の未実行ジョブ生成部234は、分散ジョブ(例えばJB1b)の制御データを変更して未実行ジョブ(例えばJB5b)を生成し、未実行ジョブを含む通信データ(例えばDT5b)をパートナープリンタ(例えばPRT2)に供給する。具体的には、未実行ジョブ生成部234は、プリンタコントローラ260から、未印刷ページ情報を受け取ると共に、プリンタバッファ262内に格納された分散ジョブ(例えばJB1b)に含まれる制御データCDのみを受け取る。そして、未実行ジョブ生成部234は、分散ジョブの制御データCDを変更して、制御データCDを含み印刷データPDを含まない未実行ジョブ(例えばJB5b)を生成する。未実行ジョブのパートナープリンタ(例えばPRT2)への供給が完了すると、ステップS230に進み、ステップS202で受信した分散ジョブ(例えばJB1b)が削除される。
ステップS212の処理は、ステップS210で注目分散先プリンタ(例えばPRT1)が分散ジョブ(例えばJB1b)に従った印刷を完了した場合に実行される。
ステップS212では、注目分散先プリンタ(例えばPRT1)のジョブ処理部230は、パートナーである他の分散先プリンタ(例えばPRT2)に印刷が完了した旨を通知する。
ステップS214では、注目分散先プリンタ(例えばPRT1)は、パートナープリンタ(例えばPRT2)から印刷を完了した旨の通知を受信したか否かを判断する。パートナープリンタから印刷完了通知を受信した場合には、ステップS230に進み、ステップS202で受信した分散ジョブ(例えばJB1b)が削除される。一方、パートナープリンタから印刷完了通知を受信していない場合には、ステップS216に進む。
ステップS216では、注目分散先プリンタ(例えばPRT1)のジョブ処理部230は、パートナープリンタ(例えばPRT2)から未実行ジョブを受信したか否かを判断する。パートナープリンタから未実行ジョブを受信した場合には、ステップS218に進む。一方、パートナープリンタから未実行ジョブを受信していない場合には、ステップS214に戻る。
ステップS218では、注目分散先プリンタ(例えばPRT1)のプリンタエンジン270は、パートナープリンタ(例えばPRT2)から受信した未実行ジョブに従った印刷を実行する。ただし、ステップS224で説明したように、未実行ジョブは、制御データCDを含み印刷データPDを含んでいない。このため、注目分散先プリンタのプリンタコントローラ260は、ジョブ処理部230から受け取った未実行ジョブ(制御データCD)と、プリンタバッファ262に保存された分散ジョブ(例えばJB1b)と、を利用してプリンタエンジン270に印刷を実行させる。印刷が完了すると、ステップS230に進み、ステップS202で受信した分散ジョブ(例えばJB1b)および未実行ジョブ(制御データ)が削除される。
本実施例では、上記のように、各分散先プリンタは、自己のプリンタで分散ジョブに従った印刷を完了した場合には、パートナープリンタから印刷を完了した旨の通知を受け取った後(ステップS214)、あるいは、パートナープリンタから与えられた未実行ジョブに従った印刷を実行した後(ステップS218)に、自己のプリンタに与えられた分散ジョブを削除する。また、各分散先プリンタは、自己のプリンタでエラーが発生した場合には、パートナープリンタに未実行ジョブを供給した後(ステップS224)に、自己のプリンタに与えられた分散ジョブを削除する。
上記の説明から分かるように、図14(B)の場合には、第1の分散先プリンタPRT1は、ステップS224において、第1の分散ジョブJB1bを用いて未実行ジョブJB5bを生成し、未実行ジョブJB5bをパートナーである第2の分散先プリンタPRT2に供給することができる。そして、第2の分散先プリンタPRT2は、ステップS216で未実行ジョブJB5bを受け取り、ステップS218で未実行ジョブJB5bに従った印刷を実行することができる。
ただし、未実行ジョブJB5bには、印刷データPDが含まれていない。このため、第2の分散先プリンタPTT2のプリンタコントローラ260は、未実行ジョブJB5bを受け取ると、未実行ジョブJB5bに含まれる「SUBMISSION」情報を利用して、プリンタバッファ262に保持された分散ジョブJB2bの印刷データPDを読み出す。そして、プリンタコントローラ260は、未実行ジョブJB5bの制御データCDと分散ジョブJB2bの印刷データPDとを利用して印刷を実行する。
図18は、第2実施例における通信データDT5bの具体的な内容を示す説明図である。図示するように、通信データDT5bには、未実行ジョブJB5bが含まれているが、未実行ジョブJB5bには、印刷データPDは含まれておらず、制御データCDのみが含まれている。
前述したように、図18の未実行ジョブJB5bは、第1の分散ジョブJB1b(図15(B))の制御データCDの内容を変更して、生成される。具体的には、第1の分散先プリンタPRT1の未実行ジョブ生成部234は、第1の分散ジョブJB1b(図15(B))の制御データCDの「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」を追加する。これにより、図14(B)で説明したように、未印刷の4,5ページ目の画像(図16参照)の印刷の実行を要求すると共に、各印刷済み用紙を第2の状態で出力することを要求する未実行ジョブJB5bが生成される。なお、未印刷ページの指定値は、式(11)に従って決定される。
なお、本実施例においても、第1実施例の変形例で説明したように、制御データには、両面印刷に関する「DX」情報や、先頭用紙の表面に関する「FC」情報が含まれるようにしてもよい。
以上説明したように、本実施例でも、第1実施例と同様に、第1の分散先プリンタが第1の分散ジョブJB1bに従った印刷を続行できない場合に、サーバとしての機能を有する分散処理部220を利用せずに、第2の分散先プリンタPRT2に未実行ジョブJB5bを実行させることができる。
特に、本実施例では、各分散先プリンタでは、与えられた分散ジョブに従った印刷が完了した場合でも、パートナーである他の分散先プリンタの印刷が完了していない場合には、該分散ジョブが保持される。このため、本実施例では、第1の分散先プリンタPRT1は、印刷データPDを含まない未実行ジョブJB5bを第2の分散先プリンタPRT2に供給するだけで済み、未実行ジョブJB5bのサイズをかなり小さくすることができる。
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
(1)第1実施例では、2つの制御データCDa,CDbと2種類の印刷データPDa,PDbとを含む印刷ジョブが利用されているが、これに代えて、1つの制御データと2種類の印刷データとを含む印刷ジョブが利用されるようにしてもよい。そして、第1の分散先プリンタが印刷を続行できない場合には、第1の分散先プリンタは、第2実施例と同様に、分散ジョブに含まれる1つの制御データを変更して、1つの制御データと2種類の印刷データとを含む未実行ジョブを生成すればよい。なお、この場合には、1つの制御データには、「TARGET」情報に代えて、分散先プリンタで利用されるべき一方の印刷データを示す他の印刷データ指定情報が含まれる。
(2)第1実施例では、2種類の印刷データPDa,PDbを含む印刷ジョブが利用されているが、これに代えて、第2実施例と同様に、1種類の印刷データを含む印刷ジョブが利用されてもよい。また、この場合には、制御データと1種類の印刷データとを含む未実行ジョブが利用されればよい。
また、第2実施例では、1種類の印刷データを含む印刷ジョブが利用されているが、これに代えて、第1実施例と同様に、2種類の印刷データを含む印刷ジョブが利用されてもよい。また、この場合には、2種類の印刷データを含まず制御データのみを含む未実行ジョブが利用されればよい。
(3)第1実施例では、各分散ジョブには、同じ印刷データPDa,PDbが含まれており、第2実施例では、各分散ジョブには、同じ印刷データPDが含まれているが、各分散ジョブには、異なる印刷データが含まれるようにしてもよい。
例えば、コンピュータPCは、昇順に並んだ複数のページの画像を表す第1種の印刷データを含む原ジョブを分散元プリンタに供給する。分散元プリンタは、第1種の印刷データから、降順に並んだ複数のページの画像を表す第2種の印刷データを生成する。そして、分散元プリンタは、第(2・x−1)の分散先プリンタに第1種の印刷データを含む分散ジョブを供給し、第(2・x)の分散先プリンタに第2種の印刷データを含む分散ジョブを供給する。この場合にも、第(2・x−1)の分散先プリンタは、第1種の印刷データを用いて昇順に印刷を実行することができ、第(2・x)の分散先プリンタは、第2種の印刷データを用いて降順に印刷を実行することができる。
そして、第1の分散先プリンタが印刷を続行できない場合には、第1の分散先プリンタは、分散ジョブに含まれる第1種の印刷データから第2種の印刷データを生成して、該第2種の印刷データを含む未実行ジョブをパートナーである第2の分散先プリンタに供給すればよい。
(4)上記実施例では、複数のページの印刷の実行を要求する原ジョブが、ページ単位で複数の分散先プリンタに分散されている。しかしながら、これに代えて、複数の部数の印刷の実行を要求する原ジョブが、部数単位で複数の分散先プリンタに分散されるようにしてもよい。この場合には、第1の分散先プリンタが印刷を続行できない場合には、第1の分散先プリンタは、複数の部数の印刷の実行を要求する分散ジョブのうちの未実行の部数の印刷を要求する未実行ジョブを第2の分散先プリンタに供給すればよい。
また、上記実施例では、2台の分散先プリンタが1つのグループ(ペア)を構成しているが、これに代えて、3台以上の分散先プリンタが1つのグループを構成するようにしてもよい。ただし、2台の分散先プリンタが1つのグループ(ペア)を構成すれば、上記実施例のように、ページ単位で分散ジョブが生成され、未印刷ページの印刷を要求する未実行ジョブが発行される場合にも、ページの連続性が保たれた状態で各印刷済み媒体を出力させることができるという利点がある。
一般には、第1の分散先プリンタの未実行ジョブ生成部は、第1の分散先プリンタが第1の分散ジョブに従った印刷を続行できない場合に、第1の分散ジョブのうちの未実行のジョブである第1の未実行ジョブを生成し、該第1の未実行ジョブを同じグループに属する第2の分散先印刷装置に供給すればよい。
(5)上記実施例では、各分散先プリンタに供給されるジョブにパートナーの分散先プリンタのIPアドレスが含まれているが、これに代えて、各分散先プリンタは、自己のプリンタでエラーが発生した場合にのみ、分散元プリンタからパートナーのプリンタのIPアドレスを取得するようにしてもよい。
一般には、装置情報取得部は、複数台の分散先印刷装置のうち、第1の分散先印刷装置と同じグループに属する第2の分散先印刷装置を特定する装置特定情報を分散元装置から取得すればよい。
(6)上記実施例では、分散元プリンタPRT1は、分散元プリンタと同一機種のプリンタが登録された設定ファイルを利用して、分散先プリンタ候補を選択している。しかしながら、これに代えて、分散元プリンタは、ネットワークに接続されている多数のプリンタの中から、分散元プリンタと同じ機種名を有する複数の分散先プリンタ候補を取得するようにしてもよい。なお、各プリンタの機種名は、分散元プリンタのSNMPマネージャ部が各プリンタのSNMPエージェント部に問い合わせることによって取得可能である。
また、上記実施例では、設定ファイルには、分散元プリンタと同一機種のプリンタが登録されているが、これに加えて、類似機種のプリンタが登録されていてもよい。例えば、カラー印刷およびモノクロ印刷を実行可能な上位機種のプリンタと、該上位機種のプリンタからカラー印刷機能が省略された下位機種のプリンタとでは、通常、モノクロ印刷時には、同一の印刷データを利用して印刷が実行される。したがって、下位機種のプリンタが分散元プリンタとして選択された場合には、下位機種のプリンタと上位機種のプリンタとが分散先プリンタとして選択されるようにしてもよい。すなわち、分散先プリンタとしては、同一の印刷データを使用して印刷を実行可能なプリンタが選択されればよい。
(7)上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
分散印刷システムを示す説明図である。 通信データの構造を模式的に示す説明図である。 図1のコンピュータPCの内部構成を示す説明図である。 図1の第1および第2のプリンタPRT1,PRT2の内部構成を示す説明図である。 第1実施例における印刷処理の概要を示す説明図である。 第1実施例における通信データDT0〜DT4の具体的な内容を示す説明図である。 分散元プリンタの処理内容を示すフローチャートである。 ページ画像のページ番号と、指定値と、の関係を示す説明図である。 分散先プリンタの処理内容を示すフローチャートである。 第1実施例における通信データDT5,DT6の具体的な内容を示す説明図である。 第1実施例の変形例における印刷処理の概要を示す説明図である。 第1実施例の変形例における通信データDT0’〜DT4’の具体的な内容を示す説明図である。 第1実施例の変形例における通信データDT5’,DT6’の具体的な内容を示す説明図である。 第2実施例における印刷処理の概要を示す説明図である。 第2実施例における通信データDT0b〜DT4bの具体的な内容を示す説明図である。 ページ画像のページ番号と、指定値と、の関係を示す説明図である。 第3実施例における分散先プリンタの処理内容を示すフローチャートである。 第2実施例における通信データDT5bの具体的な内容を示す説明図である。
符号の説明
110…CPU
120…内部記憶装置
130…印刷ジョブ生成部
150…外部記憶装置
160…表示部
170…操作部
190…通信IF部
210…通信制御部
220…分散処理部
222…分散先プリンタ決定部
223…設定ファイル格納部
224…割当ページ決定部
226…ジョブ格納部
230…ジョブ処理部
232…プリンタ特定情報取得部
234…未実行ジョブ生成部
242…SNMPマネージャ部
244…SNMPエージェント部
260…プリンタコントローラ
262…プリンタバッファ
264…MIB格納部
270…プリンタエンジン
NBa…ネットワークボード
NBb…ネットワークボード
NW…ネットワーク
PC…パーソナルコンピュータ
PRB…プリンタ本体

Claims (12)

  1. 原印刷ジョブを分散させる分散処理を実行する分散元装置と、前記分散元装置から供給される複数の分散済み印刷ジョブのそれぞれに従って印刷を実行する複数台の分散先印刷装置と、を備える印刷システムにおいて利用される第1の分散先印刷装置であって、
    印刷を実行する印刷実行部と、
    前記分散元装置から供給される第1の分散済み印刷ジョブを取得し、前記印刷実行部に前記第1の分散済み印刷ジョブを与えるための印刷ジョブ処理部と、
    を備え、
    前記印刷ジョブ処理部は、
    前記複数台の分散先印刷装置のうち、前記第1の分散先印刷装置と同じグループに属する第2の分散先印刷装置を特定する装置特定情報を前記分散元装置から取得する装置情報取得部と、
    前記第1の分散先印刷装置が前記第1の分散済み印刷ジョブに従った印刷を続行できない場合に、前記第1の分散済み印刷ジョブのうちの未実行の印刷ジョブである第1の未実行印刷ジョブを生成し、前記第1の未実行印刷ジョブを前記装置特定情報によって特定される前記第2の分散先印刷装置に供給する未実行印刷ジョブ生成部と、
    を備え
    前記印刷ジョブ処理部は、前記分散元装置から前記第2の分散先印刷装置に供給された第2の分散済み印刷ジョブのうちの未実行の印刷ジョブである第2の未実行印刷ジョブを、前記第2の分散先印刷装置から取得する場合には、前記印刷実行部に前記第2の未実行印刷ジョブを与え、
    前記原印刷ジョブは、複数のページの印刷の実行を要求し、
    前記第1の分散済み印刷ジョブは、前記複数のページのうちの第1の部分のページの印刷の実行を要求すると共に、前記第1の部分のページが印刷される各印刷済み媒体が第1の状態であって、前記各印刷済み媒体の印刷面が第1の方向を向き、前記各印刷済み媒体が前記第1の方向から該第1の方向の反対の方向である第2の方向に向けて昇順に並ぶ前記第1の状態で出力されることを要求し、
    前記第2の分散済み印刷ジョブは、前記複数のページのうちの前記第1の部分と異なり前記第1の部分のページに続く第2の部分のページの印刷の実行を要求すると共に、前記第2の部分のページが印刷される各印刷済み媒体が第2の状態であって、前記各印刷済み媒体の印刷面が前記第2の方向を向き、前記各印刷済み媒体が前記第1の方向から前記第2の方向に向けて降順に並ぶ前記第2の状態で出力されることを要求し、
    前記第1の未実行印刷ジョブは、前記第1の部分のページのうちの前記第2の部分のページの直前の未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第2の状態で出力されることを要求し、
    前記第1の部分のページと前記第2の部分のページとは連続しており、前記第1の部分のページの方が前記第2の部分のページよりも若いページである、
    第1の分散先印刷装置。
  2. 請求項記載の第1の分散先印刷装置であって、
    前記各分散済み印刷ジョブは、
    昇順に並んだ前記複数のページの画像を表す第1種の前記印刷データと、
    降順に並んだ前記複数のページの画像を表す第2種の前記印刷データと、
    前記2種類の印刷データのうちの前記各分散先印刷装置で利用されるべき一方の印刷データを示す印刷データ指定情報と、
    を含み、
    前記第1の未実行印刷ジョブは、前記第1の分散済み印刷ジョブに含まれる前記印刷データ指定情報を変更することによって生成される、第1の分散先印刷装置。
  3. 請求項記載の第1の分散先印刷装置であって、
    前記各分散済み印刷ジョブは、
    所定の順序で並んだ前記複数のページの画像を表す前記印刷データと、
    前記各分散先印刷装置で印刷される前記各印刷済み媒体の出力順序を示す出力順序指定情報と、
    を含み、
    前記第1の未実行印刷ジョブは、前記第1の分散済み印刷ジョブに含まれる前記出力順序指定情報を変更することによって生成される、第1の分散先印刷装置。
  4. 請求項ないしのいずれかに記載の第1の分散先印刷装置であって、
    前記各分散済み印刷ジョブは、前記複数のページの画像を表す印刷データを含んでおり、
    前記第2の分散先印刷装置では、前記第2の分散済み印刷ジョブに従った印刷が完了した場合には前記第2の分散済み印刷ジョブが削除され、
    前記未実行印刷ジョブ生成部は、前記第2の分散先印刷装置に、前記第1の分散済み印刷ジョブを用いて生成され、前記印刷データを含む前記第1の未実行印刷ジョブを供給する、第1の分散先印刷装置。
  5. 請求項ないしのいずれかに記載の第1の分散先印刷装置であって、
    前記各分散済み印刷ジョブは、前記複数のページの画像を表す印刷データを含んでおり、
    前記第2の分散先印刷装置では、前記第1の分散先印刷装置で前記第1の分散済み印刷ジョブに従った印刷が完了するまで、前記第2の分散済み印刷ジョブが保持され、
    前記未実行印刷ジョブ生成部は、前記第2の分散先印刷装置に、前記第1の分散済み印刷ジョブを用いて生成され、前記印刷データを含まない前記第1の未実行印刷ジョブを供給する、第1の分散先印刷装置。
  6. 請求項1ないしのいずれかに記載の第1の分散先印刷装置であって、
    前記装置特定情報は、前記第1の分散済み印刷ジョブに含まれる、第1の分散先印刷装置。
  7. 請求項1ないしのいずれかに記載の第1の分散先印刷装置であって、
    前記グループは、前記第1の分散先印刷装置と前記第2の分散先印刷装置とで構成される、第1の分散先印刷装置。
  8. 請求項1ないしのいずれかに記載の第1の分散先印刷装置であって、
    前記第1の分散先印刷装置は、前記分散元装置を含む、第1の分散先印刷装置。
  9. 印刷システムであって、
    請求項1ないしのいずれかに記載の前記第1の分散先印刷装置を含む前記複数台の分散先印刷装置と、
    前記分散元装置と、
    を備えることを特徴とする印刷システム。
  10. 原印刷ジョブを分散させる分散処理を実行する分散元装置と、前記分散元装置から供給される複数の分散済み印刷ジョブのそれぞれに従って印刷を実行する複数台の分散先印刷装置と、を備える印刷システムにおいて利用され、印刷を実行する印刷実行部を備える第1の分散先印刷装置の処理方法であって、
    (a)前記分散元装置から供給される第1の分散済み印刷ジョブを取得し、前記印刷実行部に前記第1の分散済み印刷ジョブを与える工程と、
    (b)前記複数台の分散先印刷装置のうち、前記第1の分散先印刷装置と同じグループに属する第2の分散先印刷装置を特定する装置特定情報を前記分散元装置から取得する工程と、
    (c)前記第1の分散先印刷装置が前記第1の分散済み印刷ジョブに従った印刷を続行できない場合に、前記第1の分散済み印刷ジョブのうちの未実行の印刷ジョブである第1の未実行印刷ジョブを生成し、前記第1の未実行印刷ジョブを前記装置特定情報によって特定される前記第2の分散先印刷装置に供給する工程と、
    (d)前記分散元装置から前記第2の分散先印刷装置に供給された第2の分散済み印刷ジョブのうちの未実行の印刷ジョブである第2の未実行印刷ジョブを、前記第2の分散先印刷装置から取得する場合には、前記印刷実行部に前記第2の未実行印刷ジョブを与える工程と、を備え、
    前記原印刷ジョブは、複数のページの印刷の実行を要求し、
    前記第1の分散済み印刷ジョブは、前記複数のページのうちの第1の部分のページの印刷の実行を要求すると共に、前記第1の部分のページが印刷される各印刷済み媒体が第1の状態であって、前記各印刷済み媒体の印刷面が第1の方向を向き、前記各印刷済み媒体が前記第1の方向から該第1の方向の反対の方向である第2の方向に向けて昇順に並ぶ前記第1の状態で出力されることを要求し、
    前記第2の分散済み印刷ジョブは、前記複数のページのうちの前記第1の部分と異なり前記第1の部分のページに続く第2の部分のページの印刷の実行を要求すると共に、前記第2の部分のページが印刷される各印刷済み媒体が第2の状態であって、前記各印刷済み媒体の印刷面が前記第2の方向を向き、前記各印刷済み媒体が前記第1の方向から前記第2の方向に向けて降順に並ぶ前記第2の状態で出力されることを要求し、
    前記第1の未実行印刷ジョブは、前記第1の部分のページのうちの前記第2の部分のページの直前の未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第2の状態で出力されることを要求し、
    前記第1の部分のページと前記第2の部分のページとは連続しており、前記第1の部分のページの方が前記第2の部分のページよりも若いページである
    処理方法。
  11. 原印刷ジョブを分散させる分散処理を実行する分散元装置と、前記分散元装置から供給される複数の分散済み印刷ジョブのそれぞれに従って印刷を実行する複数台の分散先印刷装置と、を備える印刷システムにおいて利用され、印刷を実行する印刷実行部を備える第1の分散先印刷装置に処理を実行させるためのコンピュータプログラムであって、
    前記分散元装置から供給される第1の分散済み印刷ジョブを取得し、前記印刷実行部に前記第1の分散済み印刷ジョブを与える機能と、
    前記複数台の分散先印刷装置のうち、前記第1の分散先印刷装置と同じグループに属する第2の分散先印刷装置を特定する装置特定情報を前記分散元装置から取得する機能と、
    前記第1の分散先印刷装置が前記第1の分散済み印刷ジョブに従った印刷を続行できない場合に、前記第1の分散済み印刷ジョブのうちの未実行の印刷ジョブである第1の未実行印刷ジョブを生成し、前記第1の未実行印刷ジョブを前記装置特定情報によって特定される前記第2の分散先印刷装置に供給する機能と、
    前記分散元装置から前記第2の分散先印刷装置に供給された第2の分散済み印刷ジョブのうちの未実行の印刷ジョブである第2の未実行印刷ジョブを、前記第2の分散先印刷装置から取得する場合には、前記印刷実行部に前記第2の未実行印刷ジョブを与える機能と、を前記第1の分散先印刷装置に実現させることを特徴とするコンピュータプログラムであり、
    前記原印刷ジョブは、複数のページの印刷の実行を要求し、
    前記第1の分散済み印刷ジョブは、前記複数のページのうちの第1の部分のページの印刷の実行を要求すると共に、前記第1の部分のページが印刷される各印刷済み媒体が第1の状態であって、前記各印刷済み媒体の印刷面が第1の方向を向き、前記各印刷済み媒体が前記第1の方向から該第1の方向の反対の方向である第2の方向に向けて昇順に並ぶ前記第1の状態で出力されることを要求し、
    前記第2の分散済み印刷ジョブは、前記複数のページのうちの前記第1の部分と異なり前記第1の部分のページに続く第2の部分のページの印刷の実行を要求すると共に、前記第2の部分のページが印刷される各印刷済み媒体が第2の状態であって、前記各印刷済み媒体の印刷面が前記第2の方向を向き、前記各印刷済み媒体が前記第1の方向から前記第2の方向に向けて降順に並ぶ前記第2の状態で出力されることを要求し、
    前記第1の未実行印刷ジョブは、前記第1の部分のページのうちの前記第2の部分のページの直前の未印刷のページの印刷の実行を要求すると共に、前記未印刷のページが印刷される各印刷済み媒体が前記第2の状態で出力されることを要求し、
    前記第1の部分のページと前記第2の部分のページとは連続しており、前記第1の部分のページの方が前記第2の部分のページよりも若いページである
    コンピュータプログラム。
  12. 請求項11記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2005248733A 2005-08-30 2005-08-30 印刷ジョブの分散処理 Expired - Fee Related JP4635785B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005248733A JP4635785B2 (ja) 2005-08-30 2005-08-30 印刷ジョブの分散処理
US11/510,659 US7692805B2 (en) 2005-08-30 2006-08-28 Print job distribution processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005248733A JP4635785B2 (ja) 2005-08-30 2005-08-30 印刷ジョブの分散処理

Publications (2)

Publication Number Publication Date
JP2007062059A JP2007062059A (ja) 2007-03-15
JP4635785B2 true JP4635785B2 (ja) 2011-02-23

Family

ID=37803649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005248733A Expired - Fee Related JP4635785B2 (ja) 2005-08-30 2005-08-30 印刷ジョブの分散処理

Country Status (2)

Country Link
US (1) US7692805B2 (ja)
JP (1) JP4635785B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852231B2 (en) 2005-08-24 2010-12-14 Cooper Technologies Company Electrical control system
US7817060B2 (en) * 2005-08-24 2010-10-19 Cooper Technologies Company Electrical control system
US8115591B2 (en) * 2005-08-24 2012-02-14 Cooper Technologies Company Electrical control system
US20110093094A1 (en) * 2006-01-13 2011-04-21 Rahul Goyal In-Wall Occupancy Sensor with RF Control
US7697851B2 (en) * 2006-08-03 2010-04-13 Ricoh Company, Ltd. User initiated alerts in a document processing environment
JP4870621B2 (ja) 2006-09-15 2012-02-08 株式会社リコー 情報処理装置、方法、システム、プログラム及びその記録媒体
JP4924001B2 (ja) * 2006-12-14 2012-04-25 セイコーエプソン株式会社 印刷システム及び印刷システムにおける印刷制御方法
JP4297172B2 (ja) * 2007-02-27 2009-07-15 コニカミノルタビジネステクノロジーズ株式会社 印刷管理装置、印刷システム及び印刷管理方法
JP4353280B2 (ja) * 2007-06-01 2009-10-28 ブラザー工業株式会社 印刷装置
JP5741661B2 (ja) * 2008-03-07 2015-07-01 株式会社リコー 印刷システム、印刷装置、ホスト装置およびプログラム
JP4990821B2 (ja) * 2008-03-07 2012-08-01 株式会社リコー 印刷装置、プログラムおよび印刷制御方法
JP2009238206A (ja) * 2008-03-07 2009-10-15 Ricoh Co Ltd 印刷システム、印刷装置、ホスト装置およびプログラム
JP2009271793A (ja) * 2008-05-08 2009-11-19 Canon Inc 印刷制御装置及び印刷制御方法及びプログラム
US8649044B2 (en) 2010-01-29 2014-02-11 Hewlett-Packard Development Company, L.P. Computer processing of differences between print job files
JP5740842B2 (ja) * 2010-05-20 2015-07-01 株式会社リコー 画像形成装置、画像形成方法及びプログラム
JP6079060B2 (ja) * 2012-08-29 2017-02-15 株式会社リコー 携帯端末、画像形成方法及び画像形成システム
JP5819996B2 (ja) 2014-01-22 2015-11-24 ウイングアーク1st株式会社 印刷システム、クラスタ環境における印刷制御方法および印刷制御用プログラム
JP6117165B2 (ja) * 2014-10-21 2017-04-19 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成システムおよびジョブ管理プログラム
JP6805872B2 (ja) * 2017-02-17 2020-12-23 コニカミノルタ株式会社 分散印刷制御プログラム、分散印刷制御装置及び分散印刷制御方法
JP2019212070A (ja) * 2018-06-06 2019-12-12 コニカミノルタ株式会社 情報処理装置、プログラム及び印刷システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212314A (ja) * 1996-01-31 1997-08-15 Ricoh Co Ltd ネットワークプリンタ
JPH09319532A (ja) * 1996-05-28 1997-12-12 Canon Inc 印刷制御装置及び方法
JPH11110163A (ja) * 1997-10-06 1999-04-23 Ricoh Co Ltd プリント処理装置
JP2001117735A (ja) * 1999-10-15 2001-04-27 Casio Comput Co Ltd 印刷制御装置およびそのプログラム記録媒体
JP2002200828A (ja) * 2000-10-23 2002-07-16 Canon Inc 情報処理装置、制御方法及び記憶媒体
JP2003323279A (ja) * 2002-04-26 2003-11-14 Sharp Corp ネットワーク印刷システムおよびその管理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287194A (en) * 1992-11-25 1994-02-15 Xerox Corporation Distributed printing
JP3242801B2 (ja) * 1994-11-28 2001-12-25 株式会社日立製作所 印刷システム
US6657741B1 (en) * 1995-08-07 2003-12-02 Tr Systems, Inc. Multiple print engine system with selectively distributed ripped pages
JP3278394B2 (ja) * 1998-02-25 2002-04-30 キヤノン株式会社 情報処理装置、情報処理方法、及び、記憶媒体
DE60001937T2 (de) * 1999-05-21 2004-01-29 Matsushita Electric Ind Co Ltd Digitaler drucker
JP2002268850A (ja) 2001-03-07 2002-09-20 Canon Inc サーバ装置およびサーバ装置のジョブ処理方法および記憶媒体
JP2004181647A (ja) 2002-11-29 2004-07-02 Seiko Epson Corp 代替印刷機能付き印刷装置
US20050134909A1 (en) * 2003-11-26 2005-06-23 Toshihiro Shima Distributed printing control device and print job distribution method
JP2005322054A (ja) * 2004-05-10 2005-11-17 Seiko Epson Corp 分散印刷制御装置及び印刷ジョブ分散方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212314A (ja) * 1996-01-31 1997-08-15 Ricoh Co Ltd ネットワークプリンタ
JPH09319532A (ja) * 1996-05-28 1997-12-12 Canon Inc 印刷制御装置及び方法
JPH11110163A (ja) * 1997-10-06 1999-04-23 Ricoh Co Ltd プリント処理装置
JP2001117735A (ja) * 1999-10-15 2001-04-27 Casio Comput Co Ltd 印刷制御装置およびそのプログラム記録媒体
JP2002200828A (ja) * 2000-10-23 2002-07-16 Canon Inc 情報処理装置、制御方法及び記憶媒体
JP2003323279A (ja) * 2002-04-26 2003-11-14 Sharp Corp ネットワーク印刷システムおよびその管理方法

Also Published As

Publication number Publication date
US7692805B2 (en) 2010-04-06
US20070046989A1 (en) 2007-03-01
JP2007062059A (ja) 2007-03-15

Similar Documents

Publication Publication Date Title
JP4635785B2 (ja) 印刷ジョブの分散処理
JP4650158B2 (ja) 分散制御を実行するための印刷制御装置、及び、印刷装置
JP3591259B2 (ja) ネットワークシステム並びにネットワーク印刷方法
JP3320342B2 (ja) 印刷をプリンタ・システムに実行させる方法、印刷実行方法、コンピュータ、及びプリンタ・システム
US6894800B2 (en) Information processing apparatus and information display method for displaying job information relating to an output job
JP4240690B2 (ja) 情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体
JP2004220565A (ja) 分散印刷システム及び分散印刷方法、分散印刷プログラム、並びにプリンタ及びプリンタ管理サーバ
US20100103453A1 (en) Printing system and control method of the printing system
JP2009297994A (ja) 印刷装置、印刷システムおよびプログラム
EP1818803A2 (en) Authenticated printing apparatus and method and authenticated printing system
US7580146B2 (en) Hierarchical architecture for a distributed and scalable network printing system
US9280306B2 (en) Generating image data in accordance with identification information
JP2007514236A (ja) プリンタにドキュメントおよびリソースを送信するシステム
US20070030514A1 (en) Control for execution of distributed printing
JP2001195212A (ja) 印刷システム
JPH1021021A (ja) 印刷システム及び印刷制御方法
JP2001092604A (ja) 印刷システムおよび情報処理装置およびホストベースプリンタ及びその制御方法
JP2005346739A (ja) プリンタおよびプリンタジョブデータの転送方法
JP2007041754A (ja) 分散印刷を実行するための印刷制御
JPH09179833A (ja) ジョブ処理システム
JP4139541B2 (ja) プリンタおよびプリンタジョブデータの転送方法
JP4453369B2 (ja) 印刷装置および印刷方法、コンピュータプログラム、記録媒体
JP2762959B2 (ja) プリンタ制御方式
JP4243831B2 (ja) プリンタおよびプリンタジョブデータの転送方法
JP4035304B2 (ja) デジタル情報出力システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101026

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4635785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees