JP4174523B2 - Information processing apparatus, printing system, load distribution printing method, program, and storage medium - Google Patents

Information processing apparatus, printing system, load distribution printing method, program, and storage medium Download PDF

Info

Publication number
JP4174523B2
JP4174523B2 JP2006130884A JP2006130884A JP4174523B2 JP 4174523 B2 JP4174523 B2 JP 4174523B2 JP 2006130884 A JP2006130884 A JP 2006130884A JP 2006130884 A JP2006130884 A JP 2006130884A JP 4174523 B2 JP4174523 B2 JP 4174523B2
Authority
JP
Japan
Prior art keywords
print
job
backup
job information
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006130884A
Other languages
Japanese (ja)
Other versions
JP2006209809A (en
Inventor
隆 八木田
正道 大島
中克 黒津
秀和 師岡
浩一郎 椀田
浩司 菊池
圭 北形
健一 白井
博之 嘉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006130884A priority Critical patent/JP4174523B2/en
Publication of JP2006209809A publication Critical patent/JP2006209809A/en
Application granted granted Critical
Publication of JP4174523B2 publication Critical patent/JP4174523B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、複数の印刷装置を効率よく利用するための印刷処理技術に関するものである。   The present invention relates to a print processing technique for efficiently using a plurality of printing apparatuses.

従来から、文書を大量に印刷する必要のある状況において、1つの高速大量印刷装置を使用して大量印刷を行うのではなく、複数の低価格中速印刷装置に印刷負荷を分散し、それら並列に動作させることにより安価に高速印刷を実現する負荷分散印刷システムが存在する。   Conventionally, in situations where it is necessary to print a large amount of documents, instead of using one high-speed mass printing device to perform mass printing, the printing load is distributed to a plurality of low-priced medium-speed printing devices in parallel. There is a load distribution printing system that realizes high-speed printing at low cost by operating in the same manner.

そして、このように複数の印刷装置を並列に動作させる場合、特定の印刷装置に負荷が偏るという問題があり、この問題を解決するために、複数の印刷装置を効率よく利用するための様々な技術が提案されている(例えば、特許文献1参照)。
特開平06−259206号公報
When a plurality of printing apparatuses are operated in parallel as described above, there is a problem that a load is biased to a specific printing apparatus. In order to solve this problem, there are various methods for efficiently using a plurality of printing apparatuses. A technique has been proposed (see, for example, Patent Document 1).
Japanese Patent Laid-Open No. 06-259206

しかしながら、特許文献1に代表される従来のプリントシステムでは、複数のプリントキューに対して同じ印刷データを重複して登録し、最初に印刷可能となった印刷装置に対応するプリントキューに登録した印刷データを利用して、それ以外のプリントキューに登録した印刷データを削除している。しかし、このように同じ印刷データを重複して登録するのでは、メモリ容量や演算処理などのリソース負荷が大きいという問題があった。また、一時的ではあるが、複数の同じ印刷データがプリントキューを占有するので、全体としてキューに登録されている印刷ジョブが多くなり、印刷ジョブのスケジューリングを行いにくいという問題があった。更に、ユーザにプリントキューの状態を提示する場合に、実際の印刷ジョブの数以上に、プリントキューが非常に混雑しているように見えてしまい、ユーザを混乱させてしまうという問題があった。   However, in the conventional print system represented by Patent Document 1, the same print data is registered in duplicate for a plurality of print queues, and the print registered in the print queue corresponding to the printing apparatus that can print first is registered. The print data registered in the other print queue is deleted using the data. However, registering the same print data redundantly as described above has a problem that the resource load such as memory capacity and arithmetic processing is large. In addition, although temporarily, a plurality of the same print data occupies the print queue, there is a problem that the number of print jobs registered in the queue increases as a whole, and it is difficult to schedule print jobs. Furthermore, when presenting the status of the print queue to the user, the print queue appears to be very crowded more than the actual number of print jobs, causing the user to be confused.

本発明は上記従来の課題を解決するためになされたもので、少ないリソースで複数の印刷装置に効率よく印刷を行わせる負荷分散印刷技術を提供することを目的とする。   The present invention has been made to solve the above-described conventional problems, and an object of the present invention is to provide a load distribution printing technique that allows a plurality of printing apparatuses to perform printing efficiently with less resources.

上記目的を達成するため、本発明に係る装置は、
印刷装置に印刷ジョブを送信可能な情報処理装置であって、
一の印刷装置に対して基本プリントキューおよびバックアッププリントキューを設定する設定手段と、
前記一の印刷装置に対する印刷指示に基づいて、前記一の印刷装置の基本プリントキューに印刷ジョブ情報を登録する印刷ジョブ登録手段と、
他の印刷装置の基本プリントキューに登録された印刷ジョブ情報のバックアップとなるバックアップジョブ情報を、前記一の印刷装置のバックアッププリントキューに登録するバックアップジョブ情報登録手段と、
前記一の印刷装置の基本プリントキューに印刷ジョブ情報が登録され且つ前記一の印刷装置のバックアッププリントキューにバックアップジョブ情報が登録されている場合に、前記基本プリントキューに登録されている印刷ジョブ情報を優先的に前記一の印刷装置へ出力し、前記一の印刷装置の前記基本プリントキューに印刷ジョブ情報が登録されておらず且つ前記一の印刷装置のバックアッププリントキューにバックアップジョブ情報が登録されている場合に、該バックアップジョブ情報に基づき印刷ジョブ情報を生成して前記一の印刷装置へ出力するジョブ制御手段と、
を備えることを特徴とする。
In order to achieve the above object, an apparatus according to the present invention provides:
An information processing apparatus capable of transmitting a print job to a printing apparatus ,
Setting means for setting a basic print queue and a backup print queue for one printing device ;
Print job registration means for registering print job information in a basic print queue of the one printing apparatus based on a printing instruction for the one printing apparatus ;
Backup job information registration means for registering backup job information serving as a backup of print job information registered in the basic print queue of another printing apparatus in the backup print queue of the one printing apparatus ;
Print job information registered in the basic print queue when print job information is registered in the basic print queue of the one printing device and backup job information is registered in the backup print queue of the one printing device Is preferentially output to the one printing device, print job information is not registered in the basic print queue of the one printing device, and backup job information is registered in the backup print queue of the one printing device. A job control unit that generates print job information based on the backup job information and outputs the print job information to the one printing apparatus ;
It is characterized by providing.

上記目的を達成するため、本発明に係る方法は、
印刷装置に印刷ジョブを送信可能な情報処理方法であって、
一の印刷装置に対して基本プリントキューおよびバックアッププリントキューを設定する設定工程と、
前記一の印刷装置に対する印刷指示に基づいて、前記一の印刷装置の基本プリントキューに印刷ジョブ情報を登録する印刷ジョブ登録工程と、
他の印刷装置の基本プリントキューに登録された印刷ジョブ情報のバックアップとなるバックアップジョブ情報を、前記一の印刷装置のバックアッププリントキューに登録するバックアップジョブ情報登録工程と、
前記一の印刷装置の基本プリントキューに印刷ジョブ情報が登録され且つ前記一の印刷装置のバックアッププリントキューにバックアップジョブ情報が登録されている場合に、前記基本プリントキューに登録されている印刷ジョブ情報を優先的に前記一の印刷装置へ出力し、前記一の印刷装置の前記基本プリントキューに印刷ジョブ情報が登録されておらず且つ前記一の印刷装置のバックアッププリントキューにバックアップジョブ情報が登録されている場合に、該バックアップジョブ情報に基づき印刷ジョブ情報を生成して前記一の印刷装置へ出力するジョブ制御工程と、
を備えることを特徴とする。
In order to achieve the above object, the method according to the present invention comprises:
An information processing method capable of transmitting a print job to a printing apparatus ,
A setting step for setting a basic print queue and a backup print queue for one printing device ;
A print job registration step of registering print job information in a basic print queue of the one printing apparatus based on a print instruction to the one printing apparatus ;
A backup job information registration step for registering backup job information as a backup of print job information registered in the basic print queue of another printing apparatus in the backup print queue of the one printing apparatus ;
Print job information registered in the basic print queue when print job information is registered in the basic print queue of the one printing device and backup job information is registered in the backup print queue of the one printing device Is preferentially output to the one printing device, print job information is not registered in the basic print queue of the one printing device, and backup job information is registered in the backup print queue of the one printing device. A job control step for generating print job information based on the backup job information and outputting the print job information to the one printing device ;
It is characterized by providing.

本発明によれば、少ないリソースで複数の印刷装置を効率よく利用する負荷分散印刷技術を提供することができる。   According to the present invention, it is possible to provide a load distribution printing technique that efficiently uses a plurality of printing apparatuses with less resources.

以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。   Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings. However, the constituent elements described in this embodiment are merely examples, and are not intended to limit the scope of the present invention only to them.

なお、本明細書において、印刷データとはPDL等で記述された画像データであり、印刷ジョブ情報は、印刷データを出力したいプリンタ、印刷データの格納場所、及び印刷方法に関する情報であり、印刷ジョブは、印刷データと印刷ジョブ情報とを組み合わせたものである。   In this specification, print data is image data described in PDL or the like, and print job information is information about a printer that wants to output print data, a storage location of print data, and a print method. Is a combination of print data and print job information.

<概要>
本実施形態に係るプリントシステムは、特開平06−259206号公報に開示されているシステムと異なり、独立した共有プリントキューをもたず、プリントデバイスに対応するプリントキューのみを備える。そして、複数のプリントデバイスに対応するプリントキューのいずれか1つが基本プリントキューとして設定され、それ以外のプリントキューはバックアッププリントキューとして設定される。本実施形態では基本プリントキューを単にプリントキューと称し、基本プリントキューに対応するプリントデバイスを負荷分散用プリントデバイスと称する。また、バックアッププリントキューに対応するプリントデバイスをバックアッププリントデバイスと称する。
<Overview>
Unlike the system disclosed in Japanese Patent Laid-Open No. 06-259206, the print system according to the present embodiment does not have an independent shared print queue, but includes only a print queue corresponding to the print device. One of the print queues corresponding to the plurality of print devices is set as a basic print queue, and the other print queues are set as backup print queues. In the present embodiment, the basic print queue is simply referred to as a print queue, and the print device corresponding to the basic print queue is referred to as a load distribution print device. A print device corresponding to the backup print queue is referred to as a backup print device.

プリンタドライバで生成された印刷ジョブの印刷ジョブ情報は、優先的に基本プリントキューに登録され、同時にその印刷ジョブ情報のバックアップとしてのジョブ情報がバックアッププリントキューに生成される。この印刷ジョブ情報に対応するバックアップジョブ情報のことを、本実施形態では仮想ジョブ情報と称し、これと比較する意味で、バックアップではない通常の印刷ジョブ情報を実ジョブ情報と称する。実ジョブ情報は、印刷データの格納場所を含むが、仮想ジョブは、印刷データとの直接の関連性はなく、その代わりに実ジョブ情報の識別情報(実ジョブID)を含む。これにより、仮想ジョブ情報から実ジョブ情報を導き出すことができる。   The print job information of the print job generated by the printer driver is preferentially registered in the basic print queue, and at the same time, job information as a backup of the print job information is generated in the backup print queue. The backup job information corresponding to the print job information is referred to as virtual job information in the present embodiment, and normal print job information that is not a backup is referred to as actual job information in the sense of comparison with this. The actual job information includes the storage location of the print data, but the virtual job has no direct relationship with the print data, and instead includes the identification information (actual job ID) of the actual job information. Thereby, real job information can be derived from virtual job information.

バックアッププリントキューを含むすべてのプリントキューは、概念的に実ジョブ情報用のキュー(実ジョブキュー)と仮想ジョブ情報用のキュー(仮想ジョブキュー)に分かれている。ユーザが印刷ジョブの状態を確認するために一般的な方法でプリントキューを参照した場合には、仮想ジョブキューはユーザインタフェースには表示されず、実ジョブキューのみが表示される。従って、ユーザは通常、実ジョブ情報の状態のみを認識可能である。   All print queues including the backup print queue are conceptually divided into a queue for actual job information (actual job queue) and a queue for virtual job information (virtual job queue). When the user refers to the print queue by a general method for confirming the status of the print job, the virtual job queue is not displayed on the user interface, but only the actual job queue is displayed. Therefore, the user can usually recognize only the status of the actual job information.

負荷分散印刷の指示があると、その指示に含まれる印刷ジョブ情報を、プリントキュー内の実ジョブキューに実ジョブ情報として登録し、他の全バックアッププリントキュー内の仮想ジョブキューには、その実ジョブ情報に対応する仮想ジョブ情報を生成する。そして、プリントキュー内の実ジョブキューにおいて、先に登録された実ジョブ情報がすべて対応するプリントデバイスに送信される前に、いずれかのバックアッププリントキュー内の実ジョブキューが空になると、そのバックアッププリントキュー内の仮想ジョブキューに登録された仮想ジョブ情報が、対応する実ジョブ情報を引き継いで、実ジョブ情報に切り替わり、実ジョブキューに登録される。そしてその直後、その実ジョブ情報に含まれる格納場所に格納された印刷データとともに、プリントデバイスに送信される。   When there is an instruction for load distribution printing, the print job information included in the instruction is registered as actual job information in the actual job queue in the print queue, and the actual job is stored in the virtual job queues in all other backup print queues. Virtual job information corresponding to the information is generated. In the actual job queue in the print queue, if any real job queue in any backup print queue becomes empty before all the registered real job information is sent to the corresponding print device, the backup The virtual job information registered in the virtual job queue in the print queue takes over the corresponding real job information, switches to the real job information, and is registered in the real job queue. Immediately thereafter, it is transmitted to the print device together with the print data stored in the storage location included in the actual job information.

つまり、負荷分散印刷に対応する印刷ジョブは、一旦基本プリントキューに登録され、その後、最も早いタイミングで印刷可能となったいずれかのプリントデバイスに送信される。従って、複数の同じ印刷データを重複登録することなく効率的に負荷分散印刷を行うことができる。   That is, a print job corresponding to load distribution printing is once registered in the basic print queue, and then transmitted to one of the print devices capable of printing at the earliest timing. Accordingly, it is possible to efficiently perform load distribution printing without redundant registration of a plurality of the same print data.

また、ユーザインタフェースにおいては、負荷分散印刷指示を行うと、まず、負荷分散用プリントデバイスの基本プリントキューに印刷ジョブ情報を示すオブジェクトが現われ、その後、最先に印刷可能となったバックアッププリントデバイスのプリントキューにその印刷ジョブ情報が移動して印刷が開始したように見える。即ち、1つの印刷データに対応する印刷ジョブのオブジェクトは1つしか表示されないため、ユーザが混乱することもない。   In the user interface, when a load distribution print instruction is issued, an object indicating print job information first appears in the basic print queue of the load distribution print device, and then the backup print device that can be printed first. It appears that the print job information has moved to the print queue and printing has started. That is, since only one print job object corresponding to one print data is displayed, the user is not confused.

なお、本システムでは複数の種類の印刷ジョブを取り扱うことができるが、特定の種類の印刷ジョブは負荷分散印刷の対象とならない。例えば、セキュアジョブと呼ばれる印刷ジョブは、セキュリティ上、ユーザの把握しないプリンタでは出力したくない印刷ジョブである。従って、プリンタドライバの設定でセキュアプリントとなっていると、対象となる印刷ジョブについては、仮想ジョブを生成せず、指定されたプリントデバイスのプリントキューの実ジョブキューにのみ実ジョブ情報が登録される。また、セキュアジョブの出力時には、プリントデバイスに対してパスワード入力が必要となる。   Although this system can handle a plurality of types of print jobs, specific types of print jobs are not subject to load distribution printing. For example, a print job called a secure job is a print job that is not desired to be output by a printer that the user does not grasp for security reasons. Therefore, if secure printing is set in the printer driver settings, virtual job is not generated for the target print job, and real job information is registered only in the real job queue of the print queue of the specified print device. The Also, when outputting a secure job, a password must be input to the print device.

<システム構成>
図1は、本発明の実施形態に係るプリントシステムの全体構成を示すブロック図である。本プリントシステムは、情報処理装置としてのプリントサーバ101と、印刷装置(プリントデバイス)としてのネットワークプリンタ102〜105と、クライアント(コンピュータ)107、108とを含み、これらが互いに接続されていることにより、全体としてネットワークを構成している。
<System configuration>
FIG. 1 is a block diagram showing the overall configuration of a printing system according to an embodiment of the present invention. The print system includes a print server 101 as an information processing apparatus, network printers 102 to 105 as printing apparatuses (print devices), and clients (computers) 107 and 108, which are connected to each other. The network is configured as a whole.

プリントサーバ101には、印刷制御プログラムが実行可能に格納されており、本プリントシステムに含まれるネットワークプリンタ102〜105を管理する機能のほか、ネットワークで使用されるファイルを蓄積したり、ネットワークの使用状態を監視したりする機能を有する。具体的には、プリントサーバ101は、自身により印刷ジョブを作成し、ネットワークプリンタ102〜105に転送する機能と、クライアント107で生成された印刷データを受信し、その印刷データを含む印刷ジョブを生成してスケジューリング処理によりネットワークプリンタ102〜105に転送する機能と、クライアント107、108で作成され、そこにスプールされている印刷ジョブに対してスケジューリング処理を行いクライアント107、108からネットワークプリンタ102〜105に直接印刷ジョブを転送するよう指示する機能とを有する。プリントサーバ101は、必ずしもプリンタの管理に特化したコンピュータである必要はなく、プリント管理機能を備えた汎用のコンピュータであればよく、他のコンピュータとの関係でクライアントとして機能してもよい。   The print server 101 stores a print control program so as to be executable. In addition to the function of managing the network printers 102 to 105 included in the print system, the print server 101 accumulates files used in the network and uses the network. It has a function to monitor the status. Specifically, the print server 101 generates a print job by itself, receives the print data generated by the client 107 and the function of transferring to the network printers 102 to 105, and generates a print job including the print data. And a function for transferring to the network printers 102 to 105 by the scheduling process, and a scheduling process for the print job created by the clients 107 and 108 and spooled there, and then sent from the clients 107 and 108 to the network printers 102 to 105. And a function for instructing to directly transfer a print job. The print server 101 is not necessarily a computer specialized for printer management, and may be a general-purpose computer having a print management function, and may function as a client in relation to other computers.

ネットワークプリンタ102〜105は、プリントサーバ101やクライアント107から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。ネットワークプリンタ102〜105としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。   The network printers 102 to 105 are print devices as physical devices that receive a print job including print data from the print server 101 and the client 107, analyze the received print job, and print. As the network printers 102 to 105, any type of printing apparatus such as a laser beam printer using an electrophotographic method, an ink jet printer using an ink jet method, or a printer using a thermal transfer method can be used.

クライアント107、108は、プリントサーバ101との関係でクライアントとして機能するコンピュータである。   Clients 107 and 108 are computers that function as clients in relation to the print server 101.

なお、本プリントシステムに含まれる装置間の通信は、イーサネット(登録商標)ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。   Note that communication between apparatuses included in the print system may be wired communication using an Ethernet (registered trademark) cable or the like, or wireless communication using radio waves or light.

<プリントサーバ及びクライアントの構成>
図2は、図1に示したプリントサーバ101及びクライアント107、108のハードウェア構成を説明するブロック図である。プリントサーバ101及びクライアント107、108は、ハードウェア構成上、特別な差異はないため、ここでは代表的に、プリントサーバ101の構成について説明する。
<Configuration of print server and client>
FIG. 2 is a block diagram illustrating the hardware configuration of the print server 101 and clients 107 and 108 shown in FIG. Since the print server 101 and the clients 107 and 108 do not have a particular difference in hardware configuration, the configuration of the print server 101 will be described as a representative here.

図2において、CPU200は、HD(ハードディスク)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや印刷制御プログラム等を読出して実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納制御を行うための制御手段である。   In FIG. 2, a CPU 200 reads and executes an application program, a printer driver program, an OS, a print control program, and the like stored in an HD (hard disk) 205, and temporarily stores information, files, and the like necessary for executing the program in a RAM 202. It is a control means for performing storage control automatically.

ROM201は、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する記憶手段である。RAM202は、CPU200の主メモリやワークエリア等として機能する一時記憶手段である。   The ROM 201 is a storage unit that stores programs such as a basic I / O program, various data such as font data and template data used for document processing. The RAM 202 is temporary storage means that functions as a main memory or work area of the CPU 200.

FD(フロッピー(登録商標)ディスク)ドライブ203は、後述する図5に示すように記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータシステムにロードするための記憶媒体読み込み手段である。なお、プリントサーバ101及びクライアント107、108は、FDドライブ203に代えて、あるいはFDドライブ203と共に、他の記憶媒体読込手段を備えてもよい。他の記憶媒体としては、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、コンピュータが読み取り可能なあらゆる記憶媒体が挙げられる。   The FD (floppy (registered trademark) disk) drive 203 is a storage medium reading means for loading a program or the like stored in the FD 204 as a storage medium into the computer system as shown in FIG. Note that the print server 101 and the clients 107 and 108 may include other storage medium reading means instead of the FD drive 203 or together with the FD drive 203. Examples of the other storage medium include any computer-readable storage medium such as a CD-ROM, CD-R, CD-RW, PC card, DVD, IC memory card, MO, and memory stick.

HD205は、大容量メモリとして機能する外部記憶手段であり、アプリケーションプログラム、プリンタドライバプログラム、OS、印刷制御プログラム、及び関係プログラム等を格納している。更に、スプール手段であるスプーラはここに確保される。なお、プリントサーバ101ではスプール手段としてサーバスプーラが確保され、クライアントではスプール手段としてクライアントスプーラが確保される。   The HD 205 is an external storage unit that functions as a large-capacity memory, and stores an application program, a printer driver program, an OS, a print control program, a related program, and the like. Furthermore, a spooler as spool means is secured here. The print server 101 secures a server spooler as spool means, and the client secures a client spooler as spool means.

キーボード206は、ユーザがプリントサーバ101やクライアント107、108に対して、デバイスの制御コマンドの命令等を入力指示するための指示入力手段である。   The keyboard 206 is an instruction input unit for the user to instruct the print server 101 and the clients 107 and 108 to input device control command instructions and the like.

ディスプレイ207は、キーボード206から入力したコマンドや、プリンタ102〜105の状態等を表示する表示手段である。なお、実際にはプリントサーバ101及びクライアント107、108上で稼動するオペレーティングシステムを介して表示手段に表示指示がなされ、このオペレーティングシステムに本印刷処理プログラムによりリソースファイルの表示指示が行われ、後述する各表示が実現される。208はシステムバスであり、プリントサーバ101またはクライアント107、108としてのコンピュータ内の、データの流れをつかさどるものである。   A display 207 is a display unit that displays commands input from the keyboard 206, the states of the printers 102 to 105, and the like. Actually, a display instruction is given to the display means via an operating system running on the print server 101 and the clients 107 and 108, and a resource file display instruction is given to this operating system by the print processing program, which will be described later. Each display is realized. A system bus 208 controls the flow of data in the computer as the print server 101 or the clients 107 and 108.

またインタフェース209は、入出力手段であり、プリントサーバ101またはクライアント107,108は、インタフェース209を介してネットワーク上の他の装置とのデータのやり取りを行う。   The interface 209 is an input / output unit, and the print server 101 or the clients 107 and 108 exchange data with other devices on the network via the interface 209.

<メモリマップ等の説明>
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、印刷制御プログラムが、RAM202にロードされ実行可能となった状態のメモリマップである。図5は、図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図であり、図2と同一のものには同一の符号を付してある。同図において、FD204には、印刷制御プログラム及び関係データを格納している。
<Explanation of memory map>
FIG. 3 is a diagram illustrating an example of a memory map of the RAM 202 illustrated in FIG. 2, and is a memory map in a state where the print control program is loaded into the RAM 202 and can be executed. FIG. 5 is a diagram showing a relationship with the FD 204 inserted into the FD drive 203 shown in FIG. 2, and the same components as those in FIG. 2 are denoted by the same reference numerals. In the figure, the FD 204 stores a print control program and related data.

印刷制御プログラム及び関係データは、予めFD204からHD205にインストールされて、HD205からRAM202にロードするようにしてもよいしFD204から直接RAM202にロードして実行させてもよい。更に、印刷制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。   The print control program and the related data may be installed in advance from the FD 204 to the HD 205 and loaded from the HD 205 to the RAM 202 or may be directly loaded from the FD 204 to the RAM 202 and executed. Furthermore, it is also possible to store the print control program in the ROM 201, configure it as a part of the memory map, and execute it directly by the CPU 200. In addition, software that realizes the same function as each of the above devices can be used as an alternative to a hardware device.

印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更したりする指示をするための制御を行う。一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知したりする。また、印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールとを別々に含んでいてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能したりするようにしてもよい。あるいは、一台のコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとをともにインストールし、同時にあるいは時分割で、擬似的に平行動作させる構成も可能である。   The print control program controls the client to instruct to change the print destination of the print job or to change the print order. On the other hand, the print server controls the order of print jobs, and notifies the end of printing of a print job, a print destination change request, and the like. Further, the print control program may include a module installed in the client and a module installed in the print server separately, and one print control program functions for the client depending on the environment in which it is executed. Or may function as a print server. Alternatively, it is possible to install a module having a function for a client and a module functioning for a print server in one computer, and perform a pseudo parallel operation at the same time or in a time division manner.

301は基本I/Oプログラムを記憶するための領域である。基本I/Oプログラムは、装置(プリントサーバ101またはクライアント107,108)の電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムである。   Reference numeral 301 denotes an area for storing a basic I / O program. The basic I / O program is an IPL (Initial Program Loading) function that starts the operation of the OS by reading the OS from the HD 205 into the RAM 202 when the apparatus (the print server 101 or the clients 107 and 108) is turned on. And so on.

302はOS(オペレーティングシステム)を記憶する領域であり、303は印刷制御プログラムを記憶する領域である。304は、関係データを記憶する領域である。305はワークエリアで、CPU200が各種のプログラムを実行するための領域である。   An area 302 stores an OS (operating system), and an area 303 stores a print control program. Reference numeral 304 denotes an area for storing related data. A work area 305 is an area for the CPU 200 to execute various programs.

図4は、図2に示したFD204のメモリマップの一例を示す図である。図4において、400はFD204のデータ内容であり、データの情報を示すボリューム情報401と、ディレクトリ情報402と、印刷制御プログラム403と、その関係データ404を含んでいる。   FIG. 4 is a diagram illustrating an example of a memory map of the FD 204 illustrated in FIG. In FIG. 4, reference numeral 400 denotes data contents of the FD 204, which includes volume information 401 indicating data information, directory information 402, a print control program 403, and related data 404.

<プリントシステムのソフトウェア構成>
次に、本プリントシステムのソフトウェア構成について説明する。図6Aは、サーバ101あるいはクライアント107,108におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、図2のCPU200によって実行され、所望の機能を実現する。
<Print system software configuration>
Next, the software configuration of the print system will be described. FIG. 6A is a diagram illustrating an example of a software configuration in the server 101 or the clients 107 and 108. The arrows between the components indicate how a print job including a drawing command issued from an application is processed. The software configuration shown in each block is executed by the CPU 200 in FIG. 2 to realize a desired function.

通常、Microsoft Word(登録商標)などの一般的なアプリケーションプログラム601は印刷の指示を受け付けると、一連の描画コマンドを、OSを介して生成する。OSを介して生成された描画コマンドを受け取ったPDLドライバ602は、一連の描画コマンドに基づいてネットワークプリンタ102〜104で解釈可能なPDLファイルを含む印刷ジョブを生成する。なお、以下の説明ではPDLドライバを例に説明を行うが、これに限定されるものではなく、例えば、BDL(Band description Language)や、圧縮ビットマップを作成するプリンタドライバ、あるいは、アプリケーション及びOSによりプリンタドライバを介さずに印刷データを生成する形態などにも適用可能であることはいうまでもない。   In general, when a general application program 601 such as Microsoft Word (registered trademark) receives a printing instruction, it generates a series of drawing commands via the OS. The PDL driver 602 that has received a drawing command generated via the OS generates a print job including a PDL file that can be interpreted by the network printers 102 to 104 based on a series of drawing commands. In the following description, a PDL driver will be described as an example. However, the present invention is not limited to this. For example, a BDL (Band description Language), a printer driver that creates a compression bitmap, or an application and OS Needless to say, the present invention can also be applied to a form in which print data is generated without using a printer driver.

PDLドライバ602は、プリントデバイスへ印刷ジョブを送信するためにOSが用意したジョブ制御ポートモニタ608ではなく、ジョブ制御ポートモニタ604に送信すべく、生成した印刷ジョブをスプーラ603に渡す。ジョブ制御ポートモニタ604は、ジョブ制御プリントサービス605が印刷データを受け取るために必要なモジュールである。ジョブ制御ポートモニタ608は、ジョブ制御プリントサービスにプリントデータを渡さず、プリントデバイスにデータを転送するモジュールであり、OSに組み込まれている。ジョブ制御ポートモニタ608に印刷ジョブが投入されると、ジョブ制御プリントサービスにジョブが引き継がれず、直接プリントデバイスに印刷ジョブが転送される。   The PDL driver 602 passes the generated print job to the spooler 603 for transmission to the job control port monitor 604 instead of the job control port monitor 608 prepared by the OS for transmitting the print job to the print device. The job control port monitor 604 is a module necessary for the job control print service 605 to receive print data. The job control port monitor 608 is a module that transfers data to the print device without passing print data to the job control print service, and is incorporated in the OS. When a print job is input to the job control port monitor 608, the job is not transferred to the job control print service, but is directly transferred to the print device.

ここではOSをウィンドウズ(登録商標)と仮定しているのでスプーラ603はウィンドウズ(登録商標)スプーラである。ただし、本発明を適用するコンピュータのOSはWindows(登録商標)に限定されるものではなく、描画命令を備えるものであれば他のOSも適用可能であることはいうまでもない。   Here, since the OS is assumed to be Windows (registered trademark), the spooler 603 is a Windows (registered trademark) spooler. However, the OS of the computer to which the present invention is applied is not limited to Windows (registered trademark), and it goes without saying that other OS can be applied as long as it has a drawing command.

スプーラ603は、ユーザがユーザインタフェースを介して選択し指示したポートモニタ604、608に印刷ジョブを渡して、ネットワークプリンタ102〜104等のプリントデバイスに送信させる手順をとる(矢印a)。ここでは、ユーザはあらかじめ負荷分散印刷用のポートモニタ604(以降、ジョブ制御ポートモニタと略記)を指定して印刷を指示したものとして説明を進める。   The spooler 603 takes a procedure of transferring a print job to the port monitors 604 and 608 designated and designated by the user via the user interface and transmitting the print job to a print device such as the network printers 102 to 104 (arrow a). Here, the description will proceed assuming that the user has designated the port monitor 604 for load distribution printing (hereinafter abbreviated as job control port monitor) and instructed printing.

また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ604に送信される。   In addition, print setting information such as a paper size and a staple instruction set via the printer driver interface is also transmitted to the job control port monitor 604.

ジョブ制御ポートモニタ604は、印刷ジョブをそのままプリントデバイス102〜104に送信するのではなく、負荷分散印刷用のプリントサービス605(以降、ジョブ制御プリントサービスと称する)に送信する(矢印b)。   The job control port monitor 604 does not directly transmit the print job to the print devices 102 to 104 but transmits it to the print service 605 for load distribution printing (hereinafter referred to as job control print service) (arrow b).

ジョブ制御プリントサービス605は、転送された印刷ジョブ及びデバイスの状態を管理する機能を備える。特にプリントデバイスとデータ転送元とがピアツーピアで接続され直接印刷ジョブをプリントデバイスに投入する場合には、プリントデバイスから通知されるデバイス状態やジョブの状態などの情報を管理したり、また、プリントデバイスに対して所定の命令を行なったりする機能も備える。これは、複数のネットワークプリンタ102〜104のデバイス情報やジョブ情報を管理する機能に相当する。そして、印刷ジョブの順序管理機能(負荷分散印刷機能)に基づき順番が到来した印刷ジョブをネットワークプリンタ102〜104に転送する(矢印c、d)。   The job control print service 605 has a function of managing the transferred print job and device status. Especially when the print device and the data transfer source are connected peer-to-peer and directly submit a print job to the print device, information such as the device status and job status notified from the print device is managed, and the print device It also has a function of giving a predetermined command to. This corresponds to a function for managing device information and job information of the plurality of network printers 102 to 104. Then, the print job whose order has arrived based on the print job order management function (load distribution print function) is transferred to the network printers 102 to 104 (arrows c and d).

ここで、ジョブ制御プリントサービス605が実現する印刷ジョブの順序管理機能について詳しく説明する。この順序管理機能には、以下の機能が含まれる。   Here, a print job order management function realized by the job control print service 605 will be described in detail. This order management function includes the following functions.

・複数のプリントデバイスに対応する複数のプリントキューのうち、負荷分散印刷用として設定されたプリントデバイスに対応するプリントキュー以外のプリントキューをバックアッププリントキューとして設定するプリントキュー設定機能
・ジョブ制御ポートモニタ604から転送された印刷ジョブ情報を負荷分散印刷用プリントキュー(基本プリントキュー)に登録する印刷ジョブ登録機能と、負荷分散印刷用プリントキューに登録された印刷ジョブ情報に対応するバックアップジョブ情報を生成して、バックアッププリントキューに登録するバックアップジョブ登録機能
・負荷分散印刷用プリントキュー及びバックアッププリントキューのそれぞれを管理し、印刷ジョブ情報が登録されているプリントキューにおいては、優先的に印刷ジョブ情報をスケジュールアップ(その印刷ジョブ情報に対応する印刷データを、プリントキューに対応するプリントデバイスに送信)し、印刷ジョブ情報が登録されておらず、バックアップジョブ情報のみが登録されているプリントキューでは、そのバックアップジョブ情報を印刷ジョブ情報に変更して、対応するプリントデバイスに印刷データを送信するジョブ制御機能
・負荷分散印刷用プリントキュー及びバックアッププリントキューにおいて、登録されている印刷ジョブ情報及びそれに対応するバックアップジョブ情報のいずれか1つがプリントデバイスに送信された場合には、送信の対象とならなかった印刷ジョブ情報またはそれに対応するバックアップジョブ情報をすべてのプリントキューから削除する削除機能。
-Print queue setting function for setting a print queue other than the print queue corresponding to the print device set for load balancing printing among the multiple print queues corresponding to multiple print devices-Job control port monitor Print job registration function for registering the print job information transferred from 604 in the load distribution print queue (basic print queue), and generation of backup job information corresponding to the print job information registered in the load distribution print queue Backup job registration function for registering in the backup print queue-Manages each of the load distribution print queue and backup print queue, and prints preferentially in the print queue where the print job information is registered. A print queue in which job information is scheduled up (print data corresponding to the print job information is sent to the print device corresponding to the print queue), print job information is not registered, and only backup job information is registered The job control function that changes the backup job information to print job information and sends the print data to the corresponding print device. The print job information registered in the print queue for load distribution and the backup print queue A deletion function for deleting print job information that was not a target of transmission or backup job information corresponding thereto from all print queues when any one of the corresponding backup job information is transmitted to the print device.

プリントマネージャ609は、ユーザが、ジョブ制御プリントサービス605内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。プリントマネージャ609は、ジョブ制御プリントサービス605のソフトウェアのインタフェース(API:Application Program Interface)を介して、ジョブ制御プリントサービス605と情報・指示をやり取りしている。   The print manager 609 is a program that provides a user interface for the user to check the state of the print job in the job control print service 605 and to operate the print job. The print manager 609 exchanges information and instructions with the job control print service 605 via a software interface (API: Application Program Interface) of the job control print service 605.

そして、主に、ジョブ制御プリントサービス605が管理するネットワークプリンタ102〜104の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー/警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。ここでのジョブ制御プリントサービス605はネットワークを介して通信可能な各プリントデバイスの印刷実行中、電力制御状態、障害情報(紙ジャム)等のステータスを監視する機能を備える。   It mainly has a function of acquiring status information of the network printers 102 to 104 managed by the job control print service 605 as an event. Event notification types include warnings when the amount of toner is low, communication failure between the client and the device, memory shortage, full output tray, and other error / warning information notifications. Notification of normal information is assumed. Here, the job control print service 605 has a function of monitoring a status such as a power control state and failure information (paper jam) during execution of printing of each print device that can communicate via a network.

更に詳細な処理としては、プリントマネージャ609がジョブ制御プリントサービス605に対してデバイスを指定したイベントを発行し、ジョブ制御プリントサービス605は発行されたイベントに基づくデバイスのステータスを監視して、監視に基づく結果をプリントマネージャ609に通知する。   More specifically, the print manager 609 issues an event specifying a device to the job control print service 605, and the job control print service 605 monitors the status of the device based on the issued event. Based on the result, the print manager 609 is notified.

マネージメントコンソール610は、ソフトウェアがアクセスするためのAPIを介して、ジョブ制御プリントサービス605と情報・指示をやり取りすることで、サーバ101またはクライアント107,108の全体を監視することができる。   The management console 610 can monitor the entire server 101 or the clients 107 and 108 by exchanging information and instructions with the job control print service 605 via an API for software access.

また、ジョブ制御プリントサービス605は、デバイス情報コントロールモジュール606を用いて各ネットワークプリンタ102〜104と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したりする機能を明示したものでありジョブ制御プリントサービス605に含めるように考えても良い。   The job control print service 605 clearly indicates a function of communicating with each of the network printers 102 to 104 using the device information control module 606 to obtain information regarding a print job and an operation state in each printer. The job control print service 605 may be included.

一方、負荷分散印刷を行なわず、一般的なオペレーティングシステムに標準で搭載されるようなプリント機能を利用する場合においては、PDLプリンタドライバ602で生成されたPDLファイルはスプーラ603からジョブ制御ポートモニタ608をへて(矢印e)、ネットワークプリンタ102〜104に転送される(矢印f)。   On the other hand, when the print function that is mounted as a standard in a general operating system is used without performing load distribution printing, the PDL file generated by the PDL printer driver 602 is transferred from the spooler 603 to the job control port monitor 608. (Arrow e), the data is transferred to the network printers 102 to 104 (arrow f).

次に、図6Aを用いて説明したシステムの変形例について、図6Bを参照して説明する。図6Bは、負荷分散印刷に必要な機能を、クライアント107,108とサーバ101とが分担し、それぞれが協力し合って実現する場合について表わしたものである。具体的には、クライアント107、108で作成し、サーバ101側のプリントキューに登録された印刷ジョブ情報に対し、プリントサーバ101がスケジューリングを行う場合のデータの流れを示している。なお、図6Aと同じ構成は同じ符号で表わしている。   Next, a modification of the system described with reference to FIG. 6A will be described with reference to FIG. 6B. FIG. 6B shows a case where the functions required for load distribution printing are shared by the clients 107 and 108 and the server 101 and are realized in cooperation with each other. Specifically, the flow of data when the print server 101 performs scheduling for print job information created by the clients 107 and 108 and registered in the print queue on the server 101 side is shown. In addition, the same structure as FIG. 6A is represented with the same code | symbol.

図6Bのシステムでは、クライアント107,108は、マネージメントコンソール610やデバイス情報コントロールモジュール606をもつ必要はなく、サーバ101がそれらを有することにより、一括してプリントデバイスのデバイス情報を管理する。また、サーバ101は、ジョブ制御サーバ612を有し、デバイス情報コントロールモジュール606を用いて各プリントデバイス102〜104と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報は、ジョブ制御プリントサービス605に渡し共有することができる。   In the system of FIG. 6B, the clients 107 and 108 do not need to have the management console 610 and the device information control module 606, but the server 101 has them, and collectively manages the device information of the printing devices. The server 101 also has a job control server 612 and communicates with each of the print devices 102 to 104 using the device information control module 606 to obtain information on print jobs and operation states in each printer, Or do. The acquired information can be passed to the job control print service 605 and shared.

また、ジョブ制御サーバ612は、個々のクライアント107、108上のジョブ制御プリントサービス605がプリントデバイス102〜104に印刷ジョブを送信するタイミングを集中制御(スケジューリング)する。ジョブ制御サーバ612は基本的にジョブ制御プリントサービス605と同様の機能を備えており、論理的にジョブ制御プリントサービス605とジョブ情報を共有している。ここでジョブ情報とは、印刷対象となるドキュメント名や、印刷ジョブのIDや、印刷ジョブが投入されたプリンタ名など、印刷ジョブの各種属性情報である。   The job control server 612 centrally controls (schedules) the timing at which the job control print service 605 on each of the clients 107 and 108 transmits a print job to the print devices 102 to 104. The job control server 612 basically has the same functions as the job control print service 605, and logically shares job information with the job control print service 605. Here, the job information is various attribute information of the print job such as the name of the document to be printed, the ID of the print job, and the name of the printer to which the print job is input.

つまり、図6Aで説明した、印刷ジョブの順序管理機能(負荷分散印刷制御機能)は図6Bではサーバ101のみに設けられていてもよく、クライアント107,108で生成された一旦保持される印刷ジョブを、どういう順序でどのプリントデバイスへ投入すべきかが、ジョブ制御サーバ612からジョブ制御プリントサービス605に通知される。ジョブ制御プリントサービス605ではジョブ制御サーバ612からの指示に従い、印刷ジョブをネットワークプリンタ102〜104に対して転送する。   That is, the print job order management function (load distribution print control function) described with reference to FIG. 6A may be provided only in the server 101 in FIG. The job control server 612 notifies the job control print service 605 which print device should be input in what order. The job control print service 605 transfers the print job to the network printers 102 to 104 in accordance with an instruction from the job control server 612.

以上のソフトウェア構成において、図6Aのプリントシステムでは、ジョブ制御ポートモニタ604、ジョブ制御プリントサービス605、プリントマネージャ609、マネージメントコンソール610が印刷制御プログラムに含まれる。また、図6Bのクライアント107、108では、ジョブ制御ポートモニタ604、ジョブ制御プリントサービス605、プリントマネージャ609が印刷制御プログラムに含まれ、プリントサーバ101では、デバイス情報コントロールモジュール606、マネージメントコンソール610、ジョブ制御サーバ612が印刷制御プログラムに含まれる。   6A, the job control port monitor 604, job control print service 605, print manager 609, and management console 610 are included in the print control program. 6B includes a job control port monitor 604, a job control print service 605, and a print manager 609. The print server 101 includes a device information control module 606, a management console 610, and a job. A control server 612 is included in the print control program.

なお、プリントシステムのソフトウェア構成は、図6A、図6Bに限定されるものではなく、その他の様々な構成でも本発明を実現可能である。例えば、クライアントが、アプリケーション601からジョブ制御サポートモニタ604までの構成のみを備え、ジョブ制御プリントサービス605、プリントマネージャ609、マネージメントコンソール610、デバイス情報コントロールモジュール606をサーバ101が備えていてもよい。   Note that the software configuration of the printing system is not limited to FIGS. 6A and 6B, and the present invention can be realized by various other configurations. For example, the client may include only the configuration from the application 601 to the job control support monitor 604, and the server 101 may include the job control print service 605, the print manager 609, the management console 610, and the device information control module 606.

<印刷ジョブの流れ>
次に、図7を用いてアプリケーション601からプリントデバイスまでの印刷ジョブの流れについて説明する。ここで、図6Aと同じソフトウェア構成について同じ参照番号を付与しており、その機能については詳説しない。
<Print job flow>
Next, the flow of a print job from the application 601 to the print device will be described with reference to FIG. Here, the same reference numerals are assigned to the same software configurations as those in FIG. 6A, and the functions thereof will not be described in detail.

図7に示すように、概念的には、PDLドライバ602、スプーラ603、ジョブ制御ポートモニタ604は、プリントデバイス102〜104ごとに用意されている。OSがウィンドウズ(登録商標)の場合には、これらをまとめてウィンドウズ(登録商標)プリントシステム700と称する場合もある。   As illustrated in FIG. 7, conceptually, a PDL driver 602, a spooler 603, and a job control port monitor 604 are prepared for each of the print devices 102 to 104. When the OS is Windows (registered trademark), these may be collectively referred to as a Windows (registered trademark) print system 700.

ジョブ制御プリントサービス605には、プリントデバイス102〜104に対応する数のプリントキュー701、701A、701B及び出力ポート702、702A、702Bが含まれている。この出力ポートには対応するプリントデバイスのIPアドレス又は名前解決で使用されるネーム(DNS:Domain Name System)が関連付けられている。そして、このIPアドレス又はDNSに基づきジョブの送信先が特定されジョブの送信(出力)が行なわれる。プリントキューは、ある所定のジョブが投入された1つの基本プリントキュー701と複数のバックアッププリントキュー701A、701Bとに分類されている。なお、本実施形態では、物理的な装置であるプリントデバイス単位にプリントキューを設定することとしているが、本願発明はこれに限定されるものではなく、論理プリンタ単位にプリントキューを設定してもよい。つまり、複数のプリントデバイスに対して1つの論理プリンタを設定して、その論理プリンタについて1つのプリントキューを設定しても良いし、更には、1つのプリントデバイスに対して複数の論理プリンタを設定して、その複数の論理プリンタのそれぞれに対してプリントキューを設定してもよい。   The job control print service 605 includes a number of print queues 701, 701A, 701B and output ports 702, 702A, 702B corresponding to the print devices 102-104. The output port is associated with an IP address of the corresponding print device or a name (DNS: Domain Name System) used for name resolution. Then, based on the IP address or DNS, the job transmission destination is specified and the job is transmitted (output). The print queue is classified into one basic print queue 701 to which a predetermined job is input and a plurality of backup print queues 701A and 701B. In this embodiment, the print queue is set for each print device, which is a physical device. However, the present invention is not limited to this, and the print queue may be set for each logical printer. Good. That is, one logical printer may be set for a plurality of print devices, one print queue may be set for the logical printer, and a plurality of logical printers may be set for one print device. A print queue may be set for each of the plurality of logical printers.

負荷分散印刷を行う場合、アプリケーション601は、負荷分散印刷の設定を持つプリンタを指定して印刷指示を発行する。この印刷指示に基づいてPDLドライバ602によって生成された印刷ジョブがジョブ制御ポートモニタ604からジョブ制御プリントサービス605に渡されると、その印刷ジョブ情報は、まずプリントキュー701に保持され、同時に、その印刷ジョブ情報に対応する仮想ジョブ情報がバックアッププリントキュー701A、701Bに生成される。そして、それらのジョブのうちいずれか1つがプリントデバイス102〜104に送られる。バックアッププリントキューに対応するプリントデバイスは、バックアッププリンタと呼ばれ、ユーザが指定したプリントデバイスが混雑している場合などに利用される予備的なプリントデバイスを指す。   When performing load distribution printing, the application 601 issues a print instruction by designating a printer having load distribution printing settings. When a print job generated by the PDL driver 602 based on this print instruction is transferred from the job control port monitor 604 to the job control print service 605, the print job information is first held in the print queue 701, and at the same time, the print job is printed. Virtual job information corresponding to the job information is generated in the backup print queues 701A and 701B. Any one of these jobs is sent to the print devices 102 to 104. The print device corresponding to the backup print queue is called a backup printer, and indicates a preliminary print device used when the print device designated by the user is congested.

<各種の情報の内容>
I.プリントキューの実ジョブキューと仮想ジョブキュー
図8は、プリントキュー701内の実ジョブキュー801と仮想ジョブキュー802を示す図である。実ジョブキュー801と仮想ジョブキュー802は、負荷分散印刷処理を行う場合に使用する、印刷ジョブ情報を管理するキューである。そして、各論理プリンタ毎に図8に示されるような実ジョブキューと仮想ジョブキューとを含むプリントキューが対応付けられることとなる。また、1つのプリントデバイスに対して論理プリンタが1つの場合には、図8に示されるプリントキューはプリントデバイスに対応するプリントキューに相当することとなる。そしてこのプリントキューがある時は基本プリントキューとなり、ある時はバックアッププリントキューとして機能する。
<Contents of various information>
I. FIG. 8 is a diagram illustrating a real job queue 801 and a virtual job queue 802 in the print queue 701. The real job queue 801 and the virtual job queue 802 are queues for managing print job information used when performing load distribution printing processing. A print queue including a real job queue and a virtual job queue as shown in FIG. 8 is associated with each logical printer. If there is one logical printer for one print device, the print queue shown in FIG. 8 corresponds to the print queue corresponding to the print device. When this print queue exists, it becomes a basic print queue, and when it exists, it functions as a backup print queue.

上述したように、実ジョブ情報は、印刷データそのものは含まないが、スプールファイル名などの印刷データへのリンクを含む印刷ジョブ情報で、実ジョブキューで管理される。また、仮想ジョブ情報は実ジョブ情報へのリンク(実ジョブ情報のID)を含み、印刷データはもちろんのこと、印刷データへのリンクも含まない。そして、仮想ジョブ情報は、仮想ジョブキューで管理される。   As described above, actual job information does not include print data itself, but is print job information including a link to print data such as a spool file name, and is managed in the actual job queue. The virtual job information includes a link to actual job information (ID of the actual job information), and does not include a link to print data as well as print data. The virtual job information is managed by a virtual job queue.

II.プリントキュー情報
図9は、プリントキュー701で受け付けた印刷ジョブの動作を決めるプリントキュー情報を示す図である。ここで、プリントキュー情報の設定内容の、プリンタ名、プリンタドライバ名、プリントタイプ、及びバックアッププリンタ名について説明する。なお、図9の情報は図6Aのようなシステム形態では、ジョブ制御プリントサービス605において保持され、図6Bのようなシステム形態ではジョブ制御プリントサービス605及びジョブ制御サーバ612の双方において共有して保持されるものとする。
II. Print Queue Information FIG. 9 is a diagram showing print queue information that determines the operation of a print job accepted by the print queue 701. Here, the printer name, printer driver name, print type, and backup printer name, which are the settings of the print queue information, will be described. 9 is held in the job control print service 605 in the system form as shown in FIG. 6A, and is shared and held in both the job control print service 605 and the job control server 612 in the system form as shown in FIG. 6B. Shall be.

プリンタ名は、Windows(登録商標)のプリンタオブジェクトの名前を示しており、プリンタオブジェクト毎に異なる名前であり、プリンタオブジェクトを識別することができる。プリンタドライバ名は、プリンタオブジェクトに設定されているプリンタドライバの名前である。プリントタイプは、プリントキューで受け付けた印刷ジョブの動作を決定する設定である。バックアッププリンタ名は、負荷分散印刷処理などの場合に使用される負荷分散印刷するためのプリンタの名前である。プリントタイプに負荷分散印刷の設定がなされていて、プリントキュー701で印刷ジョブを受け付けると、後述する方式によって受け付けたプリントキュー(負荷分散プリントキューとする)とプリントキュー情報に設定されている複数のバックアッププリンタの中から、先に転送可能なプリンタに印刷ジョブを移動し、複数のプリンタの中で印刷の負荷を分散する処理を行う。   The printer name indicates the name of a Windows (registered trademark) printer object. The printer name is different for each printer object, and the printer object can be identified. The printer driver name is the name of the printer driver set in the printer object. The print type is a setting that determines the operation of the print job received in the print queue. The backup printer name is the name of a printer for load distribution printing that is used in the case of load distribution printing processing. When load distribution printing is set for the print type and a print job is received by the print queue 701, a print queue (referred to as a load distribution print queue) received by a method described later and a plurality of print queue information set. A print job is moved from the backup printer to a printer that can be transferred first, and processing for distributing the printing load among a plurality of printers is performed.

III.実ジョブ情報
図10は、プリントキュー701の実ジョブキューに登録される印刷ジョブ情報を示す図である。図10の情報は図9と同様に図6Aのようなシステム形態では、ジョブ制御プリントサービス605において保持され、図6Bのようなシステム形態ではジョブ制御プリントサービス605及びジョブ制御サーバ612の双方において共有して保持される。
III. Real Job Information FIG. 10 is a diagram showing print job information registered in the real job queue of the print queue 701. The information in FIG. 10 is held in the job control print service 605 in the system form as shown in FIG. 6A as in FIG. Held.

実ジョブは、所定の記憶領域にスプールされた印刷データを含む印刷ジョブであり、出力ポートに送られて実際に転送処理が行われプリンタで出力される印刷ジョブである。実ジョブ情報は、実ジョブに含まれる各種の設定情報であり、プリントキュー701に登録される。   The actual job is a print job that includes print data spooled in a predetermined storage area, and is a print job that is sent to an output port, actually transferred, and output by a printer. The real job information is various setting information included in the real job and is registered in the print queue 701.

以下、実ジョブ情報の設定内容(ドキュメント名、ジョブID、プリントタイプ、実行タイプ、仮想ジョブID、先頭ジョブマーク、送信済みプリンタリスト)、スプールファイル名について説明する。   The actual job information setting contents (document name, job ID, print type, execution type, virtual job ID, first job mark, transmitted printer list) and spool file name will be described below.

ドキュメント名はアプリケーション701が印刷するジョブ(印刷データファイル)の名前である。   The document name is the name of the job (print data file) that the application 701 prints.

ジョブIDは実ジョブ情報に割り振られる任意のIDでジョブを識別するためのIDである。プリントキュー701が印刷ジョブを受け付けるとそのジョブにジョブIDを割り当てる。   The job ID is an ID for identifying the job with an arbitrary ID assigned to the actual job information. When the print queue 701 receives a print job, a job ID is assigned to the job.

プリントタイプは、図9と同様であり実ジョブの動作を決定する情報で、負荷分散印刷などの情報が設定される。プリントキュー701が実ジョブ情報を受け付けると、プリントタイプから情報を取得し実ジョブ情報のプリントタイプに設定する。   The print type is the same as that in FIG. 9 and is information for determining the operation of the actual job. Information such as load distribution printing is set. When the print queue 701 receives real job information, the print queue 701 acquires information from the print type and sets it as the print type of the real job information.

実行タイプは、印刷ジョブのタイプを表す情報で、(1)ネットワークプリンタ102〜104でパスワードを入力しなければ印刷できないパスワード入力ジョブ、(2)暗号化されたセキュアジョブ、(3)ネットワークプリンタ102〜104で出力する直前にオフラインになるオフラインジョブ、(4)ネットワークプリンタ102〜104のHDに保存される保存ジョブなどのタイプが設定される。これは、プリンタドライバからジョブのタイプの通知を受け付けたり、アプリケーションからジョブのタイプの通知を受け付けたりした場合に設定する項目である。また、ジョブのタイプを判別し設定する場合もある。   The execution type is information indicating the type of the print job. (1) Password input job that cannot be printed unless a password is input by the network printers 102 to 104, (2) Encrypted secure job, (3) Network printer 102 Are set to a type such as an offline job that goes offline immediately before output in (104) to (104), a saved job stored in the HD of the network printers 102 to 104, and the like. This item is set when a job type notification is received from the printer driver or a job type notification is received from the application. In some cases, the job type is determined and set.

仮想ジョブIDは、負荷分散印刷処理を行う場合に作成される仮想ジョブ情報のIDを設定する。複数の仮想ジョブ情報が発生する場合には、仮想ジョブIDは複数設定される。   The virtual job ID sets the ID of virtual job information created when performing load distribution printing processing. When a plurality of virtual job information is generated, a plurality of virtual job IDs are set.

先頭ジョブマークは、ネットワークプリンタ102〜104で管理されている印刷ジョブの先頭を現すマークである。   The head job mark is a mark indicating the head of a print job managed by the network printers 102 to 104.

送信済みプリンタリストは、実ジョブを送信したプリンタの名前を設定するリストである。   The transmitted printer list is a list for setting the name of the printer that has transmitted the actual job.

スプールファイル名は、アプリケーションデータに基づき作成された印刷データからなるスプールファイルの名前であり、所定の記憶部に記憶されたスプールファイルを特定するために利用される。スプールファイル名の代わりにスプールファイルIDを採用するようにしても良い。実ジョブ情報に基づくジョブ出力が対応するプリントデバイスに対して行なわれる場合に、前記実ジョブ情報に関連付けられたスプールファイル名に基づき特定される印刷データがプリントデバイスに対して出力されるべく出力ポートに書きこまれる。   The spool file name is a name of a spool file composed of print data created based on application data, and is used to specify a spool file stored in a predetermined storage unit. A spool file ID may be adopted instead of the spool file name. An output port for outputting print data specified based on a spool file name associated with the actual job information to the print device when job output based on the actual job information is performed for the corresponding print device. It is written in.

IV.仮想ジョブ情報
図11は、プリントキュー701の仮想ジョブキューに登録される仮想ジョブ情報を示す図である。図11の情報は図9、10と同様に図6Aのようなシステム形態では、ジョブ制御プリントサービス605において保持され、図6Bのようなシステム形態ではジョブ制御プリントサービス605及びジョブ制御サーバ612の双方において共有して保持される。
IV. Virtual Job Information FIG. 11 is a diagram showing virtual job information registered in the virtual job queue of the print queue 701. The information in FIG. 11 is held in the job control print service 605 in the system form as shown in FIG. 6A as in FIGS. 9 and 10, and both the job control print service 605 and the job control server 612 in the system form as in FIG. 6B. Shared and held in

仮想ジョブ情報は、負荷分散の実ジョブ情報と関連する情報で、負荷分散印刷処理でスケジュール管理するために必要な情報である。   The virtual job information is information related to actual job information for load distribution and is information necessary for schedule management in the load distribution printing process.

以下、仮想ジョブ情報の設定内容のドキュメント名、ジョブID、プリントタイプ、実ジョブIDについて説明する。   Hereinafter, the document name, job ID, print type, and actual job ID of the setting contents of the virtual job information will be described.

ドキュメント名は、仮想ジョブ情報に対応する実ジョブ情報の印刷対象ドキュメント名であり、仮想ジョブ情報が作られるときに、実ジョブ情報からコピーされる。   The document name is a print target document name of real job information corresponding to the virtual job information, and is copied from the real job information when the virtual job information is created.

ジョブIDは仮想ジョブ情報を識別するためのIDで、仮想ジョブ情報が作成されるときに設定される情報である。   The job ID is an ID for identifying virtual job information, and is information set when virtual job information is created.

プリントタイプは、仮想ジョブ情報に対応する実ジョブのプリントタイプであり、仮想ジョブが作成されるときに、実ジョブ情報のプリントタイプからコピーされる。   The print type is a print type of the real job corresponding to the virtual job information, and is copied from the print type of the real job information when the virtual job is created.

実ジョブIDは、仮想ジョブ情報と関連する実ジョブ情報のIDであり、仮想ジョブ情報が作成されるときに設定される情報である。   The real job ID is an ID of real job information related to virtual job information, and is information that is set when virtual job information is created.

なお、図11中には、図10において説明した印刷データを特定するためのスプールファイル名が含まれていないが、事前に仮想ジョブ情報にスプールファイル名を含めるようにして、後述する実ジョブ情報の変更の際に、この事前に関連付けられたスプールファイル名を用いるようにしても良い。   Note that FIG. 11 does not include the spool file name for specifying the print data described in FIG. 10. However, the virtual job information includes the spool file name in advance so that real job information, which will be described later, is included. The spool file name associated in advance may be used when the change is made.

<負荷分散処理>
本実施形態の負荷分散印刷処理では、アプリケーションが印刷指示を行ったプリンタの負荷分散印刷設定に従って、負荷分散プリンタのプリントキューに実ジョブ情報を、バックアッププリンタのバックアッププリントキューに仮想ジョブを生成し、その中で、転送開始指示(スケジュールアップ)の早い印刷ジョブがプリントデバイスに転送される。
<Load distribution processing>
In the load distribution printing process of the present embodiment, according to the load distribution print setting of the printer for which the application has issued a print instruction, actual job information is generated in the print queue of the load distribution printer, and a virtual job is generated in the backup print queue of the backup printer. Among them, a print job with a fast transfer start instruction (schedule up) is transferred to the print device.

図12は、本実施形態の負荷分散印刷処理のジョブ受付処理から仮想ジョブ作成までの処理を示すフローチャートである。   FIG. 12 is a flowchart illustrating processing from job reception processing to virtual job creation in the load distribution printing processing according to this embodiment.

図13は、図12のフローチャートの処理を説明した図である。図13では、プリントキュー701の実ジョブキュー801にジョブIDが「1」の実ジョブ情報、別のプリントデバイスに対応するバックアッププリントキュー701Aに実ジョブキュー801AにジョブIDが「5」の実ジョブ情報があり、それぞれの実ジョブ情報に対応する印刷データを、プリントデバイスへ転送中であるという前提で説明している。なお、このジョブID「5」の実ジョブ情報は、例えば他のクライアントからバックアッププリントキュー701Aに対応するプリントデバイスを基本プリントデバイスとして負荷分散印刷指示を行った場合に登録されたものと考えることができる。その場合には、プリントキュー701および701Bがそれぞれバックアッププリントキューとされ、それぞれのバックアッププリントキューにおける仮想ジョブキューに仮想ジョブ情報が登録される。   FIG. 13 is a diagram for explaining the processing of the flowchart of FIG. In FIG. 13, the real job information with the job ID “1” is stored in the real job queue 801 of the print queue 701, the real job queue 801A is associated with another print device, and the real job queue 801A has a job ID “5”. It is assumed that there is information and that print data corresponding to each actual job information is being transferred to the print device. Note that the actual job information with the job ID “5” may be considered to be registered when a load distribution print instruction is issued from another client, for example, using the print device corresponding to the backup print queue 701A as a basic print device. it can. In this case, the print queues 701 and 701B are set as backup print queues, and virtual job information is registered in the virtual job queues in the respective backup print queues.

アプリケーション601が印刷を開始すると、ステップS1201において、プリントキュー701はスプーラ603、ジョブ制御ポートモニタ604経由で印刷ジョブを受け付ける。   When the application 601 starts printing, the print queue 701 receives a print job via the spooler 603 and the job control port monitor 604 in step S1201.

次に、ステップS1213において、印刷ジョブの種別を判断する。実ジョブ情報の実行タイプにより仮想ジョブ情報を作成するかどうかを判断する。ネットワークプリンタ102〜104でパスワードを入力しなければ印刷できないパスワード入力ジョブ、暗号化されネットワークプリンタ102〜104の内、特定のプリンタでのみ印刷可能なセキュアジョブ、ネットワークプリンタ102〜104で出力する直前にオフラインになるオフラインジョブ、ネットワークプリンタ102〜104のHDに保存される保存ジョブなど、特定のネットワークプリンタでのみ受付可能な場合には、ステップS1211に処理を移行する。そうでない場合には、ステップS1202に処理を移行する。   In step S1213, the type of print job is determined. It is determined whether to create virtual job information according to the execution type of real job information. A password input job that cannot be printed unless a password is input by the network printers 102 to 104, a secure job that is encrypted and can be printed only by a specific printer among the network printers 102 to 104, immediately before output by the network printers 102 to 104 If the job can be accepted only by a specific network printer, such as an offline job that goes offline, a saved job saved in the HD of the network printers 102 to 104, the process proceeds to step S1211. Otherwise, the process proceeds to step S1202.

ステップS1202において、プリントキュー情報のプリントタイプを参照し、負荷分散印刷であるかを確認する。負荷分散印刷であれば、ステップ1203に処理を移行する。負荷分散印刷でなければ、ステップS1211に進む。ステップS1203では、複数のプリントキューのうち、印刷ジョブの出力対象とされたプリントデバイスに対応するプリントキューが基本プリントキューとして設定され、この基本プリントキューに含まれる実ジョブキューに、受け付けた印刷ジョブの実ジョブ情報を登録する。   In step S1202, the print type of the print queue information is referred to and it is confirmed whether the load distribution printing is performed. If it is load distribution printing, the process proceeds to step 1203. If it is not load distribution printing, the process advances to step S1211. In step S1203, the print queue corresponding to the print device that is the output target of the print job is set as the basic print queue among the plurality of print queues, and the received print job is included in the actual job queue included in the basic print queue. Register real job information for.

ドキュメント名としては、スプーラ603からジョブを受け付けるときに取得したものを設定する。ジョブIDはジョブ情報を作成するときに生成し設定する。プリントタイプは、プリントキュー情報のプリントタイプの情報を設定する。   As the document name, the one acquired when the job is received from the spooler 603 is set. The job ID is generated and set when job information is created. As the print type, information on the print type of the print queue information is set.

本実施の形態の場合には、プリントキュー情報のプリントタイプは負荷分散印刷であるため、実ジョブ情報のプリントタイプには、負荷分散印刷が設定される。ステップS1204において作成された実ジョブ情報をプリントキュー701の実ジョブキュー801に登録する(図13のジョブID「7」のジョブ)。ステップS1205において、プリントキュー情報のバックアッププリンタ名を取得する。複数設定されている場合には、複数のバックアッププリンタ名を取得する。そして、バックアッププリンタに対応するプリントキューがバックアッププリントキューとして設定される。   In the case of the present embodiment, since the print type of the print queue information is load distribution printing, load distribution printing is set as the print type of the actual job information. The real job information created in step S1204 is registered in the real job queue 801 of the print queue 701 (the job with the job ID “7” in FIG. 13). In step S1205, the backup printer name of the print queue information is acquired. If a plurality of settings are set, a plurality of backup printer names are acquired. Then, the print queue corresponding to the backup printer is set as the backup print queue.

次に、ステップS1206において、取得した複数のバックアッププリンタ名の各々から特定されるバックアッププリントキュー順に、仮想ジョブ情報を作成し、各情報を設定する。   Next, in step S1206, virtual job information is created in the order of the backup print queue specified from each of the acquired plurality of backup printer names, and each information is set.

ドキュメント名は、実ジョブ情報のドキュメント名から情報を取得し設定する。ジョブIDは仮想ジョブ情報を作成するときに生成し設定する。プリントタイプは、実ジョブ情報のプリントタイプの情報から取得し設定する。実ジョブIDは実ジョブ情報のジョブIDから取得し設定する。   The document name is set by acquiring information from the document name of the actual job information. The job ID is generated and set when creating virtual job information. The print type is acquired and set from the print type information in the actual job information. The real job ID is acquired and set from the job ID of the real job information.

ステップS1207において、実ジョブ情報の仮想ジョブIDに仮想ジョブ情報のジョブIDを設定する。仮想ジョブは複数発生する場合があるため、仮想ジョブが作成される順に仮想ジョブID1、仮想ジョブID2、...と設定していく。   In step S1207, the job ID of the virtual job information is set to the virtual job ID of the real job information. Since a plurality of virtual jobs may occur, virtual job ID 1, virtual job ID 2,... Are set in the order in which the virtual jobs are created.

ステップ1208において仮想ジョブ情報を仮想ジョブキュー802Aに登録する(図13のジョブID「8」のジョブ)。   In step 1208, virtual job information is registered in the virtual job queue 802A (job with job ID “8” in FIG. 13).

ステップ1209において、ステップS1205で取得したバックアッププリンタ(バックアッププリントキュー)が残っていれば、ステップS1206に処理を移行する。   If the backup printer (backup print queue) acquired in step S1205 remains in step 1209, the process proceeds to step S1206.

図13では、ステップS1205で取得したバックアッププリンタが2つある場合を想定して説明しているため、仮想ジョブ情報は、2つ作成され、夫々、仮想ジョブキュー802A、802BにジョブIDが「8」と「9」の仮想ジョブが作成され、実ジョブ(ジョブIDが7)の実ジョブ情報に関連付けられた仮想ジョブ情報には、「8」と「9」のジョブIDが設定される。また、ジョブIDが「8」と「9」の仮想ジョブ情報内の実ジョブIDには、「7」が設定される。   In FIG. 13, since it is assumed that there are two backup printers acquired in step S1205, two pieces of virtual job information are created, and job IDs “8” are created in the virtual job queues 802A and 802B, respectively. ”And“ 9 ”are created, and“ 8 ”and“ 9 ”job IDs are set in the virtual job information associated with the real job information of the real job (job ID is 7). Further, “7” is set as the real job ID in the virtual job information with the job IDs “8” and “9”.

ステップS1209において、ステップS1205で取得したバックアッププリンタが残っていなければ、ステップS1210に移行し、作成した実ジョブとすべての仮想ジョブのスケジュール要求を発行する。   In step S1209, if the backup printer acquired in step S1205 does not remain, the process proceeds to step S1210, and a schedule request for the created real job and all virtual jobs is issued.

図14は、各プリントキュー701、701A、701Bの各々において発行されるアクションに対するスケジュール処理を示す図である。ジョブ制御プリントサービス605における処理に相当する。   FIG. 14 is a diagram showing schedule processing for actions issued in each of the print queues 701, 701A, and 701B. This corresponds to processing in the job control print service 605.

ステップS1401では、各プリントキューのスケジュールの管理を行い、いずれかのプリントキューに印刷ジョブを登録したモジュール(例えばジョブ制御ポートモニタ)からのスケジュール要求、印刷ジョブの送信完了(出力ポートからプリントデバイスへの印刷データの送信を終了したことを示す情報)、印刷ジョブの削除、印刷ジョブの完了(最終ページ排紙通知)、デバイス復帰通知(例えば電源OFFからON状態になった場合になど、動作不可能な状態から動作可能な状態に移行したことを示すイベント)などのアクションを監視する。各プリントキューに対する、上記アクションが発生すると、ステップS1402に処理を移行し、アクションが発生しない場合は、ステップS1401で待機処理を行う。ここで、スケジュール要求のアクションは例えばジョブ制御ポートモニタから発生する。また印刷ジョブの削除は、プリントマネージャ609から発生される。また、印刷ジョブの送信完了及び印刷ジョブの完了はプリントデバイスにおいて発生し、出力ポートを介して通知される。ただし、これらのアクションの発生ルートはこれに限定されるものではない。   In step S1401, the schedule of each print queue is managed, the schedule request from the module (for example, job control port monitor) that registered the print job in any print queue, the completion of transmission of the print job (from the output port to the print device). Information indicating that transmission of the print data has been completed), deletion of the print job, completion of the print job (final page discharge notification), device return notification (for example, when the power is turned off to turn on) Monitor actions such as events that indicate a transition from a possible state to an operational state. When the above action occurs for each print queue, the process proceeds to step S1402, and when no action occurs, standby processing is performed in step S1401. Here, the schedule request action is generated from the job control port monitor, for example. The print job is deleted from the print manager 609. Further, the completion of transmission of the print job and the completion of the print job occur in the printing device and are notified via the output port. However, the generation route of these actions is not limited to this.

