Nothing Special   »   [go: up one dir, main page]

JP4453369B2 - 印刷装置および印刷方法、コンピュータプログラム、記録媒体 - Google Patents

印刷装置および印刷方法、コンピュータプログラム、記録媒体 Download PDF

Info

Publication number
JP4453369B2
JP4453369B2 JP2004011418A JP2004011418A JP4453369B2 JP 4453369 B2 JP4453369 B2 JP 4453369B2 JP 2004011418 A JP2004011418 A JP 2004011418A JP 2004011418 A JP2004011418 A JP 2004011418A JP 4453369 B2 JP4453369 B2 JP 4453369B2
Authority
JP
Japan
Prior art keywords
print job
printing
printing apparatus
copies
printer
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
JP2004011418A
Other languages
English (en)
Other versions
JP2005178347A (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 JP2004011418A priority Critical patent/JP4453369B2/ja
Priority to US10/996,840 priority patent/US20050134909A1/en
Publication of JP2005178347A publication Critical patent/JP2005178347A/ja
Application granted granted Critical
Publication of JP4453369B2 publication Critical patent/JP4453369B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、ネットワークに接続された1以上の印刷装置に印刷ジョブを分散して、分散印刷を行う技術に関する。
近年、複数のプリンタを同一ネットワークに接続し、ユーザが複数のプリンタを使い分けることができる印刷システムが普及しつつある。複数部の印刷を行う場合、印刷ジョブを各プリンタに分散し、並行処理することにより、短時間で印刷を完了する技術、いわゆる分散印刷も提案されている(例えば、特許文献1参照)。分散印刷は、ネットワーク上に設けられた分散印刷用の専用サーバが、印刷ジョブの分散先および印刷部数を制御するのが通常である。
特開2002−215369号公報
しかし、従来技術では、分散印刷を実現するために専用サーバを含めた大がかりなシステムが必要となっていた。
本発明は、かかる課題を解決するためになされたものであり、簡易なシステムで、分散印刷を実現することを目的とする。
上記した目的の少なくとも一部を達成するために、本発明の第1の印刷装置は、ネットワークを介して送信される印刷ジョブに基づく印刷を実行する印刷装置であって、
当該印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブを受信する受信手段と、
前記受信手段によって受信される印刷ジョブが、当該印刷装置における第1のソフトウェアを特定する第1の送信先ポート番号が指定された印刷ジョブである場合、該印刷ジョブに基づく印刷を当該印刷装置において実行する印刷手段と、
前記受信手段によって受信される印刷ジョブが、前記第1のソフトウェアとは異なる当該印刷装置における第2のソフトウェアを特定する第2の送信先ポート番号が指定された印刷ジョブである場合、前記ネットワークに接続された他の印刷装置を含む複数の印刷装置に該印刷ジョブを分散する分散手段と
を備え
前記分散手段は、前記受信手段による前記印刷ジョブの受信完了に先立って、前記複数の印刷装置に対する該印刷ジョブの分散を開始する手段であることを特徴とする。
上述の印刷装置によれば、送信先ポート番号で分散印刷を制御する場合では、分散印刷を実行するために、例えば、コンピュータ等に特別なソフトウェアをインストールしたりする必要がなく、また、分散印刷を行う場合、ユーザは、コンピュータ等から印刷装置に印刷ジョブを送信する際に、コンピュータ等において、ポート番号の指定を特定のポート番号に変更するだけでよいため、ユーザの負担を大幅に軽減することができる。また、印刷装置が、分散印刷を全て制御しているため、専用サーバを用いることなく、簡易なシステムで分散印刷を実現することが可能である。
第1の印刷装置において、前記分散手段は、前記他の印刷装置に分散させる印刷ジョブを、前記他の印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブであって、前記第1の送信先ポート番号が指定された印刷ジョブに変更するポート変更手段を含むことが好ましい。
このように構成することにより、印刷ジョブを他の印刷装置に分散しても、そのときに指定されるポート番号は第1のポート番号であるため、他の印刷装置以降で、さらに再分散,再々分散など、無限に分散するようなことがない。
本発明の第2の印刷装置は、ネットワークを介して送信される印刷ジョブに基づく印刷を実行する印刷装置であって、
当該印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブを受信する受信手段と、
前記受信手段によって受信される印刷ジョブが、第1の印刷プロトコルに従って設定された印刷ジョブである場合、該印刷ジョブに基づく印刷を当該印刷装置において実行する印刷手段と、
前記受信手段によって受信される印刷ジョブが、前記第1の印刷プロトコルとは異なる第2の印刷プロトコルに従って設定された印刷ジョブである場合、前記ネットワークに接続された他の印刷装置を含む複数の印刷装置に該印刷ジョブを分散する分散手段と
を備え
前記分散手段は、前記受信手段による前記印刷ジョブの受信完了に先立って、前記複数の印刷装置に対する該印刷ジョブの分散を開始する手段であることを特徴とする。
第2の印刷装置によれば、第1の印刷装置の場合と同様に、分散印刷を実行するために、例えば、コンピュータ等に特別なソフトウェアをインストールしたりする必要がなく、また、分散印刷を行う場合、ユーザは、コンピュータ等から印刷装置に印刷ジョブを送信する際に、コンピュータ等において、印刷プロトコルの指定を特定の印刷プロトコルに変更するだけでよいため、ユーザの負担を大幅に軽減することができる。また、印刷装置が、分散印刷を全て制御しているため、専用サーバを用いることなく、簡易なシステムで分散印刷を実現することが可能である。
第2の印刷装置において、前記分散手段は、前記他の印刷装置に分散させる印刷ジョブを、前記他の印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブであって、前記第1の印刷プロトコルに従って設定された印刷ジョブに変更するプロトコル変更手段を含むことが好ましい。
このように構成することにより、印刷ジョブを他の印刷装置に分散しても、そのときに用いられる印刷プロトコルは第1の印刷プロトコルであるため、他の印刷装置以降で、さらに再分散,再々分散など、無限に分散するようなことがない。
第1および第2の印刷装置において、前記分散手段は、前記受信手段によって受信される印刷ジョブが2以上の印刷部数を指定する印刷ジョブである場合、前記複数の印刷装置の各々に割り当てる印刷部数である分散部数を決定する部数決定手段を含むとしても良い。
これによって、印刷ジョブに含まれる印刷部数を変更し、その印刷ジョブを各印刷装置にそれぞれ分散するだけで、容易に分散印刷を行うことができるので、印刷装置のCPUとしては、高い処理能力を有するCPUを用いなくて済み、製造コストを低減することができる。
部数決定手段を備える印刷装置において、前記複数の印刷装置の各々に割り当てる各印刷部数がほぼ同じ値となるように、前記分散部数を決定する手段であってもよい。
これによって、印刷装置にできる限り均等に印刷部数を割り当てることができる。
部数決定手段を備える印刷装置において、更に、前記他の印刷装置から、該他の印刷装置における消耗品の状態を示す情報を取得する情報取得手段を備え、
前記部数決定手段は、前記情報取得手段によって取得される情報に基づいて、前記分散部数を決定する手段であるとしてもよい。
これによって、他の印刷装置における消耗品の状態に応じて、効率よく、分散印刷を行うことが可能となる。
なお、前記情報取得手段は、前記他の印刷装置から、該他の印刷装置における消耗品の残量または残寿命を示す情報を取得する手段であり、
前記部数決定手段は、前記消耗品の残量または残寿命が多いほど割り当てられる印刷部数が多くなるように、前記分散部数を決定する手段であることが好ましい。
これによって、分散印刷を開始した後に、他の印刷装置において、消耗品がなくなったり、消耗品の寿命がつきたりすることに起因して印刷が停止してしまうという可能性を低減することができ、他の印刷装置を効率よく利用することができる。
部数決定手段を備える印刷装置において、更に、前記他の印刷装置から、該他の印刷装置の性能を示す情報を取得する情報取得手段を備え、
前記部数決定手段は、前記情報取得手段によって取得される情報に基づいて、前記分散部数を決定する手段であるとしてもよい。
これによって、他の印刷装置の性能に応じて、効率よく、分散印刷を行うことが可能となる。
なお、前記情報取得手段は、前記他の印刷装置から、該他の印刷装置の処理速度を示す情報を取得する手段であり、
前記部数決定手段は、前記処理速度が速いほど割り当てられる印刷部数が多くなるように、前記分散部数を決定する手段であることが好ましい。これによって、全体として、分散印刷に要する時間を短縮することができる。
上述の印刷装置において、前記分散手段は、当該印刷装置および前記他の印刷装置を含む複数の印刷装置に前記印刷ジョブを分散する手段であることが好ましい。
このように構成することにより、印刷ジョブを分散する印刷装置自身を分散先の候補に組み入れることができ、分散先の選択範囲を広げることができる。
上述の印刷装置において、前記分散手段は、当該印刷装置と同一機種の印刷装置であって印刷実行可能な印刷装置を前記ネットワークから検索することによって、前記他の印刷装置を決定する決定手段を含むことが好ましい。
これによって、印刷ジョブのデータ変換などをすることなく、適正な印刷を行わせることができる。
上述の印刷装置において、更に、前記他の印刷装置を指定する指定ファイルを記憶する手段を備え、前記分散手段は、当該印刷装置と同一機種の印刷装置であって印刷実行可能な印刷装置を前記指定ファイルに基づいて検索することによって、前記他の印刷装置を決定する決定手段を含むことが好ましい。
これによって、分散先印刷装置の候補を、予め、所望の印刷装置に絞り込むことができる。
なお、本発明は、印刷装置の態様に限ることなく、印刷方法の態様で実現することも可能である。さらには、それら方法や装置を構築するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。

本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、印刷装置を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやCD−ROM、DVD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
以下、本発明の実施の形態を、実施例に基づいて、下記の項目に分けて説明する。
A.第1の実施例:
A1.システム概要:
A2.プリンタの構成:
A3.通常印刷処理:
A4.分散印刷処理:
A5.実施例の効果:
B.第2の実施例:
B1.プリンタの構成:
B2.通常印刷処理:
B3.分散印刷処理:
B4.実施例の効果:
C.第3の実施例:
C1.分散印刷処理:
C2.実施例の効果:
D.第4の実施例:
D1.分散印刷処理:
D2.実施例の効果:
E.変形例:
A.第1の実施例:
A1.システム概要:
図1は本発明の第1の実施例としてのプリンタPRT1を備える印刷システムの構成を示す説明図である。この印刷システムでは、図示するように、クライアントPC(以下、クライアントと略す)CL、複数のプリンタPRT1〜PRT4がローカルエリアネットワーク(LAN)に接続されている。各機器間の通信は、TCP/IPプロトコルをベースとしているため、各機器には、それぞれ、IPアドレスが予め固定で割り振られている。説明の便宜上、クライアントCLには「IPc」、プリンタPRT1〜PRT4には、それぞれ「IP1」〜「IP4」なるアドレスが設定されているものとする。なお、厳密に言えば、これらIPアドレスは、クライアントCL,プリンタPRT1〜PRT4自体に設定されているわけではなく、TCP/IPのネットワークから見た場合のノード(すなわち、具体的には、TCP/IP通信を行うためにネットワークに接続されているネットワークボードなど)に設定されている。
これらプリンタのうち、プリンタPRT1には、カスタムネットワークボードCNBが取り付けられている。このカスタムネットワークボードCNBは、受信した印刷ジョブを他のプリンタに分散して、分散印刷を実行するための分散印刷制御機能を備えており、請求項における分散印刷制御装置に相当する。一方、他のプリンタには、それぞれ、標準のネットワークボード(図示せず)が取り付けられている。
一例として図中には、クライアントCLからプリンタPRT1に、印刷ジョブを含む通信データDT0が送信される場合を例示した。
図2はこのような印刷ジョブを含む通信データの構成を概念的に示す説明図である。図2に示すように、通信データは、大きく分けて、ヘッダと、印刷ジョブデータと、に分かれている。
このうち、ヘッダには、その通信データの発信元である機器のIPアドレス(発信元IPアドレス)と、その機器内における発信元であるソフトウェアを特定するポート番号(発信元ポート番号)と、を含む他、その通信データの送信先である機器のIPアドレス(送信先IPアドレス)と、その機器内における送信先であるソフトウェアを特定するポート番号(送信先ポート番号)とを含んでいる。発信元である機器のソフトウェアから発信された通信データは、送信先IPアドレスに従って、そのIPアドレスを有する機器に送信され、さらに、受信したその機器内では、送信先ポート番号に従って、その番号のポートで待機しているソフトウェアに渡される。
一方、印刷ジョブデータは、ジョブ制御言語の部分と、印刷コマンドと、に分かれており、このうち、ジョブ制御言語部分には、印刷部数情報として、印刷部数を表すQT値が記載されている。
なお、TCP/IPの場合、通信データは、通常、バケットで通信される。従って、実際には、一連の印刷ジョブデータは、時分割された上で、各時分割データの前に上記ヘッダを付けて、それぞれ、送信されることになる。
図1に戻って、通信データDT0には、送信先IPアドレスとして「IP1」が、送信先ポート番号として「19100」が、QT値(すなわち、印刷部数)として「100部」が、それぞれ記載されている。
本実施例では、印刷プロトコルとして無手順プロトコルを用いている。無手順プロトコルでは、通常、ボート番号として「9100」が割り当てられているが、本発明の特徴として、本実施例では、クライアントCLから分散印刷制御機能を有するプリンタPRT1に印刷ジョブを送信する際、ボート番号として通常の「9100」ではなく、「19100」を用いる。
プリンタPRT1のカスタムネットワークボードCNBは、この通信データDT0を受信すると、ポート番号「19100」に待機しているソフトウェアに、印刷ジョブデータを渡す。本実施例では、ポート番号「19100」には、分散印刷制御機能を実現するための分散印刷ソフトウェアが待機している。それにより、その分散印刷ソフトウェアに従ってCPUにより実現される各機能部が、分散先のプリンタとして、プリンタPRT2〜PRT4の他、自己のプリンタPRT1を決定し、印刷ジョブデータに含まれるQT値を「25部」に変更すると共に、送信先ポート番号を「19100」ではなく、「9100」に変更した上で、それら分散先のプリンタに、それぞれ、印刷ジョブを含む通信データDT1〜DT4を送信する。
従って、例えば、通信データDT2には、送信先IPアドレスとして「IP2」が、送信先ポート番号として「9100」が、QT値として「25部」が、それぞれ記載されている。
プリンタPRT2の標準ネットワークボードは、この通信データDT2を受信すると、ポート番号「9100」に待機しているソフトウェアに、印刷ジョブデータを渡す。ポート番号「9100」は、前述したとおり、印刷プロトコルである無手順プロトコルに対して、通常割り当てられているポート番号であるので、印刷ジョブデータは、プリンタPRT2内の印刷制御ソフトウェアに渡されて、その印刷ジョブに従った印刷が実行される。
他のプリンタPRT3,PRT4は、もちろんのこと、分散印刷制御機能を有するPRT1においても、同様に、送信された印刷ジョブに従った印刷が実行される。
この結果、各プリンタPRT1〜PRT4では、各「25部」ずつの印刷が実行されることになり、システム全体で、合計「100部」の分散印刷が実行されることになる。
A2.プリンタの構成:
図3は図1におけるプリンタPRT1の構成を主として示す説明図である。プリンタPRT1は、プリンタ本体PRBと、上述したカスタムネットワークボードCNBと、を備えている。このうち、プリンタ本体PRBは、主として、プリンタエンジン41と、プリンタコントローラ42と、を備えている。プリンタエンジン41は、実際に印刷を行う機構部分である。プリンタコントローラ42は、カスタムネットワークボードCNBから印刷ジョブデータを受け取り、その印刷ジョブに従ってプリンタエンジン41を制御し、印刷を実行させる。
一方、本発明の特徴部分であるカスタムネットワークボードCNBは、主として、CPU20と、メモリ30と、を備えている。また、この他、実際にネットワーク通信を行うための通信用インタフェースなども備えているが、説明の便宜上、省略されている。
CPU20は、メモリ30より、上記した分散印刷ソフトウェアなどのプログラムを読み出して、実行することにより、図示した各機能ブロックとして機能する。なお、各機能ブロックをハードウェア的に構築しても構わない。
これら機能ブロックのうち、TCP/IP解釈部21は、TCP/IPプロトコルを解釈して、ネットワークを介して外部との通信を行う。具体的には、受信した通信データに含まれる送信先IPアドレスや送信先ポート番号を検出したり、送信する通信データに送信先IPアドレスや送信先ポート番号を付与したりする。無手順プロトコル解釈部22A,22Bは、印刷プロトコルである無手順プロトコルを解釈する。本実施例では、説明の便宜上、通信データが、送信先ポート番号として通常の「9100」で送信されている場合には、無手順プロトコル解釈部22Bが機能し、特定の「19100」で送信されている場合には、無手順プロトコル解釈部22Aが機能するものとしている。
また、分散先決定部23は、分散印刷を行う際に、LAN上から、分散先となるべきプリンタを検索して、分散先プリンタとして決定する。部数決定部24は、指定されている総印刷部数から、各分散先プリンタに割り当てるべき分散部数を決定する。分散処理部25は、印刷ジョブデータに含まれる印刷部数を示すQT値を書き換えた上で、各分散プリンタに印刷ジョブデータを分配する。
一方、メモリ30は、上記したプログラムを格納する他、各種データを格納するために、バッファ部31や分散先指定ファイル格納部32を備えている。このうち、バッファ部31は、送信された印刷ジョブデータを一時的に格納するための格納部であるが、記憶容量が少ないため、送信された印刷ジョブデータの全てを格納することはできない。また、分散先指定ファイル格納部32は分散先指定ファイルを格納する。この分散先指定ファイルは、LANに接続されている複数のプリンタの中で、分散印刷における分散先として使用したいプリンタを、前もって、指定して限定しておきたい場合に用いる。従って、そのような指定が不要な場合には、分散先指定ファイル格納部32には何も格納されない。
さて、図3において、その他、クライアントCLにおいては、アプリケーション13の他、機能ブロックとして、無手順プロトコル解釈部12やTCP/IP解釈部11を備えている。また、プリンタPRT2においては、プリンタエンジン54やプリンタコントローラ53の他、機能ブロックとして、無手順プロトコル解釈部52やTCP/IP解釈部51を備えている。このうち、無手順プロトコル解釈部12,無手順プロトコル解釈部52は、プリンタPRT1において、送信先ポート番号として通常の「9100」で送信された通信データを扱う無手順プロトコル解釈部22Bと同じ機能を有している。また、TCP/IP解釈部11,51も、プリンタPRT1におけるTCP/IP解釈部21と、プリンタエンジン54やプリンタコントローラ53も、プリンタPRT1におけるプリンタエンジン41やプリンタコントローラ42と、それぞれ同一の機能や構成を有している。
なお、図1に示すプリンタPRT3,4については、図3におけるプリンタPRT2と同様の構成を有している。
A3.通常印刷処理:
本発明の特徴部分である分散印刷処理を説明する前に、通常の印刷処理について簡単に説明する。なお、印刷ジョブを、クライアントCLからプリンタPRT1に送信し、プリンタPRT1のみで印刷を実行する場合を例として説明する。この場合、印刷ジョブは、図3において、点線で示す経路をたどって転送される。なお、クライアントCLにおけるプリンタドライバ(図示せず)において、印刷プロトコルの設定は、無手順プロトコルに設定されているものとする。
ユーザがクライアントCLに印刷命令を出すと、クライアントCLでは、アプリケーション13が、印刷ジョブを、無手順プロトコル解釈部12,TCP/IP解釈部11を介して、プリンタPRT1に送信する。このとき、無手順プロトコル解釈部12は、印刷プロトコルである無手順プロトコルに従って、印刷ジョブを含む通信データを送信し、また、TCP/IP解釈部11は、その通信データの送信先IPアドレスとして、プリンタPRT1の「IP1」を指定すると共に、送信先ポート番号として、無手順プロトコルに通常割り当てられている「9100」を指定する。
プリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に従って、その通信データを受信し、さらに、その通信データに含まれる送信先ポート番号が「9100」であるので、「9100」で送信された通信データを扱う無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数を読み取り、指定されている部数だけ、プリンタエンジン41に印刷を実行させる。
A4.分散印刷処理:
次に、本発明の特徴部分である分散印刷処理について詳細に説明する。まず、前提として、ユーザにより、プリンタPRT1の電源が投入されると、プリンタ本体PRB及びカスタムネットワークボードCNBが起動して、分散先決定部23が、プリンタコントローラ42から、自己のプリンタPRT1の機種名を取得する。具体的には、分散先決定部23が、送信先IPアドレスとして、自己のプリンタPRT1のIPアドレス「IP1」を指定して、SNMP(Simple Network Management Protocol)で機種名を問い合わせることにより、CPU20が、バスを介してプリンタコントローラ42に機種名を要求し、その応答を受け取ることにより、取得する。
以上の前提を踏まえた上で、印刷ジョブを、クライアントCLからプリンタPRT1に送信し、そのプリンタPRT1の他、プリンタPRT2〜PRT4で分散印刷を実行する場合を例として説明する。
分散印刷を行う際には、ユーザは、クライアントCLにおけるプリンタドライバにおいて、印刷プロトコルの設定が、無手順プロトコルに設定されていることを確認した上で、ポート番号の設定を、通常の「9100」から特定の「19100」に変更する。すなわち、本実施例では、ここでのポート番号の設定を切り換えることにより、通常の「9100」では通常印刷を、特定の「19100」では分散印刷を、それぞれ選択することになる。
そこで、ユーザがクライアントCLに、印刷部数「100部」として印刷命令を出すと、クライアントCLでは、アプリケーション13が、印刷部数を示すQT値を「100部」とした印刷ジョブを、無手順プロトコル解釈部12,TCP/IP解釈部11を介して、プリンタPRT1に送信する。このとき、無手順プロトコル解釈部12は、印刷プロトコルである無手順プロトコルに従って、印刷ジョブを含む通信データを送信し、また、TCP/IP解釈部11は、その通信データの送信先IPアドレスとして、プリンタPRT1の「IP1」を指定すると共に、送信先ポート番号として、通常の「9100」ではなく、「19100」を指定する。
これにより、クライアントCLからプリンタPRT1に、図1に示すような通信データDT0が送信される。すなわち、通信データDT0には、送信先IPアドレスとして「IP1」が、送信先ポート番号として「19100」が、QT値(すなわち、印刷部数)として「100部」が、それぞれ記載されている。
図4はプリンタPRT1における主要機能ブロックの処理手順を示すフローチャートである。具体的には、分散処理部25,分散先決定部23及び部数決定部24が実行する処理である。
プリンタPRT1では、TCP/IP解釈部21が、通信データDT0に含まれる送信先IPアドレス「IP1」に従って、その通信データを受信し、さらに、その通信データに含まれる送信先ポート番号が「19100」であるので、今度は、無手順プロトコル解釈部22Bではなく、「19100」で送信された通信データを扱う無手順プロトコル解釈部22Aに渡す。
一方、分散処理部25は、ポート番号「19100」に、印刷ジョブが着信するまで待機している(ステップS102)。無手順プロトコル解釈部22Aは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取ると、その印刷ジョブのデータを、ポート番号「19100」で待機している分散処理部25に渡す。
分散処理部25は、受信した印刷ジョブデータの先頭から順次受け取ってバッファ部31に格納する(ステップS104)。
図5は一例として印刷ジョブのデータをエディタで開いて示した説明図である。図5に示すとおり、印刷ジョブデータの前側は、ジョブ制御言語部分となっており、後側は印刷コマンドとなっている。また、ジョブ制御言語部分には、印刷部数情報として、印刷部数を示すQT値が記載されている。図示した例では、"QT=2"となっており、QT値(印刷部数)が「2部」であることを示している。
分散処理部25は、格納した印刷ジョブデータにQT値が見つかるまで(ステップS106)、受信した印刷ジョブデータをバッファ部31に格納し続ける。その後、QT値が見つかると、分散処理部25は、印刷ジョブデータのバッファ部31部への格納を停止し、見つかったQT値から総印刷部数を取得する(ステップS108)。この場合、QT値(印刷部数)として、前述したとおり「100部」が記載されている("QT=100")ので、その「100部」を、分散印刷すべき総印刷部数として取得することになる。
次に、分散先決定部23は、LANに接続された複数のプリンタの中から、分散先となるべきプリンタを検索して、分散先プリンタとして決定する(ステップS110)。
図6は分散先プリンタの検索・決定処理ルーチンの処理手順を示すフローチャートである。この処理ルーチンが開始されると、分散先決定部23は、まず、分散先指定ファイル格納部32に、分散先指定ファイルが格納されているか否かを検出する(ステップS202)。分散先指定ファイルが格納されている場合には、前もって、分散先として使用したいプリンタの候補が指定されていることになる。
図7は分散先指定ファイルの内容を示す説明図である。図7に示すように、分散先指定ファイルには、分散先として使用したいプリンタのIPアドレスが列挙して記載されている。このような分散先指定ファイルは、例えば、サービスマンが、プリンタPRT1を設置して初期設定する際に、そのプリンタPRT1に設定用コンピュータなどを接続して、インストールすることにより、分散先指定ファイル格納部32に格納することができる。また、LANを介してインストールするようにしてもよい。なお、このような分散先指定ファイルを用いる場合、分散先として自己のプリンタPRT1も使用したい場合には、自己プリンタPRT1のIPアドレス「IP1」も、分散先指定ファイルに記載しておく必要がある。
さて、分散先指定ファイル格納部32に分散先指定ファイルが格納されている場合には、分散先決定部23は、その分散先指定ファイルを読み出して、記載されているプリンタのIPアドレスをリストアップする(ステップS204)。
反対に、分散先指定ファイルが格納されていない場合には、分散先決定部23は、SNMPなどを利用して、LANに対し、ブロードキャストでLANに接続されている各機器のIPアドレスを問い合わせ、応答されたIPアドレスをリストアップする(ステップS206)。
次に、分散先決定部23は、SNMPで、リストアップしたIPアドレスの各機器に対し、その機種名を問い合わせ、応答された機種名に基づいて、自己のプリンタPRT1と同一機種のプリンタを選択する(ステップS208)。このように、自己のプリンタPRT1と同一機種のプリンタを、分散先プリンタの候補として選択するのは、分散印刷を行う際に、各分散先プリンタにおいて、印刷ジョブのデータ変換などをすることなく、適正な印刷を行わせるためである。この結果、各分散先プリンタでの印刷物の品質、例えば、解像度やフォントなどを統一することができる。カラー印刷や両面印刷指定も統一して実行する。
なお、既述したとおり、分散先決定部23は、プリンタPRT1の電源投入時に、プリンタPRT1の機種名を既に取得しているので、それに基づいて、自己のプリンタPRT1と同一機種のプリンタを選択する。
また、分散先指定ファイルで指定されているIPアドレスの機器に対しても、機種名の問い合わせを行うのは、次の理由による。すなわち、分散先指定ファイル作成後に、機器の入れ換えなどにより、分散先指定ファイルに記載されていたIPアドレスが、自己のプリンタPRT1と別機種のプリンタに割り振られたり、プリンタ以外の機器に割り振られたりする可能性があるので、自己のプリンタPRT1と同一機種であるかの確認を行うためである。さらに、分散先指定ファイルで指定されているIPアドレスの機器が、実際に電源が投入されていて、ネットワーク経路が到達可能であることの確認も同時に行っている。
さらに、分散先決定部23は、SNMPなどで、選択したプリンタに対し、オンライン状態であるか、オフライン状態であるかの問い合わせを行い、応答結果に基づいて、オンライン状態にあるプリンタを選択する(ステップS210)。これにより、用紙切れやトナー切れ(あるいはインク切れ)、あるいは紙詰まりなど、エラーを起こしていて、すぐには印刷できないプリンタを、分散先プリンタの候補から排除することができる。
次に、分散先決定部23は、分散先プリンタの候補として、未だ1台のプリンタも選択されていない場合には(ステップS212)、自己のプリンタPRT1を候補として選択する(ステップS214)。
こうして、分散先決定部23は、以上の処理によって選択したプリンタを、分散先プリンタとして決定する(ステップS216)。前述したとおり、図1中に示した例では、分散先プリンタとして、自己のプリンタPRT1と、他のプリンタPRT2〜PRT4の合計4台のプリンタを決定している。その後、CPU20は、図6に示す処理ルーチンを終了して、図4の処理に戻る。
図4のステップS112では、部数決定部24が、先に決定した分散先プリンタの台数と、ステップS108で取得した総印刷部数とに基づいて、各分散先プリンタに割り当てるべき分散部数を決定する。本実施例では、各分散先プリンタに、できる限り均等に割り当てられるように、分散部数を決定するようにしている。このとき、それら分散部数の総和が総印刷部数の値と等しくなるように決定する。
従って、前述したとおり、図1中に示した例では、分散先プリンタの台数が4台で、総印刷部数は「100部」であるので、各分散先プリンタに割り当てるべき分散部数を、各々、「25部」ずつと決定している。
但し、分散先プリンタの台数や総印刷部数の値によっては、当然に、各分散先プリンタで、分散部数が均等にならない場合も生じる。従って、そのことを踏まえた上で、具体的には、次のようにして分散部数の決定を行っている。
すなわち、分散先プリンタの台数をm台、総印刷部数をn部として、m台の分散先プリンタのうち、x番目のプリンタに割り当てるべき分散部数をaxとすると、その分散部数axは式(1)に従って決定する。
Figure 0004453369
なお、式(1)において、右辺2項目の"(...≦...)?1:0"は、カッコ内の不等式を満足する場合には、その項の値を1とし、不等式を満足しない場合には、その項の値を0とするものである。
従って、例えば、分散先プリンタの台数mが4台(m=4)、総印刷部数nが102部(n=102)の場合は、式(1)は式(2)のとおりとなる。
Figure 0004453369
よって、4台の分散先プリンタへの分散部数axは、それぞれ、次のとおりとなる。
1番目のプリンタ:a1=25+1=26部
2番目のプリンタ:a2=25+1=26部
3番目のプリンタ:a3=25+0=25部
4番目のプリンタ:a4=25+0=25部
次に、分散処理部25は、バッファ部31に格納している印刷ジョブデータのうち、QT値のみを、各分散先プリンタ毎に、その分散先プリンタに割り当てた分散部数axの値に変更して、その印刷ジョブデータを各分散先プリンタにそれぞれ送信する(ステップS114)。従って、例えば、図1中に示した例では、各分散先プリンタに割り当てた分散部数は各々「25部」であるので、印刷ジョブデータに記載されている"QT=100"を"QT=25"に変更して、その印刷ジョブデータを4台の分散先プリンタに送信することになる。また、分散処理部25は、受信した印刷ジョブデータのバッファ部31への格納を再開し、それ以降に受信し、バッファ部31に一旦格納した印刷ジョブデータも、順次、各分散先プリンタにそれぞれ送信する(ステップS115)。
こうして、分散処理部25は、受信した印刷ジョブを、QT値のみ変更して、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、各分散先プリンタにそれぞれ送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、各分散先プリンタのIPアドレスをそれぞれ指定すると共に、送信先ポート番号としては、受信した際のポート番号「19100」ではなく、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。
例えば、図1中に示した例では、分散先プリンタとしてプリンタPRT1〜PRT4が決定されているため、各々の分散先プリンタに送信される通信データDT1〜DT4では、送信先IPアドレス,送信先ポート番号,QT値は以下のように指定される。
プリンタPRT1への通信データDT1→「IP1」,「9100」,「25部」
プリンタPRT2への通信データDT2→「IP2」,「9100」,「25部」
プリンタPRT3への通信データDT3→「IP3」,「9100」,「25部」
プリンタPRT2への通信データDT4→「IP4」,「9100」,「25部」
分散先プリンタの1つであるプリンタPRT2では、図3に示すように、TCP/IP解釈部51が、通信データDT2に含まれる送信先IPアドレス「IP2」に従って、その通信データDT2を受信し、さらに、その通信データDT2に含まれる送信先ポート番号が「9100」であるので、無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部52は、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ53に渡す。プリンタコントローラ53は、印刷ジョブのデータに含まれるQT値から印刷部数として「25部」を読み取り、指定されているその部数だけ、プリンタエンジン54に、印刷ジョブに従った印刷を実行させる。
他の分散先プリンタであるプリンタPRT3,PRT4においても、同様にして、指定された印刷部数「25部」だけ、印刷ジョブに従った印刷が実行される。
また、分散先プリンタである自己のプリンタPRT1では、TCP/IP解釈部21が、送信した通信データDT1を、その通信データDT1に含まれる送信先IPアドレス「IP1」に基づいて受信する。さらに、TCP/IP解釈部21は、その通信データDT1に含まれる送信先ポート番号が「9100」であるので、通常印刷の場合と同様に、「9100」で送信された通信データを扱う無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数として「25部」を読み取り、指定されているその部数だけ、プリンタエンジン41に、印刷ジョブに従った印刷を実行させる。
以上のようにして、分散先プリンタであるプリンタPRT1〜PRT4では、それぞれ、「25部」ずつの印刷が実行されることになり、システム全体で、合計「100部」の分散印刷が実行されることになる。
さて、一方、図4に戻って、分散処理部25は、前述したステップS106において、バッファ部31に格納した印刷ジョブデータにQT値が見つからなければ、次に、分散処理部25は、格納している印刷ジョブデータにジョブ制御言語部分が見つかっており、かつ、そのジョブ制御言語部分の終端が見つかっていないかどうかを判定する(ステップS116)。
その結果、格納している印刷ジョブデータにジョブ制御言語部分が見つかっていない場合は、印刷ジョブデータにジョブ制御言語部分自体がないものと判断でき、また、ジョブ制御言語部分は見つかっているが、QT値が見つかることなく、すでに、その終端が見つかっている場合は、ジョブ制御言語部分にQT値がないものと判断できる。従って、これらの場合には、もはや、受信している印刷ジョブデータ内にQT値を見つける可能性がないので、分散処理部25は、次のステップS118に移り、自己のプリンタPRT1のみを分散先プリンタとして決定する(ステップS118)。すなわち、QT値がなく、総印刷部数が不明であるため、分散印刷を行うことは不可能であるため、自己のプリンタPRT1のみの通常の印刷に切り換えるのである。そして、分散処理部25は、バッファ部31に格納している印刷ジョブデータをそのまま、分散先プリンタとして決定した自己のプリンタPRT1に送信する(ステップS120)。その後、分散処理部25は、それ以降に受信した印刷ジョブデータも分散先プリンタである自己のプリンタPRT1に送信する(ステップS122)。
こうして、分散処理部25は、受信した印刷ジョブを、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、自己のプリンタPRT1に送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信すると共に、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、自己のプリンタの「IP1」を指定すると共に、送信先ポート番号としては、受信した際のポート番号「19100」ではなく、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。
自己のプリンタPRT1では、TCP/IP解釈部21が、送信した通信データを、その通信データDT1に含まれる送信先IPアドレス「IP2」に基づいて受信し、さらに、その通信データに含まれる送信先ポート番号が「9100」であるので、「9100」で送信された通信データを扱う無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるべきQT値がないため、1部だけ、プリンタエンジン41に、印刷ジョブに従った印刷を実行させる。この結果、プリンタPRT1では、1部のみ印刷が実行されることになる。
A5.実施例の効果:
以上説明したように、本実施例においては、分散印刷制御機能を有するプリンタPRT1が、分散印刷を全て制御しているため、専用サーバを用いることなく、簡易なシステムで分散印刷を実現することが可能である。
また、クライアントCLでは、分散印刷を実行するために、特別なソフトウェアをインストールすることなく、単に、プリンタドライバにおいて、ポート番号の設定を、無手順プロトコルで通常割り当てられている通常のポート番号「9100」から特定のポート番号「19100」に変更するだけで、分散印刷を実現することができるため、ユーザの負担を大幅に軽減することができる。
また、分散先プリンタでは、送信されてくる通信データは、ポート番号が無手順プロトコルで通常割り当てられているポート番号「9100」となっているので、分散印刷であるかどうかに関知することなく、そのまま印刷を実行することができる。
また、分散印刷制御機能を有するプリンタPRT1では、分散印刷制御実行のトリガとなる通信データの示す送信先ポート番号「19100」と、分散先プリンタに送信する通信データの示す送信先ポート番号「9100」と、を変えているため、分散先プリンタに自己のプリンタPRT1が含まれていて、自己宛に印刷ジョブを含む通信データを送信した場合でも、その通信データの示すポート番号は「9100」であって、分散印刷制御のトリガとはなり得ず、それ故、自己宛に分散した印刷ジョブを、さらに再分散,再々分散など、無限に分散させるようなことがない。同様に、同じネットワーク内に、分散印刷制御機能を有するカスタムネットワークボードが2枚以上存在する場合にも、それらの間で分散すべき印刷ジョブをピンポンすることがない。
また、分散印刷制御機能を有するプリンタPRT1では、受信した印刷ジョブのうち、印刷部数情報であるQT値のみを変更して、各分散先プリンタにそれぞれ送信するだけで、容易に分散印刷を行うことができるので、カスタムネットワークボードCNBの有するCPU20としては、高い処理能力を有するCPUを用いなくて済み、製造コストを低減することができる。
また、分散印刷制御機能を有するプリンタPRT1では、受信してバッファ部31に格納した印刷ジョブに、QT値を見つけたら、QT値を変更して、直ちに、その印刷ジョブの各分散先プリンタへの送信を開始しているため、クライアントCLから送信された印刷ジョブの全てを受信してから、その印刷ジョブの各分散先プリンタへの送信を開始する場合に比較して、各分散先プリンタでの印刷開始を大幅に早めることができる。
B.第2の実施例:
上記した第1の実施例においては、クライアントCLから分散印刷制御機能を有するプリンタPRT1に印刷ジョブを送信する際と、プリンタPRT1から分散先プリンタに印刷ジョブを送信する際において、それぞれ、印刷プロトコルとして同じプロトコル(すなわち、無手順プロトコル)を用いるが、ポート番号として異なるポート番号(すなわち、「9100」と「19100」)を用いることにより、分散印刷を実現するようにしていたが、本実施例においては、クライアントCLから分散印刷制御機能を有するプリンタPRT1に印刷ジョブを送信する際と、プリンタPRT1から分散先プリンタに印刷ジョブを送信する際において、それぞれ、印刷プロトコルとして異なるプロトコルを用いることによって、分散印刷を実現する。
B1.プリンタの構成:
図8は本発明の第2の実施例としてのプリンタPRT1の構成を主として示す説明図である。本実施例において、図8に示す構成が、第1の実施例における図3に示した構成と異なる点は、無手順プロトコル解釈部22Aに代えて、LPR解釈部26を用いた点(但し、無手順プロトコル解釈部22Bはそのまま)と、それに応じて、クライアントCLでも、LPR解釈部14を設けた点である。それ以外の構成は、図3に示した構成と同じである。
図8において、LPR解釈部26,14は、それぞれ、印刷プロトコルであるLPR(Line PRinter daemon protocol)を解釈する。
B2.通常印刷処理:
分散印刷処理を説明する前に、通常の印刷処理について簡単に説明する。なお、印刷ジョブを、クライアントCLからプリンタPRT1に送信し、プリンタPRT1のみで印刷を実行する場合を例として説明する。この場合、印刷ジョブは、図8において、点線で示す経路をたどって転送される。なお、クライアントCLにおけるプリンタドライバ(図示せず)において、印刷プロトコルの設定は、無手順プロトコルに設定されているものとする。
ユーザがクライアントCLに印刷命令を出すと、クライアントCLでは、アプリケーション13が、印刷ジョブを、無手順プロトコル解釈部12,TCP/IP解釈部11を介して、プリンタPRT1に送信する。このとき、無手順プロトコル解釈部12は、印刷プロトコルである無手順プロトコルに従って、印刷ジョブを含む通信データを送信し、また、TCP/IP解釈部11は、その通信データの送信先IPアドレスとして、プリンタPRT1の「IP1」を指定する。
プリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に従って、その通信データを受信する。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数を読み取り、指定されている部数だけ、プリンタエンジン41に印刷を実行させる。
B3.分散印刷処理:
次に、分散印刷処理について説明する。分散印刷を行う際には、ユーザは、クライアントCLにおけるプリンタドライバにおいて、印刷プロトコルの設定を、無手順プロトコルからLPRに変更する。すなわち、本実施例では、ここでの印刷プロトコルの設定を切り換えることにより、無手順プロトコルでは通常印刷を、LPRでは分散印刷を、それぞれ選択することになる。
そこで、ユーザがクライアントCLに、印刷部数「100部」として印刷命令を出すと、クライアントCLでは、アプリケーション13が、印刷部数を示すQT値を「100部」とした印刷ジョブを、LPR解釈部14,TCP/IP解釈部11を介して、プリンタPRT1に送信する。このとき、LPR解釈部14は、印刷プロトコルであるLPRに従って、印刷ジョブを含む通信データを送信し、また、TCP/IP解釈部11は、その通信データの送信先IPアドレスとして、プリンタPRT1の「IP1」を指定する。
プリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に従って、その通信データを受信する。LPR解釈部26は、LPRに従って、印刷ジョブを含む通信データを受け取り、そのうちの印刷ジョブのデータを分散処理部25に渡す。
こうして、本実施例において、分散処理部25に印刷ジョブデータが渡されてから、その後、分散先プリンタと分散部数とが決定されるまでの処理については、第1の実施例と同様であるので、それらについての説明は省略する。なお、ここで、例えば、分散先プリンタとしてプリンタPRT1〜PRT4が、また、各々への分散部数として「25部」が、それぞれ、決定されたものとする。
その後、分散処理部25は、受信した印刷ジョブのQT値のみを変更し、そして、その印刷ジョブを、LPR解釈部26ではなく、無手順プロトコル解釈部22Bを介し、さらに,TCP/IP解釈部21を介して、各分散先プリンタにそれぞれ送信する。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、各分散先プリンタのIPアドレスをそれぞれ指定する。
分散先プリンタの1つであるプリンタPRT2では、図8に示すように、TCP/IP解釈部51が、通信データDT2に含まれる送信先IPアドレス「IP2」に従って、その通信データDT2を受信し、無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部52は、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ53に渡す。プリンタコントローラ53は、印刷ジョブのデータに含まれるQT値から印刷部数として「25部」を読み取り、指定されているその部数だけ、プリンタエンジン54に、印刷ジョブに従った印刷を実行させる。
他の分散先プリンタであるプリンタPRT3,PRT4においても、同様にして、指定された印刷部数「25部」だけ、印刷ジョブに従った印刷が実行される。
また、分散先プリンタである自己のプリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に基づいて、自己宛に送信した通信データを受信する。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数として「25部」を読み取り、指定されているその部数だけ、プリンタエンジン41に、印刷ジョブに従った印刷を実行させる。
以上のようにして、分散先プリンタであるプリンタPRT1〜PRT4では、それぞれ、「25部」ずつの印刷が実行されることになり、システム全体で、合計「100部」の分散印刷が実行されることになる。
B4.実施例の効果:
以上説明したように、本実施例においては、第1の実施例と同様に、分散印刷制御機能を有するプリンタPRT1が、分散印刷を全て制御しているため、専用サーバを用いることなく、簡易なシステムで分散印刷を実現することが可能である。
また、クライアントCLでは、分散印刷を実行するために、特別なソフトウェアをインストールすることなく、単に、プリンタドライバにおいて、印刷プロトコルの設定を、LPRに変更するだけで、分散印刷を実現することができるため、ユーザの負担を大幅に軽減することができる。
また、分散印刷制御機能を有するプリンタPRT1では、分散印刷制御実行のトリガとなる印刷プロトコル(すなわち、LPR)と、分散先プリンタに送信する際の印刷プロトコル(すなわち、無手順プロトコル)と、で種類を変えているため、分散先プリンタに自己のプリンタPRT1が含まれていて、自己宛に印刷ジョブを送信した場合でも、その際の印刷プロトコルは無手順プロトコルであって、分散印刷制御のトリガとはなり得ず、それ故、自己宛に分散した印刷ジョブを、さらに再分散,再々分散など、無限に分散させるようなことがない。
C.第3の実施例:
上記した第1及び第2の実施例においては、部数決定部24が、各分散先プリンタにできる限り均等に割り当てられるように、分散部数を決定するようにしていたが、本実施例においては、部数決定部24が、各分散先プリンタに対し、トナー残量を問い合わせ、その応答に応じて、各分散先プリンタに割り当てるべき分散部数を決定するようにしている。
なお、本実施例において、プリンタの構成や通常印刷処理については、第1または第2の実施例とほぼ同様であるので、それらについての説明は省略する。
C1.分散印刷処理:
それでは、本実施例における分散印刷処理について説明する。かかる分散印刷処理についても、大部分の処理は、第1または第2の実施例と同様であり、従って、それら実施例と異なる部分の処理について、以下、詳細に説明する。
例えば、第1の実施例において、図4に示す処理手順では、ステップS110において、分散先決定部23が、LANに接続された複数のプリンタの中から、分散先となるべきプリンタを検索して、分散先プリンタとして決定した後、ステップS112において、前述したとおり、部数決定部24が、分散先プリンタの台数と総印刷部数とに基づいて、各分散先プリンタにできる限り均等に割り当てられるよう、分散部数を決定していた。これに対し、本実施例では、ステップS112の処理に代えて、部数決定部24が、図9に示す分散部数決定処理を実行する。
図9は本発明の第3の実施例としてのプリンタPRT1における分散部数決定処理ルーチンの処理手順を示すフローチャートである。この処理ルーチンが開始されると、部数決定部24は、まず、分散先指定ファイル格納部32に、分散先指定ファイルが格納されているか否かを検出する(ステップS302)。そして、分散先指定ファイルが格納されていれば、部数決定部24は、分散先指定ファイル格納部32から分散先指定ファイルを読み出して、その分散先指定ファイルに、分散部数の比率が記載されているか否かを検出する(ステップS304)。分散先指定ファイルは、前述したとおり、LANに接続されている複数のプリンタの中で、分散先として使用したいプリンタを、前もって、指定するものである。これに加えて、本実施例では、それら分散先として使用したい各プリンタに対し、それぞれに割り当てたい分散部数の比率も、分散先指定ファイルで、前もって、指定することができるようにしている。
図10は分散先指定ファイルの内容を示す説明図である。図10に示すように、分散先指定ファイルには、分散先として使用したいプリンタのIPアドレスと、そのプリンタに割り当てたい分散部数の比率と、がペアとなって、列挙して記載されている。すなわち、この分散先指定ファイルでは、分散先として使用したいプリンタとして、IPアドレス"163.141.1.223"のプリンタとIPアドレス"163.141.1.222"のプリンタとが指定されており、さらに、前者のプリンタに割り当てたい分散部数と後者のプリンタに割り当てたい分散部数との比率として、2:1が指定されている。
なお、このような分散先指定ファイルを分散先指定ファイル格納部32へ格納する方法については、図7に示した分散先指定ファイルと同様である。また、このような分散先指定ファイルを用いる場合、分散先として自己のプリンタPRT1を使用し、分散部数の比率も指定したい場合には、自己プリンタPRT1のIPアドレス「IP1」と、自己プリンタPRT1に割り当てたい分散部数の比率を、分散先指定ファイルに記載しておく必要がある。
さて、分散先指定ファイルに分散部数の比率が記載されている場合には、部数決定部24は、図4におけるステップS108で取得した総分散部数と、各分散先プリンタについて記載されていた分散部数の比率とに基づいて、各分散先プリンタに割り当てるべき分散部数を決定する(ステップS306)。このとき、それら分散部数の総和が総印刷部数の値と等しくなるように決定する。
従って、例えば、図4におけるステップS110において、図10に示す分散先指定ファイルで指定された2台のプリンタが、分散先プリンタとして決定された場合、ステップS108で取得した総印刷部数が「90部」であるとすると、前述したとおり、IPアドレス"163.141.1.223"のプリンタに割り当てたい分散部数とIPアドレス"163.141.1.222"のプリンタに割り当てたい分散部数との比率は、2:1であるので、部数決定部24は、前者のプリンタに割り当てるべき分散部数を「60部」と決定し、後者のプリンタに割り当てるべき分散部数を「30部」と決定する。
なお、総印刷部数の値や分散部数の比率によっては、その比率で割り切れずに余りが生じる場合もある。そのような場合には、その余りを適当な分散先プリンタに割り当て、各分散先プリンタに対する分散部数の総和が総印刷部数と等しくなるよう、分散部数の決定を行うようにする。
一方、分散先指定ファイル格納部32に分散先指定ファイルが格納されていない場合や、格納されていても、分散先指定ファイルに分散比率が記載されていない場合には、部数決定部24は、SNMPなどを利用して、LANを介して、図4におけるステップS110の処理で決定された分散先プリンタに対し、消耗品であるトナーの残量を問い合わせ、その応答を取得する(ステップS308)。一般に、プリンタはトナー残量などを監視する機能を有しているため、部数決定部24による問い合わせに対して、分散先プリンタは、自己のトナー残量を直ちに応答することができる。
次に、部数決定部24は、図4におけるステップS108で取得した総分散部数と、各分散先プリンタから取得したトナー残量とに基づいて、各分散先プリンタに割り当てるべき分散部数を決定する(ステップS310)。このとき、それら分散部数の総和が総印刷部数の値と等しくなるように決定する。
例えば、ステップS110において、分散先プリンタとして、図1に示すプリンタPRT2,PRT3がそれぞれ決定され、その後、ステップS308において、部数決定部24が、それら分散先プリンタに対しトナー残量を問い合わせた結果、プリンタPRT2のトナー残量は「30%」であり、プリンタPRT3のトナー残量は、プリンタPRT2の倍の「60%」であるものとする。
そこで、ステップS108で取得した総印刷部数が「120部」であるとすると、部数決定部24は、プリンタPRT2に割り当てるべき分散部数を「40部」と決定し、プリンタPRT3に割り当てるべき分散部数を「80部」と決定する。すなわち、部数決定部24は、トナー残量の少ないプリンタに対しては分散部数を少なくし、トナー残量の多いプリンタに対しては分散部数を多くするよう、各分散先プリンタのトナー残量に応じて、各分散先プリンタに割り当てるべき分散部数を決定する。
これを一般化すると、次のごとくになる。すなわち、分散先プリンタの台数をm台、総印刷部数をn部、m台の分散先プリンタのうちのx番目のプリンタのトナー残量をtx、x番目のプリンタに割り当てるべき分散部数をaxとした場合、部数決定部24は、その分散部数axを式(3)に従って決定する。
Figure 0004453369
なお、総印刷部数やトナー残量の値によっては、式(3)の計算において、割り切れずに余りが生じる場合もある。そのような場合には、前述の分散部数の比率の場合と同様、その余りを適当な分散先プリンタに割り当て、各分散先プリンタに対する分散部数の総和が総印刷部数nと等しくなるよう、分散部数の決定を行うようにする。
以上のようにして、部数決定部24によって、各分散先プリンタに割り当てるべき分散部数がそれぞれ決定したら、図4におけるステップS114において、分散処理部25が、バッファ部31に格納している印刷ジョブデータのうち、QT値のみを、各分散先プリンタ毎に、その分散先プリンタに割り当てた分散部数の値に変更して、その印刷ジョブデータを各分散先プリンタにそれぞれ送信する。
その他の処理については、前述したとおり、第1または第2の実施例と同様であるので、それらについての説明は省略する。
C2.実施例の効果:
以上説明したように、本実施例においては、トナー残量の少ないプリンタに対しては分散部数を少なくし、トナー残量の多いプリンタに対しては分散部数を多くするよう、各分散先プリンタのトナー残量に応じて、各分散先プリンタに割り当てるべき分散部数を決定しているため、分散印刷を開始した後に、分散先プリンタにおいて、トナー切れにより印刷が停止するという可能性が少なくなり、各分散先プリンタを効率よく利用することができる。
D.第4の実施例:
上記した第3の実施例においては、部数決定部24が、各分散先プリンタに対し、トナー残量を問い合わせ、その応答に応じて分散部数を決定するようにしていたが、本実施例においては、部数決定部24が、各分散先プリンタに対し、トナー残量ではなく、用紙収納トレイにおける用紙の有無を問い合わせ、その応答に応じて、各分散先プリンタに割り当てるべき分散部数を決定するようにしている。
なお、本実施例においても、プリンタの構成や通常印刷処理については、第1または第2の実施例とほぼ同様であるので、それらについての説明は省略する。
D1.分散印刷処理:
それでは、本実施例における分散印刷処理について説明する。かかる分散印刷処理についても、大部分の処理は、第1または第2の実施例と同様であり、従って、それら実施例と異なる部分の処理について、以下、詳細に説明する。
本実施例においては、図4におけるステップS110において、分散先決定部23が、LANに接続された複数のプリンタの中から、分散先となるべきプリンタを検索して、分散先プリンタとして決定した後、ステップS112の処理に代えて、部数決定部24が、図11に示す分散部数決定処理を実行する。
図11は本発明の第4の実施例としてのプリンタPRT1における分散部数決定処理ルーチンの処理手順を示すフローチャートである。なお、この処理ルーチンのうち、ステップS402,S404,S406の処理については、図9におけるステップS202,S204,S206の処理と同様であるので、それらについての説明は省略する。
そこで、ステップS402において分散先指定ファイル格納部32に分散先指定ファイルが格納されていない場合や、ステップS404において分散先指定ファイルに分散比率が記載されていない場合には、部数決定部24は、まず、図4におけるステップS104においてバッファ部31に格納した印刷ジョブデータから、ユーザによって設定された印刷時の用紙サイズを取得する(ステップS408)。このような用紙サイズは、QT値と同様に、印刷ジョブデータにおけるジョブ制御言語部分に記載されている。
次に、部数決定部24は、SNMPなどを利用して、LANを介して、図4におけるステップS110の処理で決定された分散先プリンタに対し、それらが有する用紙収納トレイの数を問い合わせ、その応答を取得し、さらに、その応答に応じて、それら用紙収納トレイに収納される用紙のサイズと、それら用紙収納トレイに現在用紙が収納されているか否かを問い合わせ、その応答を取得する(ステップS410)。一般に、プリンタは用収納トレイに収納される用紙のサイズと用紙の有無などを監視する機能を有しているため、部数決定部24による上記問い合わせに対して、分散先プリンタは、自己の用紙収納トレイの用紙サイズと用紙の有無を直ちに応答することができる。
例えば、図4におけるステップS110において、分散先プリンタとして、図1に示すプリンタPRT2,PRT3がそれぞれ決定され、それらプリンタにおける用紙収納トレイにおける用紙の収納状態が図12に示すごとくであるとする。
図12は分散先プリンタの備える用紙収納トレイを模式的に示した説明図である。図12に示すように、プリンタPRT2は用紙収納トレイ2a,2b,2cを備えており、プリンタPRT3は用紙収納トレイ3a,3bを備えているため、分散先決定部23による最初の問い合わせ(用紙収納トレイの数)に対し、プリンタPRT2は「3」、PRT2は「2」と応答する。そして、プリンタPRT2では、それら用紙収納トレイに収納される用紙のサイズは、用紙収納トレイ2aが「A3」,用紙収納トレイ2b,2cが「A4」であり、それら用紙収納トレイにはいずれも現在用紙が収納されており、また、プリンタPRT3では、用紙収納トレイ3aが「A3」,用紙収納トレイ3bが「A4」であり、それら用紙収納トレイにはいずれも現在用紙が収納されているので、分散先決定部23による次の問い合わせ(用紙収納トレイの用紙サイズと用紙の有無)に対し、プリンタPRT2,PRT3は、それぞれ、その状態を応答する。
次に、部数決定部24は、各分散先プリンタ毎に、その分散先プリンタに用意されていると想定される利用可能な用紙の最大枚数を算出する(ステップS412)。具体的には、例えば、ステップS408で取得した用紙サイズ(すなわち、ユーザにより設定された用紙サイズ)が「A4」であり、分散先プリンタPRT2,PRT3の用紙収納トレイにおける用紙の収納状態が図12に示すごとくである場合、部数決定部24は、これらプリンタPRT2,PRT3からの応答結果に基づき、用紙サイズが「A4」の用紙収納トレイのうち、現在用紙が収納されている用紙収納トレイを特定し、それら用紙収納トレイにおける用紙の収納可能枚数を積算することにより、そのプリンタについて、用意されていると想定される利用可能な用紙の最大枚数を算出する。すなわち、プリンタPRT2については、用紙サイズが「A4」の用紙収納トレイは、用紙収納トレイ2b,2cであり、いずれも現在用紙が収納されている。それらの用紙収納トレイ2b,2cにおける用紙の収納可能枚数はそれぞれ「500枚」であるので、それらの和から、プリンタPRT2において用意されていると想定される利用可能な用紙の最大枚数は、「1000枚」となる。一方、プリンタPRT3については、用紙サイズが「A4」の用紙収納トレイは、用紙収納トレイ3bのみであり、そこには現在用紙が収納されている。その用紙収納トレイ3bにおける用紙の収納可能枚数も「500枚」であるので、プリンタPRT3において用意されていると想定される利用可能な用紙の最大枚数は、「500枚」となる。
本実施例において、部数決定部24が各分散先プリンタから取得する情報は、各用紙収納トレイに実際に収納されている用紙の枚数ではなく、各用紙収納トレイに現在用紙が収納されているか否かの情報であるので、部数決定部24が、例え、用紙収納トレイに現在用紙が収納されているという情報を受け取ったとしても、その用紙収納トレイには、用紙が収容可能枚数一杯まで収納されているのか、1枚しか収納されていないのかは、部数決定部24にとって、不明である。従って、本実施例においては、各用紙収納トレイに、それぞれ、収容可能枚数一杯まで用紙が収納されていると想定して、分散部数を決定するようにしている。よって、或る分散先プリンタにおいて用意されていると想定される利用可能な用紙の最大枚数とは、そのプリンタにおいて、ユーザにより設定された用紙サイズの用紙を収納している用紙収納トレイについて、それぞれ、収容可能枚数一杯まで用紙が収納されていると想定した場合における、収納枚数の合計となる。
次に、部数決定部24は、図4におけるステップS108で取得した総分散部数と、各分散先プリンタについて算出した用紙の最大枚数とに基づいて、各分散先プリンタに割り当てるべき分散部数を決定する(ステップS414)。このとき、それら分散部数の総和が総印刷部数の値と等しくなるように決定する。
例えば、ステップS108で取得した総印刷部数が「180部」であるとすると、上記した例では、プリンタPRT2における用紙の最大枚数は「1000枚」であり、プリンタPRT3における用紙の最大枚数は、プリンタPRT2の1/2の「500枚」であるので、部数決定部24は、プリンタPRT2に割り当てるべき分散部数を「120部」と決定し、プリンタPRT3に割り当てるべき分散部数を「60部」と決定する。すなわち、分散先決定部23は、用紙の最大枚数の少ないプリンタに対しては分散部数を少なくし、用紙の最大枚数の多いプリンタに対しては分散部数を多くするよう、各分散先プリンタにおける用紙の最大枚数に応じて、各分散先プリンタに割り当てるべき分散部数を決定する。
これを一般化すると、次のごとくになる。すなわち、分散先プリンタの台数をm台、総印刷部数をn部、m台の分散先プリンタのうちのx番目のプリンタにおける用紙の最大枚数をpx、x番目のプリンタに割り当てるべき分散部数をaxとした場合、部数決定部24は、その分散部数axを式(4)に従って決定する。
Figure 0004453369
なお、総印刷部数や用紙の最大枚数によっては、式(4)の計算において、割り切れずに余りが生じる場合もある。そのような場合には、前述のトナー残量の場合と同様、その余りを適当な分散先プリンタに割り当て、各分散先プリンタに対する分散部数の総和が総印刷部数と等しくなるよう、分散部数の決定を行うようにする。
以上のようにして、部数決定部24によって、各分散先プリンタに割り当てるべき分散部数がそれぞれ決定したら、図4におけるステップS114において、分散処理部25が、バッファ部31に格納している印刷ジョブデータのうち、QT値のみを、各分散先プリンタ毎に、その分散先プリンタに割り当てた分散部数の値に変更して、その印刷ジョブデータを各分散先プリンタにそれぞれ送信する。
その他の処理については、前述したとおり、第1または第2の実施例と同様であるので、それらについての説明は省略する。
D2.実施例の効果:
以上説明したように、本実施例においては、用意されていると想定される用紙の最大枚数の少ないプリンタに対しては分散部数を少なくし、用紙の最大枚数の多いプリンタに対しては分散部数を多くするよう、各分散先プリンタにおける用紙の最大枚数に応じて、各分散先プリンタに割り当てるべき分散部数を決定しているため、分散印刷を開始した後に、分散先プリンタにおいて、用紙切れにより印刷が停止するという可能性が少なくなり、各分散先プリンタを効率よく利用することができる。
E.変形例:
なお、本発明は上記した実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
上記した第1の実施例では、印刷プロトコルとして無手順プロトコルを用いたが、ポート番号の変更が可能であれば、LPR,IPP(Internet Printing Protocol),FTP(File Transfer Protocol),SMB(Server Message Block),AppleTalkなど、別の印刷プロトコルを用いるようにしてもよい。
上記した第2の実施例では、印刷プロトコルとして、LPRと無手順プロトコルの組み合わせで用いるようにしたが、互いに異なっていれば、別の印刷プロトコル同士の組み合わせで用いるようしてもよい。
上記した第4の実施例では、部数決定部24は、各分散先プリンタに対し、各用紙収納トレイに収納される用紙のサイズと、それら用紙収納トレイに現在用紙が収納されているか否かを問い合わせ、その応答結果に応じて、各分散先プリンタに割り当てるべき分散部数を決定した。しかし、各分散先プリンタが、例えば、各用紙収納トレイに現在収納されている用紙の枚数を検出する機能を有している場合には、部数決定部24が、各分散先プリンタに対し、各用紙収納トレイにおける現在の用紙枚数を問い合わせ、その応答結果に応じて、各分散先プリンタに割り当てるべき分散部数を決定するようにしてもよい。その場合には、各分散先プリンタ毎に、実際に用意されている利用可能な用紙の枚数が事前に把握できるため、分散印刷を行った際に、いずれの分散先プリンタにおいても、用紙切れを起こさないように、各分散先プリンタに分散部数を割り当てることもできる。
上記した第3または第4の実施例では、部数決定部24が、各分散先プリンタに対し、トナー残量や、用紙収納トレイにおける用紙の有無などを問い合わせて、その応答結果に応じて、各分散先プリンタに割り当てるべき分散部数を決定するようにしていたが、本発明はこれに限定されるものではない。例えば、プリンタの消耗品として、トナーや用紙の他に、回転ドラムなどもあるため、各分散先プリンタに対し、回転ドラムの残寿命を問い合わせ、その応答結果に応じて、各分散先プリンタに対する分散部数を決定するようにしてもよい。また、分散先プリンタがレーザープリンタではなく、インクジェットプリンタ,昇華型プリンタ,ドットインパクトプリンタ,熱転写型プリンタなどの場合には、トナー残量に代えて、インク残量や、インクリボン残量などを問い合わせ、その応答結果に応じて分散部数を決定するようにしてもよい。さらに、これら消耗品の残量や残寿命に代えて、消耗品の使用量や使用頻度や使用時間を問い合わせ、その応答結果に応じて分散部数を決定するようにしてもよい。
あるいは、これらプリンタの消耗品に関するものではなく、プリンタの性能に応じて、各分散先プリンタに対する分散部数を決定するようにしてもよい。例えば、各分散先プリンタに対して、その処理速度を問い合わせ、その応答結果に応じて、処理速度が遅いプリンタに対しては分散部数を少なくし、処理速度が速いプリンタに対しては分散部数を多くするよう、各分散先プリンタに割り当てるべき分散部数を決定するようにしてもよい。このように決定した場合には、システム全体として、分散印刷に要する時間を大幅に短縮することができる。
また、プリンタの性能の場合には、それらは予めわかっており、その後も変化することがないので、分散先プリンタについて、その性能に関する情報をプリンタPRT1に予め持たせておき、必要に応じてそれを参照して、各分散先プリンタに対する分散部数を決定するようにしてもよい。その場合、プリンタPRT1は各分散先プリンタに対し問い合わせを行う必要がない。
また、ある程度まとまった部数以上を分散させたり、あらかじめ登録された情報に基づいてプリンタの物理的な距離を考慮したり、プリンタのネットワークトポロジー的な距離を考慮したり、さらに、分散先指定ファイルに指定された順番を考慮したり、分散先指定ファイルの中に部数の分散比率を指定してそれを考慮したりしてもよい。
上記した実施例では、LANに接続されている各機器にはIPアドレスが固定で割り振られていたが、DHCP(Dynamic Host Configuration Protocol)サーバなどによって、動的にIPアドレスを割り振るようにしてもよい。但し、上記した第1の実施例のように、ポート番号「19100」とポート番号「9100」を使い分けてIPアドレスでプリンタを特定する場合は、分散元プリンタ(プリンタPRT1)は予めIPアドレスが固定で割り振っておいたほうが好ましい。分散先指定ファイルを使う場合は、分散先プリンタも予めIPアドレスを振っておいたほうが好ましい。また、分散先指定ファイルを使わない場合は、分散先プリンタは予めIPアドレスを振っておかず、DHCPによるIPアドレス割り当てにしておいてもよい。
このように、IPアドレスでプリンタを特定するようなプロトコルの場合は、分散元アドレスは予め固定でIPアドレスを割り振っておくことが好ましいが、SMBやAppleTalkのように論理的なプリンタ名でプリンタを特定する場合はその限りでない。
SMBやAppleTalkのような場合は、分散元、分散先ともに、論理的なプリンタ名をつけておき、分散先指定ファイルにも、それらのプリンタ名を指定しておくことで、IPアドレスを使うことなく、同様の効果を発揮させることができる。
上記した実施例では、分散印刷制御装置を、プリンタPRT1に内蔵されたカスタムネットワークボードCNBとして構成するようにしたが、本発明はこれに限定されるものではなく、分散印刷制御装置をプリンタPRT1と別体とし、USB接続,IEEE1394バス接続,パラレル接続,シリアル接続などの有線接続や、ブルートゥース接続,無線LAN接続,赤外線接続などの無線接続で接続するようにしてもよい。
上記した実施例では、分散先指定ファイルでは、分散先として使用したいプリンタのIPアドレスをそれぞれ指定するようにしていたが、本発明はこれに限定されるものではなく、例えば、分散先プリンタの検索を行いたいIPアドレスの範囲を指定するようにしてもよい。
上記した実施例では、送信先の指定や、分散先プリンタの検索や、分散先指定ファイルにおける分散先プリンタの指定などにおいて、IPアドレスを用いるようにしたが、代わりに、MACアドレスや、その他、機器を一意的に特定することができるIDを用いるようにしてもよい。
上記した実施例では、分散先プリンタを決定する際、図6のステップS211において、分散先プリンタの候補として1台のプリンタも選択されていない場合、ステップS214において、直ちに、自己のプリンタPRT1を候補として選択するようにした。しかしながら、LAN上に、自己のプリンタPRT1と同一機種のプリンタが存在しても、用紙切れなどでオフラインの状態にあったり、あるいは、電源オフの状態にあったりして、それを理由に、分散先プリンタの候補として1台のプリンタも選択されていない可能性もあるので、分散先決定部23が、ステップS211において、1台のプリンタも選択されていないと判断した場合に、一定時間待機し、その後、ステップ202に戻って、以降の処理を再度行うようにしてもよい。この場合、一定時間の待機中に、上記プリンタが、用紙が補充されて、オンライン状態になったり、電源が投入され、電源オンの状態になったりして、印刷実行可能な状態になれば、分散印刷の実行は可能となる。
上記した実施例では、カスタムネットワークボードCNBによる、自己プリンタPRT1の機種名取得は、プリンタPRT1の電源投入時に行っていたが、本発明はこれに限定されるものではなく、少なくとも、分散先プリンタを決定する際して、図6のステップS205の処理(自己プリンタPRT1と同一機種のプリンタの選択)よりも前に行っていればよい。従って、例えば、このステップS205の直前で、自己プリンタPRT1の機種名取得の処理を行うようにしてもよい。
本発明の第1の実施例としての印刷システムの構成を示す説明図である。 印刷ジョブを含む通信データの構成を概念的に示す説明図である。 図1におけるプリンタPRT1の構成を主として示す説明図である。 プリンタPRT1における主要機能ブロックの処理手順を示すフローチャートである。 印刷ジョブのデータをエディタで開いて示した説明図である。 分散先プリンタの検索・決定処理ルーチンの処理手順を示すフローチャートである。 分散先指定ファイルの内容を示す説明図である。 本発明の第2の実施例としての印刷システムにおいて、プリンタPRT1の構成を主として示す説明図である。 本発明の第3の実施例としてのプリンタPRT1における分散部数決定処理ルーチンの処理手順を示すフローチャートである。 分散先指定ファイルの内容を示す説明図である。 本発明の第4の実施例としてのプリンタPRT1における分散部数決定処理ルーチンの処理手順を示すフローチャートである。 分散先プリンタの備える用紙収納トレイを模式的に示した説明図である。
符号の説明
11...TCP/IP解釈部
12...無手順プロトコル解釈部
13...アプリケーション
14...LPR解釈部
20...CPU
21...TCP/IP解釈部
22A,22B...無手順プロトコル解釈部
23...分散先決定部
24...部数決定部
25...分散処理部
26...LPR解釈部
30...メモリ
31...バッファ部
32...分散先指定ファイル格納部
41...プリンタエンジン
42...プリンタコントローラ
51...TCP/IP解釈部
52...無手順プロトコル解釈部
53...プリンタコントローラ
54...プリンタエンジン
CL...クライアント
CNB...カスタムネットワークボード
PRB...プリンタ本体
PRT1〜PRT4...プリンタ

Claims (26)

  1. ネットワークを介して送信される印刷ジョブに基づく印刷を実行する印刷装置であって、
    当該印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブを受信する受信手段と、
    前記受信手段によって受信される印刷ジョブが、当該印刷装置における第1のソフトウェアを特定する第1の送信先ポート番号が指定された印刷ジョブである場合、該印刷ジョブに基づく印刷を当該印刷装置において実行する印刷手段と、
    前記受信手段によって受信される印刷ジョブが、前記第1のソフトウェアとは異なる当該印刷装置における第2のソフトウェアを特定する第2の送信先ポート番号が指定された印刷ジョブである場合、前記ネットワークに接続された他の印刷装置を含む複数の印刷装置に該印刷ジョブを分散する分散手段と
    を備え
    前記分散手段は、前記受信手段による前記印刷ジョブの受信完了に先立って、前記複数の印刷装置に対する該印刷ジョブの分散を開始する手段である、印刷装置。
  2. 前記分散手段は、前記他の印刷装置に分散させる印刷ジョブを、前記他の印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブであって、前記第1の送信先ポート番号が指定された印刷ジョブに変更するポート変更手段を含む請求項1に記載の印刷装置。
  3. ネットワークを介して送信される印刷ジョブに基づく印刷を実行する印刷装置であって、
    当該印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブを受信する受信手段と、
    前記受信手段によって受信される印刷ジョブが、第1の印刷プロトコルに従って設定された印刷ジョブである場合、該印刷ジョブに基づく印刷を当該印刷装置において実行する印刷手段と、
    前記受信手段によって受信される印刷ジョブが、前記第1の印刷プロトコルとは異なる第2の印刷プロトコルに従って設定された印刷ジョブである場合、前記ネットワークに接続された他の印刷装置を含む複数の印刷装置に該印刷ジョブを分散する分散手段と
    を備え
    前記分散手段は、前記受信手段による前記印刷ジョブの受信完了に先立って、前記複数の印刷装置に対する該印刷ジョブの分散を開始する手段である、印刷装置。
  4. 前記分散手段は、前記他の印刷装置に分散させる印刷ジョブを、前記他の印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブであって、前記第1の印刷プロトコルに従って設定された印刷ジョブに変更するプロトコル変更手段を含む請求項3に記載の印刷装置。
  5. 前記分散手段は、前記受信手段によって受信される印刷ジョブが2以上の印刷部数を指定する印刷ジョブである場合、前記複数の印刷装置の各々に割り当てる印刷部数である分散部数を決定する部数決定手段を含む請求項1ないし請求項4のいずれか一項に記載の印刷装置。
  6. 前記部数決定手段は、前記複数の印刷装置の各々に割り当てる各印刷部数がほぼ同じ値となるように、前記分散部数を決定する手段である請求項5に記載の印刷装置。
  7. 請求項5に記載の印刷装置であって、
    更に、前記他の印刷装置から、該他の印刷装置における消耗品の状態を示す情報を取得する情報取得手段を備え、
    前記部数決定手段は、前記情報取得手段によって取得される情報に基づいて、前記分散部数を決定する手段である、印刷装置。
  8. 請求項7に記載の印刷装置であって、
    前記情報取得手段は、前記他の印刷装置から、該他の印刷装置における消耗品の残量または残寿命を示す情報を取得する手段であり、
    前記部数決定手段は、前記消耗品の残量または残寿命が多いほど割り当てられる印刷部数が多くなるように、前記分散部数を決定する手段である、印刷装置。
  9. 請求項5に記載の印刷装置であって、
    更に、前記他の印刷装置から、該他の印刷装置の性能を示す情報を取得する情報取得手段を備え、
    前記部数決定手段は、前記情報取得手段によって取得される情報に基づいて、前記分散部数を決定する手段である、印刷装置。
  10. 請求項9に記載の印刷装置であって、
    前記情報取得手段は、前記他の印刷装置から、該他の印刷装置の処理速度を示す情報を取得する手段であり、
    前記部数決定手段は、前記処理速度が速いほど割り当てられる印刷部数が多くなるように、前記分散部数を決定する手段である、印刷装置。
  11. 前記分散手段は、当該印刷装置および前記他の印刷装置を含む複数の印刷装置に前記印刷ジョブを分散する手段である、請求項1ないし請求項10のいずれか一項に記載の印刷装置。
  12. 前記分散手段は、当該印刷装置と同一機種の印刷装置であって印刷実行可能な印刷装置を前記ネットワークから検索することによって、前記他の印刷装置を決定する決定手段を含む、請求項1ないし請求項11のいずれか一項に記載の印刷装置。
  13. 請求項1ないし請求項11のいずれか一項に記載の印刷装置であって、
    更に、前記他の印刷装置を指定する指定ファイルを記憶する手段を備え、
    前記分散手段は、当該印刷装置と同一機種の印刷装置であって印刷実行可能な印刷装置を前記指定ファイルに基づいて検索することによって、前記他の印刷装置を決定する決定手段を含む、印刷装置。
  14. ネットワークを介して送信される印刷ジョブに基づく印刷を実行する印刷方法であって、
    前記ネットワークに接続された印刷装置において、該印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブを受信し、
    前記受信工程で受信した印刷ジョブが、前記印刷装置における第1のソフトウェアを特定する第1の送信先ポート番号が指定された印刷ジョブである場合、前記印刷装置において該印刷ジョブに基づく印刷を実行し、
    前記受信工程で受信した印刷ジョブが、前記第1のソフトウェアとは異なる前記印刷装置における第2のソフトウェアを特定する第2の送信先ポート番号が指定された印刷ジョブである場合、前記ネットワークに接続された他の印刷装置を含む複数の印刷装置に該印刷ジョブを分散し、該印刷ジョブの分散を該印刷ジョブの受信完了に先立って開始する、印刷方法。
  15. 前記他の印刷装置に分散させる印刷ジョブを、前記他の印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブであって、前記第1の送信先ポート番号が指定された印刷ジョブに変更する請求項14に記載の印刷方法。
  16. ネットワークを介して送信される印刷ジョブに基づく印刷を実行する印刷方法であって、
    前記ネットワークに接続された印刷装置において、該印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブを受信し、
    前記受信工程で受信した印刷ジョブが、第1の印刷プロトコルに従って設定された印刷ジョブである場合、前記印刷装置において該印刷ジョブに基づく印刷を実行し、
    前記受信工程で受信した印刷ジョブが、前記第1の印刷プロトコルとは異なる第2の印刷プロトコルに従って設定された印刷ジョブである場合、前記ネットワークに接続された前記印刷装置および他の印刷装置に該印刷ジョブを分散し、該印刷ジョブの分散を該印刷ジョブの受信完了に先立って開始する、印刷方法。
  17. 前記他の印刷装置に分散させる印刷ジョブを、前記他の印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブであって、前記第1の印刷プロトコルに従って設定された印刷ジョブに変更する請求項16に記載の印刷方法。
  18. 前記印刷ジョブが2以上の印刷部数を指定する印刷ジョブである場合、前記複数の印刷装置の各々に割り当てる印刷部数である分散部数を決定する請求項14ないし請求項17のいずれか一項に記載の印刷方法。
  19. 前記他の印刷装置から、該他の印刷装置における消耗品の状態を示す情報を取得し、該情報に基づいて前記分散部数を決定する請求項18に記載の印刷方法。
  20. 前記他の印刷装置から、該他の印刷装置の性能を示す情報を取得し、該情報に基づいて前記分散部数を決定する請求項18に記載の印刷方法。
  21. ネットワークを介して送信される印刷ジョブに基づく印刷を実行する機能を、前記ネットワークに接続された印刷装置のコンピュータに実現させるためのコンピュータプログラムであって、
    前記印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブを受信する受信機能と、
    前記受信機能によって受信される印刷ジョブが、前記印刷装置における第1のソフトウェアを特定する第1の送信先ポート番号が指定された印刷ジョブである場合、該印刷ジョブに基づく印刷を前記印刷装置において実行する印刷機能と、
    前記受信機能によって受信される印刷ジョブが、前記第1のソフトウェアとは異なる前記印刷装置における第2のソフトウェアを特定する第2の送信先ポート番号が指定された印刷ジョブである場合、前記ネットワークに接続された他の印刷装置を含む複数の印刷装置に該印刷ジョブを分散する機能であって、該印刷ジョブの分散を該印刷ジョブの受信完了に先立って開始する分散機能と
    を実現させるためのコンピュータプログラム。
  22. ネットワークを介して送信される印刷ジョブに基づく印刷を実行する機能を、前記ネットワークに接続された印刷装置のコンピュータに実現させるためのコンピュータプログラムであって、
    前記印刷装置が前記ネットワーク上の送信先として指定された印刷ジョブを受信する受信機能と、
    前記受信機能によって受信される印刷ジョブが、第1の印刷プロトコルに従って設定された印刷ジョブである場合、該印刷ジョブに基づく印刷を前記印刷装置において実行する印刷機能と、
    前記受信機能によって受信される印刷ジョブが、前記第1の印刷プロトコルとは異なる第2の印刷プロトコルに従って設定された印刷ジョブである場合、前記ネットワークに接続された他の印刷装置を含む複数の印刷装置に該印刷ジョブを分散する機能であって、該印刷ジョブの分散を該印刷ジョブの受信完了に先立って開始する分散機能と
    を実現させるためのコンピュータプログラム。
  23. 前記分散機能は、前記受信機能によって受信される印刷ジョブが2以上の印刷部数を指定する印刷ジョブである場合、前記複数の印刷装置の各々に割り当てる印刷部数である分散部数を決定する部数決定機能を含む請求項21または請求項22に記載のコンピュータプログラム。
  24. 請求項23に記載のコンピュータプログラムであって、
    更に、前記他の印刷装置から、該他の印刷装置における消耗品の状態を示す情報を取得する情報取得機能を備え、
    前記部数決定機能は、前記情報取得機能によって取得される情報に基づいて、前記分散部数を決定する手段である、コンピュータプログラム。
  25. 請求項23に記載のコンピュータプログラムであって、
    更に、前記他の印刷装置から、該他の印刷装置の性能を示す情報を取得する情報取得機能を備え、
    前記部数決定機能は、前記情報取得機能によって取得される情報に基づいて、前記分散部数を決定する手段である、コンピュータプログラム。
  26. 請求項21ないし請求項25のいずれか一項に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004011418A 2003-11-26 2004-01-20 印刷装置および印刷方法、コンピュータプログラム、記録媒体 Expired - Fee Related JP4453369B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004011418A JP4453369B2 (ja) 2003-11-26 2004-01-20 印刷装置および印刷方法、コンピュータプログラム、記録媒体
US10/996,840 US20050134909A1 (en) 2003-11-26 2004-11-24 Distributed printing control device and print job distribution method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003395417 2003-11-26
JP2004011418A JP4453369B2 (ja) 2003-11-26 2004-01-20 印刷装置および印刷方法、コンピュータプログラム、記録媒体

Publications (2)

Publication Number Publication Date
JP2005178347A JP2005178347A (ja) 2005-07-07
JP4453369B2 true JP4453369B2 (ja) 2010-04-21

Family

ID=34797211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004011418A Expired - Fee Related JP4453369B2 (ja) 2003-11-26 2004-01-20 印刷装置および印刷方法、コンピュータプログラム、記録媒体

Country Status (1)

Country Link
JP (1) JP4453369B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080030769A1 (en) * 2006-08-03 2008-02-07 Nobutaka Hanaoka Host printing system, apparatus and method
JP2020017086A (ja) * 2018-07-25 2020-01-30 富士ゼロックス株式会社 印刷管理装置、及び印刷管理プログラム
JP7334828B2 (ja) * 2018-07-25 2023-08-29 富士フイルムビジネスイノベーション株式会社 印刷管理装置、及び印刷管理プログラム
CN113474094B (zh) * 2018-12-21 2023-12-08 艾利丹尼森零售信息服务有限公司 与自动化机器人分拣一起使用的分布式打印系统和方法
JP6703316B2 (ja) * 2019-01-21 2020-06-03 京セラドキュメントソリューションズ株式会社 電子機器およびプリンタードライバー

Also Published As

Publication number Publication date
JP2005178347A (ja) 2005-07-07

Similar Documents

Publication Publication Date Title
JP4650158B2 (ja) 分散制御を実行するための印刷制御装置、及び、印刷装置
US20070229877A1 (en) Technology for dealing with errors in printing device
JP5024151B2 (ja) 通信装置、プログラムおよび画像形成装置
US20050270565A1 (en) Distributed printing control device and print job distribution method
JP4453593B2 (ja) 分散印刷における印刷経過の監視
JP3941794B2 (ja) 分散印刷制御装置及び印刷ジョブ分散方法
JP4453369B2 (ja) 印刷装置および印刷方法、コンピュータプログラム、記録媒体
JP2006277034A (ja) 分散印刷制御装置、分散先印刷装置候補決定方法
US20050134909A1 (en) Distributed printing control device and print job distribution method
JP2006277501A (ja) 分散印刷制御装置およびその方法
JP4289164B2 (ja) 分散印刷制御装置及び印刷ジョブ分散方法
JP2006256089A (ja) 分散印刷制御装置及び印刷ジョブ分散方法
JP2005202723A (ja) 印刷システム
JP2006195606A (ja) 分散印刷システム、クライアント、分散印刷制御装置、印刷ジョブ進捗状況表示方法
JP2007041754A (ja) 分散印刷を実行するための印刷制御
JP4481051B2 (ja) 画像形成装置システム
JP4438698B2 (ja) 分散印刷システム,印刷方法,及び,コンピュータプログラム
JPH11110157A (ja) 印刷処理システム及び印刷処理方法並びに印刷処理制御プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP4036221B2 (ja) クライアント
JPH10283130A (ja) プリンタ制御装置、プリンタ制御方法および記録媒体
JP2006201993A (ja) 分散印刷制御装置及びそれを備える印刷装置
JP4613653B2 (ja) 分散印刷制御装置及び印刷ジョブ分散方法
JP3907636B2 (ja) 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2007066093A (ja) 印刷システムおよび印刷装置
JPH07104949A (ja) 印刷システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091215

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: 20100112

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: 20100125

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

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4453369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees