Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4613653B2 - Distributed print control apparatus and print job distribution method - Google Patents
[go: Go Back, main page]

JP4613653B2 - Distributed print control apparatus and print job distribution method - Google Patents

Distributed print control apparatus and print job distribution method Download PDF

Info

Publication number
JP4613653B2
JP4613653B2 JP2005076528A JP2005076528A JP4613653B2 JP 4613653 B2 JP4613653 B2 JP 4613653B2 JP 2005076528 A JP2005076528 A JP 2005076528A JP 2005076528 A JP2005076528 A JP 2005076528A JP 4613653 B2 JP4613653 B2 JP 4613653B2
Authority
JP
Japan
Prior art keywords
print job
distribution destination
printing
printer
copies
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
JP2005076528A
Other languages
Japanese (ja)
Other versions
JP2006256093A (en
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 JP2005076528A priority Critical patent/JP4613653B2/en
Publication of JP2006256093A publication Critical patent/JP2006256093A/en
Application granted granted Critical
Publication of JP4613653B2 publication Critical patent/JP4613653B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、ネットワークに接続された1以上の印刷装置に印刷ジョブを分散して、分散印刷を行う技術に関する。   The present invention relates to a technique for performing distributed printing by distributing a print job to one or more printing apparatuses connected to a network.

近年、複数のプリンタを同一ネットワークに接続し、ユーザが複数のプリンタを使い分けることができる印刷システムが普及しつつある。複数部の印刷を行う場合、印刷ジョブを各プリンタに分散し、並行処理することにより、短時間で印刷を完了する技術、いわゆる分散印刷も提案されている(例えば、特許文献1参照)。分散印刷は、ネットワーク上に設けられた分散印刷用の専用サーバが、印刷ジョブの分散先および印刷部数を制御するのが通常である。   In recent years, printing systems in which a plurality of printers are connected to the same network and a user can use a plurality of printers are becoming popular. When printing a plurality of copies, a technique for completing printing in a short time by distributing a print job to each printer and performing parallel processing, so-called distributed printing has been proposed (for example, see Patent Document 1). In distributed printing, a dedicated server for distributed printing provided on a network usually controls the distribution destination and the number of copies of a print job.

特開2002−215369号公報JP 2002-215369 A

しかし、従来技術では、分散印刷を実現するために専用サーバを含めた大がかりなシステムが必要となっていた。さらに、従来の分散印刷では、各分散先における印刷部数が最初に決定されているため、紙切れやジャムといった種々の理由で一部の遅い分散先が進捗が遅くなった場合には、最も遅い分散先の印刷が完了するまで印刷ジョブが完了しないという問題も生じていた。   However, in the prior art, a large-scale system including a dedicated server is necessary to realize distributed printing. Furthermore, in conventional distributed printing, the number of copies to be printed at each distribution destination is determined first. Therefore, when the progress of some of the slow distribution destinations is slow due to various reasons such as running out of paper or jam, the slowest distribution is performed. There has also been a problem that the print job is not completed until the previous printing is completed.

本発明は、かかる課題を解決するためになされたものであり、簡易なシステムで、効率的な分散印刷を実現することを目的とする。   SUMMARY An advantage of some aspects of the invention is that it realizes efficient distributed printing with a simple system.

上記した目的の少なくとも一部を達成するために、ネットワークを介して送信される印刷ジョブを、前記ネットワークに接続された複数の印刷装置のうち、分散先となる1以上の分散先印刷装置に分散することが可能な分散印刷制御装置は、前記印刷ジョブを格納するための印刷ジョブ格納部と、前記印刷ジョブの全体が印刷ジョブ格納部に格納可能か否かを判定し、前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能と判定した場合には、前記印刷ジョブの受信に応じて、前記ネットワークに接続された印刷装置に対して動作状態の問い合わせをおこない、応答結果に基づいて、前記分散先印刷装置を決定する処理と、決定した各前記分散先印刷装置に対して必要な印刷部数を1とした分散印刷ジョブを送信する処理と、を前記分散先印刷装置により印刷された部数の合計が前記印刷ジョブにおいて指定された印刷部数に達するまで交互に繰り返し、前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能ではないと判定した場合には、前記印刷ジョブの一部の受信に応じて、前記分散先印刷装置と、前記分散先印刷装置の各々に割り当てる印刷部数と、を決定し、前記分散先印刷装置に対して前記印刷部数を表すデータを含む分散印刷ジョブを送信し、前記印刷ジョブの送信後に前記印刷ジョブの残部を受信する、制御部と、を備えていることを特徴とする。
In order to achieve at least a part of the above-described purpose, a print job transmitted via a network is distributed to one or more distribution destination printing apparatuses that are distribution destinations among a plurality of printing apparatuses connected to the network. A distributed print control apparatus capable of storing the print job storage unit for storing the print job, and determining whether the entire print job can be stored in the print job storage unit; In response to reception of the print job, an inquiry is made to the printing device connected to the network in response to the reception of the print job, and based on the response result, A process of determining a distribution destination printing apparatus, and a process of transmitting a distributed print job in which the required number of print copies is set to 1 for each of the determined distribution destination printing apparatuses. It total number of copies printed by the printing apparatus repeatedly alternately until a number of copies specified in the print job, if the entirety of the print job is determined not to be stored in the print job storage portion In response to reception of a part of the print job, the distribution destination printing device and the number of print copies to be allocated to each of the distribution destination printing devices are determined, and the number of print copies is represented to the distribution destination printing device. send distributed print job including data, receiving the remainder of the print job after transmission of the print job, characterized in that it comprises a control unit.

本発明の分散印刷制御装置によれば、分散先の一部の印刷装置の紙詰まり等による停止や分散先の追加に応じて割当てを調整することができる。また、印刷ジョブの全体が印刷ジョブ格納部に格納可能か否かにより制御方法を変更することができる。
According to the distributed printing control apparatus of the present invention, it is possible to adjust the allocation according to stoppage due to a paper jam or the like of a part of printing apparatuses at the distribution destination or addition of the distribution destination. The control method can be changed depending on whether or not the entire print job can be stored in the print job storage unit.

上記分散印刷制御装置において
前記分散印刷制御装置は、
前記複数の印刷装置の中から、オンライン状態であって、かつ、印刷ジョブを受信中でなく、印刷中でもないという所定の条件を満たす印刷装置を候補印刷装置として検索する検索処理と、
前記検索された候補印刷装置の中から前記分散先印刷装置を決定する分散先決定処理と、
前記決定後において、前記所定の条件を満たすこととなった印刷装置を前記分散印刷制御装置に追加決定する分散先追加決定処理と、
前記追加された分散印刷制御装置に、前記追加前に割り当てられた印刷部数のうちの残数の一部を割り当てる再割当て処理と、
を実行することが可能であるように構成しても良い。
In the above distributed printing control apparatus ,
The distributed printing control device
Search processing for searching as a candidate printing device a printing device that satisfies the predetermined condition that the printing device is online and is not receiving a print job or printing from the plurality of printing devices;
A distribution destination determination process for determining the distribution destination printing device from the retrieved candidate printing devices;
After the determination, a distribution destination addition determination process for additionally determining the printing apparatus that satisfies the predetermined condition to the distributed printing control apparatus;
Reassignment processing for allocating a part of the remaining number of print copies allocated before the addition to the added distributed print control device;
May be configured to be executed.

こうすれば、分散先の追加に対しても柔軟に対応することができる。   In this way, it is possible to flexibly cope with the addition of the distribution destination.

なお、本発明は、上記した分散印刷制御装置としての構成の他、その分散印刷制御装置を内蔵する印刷装置としても構成することができる。また、そのような装置発明の態様に限ることなく、印刷ジョブ分散方法などの方法発明としての態様で実現することも可能である。さらには、それら方法や装置を構築するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。   The present invention can be configured as a printing apparatus incorporating the distributed printing control apparatus in addition to the above-described structure as the distributed printing control apparatus. In addition, the present invention is not limited to such an aspect of the apparatus invention, and can be realized as an aspect of a method invention such as a print job distribution method. Further, aspects as a computer program for constructing those methods and apparatuses, aspects as a recording medium recording such a computer program, data signals embodied in a carrier wave including the computer program, etc. It can also be realized in various ways.

本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、印刷装置を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやCD−ROM、DVD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。   When the present invention is configured as a computer program or a recording medium on which the program is recorded, the entire program for controlling the printing apparatus may be configured, or only the portion that performs the functions of the present invention may be configured. Also good. The recording medium includes a flexible disk, a CD-ROM, a DVD-ROM, a magneto-optical disk, an IC card, a ROM cartridge, a punch card, a printed matter on which a code such as a barcode is printed, a computer internal storage device (RAM or Various types of computer-readable media such as a memory such as a ROM and an external storage device can be used.

以下、本発明の実施の形態を、実施例に基づいて、下記の項目に分けて説明する。
A.第1の実施例:
A1.システム概要:
A2.プリンタの構成:
A3.通常印刷処理:
A4.分散印刷処理:
A5.実施例の効果:
B.第2の実施例:
B1.プリンタの構成:
B2.通常印刷処理:
B3.分散印刷処理:
B4.実施例の効果:
C.第3の実施例:
C1.第1の分散印刷処理の変形例:
C2.第2の分散印刷処理の変形例:
D.変形例:
Hereinafter, embodiments of the present invention will be described in the following items based on examples.
A. First embodiment:
A1. System overview:
A2. Printer configuration:
A3. Normal printing process:
A4. Distributed printing process:
A5. Effects of the embodiment:
B. Second embodiment:
B1. Printer configuration:
B2. Normal printing process:
B3. Distributed printing process:
B4. Effects of the embodiment:
C. Third embodiment:
C1. Modified example of the first distributed printing process:
C2. Modified example of the second distributed printing process:
D. Variations:

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通信を行うためにネットワークに接続されているネットワークボードなど)に設定されている。
A. First embodiment:
A1. System overview:
FIG. 1 is an explanatory diagram showing the configuration of a printing system including a printer PRT1 as a first embodiment of the present invention. In this printing system, as shown, a client PC (hereinafter abbreviated as a client) CL and a plurality of printers PRT1 to PRT4 are connected to a local area network (LAN). Since communication between devices is based on the TCP / IP protocol, each device is assigned a fixed IP address in advance. For convenience of explanation, it is assumed that addresses “IPc” and “IP1” to “IP4” are set in the client CL and the printers PRT1 to PRT4, respectively. Strictly speaking, these IP addresses are not set in the client CL and the printers PRT1 to PRT4 themselves, but are nodes when viewed from the TCP / IP network (specifically, TCP / IP For example, a network board connected to a network for performing IP communication).

これらプリンタのうち、プリンタPRT1には、カスタムネットワークボードCNBが取り付けられている。このカスタムネットワークボードCNBは、受信した印刷ジョブを他のプリンタに分散して、分散印刷を実行するための分散印刷制御機能を備えており、請求項における分散印刷制御装置に相当する。一方、他のプリンタには、それぞれ、標準のネットワークボード(図示せず)が取り付けられている。   Among these printers, a custom network board CNB is attached to the printer PRT1. The custom network board CNB has a distributed printing control function for distributing received print jobs to other printers and executing distributed printing, and corresponds to the distributed printing control device in the claims. On the other hand, a standard network board (not shown) is attached to each of the other printers.

一例として図中には、クライアントCLからプリンタPRT1に、印刷ジョブを含む通信データDT0が送信される場合を例示した。   As an example, the case where the communication data DT0 including the print job is transmitted from the client CL to the printer PRT1 is illustrated in the drawing.

図2はこのような印刷ジョブを含む通信データの構成を概念的に示す説明図である。図2に示すように、通信データは、大きく分けて、ヘッダと、印刷ジョブデータと、に分かれている。   FIG. 2 is an explanatory diagram conceptually showing the structure of communication data including such a print job. As shown in FIG. 2, the communication data is roughly divided into a header and print job data.

このうち、ヘッダには、その通信データの発信元である機器のIPアドレス(発信元IPアドレス)と、その機器内における発信元であるソフトウェアを特定するポート番号(発信元ポート番号)と、を含む他、その通信データの送信先である機器のIPアドレス(送信先IPアドレス)と、その機器内における送信先であるソフトウェアを特定するポート番号(送信先ポート番号)とを含んでいる。発信元である機器のソフトウェアから発信された通信データは、送信先IPアドレスに従って、そのIPアドレスを有する機器に送信され、さらに、受信したその機器内では、送信先ポート番号に従って、その番号のポートで待機しているソフトウェアに渡される。   Among these, in the header, the IP address (source IP address) of the device that is the source of the communication data, and the port number (source port number) that identifies the software that is the source in the device, In addition, it includes an IP address (transmission destination IP address) of the device that is the transmission destination of the communication data, and a port number (transmission destination port number) that identifies the software that is the transmission destination in the device. Communication data transmitted from the software of the transmission source device is transmitted to the device having the IP address according to the transmission destination IP address. Further, in the received device, the port of that number is transmitted according to the transmission destination port number. Passed to the waiting software.

一方、印刷ジョブデータは、ジョブ制御言語の部分と、印刷対象画像データと、に分かれており、このうち、ジョブ制御言語部分には、印刷部数情報として、印刷部数を表すQT値が記載されている。   On the other hand, the print job data is divided into a job control language portion and print target image data. Among these, the job control language portion includes a QT value representing the number of copies as print number information. Yes.

なお、TCP/IPの場合、通信データは、通常、パケットで通信される。従って、実際には、一連の印刷ジョブデータは、時分割された上で、各時分割データの前に上記ヘッダを付けて、それぞれ、送信されることになる。   In the case of TCP / IP, communication data is normally communicated in packets. Therefore, in practice, a series of print job data is time-divided and transmitted with the header added in front of each time-division data.

図1に戻って、通信データDT0には、送信先IPアドレスとして「IP1」が、送信先ポート番号として「19100」が、QT値(すなわち、印刷部数)として「100部」が、それぞれ記載されている。   Returning to FIG. 1, the communication data DT0 describes “IP1” as the destination IP address, “19100” as the destination port number, and “100 copies” as the QT value (that is, the number of copies). ing.

本実施例では、印刷プロトコルとして無手順プロトコルを用いている。無手順プロトコルでは、通常、ボート番号として「9100」が割り当てられているが、本実施例では、クライアントCLから分散印刷制御機能を有するプリンタPRT1に印刷ジョブを送信する際、ボート番号として通常の「9100」ではなく、「19100」を用いる。   In this embodiment, a non-procedural protocol is used as a printing protocol. In the non-procedural protocol, “9100” is normally assigned as the boat number, but in this embodiment, when a print job is transmitted from the client CL to the printer PRT1 having the distributed print control function, Use “19100” instead of “9100”.

プリンタPRT1のカスタムネットワークボードCNBは、この通信データDT0を受信すると、ポート番号「19100」に待機しているソフトウェアに、印刷ジョブデータを渡す。本実施例では、ポート番号「19100」には、分散印刷制御機能を実現するための分散印刷ソフトウェアが待機している。それにより、その分散印刷ソフトウェアに従ってCPUにより実現される機能部が、まず、印刷ジョブデータを印刷ジョブ格納部(図示せず)に格納し、クライアントCLから送信された印刷ジョブデータの全てがその印刷ジョブ格納部に入りきった場合には、LANに接続されているプリンタの中から、オンライン状態であり、かつ、印刷ジョブを受信中でなく、印刷中でもないプリンタを検索し、分散先プリンタを決定する。例えば、その分散先プリンタとして、プリンタPRT2〜PRT4の他、自己のプリンタPRT1を決定されたとすると、上記機能部は、印刷ジョブデータに含まれるQT値を「1部」に変更すると共に、送信先ポート番号を「19100」ではなく、「9100」に変更した上で、それら分散先のプリンタに、それぞれ、印刷ジョブを含む通信データDT1〜DT4を送信する。   When receiving the communication data DT0, the custom network board CNB of the printer PRT1 passes the print job data to the software waiting at the port number “19100”. In this embodiment, the distributed printing software for realizing the distributed printing control function is waiting for the port number “19100”. As a result, the functional unit realized by the CPU according to the distributed printing software first stores the print job data in a print job storage unit (not shown), and all the print job data transmitted from the client CL is printed. When the job storage unit is fully entered, the printers that are online and that are not receiving print jobs and not printing are searched for from the printers connected to the LAN, and the distribution destination printer is determined. To do. For example, assuming that the printer PRT1 is determined as the distribution destination printer, in addition to the printers PRT2 to PRT4, the functional unit changes the QT value included in the print job data to “1 copy” and sends the transmission destination. After changing the port number to “9100” instead of “19100”, the communication data DT1 to DT4 including the print job are transmitted to the respective destination printers.

従って、例えば、通信データDT2には、送信先IPアドレスとして「IP2」が、送信先ポート番号として「9100」が、QT値として「1部」が、それぞれ記載されている。   Therefore, for example, in the communication data DT2, “IP2” is described as the transmission destination IP address, “9100” as the transmission destination port number, and “1 copy” as the QT value.

プリンタPRT2の標準ネットワークボードは、この通信データDT2を受信すると、ポート番号「9100」に待機しているソフトウェアに、印刷ジョブデータを渡す。ポート番号「9100」は、前述したとおり、印刷プロトコルである無手順プロトコルに対して、通常割り当てられているポート番号であるので、印刷ジョブデータは、プリンタPRT2内の印刷制御ソフトウェアに渡されて、その印刷ジョブに従った印刷が実行される。   When the standard network board of the printer PRT2 receives the communication data DT2, it passes the print job data to the software waiting at the port number “9100”. As described above, since the port number “9100” is a port number that is normally assigned to the non-procedural protocol that is the printing protocol, the print job data is transferred to the print control software in the printer PRT2, Printing according to the print job is executed.

他のプリンタPRT3,PRT4は、もちろんのこと、分散印刷制御機能を有するPRT1においても、同様に、送信された印刷ジョブに従った印刷が実行される。   Of course, the other printers PRT3 and PRT4 also execute printing according to the transmitted print job in the PRT1 having the distributed printing control function.

従って、各プリンタPRT1〜PRT4では、各「1部」ずつの印刷が実行されることになり、システム全体で、合計「4部」の分散印刷が実行されることになる。   Accordingly, in each of the printers PRT1 to PRT4, each “1 copy” is printed, and a total of “4 copies” is distributed in the entire system.

続いて、上記機能部は、再度、LANに接続されているプリンタの中から、オンライン状態であり、かつ、印刷ジョブを受信中でなく、印刷中でもないプリンタを検索して、分散先プリンタを決定し、印刷ジョブデータに含まれるQT値を「1部」に、送信先ポート番号を「9100」にそれぞれ変更した上で、それら分散先のプリンタに、それぞれ、印刷ジョブを含む通信データを送信する。そして、各分散先プリンタにおいて、その印刷ジョブに従って、各「1部」ずつの印刷を実行する。以下、このような処理を、システム全体での累積の印刷部数が「100部」になるまで、繰り返し、実行する。   Subsequently, the functional unit again searches for printers that are online and are not receiving print jobs and not printing from printers connected to the LAN, and determines a distribution destination printer. Then, after changing the QT value included in the print job data to “1 copy” and the transmission destination port number to “9100”, the communication data including the print job is transmitted to each of the distribution destination printers. . Each distribution destination printer executes “one copy” of printing according to the print job. Hereinafter, such processing is repeatedly executed until the cumulative number of copies in the entire system reaches “100”.

すると、最終的には、システム全体において、合計「100部」の分散印刷が実行されることになる。   Eventually, a total of “100 copies” of distributed printing is executed in the entire system.

A2.プリンタの構成:
図3は図1におけるプリンタPRT1の構成を主として示す説明図である。プリンタPRT1は、プリンタ本体PRBと、上述したカスタムネットワークボードCNBと、を備えている。このうち、プリンタ本体PRBは、主として、プリンタエンジン41と、プリンタコントローラ42と、を備えている。プリンタエンジン41は、実際に印刷を行う機構部分である。プリンタコントローラ42は、カスタムネットワークボードCNBから印刷ジョブデータを受け取り、その印刷ジョブに従ってプリンタエンジン41を制御し、印刷を実行させる。
A2. Printer configuration:
FIG. 3 is an explanatory diagram mainly showing the configuration of the printer PRT1 in FIG. The printer PRT1 includes a printer main body PRB and the custom network board CNB described above. Among these, the printer main body PRB mainly includes a printer engine 41 and a printer controller 42. The printer engine 41 is a mechanism portion that actually performs printing. The printer controller 42 receives print job data from the custom network board CNB, controls the printer engine 41 according to the print job, and executes printing.

一方、本発明の特徴部分であるカスタムネットワークボードCNBは、主として、CPU20と、メモリ30と、を備えている。また、この他、実際にネットワーク通信を行うための通信用インタフェースなども備えているが、説明の便宜上、省略されている。   On the other hand, the custom network board CNB which is a characteristic part of the present invention mainly includes a CPU 20 and a memory 30. In addition, a communication interface for actually performing network communication is also provided, but this is omitted for convenience of explanation.

CPU20は、メモリ30より、上記した分散印刷ソフトウェアなどのプログラムを読み出して、実行することにより、図示した各機能ブロックとして機能する。なお、各機能ブロックをハードウェア的に構築しても構わない。このようなCPU20が、請求項に記載の制御部に相当する。   The CPU 20 functions as the illustrated functional blocks by reading out and executing a program such as the above-described distributed printing software from the memory 30. Each functional block may be constructed in hardware. Such a CPU 20 corresponds to a control unit described in the claims.

これら機能ブロックのうち、TCP/IP解釈部21は、TCP/IPプロトコルを解釈して、ネットワークを介して外部との通信を行う。具体的には、受信した通信データに含まれる送信先IPアドレスや送信先ポート番号を検出したり、送信する通信データに送信先IPアドレスや送信先ポート番号を付与したりする。無手順プロトコル解釈部22A,22Bは、印刷プロトコルである無手順プロトコルを解釈する。本実施例では、説明の便宜上、通信データが、送信先ポート番号として通常の「9100」で送信されている場合には、無手順プロトコル解釈部22Bが機能し、特定の「19100」で送信されている場合には、無手順プロトコル解釈部22Aが機能するものとしている。   Among these functional blocks, the TCP / IP interpreter 21 interprets the TCP / IP protocol and communicates with the outside via the network. Specifically, a destination IP address and a destination port number included in the received communication data are detected, or a destination IP address and a destination port number are assigned to the communication data to be transmitted. The non-procedural protocol interpretation units 22A and 22B interpret a non-procedural protocol that is a printing protocol. In the present embodiment, for convenience of explanation, when the communication data is transmitted with the normal “9100” as the transmission destination port number, the non-procedural protocol interpretation unit 22B functions and is transmitted with a specific “19100”. In such a case, it is assumed that the non-procedural protocol interpretation unit 22A functions.

また、分散先決定部23は、分散印刷を行う際に、LAN上から、分散先となるべきプリンタを候補プリンタとして検索し、それら候補プリンタの中から分散先プリンタを決定する。部数決定部24は、指定されている総印刷部数から、各分散先プリンタに割り当てるべき分散部数を決定する。分散処理部25は、印刷ジョブデータに含まれる印刷部数を示すQT値を書き換えた上で、各分散プリンタに印刷ジョブデータを分配する。   In addition, when performing distributed printing, the distribution destination determination unit 23 searches for printers that are to be distribution destinations as candidate printers from the LAN, and determines a distribution destination printer from these candidate printers. The copy number determination unit 24 determines the number of distribution copies to be assigned to each distribution destination printer from the designated total number of print copies. The distributed processing unit 25 rewrites the QT value indicating the number of copies included in the print job data, and then distributes the print job data to each distributed printer.

一方、メモリ30は、上記したプログラムを格納する他、各種データを格納するために、印刷ジョブ格納部31や分散先指定ファイル格納部32を備えている。このうち、印刷ジョブ格納部31は、送信された印刷ジョブデータを一時的に格納するための格納部である。また、分散先指定ファイル格納部32は分散先指定ファイルを格納する。この分散先指定ファイルは、LANに接続されている複数のプリンタの中で、分散印刷における分散先として使用したいプリンタを、前もって、指定して限定しておきたい場合に用いる。従って、そのような指定が不要な場合には、分散先指定ファイル格納部32には何も格納されない。   On the other hand, the memory 30 includes a print job storage unit 31 and a distribution destination designation file storage unit 32 for storing various data in addition to storing the above-described program. Among these, the print job storage unit 31 is a storage unit for temporarily storing the transmitted print job data. The distribution destination designation file storage unit 32 stores the distribution destination designation file. This distribution destination designation file is used when a printer to be used as a distribution destination in distributed printing among a plurality of printers connected to the LAN is designated and limited in advance. Accordingly, when such designation is unnecessary, nothing is stored in the distribution destination designation file storage unit 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と、それぞれ同一の機能や構成を有している。   In FIG. 3, the client CL includes a non-procedural protocol interpretation unit 12 and a TCP / IP interpretation unit 11 as functional blocks in addition to the application 13. In addition to the printer engine 54 and the printer controller 53, the printer PRT2 includes a non-procedural protocol interpretation unit 52 and a TCP / IP interpretation unit 51 as functional blocks. Among these, the non-procedural protocol interpreting unit 12 and the non-procedural protocol interpreting unit 52 have the same functions as the non-procedural protocol interpreting unit 22B that handles communication data transmitted with the normal “9100” as the transmission destination port number in the printer PRT1. Have. Also, the TCP / IP interpreting units 11 and 51, the TCP / IP interpreting unit 21 in the printer PRT1, the printer engine 54 and the printer controller 53, and the printer engine 41 and the printer controller 42 in the printer PRT1, respectively, have the same functions and configurations. have.

なお、図1に示すプリンタPRT3,4については、図3におけるプリンタPRT2と同様の構成を有している。   The printers PRT3 and 4 shown in FIG. 1 have the same configuration as the printer PRT2 in FIG.

A3.通常印刷処理:
本発明の特徴部分である分散印刷処理を説明する前に、通常の印刷処理について簡単に説明する。なお、印刷ジョブを、クライアントCLからプリンタPRT1に送信し、プリンタPRT1のみで印刷を実行する場合を例として説明する。この場合、印刷ジョブは、図3において、点線で示す経路をたどって転送される。なお、クライアントCLにおけるプリンタドライバ(図示せず)において、印刷プロトコルの設定は、無手順プロトコルに設定されているものとする。
A3. Normal printing process:
Before describing the distributed printing process, which is a feature of the present invention, a normal printing process will be briefly described. An example in which a print job is transmitted from the client CL to the printer PRT1 and printing is executed only by the printer PRT1 will be described. In this case, the print job is transferred along a path indicated by a dotted line in FIG. In the printer driver (not shown) in the client CL, it is assumed that the print protocol is set to a non-procedural protocol.

ユーザがクライアントCLに印刷命令を出すと、クライアントCLでは、アプリケーション13が、印刷ジョブを、無手順プロトコル解釈部12,TCP/IP解釈部11を介して、プリンタPRT1に送信する。このとき、無手順プロトコル解釈部12は、印刷プロトコルである無手順プロトコルに従って、印刷ジョブを含む通信データを送信し、また、TCP/IP解釈部11は、その通信データの送信先IPアドレスとして、プリンタPRT1の「IP1」を指定すると共に、送信先ポート番号として、無手順プロトコルに通常割り当てられている「9100」を指定する。   When the user issues a print command to the client CL, in the client CL, the application 13 transmits a print job to the printer PRT1 via the non-procedural protocol interpretation unit 12 and the TCP / IP interpretation unit 11. At this time, the non-procedural protocol interpreting unit 12 transmits communication data including a print job according to the non-procedural protocol that is a printing protocol, and the TCP / IP interpreting unit 11 uses the communication data as a transmission destination IP address. In addition to specifying “IP1” of the printer PRT1, “9100”, which is normally assigned to the nonprocedural protocol, is specified as the destination port number.

プリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に従って、その通信データを受信し、さらに、その通信データに含まれる送信先ポート番号が「9100」であるので、「9100」で送信された通信データを扱う無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数を読み取り、指定されている部数だけ、プリンタエンジン41に印刷を実行させる。   In the printer PRT1, the TCP / IP interpreter 21 receives the communication data according to the destination IP address “IP1” included in the communication data, and the destination port number included in the communication data is “9100”. Therefore, the data is transferred to the non-procedural protocol interpretation unit 22B that handles the communication data transmitted with “9100”. The non-procedural protocol interpretation unit 22B receives communication data including a print job according to the non-procedural protocol, and passes the print job to the printer controller 42. The printer controller 42 reads the number of copies from the QT value included in the print job data, and causes the printer engine 41 to execute printing for the designated number of copies.

A4.分散印刷処理:
次に、本発明の特徴部分である分散印刷処理について詳細に説明する。まず、前提として、ユーザにより、プリンタPRT1の電源が投入されると、プリンタ本体PRB及びカスタムネットワークボードCNBが起動して、分散先決定部23が、プリンタコントローラ42から、自己のプリンタPRT1の機種名を取得する。具体的には、分散先決定部23が、送信先IPアドレスとして、自己のプリンタPRT1のIPアドレス「IP1」を指定して、SNMP(Simple Network Management Protocol)で機種名を問い合わせることにより、CPU20が、バスを介してプリンタコントローラ42に機種名を要求し、その応答を受け取ることにより、取得する。
A4. Distributed printing process:
Next, the distributed printing process which is a characteristic part of the present invention will be described in detail. First, as a premise, when the power of the printer PRT1 is turned on by the user, the printer main body PRB and the custom network board CNB are activated, and the distribution destination determining unit 23 receives the model name of its own printer PRT1 from the printer controller 42. To get. Specifically, the distribution destination determination unit 23 designates the IP address “IP1” of its own printer PRT1 as the transmission destination IP address, and inquires about the model name by SNMP (Simple Network Management Protocol). The model name is requested to the printer controller 42 via the bus, and the response is received to obtain the model name.

以上の前提を踏まえた上で、印刷ジョブを、クライアントCLからプリンタPRT1に送信し、そのプリンタPRT1の他、プリンタPRT2〜PRT4で分散印刷を実行し得る場合を例として説明する。   Based on the above assumptions, a case where a print job is transmitted from the client CL to the printer PRT1 and distributed printing can be executed by the printers PRT2 to PRT4 in addition to the printer PRT1 will be described as an example.

分散印刷を行う際には、ユーザは、クライアントCLにおけるプリンタドライバにおいて、印刷プロトコルの設定が、無手順プロトコルに設定されていることを確認した上で、ポート番号の設定を、通常の「9100」から特定の「19100」に変更する。すなわち、本実施例では、ここでのポート番号の設定を切り換えることにより、通常の「9100」では通常印刷を、特定の「19100」では分散印刷を、それぞれ選択することになる。   When performing distributed printing, the user confirms that the print protocol setting is set to the non-procedural protocol in the printer driver in the client CL, and then sets the port number to the normal “9100”. To a specific “19100”. That is, in this embodiment, by switching the setting of the port number, normal printing is selected for the normal “9100” and distributed printing is selected for the specific “19100”.

そこで、ユーザがクライアントCLに、印刷部数「100部」として印刷命令を出すと、クライアントCLでは、アプリケーション13が、印刷部数を示すQT値を「100部」とした印刷ジョブを、無手順プロトコル解釈部12,TCP/IP解釈部11を介して、プリンタPRT1に送信する。このとき、無手順プロトコル解釈部12は、印刷プロトコルである無手順プロトコルに従って、印刷ジョブを含む通信データを送信し、また、TCP/IP解釈部11は、その通信データの送信先IPアドレスとして、プリンタPRT1の「IP1」を指定すると共に、送信先ポート番号として、通常の「9100」ではなく、「19100」を指定する。   Therefore, when the user issues a print command to the client CL with the number of copies “100”, the application 13 in the client CL interprets a print job with a QT value indicating the number of copies “100” as a non-procedural protocol interpretation. The data is transmitted to the printer PRT 1 via the unit 12 and the TCP / IP interpretation unit 11. At this time, the non-procedural protocol interpreting unit 12 transmits communication data including a print job according to the non-procedural protocol that is a printing protocol, and the TCP / IP interpreting unit 11 uses the communication data as a transmission destination IP address. “IP1” of the printer PRT1 is designated, and “19100” is designated as the transmission destination port number instead of the usual “9100”.

これにより、クライアントCLからプリンタPRT1に、図1に示すような通信データDT0が送信される。すなわち、通信データDT0には、送信先IPアドレスとして「IP1」が、送信先ポート番号として「19100」が、QT値(すなわち、印刷部数)として「100部」が、それぞれ記載されている。   As a result, communication data DT0 as shown in FIG. 1 is transmitted from the client CL to the printer PRT1. That is, the communication data DT0 describes “IP1” as the destination IP address, “19100” as the destination port number, and “100 copies” as the QT value (that is, the number of copies to be printed).

図4はプリンタPRT1における主要機能ブロックの処理手順を示すフローチャートである。具体的には、分散処理部25,分散先決定部23及び部数決定部24が実行する処理である。   FIG. 4 is a flowchart showing a processing procedure of main functional blocks in the printer PRT1. Specifically, the processing is executed by the distributed processing unit 25, the distribution destination determining unit 23, and the copy number determining unit 24.

プリンタPRT1では、TCP/IP解釈部21が、通信データDT0に含まれる送信先IPアドレス「IP1」に従って、その通信データを受信し、さらに、その通信データに含まれる送信先ポート番号が「19100」であるので、今度は、無手順プロトコル解釈部22Bではなく、「19100」で送信された通信データを扱う無手順プロトコル解釈部22Aに渡す。   In the printer PRT1, the TCP / IP interpreter 21 receives the communication data according to the destination IP address “IP1” included in the communication data DT0, and the destination port number included in the communication data is “19100”. Therefore, this time, not the non-procedural protocol interpretation unit 22B but the non-procedural protocol interpretation unit 22A that handles the communication data transmitted by “19100”.

一方、分散処理部25は、ポート番号「19100」に、印刷ジョブが着信するまで待機している(ステップS102)。無手順プロトコル解釈部22Aは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取ると、その印刷ジョブのデータを、ポート番号「19100」で待機している分散処理部25に渡す。   On the other hand, the distributed processing unit 25 stands by until a print job arrives at the port number “19100” (step S102). When the non-procedural protocol interpreting unit 22A receives communication data including a print job according to the non-procedural protocol, the non-procedural protocol interpreting unit 22A passes the print job data to the distributed processing unit 25 waiting at the port number “19100”.

分散処理部25は、受信した印刷ジョブデータの先頭から順次受け取って印刷ジョブ格納部31に格納する(ステップS104)。   The distribution processing unit 25 sequentially receives the received print job data from the top and stores it in the print job storage unit 31 (step S104).

図5は一例として印刷ジョブのデータをエディタで開いて示した説明図である。図5に示すとおり、印刷ジョブデータの前側は、ジョブ制御言語部分となっており、後側は印刷対象画像データとなっている。また、ジョブ制御言語部分には、印刷部数情報として、印刷部数を示すQT値が記載されている。図示した例では、"QT=2"となっており、QT値(印刷部数)が「2部」であることを示している。   FIG. 5 is an explanatory diagram showing the print job data opened by an editor as an example. As shown in FIG. 5, the front side of the print job data is a job control language part, and the rear side is image data to be printed. In the job control language portion, a QT value indicating the number of copies is described as the number of copies information. In the illustrated example, “QT = 2”, indicating that the QT value (number of copies to be printed) is “2 copies”.

分散処理部25は、格納した印刷ジョブデータにQT値が見つかるまで(ステップS106)、受信した印刷ジョブデータを印刷ジョブ格納部31に格納し続ける。その後、QT値が見つかると、分散処理部25は、印刷ジョブデータの印刷ジョブ格納部31部への格納を停止し、見つかったQT値から総印刷部数mを取得し(ステップS108)、その総印刷部数mが「1部」であるかどうか判定する(ステップS110)。判定の結果、総印刷部数mが「1部」である場合には、ステップS124の処理に進むが、「2部」以上である場合には、ステップS112の処理に進む。この場合、QT値(印刷部数)として、前述したとおり「100部」が記載されている("QT=100")ので、その「100部」を、分散印刷すべき総印刷部数mとして取得することになり、「2部」以上であるので、ステップS112に進むことになる。   The distributed processing unit 25 continues to store the received print job data in the print job storage unit 31 until a QT value is found in the stored print job data (step S106). Thereafter, when the QT value is found, the distribution processing unit 25 stops storing the print job data in the print job storage unit 31 and acquires the total number of copies m from the found QT value (step S108). It is determined whether the number m of prints is “1” (step S110). As a result of the determination, if the total number of copies m is “1 copy”, the process proceeds to step S124. If it is “2 copies” or more, the process proceeds to step S112. In this case, as described above, “100 copies” is described as the QT value (number of print copies) (“QT = 100”), so that “100 copies” is acquired as the total number of print copies m to be distributed. In other words, since it is “2 copies” or more, the process proceeds to step S112.

次に、ステップS112では、分散処理部25は、印刷ジョブデータの印刷ジョブ格納部31部への格納を再開し、受信した印刷ジョブデータを印刷ジョブ格納部31に格納する。そして、分散処理部25は、受信した印刷ジョブデータが、印刷ジョブ格納部31に入りきったか否かを判定し(ステップS114)、入りきった場合には、さらに、送信されてきた印刷ジョブデータの全てを受信したか否かを判定する(ステップS116)。判定の結果、未だ、印刷ジョブデータの全てを受信していない場合には、ステップS112の処理に戻り、分散処理部25は、引き続き、受信した印刷ジョブデータを印刷ジョブ格納部31に格納し、印刷ジョブデータの全てを受信するまで、ステップS112からステップS116までの処理を繰り返す。その後、印刷ジョブデータの全てを受信するまでの間に、受信した印刷ジョブデータが、印刷ジョブ格納部31に入りきらなかった場合には、後述する第2の分散印刷処理が実行される(ステップS120)。反対に、印刷ジョブデータの全てを受信して、その印刷ジョブデータの全てが印刷ジョブ格納部31に入りきった場合には、後述する第1の分散印刷処理が実行される(ステップS118)。   Next, in step S112, the distribution processing unit 25 resumes storing the print job data in the print job storage unit 31 and stores the received print job data in the print job storage unit 31. Then, the distribution processing unit 25 determines whether or not the received print job data has entered the print job storage unit 31 (step S114). If it has entered, the distributed print job data is further transmitted. It is determined whether or not all have been received (step S116). As a result of the determination, if all the print job data has not been received yet, the process returns to the process of step S112, and the distribution processing unit 25 continues to store the received print job data in the print job storage unit 31, The processing from step S112 to step S116 is repeated until all the print job data is received. Thereafter, if the received print job data does not completely enter the print job storage unit 31 until all the print job data is received, a second distributed printing process to be described later is executed (step). S120). On the other hand, when all of the print job data is received and all of the print job data has entered the print job storage unit 31, a first distributed printing process to be described later is executed (step S118).

即ち、本実施例では、図4に示す広義の分散印刷処理は、その中でさらに、狭義の分散印刷処理である第1の分散印刷処理と第2の分散印刷処理に分かれており、それらの処理は、送信された印刷ジョブデータの全てを印刷ジョブ格納部31に格納したか否かに応じて、選択的に実行される。   That is, in this embodiment, the broadly-distributed distributed printing process shown in FIG. 4 is further divided into a first distributed printing process and a second distributed printing process, which are narrowly-defined distributed printing processes. The processing is selectively executed depending on whether or not all of the transmitted print job data is stored in the print job storage unit 31.

図6は第1の分散印刷処理ルーチンの処理手順を示すフローチャートである。この処理ルーチンが開始されると、分散先決定部23は、まず、共通前処理を実行する(ステップS202)。この共通前処理は、この第1の分散印刷処理においてだけでなく、後述する第2の分散印刷処理においても、共通に実行される前処理である。   FIG. 6 is a flowchart showing the processing procedure of the first distributed printing processing routine. When this processing routine is started, the distribution destination determination unit 23 first executes common preprocessing (step S202). This common pre-process is a pre-process that is commonly executed not only in the first distributed printing process but also in the second distributed printing process described later.

図7は共通前処理の処理手順を示すフローチャートである。この共通前処理では、分散先決定部23は、まず、分散先指定ファイル格納部32に、分散先指定ファイルが格納されているか否かを検出する(ステップS302)。分散先指定ファイルが格納されている場合には、前もって、分散先として使用したいプリンタの候補が指定されていることになる。   FIG. 7 is a flowchart showing a processing procedure of common preprocessing. In this common preprocessing, the distribution destination determination unit 23 first detects whether or not a distribution destination designation file is stored in the distribution destination designation file storage unit 32 (step S302). If the distribution destination designation file is stored, the printer candidates that are to be used as the distribution destination are designated in advance.

図8は分散先指定ファイルの内容を示す説明図である。図8に示すように、分散先指定ファイルには、分散先として使用したいプリンタのIPアドレスが列挙して記載されている。このような分散先指定ファイルは、例えば、サービスマンが、プリンタPRT1を設置して初期設定する際に、そのプリンタPRT1に設定用コンピュータなどを接続して、インストールすることにより、分散先指定ファイル格納部32に格納することができる。また、LANを介してインストールするようにしてもよい。なお、このような分散先指定ファイルを用いる場合、分散先として自己のプリンタPRT1も使用したい場合には、自己プリンタPRT1のIPアドレス「IP1」も、分散先指定ファイルに記載しておく必要がある。   FIG. 8 is an explanatory diagram showing the contents of the distribution destination designation file. As shown in FIG. 8, the distribution destination designation file lists and describes the IP addresses of printers that are desired to be used as the distribution destination. Such a distribution destination designation file is stored in the distribution destination designation file by, for example, connecting and installing a setting computer to the printer PRT1 when the service person installs the printer PRT1 and performs initial setting. It can be stored in the unit 32. Further, it may be installed via a LAN. When such a distribution destination designation file is used, if it is desired to use its own printer PRT1 as the distribution destination, the IP address “IP1” of the self printer PRT1 must also be described in the distribution destination designation file. .

さて、分散先指定ファイル格納部32に分散先指定ファイルが格納されている場合には、分散先決定部23は、その分散先指定ファイルを読み出して、記載されているプリンタのIPアドレスをリストアップする(ステップS304)。   When the distribution destination designation file is stored in the distribution destination designation file storage unit 32, the distribution destination determination unit 23 reads the distribution destination designation file and lists the IP address of the printer described therein. (Step S304).

反対に、分散先指定ファイルが格納されていない場合には、分散先決定部23は、SNMPなどを利用して、LANに対し、ブロードキャストでLANに接続されている各機器のIPアドレスを問い合わせ、応答されたIPアドレスをリストアップする(ステップS306)。   On the other hand, if the distribution destination designation file is not stored, the distribution destination determination unit 23 uses SNMP or the like to inquire the IP address of each device connected to the LAN by broadcast, The responded IP addresses are listed (step S306).

次に、分散先決定部23は、SNMPで、リストアップしたIPアドレスの各機器に対し、その機種名を問い合わせ、応答された機種名に基づいて、自己のプリンタPRT1と同一機種のプリンタを抽出する(ステップS308)。このように、自己のプリンタPRT1と同一機種のプリンタを、分散先プリンタの候補として抽出するのは、分散印刷を行う際に、各分散先プリンタにおいて、印刷ジョブのデータ変換などをすることなく、適正な印刷を行わせるためである。この結果、各分散先プリンタでの印刷物の品質、例えば、解像度やフォントなどを統一することができる。カラー印刷や両面印刷指定も統一して実行する。   Next, the distribution destination determination unit 23 uses SNMP to inquire the model name of each device with the IP address listed, and extracts a printer of the same model as its own printer PRT1 based on the responded model name. (Step S308). As described above, the printer of the same model as the self printer PRT1 is extracted as a candidate for the distribution destination printer when the distributed printing is performed without performing data conversion of the print job in each distribution destination printer. This is to allow proper printing. As a result, it is possible to unify the quality of printed matter, for example, the resolution and font, at each distribution destination printer. Color printing and double-sided printing are also specified and executed.

なお、既述したとおり、分散先決定部23は、プリンタPRT1の電源投入時に、プリンタPRT1の機種名を既に取得しているので、それに基づいて、自己のプリンタPRT1と同一機種のプリンタを抽出する。   As described above, the distribution destination determination unit 23 has already acquired the model name of the printer PRT1 when the printer PRT1 is powered on. Based on this, the distribution destination determination unit 23 extracts a printer of the same model as the printer PRT1 itself. .

また、分散先指定ファイルで指定されているIPアドレスの機器に対しても、機種名の問い合わせを行うのは、次の理由による。すなわち、分散先指定ファイル作成後に、機器の入れ換えなどにより、分散先指定ファイルに記載されていたIPアドレスが、自己のプリンタPRT1と別機種のプリンタに割り振られたり、プリンタ以外の機器に割り振られたりする可能性があるので、自己のプリンタPRT1と同一機種であるかの確認を行うためである。さらに、分散先指定ファイルで指定されているIPアドレスの機器が、実際に電源が投入されていて、ネットワーク経路が到達可能であることの確認も同時に行っている。   Also, the reason for inquiring the model name for the device having the IP address specified in the distribution destination specification file is as follows. In other words, after creating the distribution destination specification file, the IP address described in the distribution destination specification file is allocated to a printer of a different model from the printer PRT1 or to a device other than the printer by replacing the device. This is to check whether the printer is the same model as the printer PRT1 of its own. Furthermore, it is simultaneously confirmed that the device having the IP address specified in the distribution destination specification file is actually turned on and the network path is reachable.

さて、以上のようにして、図7に示す共通前処理が終了したら、図6に戻って、部数決定部24が、次に、図4のステップS108で取得した総印刷部数mを、残存印刷部数rとして設定する(ステップS204)。ここで、残存印刷部数rとは、システム全体で、まだ印刷しなければならない残りの印刷部数のことである。   Now, when the common pre-process shown in FIG. 7 is completed as described above, returning to FIG. 6, the number-of-copies determination unit 24 next uses the total number of copies m acquired in step S108 of FIG. Set as the number of copies r (step S204). Here, the remaining number of printed copies r is the number of remaining printed copies that still need to be printed in the entire system.

次に、分散先決定部23は、前述した共通前処理で抽出したプリンタに対し、SNMPなどで、動作状態の問い合わせを行い、その応答結果に基づいて、次の3つの条件の全てを満たすプリンタを候補プリンタとして選択する(ステップS206)。
1)オンライン状態である。
2)印刷ジョブデータを受信中でない。
3)印刷ジョブデータを印刷中でない。
Next, the distribution destination determination unit 23 makes an inquiry about the operation state to the printer extracted in the common preprocessing described above using SNMP or the like, and based on the response result, the printer that satisfies all the following three conditions: Is selected as a candidate printer (step S206).
1) Online state.
2) Print job data is not being received.
3) The print job data is not being printed.

このうち、1)の「オンライン状態である。」という条件を課すことによって、用紙切れやトナー切れ(あるいはインク切れ)、あるいは紙詰まりなど、エラーを発生していて、すぐには印刷できないプリンタを、分散先プリンタの候補から排除することができる。また、2)の「印刷ジョブデータを受信中でない。」とは、対象となるプリンタが、プリンタPRT1から送信された印刷ジョブデータもちろんのこと、他の機器(コンピュータなど)から送信された印刷ジョブデータも受信している最中でないことを言い、また、3)の「印刷ジョブデータを印刷中でない。」とは、受信した印刷ジョブデータを印刷している最中ではないことを言う。オンライン状態にあるプリンタであっても、印刷ジョブデータを受信中または印刷中のプリンタは、印刷中や、印刷完了時に、紙詰まりや、用紙切れ,トナー切れなどのエラーを発生し得るので、これら2),3)の条件を課すことによって、そのような可能性のあるプリンタを、分散先プリンタの候補から排除することができる。   Of these, by imposing the condition “1)“ Online ”, printers that have failed such as out of paper, out of toner (or out of ink), or paper jam and cannot be printed immediately. And can be excluded from the candidates for the distribution destination printer. In addition, “print job data is not being received” in 2) means that the target printer print data transmitted from another device (such as a computer) as well as print job data transmitted from the printer PRT1. “The print job data is not being printed” in 3) means that the received print job data is not being printed. Even if the printer is online, printers that are receiving or printing print job data can generate errors such as paper jams, out of paper, or out of toner during printing or when printing is complete. By imposing the conditions 2) and 3), it is possible to exclude a printer having such a possibility from the candidates for the distribution destination printer.

なお、共通前処理で抽出したプリンタの中に自己プリンタPRT1が含まれている場合、その自己プリンタPRT1についても、上記3つの条件の全てを満たせば、候補プリンタとして選択されることになる。   If the printer extracted by the common preprocessing includes the self printer PRT1, the self printer PRT1 is also selected as a candidate printer if all of the above three conditions are satisfied.

次に、分散先決定部23は、上記した候補プリンタとして、1台以上のプリンタを選択したか否かを判定し(ステップS208)、選択されている場合には、後述するタイマ(図示せず)をリセットする(ステップS210)。そして、部数決定部24は、選択されている候補プリンタの台数nを取得し(ステップS212)、残存印刷部数rが、候補プリンタの台数nより多いか否かを判定する(ステップS214)。残存印刷部数rの方が多い場合には、分散先決定部23は、そのn台の候補プリンタ全てを分散先プリンタとして決定する(ステップ216)。前述したとおり、図1中に示した例では、分散先プリンタとして、自己のプリンタPRT1と、他のプリンタPRT2〜PRT4の合計4台のプリンタを決定している。   Next, the distribution destination determination unit 23 determines whether or not one or more printers have been selected as the candidate printers described above (step S208). If selected, a timer (not shown) described later is selected. ) Is reset (step S210). Then, the copy number determination unit 24 acquires the number n of selected candidate printers (step S212), and determines whether or not the remaining print copy number r is larger than the number n of candidate printers (step S214). When the remaining number of copies r is larger, the distribution destination determination unit 23 determines all the n candidate printers as distribution destination printers (step 216). As described above, in the example shown in FIG. 1, a total of four printers, that is, the own printer PRT1 and the other printers PRT2 to PRT4, are determined as the distribution destination printers.

第1の分散印刷処理では、決定した各分散先プリンタにおいて、それぞれ、1部ずつ分散印刷を行うようにしている。そこで、分散処理部25は、印刷ジョブ格納部31に格納している印刷ジョブデータのうち、QT値のみを「1部」に変更して、その印刷ジョブデータを各分散先プリンタにそれぞれ送信する(ステップS218)。従って、例えば、図1中に示した例では、印刷ジョブデータに記載されている"QT=100"を"QT=1"に変更して、その印刷ジョブデータを4台の分散先プリンタに送信することになる。また、この場合、クライアントCLから送信された印刷ジョブデータの全てが印刷ジョブ格納部31に入りきっているので、その印刷ジョブデータの全てが各分散先プリンタにそれぞれ送信されることになる。   In the first distributed printing process, one copy of each determined destination printer is distributed. Therefore, the distribution processing unit 25 changes only the QT value of the print job data stored in the print job storage unit 31 to “1 copy” and transmits the print job data to each distribution destination printer. (Step S218). Therefore, for example, in the example shown in FIG. 1, “QT = 100” described in the print job data is changed to “QT = 1”, and the print job data is transmitted to four distribution destination printers. Will do. In this case, since all the print job data transmitted from the client CL is completely stored in the print job storage unit 31, all the print job data is transmitted to each distribution destination printer.

こうして、分散処理部25は、受信した印刷ジョブを、QT値のみ「1部」に変更して、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、各分散先プリンタにそれぞれ送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、各分散先プリンタのIPアドレスをそれぞれ指定すると共に、送信先ポート番号としては、受信した際のポート番号「19100」ではなく、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。   In this way, the distribution processing unit 25 changes the received print job to “1 copy” only for the QT value, and transmits it to each distribution destination printer via the non-procedural protocol interpretation unit 22B and the TCP / IP interpretation unit 21, respectively. Will do. At this time, the non-procedural protocol interpretation unit 22B transmits communication data including the print job in accordance with the non-procedural protocol that is a printing protocol. The TCP / IP interpreter 21 designates the IP address of each distribution destination printer as the destination IP address of the communication data, and the destination port number is the port number “19100” when received. Instead, the boat number “9100” normally assigned by the non-procedural protocol is designated.

例えば、図1中に示した例では、分散先プリンタとしてプリンタPRT1〜PRT4が決定されているため、各々の分散先プリンタに送信される通信データDT1〜DT4では、送信先IPアドレス,送信先ポート番号,QT値は以下のように指定される。   For example, in the example shown in FIG. 1, since the printers PRT1 to PRT4 are determined as the distribution destination printers, in the communication data DT1 to DT4 transmitted to each distribution destination printer, the transmission destination IP address and the transmission destination port. The number and QT value are specified as follows.

プリンタPRT1への通信データDT1→「IP1」,「9100」,「1部」
プリンタPRT2への通信データDT2→「IP2」,「9100」,「1部」
プリンタPRT3への通信データDT3→「IP3」,「9100」,「1部」
プリンタPRT2への通信データDT4→「IP4」,「9100」,「1部」
Communication data DT1 to the printer PRT1 → “IP1”, “9100”, “1 copy”
Communication data DT2 to printer PRT2 → “IP2”, “9100”, “1 copy”
Communication data DT3 to printer PRT3 → “IP3”, “9100”, “1 copy”
Communication data DT4 to the printer PRT2 → “IP4”, “9100”, “1 copy”

分散先プリンタの1つであるプリンタPRT2では、図3に示すように、TCP/IP解釈部51が、通信データDT2に含まれる送信先IPアドレス「IP2」に従って、その通信データDT2を受信し、さらに、その通信データDT2に含まれる送信先ポート番号が「9100」であるので、無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部52は、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ53に渡す。プリンタコントローラ53は、印刷ジョブのデータに含まれるQT値から印刷部数として「1部」を読み取り、指定されているその部数、即ち、「1部」だけ、プリンタエンジン54に、印刷ジョブに従った印刷を実行させる。   In the printer PRT2, which is one of the distribution destination printers, as shown in FIG. 3, the TCP / IP interpreter 51 receives the communication data DT2 according to the destination IP address “IP2” included in the communication data DT2, Further, since the transmission destination port number included in the communication data DT2 is “9100”, it is passed to the non-procedural protocol interpretation unit 22B. The non-procedural protocol interpretation unit 52 receives communication data including a print job according to the non-procedural protocol, and passes the print job to the printer controller 53. The printer controller 53 reads “one copy” as the number of copies from the QT value included in the print job data, and sends the specified number of copies, ie, “one copy” to the printer engine 54 according to the print job. Start printing.

他の分散先プリンタであるプリンタPRT3,PRT4においても、同様にして、指定された印刷部数「1部」だけ、印刷ジョブに従った印刷が実行される。   Similarly, the printers PRT3 and PRT4, which are other distribution destination printers, execute printing in accordance with the print job for the designated number of copies “1”.

また、分散先プリンタである自己のプリンタPRT1では、TCP/IP解釈部21が、送信した通信データDT1を、その通信データDT1に含まれる送信先IPアドレス「IP1」に基づいて受信する。さらに、TCP/IP解釈部21は、その通信データDT1に含まれる送信先ポート番号が「9100」であるので、通常印刷の場合と同様に、「9100」で送信された通信データを扱う無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数として「1部」を読み取り、指定されているその部数「1部」だけ、プリンタエンジン41に、印刷ジョブに従った印刷を実行させる。   In the self printer PRT1 that is the distribution destination printer, the TCP / IP interpreter 21 receives the transmitted communication data DT1 based on the destination IP address “IP1” included in the communication data DT1. Further, since the transmission destination port number included in the communication data DT1 is “9100”, the TCP / IP interpretation unit 21 performs the non-procedure handling the communication data transmitted with “9100” as in the case of normal printing. It is passed to the protocol interpretation unit 22B. The non-procedural protocol interpretation unit 22B receives communication data including a print job according to the non-procedural protocol, and passes the print job to the printer controller 42. The printer controller 42 reads “one copy” as the number of copies from the QT value included in the print job data, and executes printing according to the print job to the printer engine 41 by the designated number of copies “1”. Let

以上のようにして、分散先プリンタであるプリンタPRT1〜PRT4では、それぞれ、「1部」ずつの印刷が実行されることになり、システム全体で、合計「4部」の分散印刷が実行されることになる。すなわち、今回、システム全体で印刷された部数は、ステップS216で決定された分散先プリンタの台数、すなわち、最終的な候補プリンタの台数nと等しくなる。   As described above, the printers PRT1 to PRT4, which are the distribution destination printers, each execute “one copy” printing, and the total “4 copies” distributed printing is executed in the entire system. It will be. That is, the number of copies printed by the entire system this time is equal to the number of distribution destination printers determined in step S216, that is, the final number n of candidate printers.

図6に戻って、次に、部数決定部24は、現在の残存印刷部数rから、今回印刷された部数nを減じて、その差を新たな残存印刷部数rとして設定する(ステップS220)。そして、部数決定部24は、その残存印刷部数rが「0部」であるか否かを判定する(ステップS222)。「0部」でない場合には、ステップS206に戻って、分散先決定部23は、共通前処理で抽出したプリンタに対し、再度、動作状態の問い合わせを行い、その応答結果に基づいて、上記条件の全てを満たすプリンタを候補プリンタとして選択する。   Returning to FIG. 6, next, the number of copies determination unit 24 subtracts the number n of currently printed copies from the current number of remaining printed copies r and sets the difference as a new number of remaining printed copies r (step S220). Then, the copy number determination unit 24 determines whether or not the remaining print copy number r is “0” (step S222). If it is not “0 copy”, the process returns to step S206, and the distribution destination determination unit 23 makes an inquiry about the operation state again to the printer extracted in the common preprocessing, and based on the response result, the above condition Are selected as candidate printers.

ところで、ステップS216で決定された分散先プリンタは、ステップS218における印刷ジョブデータの送信からほとんど時間が経っていない場合には、印刷ジョブデータを受信中または印刷中である可能性が高いので、そのようなときに、分散先決定部23が、ステップS206において、再度、候補プリンタの選択を行ったとしても、候補プリンタとして1台のプリンタも選択していない可能性がある。   By the way, the distribution destination printer determined in step S216 is likely to be receiving or printing the print job data when almost no time has passed since the transmission of the print job data in step S218. In such a case, even if the distribution destination determination unit 23 selects a candidate printer again in step S206, there is a possibility that one printer is not selected as a candidate printer.

そこで、そのように、分散先決定部23が、1台のプリンタも選択していない場合には(ステップS208)、まず、タイマ(図示せず)の計時動作を開始させ(ステップS226)、その後、例えば、5秒などの一定時間待機する(ステップS228)。そして、分散先決定部23は、タイマによる計時開始から、例えば、5分など所定時間経過したか否かを判定し(ステップS230)、未だその時間を経過していなければ、ステップS206に戻って、候補プリンタの選択を実行する。こうして、分散先決定部23は、候補プリンタとして1台以上のプリンタを選択するまで、同様の処理を繰り返す。なお、この間、タイマの計時動作は継続させる(ステップS226)。このように、所定の期間、上記の処理を繰り返すことにより、その期間中に、受信中や印刷中であったプリンタが印刷を完了して、再度の印刷を実行することが可能となった場合や、または、用紙切れであったプリンタに用紙が補充されて、オンライン状態になったり、電源がオフ状態であったプリンタに電源が投入され、電源オンの状態になったりして、印刷を実行することが可能となった場合には、候補プリンタとしてそれらのプリンタを選択することが可能となる   Therefore, when the distribution destination determination unit 23 has not selected one printer as described above (step S208), first, the timer (not shown) starts time counting operation (step S226), and thereafter For example, it waits for a fixed time such as 5 seconds (step S228). Then, the distribution destination determination unit 23 determines whether or not a predetermined time such as 5 minutes has elapsed since the start of time measurement by the timer (step S230), and if that time has not yet elapsed, the process returns to step S206. The candidate printer is selected. Thus, the distribution destination determination unit 23 repeats the same processing until one or more printers are selected as candidate printers. During this time, the timer operation continues (step S226). As described above, when the above process is repeated for a predetermined period, the printer that is receiving or printing during the period completes printing and can perform printing again. Or, the printer that has run out of paper is replenished with paper and goes online, or the printer that was turned off is turned on and turned on, and printing is performed. Can be selected as candidate printers.

しかし、タイマによる計時開始から所定時間経過しても、候補プリンタとして1台のプリンタも選択できない場合には、分散先決定部23は、タイマをリセットした上で(ステップS232)、自己のプリンタPRT1を、無条件で分散先プリンタとして決定する(ステップS234)。   However, if one printer cannot be selected as a candidate printer even after a predetermined time has elapsed from the start of timing by the timer, the distribution destination determination unit 23 resets the timer (step S232) and then determines its own printer PRT1. Is unconditionally determined as a destination printer (step S234).

次に、分散処理部25は、印刷ジョブ格納部31に格納している印刷ジョブデータのうち、QT値を、残存印刷部数である「r部」に変更して、その印刷ジョブデータを分散先プリンタである自己プリンタPRT1に送信する(ステップS236)。   Next, the distribution processing unit 25 changes the QT value of the print job data stored in the print job storage unit 31 to “r copy”, which is the number of remaining prints, and distributes the print job data to the distribution destination. The data is transmitted to the self printer PRT1, which is a printer (step S236).

こうして、分散処理部25は、受信した印刷ジョブを、QT値のみを「r部」に変更して、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、分散先プリンタである自己プリンタPRT1に送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、自己プリンタPRT1のIPアドレス「IP1」を指定すると共に、送信先ポート番号としては、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。   In this way, the distributed processing unit 25 changes the received print job only to the “r copy” of the QT value, and passes through the non-procedural protocol interpreting unit 22B and the TCP / IP interpreting unit 21 to the self-printing destination printer. It is transmitted to the printer PRT1. At this time, the non-procedural protocol interpretation unit 22B transmits communication data including the print job in accordance with the non-procedural protocol that is a printing protocol. Further, the TCP / IP interpreter 21 designates the IP address “IP1” of the self-printer PRT1 as the destination IP address of the communication data, and the port number “normally assigned by the non-procedural protocol as the destination port number”. 9100 "is designated.

また、分散先プリンタである自己のプリンタPRT1では、TCP/IP解釈部21が、送信した通信データDT1を、その通信データDT1に含まれる送信先IPアドレス「IP1」に基づいて受信する。さらに、TCP/IP解釈部21は、その通信データDT1に含まれる送信先ポート番号が「9100」であるので、通常印刷の場合と同様に、「9100」で送信された通信データを扱う無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数として「r部」を読み取り、指定されているその部数「r部」だけ、プリンタエンジン41に、印刷ジョブに従った印刷を実行させる。   In the self printer PRT1 that is the distribution destination printer, the TCP / IP interpreter 21 receives the transmitted communication data DT1 based on the destination IP address “IP1” included in the communication data DT1. Further, since the transmission destination port number included in the communication data DT1 is “9100”, the TCP / IP interpretation unit 21 performs the non-procedure handling the communication data transmitted with “9100” as in the case of normal printing. It is passed to the protocol interpretation unit 22B. The non-procedural protocol interpretation unit 22B receives communication data including a print job according to the non-procedural protocol, and passes the print job to the printer controller 42. The printer controller 42 reads “r copies” as the number of copies from the QT value included in the print job data, and executes printing according to the print job to the printer engine 41 for the designated number of copies “r copies”. Let

以上のようにして、所定時間中に候補プリンタとして1台のプリンタも選択されない場合には、分散先プリンタとして自己プリンタPRT1を決定し、その自己プリンタPRTにおいて、残っている全ての印刷部数(即ち、残存印刷部数r)分の、印刷を実行して、CPU20は、図6に示す第1の分散印刷処理ルーチンを終了する。   As described above, when one printer is not selected as a candidate printer within a predetermined time, the self-printer PRT1 is determined as the distribution destination printer, and all the remaining print copies (that is, the self-printer PRT) (that is, The CPU 20 executes printing for the remaining number of copies r), and the CPU 20 ends the first distributed printing processing routine shown in FIG.

一方、ステップS206からステップS222までの処理が繰り返されて、システム全体で印刷された累積の部数が、総印刷部数mに近づくと、残存印刷部数rも少なくなり、ステップS214において、ついには、残存印刷部数rが、候補プリンタの台数nより少なくなる場合がある。その場合には、全ての候補プリンタを分散先プリンタとして決定する必要はなく、残存印刷部数r分の台数だけ、分散先プリンタを決定すればよいので、分散先決定部23は、その残存印刷部数rを候補プリンタの台数nとして設定し(ステップS224)、その残存印刷部数r分の台数に、候補プリンタを絞り込む。その上で、分散先決定部23は、新たに設定したn(=r)台の候補プリンタを分散先プリンタとして決定する(ステップ216)。   On the other hand, when the processing from step S206 to step S222 is repeated and the cumulative number of copies printed in the entire system approaches the total number of copies to be printed m, the remaining number of copies to be printed r is also reduced. The number of copies r may be smaller than the number n of candidate printers. In this case, it is not necessary to determine all candidate printers as distribution destination printers, and it is only necessary to determine the distribution destination printers by the number of remaining printing copies r, so that the distribution destination determining unit 23 determines the number of remaining printing copies. r is set as the number n of candidate printers (step S224), and candidate printers are narrowed down to the number of remaining print copies r. Then, the distribution destination determination unit 23 determines the newly set n (= r) candidate printers as distribution destination printers (step 216).

そして、分散処理部25は、前述したとおり、印刷ジョブ格納部31に格納している印刷ジョブデータのうち、QT値のみを「1部」に変更して、その印刷ジョブデータを各分散先プリンタにそれぞれ送信する(ステップS218)。そして、部数決定部24も、前述したとおり、現在の残存印刷部数rから、今回印刷された部数nを減じて、その差を新たな残存印刷部数rとして設定し(ステップS220)、その残存印刷部数rが「0部」であるか否かを判定する(ステップS222)。しかし、上記の如く、今回印刷された部数nは、残存印刷部数rと等しいので(n=r)、残存印刷部数rから部数nを減じて得られる差は「0」となって、新たに設定される残存印刷部数rは「0部」となるため、部数決定部24は、残存印刷部数rが「0部」であると判定する。   Then, as described above, the distribution processing unit 25 changes only the QT value from the print job data stored in the print job storage unit 31 to “1 copy” and transfers the print job data to each distribution destination printer. (Step S218). Then, as described above, the number of copies determination unit 24 also subtracts the number n of currently printed copies from the current number of remaining printed copies r and sets the difference as a new number of remaining printed copies r (step S220). It is determined whether or not the number of copies r is “0” (step S222). However, as described above, since the number n of copies printed this time is equal to the number r of remaining prints (n = r), the difference obtained by subtracting the number n of copies from the number r of remaining prints is “0”, which is newly added. Since the set number of remaining prints r is “0”, the number of copies determination unit 24 determines that the number of remaining prints r is “0”.

こうして、システム全体において、各分散先プリンタで印刷された累積の印刷部数は、「m部」となり、総印刷部数mを全て印刷したことになるので、CPU20は、図6に示す第1の分散印刷処理ルーチンを終了する。   Thus, in the entire system, the cumulative number of copies printed by each distribution destination printer is “m copies”, and the total number of print copies m has been printed, so the CPU 20 performs the first distribution shown in FIG. The print processing routine ends.

以上のようにして、第1の分散印刷処理ルーチンを終了すると、CPU20は、図4の処理に戻り、図4の一連の処理も終了する。   When the first distributed printing processing routine is completed as described above, the CPU 20 returns to the processing in FIG. 4 and the series of processing in FIG. 4 is also ended.

図9は、第2の分散印刷処理ルーチンの処理手順を示すフローチャートである。前述したとおり、クライアントCLから送信された印刷ジョブデータの全てを受信するまでの間に、受信した印刷ジョブデータが、印刷ジョブ格納部31に入りきらなかった場合には、第2の分散印刷処理が実行される(図1のステップS120)。そこで、図9に示す処理ルーチンが開始されると、分散先決定部23は、第1の分散印刷処理と同様に、まず、共通前処理を実行する(ステップS202)。共通前処理については、図7で述べた内容と同じであるので、その説明は省略する。   FIG. 9 is a flowchart showing the processing procedure of the second distributed printing processing routine. As described above, if the received print job data does not fully enter the print job storage unit 31 until all the print job data transmitted from the client CL is received, the second distributed printing process is performed. Is executed (step S120 in FIG. 1). Therefore, when the processing routine shown in FIG. 9 is started, the distribution destination determination unit 23 first executes the common pre-process as in the first distributed printing process (step S202). The common pre-processing is the same as that described with reference to FIG.

次に、分散先決定部23は、共通前処理で抽出したプリンタに対し、SNMPなどで、動作状態の問い合わせを行い、その応答結果に基づいて、オンライン状態にあるプリンタを候補プリンタとして選択する(ステップS402)。これにより、用紙切れなど、エラーを起こしていて、すぐには印刷できないプリンタを、分散先プリンタの候補から排除することができる。   Next, the distribution destination determination unit 23 makes an inquiry about the operation state to the printer extracted by the common preprocessing by SNMP or the like, and selects a printer in the online state as a candidate printer based on the response result (see FIG. Step S402). As a result, printers that have caused an error such as out of paper and cannot be printed immediately can be excluded from the candidates for the distribution destination printer.

なお、共通前処理で抽出したプリンタの中に自己プリンタPRT1が含まれている場合、その自己プリンタPRT1についても、オンライン状態であれば、候補プリンタとして選択されることになる。   If the printer extracted by the common preprocessing includes the self printer PRT1, the self printer PRT1 is also selected as a candidate printer if it is online.

次に、分散先決定部23は、上記した候補プリンタとして、1台以上のプリンタを選択したか否かを判定し(ステップS404)、未だ1台のプリンタも選択していない場合には、自己のプリンタPRT1を、無条件で候補プリンタとして選択する(ステップS414)。   Next, the distribution destination determination unit 23 determines whether or not one or more printers have been selected as the candidate printers described above (step S404). Printer PRT1 is unconditionally selected as a candidate printer (step S414).

こうして、分散先決定部23は、以上のようにして選択したプリンタを、分散先プリンタとして決定する(ステップS416)。前述したとおり、図1中に示した例では、分散先プリンタとして、自己のプリンタPRT1と、他のプリンタPRT2〜PRT4の合計4台のプリンタを決定している。   In this way, the distribution destination determination unit 23 determines the printer selected as described above as the distribution destination printer (step S416). As described above, in the example shown in FIG. 1, a total of four printers, that is, the own printer PRT1 and the other printers PRT2 to PRT4, are determined as the distribution destination printers.

第2の分散印刷処理では、決定した各分散先プリンタにおいて、それぞれ、割り当てた分散部数だけ、分散印刷を行うようにしている。そこで、部数決定部24は、分散先プリンタの台数sと、ステップS108で取得した総印刷部数mとに基づいて、各分散先プリンタに割り当てるべき分散部数を決定する。本実施例では、各分散先プリンタに対し、できる限り均等に割り当てられるように、かつ、その総計が総印刷部数mと等しくなるように、各々の分散部数を決定している。   In the second distributed printing process, distributed printing is performed by the determined number of distributed copies in each determined distribution destination printer. Therefore, the copy number determination unit 24 determines the number of distribution copies to be allocated to each distribution destination printer, based on the number s of distribution destination printers and the total number of copies m acquired in step S108. In this embodiment, the number of distribution copies is determined so that the distribution destination printers are allocated as evenly as possible, and the total is equal to the total number of copies m.

従って、前述したとおり、図1中に示した例では、分散先プリンタの台数が4台で、総印刷部数は「100部」であるので、各分散先プリンタに割り当てるべき分散部数を、各々、「25部」ずつと決定することになる。   Therefore, as described above, in the example shown in FIG. 1, since the number of distribution destination printers is four and the total number of copies is “100”, the number of distribution copies to be assigned to each distribution destination printer is set as follows. “25 copies” will be determined.

但し、分散先プリンタの台数や総印刷部数の値によっては、当然に、各分散先プリンタで、分散部数が均等にならない場合も生じる。従って、そのことを踏まえた上で、具体的には、次のようにして分散部数の決定を行っている。   However, depending on the number of distribution destination printers and the value of the total number of print copies, naturally, the distribution copy number may not be equal in each distribution destination printer. Therefore, based on this fact, specifically, the number of copies is determined as follows.

すなわち、分散先プリンタの台数をm台、総印刷部数をm部として、s台の分散先プリンタのうち、x番目のプリンタに割り当てるべき分散部数をaxとすると、その分散部数axは式(1)に従って決定する。   That is, if the number of distribution destination printers is m, the total number of copies is m, and the distribution number to be assigned to the xth printer among the s distribution destination printers is ax, the distribution number ax is expressed by the following equation (1). )

Figure 0004613653
Figure 0004613653

なお、式(1)において、右辺2項目の"(...≦...)?1:0"は、カッコ内の不等式を満足する場合には、その項の値を1とし、不等式を満足しない場合には、その項の値を0とするものである。   In equation (1), “(... ≦ ...)? 1: 0” in the two items on the right-hand side satisfies the inequality in parentheses, the value of the term is 1, and the inequality is If not satisfied, the value of the term is set to zero.

従って、例えば、分散先プリンタの台数sが4台(s=4)、総印刷部数mが102部(m=102)の場合、式(1)に従うと、各分散先プリンタへの分散部数axは、それぞれ、次のとおりとなる。
1番目のプリンタ:a1=25+1=26部
2番目のプリンタ:a2=25+1=26部
3番目のプリンタ:a3=25+0=25部
4番目のプリンタ:a4=25+0=25部
Therefore, for example, when the number of distribution destination printers s is 4 (s = 4) and the total number of copies m is 102 (m = 102), the number of distribution copies ax to each distribution destination printer according to equation (1). Are as follows.
First printer: a1 = 25 + 1 = 26 copies Second printer: a2 = 25 + 1 = 26 copies Third printer: a3 = 25 + 0 = 25 copies Fourth printer: a4 = 25 + 0 = 25 copies

次に、分散処理部25は、印刷ジョブ格納部31に格納している印刷ジョブデータのうち、QT値のみを、各分散先プリンタ毎に、その分散先プリンタに割り当てた分散部数axの値に変更して、その印刷ジョブデータを各分散先プリンタにそれぞれ送信する(ステップS410)。従って、例えば、図1中に示した例では、各分散先プリンタに割り当てた分散部数は各々「25部」であるので、印刷ジョブデータに記載されている"QT=100"を"QT=25"に変更して、その印刷ジョブデータを4台の分散先プリンタに送信することになる。この場合、クライアントCLから送信された印刷ジョブデータの全てが印刷ジョブ格納部31に入りきっていないので、送信された印刷ジョブデータのうち、印刷ジョブ格納部31に入りきっている分の印刷ジョブデータが、各分散先プリンタにそれぞれ送信されることになる。こうして、印刷ジョブ格納部31に格納されていた印刷ジョブデータが送信されることにより、その分の格納領域が空くので、印刷ジョブ格納部31への新たなデータの格納が可能となる。そこで、分散処理部25は、受信した印刷ジョブデータの印刷ジョブ格納部31への格納を再開し、それ以降に受信し、印刷ジョブ格納部31に一旦格納した印刷ジョブデータも、順次、各分散先プリンタにそれぞれ送信する(ステップS412)。   Next, the distribution processing unit 25 sets only the QT value of the print job data stored in the print job storage unit 31 to the value of the number of distributed copies ax assigned to the distribution destination printer for each distribution destination printer. Then, the print job data is transmitted to each distribution destination printer (step S410). Therefore, for example, in the example shown in FIG. 1, since the number of distribution copies allocated to each distribution destination printer is “25 copies”, “QT = 100” described in the print job data is changed to “QT = 25”. The print job data is transmitted to four distribution destination printers. In this case, since all of the print job data transmitted from the client CL does not completely enter the print job storage unit 31, the print job corresponding to the print job storage unit 31 out of the transmitted print job data. Data is transmitted to each distribution destination printer. In this way, when the print job data stored in the print job storage unit 31 is transmitted, a storage area corresponding to the print job data is freed, so that new data can be stored in the print job storage unit 31. Therefore, the distribution processing unit 25 resumes storing the received print job data in the print job storage unit 31, and the print job data received after that and temporarily stored in the print job storage unit 31 is also sequentially distributed. Each is transmitted to the destination printer (step S412).