ステップS1402において、上記アクションが発生したプリントキュー701、701A、701Bを確認し、実ジョブキュー801、801A、801B、仮想ジョブキュー802、802A、802Bの順に検索し、いずれかのプリントキューに何らかの印刷ジョブ情報が存在していればステップS1403に処理を移行し、印刷ジョブ情報が無ければステップS1401に移行する。   In step S1402, the print queues 701, 701A, 701B in which the above action has occurred are confirmed, and the real job queues 801, 801A, 801B, the virtual job queues 802, 802A, 802B are searched in this order, and any print queue is printed. If job information exists, the process proceeds to step S1403. If there is no print job information, the process proceeds to step S1401.

ステップS1403において、ネットワークプリンタ102〜104のうち、ステップS1401において所定のアクションが発生したプリントキューに対応するネットワークプリンタの動作ステータスを取得する。例えば、印刷ジョブの完了のアクションに応じてステータスを取得するようにする。   In step S1403, among the network printers 102 to 104, the operation status of the network printer corresponding to the print queue in which the predetermined action has occurred in step S1401 is acquired. For example, the status is acquired in accordance with the print job completion action.

また、ステップS1403におけるデバイスステータスの取得で、デバイス制御コントロールモジュール606を介したポーリングを行い、このポーリングと所定のアクションの発生によるデバイスステータスの取得を併用するようにすれば、より迅速にプリントデバイスが転送可能な動作ステータスになったか否かを調べることができる。   In addition, when the device status is acquired in step S1403, polling via the device control module 606 is performed, and when this polling and acquisition of the device status due to the occurrence of a predetermined action are used in combination, the print device can be more quickly installed. It is possible to check whether or not the transferable operation status has been reached.

ステップS1404において前のステップにおいて取得されたステータスに基づいて、現在対象となっているプリントキューに対応するネットワークプリンタに印刷データを転送可能かどうか判断する。ここでデータ転送不可能と判断される動作ステータスとしては、例えば(1)紙無しやトナー無しなど消耗品が不足した状態や、(2)画像記録を継続できない例えばジャム(紙詰まり)などの障害が発生している状態や、(3)印刷データを送信するチャネルがオフラインである状態や、(4)プリンタ側(ネットワークボードも含む)でこれ以上受信バッファに余裕がなくビジーの状態などが挙げられる。また、この(1)乃至(2)のステータスを任意に組み合わせてそれをデータ転送可能でないと判断するステータスとするようにしても良い。   In step S1404, based on the status acquired in the previous step, it is determined whether the print data can be transferred to the network printer corresponding to the currently targeted print queue. Here, for example, (1) a state where there is a shortage of consumables such as no paper or no toner, and (2) a failure such as a jam (paper jam) where image recording cannot be continued. (3) The state where the channel for transmitting print data is offline, (4) The printer side (including the network board) is busy with no more room in the reception buffer, etc. It is done. Further, the statuses (1) and (2) may be arbitrarily combined to be a status that determines that data transfer is not possible.

ステップS1404において、アクション発生の対象となっているネットワークプリンタに印刷データを転送可能であれば、ステップS1405に処理を移行し、転送不可能であれば、処理をステップS1401に移行する。   If it is determined in step S1404 that the print data can be transferred to the network printer that is the target of the action, the process proceeds to step S1405. If the transfer cannot be performed, the process proceeds to step S1401.

ステップS1405において、ステップS1402で見つけたジョブに対して、スケジュールアップ要求を発行し、処理をステップS1401に移行する。この時、実ジョブが見つかっていれば、仮想ジョブよりも先に実ジョブに対してスケジュールアップ要求を発行する。つまり、登録の順番に係わらず、実ジョブを仮想ジョブよりも優先する。   In step S1405, a schedule up request is issued for the job found in step S1402, and the process proceeds to step S1401. At this time, if a real job is found, a schedule up request is issued to the real job before the virtual job. In other words, regardless of the order of registration, the real job has priority over the virtual job.

例えば、ステップS1401で印刷ジョブBのスケジュール要求が発生した時に、前の印刷ジョブ(印刷ジョブA)が転送中であるとした場合、S1404でNOの処理に移行し、ステップ1401で待機する。そしてその後、ステップS1401で、印刷ジョブAのジョブ送信完了やジョブ削除などを受け付けるとテップS1402からステップS1405に進み、ジョブBの転送が直ちに開始される。   For example, if a previous print job (print job A) is being transferred when a print job B schedule request is generated in step S1401, the process proceeds to NO in S1404 and waits in step 1401. After that, in step S1401, when job transmission completion or job deletion of print job A is accepted, the process advances from step S1402 to step S1405, and transfer of job B is immediately started.

次に、図14のフローチャートの処理に基づき特にプリントキュー701でスケジュールアップ要求を受け付けてから、ネットワークプリンタ102〜104に印刷データを送信するまでの処理の流れについて説明する。図15は、プリントキュー701での負荷分散印刷処理について示すフローチャートである。また、図16、図17は、図15のフローチャートに関連した処理を表した図である。   Next, based on the processing of the flowchart of FIG. 14, the flow of processing from when a print request is received in the print queue 701 to when print data is transmitted to the network printers 102 to 104 will be described. FIG. 15 is a flowchart illustrating load distribution printing processing in the print queue 701. FIGS. 16 and 17 are diagrams showing processing related to the flowchart of FIG. 15.

負荷分散印刷では、予め設定された親のプリンタの実ジョブキューに実ジョブが登録され、バックアッププリンタの仮想ジョブキューに仮想ジョブが登録される。1つのプリントキューにおいて、これらのジョブの中で早くスケジュールアップ要求を受け付けた印刷ジョブがネットワークプリンタ102〜104に転送される。   In load distribution printing, a real job is registered in a preset real job queue of a parent printer, and a virtual job is registered in a virtual job queue of a backup printer. In one print queue, a print job that has received a schedule up request early among these jobs is transferred to the network printers 102 to 104.

