JP4613653B2 - Distributed print control apparatus and print job distribution method - Google Patents
Distributed print control apparatus and print job distribution method Download PDFInfo
- 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
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.
しかし、従来技術では、分散印刷を実現するために専用サーバを含めた大がかりなシステムが必要となっていた。さらに、従来の分散印刷では、各分散先における印刷部数が最初に決定されているため、紙切れやジャムといった種々の理由で一部の遅い分散先が進捗が遅くなった場合には、最も遅い分散先の印刷が完了するまで印刷ジョブが完了しないという問題も生じていた。 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
一方、本発明の特徴部分であるカスタムネットワークボードCNBは、主として、CPU20と、メモリ30と、を備えている。また、この他、実際にネットワーク通信を行うための通信用インタフェースなども備えているが、説明の便宜上、省略されている。
On the other hand, the custom network board CNB which is a characteristic part of the present invention mainly includes a
CPU20は、メモリ30より、上記した分散印刷ソフトウェアなどのプログラムを読み出して、実行することにより、図示した各機能ブロックとして機能する。なお、各機能ブロックをハードウェア的に構築しても構わない。このようなCPU20が、請求項に記載の制御部に相当する。
The
これら機能ブロックのうち、TCP/IP解釈部21は、TCP/IPプロトコルを解釈して、ネットワークを介して外部との通信を行う。具体的には、受信した通信データに含まれる送信先IPアドレスや送信先ポート番号を検出したり、送信する通信データに送信先IPアドレスや送信先ポート番号を付与したりする。無手順プロトコル解釈部22A,22Bは、印刷プロトコルである無手順プロトコルを解釈する。本実施例では、説明の便宜上、通信データが、送信先ポート番号として通常の「9100」で送信されている場合には、無手順プロトコル解釈部22Bが機能し、特定の「19100」で送信されている場合には、無手順プロトコル解釈部22Aが機能するものとしている。
Among these functional blocks, the TCP /
また、分散先決定部23は、分散印刷を行う際に、LAN上から、分散先となるべきプリンタを候補プリンタとして検索し、それら候補プリンタの中から分散先プリンタを決定する。部数決定部24は、指定されている総印刷部数から、各分散先プリンタに割り当てるべき分散部数を決定する。分散処理部25は、印刷ジョブデータに含まれる印刷部数を示すQT値を書き換えた上で、各分散プリンタに印刷ジョブデータを分配する。
In addition, when performing distributed printing, the distribution
一方、メモリ30は、上記したプログラムを格納する他、各種データを格納するために、印刷ジョブ格納部31や分散先指定ファイル格納部32を備えている。このうち、印刷ジョブ格納部31は、送信された印刷ジョブデータを一時的に格納するための格納部である。また、分散先指定ファイル格納部32は分散先指定ファイルを格納する。この分散先指定ファイルは、LANに接続されている複数のプリンタの中で、分散印刷における分散先として使用したいプリンタを、前もって、指定して限定しておきたい場合に用いる。従って、そのような指定が不要な場合には、分散先指定ファイル格納部32には何も格納されない。
On the other hand, the
さて、図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
なお、図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
プリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に従って、その通信データを受信し、さらに、その通信データに含まれる送信先ポート番号が「9100」であるので、「9100」で送信された通信データを扱う無手順プロトコル解釈部22Bに渡す。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数を読み取り、指定されている部数だけ、プリンタエンジン41に印刷を実行させる。
In the printer PRT1, the TCP /
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
以上の前提を踏まえた上で、印刷ジョブを、クライアント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
これにより、クライアント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
プリンタPRT1では、TCP/IP解釈部21が、通信データDT0に含まれる送信先IPアドレス「IP1」に従って、その通信データを受信し、さらに、その通信データに含まれる送信先ポート番号が「19100」であるので、今度は、無手順プロトコル解釈部22Bではなく、「19100」で送信された通信データを扱う無手順プロトコル解釈部22Aに渡す。
In the printer PRT1, the TCP /
一方、分散処理部25は、ポート番号「19100」に、印刷ジョブが着信するまで待機している(ステップS102)。無手順プロトコル解釈部22Aは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取ると、その印刷ジョブのデータを、ポート番号「19100」で待機している分散処理部25に渡す。
On the other hand, the distributed
分散処理部25は、受信した印刷ジョブデータの先頭から順次受け取って印刷ジョブ格納部31に格納する(ステップS104)。
The
図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
次に、ステップS112では、分散処理部25は、印刷ジョブデータの印刷ジョブ格納部31部への格納を再開し、受信した印刷ジョブデータを印刷ジョブ格納部31に格納する。そして、分散処理部25は、受信した印刷ジョブデータが、印刷ジョブ格納部31に入りきったか否かを判定し(ステップS114)、入りきった場合には、さらに、送信されてきた印刷ジョブデータの全てを受信したか否かを判定する(ステップS116)。判定の結果、未だ、印刷ジョブデータの全てを受信していない場合には、ステップS112の処理に戻り、分散処理部25は、引き続き、受信した印刷ジョブデータを印刷ジョブ格納部31に格納し、印刷ジョブデータの全てを受信するまで、ステップS112からステップS116までの処理を繰り返す。その後、印刷ジョブデータの全てを受信するまでの間に、受信した印刷ジョブデータが、印刷ジョブ格納部31に入りきらなかった場合には、後述する第2の分散印刷処理が実行される(ステップS120)。反対に、印刷ジョブデータの全てを受信して、その印刷ジョブデータの全てが印刷ジョブ格納部31に入りきった場合には、後述する第1の分散印刷処理が実行される(ステップS118)。
Next, in step S112, the
即ち、本実施例では、図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
図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
図7は共通前処理の処理手順を示すフローチャートである。この共通前処理では、分散先決定部23は、まず、分散先指定ファイル格納部32に、分散先指定ファイルが格納されているか否かを検出する(ステップS302)。分散先指定ファイルが格納されている場合には、前もって、分散先として使用したいプリンタの候補が指定されていることになる。
FIG. 7 is a flowchart showing a processing procedure of common preprocessing. In this common preprocessing, the distribution
図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
さて、分散先指定ファイル格納部32に分散先指定ファイルが格納されている場合には、分散先決定部23は、その分散先指定ファイルを読み出して、記載されているプリンタのIPアドレスをリストアップする(ステップS304)。
When the distribution destination designation file is stored in the distribution destination designation
反対に、分散先指定ファイルが格納されていない場合には、分散先決定部23は、SNMPなどを利用して、LANに対し、ブロードキャストでLANに接続されている各機器のIPアドレスを問い合わせ、応答されたIPアドレスをリストアップする(ステップS306)。
On the other hand, if the distribution destination designation file is not stored, the distribution
次に、分散先決定部23は、SNMPで、リストアップしたIPアドレスの各機器に対し、その機種名を問い合わせ、応答された機種名に基づいて、自己のプリンタPRT1と同一機種のプリンタを抽出する(ステップS308)。このように、自己のプリンタPRT1と同一機種のプリンタを、分散先プリンタの候補として抽出するのは、分散印刷を行う際に、各分散先プリンタにおいて、印刷ジョブのデータ変換などをすることなく、適正な印刷を行わせるためである。この結果、各分散先プリンタでの印刷物の品質、例えば、解像度やフォントなどを統一することができる。カラー印刷や両面印刷指定も統一して実行する。
Next, the distribution
なお、既述したとおり、分散先決定部23は、プリンタPRT1の電源投入時に、プリンタPRT1の機種名を既に取得しているので、それに基づいて、自己のプリンタPRT1と同一機種のプリンタを抽出する。
As described above, the distribution
また、分散先指定ファイルで指定されている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
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
第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
こうして、分散処理部25は、受信した印刷ジョブを、QT値のみ「1部」に変更して、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、各分散先プリンタにそれぞれ送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、各分散先プリンタのIPアドレスをそれぞれ指定すると共に、送信先ポート番号としては、受信した際のポート番号「19100」ではなく、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。
In this way, the
例えば、図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 /
他の分散先プリンタであるプリンタ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 /
以上のようにして、分散先プリンタであるプリンタ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
ところで、ステップ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
そこで、そのように、分散先決定部23が、1台のプリンタも選択していない場合には(ステップS208)、まず、タイマ(図示せず)の計時動作を開始させ(ステップS226)、その後、例えば、5秒などの一定時間待機する(ステップS228)。そして、分散先決定部23は、タイマによる計時開始から、例えば、5分など所定時間経過したか否かを判定し(ステップS230)、未だその時間を経過していなければ、ステップS206に戻って、候補プリンタの選択を実行する。こうして、分散先決定部23は、候補プリンタとして1台以上のプリンタを選択するまで、同様の処理を繰り返す。なお、この間、タイマの計時動作は継続させる(ステップS226)。このように、所定の期間、上記の処理を繰り返すことにより、その期間中に、受信中や印刷中であったプリンタが印刷を完了して、再度の印刷を実行することが可能となった場合や、または、用紙切れであったプリンタに用紙が補充されて、オンライン状態になったり、電源がオフ状態であったプリンタに電源が投入され、電源オンの状態になったりして、印刷を実行することが可能となった場合には、候補プリンタとしてそれらのプリンタを選択することが可能となる
Therefore, when the distribution
しかし、タイマによる計時開始から所定時間経過しても、候補プリンタとして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
次に、分散処理部25は、印刷ジョブ格納部31に格納している印刷ジョブデータのうち、QT値を、残存印刷部数である「r部」に変更して、その印刷ジョブデータを分散先プリンタである自己プリンタPRT1に送信する(ステップS236)。
Next, the
こうして、分散処理部25は、受信した印刷ジョブを、QT値のみを「r部」に変更して、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、分散先プリンタである自己プリンタPRT1に送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、自己プリンタPRT1のIPアドレス「IP1」を指定すると共に、送信先ポート番号としては、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。
In this way, the distributed
また、分散先プリンタである自己のプリンタ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 /
以上のようにして、所定時間中に候補プリンタとして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
一方、ステップ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
そして、分散処理部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
こうして、システム全体において、各分散先プリンタで印刷された累積の印刷部数は、「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
以上のようにして、第1の分散印刷処理ルーチンを終了すると、CPU20は、図4の処理に戻り、図4の一連の処理も終了する。
When the first distributed printing processing routine is completed as described above, the
図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
次に、分散先決定部23は、共通前処理で抽出したプリンタに対し、SNMPなどで、動作状態の問い合わせを行い、その応答結果に基づいて、オンライン状態にあるプリンタを候補プリンタとして選択する(ステップS402)。これにより、用紙切れなど、エラーを起こしていて、すぐには印刷できないプリンタを、分散先プリンタの候補から排除することができる。
Next, the distribution
なお、共通前処理で抽出したプリンタの中に自己プリンタ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
こうして、分散先決定部23は、以上のようにして選択したプリンタを、分散先プリンタとして決定する(ステップS416)。前述したとおり、図1中に示した例では、分散先プリンタとして、自己のプリンタPRT1と、他のプリンタPRT2〜PRT4の合計4台のプリンタを決定している。
In this way, the distribution
第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). )
なお、式(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
こうして、分散処理部25は、受信した印刷ジョブを、QT値のみ変更して、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、各分散先プリンタにそれぞれ送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、各分散先プリンタのIPアドレスをそれぞれ指定すると共に、送信先ポート番号としては、受信した際のポート番号「19100」ではなく、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。
In this way, the distributed
例えば、図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
さて、一方、図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
その結果、格納している印刷ジョブデータにジョブ制御言語部分が見つかっていない場合は、印刷ジョブデータにジョブ制御言語部分自体がないものと判断でき、また、ジョブ制御言語部分は見つかっているが、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
また、前述したとおり、総印刷部数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
こうして、分散処理部25は、受信した印刷ジョブを、無手順プロトコル解釈部22B,TCP/IP解釈部21を介して、自己のプリンタPRT1に送信することになる。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信すると共に、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、自己プリンタPRT1のIPアドレス「IP1」を指定すると共に、送信先ポート番号としては、無手順プロトコルで通常割り当てるボート番号「9100」を指定する。
Thus, the distributed
自己プリンタ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 /
以上のようにして、受信した印刷ジョブデータに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
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
また、上記プリンタPRT1では、印刷ジョブデータの全てが印刷ジョブ格納部31に入りきった場合、LANに接続されているプリンタの中から、オンライン状態であり、かつ、印刷ジョブを受信中でなく、印刷中でもないプリンタを検索し、分散先プリンタを決定するため、エラーを発生しているプリンタや、エラーを発生する可能性のあるプリンタを、分散先プリンタから排除することができ、印刷に失敗したプリンタに繰り返し印刷ジョブデータを送信したりすることを避けることができる。
Further, in the printer PRT1, when all the print job data has entered the print
また、クライアント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
また、上記プリンタ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
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
図10において、LPR解釈部26,14は、それぞれ、印刷プロトコルであるLPR(Line Printer daemon protocol)を解釈する。
In FIG. 10,
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
プリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に従って、その通信データを受信する。無手順プロトコル解釈部22Bは、無手順プロトコルに従って、印刷ジョブを含む通信データを受け取り、印刷ジョブをプリンタコントローラ42に渡す。プリンタコントローラ42は、印刷ジョブのデータに含まれるQT値から印刷部数を読み取り、指定されている部数だけ、プリンタエンジン41に印刷を実行させる。
In the printer PRT1, the TCP /
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
プリンタPRT1では、TCP/IP解釈部21が、通信データに含まれる送信先IPアドレス「IP1」に従って、その通信データを受信する。LPR解釈部26は、LPRに従って、印刷ジョブを含む通信データを受け取り、そのうちの印刷ジョブのデータを分散処理部25に渡す。
In the printer PRT1, the TCP /
こうして、本実施例において、分散処理部25に印刷ジョブデータが渡されてから、その後、分散先プリンタが決定されるまでの処理については、第1の実施例と同様であるので、それらについての説明は省略する。なお、ここで、例えば、分散先プリンタとしてプリンタPRT1〜PRT4が決定されたものとする。
Thus, in this embodiment, the processing from when the print job data is passed to the
その後、分散処理部25は、受信した印刷ジョブのQT値のみを変更し、そして、その印刷ジョブを、LPR解釈部26ではなく、無手順プロトコル解釈部22Bを介し、さらに,TCP/IP解釈部21を介して、各分散先プリンタにそれぞれ送信する。このとき、無手順プロトコル解釈部22Bは、印刷プロトコルである無手順プロトコルに従って、その印刷ジョブを含む通信データを送信する。また、TCP/IP解釈部21は、その通信データの送信先IPアドレスとして、各分散先プリンタのIPアドレスをそれぞれ指定する。
Thereafter, the distributed
分散先プリンタの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 /
他の分散先プリンタであるプリンタ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 /
以上のようにして、分散先プリンタであるプリンタ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
また、クライアント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
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
ステップ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
加えて、データサイズが大きな印刷対象画像データの送信を最初の一度だけとすることができるので、ネットワークのトラフィックを小さくすることができる。さらに、分散印刷が完了するまで印刷ジョブが終了しないので、他の印刷ジョブを排して迅速に分散印刷を完了させることができるとともに、分散先印刷装置を独占して他の印刷物の混入も防止することができる。 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
なお、上述の変形例では、「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
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
上記した実施例では、印刷ジョブ格納部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
即ち、送信された印刷ジョブデータの全てが印刷ジョブ格納部31に入りきった場合には、図7に示す共通前処理を実行した上で、抽出したプリンタに対し、SNMPなどで、動作状態の問い合わせを行い、その応答結果に基づいて、オンライン状態にあるプリンタを分散先プリンタとして決定し、自己プリンタPRT1に予め設定されている所定の回数分だけ、印刷ジョブ格納部31に格納している印刷ジョブデータを、書き換えることなくそのまま、決定した各分散先プリンタに対して、それぞれ送信するようにしてもよい。
That is, when all of the transmitted print job data has entered the print
また、送信された印刷ジョブデータの全てが印刷ジョブ格納部31に入りきらなかった場合には、同様に、共通前処理を実行した上で、抽出したプリンタに対し動作状態の問い合わせを行って、オンライン状態にあるプリンタを分散先プリンタとして決定し、印刷ジョブ格納部31に格納している印刷ジョブデータを、書き換えることなくそのまま、その決定した各分散先プリンタに対して、それぞれ送信し、その後、それ以降に受信した印刷ジョブデータも、それら分散先プリンタに対し送信するようにしてもよい。
If all of the transmitted print job data does not fit in the print
このように構成することにより、例えば、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.
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 /
21 ... TCP /
Claims (5)
前記印刷ジョブを格納するための印刷ジョブ格納部と、
前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能か否かを判定し、
前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能と判定した場合には、
前記印刷ジョブの受信に応じて、前記ネットワークに接続された印刷装置に対して動作状態の問い合わせをおこない、応答結果に基づいて、前記分散先印刷装置を決定する処理と、
決定した各前記分散先印刷装置に対して必要な印刷部数を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ないし2のいずれかに記載の分散印刷制御装置と、
を備えることを特徴とする印刷装置。 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とした分散印刷ジョブを送信する送信工程と、
前記分散先印刷装置により印刷された部数の合計が前記印刷ジョブにおいて指定された印刷部数に達するまで前記分散先決定工程と前記送信工程とを交互に繰り返す工程と、をおこない、
前記判定工程において、前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能ではないと判定された場合には、
前記印刷ジョブの一部の受信に応じて、前記分散先印刷装置と、前記分散先印刷装置の各々に割り当てる印刷部数と、を決定する工程と、
前記分散先印刷装置に対して前記印刷部数を表すデータを含む分散印刷ジョブを送信し、前記印刷ジョブの送信後に前記印刷ジョブの残部を受信する工程と、をおこなうことを特徴とする、分散印刷制御方法。 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とした分散印刷ジョブを送信する送信機能と、
前記分散先印刷装置により印刷された部数の合計が前記印刷ジョブにおいて指定された印刷部数に達するまで前記分散先決定機能と前記送信機能とを交互に繰り返す機能と、を前記コンピュータに実現させ、
前記判定機能において、前記印刷ジョブの全体が前記印刷ジョブ格納部に格納可能ではないと判定された場合には、
前記印刷ジョブの一部の受信に応じて、前記分散先印刷装置と、前記分散先印刷装置の各々に割り当てる印刷部数と、を決定する機能と、
前記分散先印刷装置に対して前記印刷部数を表すデータを含む分散印刷ジョブを送信し、前記印刷ジョブの送信後に前記印刷ジョブの残部を受信する機能と、を前記コンピュータに実現させるプログラムを有することを特徴とする、コンピュータプログラム。 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.
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)
| 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 |
-
2005
- 2005-03-17 JP JP2005076528A patent/JP4613653B2/en not_active Expired - Fee Related
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 |