こうして、分散処理部25は、受信した印刷ジョブを、QT値のみ変更して、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、各分散先プリンタにそれぞれ送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、各分散先プリンタのIPアドレスをそれぞれ指定すると共に、送信先ポート番号としては、受信した際のポート番号「19100」ではなく、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。   In this way, the distributed processing unit 25 changes the received print job only to the QT value and transmits it to each distribution destination printer via the non-procedural protocol interpreting unit 22B and the TCP / IP interpreting unit 21, respectively. At this time, the non-procedural protocol interpretation unit 22B transmits communication data including the print job in accordance with the non-procedural protocol that is a printing protocol. The TCP / IP interpreter 21 designates the IP address of each distribution destination printer as the destination IP address of the communication data, and the destination port number is the port number “19100” when received. Instead, the boat number “9100” normally assigned by the non-procedural protocol is designated.

例えば、図1中に示した例では、分散先プリンタとしてプリンタPRT1〜PRT4が決定されているため、各々の分散先プリンタに送信される通信データDT1〜DT4では、送信先IPアドレス,送信先ポート番号,QT値は以下のように指定される。   For example, in the example shown in FIG. 1, since the printers PRT1 to PRT4 are determined as the distribution destination printers, in the communication data DT1 to DT4 transmitted to each distribution destination printer, the transmission destination IP address and the transmission destination port. The number and QT value are specified as follows.

プリンタPRT1への通信データDT1→「IP1」,「9100」,「25部」
プリンタPRT2への通信データDT2→「IP2」,「9100」,「25部」
プリンタPRT3への通信データDT3→「IP3」,「9100」,「25部」
プリンタPRT2への通信データDT4→「IP4」,「9100」,「25部」
Communication data DT1 to the printer PRT1 → “IP1”, “9100”, “25 copies”
Communication data DT2 to the printer PRT2 → “IP2”, “9100”, “25 copies”
Communication data DT3 to printer PRT3 → “IP3”, “9100”, “25 copies”
Communication data DT4 to the printer PRT2 → “IP4”, “9100”, “25 copies”

分散先プリンタであるプリンタPRT1〜PRT4における動作は、前述した第1の分散処理の場合とほぼ同様であるので、説明は省略する。ただ異なる点は、プリンタコントローラが、印刷ジョブのデータに含まれるQT値から印刷部数として「25部」を読み取り、指定されているその部数「25部」だけ、プリンタエンジンに、印刷ジョブに従った印刷を実行させる点である。   Since the operations of the printers PRT1 to PRT4, which are the distribution destination printers, are substantially the same as those in the case of the first distribution process described above, description thereof is omitted. The only difference is that the printer controller reads “25 copies” as the number of copies from the QT value included in the print job data, and the specified number of copies “25 copies” is sent to the printer engine according to the print job. It is a point to execute printing.

以上のようにして、分散先プリンタであるプリンタPRT1〜PRT4では、それぞれ、「25部」ずつの印刷が実行されることになり、システム全体で、合計「100部」の分散印刷が実行されることになる。   As described above, each of the printers PRT1 to PRT4, which are the distribution destination printers, performs printing of “25 copies”, and the total system performs distributed printing of “100 copies”. It will be.

こうして、ステップS406で決定した分散先プリンタにおいて、ステップS408で決定した各分散先プリンタに対する分散部数axだけ、分散印刷を実行させることにより、システム全体で、総印刷部数mを全て印刷したことになるので、CPU20は、図9に示す第2の分散印刷処理ルーチンを終了し、図4の処理に戻り、図4の一連の処理も終了する。   In this way, the distribution destination printer determined in step S406 executes distributed printing for the distribution destination number ax for each distribution destination printer determined in step S408, so that the total number of copies m is printed in the entire system. Therefore, the CPU 20 ends the second distributed printing processing routine shown in FIG. 9, returns to the processing in FIG. 4, and ends the series of processing in FIG.

さて、一方、図4において、分散処理部25は、前述したステップS106で、印刷ジョブ格納部31に格納した印刷ジョブデータにQT値が見つからなければ、次に、分散処理部25は、格納している印刷ジョブデータにジョブ制御言語部分が見つかっており、かつ、そのジョブ制御言語部分の終端が見つかっていないかどうかを判定する(ステップS122)。   On the other hand, in FIG. 4, if the QT value is not found in the print job data stored in the print job storage unit 31 in step S106 described above, the distribution processing unit 25 stores the QT value. It is determined whether or not the job control language part is found in the print job data and the end of the job control language part is not found (step S122).

その結果、格納している印刷ジョブデータにジョブ制御言語部分が見つかっていない場合は、印刷ジョブデータにジョブ制御言語部分自体がないものと判断でき、また、ジョブ制御言語部分は見つかっているが、QT値が見つかることなく、すでに、その終端が見つかっている場合は、ジョブ制御言語部分にQT値がないものと判断できる。従って、これらの場合には、もはや、受信している印刷ジョブデータ内にQT値を見つける可能性がないので、分散処理部25は、次のステップS124の処理に進む。   As a result, if the job control language part is not found in the stored print job data, it can be determined that there is no job control language part in the print job data, and the job control language part is found, If the end is already found without finding the QT value, it can be determined that there is no QT value in the job control language part. Therefore, in these cases, there is no possibility of finding the QT value in the received print job data any more, so the distribution processing unit 25 proceeds to the next step S124.

また、前述したとおり、総印刷部数mが「1部」である場合(ステップS110)も、同様に、ステップS124の処理に進む。   As described above, when the total number of copies m is “1” (step S110), the process proceeds to step S124 in the same manner.

ステップS124では、分散先決定部23が、自己のプリンタPRT1のみを分散先プリンタとして決定する。すなわち、QT値がなく、総印刷部数mが不明な場合や、QT値があっても、総印刷部数mが「1部」の場合には、実質的に分散印刷を行うことは不可能であるため、自己のプリンタPRT1のみの通常の印刷に切り換えるのである。そして、分散処理部25は、印刷ジョブ格納部31に格納している印刷ジョブデータをそのまま、分散先プリンタとして決定した自己のプリンタPRT1に送信する(ステップS126)。その後、分散処理部25は、それ以降に受信した印刷ジョブデータも、分散先プリンタである自己のプリンタPRT1に送信する(ステップS128)。   In step S124, the distribution destination determination unit 23 determines only its own printer PRT1 as the distribution destination printer. That is, if there is no QT value and the total number of copies m is unknown, or even if there is a QT value, if the total number of copies m is “1”, it is substantially impossible to perform distributed printing. Therefore, it is switched to normal printing using only its own printer PRT1. Then, the distribution processing unit 25 transmits the print job data stored in the print job storage unit 31 as it is to its own printer PRT1 determined as the distribution destination printer (step S126). Thereafter, the distribution processing unit 25 also transmits the print job data received thereafter to its own printer PRT1, which is the distribution destination printer (step S128).

こうして、分散処理部25は、受信した印刷ジョブを、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、自己のプリンタPRT1に送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信すると共に、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、自己プリンタPRT1のIPアドレス「IP1」を指定すると共に、送信先ポート番号としては、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。   Thus, the distributed processing unit 25 transmits the received print job to its own printer PRT1 via the non-procedural protocol interpretation unit 22B and the TCP / IP interpretation unit 21. At this time, the non-procedural protocol interpreting unit 22B transmits communication data including the print job according to the non-procedural protocol which is a printing protocol, and the TCP / IP interpreting unit 21 uses the destination IP address of the communication data as a transmission destination IP address. The IP address “IP1” of the self-printer PRT1 is designated, and the boat number “9100” normally assigned by the non-procedural protocol is designated as the destination port number.

自己プリンタPRT1では、TCP/IP解釈部21が、送信した通信データを、その通信データDT1に含まれる送信先IPアドレス「IP1」に基づいて受信し、さらに、その通信データに含まれる送信先ポート番号が「9100」であるので、「9100」で送信された通信データを扱う無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるべきQT値がない場合には、「1部」だけ、プリンタエンジン41に、印刷ジョブに従った印刷を実行させる。また、印刷ジョブのデータにQT値がある場合には、そのQT値から印刷部数として「1部」を読み取り、指定されているその部数「1部」だけ、プリンタエンジン41に、印刷ジョブに従った印刷を実行させる。この結果、いずれの場合も、プリンタPRT1では、1部のみ印刷が実行されることになる。   In the self-printer PRT1, the TCP / IP interpreter 21 receives the transmitted communication data based on the transmission destination IP address “IP1” included in the communication data DT1, and further transmits the transmission destination port included in the communication data. Since the number is “9100”, it is passed to the non-procedural protocol interpretation unit 22B that handles the communication data transmitted with “9100”. The non-procedural protocol interpretation unit 22B receives communication data including a print job according to the non-procedural protocol, and passes the print job to the printer controller 42. When there is no QT value to be included in the print job data, the printer controller 42 causes the printer engine 41 to execute printing according to the print job for “one copy”. If the print job data has a QT value, “1 copy” is read from the QT value as the number of copies, and the printer engine 41 follows the print job by the specified number of copies “1”. Execute printing. As a result, in either case, the printer PRT1 performs printing for only one copy.

以上のようにして、受信した印刷ジョブデータにQT値が含まれない場合や、含まれていても、そのQT値から読み取った総印刷部数mが「1部」のみである場合には、分散先プリンタとして自己プリンタPRT1を決定し、その自己プリンタPRTにおいて、1部のみの印刷を実行して、CPU20は、図4の一連の処理も終了する。   As described above, if the received print job data does not include the QT value, or if it is included, but the total number of printed copies m read from the QT value is only “1”, the distribution is performed. The self-printer PRT1 is determined as the destination printer, and only one copy is executed in the self-printer PRT, and the CPU 20 also ends the series of processes in FIG.

A5.実施例の効果:
以上説明したように、本実施例においては、分散印刷制御機能を有するプリンタPRT1が、分散印刷を全て制御しているため、専用サーバを用いることなく、簡易なシステムで分散印刷を実現することが可能である。
A5. Effects of the embodiment:
As described above, in this embodiment, since the printer PRT1 having the distributed printing control function controls all distributed printing, distributed printing can be realized with a simple system without using a dedicated server. Is possible.

また、分散印刷制御機能を有するプリンタPRT1では、クライアントCLから送信された印刷ジョブデータの全てが印刷ジョブ格納部31に入りきった場合には、QT値を「1部」に変更した上で、印刷ジョブデータを各分散先プリンタにそれぞれ送信し、各分散先プリンタにおいて、それぞれ、「1部」ずつ分散印刷を行わせるため、仮に、いずれかの分散先プリンタにおいて、エラーなどが発生し、印刷に失敗したとしても、高々、1部だけの失敗にとどめることができる。   In the printer PRT1 having the distributed printing control function, when all the print job data transmitted from the client CL has entered the print job storage unit 31, the QT value is changed to “1 copy”. Since print job data is sent to each distribution destination printer and each distribution destination printer performs “one copy” of distributed printing, an error or the like occurs in any of the distribution destination printers. Even if it fails, only one copy can be failed.

また、上記プリンタPRT1では、印刷ジョブデータの全てが印刷ジョブ格納部31に入りきった場合、LANに接続されているプリンタの中から、オンライン状態であり、かつ、印刷ジョブを受信中でなく、印刷中でもないプリンタを検索し、分散先プリンタを決定するため、エラーを発生しているプリンタや、エラーを発生する可能性のあるプリンタを、分散先プリンタから排除することができ、印刷に失敗したプリンタに繰り返し印刷ジョブデータを送信したりすることを避けることができる。   Further, in the printer PRT1, when all the print job data has entered the print job storage unit 31, the printer PRT1 is in an online state from among printers connected to the LAN, and is not receiving a print job. Since printers that are not printing are searched and the destination printer is determined, printers that have generated errors or printers that may generate errors can be excluded from the destination printers, and printing has failed. It is possible to avoid repeatedly sending print job data to the printer.

また、クライアントCLでは、分散印刷を実行するために、特別なソフトウェアをインストールすることなく、単に、プリンタドライバにおいて、ポート番号の設定を、無手順プロトコルで通常割り当てられている通常のポート番号「9100」から特定のポート番号「19100」に変更するだけで、分散印刷を実現することができるため、ユーザの負担を大幅に軽減することができる。   Further, in order to execute distributed printing, the client CL simply sets the port number in the printer driver without installing special software, and the normal port number “9100” normally assigned by the non-procedural protocol. ”To a specific port number“ 19100 ”, distributed printing can be realized, so that the burden on the user can be greatly reduced.

また、分散先プリンタでは、送信されてくる通信データは、ポート番号が無手順プロトコルで通常割り当てられているポート番号「9100」となっているので、分散印刷であるかどうかに関知することなく、そのまま印刷を実行することができる。   In the distribution destination printer, since the communication data to be transmitted is the port number “9100” normally assigned in the non-procedural protocol, it is not necessary to know whether it is distributed printing or not. Printing can be executed as it is.

また、上記プリンタPRT1では、分散印刷制御実行のトリガとなる通信データの示す送信先ポート番号「19100」と、分散先プリンタに送信する通信データの示す送信先ポート番号「9100」と、を変えているため、分散先プリンタに自己のプリンタPRT1が含まれていて、自己宛に印刷ジョブを含む通信データを送信した場合でも、その通信データの示すポート番号は「9100」であって、分散印刷制御のトリガとはなり得ず、それ故、自己宛に分散した印刷ジョブを、さらに再分散,再々分散など、無限に分散させるようなことがない。同様に、同じネットワーク内に、分散印刷制御機能を有するカスタムネットワークボードが2枚以上存在する場合にも、それらの間で分散すべき印刷ジョブをピンポンすることがない。   In the printer PRT1, the transmission destination port number “19100” indicated by the communication data that triggers the execution of the distributed printing control and the transmission destination port number “9100” indicated by the communication data transmitted to the distribution destination printer are changed. Therefore, even if the distribution destination printer includes its own printer PRT1 and communication data including a print job is transmitted to itself, the port number indicated by the communication data is “9100” and the distributed print control Therefore, a print job distributed to itself cannot be distributed indefinitely such as redistribution and re-distribution. Similarly, when there are two or more custom network boards having a distributed print control function in the same network, a print job to be distributed between them is not ping-pong.

また、上記プリンタPRT1では、受信して印刷ジョブ格納部31に格納した印刷ジョブに、QT値が含まれていなかったり、含まれていても、そのQT値から読み取った総印刷部数mが「1部」のみである場合には、分散先プリンタとして自己プリンタPRT1を決定し、直ちに、その印刷ジョブデータの送信を開始しているため、クライアントCLから送信された印刷ジョブデータの全てを受信してから、その印刷ジョブデータの送信を開始する場合に比較して、各分散先プリンタでの印刷開始を早めることができる。   In the printer PRT1, the print job received and stored in the print job storage unit 31 does not include the QT value, or even if it is included, the total number m of prints read from the QT value is “1”. In the case of only “copy”, since the self-printer PRT1 is determined as the distribution destination printer and the transmission of the print job data is immediately started, all the print job data transmitted from the client CL is received. Therefore, compared with the case where the transmission of the print job data is started, the printing start at each distribution destination printer can be accelerated.

また、上記プリンタPRT1では、受信した印刷ジョブデータのうち、印刷部数情報であるQT値のみを変更して、各分散先プリンタにそれぞれ送信するだけで、容易に分散印刷を行うことができるので、カスタムネットワークボードCNBの有するCPU20としては、高い処理能力を有するCPUを用いなくて済み、製造コストを低減することができる。   The printer PRT1 can easily perform distributed printing by changing only the QT value, which is the number of copies information, of the received print job data and transmitting it to each distribution destination printer. As the CPU 20 of the custom network board CNB, it is not necessary to use a CPU having a high processing capability, and the manufacturing cost can be reduced.

B.第2の実施例:
上記した第1の実施例においては、クライアントCLから分散印刷制御機能を有するプリンタPRT1に印刷ジョブを送信する際と、プリンタPRT1から分散先プリンタに印刷ジョブを送信する際において、それぞれ、印刷プロトコルとして同じプロトコル(すなわち、無手順プロトコル)を用いるが、ポート番号として異なるポート番号(すなわち、「9100」と「19100」)を用いることにより、分散印刷を実現するようにしていたが、本実施例においては、クライアントCLから分散印刷制御機能を有するプリンタPRT1に印刷ジョブを送信する際と、プリンタPRT1から分散先プリンタに印刷ジョブを送信する際において、それぞれ、印刷プロトコルとして異なるプロトコルを用いることによって、分散印刷を実現する。
B. Second embodiment:
In the first embodiment described above, when a print job is transmitted from the client CL to the printer PRT1 having the distributed print control function and when a print job is transmitted from the printer PRT1 to the distribution destination printer, the print protocol is used as the print protocol. Although the same protocol (that is, non-procedural protocol) is used, but different port numbers (that is, “9100” and “19100”) are used as port numbers, distributed printing has been realized. When a print job is transmitted from the client CL to the printer PRT1 having the distributed print control function and when a print job is transmitted from the printer PRT1 to the distribution destination printer, a different protocol is used as a print protocol. Realize printing

B1.プリンタの構成:
図10は本発明の第2の実施例としてのプリンタPRT1の構成を主として示す説明図である。本実施例において、図10に示す構成が、第1の実施例における図3に示した構成と異なる点は、無手順プロトコル解釈部22Aに代えて、LPR解釈部26を用いた点(但し、無手順プロトコル解釈部22Bはそのまま)と、それに応じて、クライアントCLでも、LPR解釈部14を設けた点である。それ以外の構成は、図3に示した構成と同じである。
B1. Printer configuration:
FIG. 10 is an explanatory diagram mainly showing the configuration of a printer PRT1 as a second embodiment of the present invention. In this embodiment, the configuration shown in FIG. 10 is different from the configuration shown in FIG. 3 in the first embodiment in that an LPR interpreter 26 is used instead of the non-procedural protocol interpreter 22A (however, The non-procedural protocol interpretation unit 22B remains as it is), and the client CL is provided with the LPR interpretation unit 14 accordingly. The other configuration is the same as the configuration shown in FIG.

図10において、LPR解釈部26,14は、それぞれ、印刷プロトコルであるLPR(Line Printer daemon protocol)を解釈する。   In FIG. 10, LPR interpretation units 26 and 14 interpret LPR (Line Printer daemon protocol) which is a printing protocol.

B2.通常印刷処理:
分散印刷処理を説明する前に、通常の印刷処理について簡単に説明する。なお、印刷ジョブを、クライアントCLからプリンタPRT1に送信し、プリンタPRT1のみで印刷を実行する場合を例として説明する。この場合、印刷ジョブは、図10において、点線で示す経路をたどって転送される。なお、クライアントCLにおけるプリンタドライバ(図示せず)において、印刷プロトコルの設定は、無手順プロトコルに設定されているものとする。
B2. Normal printing process:
Before describing the distributed printing process, a normal printing process will be briefly described. An example in which a print job is transmitted from the client CL to the printer PRT1 and printing is executed only by the printer PRT1 will be described. In this case, the print job is transferred along a path indicated by a dotted line in FIG. In the printer driver (not shown) in the client CL, it is assumed that the print protocol is set to a non-procedural protocol.

ユーザがクライアントCLに印刷命令を出すと、クライアントCLでは、アプリケーション13が、印刷ジョブを、無手順プロトコル解釈部12,TCP/IP解釈部11を介して、プリンタPRT1に送信する。このとき、無手順プロトコル解釈部12は、印刷プロトコルである無手順プロトコルに従って、印刷ジョブを含む通信データを送信し、また、TCP/IP解釈部11は、その通信データの送信先IPアドレスとして、プリンタPRT1の「IP1」を指定する。   When the user issues a print command to the client CL, in the client CL, the application 13 transmits a print job to the printer PRT1 via the non-procedural protocol interpretation unit 12 and the TCP / IP interpretation unit 11. At this time, the non-procedural protocol interpreting unit 12 transmits communication data including a print job according to the non-procedural protocol that is a printing protocol, and the TCP / IP interpreting unit 11 uses the communication data as a transmission destination IP address. Designate “IP1” of printer PRT1.

プリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に従って、その通信データを受信する。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数を読み取り、指定されている部数だけ、プリンタエンジン41に印刷を実行させる。   In the printer PRT1, the TCP / IP interpreter 21 receives the communication data according to the destination IP address “IP1” included in the communication data. The non-procedural protocol interpretation unit 22B receives communication data including a print job according to the non-procedural protocol, and passes the print job to the printer controller 42. The printer controller 42 reads the number of copies from the QT value included in the print job data, and causes the printer engine 41 to execute printing for the designated number of copies.

B3.分散印刷処理:
次に、分散印刷処理について説明する。分散印刷を行う際には、ユーザは、クライアントCLにおけるプリンタドライバにおいて、印刷プロトコルの設定を、無手順プロトコルからLPRに変更する。すなわち、本実施例では、ここでの印刷プロトコルの設定を切り換えることにより、無手順プロトコルでは通常印刷を、LPRでは分散印刷を、それぞれ選択することになる。
B3. Distributed printing processing:
Next, distributed printing processing will be described. When performing distributed printing, the user changes the print protocol setting from the non-procedural protocol to the LPR in the printer driver in the client CL. That is, in this embodiment, by switching the setting of the printing protocol here, normal printing is selected for the non-procedural protocol, and distributed printing is selected for the LPR.

そこで、ユーザがクライアントCLに、印刷部数「100部」として印刷命令を出すと、クライアントCLでは、アプリケーション13が、印刷部数を示すQT値を「100部」とした印刷ジョブを、LPR解釈部14,TCP/IP解釈部11を介して、プリンタPRT1に送信する。このとき、LPR解釈部14は、印刷プロトコルであるLPRに従って、印刷ジョブを含む通信データを送信し、また、TCP/IP解釈部11は、その通信データの送信先IPアドレスとして、プリンタPRT1の「IP1」を指定する。   Therefore, when the user issues a print command to the client CL with the number of copies “100”, the application 13 in the client CL sends a print job with a QT value indicating the number of copies to “100” as an LPR interpreter 14. , Sent to the printer PRT1 via the TCP / IP interpreter 11. At this time, the LPR interpreting unit 14 transmits communication data including a print job according to the printing protocol LPR, and the TCP / IP interpreting unit 11 uses the “PR” of the printer PRT1 as the destination IP address of the communication data. Specify "IP1".

プリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に従って、その通信データを受信する。LPR解釈部26は、LPRに従って、印刷ジョブを含む通信データを受け取り、そのうちの印刷ジョブのデータを分散処理部25に渡す。   In the printer PRT1, the TCP / IP interpreter 21 receives the communication data according to the destination IP address “IP1” included in the communication data. The LPR interpretation unit 26 receives communication data including a print job according to the LPR, and passes the print job data to the distributed processing unit 25.

こうして、本実施例において、分散処理部25に印刷ジョブデータが渡されてから、その後、分散先プリンタが決定されるまでの処理については、第1の実施例と同様であるので、それらについての説明は省略する。なお、ここで、例えば、分散先プリンタとしてプリンタPRT1〜PRT4が決定されたものとする。   Thus, in this embodiment, the processing from when the print job data is passed to the distribution processing unit 25 until the distribution destination printer is determined is the same as in the first embodiment, and therefore, Description is omitted. Here, for example, it is assumed that the printers PRT1 to PRT4 are determined as the distribution destination printers.

その後、分散処理部25は、受信した印刷ジョブのQT値のみを変更し、そして、その印刷ジョブを、LPR解釈部26ではなく、無手順プロトコル解釈部22Bを介し、さらに,TCP/IP解釈部21を介して、各分散先プリンタにそれぞれ送信する。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、各分散先プリンタのIPアドレスをそれぞれ指定する。   Thereafter, the distributed processing unit 25 changes only the QT value of the received print job, and the print job is transmitted via the non-procedural protocol interpreting unit 22B instead of the LPR interpreting unit 26 and further to the TCP / IP interpreting unit. 21 to the respective distribution destination printers. At this time, the non-procedural protocol interpretation unit 22B transmits communication data including the print job in accordance with the non-procedural protocol that is a printing protocol. Further, the TCP / IP interpreter 21 designates the IP address of each distribution destination printer as the destination IP address of the communication data.

分散先プリンタの1つであるプリンタPRT2では、図10に示すように、TCP/IP解釈部51が、通信データDT2に含まれる送信先IPアドレス「IP2」に従って、その通信データDT2を受信し、無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部52は、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ53に渡す。プリンタコントローラ53は、印刷ジョブのデータに含まれるQT値から印刷部数を読み取り、指定されているその部数だけ、プリンタエンジン54に、印刷ジョブに従った印刷を実行させる。   In the printer PRT2, which is one of the distribution destination printers, as shown in FIG. 10, the TCP / IP interpreter 51 receives the communication data DT2 in accordance with the destination IP address “IP2” included in the communication data DT2, It is passed to the non-procedural protocol interpretation unit 22B. The non-procedural protocol interpretation unit 52 receives communication data including a print job according to the non-procedural protocol, and passes the print job to the printer controller 53. The printer controller 53 reads the number of copies from the QT value included in the print job data, and causes the printer engine 54 to execute printing in accordance with the print job for the designated number of copies.

他の分散先プリンタであるプリンタPRT3,PRT4においても、同様にして、指定された印刷部数だけ、印刷ジョブに従った印刷が実行される。   Similarly, printing according to the print job is executed for the designated number of copies in the printers PRT3 and PRT4 which are other distribution destination printers.

また、分散先プリンタである自己のプリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に基づいて、自己宛に送信した通信データを受信する。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数を読み取り、指定されているその部数だけ、プリンタエンジン41に、印刷ジョブに従った印刷を実行させる。   In the self printer PRT1 which is the distribution destination printer, the TCP / IP interpreter 21 receives the communication data transmitted to the self based on the transmission destination IP address “IP1” included in the communication data. The non-procedural protocol interpretation unit 22B receives communication data including a print job according to the non-procedural protocol, and passes the print job to the printer controller 42. The printer controller 42 reads the number of copies from the QT value included in the print job data, and causes the printer engine 41 to execute printing according to the specified number of copies.

以上のようにして、分散先プリンタであるプリンタPRT1〜PRT4では、それぞれ、指定された部数の印刷が実行されることになる。   As described above, the printers PRT1 to PRT4, which are the distribution destination printers, each execute printing of the designated number of copies.

これら以外の処理については、第1の実施例と同様であるので、それらについての説明は省略する。   Since the other processes are the same as those in the first embodiment, description thereof will be omitted.

B4.実施例の効果:
以上説明したように、本実施例においては、第1の実施例と同様に、分散印刷制御機能を有するプリンタPRT1が、分散印刷を全て制御しているため、専用サーバを用いることなく、簡易なシステムで分散印刷を実現することが可能である。
B4. Effects of the embodiment:
As described above, in this embodiment, as in the first embodiment, since the printer PRT1 having the distributed printing control function controls all the distributed printing, a simple server can be used without using a dedicated server. Distributed printing can be realized by the system.

また、分散印刷制御機能を有するプリンタPRT1でも、第1の実施例と同様に、クライアントCLから送信された印刷ジョブデータの全てが印刷ジョブ格納部31に入りきった場合、LANに接続されているプリンタの中から、オンライン状態であり、かつ、印刷ジョブを受信中でなく、印刷中でもないプリンタを検索して、分散先プリンタを決定し、QT値を「1部」に変更した上で、印刷ジョブデータを各分散先プリンタにそれぞれ送信し、各分散先プリンタにおいて、それぞれ、「1部」ずつ分散印刷を行わせる。このため、仮に、いずれかの分散先プリンタにおいて、エラーなどが発生し、印刷に失敗したとしても、高々、1部だけの失敗にとどめることができる。また、エラーを発生しているプリンタや、エラーを発生する可能性のあるプリンタを、分散先プリンタから排除することができ、印刷に失敗したプリンタに繰り返し印刷ジョブデータを送信したりすることを避けることができる。   Also, in the printer PRT1 having the distributed print control function, when all the print job data transmitted from the client CL has entered the print job storage unit 31 as in the first embodiment, the printer PRT1 is connected to the LAN. Search printers that are online and are not receiving print jobs or printing, determine the destination printer, change the QT value to "1 copy", and print The job data is transmitted to each distribution destination printer, and “one copy” is distributed to each distribution destination printer. For this reason, even if an error or the like occurs in any of the distribution destination printers and printing fails, only one copy can be failed at most. In addition, printers that generate errors or printers that may generate errors can be excluded from the distribution destination printers, avoiding repeated sending of print job data to printers that failed to print. be able to.

また、クライアントCLでは、分散印刷を実行するために、特別なソフトウェアをインストールすることなく、単に、プリンタドライバにおいて、印刷プロトコルの設定を、LPRに変更するだけで、分散印刷を実現することができるため、ユーザの負担を大幅に軽減することができる。   In addition, the client CL can realize distributed printing by simply changing the print protocol setting to LPR in the printer driver without installing special software in order to execute distributed printing. Therefore, the burden on the user can be greatly reduced.

また、上記プリンタPRT1では、分散印刷制御実行のトリガとなる印刷プロトコル(すなわち、LPR)と、分散先プリンタに送信する際の印刷プロトコル(すなわち、無手順プロトコル)と、で種類を変えているため、分散先プリンタに自己のプリンタPRT1が含まれていて、自己宛に印刷ジョブを送信した場合でも、その際の印刷プロトコルは無手順プロトコルであって、分散印刷制御のトリガとはなり得ず、それ故、自己宛に分散した印刷ジョブを、さらに再分散,再々分散など、無限に分散させるようなことがない。   In the printer PRT1, the type is changed between a printing protocol (that is, LPR) that triggers execution of distributed printing control and a printing protocol (that is, non-procedural protocol) that is transmitted to the distribution destination printer. Even when the distribution destination printer includes its own printer PRT1 and a print job is transmitted to itself, the print protocol at that time is a non-procedural protocol and cannot be a trigger for distributed print control. Therefore, the print job distributed to itself is not distributed indefinitely such as redistribution and redistribution.

また、上記プリンタPRT1でも、受信した印刷ジョブデータのうち、印刷部数情報であるQT値のみを変更して、各分散先プリンタにそれぞれ送信するだけで、容易に分散印刷を行うことができるので、カスタムネットワークボードCNBの有するCPU20としては、高い処理能力を有するCPUを用いなくて済み、製造コストを低減することができる。   Also, the printer PRT1 can easily perform distributed printing by changing only the QT value, which is the number of copies information, of the received print job data and sending it to each distribution destination printer. As the CPU 20 of the custom network board CNB, it is not necessary to use a CPU having a high processing capability, and the manufacturing cost can be reduced.

C.第3の実施例:
C1.第1の分散印刷処理の変形例:
図11は、第1の分散印刷処理ルーチンの処理手順の変形例を示すフローチャートである。第1実施例や第2実施例における第1の分散印刷処理ルーチンは、送信されてきた印刷ジョブが印刷ジョブ格納部31に格納可能な場合にのみ実行可能である。しかし、変形例の第1の分散印刷処理ルーチンは、印刷ジョブ格納部31に格納可能でなくても実行可能であるように構成されている点が異なる。
C. Third embodiment:
C1. Modified example of the first distributed printing process:
FIG. 11 is a flowchart illustrating a modification of the processing procedure of the first distributed printing processing routine. The first distributed printing processing routine in the first embodiment and the second embodiment can be executed only when the transmitted print job can be stored in the print job storage unit 31. However, the first distributed printing processing routine according to the modification is different in that it can be executed even if it cannot be stored in the print job storage unit 31.

ステップS510では、分散印刷制御機能を有するプリンタPRT1は、第1実施例と同様に分散先を決定する。ステップS520では、プリンタPRT1は、決定された分散先に対して送信されてきた印刷ジョブのうち印刷対象画像データのみを送信する。   In step S510, the printer PRT1 having the distributed printing control function determines the distribution destination as in the first embodiment. In step S520, the printer PRT1 transmits only print target image data in the print job transmitted to the determined distribution destination.

ステップS530では、プリンタPRT1は、「1」のQT値を含む部数指定コマンドを決定された分散先に対して送信する。なお、本実施例では、印刷対象画像データと部数指定コマンドとを別々に送信しているが、一緒に送信するように構成しても良い。   In step S530, the printer PRT1 transmits a copy number designation command including a QT value of “1” to the determined distribution destination. In this embodiment, the print target image data and the copy number designation command are transmitted separately, but may be configured to be transmitted together.

なお、本実施例では、この部数指定コマンドは、「0」のQT値を含む部数指定コマンドを受信するまでジョブを完了しないように分散先の印刷装置を設定するためのコマンドを含んでいる。分散先の印刷装置は、指令された1部の印刷を完了すると、印刷完了を表す情報を含む印刷完了データをプリンタPRT1に送信する。   In this embodiment, the number of copies designation command includes a command for setting the distribution destination printing apparatus so that the job is not completed until a number of copies designation command including a QT value of “0” is received. When the distribution destination printing apparatus completes the commanded printing of one copy, it transmits print completion data including information indicating the completion of printing to the printer PRT1.

ステップS540では、プリンタPRT1は、印刷完了データの受信に応じて印刷完了データの送信元に「1」のQT値を含む部数指定コマンドを再送信する。この再送信は、総印刷部数が総印刷部数mに達するまで継続される(ステップS550)。一方、全ての部数の印刷が完了すると、処理がステップS540に進められる。   In step S540, the printer PRT1 retransmits the copy designation command including the QT value “1” to the transmission completion data transmission source in response to the reception of the printing completion data. This retransmission is continued until the total number of printed copies reaches the total number of printed copies m (step S550). On the other hand, when printing of all the copies is completed, the process proceeds to step S540.

ステップS540では、プリンタPRT1は、印刷完了データの受信に応じて印刷完了データの送信元に「0」のQT値を含む部数指定コマンドを再送信する。「0」のQT値を含む部数指定コマンドを受信した分散先は、順次ジョブを完了する。   In step S540, the printer PRT1 retransmits the copy designation command including the QT value “0” to the transmission completion data transmission source in response to the reception of the printing completion data. The distribution destination that has received the copy designation command including the QT value of “0” sequentially completes the job.

このように、本変形例は、分散先に部数指定コマンドを送信することによって1部ずつ印刷を実行させることができるので、印刷対象画像データを再送信する必要がない。この結果、印刷対象画像データの再送信に要求される印刷ジョブ格納部31への印刷ジョブの格納が不要となるので、かかる格納ができなくても本変形例は、実行可能である。   In this way, according to the present modification, printing can be executed one by one by sending a copy number designation command to the distribution destination, so there is no need to retransmit the print target image data. As a result, it is not necessary to store the print job in the print job storage unit 31 that is required to retransmit the image data to be printed. Therefore, this modification can be executed even if such storage is not possible.

加えて、データサイズが大きな印刷対象画像データの送信を最初の一度だけとすることができるので、ネットワークのトラフィックを小さくすることができる。さらに、分散印刷が完了するまで印刷ジョブが終了しないので、他の印刷ジョブを排して迅速に分散印刷を完了させることができるとともに、分散先印刷装置を独占して他の印刷物の混入も防止することができる。   In addition, since the print target image data having a large data size can be transmitted only once at the first time, the network traffic can be reduced. In addition, since the print job does not end until distributed printing is completed, other print jobs can be eliminated and distributed printing can be completed quickly, and the distribution destination printing device can be monopolized to prevent mixing of other printed materials. can do.

ただし、印刷ジョブ格納部31への印刷ジョブの格納が可能であれば、他の印刷ジョブの処理の完了等によって利用可能となった印刷装置を分散先に加えることができるように構成することも可能となる。印刷ジョブ格納部31に格納された印刷対象画像データを新たに利用可能となった印刷装置に送信することが可能だからである。これにより、分散先を追加して分散印刷処理をさらに迅速化することができる。   However, if a print job can be stored in the print job storage unit 31, a printing apparatus that has become available upon completion of processing of another print job or the like can be added to the distribution destination. It becomes possible. This is because the print target image data stored in the print job storage unit 31 can be transmitted to a printing apparatus that is newly available. Thereby, it is possible to further speed up the distributed printing process by adding a distribution destination.

なお、上述の変形例では、「0」のQT値を含む部数指定コマンドを受信するまでジョブを完了しないように分散先の印刷装置を設定するように構成されているが、後述するようにプリンタPRT1と分散先の印刷装置のコネクションを維持して他からのアクセスを制限することによって実現しても良い。この場合には、所定のジョブ終了コマンドを分散先の印刷装置に送信することによって印刷ジョブを完了させることになる。   In the above-described modification, the distribution destination printing apparatus is set so that the job is not completed until a copy designation command including a QT value of “0” is received. This may be realized by maintaining the connection between the PRT 1 and the distribution destination printing apparatus and restricting access from others. In this case, the print job is completed by transmitting a predetermined job end command to the distribution destination printing apparatus.

C2.第2の分散印刷処理の変形例:
図12は、第2の分散印刷処理ルーチンの処理手順の変形例を示すフローチャートである。第2の分散印刷処理は、決定した各分散先プリンタにおいて、それぞれ、割り当てた分散部数だけ、分散印刷を行う処理である。本実施例は、分散先への印刷ジョブの送信後において、各分散先に割り当てられた印刷部数を変更できるように構成されている点で第1実施例と異なる。なお、分散先への印刷ジョブは、特許請求の範囲における「分散印刷ジョブ」に相当する。
C2. Modified example of the second distributed printing process:
FIG. 12 is a flowchart illustrating a modification of the processing procedure of the second distributed printing processing routine. The second distributed printing process is a process for performing distributed printing for each determined distribution destination printer by the allocated number of distributed copies. The present embodiment is different from the first embodiment in that the number of copies assigned to each distribution destination can be changed after the transmission of the print job to the distribution destination. The print job to the distribution destination corresponds to the “distributed print job” in the claims.

ステップS610では、プリンタPRT1は、第1実施例と同様に分散先と各分散先の割当て部数を決定する。ステップS620では、プリンタPRT1は、第1実施例と同様に印刷対象画像データと割当て部数を含む印刷ジョブを分散先に送信する。   In step S610, the printer PRT1 determines the distribution destination and the number of copies to be assigned to each distribution destination as in the first embodiment. In step S620, the printer PRT1 transmits the print job including the print target image data and the number of assigned copies to the distribution destination as in the first embodiment.

ステップS630において、プリンタPRT1は、分散先の1つから紙詰まり等で分散先の1つが停止していることを表す情報を含むエラーメッセージが受信されている場合には、処理をステップS640に進める。   In step S630, if an error message including information indicating that one of the distribution destinations is stopped due to a paper jam or the like is received from one of the distribution destinations, the printer PRT1 advances the processing to step S640. .

ステップS640では、プリンタPRT1は、割当ての再配分を行う。割当ての再配分は、エラーメッセージの送信元の割当て部数をゼロとするとともに、他の分散先に残存印刷部数rを均等に割り当てることによって行われる。   In step S640, the printer PRT1 reallocates the assignment. The redistribution of allocation is performed by setting the number of copies of the error message transmission source to zero and allocating the remaining print copies r equally to other distribution destinations.

ステップS650において、プリンタPRT1は、分散先が追加された場合には、処理をステップS640に進める。分散先の追加は、他の印刷ジョブの処理の完了等によって利用可能となった印刷装置を分散先に加える処理である。   In step S650, when the distribution destination is added, the printer PRT1 advances the process to step S640. The addition of a distribution destination is a process of adding a printing apparatus that has become available upon completion of processing of another print job to the distribution destination.

ステップS640では、プリンタPRT1は、割当ての再配分を行う。割当ての再配分は、追加された分散先を含めた全ての分散先に残存印刷部数rを均等に割り当てることによって行われる。   In step S640, the printer PRT1 reallocates the assignment. The redistribution of allocation is performed by equally allocating the remaining number of copies r to all distribution destinations including the added distribution destination.

このような、分散先の停止や追加に応じた割当ての再配分は、印刷部数が総印刷部数mに達するまで継続される。ただし、分散先への印刷ジョブの送信後における各分散先に割り当てられた印刷部数の変更は、本実施例では、プリンタPRT1と分散先のコネクションを維持することによって実現されている。   Such redistribution of allocation in accordance with the stop or addition of the distribution destination is continued until the number of copies reaches the total number of copies m. However, the change of the number of copies assigned to each distribution destination after the transmission of the print job to the distribution destination is realized in this embodiment by maintaining the connection of the distribution destination with the printer PRT1.

図13は、本変形例におけるプリンタPRT1とプリンタPRT2の間の通信シーケンスを示す説明図である。この通信シーケンスでは、通信プロトコルとして上述の各実施例と同様にTCP/IPプロトコルが採用されている。この通信シーケンスは、図から分かるようにコネクション確立、データ転送、およびコネクション終了の3つのフェーズを有する。なお、プリンタPRT1とプリンタPRT2〜4の間の通信シーケンスも同様に行われる。   FIG. 13 is an explanatory diagram showing a communication sequence between the printer PRT1 and the printer PRT2 in this modification. In this communication sequence, the TCP / IP protocol is adopted as the communication protocol as in the above-described embodiments. As can be seen from the figure, this communication sequence has three phases: connection establishment, data transfer, and connection termination. The communication sequence between the printer PRT1 and the printers PRT2 to PRT4 is performed in the same manner.

コネクション確立のフェーズは、プリンタPRT1とプリンタPRT2との間のコネクションを確立するためのフェーズである。このフェーズは、ヘッダ中のSYNフラグが立ったTCPパケットをプリンタPRT1がプリンタPRT2に送信することによって開始される。「SYNフラグが立った」とは、そのTCPパケットがコネクション接続を要求するパケットであることを意味している。   The connection establishment phase is a phase for establishing a connection between the printer PRT1 and the printer PRT2. This phase is started when the printer PRT1 transmits a TCP packet with the SYN flag set in the header to the printer PRT2. “The SYN flag is set” means that the TCP packet is a packet for requesting connection.

コネクション接続を要求するパケットを受信したプリンタPRT2は、コネクションの接続が可能な場合には、ヘッダ中のSYNフラグとACKフラグとが立ったTCPパケットをプリンタPRT1に返送する。ACKフラグが立ったTCPパケットがプリンタPRT1に返送されることによって、プリンタPRT2側のコネクションが確立する。この返送されたTCPパケットのSYNフラグも立っているのは、プリンタPRT2がプリンタPRT1側にコネクションの接続を要求するためである。   The printer PRT2 that has received the packet requesting connection connection returns a TCP packet in which the SYN flag and ACK flag in the header are set to the printer PRT1 when the connection is possible. A TCP packet with the ACK flag set is sent back to the printer PRT1, thereby establishing a connection on the printer PRT2. The SYN flag of the returned TCP packet is also set because the printer PRT2 requests connection of the printer PRT1.

コネクション接続を要求するパケットを受信したプリンタPRT1は、ACKフラグが立ったTCPパケットをプリンタPRT2に返送する。この返送によってプリンタPRT1側のコネクションが確立する。このようにして、プリンタPRT1とプリンタPRT2との間のコネクションが確立してコネクションフェーズが完了する。   The printer PRT1 that has received the packet requesting connection connection returns a TCP packet with the ACK flag set to the printer PRT2. This return establishes a connection on the printer PRT1 side. In this way, the connection between the printer PRT1 and the printer PRT2 is established, and the connection phase is completed.

データ転送のフェーズは、TCPパケットに分割された印刷ジョブをプリンタPRT1がプリンタPRT2に転送するフェーズである。このフェーズでは、複数の印刷ジョブがプリンタPRT2に転送される。   The data transfer phase is a phase in which the printer PRT1 transfers the print job divided into TCP packets to the printer PRT2. In this phase, a plurality of print jobs are transferred to the printer PRT2.

コネクション終了のフェーズは、プリンタPRT1とプリンタPRT2との間のコネクションを終了させるためのフェーズである。このフェーズは、ヘッダ中のFINフラグが立ったTCPパケットをプリンタPRT1がプリンタPRT2に送信することによって開始される。「FINフラグが立った」とは、そのTCPパケットがコネクション終了を要求するパケットであることを意味している。   The connection termination phase is a phase for terminating the connection between the printer PRT1 and the printer PRT2. This phase is started when the printer PRT1 transmits a TCP packet with the FIN flag set in the header to the printer PRT2. “FIN flag is set” means that the TCP packet is a packet for requesting connection termination.

コネクション終了を要求するパケットを受信したプリンタPRT2は、ヘッダ中のACKフラグが立ったTCPパケットをプリンタPRT1に返送する。ヘッダ中のACKフラグが立ったTCPパケットがプリンタPRT1に返送されることによって、プリンタPRT2側のコネクションが終了する。   The printer PRT2 that has received the packet requesting the termination of the connection returns a TCP packet with the ACK flag set in the header to the printer PRT1. When the TCP packet with the ACK flag set in the header is returned to the printer PRT1, the connection on the printer PRT2 side is terminated.

プリンタPRT2は、ヘッダ中のACKフラグが立ったTCPパケットの直後に、ヘッダ中のFINフラグが立ったTCPパケットをもプリンタPRT1に返送する。FINフラグが立ったTCPパケットがプリンタPRT1に返送されるのは、プリンタPRT2がプリンタPRT1側にコネクションの終了を要求するためである。プリンタPRT1は、このTCPパケットの受信に応じてACKフラグとが立ったTCPパケットをプリンタPRT2に返送する。これにより、プリンタPRT1とプリンタPRT2との間のコネクションが終了してプリンタPRT2が他のユーザに開放されることになる。   The printer PRT2 returns a TCP packet with the FIN flag set in the header immediately after the TCP packet with the ACK flag set in the header to the printer PRT1. The TCP packet with the FIN flag set is returned to the printer PRT1 because the printer PRT2 requests the printer PRT1 to end the connection. In response to the reception of the TCP packet, the printer PRT1 returns a TCP packet with an ACK flag set to the printer PRT2. As a result, the connection between the printer PRT1 and the printer PRT2 is terminated, and the printer PRT2 is opened to other users.

コネクション終了のフェーズは、通常は、1つの印刷ジョブのデータ転送が完了するとプリンタPRT1によって開始される。しかし、本実施例では、残存印刷部数rがゼロとなるまで、コネクション終了のフェーズが開始されずに、データ転送のフェーズが継続する。残存印刷部数rがゼロとなるまで、データ転送のフェーズを継続させているのは、残存印刷部数rがゼロとなるまでプリンタPRT2を他の開放しないようにするためである。残存印刷部数rがゼロとなるまでプリンタPRT2を他の開放しないのは、分散先の停止や追加に応じて割当て部数の変更ができるようにするためである。   The connection termination phase is normally started by the printer PRT1 when the data transfer of one print job is completed. However, in this embodiment, the data transfer phase continues without starting the connection termination phase until the remaining number of copies r becomes zero. The reason for continuing the data transfer phase until the remaining number of copies r becomes zero is to prevent the printer PRT2 from being opened until the number r of remaining copies becomes zero. The reason why the printer PRT2 is not released until the remaining number of copies r becomes zero is to allow the number of copies to be changed according to the stop or addition of the distribution destination.

このように、本実施例では、残存印刷部数rがゼロとなるまでプリンタPRT1とプリンタPRT2〜4のコネクションが継続されるので、分散先における印刷部数を印刷ジョブの送信後に調整することができる。   As described above, in this embodiment, the connection between the printer PRT1 and the printers PRT2 to PRT4 is continued until the remaining print copy number r becomes zero, so the print copy number at the distribution destination can be adjusted after the print job is transmitted.

なお、プリンタPRT2が通信セッションを監視してタイムアウト処理を行うように構成されている場合には、各印刷ジョブのデータ転送の間隔が長いと、プリンタPRT2が自動的にコネクションを終了させてしまうことも想定される。しかし、この場合には、プリンタPRT1が再割当てのための制御データ転送の間にダミーのデータを転送するように構成すればよい。   If the printer PRT2 is configured to monitor the communication session and perform timeout processing, the printer PRT2 automatically terminates the connection if the data transfer interval of each print job is long. Is also envisaged. However, in this case, the printer PRT1 may be configured to transfer dummy data during transfer of control data for reassignment.

また、本実施例では、TCP/IPプロトコルをベースとしているが、他のコネクション型の通信プロトコールをベースとしても良い。   In this embodiment, the TCP / IP protocol is used as a base, but another connection-type communication protocol may be used as a base.

D.変形例:
なお、本発明は上記した実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
D. Variations:
The present invention is not limited to the above-described examples and embodiments, and can be implemented in various modes without departing from the scope of the invention.

上記した第1の実施例では、印刷プロトコルとして無手順プロトコルを用いたが、ポート番号の変更が可能であれば、LPR,IPP(Internet Printing Protocol),FTP(File Transfer Protocol),SMB(Server Message Block),AppleTalkなど、別の印刷プロトコルを用いるようにしてもよい。   In the first embodiment described above, a non-procedural protocol is used as a printing protocol. However, if the port number can be changed, LPR, IPP (Internet Printing Protocol), FTP (File Transfer Protocol), SMB (Server Message). Other printing protocols such as Block) and AppleTalk may be used.

上記した第2の実施例では、印刷プロトコルとして、LPRと無手順プロトコルの組み合わせで用いるようにしたが、互いに異なっていれば、別の印刷プロトコル同士の組み合わせで用いるようしてもよい。   In the second embodiment described above, the printing protocol is a combination of LPR and a non-procedural protocol. However, if they are different from each other, they may be used in a combination of different printing protocols.

上記した実施例では、LANに接続されている各機器にはIPアドレスが固定で割り振られていたが、DHCP(Dynamic Host Configuration Protocol)サーバなどによって、動的にIPアドレスを割り振るようにしてもよい。但し、上記した第1の実施例のように、ポート番号「19100」とポート番号「9100」を使い分けてIPアドレスでプリンタを特定する場合は、分散元プリンタ(プリンタPRT1)は予めIPアドレスが固定で割り振っておいたほうが好ましい。分散先指定ファイルを使う場合は、分散先プリンタも予めIPアドレスを振っておいたほうが好ましい。また、分散先指定ファイルを使わない場合は、分散先プリンタは予めIPアドレスを振っておかず、DHCPによるIPアドレス割り当てにしておいてもよい。   In the above-described embodiment, each device connected to the LAN is assigned a fixed IP address. However, an IP address may be dynamically assigned by a DHCP (Dynamic Host Configuration Protocol) server or the like. . However, as in the first embodiment, when the printer is specified by the IP address using the port number “19100” and the port number “9100” separately, the IP address of the distribution source printer (printer PRT1) is fixed in advance. It is better to allocate it at When using the distribution destination specification file, it is preferable that the IP address of the distribution destination printer is assigned in advance. When the distribution destination designation file is not used, the distribution destination printer may not assign an IP address in advance, but may assign an IP address by DHCP.

このように、IPアドレスでプリンタを特定するようなプロトコルの場合は、分散元アドレスは予め固定でIPアドレスを割り振っておくことが好ましいが、SMBやAppleTalkのように論理的なプリンタ名でプリンタを特定する場合はその限りでない。
SMBやAppleTalkのような場合は、分散元、分散先ともに、論理的なプリンタ名をつけておき、分散先指定ファイルにも、それらのプリンタ名を指定しておくことで、IPアドレスを使うことなく、同様の効果を発揮させることができる。
As described above, in the case of a protocol for specifying a printer by an IP address, it is preferable that the IP address is allocated with the distribution source address fixed in advance. However, the printer is identified by a logical printer name such as SMB or AppleTalk. This does not apply to specific cases.
In the case of SMB or AppleTalk, the logical printer name is assigned to both the distribution source and the distribution destination, and the printer name is also specified in the distribution destination specification file to use the IP address. The same effect can be exhibited.

上記した実施例では、分散印刷制御装置を、プリンタPRT1に内蔵されたカスタムネットワークボードCNBとして構成するようにしたが、本発明はこれに限定されるものではなく、分散印刷制御装置をプリンタPRT1と別体とし、USB接続,IEEE1394バス接続,パラレル接続,シリアル接続などの有線接続や、ブルートゥース接続,無線LAN接続,赤外線接続などの無線接続で接続するようにしてもよい。   In the above-described embodiment, the distributed printing control apparatus is configured as the custom network board CNB built in the printer PRT1, but the present invention is not limited to this, and the distributed printing control apparatus is connected to the printer PRT1. Separately, a wired connection such as a USB connection, an IEEE 1394 bus connection, a parallel connection, and a serial connection, or a wireless connection such as a Bluetooth connection, a wireless LAN connection, and an infrared connection may be used.

上記した実施例では、分散先指定ファイルでは、分散先として使用したいプリンタのIPアドレスをそれぞれ指定するようにしていたが、本発明はこれに限定されるものではなく、例えば、分散先プリンタの検索を行いたいIPアドレスの範囲を指定するようにしてもよい。   In the above-described embodiment, the IP address of the printer that is desired to be used as the distribution destination is specified in the distribution destination specification file. However, the present invention is not limited to this. For example, the search for the distribution destination printer is performed. You may make it designate the range of the IP address which wants to perform.

上記した実施例では、送信先の指定や、分散先プリンタの検索や、分散先指定ファイルにおける分散先プリンタの指定などにおいて、IPアドレスを用いるようにしたが、代わりに、MACアドレスや、その他、機器を一意的に特定することができるIDを用いるようにしてもよい。   In the above-described embodiment, the IP address is used in the designation of the transmission destination, the search for the distribution destination printer, the designation of the distribution destination printer in the distribution destination designation file, etc., but instead, the MAC address, An ID that can uniquely identify a device may be used.

上記した実施例では、カスタムネットワークボードCNBによる、自己プリンタPRT1の機種名取得は、プリンタPRT1の電源投入時に行っていたが、本発明はこれに限定されるものではなく、少なくとも、分散先プリンタを決定するに際して、図6のステップS205の処理(自己プリンタPRT1と同一機種のプリンタの選択)よりも前に行っていればよい。従って、例えば、このステップS205の直前で、自己プリンタPRT1の機種名取得の処理を行うようにしてもよい。   In the above-described embodiment, the model name of the self-printer PRT1 is acquired by the custom network board CNB when the printer PRT1 is turned on. However, the present invention is not limited to this, and at least the distribution destination printer is selected. The determination may be performed before the process of step S205 in FIG. 6 (selection of a printer of the same model as the self-printer PRT1). Therefore, for example, the process of acquiring the model name of the self-printer PRT1 may be performed immediately before step S205.

上記した実施例では、第2の分散印刷処理において、各分散先プリンタにできる限り均等に割り当てられるように、分散部数を決定するようにしていたが、本発明はこれに限定されるものではなく、部数決定部24が、分散部数を決定するのに先立って、SNMPで各分散先プリンタに、印刷用紙やトナー(あるいはインク)などの消耗品について、有無や、残量を問い合わせて、その結果に応じて、各分散先プリンタに割り当てる分散部数を決定するようにしてもよい。あるいは、各分散先プリンタの印刷速度や利用頻度や使用年数などを考慮して、分散部数を決定するようにしてもよい。また、ある程度まとまった部数以上を分散させたり、あらかじめ登録された情報に基づいてプリンタの物理的な距離を考慮したり、プリンタのネットワークトポロジー的な距離を考慮したり、さらに、分散先指定ファイルに指定された順番を考慮したり、分散先指定ファイルの中に部数の分散比率を指定してそれを考慮したりしてもよい。   In the above-described embodiment, the number of distributed copies is determined so as to be assigned to each distribution destination printer as evenly as possible in the second distributed printing process. However, the present invention is not limited to this. Prior to the determination of the number of copies, the number-of-copies determination unit 24 inquires each of the distribution destination printers about the presence / absence and the remaining amount of consumables such as printing paper and toner (or ink) by SNMP. The number of distribution copies to be allocated to each distribution destination printer may be determined according to the above. Alternatively, the number of copies may be determined in consideration of the printing speed, usage frequency, age of use, etc. of each destination printer. Also, distribute a certain number of copies or more, consider the physical distance of the printer based on pre-registered information, consider the network topology distance of the printer, The specified order may be taken into consideration, or the distribution ratio of the number of copies may be specified in the distribution destination specification file to take into account it.