ステップS1501では、スケジュール要求(スケジュールアップ)を受け付けたか判断する。スケジュールアップを受け付けると処理をS1502に移行し、スケジュールアップが来なければステップS1501で待機する。   In step S1501, it is determined whether a schedule request (schedule up) has been received. If a schedule up is accepted, the process proceeds to S1502, and if no schedule up comes, the process waits in step S1501.

ステップS1502では、スケジュールアップを受け付けた印刷ジョブが負荷分散ジョブかどうかを判断する。ジョブ情報のプリントタイプの情報を取得し、プリントタイプが負荷分散印刷であれば、ステップS1503に処理を移行する。負荷分散印刷でなければ、ステップS1511に処理を移行し、実ジョブキューに登録された実ジョブ情報に基づく印刷ジョブがネットワークプリンタに転送される。   In step S1502, it is determined whether the print job that has received the schedule up is a load distribution job. If the print type information of the job information is acquired and the print type is load distribution printing, the process proceeds to step S1503. If it is not load distribution printing, the process proceeds to step S1511, and a print job based on real job information registered in the real job queue is transferred to the network printer.

ステップS1503では、スケジュールアップのジョブが仮想ジョブであるか、実ジョブであるかを判断する。仮想ジョブであれば、ステップ1504に処理を移行し、実ジョブであればステップS1513に処理を移行する。   In step S1503, it is determined whether the schedule up job is a virtual job or an actual job. If it is a virtual job, the process proceeds to step 1504, and if it is a real job, the process proceeds to step S1513.

ここで、仮想ジョブのスケジュールアップをユーザに通知してもよい。つまり、ユーザが指定した負荷分散プリントデバイスではなく、バックアッププリントデバイスにおいて印刷が実行されることを通知すれば、ユーザは印刷結果が出力されるプリンタを特定することができ、利便性が高い。   Here, the user may be notified of the virtual job schedule up. In other words, if notification is made that printing is executed in the backup print device instead of the load distribution print device designated by the user, the user can specify the printer to which the print result is output, which is highly convenient.

ステップS1504において、実ジョブ情報を参照するために仮想ジョブ情報中の実ジョブIDを取得する。ステップS1505では、ステップS1504で取得した実ジョブIDを用いて実ジョブ情報を参照し、実ジョブ情報に含まれる仮想ジョブIDを取得する。   In step S1504, the real job ID in the virtual job information is acquired to refer to the real job information. In step S1505, the real job information is referenced using the real job ID acquired in step S1504, and the virtual job ID included in the real job information is acquired.

ステップS1506では、ステップS1505で取得した仮想ジョブIDから、スケジュールアップ要求が発生した仮想ジョブ以外の同内容の仮想ジョブを認識し、スケジュールアップ要求を受けていない送信の対象とならなかった他の仮想ジョブを、順に削除する(図16の矢印g)。   In step S1506, from the virtual job ID acquired in step S1505, a virtual job having the same content other than the virtual job for which the schedule up request has occurred is recognized, and other virtual machines that have not been subject to transmission that have not received the schedule up request. Jobs are deleted in order (arrow g in FIG. 16).

ステップS1507において、ステップS1505で取得した仮想ジョブで、ステップS1506で削除していない仮想ジョブが残っていればステップS1506に処理を移行し、仮想ジョブが残っていなければ、ステップS1508に処理を移行する。これにより、スケジュールアップ要求が発生した仮想ジョブと同内容の、他のすべての仮想ジョブを削除する。   In step S1507, if the virtual job acquired in step S1505 includes a virtual job that has not been deleted in step S1506, the process proceeds to step S1506. If no virtual job remains, the process proceeds to step S1508. . As a result, all other virtual jobs having the same content as the virtual job for which the schedule up request has occurred are deleted.

ステップS1508、S1509では、スケジュールアップ要求が発生した仮想ジョブを実ジョブに変更する処理を行う。そしてこの変更処理により仮想ジョブ情報が実ジョブ情報になり、変更前の実ジョブ情報に対応する印刷ジョブの送信は行わない。   In steps S1508 and S1509, processing is performed to change a virtual job for which a schedule up request has occurred to a real job. As a result of this change processing, the virtual job information becomes real job information, and the print job corresponding to the real job information before the change is not transmitted.

まず、ステップS1508において、仮想ジョブ情報を、実ジョブキュー801Bに登録する(図16の矢印h)。この時点で操作対象の印刷ジョブに関連した仮想ジョブ情報はすべて無くなる。更に、ステップS1509において、その仮想ジョブ情報中の実ジョブIDから対応する実ジョブ(ここではプリントキュー701に登録された実ジョブID「7」の実ジョブ)を特定し、その実ジョブ情報を取得し、実ジョブキュー801B内の仮想ジョブ情報(ここではID「9」)に情報をコピーする。この時点で、実ジョブキュー801Bには、ID「9」の実ジョブが格納されることになる。   First, in step S1508, virtual job information is registered in the real job queue 801B (arrow h in FIG. 16). At this point, all virtual job information related to the print job to be operated is lost. In step S1509, the corresponding real job (here, the real job with the real job ID “7” registered in the print queue 701) is identified from the real job ID in the virtual job information, and the real job information is acquired. The information is copied to the virtual job information (here, ID “9”) in the real job queue 801B. At this time, the real job with the ID “9” is stored in the real job queue 801B.

更にステップS1510において、スケジュールアップ要求が発生した仮想ジョブ情報の実ジョブIDに登録されていた実ジョブ(ここではプリントキュー701に登録された実ジョブID「7」の実ジョブ情報)を削除する(図16の矢印i)。これらの処理の結果、図17のような状況となる。そして、ステップS1511において、元々実ジョブの印刷ジョブあるいは実ジョブに変更された印刷ジョブを対応するネットワークプリンタに転送する。より具体的に説明すると、最終的に対象となる図10の実ジョブ情報(ステップS1503でNoと判断された実ジョブ情報、あるいは、ステップS1509において切り替えられた実ジョブ情報)から特定されるスプールファイル名の印刷データが、実ジョブ情報が登録されている実ジョブキューに対応する論理プリンタの出力ポートに関連付けられたIPアドレス又は名前解決に利用するネームに基づき転送される。   Further, in step S1510, the real job registered in the real job ID of the virtual job information for which the schedule up request has occurred (here, the real job information of the real job ID “7” registered in the print queue 701) is deleted (step S1510). Arrow i) in FIG. As a result of these processes, the situation shown in FIG. 17 is obtained. In step S1511, the print job that was originally an actual job or changed to an actual job is transferred to the corresponding network printer. More specifically, the spool file identified from the real job information (the real job information determined to be No in step S1503 or the real job information switched in step S1509) in FIG. The name print data is transferred based on the IP address associated with the output port of the logical printer corresponding to the real job queue in which the real job information is registered or the name used for name resolution.

そして、印刷ジョブの転送が終了したらステップS1512でジョブの送信終了の通知を行う。なお、図16の矢印iの処理が実行し終えるまで二つの実ジョブが存在するが、図16の矢印gから矢印iまでのの処理を一筆書きの(コンテキストチェンジを発生させない)プログラムで実現すれば問題は起こらない。また、図16の矢印iと矢印hの処理順序を逆にするようにしても良い。更に、上に説明では不要となった仮想ジョブ情報及び実ジョブ情報を削除するよう説明してきたが、例えば、不要になった印刷ジョブ情報にそれを示すフラグを付加して、付加後のジョブ情報を対応するプリントデバイスに送信するようにし、プリンタ側でフラグを参照し受信した印刷ジョブ情報を破棄するようにしても良い。   When the transfer of the print job is completed, notification of the completion of job transmission is given in step S1512. There are two actual jobs until the processing of the arrow i in FIG. 16 is completed, but the processing from the arrow g to the arrow i in FIG. 16 can be realized by a one-stroke program (which does not cause a context change). No problem will occur. Further, the processing order of the arrows i and h in FIG. 16 may be reversed. Further, in the above description, the virtual job information and the real job information that are no longer necessary have been described, but for example, a print job information that is no longer necessary is added with a flag indicating the job information after the addition. May be transmitted to the corresponding print device, and the received print job information may be discarded by referring to the flag on the printer side.

負荷分散処理により発生した実ジョブと複数の仮想ジョブの内、スケジュールアップを受けたジョブが実ジョブの場合には、ステップS1503からステップS1513に移行する。ステップ1513では、実ジョブ情報からすべての仮想ジョブ情報を取得し、ステップS1514においてすべての仮想ジョブを削除し、ステップS1511においてスケジュールアップを受け付けた実ジョブを対応するネットワークプリンタに転送する。なお、上にも説明したようにステップS1506や、ステップS1514において実ジョブあるいは仮想ジョブを削除するように説明したが、スケジュールアップ要求を受けていない他の印刷ジョブ(実ジョブあるいは仮想ジョブ)に対応する印刷ジョブ情報のみをネットワークプリンタに転送し、ネットワークプリンタにおいて削除するようにしても良い。   When the actual job generated by the load balancing process and the job that received the schedule up among the plurality of virtual jobs are real jobs, the process proceeds from step S1503 to step S1513. In step 1513, all virtual job information is acquired from the real job information, all virtual jobs are deleted in step S1514, and the real job whose schedule is accepted is transferred to the corresponding network printer in step S1511. As described above, the actual job or virtual job is deleted in step S1506 or step S1514. However, it corresponds to another print job (real job or virtual job) that has not received a schedule up request. Only the print job information to be transferred may be transferred to the network printer and deleted at the network printer.

一方。ステップS1502においてスケジュールアップを受けた印刷ジョブのプリントタイプが負荷分散印刷でなければ、ステップS1511に処理を移行し、そのままネットワークプリンタに転送される。   on the other hand. If the print type of the print job that received the schedule up in step S1502 is not load distribution printing, the process proceeds to step S1511 and is transferred to the network printer as it is.

本実施形態は、独自に作成した送信出力ポートにスプールジョブを転送しても良いし、オペレーティングシステムに用意された送信出力ポートに対して印刷ジョブを転送させてもよい。   In this embodiment, the spool job may be transferred to a transmission output port created independently, or the print job may be transferred to a transmission output port prepared in the operating system.

ここで、図13に示したような複数のプリントキューを、例えば図6A、Bにおけるプリントマネージャ609を用いてディスプレイ表示させる際には、仮想ジョブキューに登録された仮想ジョブ情報は表示せずに、実ジョブキューに登録された実ジョブ情報のみを選択的に表示する。   Here, when a plurality of print queues as shown in FIG. 13 are displayed on the display using, for example, the print manager 609 in FIGS. 6A and 6B, the virtual job information registered in the virtual job queue is not displayed. Only the real job information registered in the real job queue is selectively displayed.

プリントマネージャ609からAPIを介してジョブ制御プリントサービス605に対して印刷ジョブの実行状況の要求が行なわれると、ジョブ制御プリントサービス605は、実ジョブキューに登録された実ジョブ情報とに仮想ジョブキューに登録された仮想ジョブ情報とから、実ジョブキューに登録された実ジョブ情報を抽出する。そして、抽出された実ジョブ情報がプリントマネージャ609に通知され、通知された実ジョブ情報に基づく印刷ジョブの実行状況が表示される。すなわち、実ジョブ情報のみをユーザに報知するため、ユーザの混乱を防ぐことができる。   When a print job execution status request is made from the print manager 609 to the job control print service 605 via the API, the job control print service 605 adds a virtual job queue to the real job information registered in the real job queue. The real job information registered in the real job queue is extracted from the virtual job information registered in. The extracted actual job information is notified to the print manager 609, and the execution status of the print job based on the notified actual job information is displayed. That is, since only the actual job information is notified to the user, user confusion can be prevented.

なお、ジョブ制御プリントサービス605からのプリントジョブマネージャ609に対する能動的な通知に基づきジョブの実行状況の表示を行わせてもよい。また、ジョブ制御プリントサービス605からプリントジョブマネージャ609に実ジョブ情報及び仮想ジョブ情報の双方を通知して、実ジョブ情報の抽出をプリントマネージャ609に行わせるようにしても良い。   Note that the job execution status may be displayed based on an active notification from the job control print service 605 to the print job manager 609. Further, both the real job information and the virtual job information may be notified from the job control print service 605 to the print job manager 609 so that the print manager 609 can extract the real job information.

図18に、基本プリントキューに対応する論理プリンタに対して、バックアッププリントキューに対応する論理プリンタを関連付けるための、設定画面を示す。この図18は新規に論理プリンタを作成あるいは追加する際に表示されるものであるが、既に作成された論理プリンタの設定を変更する場合などに表示させるようにしても良い。   FIG. 18 shows a setting screen for associating a logical printer corresponding to the backup print queue with a logical printer corresponding to the basic print queue. Although FIG. 18 is displayed when a new logical printer is created or added, it may be displayed when changing the settings of a logical printer that has already been created.

1801は、論理プリンタ名を入力する入力欄である。キーボード等を介してユーザが任意に名前を指定することができる。1802は、プリンタドライバ名を表示する表示欄である。「ドライバの選択」ボタンを選択することにより、ユーザが選択可能な複数のプリンタドライバのリストが表示され、そのリストから選択されたプリンタドライバの名前が表示欄1802に表示される。   Reference numeral 1801 denotes an input field for inputting a logical printer name. A user can arbitrarily specify a name via a keyboard or the like. Reference numeral 1802 denotes a display field for displaying a printer driver name. By selecting the “Select Driver” button, a list of a plurality of printer drivers that can be selected by the user is displayed, and the name of the printer driver selected from the list is displayed in the display column 1802.

1806はプリンタドライバに関連付けるポートを選択する選択画面を表示させるための「ポートの選択」ボタンである。「ポートの選択」ボタン1806が選択されると、システムに登録されている複数のポートが選択可能な形態で提示される。   Reference numeral 1806 denotes a “select port” button for displaying a selection screen for selecting a port associated with the printer driver. When the “select port” button 1806 is selected, a plurality of ports registered in the system are presented in a selectable form.

1803は論理プリンタの出力方法を選択するための選択欄である。この選択欄において、出力方法として「負荷分散印刷」を指定することができる。   Reference numeral 1803 denotes a selection field for selecting an output method of the logical printer. In this selection field, “load distribution printing” can be designated as the output method.

1804は、1801、1806で設定された所定の論理プリンタに対するバックアッププリンタ(例えば図13のバックアッププリントキュー701A、701Bに対応)のリストを表示する表示欄である。1805は、バックアッププリンタを設定するための「バックアッププリンタ設定」ボタンである。「バックアッププリンタ設定」ボタン1805が選択されると、バックアッププリンタとして設定可能な論理プリンタのリストが表示される。そして、そのリスト中から選択された論理プリンタがバックアッププリンタとして設定され、バックアッププリンタリスト表示欄1804に表示される。「バックアッププリンタ設定」ボタン1805が選択された場合に、指定されたプリンタドライバにより特定されるプリンタモデルやプリンタ言語に互換性のあるプリンタのみをリスト表示すれば、ユーザは適切なバックアッププリンタを効率よく選択することができる。   A display field 1804 displays a list of backup printers (for example, corresponding to the backup print queues 701A and 701B in FIG. 13) for the predetermined logical printer set in 1801 and 1806. Reference numeral 1805 denotes a “backup printer setting” button for setting a backup printer. When a “backup printer setting” button 1805 is selected, a list of logical printers that can be set as backup printers is displayed. The logical printer selected from the list is set as a backup printer and displayed in the backup printer list display field 1804. When the “backup printer setting” button 1805 is selected, the user can efficiently select an appropriate backup printer by displaying only a list of printers compatible with the printer model and printer language specified by the designated printer driver. You can choose.

このように、図18に示す画面で設定された設定情報は、図9や、図10や、図11の情報の各項目に反映される。つまり、図18に示す画面は見かけ上、論理プリンタ同士の関係を設定するための設定画面であるが、その設定画面に対する設定内容は結果としてプリントキュー同士の関係を設定するものとなる。従って、図18は、基本プリントキューに対してバックアッププリントキューを対応付けるための設定画面と言い換えることができる。   As described above, the setting information set on the screen shown in FIG. 18 is reflected in each item of the information in FIG. 9, FIG. 10, and FIG. That is, the screen shown in FIG. 18 apparently is a setting screen for setting the relationship between logical printers, but the setting content for the setting screen results in setting the relationship between print queues. Accordingly, FIG. 18 can be paraphrased as a setting screen for associating the backup print queue with the basic print queue.

以上、説明したように、本実施の形態では、アプリケーションが負荷分散プリンタに印刷すると、負荷分散設定のプリンタに対応するプリントキューに実ジョブが、バックアッププリンタに対応するプリントキューに仮想ジョブが作成され、これらのジョブ情報の中で一番早くスケジュールアップを受け付けたジョブが実ジョブとしてネットワークプリンタに転送される。そのため、複数のネットワークプリンタ内で転送可能になるのが早いネットワークプリンタを効率的に選択して印刷ジョブが転送されることになる。その結果、大量の印刷ジョブを複数のネットワークプリンタで効率的に処理することができ、印刷ジョブが存在している間は複数のネットワークプリンタをフルに稼動することができる。   As described above, in this embodiment, when an application prints to a load balancing printer, a real job is created in the print queue corresponding to the load balancing setting printer, and a virtual job is created in the print queue corresponding to the backup printer. Of these pieces of job information, the job whose schedule is accepted earliest is transferred to the network printer as an actual job. Therefore, a print job is transferred by efficiently selecting a network printer that can be transferred among a plurality of network printers. As a result, a large number of print jobs can be efficiently processed by a plurality of network printers, and a plurality of network printers can be fully operated while a print job exists.

また、同じ印刷データを、複数のキューに重複して登録することもなく、メモリ容量及びメモリ処理の負荷を小さくできる。また、仮想ジョブ情報は表示されないため、一時的にでも、複数の同じ印刷データがキューを占有するということはなく、ユーザを混乱させることもない。更に、システム上に共有プリントキューという特別なキューを設定する必要もないため、ユーザは従来と同じ感覚で印刷を行うことにより負荷分散印刷を行うことができる。ユーザは、印刷アプリケーションに複雑な機能を組み込まなくても、複数のプリントデバイスを効率よく利用することができる。   Further, the same print data is not registered in a plurality of queues, and the memory capacity and the memory processing load can be reduced. Further, since virtual job information is not displayed, a plurality of the same print data does not occupy the queue even temporarily, and the user is not confused. Furthermore, since it is not necessary to set a special queue called a shared print queue on the system, the user can perform load distribution printing by performing printing in the same manner as before. The user can efficiently use a plurality of printing devices without incorporating complicated functions into the printing application.