上記した実施例では、第1の分散印刷処理において、分散先決定部23は、図6のステップS216において、n台の候補プリンタ全てを分散先プリンタとして決定するようにしていたが、本発明はこれに限定されるものではなく、例えば、候補プリンタが2台以上ある場合でも、常にそのうちの1台のみを選択して、分散先プリンタとして決定するようにしてもよい。この場合、ステップS212,S214,S224の処理は不要となり、ステップS220において、残存印刷部数rとしてr−1を設定することになる。また、2台以上の候補プリンタの中から、1台の分散先プリンタを選択して決定する場合、その2台以上の候補プリンタが既に印刷ジョブを送付したことがあるプリンタである場合には、処理速度の速いプリンタや、メモリ容量の大きいプリンタや、自己プリンタPRT1の近くに位置するプリンタなどを優先的に選択するようにする。   In the above embodiment, in the first distributed printing process, the distribution destination determination unit 23 determines all n candidate printers as the distribution destination printer in step S216 in FIG. However, the present invention is not limited to this. For example, even when there are two or more candidate printers, only one of them may always be selected and determined as a distribution destination printer. In this case, the processing in steps S212, S214, and S224 is not necessary, and r-1 is set as the remaining number of copies r in step S220. In addition, when selecting and determining one distribution destination printer from two or more candidate printers, when the two or more candidate printers have already sent a print job, A printer with a high processing speed, a printer with a large memory capacity, a printer located near the self-printer PRT1, or the like is preferentially selected.

上記した実施例では、印刷ジョブ格納部31に格納した印刷ジョブデータにQT値が見つからない場合、分散先決定部23は、自己のプリンタPRT1のみを分散先プリンタとして決定し、印刷ジョブ格納部31に格納している印刷ジョブデータをそのまま、分散先プリンタとして決定した自己のプリンタPRT1に送信するようにしていた。しかしながら、本発明はこれに限定されるものではない。例えば、格納した印刷ジョブデータにQT値が見つからない場合でも、送信された印刷ジョブデータの全てが印刷ジョブ格納部31に入りきったか否かに応じて、次のように処理を分けてもよい。   In the embodiment described above, when the QT value is not found in the print job data stored in the print job storage unit 31, the distribution destination determination unit 23 determines only its own printer PRT1 as the distribution destination printer, and the print job storage unit 31. The print job data stored in is sent as is to the own printer PRT1 determined as the distribution destination printer. However, the present invention is not limited to this. For example, even when no QT value is found in the stored print job data, the processing may be divided as follows depending on whether or not all of the transmitted print job data has entered the print job storage unit 31. .

即ち、送信された印刷ジョブデータの全てが印刷ジョブ格納部31に入りきった場合には、図7に示す共通前処理を実行した上で、抽出したプリンタに対し、SNMPなどで、動作状態の問い合わせを行い、その応答結果に基づいて、オンライン状態にあるプリンタを分散先プリンタとして決定し、自己プリンタPRT1に予め設定されている所定の回数分だけ、印刷ジョブ格納部31に格納している印刷ジョブデータを、書き換えることなくそのまま、決定した各分散先プリンタに対して、それぞれ送信するようにしてもよい。   That is, when all of the transmitted print job data has entered the print job storage unit 31, the common pre-processing shown in FIG. 7 is executed, and the extracted printer is in an operational state by SNMP or the like. An inquiry is made, and the printer in the online state is determined as the distribution destination printer based on the response result, and the print stored in the print job storage unit 31 for a predetermined number of times preset in the self printer PRT1 The job data may be transmitted to each determined distribution destination printer as it is without being rewritten.

また、送信された印刷ジョブデータの全てが印刷ジョブ格納部31に入りきらなかった場合には、同様に、共通前処理を実行した上で、抽出したプリンタに対し動作状態の問い合わせを行って、オンライン状態にあるプリンタを分散先プリンタとして決定し、印刷ジョブ格納部31に格納している印刷ジョブデータを、書き換えることなくそのまま、その決定した各分散先プリンタに対して、それぞれ送信し、その後、それ以降に受信した印刷ジョブデータも、それら分散先プリンタに対し送信するようにしてもよい。   If all of the transmitted print job data does not fit in the print job storage unit 31, similarly, after performing common pre-processing, the operation status is inquired to the extracted printer, The printer in the online state is determined as the distribution destination printer, and the print job data stored in the print job storage unit 31 is transmitted to each determined distribution destination printer as it is without rewriting. Print job data received after that may also be transmitted to these distribution destination printers.

このように構成することにより、例えば、PostScriptプリンタなど、QT値を用いて印刷部数の指定を行うことが不可能なプリンタに対しても十分対応することができる。   With this configuration, it is possible to sufficiently cope with a printer that cannot specify the number of prints using a QT value, such as a PostScript printer.

本発明の第1の実施例としてのプリンタPRT1を備える印刷システムの構成を示す説明図である。1 is an explanatory diagram illustrating a configuration of a printing system including a printer PRT1 as a first embodiment of the present invention. FIG. 印刷ジョブを含む通信データの構成を概念的に示す説明図である。It is explanatory drawing which shows notionally the structure of the communication data containing a print job. 図1におけるプリンタPRT1の構成を主として示す説明図である。FIG. 2 is an explanatory diagram mainly showing a configuration of a printer PRT1 in FIG. プリンタPRT1における主要機能ブロックの処理手順を示すフローチャートである。6 is a flowchart illustrating a processing procedure of main functional blocks in the printer PRT1. 印刷ジョブのデータをエディタで開いて示した説明図である。FIG. 6 is an explanatory diagram showing print job data opened by an editor. 第1の分散印刷処理ルーチンの処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a 1st distributed printing process routine. 共通前処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a common pre-process. 分散先指定ファイルの内容を示す説明図である。It is explanatory drawing which shows the content of the distribution destination designation | designated file. 第2の分散印刷処理ルーチンの処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a 2nd distributed printing process routine. 本発明の第2の実施例としてのプリンタPRT1の構成を主として示す説明図である。It is explanatory drawing which mainly shows the structure of printer PRT1 as a 2nd Example of this invention. 第1の分散印刷処理ルーチンの処理手順の変形例を示すフローチャートである。10 is a flowchart illustrating a modification of the processing procedure of the first distributed printing processing routine. 第2の分散印刷処理ルーチンの処理手順の変形例を示すフローチャートである。10 is a flowchart illustrating a modification of the processing procedure of the second distributed printing processing routine. 第2の分散印刷処理ルーチンの処理手順の変形例におけるプリンタPRT1とプリンタPRT2の間の通信シーケンスを示す説明図である。It is explanatory drawing which shows the communication sequence between the printer PRT1 and the printer PRT2 in the modification of the process sequence of a 2nd distributed printing process routine.

符号の説明Explanation of symbols

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〜4...プリンタ
11 ... TCP / IP interpreter 12 ... Non-procedural protocol interpreter 13 ... Application 14 ... LPR interpreter 20 ... CPU
21 ... TCP / IP interpreting unit 22A, 22B ... Non-procedural protocol interpreting unit 23 ... Distributed destination determining unit 24 ... Copy number determining unit 25 ... Distributed processing unit 26 ... LPR interpreting unit 30 ... Memory 31 ... Print job storage unit 32 ... Distribution destination designation file storage unit 41 ... Printer engine 42 ... Printer controller 51 ... TCP / IP interpretation unit 52 ... Non-procedural protocol Interpreter 53 ... Printer controller 54 ... Printer engine CL ... Client CNB ... Custom network board PRB ... Printer body PRT1-4 ... Printer

Claims (5)

ネットワークを介して送信される印刷ジョブを、前記ネットワークに接続された複数の印刷装置のうち、分散先となる1以上の分散先印刷装置に分散することが可能な分散印刷制御装置であって、
前記印刷ジョブを格納するための印刷ジョブ格納部と、
前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能か否かを判定し、
前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能と判定した場合には、
前記印刷ジョブの受信に応じて、前記ネットワークに接続された印刷装置に対して動作状態の問い合わせをおこない、応答結果に基づいて、前記分散先印刷装置を決定する処理と、
決定した各前記分散先印刷装置に対して必要な印刷部数を1とした分散印刷ジョブを送信する処理と、
を前記分散先印刷装置により印刷された部数の合計が前記印刷ジョブにおいて指定された印刷部数に達するまで交互に繰り返し、
前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能ではないと判定した場合には、
前記印刷ジョブの一部の受信に応じて、前記分散先印刷装置と、前記分散先印刷装置の各々に割り当てる印刷部数と、を決定し、前記分散先印刷装置に対して前記印刷部数を表すデータを含む分散印刷ジョブを送信し、前記印刷ジョブの送信後に前記印刷ジョブの残部を受信する、制御部と、を備える、分散印刷制御装置。
A distributed print control apparatus capable of distributing a print job transmitted via a network to one or more distribution destination printing apparatuses serving as distribution destinations among a plurality of printing apparatuses connected to the network,
A print job storage unit for storing the print job;
Determining whether the entire print job can be stored in the print job storage unit;
When it is determined that the entire print job can be stored in the print job storage unit,
In response to the reception of the print job, an inquiry is made to the printing apparatus connected to the network, and the distribution destination printing apparatus is determined based on a response result;
Processing for transmitting a distributed print job in which the required number of copies is set to 1 for each of the determined distribution destination printing apparatuses;
The total number of copies printed by distribution destination printing device to repeatedly alternately until a number of copies specified in the print job,
If it is determined that the entire print job cannot be stored in the print job storage unit,
Data indicating the distribution destination printing device and the number of copies to be allocated to each of the distribution destination printing devices according to reception of a part of the print job, and representing the number of printing copies for the distribution destination printing device send distributed print job including, receiving the remainder of the print job after transmission of the print job, and a control unit, a distributed printing control apparatus.
請求項に記載の分散印刷制御装置であって、
前記分散印刷制御装置は、
前記複数の印刷装置の中から、オンライン状態であって、かつ、印刷ジョブを受信中でなく、印刷中でもないという所定の条件を満たす印刷装置を候補印刷装置として検索する検索処理と、
前記検索された候補印刷装置の中から前記分散先印刷装置を決定する分散先決定処理と、
前記決定後において、前記所定の条件を満たすこととなった印刷装置を前記分散印刷制御装置に追加決定する分散先追加決定処理と、
前記追加された分散印刷制御装置に、前記追加前に割り当てられた印刷部数のうちの残数の一部を割り当てる再割当て処理と、
を実行することが可能である、分散印刷制御装置。
The distributed printing control apparatus according to claim 1 ,
The distributed printing control device
Search processing for searching as a candidate printing device a printing device that satisfies the predetermined condition that the printing device is online and is not receiving a print job or printing from the plurality of printing devices;
A distribution destination determination process for determining the distribution destination printing device from the retrieved candidate printing devices;
After the determination, a distribution destination addition determination process for additionally determining the printing apparatus that satisfies the predetermined condition to the distributed printing control apparatus;
Reassignment processing for allocating a part of the remaining number of print copies allocated before the addition to the added distributed print control device;
A distributed printing control apparatus capable of executing
ネットワークに接続された印刷装置であって、
印刷を行う印刷部と、
請求項1ないしのいずれかに記載の分散印刷制御装置と、
を備えることを特徴とする印刷装置。
A printing device connected to a network,
A printing section for printing;
A distributed printing control device according to any one of claims 1 to 2,
A printing apparatus comprising:
ネットワークを介して送信される印刷ジョブを、前記ネットワークに接続された複数の印刷装置のうち、分散先となる1以上の分散先印刷装置に分散することが可能な分散印刷制御方法であって、
前記印刷ジョブの全体が印刷ジョブ格納部に格納可能か否かを判定する判定工程と、
前記判定工程において、前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能と判定された場合には、
前記印刷ジョブの受信に応じて、前記ネットワークに接続された印刷装置に対して動作状態の問い合わせをおこない、応答結果に基づいて、前記分散先印刷装置を決定する分散先決定工程と、
決定した各前記分散先印刷装置に対して必要な印刷部数を1とした分散印刷ジョブを送信する送信工程と、
前記分散先印刷装置により印刷された部数の合計が前記印刷ジョブにおいて指定された印刷部数に達するまで前記分散先決定工程と前記送信工程とを交互に繰り返す工程と、をおこない、
前記判定工程において、前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能ではないと判定された場合には、
前記印刷ジョブの一部の受信に応じて、前記分散先印刷装置と、前記分散先印刷装置の各々に割り当てる印刷部数と、を決定する工程と、
前記分散先印刷装置に対して前記印刷部数を表すデータを含む分散印刷ジョブを送信し、前記印刷ジョブの送信後に前記印刷ジョブの残部を受信する工程と、をおこなうことを特徴とする、分散印刷制御方法。
A distributed printing control method capable of distributing a print job transmitted via a network to one or more distribution destination printing apparatuses serving as distribution destinations among a plurality of printing apparatuses connected to the network,
A determination step of determining whether or not the entire print job can be stored in a print job storage unit;
In the determination step, when it is determined that the entire print job can be stored in the print job storage unit,
In response to receiving the print job, an inquiry is made to the printing device connected to the network, and a distribution destination determining step of determining the distribution destination printing device based on a response result;
A transmission step of transmitting a distributed print job in which the required number of copies is set to 1 for each of the determined distribution destination printing devices;
Performing the step of alternately repeating the distribution destination determination step and the transmission step until the total number of copies printed by the distribution destination printing device reaches the number of copies specified in the print job ,
In the determination step, when it is determined that the entire print job cannot be stored in the print job storage unit,
Determining the distribution destination printing device and the number of copies to be allocated to each of the distribution destination printing devices in response to receiving a part of the print job;
A step of transmitting a distributed print job including data indicating the number of copies to the distribution destination printing apparatus, and receiving a remaining portion of the print job after transmitting the print job. Control method.
ネットワークを介して送信される印刷ジョブを、前記ネットワークに接続された複数の印刷装置のうち、分散先となる1以上の分散先印刷装置に分散するための処理をコンピュータに実行させるためのコンピュータプログラムであって、
前記印刷ジョブの全体が印刷ジョブ格納部に格納可能か否かを判定する判定機能と、
前記判定機能において、前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能と判定された場合には、
前記印刷ジョブの受信に応じて、前記ネットワークに接続された印刷装置に対して動作状態の問い合わせをおこない、応答結果に基づいて、前記分散先印刷装置を決定する分散先決定機能と、
決定した各前記分散先印刷装置に対して必要な印刷部数を1とした分散印刷ジョブを送信する送信機能と、
前記分散先印刷装置により印刷された部数の合計が前記印刷ジョブにおいて指定された印刷部数に達するまで前記分散先決定機能と前記送信機能とを交互に繰り返す機能と、を前記コンピュータに実現させ
前記判定機能において、前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能ではないと判定された場合には、
前記印刷ジョブの一部の受信に応じて、前記分散先印刷装置と、前記分散先印刷装置の各々に割り当てる印刷部数と、を決定する機能と、
前記分散先印刷装置に対して前記印刷部数を表すデータを含む分散印刷ジョブを送信し、前記印刷ジョブの送信後に前記印刷ジョブの残部を受信する機能と、を前記コンピュータに実現させるプログラムを有することを特徴とする、コンピュータプログラム。
A computer program for causing a computer to execute a process for distributing a print job transmitted via a network to one or more distribution destination printing apparatuses serving as distribution destinations among a plurality of printing apparatuses connected to the network. Because
A determination function for determining whether or not the entire print job can be stored in the print job storage unit;
In the determination function, when it is determined that the entire print job can be stored in the print job storage unit,
A distribution destination determination function for inquiring of an operation state to a printing apparatus connected to the network in response to reception of the print job, and determining the distribution destination printing apparatus based on a response result;
A transmission function for transmitting a distributed print job in which the necessary number of copies is set to 1 for each of the determined distribution destination printing apparatuses;
Causing the computer to realize the function of alternately repeating the distribution destination determination function and the transmission function until the total number of copies printed by the distribution destination printing apparatus reaches the number of copies specified in the print job ,
When the determination function determines that the entire print job cannot be stored in the print job storage unit,
A function for determining the distribution destination printing device and the number of print copies to be allocated to each of the distribution destination printing devices in response to reception of a part of the print job;
With distributed send a print job, a function of receiving the remainder of the print job after transmission of the print job, Ru was implemented on the computer program comprising data representing the number of print copies to the distribution destination printing device A computer program characterized by the above.
JP2005076528A 2005-03-17 2005-03-17 Distributed print control apparatus and print job distribution method Expired - Fee Related JP4613653B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005076528A JP4613653B2 (en) 2005-03-17 2005-03-17 Distributed print control apparatus and print job distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005076528A JP4613653B2 (en) 2005-03-17 2005-03-17 Distributed print control apparatus and print job distribution method

Publications (2)

Publication Number Publication Date
JP2006256093A JP2006256093A (en) 2006-09-28
JP4613653B2 true JP4613653B2 (en) 2011-01-19

Family

ID=37095829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005076528A Expired - Fee Related JP4613653B2 (en) 2005-03-17 2005-03-17 Distributed print control apparatus and print job distribution method

Country Status (1)

Country Link
JP (1) JP4613653B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319532A (en) * 1996-05-28 1997-12-12 Canon Inc Print control apparatus and method
JPH11110163A (en) * 1997-10-06 1999-04-23 Ricoh Co Ltd Print processing equipment
JP2002215369A (en) * 2001-01-16 2002-08-02 Canon Inc Distributed printing control device, distributed printing control method, and storage medium

Also Published As

Publication number Publication date
JP2006256093A (en) 2006-09-28

Similar Documents

Publication Publication Date Title
JP2005322054A (en) Distributed print control apparatus and print job distribution method
US7576879B2 (en) Method of connecting terminal device to printer
US20030225864A1 (en) Host-based automatic negotiation of an internet protocol address for a network connected device
JP4835493B2 (en) Image forming apparatus
US20060274370A1 (en) Control technology used in distributed printing for printing control device and printer
JP4650158B2 (en) Print control apparatus for executing distributed control, and printing apparatus
JP3941794B2 (en) Distributed print control apparatus and print job distribution method
JP3800158B2 (en) Data transmission system, terminal device, and program
JP3997204B2 (en) Automatic arrangement of internet protocol addresses for networked devices
JP4613653B2 (en) Distributed print control apparatus and print job distribution method
JP2006256089A (en) Distributed print control apparatus and print job distribution method
JP4114502B2 (en) Output control device
JP4289164B2 (en) Distributed print control apparatus and print job distribution method
US20050134909A1 (en) Distributed printing control device and print job distribution method
JP2006277474A (en) Monitoring the progress of printing in distributed printing
JP2005178347A (en) Distributed printing control apparatus and printing apparatus including the same
JP2009015716A (en) Image forming apparatus with multiple IP addresses
CN101008888A (en) Printer
JP2007172239A (en) Information processing apparatus, information processing method, and computer program
JPH10283130A (en) Printer control device, printer control method, and recording medium
JP4139541B2 (en) Printer and printer job data transfer method
JP2004272918A (en) System and method for multicast printing
JP2005346739A (en) Printer and printer job data transfer method
JP2006277034A (en) Distributed printing control apparatus and distribution destination printing apparatus candidate determination method
JP4243831B2 (en) Printer and printer job data transfer method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100901

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4613653

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

Year of fee payment: 3

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