(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
(Other embodiments)
Although the embodiments of the present invention have been described in detail above, the present invention may be applied to a system constituted by a plurality of devices or may be applied to an apparatus constituted by one device.

なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。   In the present invention, a software program for realizing the functions of the above-described embodiments is supplied directly or remotely to a system or apparatus, and the program code supplied by the system or apparatus is read and executed. Including the case where it is also achieved. In that case, as long as it has the function of a program, the form does not need to be a program.

従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Therefore, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. That is, the claims of the present invention include the computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。   In this case, the program may be in any form as long as it has a program function, such as an object code, a program executed by an interpreter, or script data supplied to the OS.

プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。   As a recording medium for supplying the program, for example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card ROM, DVD (DVD-ROM, DVD-R) and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。   As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program itself of the present invention or a compressed file including an automatic installation function is downloaded from the homepage to a recording medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the claims of the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer. In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instruction of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of them and performing the processing.

更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。   Further, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

本発明の実施形態としてのプリントシステムの全体構成を示すブロック図である。1 is a block diagram showing an overall configuration of a print system as an embodiment of the present invention. サーバまたはクライアントのハードウェア構成を説明するブロック図である。It is a block diagram explaining the hardware constitutions of a server or a client. 図2に示したRAM202のメモリマップの一例を示す図である。It is a figure which shows an example of the memory map of RAM202 shown in FIG. 図2に示したFD204のメモリマップの一例を示す図である。FIG. 3 is a diagram illustrating an example of a memory map of the FD 204 illustrated in FIG. 2. 図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図である。It is a figure which shows the relationship with FD204 inserted with respect to FD drive 203 shown in FIG. プリントシステムのソフトウェア構成の1例を示す図である。FIG. 3 is a diagram illustrating an example of a software configuration of a print system. プリントシステムのソフトウェア構成の、他の例を示す図である。FIG. 10 is a diagram illustrating another example of the software configuration of the print system. 負荷分散印刷時の印刷ジョブの流れを示す図である。FIG. 6 is a diagram illustrating a flow of a print job at the time of load distribution printing. プリントキューと実ジョブキュー及び仮想ジョブキューの関連を表す図である。FIG. 4 is a diagram illustrating a relationship between a print queue, a real job queue, and a virtual job queue. プリントキュー情報の内容を示す図である。It is a figure which shows the content of print queue information. 実ジョブ情報の内容を示す図である。It is a figure which shows the content of real job information. 仮想ジョブ情報の内容を示す図である。It is a figure which shows the content of virtual job information. 印刷ジョブを受け付けてから、仮想ジョブを作成する処理の流れを示すフローチャートである。10 is a flowchart illustrating a flow of processing for creating a virtual job after receiving a print job. 実ジョブ、仮想ジョブと実ジョブキュー、仮想ジョブキュー、プリントキュー、バックアッププリントキューの関連を示す図である。FIG. 4 is a diagram illustrating a relationship between a real job, a virtual job, a real job queue, a virtual job queue, a print queue, and a backup print queue. スケジュールアップの処理を示すフローチャートである。It is a flowchart which shows the process of schedule up. スケジュールアップから印刷するまでの処理を示すフローチャートである。It is a flowchart which shows the process from schedule up to printing. 実ジョブ、仮想ジョブと実ジョブキュー、仮想ジョブキュー、プリントキュー、バックアッププリントキューの関連を示す図である。FIG. 4 is a diagram illustrating a relationship between a real job, a virtual job, a real job queue, a virtual job queue, a print queue, and a backup print queue. 実ジョブ、実ジョブキュー、仮想ジョブキュー、プリントキュー、バックアッププリントキューの関連を示す図である。FIG. 6 is a diagram illustrating a relationship among a real job, a real job queue, a virtual job queue, a print queue, and a backup print queue. 論理プリンタに関する情報を設定するための画面の1例を示す図である。It is a figure which shows an example of the screen for setting the information regarding a logical printer.

Claims (16)

印刷装置に印刷ジョブを送信可能な情報処理装置であって、
一の印刷装置に対して基本プリントキューおよびバックアッププリントキューを設定する設定手段と、
前記一の印刷装置に対する印刷指示に基づいて、前記一の印刷装置の基本プリントキューに印刷ジョブ情報を登録する印刷ジョブ登録手段と、
他の印刷装置の基本プリントキューに登録された印刷ジョブ情報のバックアップとなるバックアップジョブ情報を、前記一の印刷装置のバックアッププリントキューに登録するバックアップジョブ情報登録手段と、
前記一の印刷装置の基本プリントキューに印刷ジョブ情報が登録され且つ前記一の印刷装置のバックアッププリントキューにバックアップジョブ情報が登録されている場合に、前記基本プリントキューに登録されている印刷ジョブ情報を優先的に前記一の印刷装置へ出力し、前記一の印刷装置の前記基本プリントキューに印刷ジョブ情報が登録されておらず且つ前記一の印刷装置のバックアッププリントキューにバックアップジョブ情報が登録されている場合に、該バックアップジョブ情報に基づき印刷ジョブ情報を生成して前記一の印刷装置へ出力するジョブ制御手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus capable of transmitting a print job to a printing apparatus ,
Setting means for setting a basic print queue and a backup print queue for one printing device ;
Print job registration means for registering print job information in a basic print queue of the one printing apparatus based on a printing instruction for the one printing apparatus ;
Backup job information registration means for registering backup job information serving as a backup of print job information registered in the basic print queue of another printing apparatus in the backup print queue of the one printing apparatus ;
Print job information registered in the basic print queue when print job information is registered in the basic print queue of the one printing device and backup job information is registered in the backup print queue of the one printing device Is preferentially output to the one printing device, print job information is not registered in the basic print queue of the one printing device, and backup job information is registered in the backup print queue of the one printing device. A job control unit that generates print job information based on the backup job information and outputs the print job information to the one printing apparatus ;
An information processing apparatus comprising:
前記他の印刷装置のプリントキューに登録された印刷ジョブ情報が該他の印刷装置に出力されたことに応じて、前記一の印刷装置のバックアッププリントキューに登録された前記バックアップジョブ情報を削除する削除手段を有することを特徴とする請求項1に記載の情報処理装置。 When the print job information registered in the print queue of the other printing apparatus is output to the other printing apparatus, the backup job information registered in the backup print queue of the one printing apparatus is deleted. The information processing apparatus according to claim 1, further comprising a deletion unit. 前記印刷ジョブ情報は、印刷データを含まず、印刷データの格納先、印刷装置の識別情報、及び印刷方法を含む情報であり、
前記バックアップジョブ情報は、印刷データ及び印刷データの格納先を含まず、前記印刷ジョブ情報へのリンクを含む情報であることを特徴とする請求項1または2に記載の情報処理装置。
The print job information does not include print data, and is information including a print data storage destination, printing apparatus identification information, and a printing method,
The information processing apparatus according to claim 1, wherein the backup job information is information including a link to the print job information without including print data and a print data storage destination.
前記他の印刷装置の前記プリントキューに登録された印刷ジョブ情報の種別を識別する識別手段を更に備え、
前記バックアップジョブ登録手段は、前記識別手段の識別結果に基づいて、前記バックアップジョブ情報の生成を行うことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
An identification means for identifying the type of print job information registered in the print queue of the other printing apparatus;
The information processing apparatus according to claim 1, wherein the backup job registration unit generates the backup job information based on an identification result of the identification unit.
前記基本プリントキュー及び前記バックアッププリントキューは、それぞれ、前記印刷ジョブ情報を登録するための第1プリントキュー領域と、前記バックアップジョブ情報を登録するための第2プリントキュー領域と、を備えることを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。   Each of the basic print queue and the backup print queue includes a first print queue area for registering the print job information and a second print queue area for registering the backup job information. The information processing apparatus according to any one of claims 1 to 4. 前記バックアップジョブ情報を表示することなく前記印刷ジョブ情報に基づくを表示を行う表示手段を更に備えることを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。   6. The information processing apparatus according to claim 1, further comprising a display unit configured to display based on the print job information without displaying the backup job information. 前記基本プリントキューに対してバックアッププリンキューを関連付ける設定画面の表示を行う表示制御手段を更に備えることを特徴とする請求項1から6のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 6, characterized by further comprising display control means for displaying a setting screen to associate a backup print queue to the fundamental print queue. 印刷装置に印刷ジョブを送信可能な情報処理方法であって、
一の印刷装置に対して基本プリントキューおよびバックアッププリントキューを設定する設定工程と、
前記一の印刷装置に対する印刷指示に基づいて、前記一の印刷装置の基本プリントキューに印刷ジョブ情報を登録する印刷ジョブ登録工程と、
他の印刷装置の基本プリントキューに登録された印刷ジョブ情報のバックアップとなるバックアップジョブ情報を、前記一の印刷装置のバックアッププリントキューに登録するバックアップジョブ情報登録工程と、
前記一の印刷装置の基本プリントキューに印刷ジョブ情報が登録され且つ前記一の印刷装置のバックアッププリントキューにバックアップジョブ情報が登録されている場合に、前記基本プリントキューに登録されている印刷ジョブ情報を優先的に前記一の印刷装置へ出力し、前記一の印刷装置の前記基本プリントキューに印刷ジョブ情報が登録されておらず且つ前記一の印刷装置のバックアッププリントキューにバックアップジョブ情報が登録されている場合に、該バックアップジョブ情報に基づき印刷ジョブ情報を生成して前記一の印刷装置へ出力するジョブ制御工程と、
を備えることを特徴とする情報処理方法。
An information processing method capable of transmitting a print job to a printing apparatus ,
A setting step for setting a basic print queue and a backup print queue for one printing device ;
A print job registration step of registering print job information in a basic print queue of the one printing apparatus based on a print instruction to the one printing apparatus ;
A backup job information registration step for registering backup job information as a backup of print job information registered in the basic print queue of another printing apparatus in the backup print queue of the one printing apparatus ;
Print job information registered in the basic print queue when print job information is registered in the basic print queue of the one printing device and backup job information is registered in the backup print queue of the one printing device Is preferentially output to the one printing device, print job information is not registered in the basic print queue of the one printing device, and backup job information is registered in the backup print queue of the one printing device. A job control step for generating print job information based on the backup job information and outputting the print job information to the one printing device ;
An information processing method comprising:
前記他の印刷装置のプリントキューに登録された印刷ジョブ情報が該他の印刷装置に出力されたことに応じて、前記一の印刷装置のバックアッププリントキューに登録された前記バックアップジョブ情報を削除する削除工程を有することを特徴とする請求項8に記載の印刷制御方法。 When the print job information registered in the print queue of the other printing apparatus is output to the other printing apparatus, the backup job information registered in the backup print queue of the one printing apparatus is deleted. The print control method according to claim 8, further comprising a deletion step. 前記印刷ジョブ情報は、印刷データを含まず、印刷データの格納先、印刷装置の識別情報、及び印刷方法を含む情報であり、
前記バックアップジョブ情報は、印刷データ及び印刷データの格納先を含まず、前記印刷ジョブ情報へのリンクを含む情報であることを特徴とする請求項8または9に記載の印刷制御方法。
The print job information does not include print data, and is information including a print data storage destination, printing apparatus identification information, and a printing method,
10. The print control method according to claim 8, wherein the backup job information is information that does not include print data and a storage location of the print data but includes a link to the print job information.
前記他の印刷装置の前記プリントキューに登録された印刷ジョブ情報の種別を識別する識別工程を更に備え、
前記バックアップジョブ登録工程は、前記識別工程の識別結果に基づいて、前記バックアップジョブ情報の生成を行うことを特徴とする請求項8から10のいずれか1項に記載の印刷制御方法。
An identification step of identifying the type of print job information registered in the print queue of the other printing device;
The print control method according to claim 8, wherein the backup job registration step generates the backup job information based on an identification result of the identification step .
前記基本プリントキュー及び前記バックアッププリントキューは、それぞれ、前記印刷ジョブ情報を登録するための第1プリントキュー領域と、前記バックアップジョブ情報を登録するための第2プリントキュー領域と、を備えることを特徴とする請求項8から11のいずれか1項に記載の印刷制御方法。   Each of the basic print queue and the backup print queue includes a first print queue area for registering the print job information and a second print queue area for registering the backup job information. The printing control method according to any one of claims 8 to 11. 前記バックアップジョブ情報を表示することなく前記印刷ジョブ情報に基づくを表示を行う表示工程を更に備えることを特徴とする請求項8から12のいずれか1項に記載の印刷制御方法。   The print control method according to claim 8, further comprising a display step of displaying based on the print job information without displaying the backup job information. 前記基本プリントキューに対してバックアッププリンキューを関連付ける設定画面の表示を行う表示制御工程を更に備えることを特徴とする請求項8から13のいずれか1項に記載の印刷制御方法。 The print control method according to any one of claims 8 13, characterized by further comprising a display control step for displaying a setting screen to associate a backup print queue to the fundamental print queue. 請求項8に記載の印刷制御方法に含まれる各工程をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute each step included in the printing control method according to claim 8. 請求項15に記載のプログラムを格納したことを特徴とするコンピュータ読取可能な記録媒体。   A computer-readable recording medium storing the program according to claim 15.
JP2006130884A 2006-05-09 2006-05-09 Information processing apparatus, printing system, load distribution printing method, program, and storage medium Expired - Fee Related JP4174523B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006130884A JP4174523B2 (en) 2006-05-09 2006-05-09 Information processing apparatus, printing system, load distribution printing method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006130884A JP4174523B2 (en) 2006-05-09 2006-05-09 Information processing apparatus, printing system, load distribution printing method, program, and storage medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003401953A Division JP3833213B2 (en) 2003-12-01 2003-12-01 Information processing apparatus, printing system, load distribution printing method, program, and storage medium

Publications (2)

Publication Number Publication Date
JP2006209809A JP2006209809A (en) 2006-08-10
JP4174523B2 true JP4174523B2 (en) 2008-11-05

Family

ID=36966498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006130884A Expired - Fee Related JP4174523B2 (en) 2006-05-09 2006-05-09 Information processing apparatus, printing system, load distribution printing method, program, and storage medium

Country Status (1)

Country Link
JP (1) JP4174523B2 (en)

Also Published As

Publication number Publication date
JP2006209809A (en) 2006-08-10

Similar Documents

Publication Publication Date Title
JP3854963B2 (en) Information processing apparatus, printing system, load balancing printing method, and control program
JP3833213B2 (en) Information processing apparatus, printing system, load distribution printing method, program, and storage medium
JP4262270B2 (en) Information processing apparatus and printing apparatus control method
US7312886B2 (en) Printer control method, information processing apparatus, program, and storage medium
US7426046B2 (en) Information processing apparatus, information processing method, information processing program, and storage medium
US7707326B2 (en) System for setting print end notification either when data transmission ends or when printing ends based on print check ability of printing devices
JP4018622B2 (en) Information processing apparatus, information processing system, information processing method, information processing program, and storage medium
JP3774702B2 (en) Print control program and information processing apparatus
JP3927949B2 (en) Information processing apparatus, load distribution printing method, program, and storage medium
JP2004054909A (en) Information processor, printing system, print control method for information processor, and print control program
US20060039029A1 (en) Device and method for controlling printing
JP2003316545A (en) Information processor and information processing method
US7839518B2 (en) Print control method, information processing apparatus, printing system, print control program and record medium
JP3880575B2 (en) Print setting method and computer
JP4886501B2 (en) Printing apparatus, printing control method, and program
JP4174523B2 (en) Information processing apparatus, printing system, load distribution printing method, program, and storage medium
JP4110021B2 (en) Print processing program, information processing apparatus, information processing method, and storage medium for performing print processing with department management
JP2006146716A (en) Information processor, informed processing method, program and storage medium
JP2005332227A (en) Information processing unit, management method, program and storage medium
JP3833090B2 (en) Control method, control device, program, and storage medium
JP2005173921A (en) Information processor, printing system, information processing method and control program
JP2005196439A (en) Method for controlling print data of print system and control program
JP2012059280A (en) Printer, data processing apparatus, printing control method, and program
JP2006003964A (en) Print system, processing method and computer program and its storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080715

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees