JP3962720B2 - Information processing apparatus, information processing method, computer program, and computer-readable storage medium - Google Patents

Information processing apparatus, information processing method, computer program, and computer-readable storage medium Download PDF

Info

Publication number
JP3962720B2
JP3962720B2 JP2003416722A JP2003416722A JP3962720B2 JP 3962720 B2 JP3962720 B2 JP 3962720B2 JP 2003416722 A JP2003416722 A JP 2003416722A JP 2003416722 A JP2003416722 A JP 2003416722A JP 3962720 B2 JP3962720 B2 JP 3962720B2
Authority
JP
Japan
Prior art keywords
job
data
print
printer device
advance
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
JP2003416722A
Other languages
Japanese (ja)
Other versions
JP2005174225A (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 JP2003416722A priority Critical patent/JP3962720B2/en
Publication of JP2005174225A publication Critical patent/JP2005174225A/en
Application granted granted Critical
Publication of JP3962720B2 publication Critical patent/JP3962720B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、印刷システムのジョブ制御処理に関する。   The present invention relates to a job control process of a printing system.

従来、DPA (ISO10175)で定義される割り込み印刷あるいは優先印刷を処理可能な印刷装置と、前記印刷装置で処理可能な割り込み印刷あるいは優先印刷指示を含んだジョブデータを生成可能なプリンタドライバが存在した。   Conventionally, there has been a printing apparatus that can process interrupt printing or priority printing defined by DPA (ISO 10175), and a printer driver that can generate job data including interrupt printing or priority printing instructions that can be processed by the printing apparatus. .

このようなプリンタドライバについては、例えば、特開平7−182124号公報や特開平7−325685号公報に開示されている。特開平7−182124号公報では、プリンタドライバが優先印刷指令を受け、かつプリンタ装置が現在他の印刷データの出力処理中であるときに、優先印刷する印刷データから描画データを生成することにより印刷データを展開することなく優先印刷を可能とする印刷システムが開示されている。また、特開平7−325685号公報では、印刷データに付加された優先度情報に基づいて印刷順位を定め、印刷順位を管理する印刷システムが開示されている。
特開平07―182124 特開平07―325685
Such printer drivers are disclosed in, for example, Japanese Patent Application Laid-Open Nos. 7-182124 and 7-325685. In Japanese Patent Application Laid-Open No. 7-182124, printing is performed by generating drawing data from print data to be preferentially printed when the printer driver receives a preferential print command and the printer apparatus is currently outputting another print data. A printing system that enables priority printing without developing data is disclosed. Japanese Patent Laid-Open No. 7-325685 discloses a printing system that determines a printing order based on priority information added to print data and manages the printing order.
JP 07-182124 A JP 07-325685

しかしながら、昨今の印刷システムでは印刷効率を向上させるために、プリンタドライバと印刷装置の間には、印刷ジョブをスプールし、順次デバイスへ送信する機能を有するスプーラーが存在することが普通となっている。例えば、Windows(登録商標)におけるプリントスプーラーが代表例的なスプーラーとして知られている。そして、これらスプーラーにおいてはドキュメントに優先順位のパラメータを付加して、優先順位の高いドキュメントを優先順により低いドキュメントよりも先に出力するという機能が備わっていた。   However, in recent printing systems, in order to improve printing efficiency, it is common that a spooler having a function of spooling a print job and sequentially transmitting it to the device exists between the printer driver and the printing apparatus. . For example, a print spooler in Windows (registered trademark) is known as a typical spooler. These spoolers have a function of adding a priority parameter to a document and outputting a document with a higher priority before a document with a lower priority.

また、上に説明したDPA(ISO10175)で定義される割り込み印刷あるいは優先印刷と、オペレーティングシステムにおける優先順位とのリンクは取られていなかった。   In addition, there is no link between interrupt printing or priority printing defined by the DPA (ISO 10175) described above and priority in the operating system.

このため、プリンタドライバで指示された優先印刷ジョブ或いは割り込み印刷ジョブがスプーラーに通常ジョブと同様にWindows(登録商標)プリントスプーラーにスプールされてしまうため、例えば先行するジョブが複数存在した場合には、該複数の印刷ジョブの送信処理が完了するまで、プリンタデバイスにおいて割り込み印刷ジョブ或いは優先印刷されるはずの印刷ジョブの送信が待たされてしまうという問題があった。   For this reason, the priority print job or the interrupt print job instructed by the printer driver is spooled to the spooler in the Windows (registered trademark) print spooler in the same manner as the normal job. For example, when there are a plurality of preceding jobs, There has been a problem that transmission of an interrupt print job or a print job that is supposed to be preferentially printed in the printer device is awaited until the transmission processing of the plurality of print jobs is completed.

このように、単に印刷ジョブに優先度を付して、該付された優先度に基づく先送り印刷処理を行うという概念は既に公知であるものの、昨今の複雑化した高機能印刷システムにおいては改善の余地があった。   As described above, although the concept of simply assigning a priority to a print job and performing the advance printing process based on the assigned priority is already known, the recent complicated high-function printing system is improved. There was room.

本発明は上記の問題点を解消するためになされたもので、プリントジョブのデータをプリンタデバイスに出力する順番を、プリンタデバイスにおける先送りジョブの指定を考慮して行える仕組みを提供することを目的とする。   The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a mechanism in which the order in which print job data is output to a printer device can be taken into account in consideration of the designation of a forward job in the printer device. To do.

上記課題を解決するために、本発明による情報処理装置は、アプリケーションデータに基づき作成されたプリントジョブのデータを外部のプリンタデバイスに出力可能な情報処理装置であって、アプリケーションデータに基づき作成されたプリントジョブのデータをスプーラーから受け取る受信手段と、前記受け取ったプリントジョブのデータに、ユーザインタフェースを介してプリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータを優先的に前記プリンタデバイスに出力するよう制御する制御手段と、前記プリンタデバイスにおける先送りジョブの指定に応じて発行される前記制御手段が解釈できる先送りジョブIDを、前記制御手段に通知する通知制御手段とを有し、前記制御手段は、前記スプーラーから受信した前記プリントジョブのデータに前記先送りジョブIDが設定されている場合に、前記プリントジョブのデータを優先的に前記プリンタデバイスに出力することを特徴とする。 In order to solve the above problems, an information processing apparatus according to the present invention is an information processing apparatus capable of outputting print job data created based on application data to an external printer device , and created based on application data. receiving means for receiving data of a print job from the spooler, the data of the print job received, if the attribute of the postponed job instructed to be preferentially printed output at the printer device via a user interface that is configured Control means for controlling the received print job data to be preferentially output to the printer device, and a advance job ID that can be interpreted by the control means issued in response to the designation of the advance job in the printer device. The control means And a notification control unit configured to preferentially send the print job data to the printer device when the advance job ID is set in the print job data received from the spooler. It is characterized by outputting .

また、本発明による情報処理装置は、アプリケーションデータに基づき作成されたプリントジョブのデータを外部のプリンタデバイスに出力可能な情報処理装置であって、アプリケーションデータに基づき作成されたプリントジョブのデータを受け取る受信手段と、前記受け取ったプリントジョブのデータに、プリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータを優先的に前記プリンタデバイスに出力するよう制御する制御手段とを有し、前記制御手段は、イベントの発生を検知するイベント検知手段と、前記イベント検知手段によって検知されたイベントがジョブ投入コマンドであった場合に、投入されたジョブのIDを含むジョブ属性を生成するジョブ情報作成手段とを備え、前記ジョブ属性には前記先送りジョブの属性が含まれ、さらに前記制御手段は先送りジョブの属性を判定し、先送りジョブに対応した前記プリントジョブのデータを優先的に前記プリンタデバイスに出力することを特徴とする。 An information processing apparatus according to the present invention is an information processing apparatus capable of outputting print job data created based on application data to an external printer device, and receives print job data created based on application data. If the attribute of the advance job instructed to be preferentially printed out by the printer device is set in the receiving means and the received print job data, the received print job data is prioritized. Control means for controlling output to the printer device, the control means detecting event occurrence means, and when the event detected by the event detection means is a job input command , Job attribute containing the ID of the submitted job Job information creation means for generating, the job attribute includes the attribute of the advance job, and the control means determines the attribute of the advance job and prioritizes the print job data corresponding to the advance job. Output to the printer device .

さらに、本発明による情報処理方法は、アプリケーションデータに基づき作成されたプリントジョブのデータを外部のプリンタデバイスに出力するよう制御する制御手段を備えた情報処理装置における情報処理方法であって、アプリケーションデータに基づき作成されたプリントジョブのデータをスプーラーから受け取る受信工程と、前記受け取ったプリントジョブのデータに、ユーザインターフェースを介してプリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータを優先的に前記プリンタデバイスに出力するよう制御する、前記制御手段による制御工程と、前記プリンタデバイスにおける先送りジョブの指定に応じて発行される前記制御工程で解釈できる先送りジョブIDを、前記制御手段に通知する通知制御工程とを有し、前記制御工程では、前記スプーラーから受信した前記プリントジョブのデータに前記先送りジョブIDが設定されている場合に、前記プリントジョブのデータが優先的に前記プリンタデバイスに出力されることを特徴とする。
また、本発明による情報処理方法は、アプリケーションデータに基づき作成されたプリントジョブのデータを外部のプリンタデバイスに出力可能な情報処理装置における情報処理方法であって、アプリケーションデータに基づき作成されたプリントジョブのデータを受け取る受信工程と、前記受け取ったプリントジョブのデータに、プリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータを優先的に前記プリンタデバイスに出力するよう制御する制御工程と、イベントの発生を検知するイベント検知工程と、前記イベント検知工程で検知されたイベントがジョブ投入コマンドであった場合に、投入されたジョブのIDを含むジョブ属性を生成するジョブ情報作成工程とを有し、前記ジョブ属性には前記先送りジョブの属性が含まれ、さらに前記制御工程では、先送りジョブの属性を判定し、先送りジョブに対応した前記プリントジョブのデータが優先的に前記プリンタデバイスに出力されることを特徴とする。
Furthermore, an information processing method according to the present invention is an information processing method in an information processing apparatus including a control unit that controls to output print job data created based on application data to an external printer device. A receiving step for receiving data of a print job created based on the spooler from the spooler, and an attribute of a forward job instructed to be preferentially printed out at the printer device via the user interface in the received print job data. If the set have that controls to output the data of a print job received the priority on the printer device, and a control process by the control unit, and is issued in accordance with the specified postpone job in the printer device Control worker A notification control step of notifying the control means of the advance job ID that can be interpreted by the control means, and in the control step, when the advance job ID is set in the print job data received from the spooler, The print job data is preferentially output to the printer device .
An information processing method according to the present invention is an information processing method in an information processing apparatus capable of outputting print job data created based on application data to an external printer device, and the print job created based on application data The received print job data, and the received print job data when the attribute of the forward job instructed to be preferentially printed out by the printer device is set in the received print job data. Is input when the event detected in the event detection process is a job input command, a control process for controlling to output to the printer device with priority, an event detection process for detecting occurrence of an event, Generate job attributes including job ID A job information creation step, wherein the job attribute includes an attribute of the advance job, and in the control step, the attribute of the advance job is determined, and the print job data corresponding to the advance job is prioritized. Are output to the printer device.

なお、本発明による情報処理方法を実現することを特徴とするコンピュータプログラム、及びそのプログラムを記憶したコンピュータで読み取り可能な記憶媒体も開示される。   A computer program characterized by realizing the information processing method according to the present invention and a computer-readable storage medium storing the program are also disclosed.

本発明によれば、プリントジョブのデータをプリンタデバイスに出力する順番を、プリンタデバイスにおける先送りジョブの指定を考慮して行なえる印刷制御を行なうことが可能となる。例えば先行するジョブが複数存在した場合には、該印刷ジョブの送信処理が完了するまで割り込み印刷ジョブ或いは優先印刷ジョブの送信が待たされてしまうという問題が解決される。 According to the present invention, it is possible to perform print control in which the order in which print job data is output to the printer device can be performed in consideration of the designation of the advance job in the printer device. For example , when there are a plurality of preceding jobs, the problem of waiting for the transmission of the interrupt print job or the priority print job until the transmission processing of the print job is completed is solved.

以下、図面を参照して本発明の好適な実施形態について詳細に説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.

<第1の実施の形態>
(印刷処理システムの構成例)
図1は、実施形態に係る印刷処理システムの構成を示す図である。
<First Embodiment>
(Configuration example of print processing system)
FIG. 1 is a diagram illustrating a configuration of a print processing system according to the embodiment.

同図において、101、102、103、104は、ネットワーク106に接続され、相互に通信可能なネットワークコンピュータであり、典型的にはパーソナルコンピュータ(PC)である。   In the figure, reference numerals 101, 102, 103, and 104 denote network computers connected to the network 106 and capable of communicating with each other, and are typically personal computers (PCs).

これらのうち、102,103,104はクライアントコンピュータ(以下、クライアント)であり、それぞれイーサネット(登録商標)などのネットワークケーブルによってネットワーク106に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各クライアントは複数のプリンタドライバをサポートするものとする。   Among these, reference numerals 102, 103, and 104 denote client computers (hereinafter referred to as clients), which are each connected to the network 106 by a network cable such as Ethernet (registered trademark) and can execute various programs such as application programs. A printer driver having a function of converting print data into a printer language corresponding to the printer is installed. Here, it is assumed that each client supports a plurality of printer drivers.

これに対し101はサーバコンピュータ(以下、サーバ)であり、ネットワークケーブルによってネットワーク106に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視する。このサーバは、ネットワーク106に接続されているプリンタを管理するプリントサーバとしても機能する。具体的には、プリントサーバ101は、クライアントコンピュータ102、103、104から印刷要求が出されたプリントデータを含む印刷ジョブを格納して印刷する機能や、クライアントコンピュータ102〜104から印字データを含まないジョブ情報を受け取って印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知する機能、後述するプリンタデバイス(プリンタデバイス)105のステータスや印刷ジョブの各種情報を取得して、クライアントコンピュータ102〜104に通知する機能などを有している。サーバコンピュータ101は本発明の印刷システムにおいてサーバの機能が動作する論理的な存在である。図1で示されるように専用のサーバコンピュータを設けることもできるし、また、クライアントコンピュータ102〜104或いはプリンタデバイス105にサーバコンピュータの機能を代替させる事も可能である。   On the other hand, reference numeral 101 denotes a server computer (hereinafter referred to as a server), which is connected to the network 106 by a network cable, accumulates files used in the network, and monitors the use state of the network 106. This server also functions as a print server that manages printers connected to the network 106. Specifically, the print server 101 does not include print data from the client computers 102 to 104 or a function for storing and printing a print job including print data for which a print request has been issued from the client computers 102, 103, and 104. A function for receiving job information, managing the print order, and notifying a client in the print order of permission to send a print job including print data, a status of a printer device (printer device) 105 described later, and various print jobs It has a function of acquiring information and notifying the client computers 102-104. The server computer 101 is a logical entity in which the server function operates in the printing system of the present invention. As shown in FIG. 1, a dedicated server computer can be provided, or the client computers 102 to 104 or the printer device 105 can be substituted for the function of the server computer.

105は、印刷制御装置としてのプリンタデバイスであり、図示しないネットワークインタフェースを介してネットワーク106と接続されており、クライアントコンピュータから送信されてくる印字データを含む印刷ジョブを解析し、1ページずつドットイメージに変換して印刷する。なお、同図にプリンタデバイス105は1台しか示されていないが、他のプリンタデバイスが複数接続されていても良い。各プリンタデバイスの機能は相違するものであってもよい。尚、プリンタデバイスにおける画像記録方式としては様々な方式のものを適用可能であり、例えば、電子写真方式や、インクジェット方式の記録方式を採用した印刷制御装置を想定することができる。   Reference numeral 105 denotes a printer device as a print control apparatus, which is connected to the network 106 via a network interface (not shown), analyzes a print job including print data transmitted from a client computer, and prints dot images one page at a time. Convert to and print. Although only one printer device 105 is shown in the figure, a plurality of other printer devices may be connected. The functions of each printer device may be different. Various image recording methods can be applied to the printer device. For example, a print control apparatus employing an electrophotographic method or an ink jet recording method can be assumed.

また、106はネットワークであり、クライントコンピュータ102〜104、プリントサーバ101、プリンタデバイス105等と接続している。   Reference numeral 106 denotes a network which is connected to the client computers 102 to 104, the print server 101, the printer device 105, and the like.

(ネットワークコンピュータのハードウェア構成例)
図2は、クライアント102〜104とプリントサーバ101として使用されるコンピュータの構成を説明するブロック図である。なお、本実施形態においてはこのように、クライントコンピュータ102〜104もプリントサーバ101も同様あるいは同等のハードウェア構成とするが、それぞれ専用のハードウェア構成であっても構わない。
(Example of hardware configuration of network computer)
FIG. 2 is a block diagram illustrating a configuration of a computer used as the clients 102 to 104 and the print server 101. In this embodiment, the client computers 102 to 104 and the print server 101 have the same or equivalent hardware configurations as described above, but may have dedicated hardware configurations.

図2において、200は装置全体の制御を行うCPUであり、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや、本実施形態のプリンタデバイス制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。   In FIG. 2, a CPU 200 controls the entire apparatus, executes an application program, a printer driver program, an OS stored in a hard disk (HD) 205, a printer device control program according to the present embodiment, and the like. Control to temporarily store information, files, etc. necessary for program execution.

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

203は記憶媒体読み込み手段としてのフロッピディスクドライブであり、後述する図5に示すようにFDドライブ203を通じて、記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータにロードすることができる。204は記憶媒体であるフロッピディスク(FD)であり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はFDに限らず、CD−ROM、CDR、CDRW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。   Reference numeral 203 denotes a floppy disk drive as storage medium reading means, and a program or the like stored in the FD 204 as a storage medium can be loaded into the computer through the FD drive 203 as shown in FIG. Reference numeral 204 denotes a floppy disk (FD) as a storage medium, which is a storage medium in which a program is stored so as to be readable by a computer. Note that the storage medium is not limited to the FD, and may be any CD-ROM, CDR, CDRW, PC card, DVD, IC memory card, MO, memory stick, and the like.

205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HD)であり、アプリケーションプログラム、プリンタドライバプログラム、OS、プリンタデバイス制御プログラム、関連プログラム等を格納している。更に、スプール手段であるスプーラーはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。   Reference numeral 205 denotes an external storage means, which is a hard disk (HD) that functions as a large-capacity memory, and stores application programs, printer driver programs, OSs, printer device control programs, related programs, and the like. Furthermore, a spooler as spool means is secured here. The spool means is a client spooler in the client, and a server spooler in the print server. In the print server, job information received from the client is stored, and a table for controlling the order is also generated and stored in the external storage means.

206は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。207は表示手段であるディスプレイであり、キーボード206から入力したコマンドや、プリンタの状態等を表示したりするものである。   Reference numeral 206 denotes a keyboard which is an instruction input unit. The user instructs the client computer and the operator or administrator inputs an instruction of a device control command to the print server. A display 207 is a display unit that displays commands input from the keyboard 206, the status of the printer, and the like.

208はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。209は入出力手段であるインタフェースであり、該インタフェース209を介して情報処理装置は外部装置とのデータのやり取りを行う。   A system bus 208 controls the flow of data in a computer that is a client or a print server. Reference numeral 209 denotes an interface which is an input / output unit, and the information processing apparatus exchanges data with an external apparatus via the interface 209.

なお、上記コンピュータの構成はその一例であり、図2の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM、RAM、HDなどで変更することも可能である。   Note that the configuration of the computer is an example thereof, and is not limited to the configuration example of FIG. For example, the storage location of data and programs can be changed by ROM, RAM, HD, etc. according to the characteristics.

図3は、図2に示したRAM202のメモリマップの一例を示す図であり、FD204からロードされる上記プリンタデバイス制御プログラムが、RAM202にロードされ実行可能となった状態のメモリマップである。   FIG. 3 is a diagram showing an example of a memory map of the RAM 202 shown in FIG. 2, and is a memory map in a state where the printer device control program loaded from the FD 204 is loaded into the RAM 202 and can be executed.

なお、本実施形態では、プリンタデバイス制御プログラムおよび関連データをFD204から直接RAM202にロードして実行させる例を示すが、これ以外にも、プリンタデバイス制御プログラムを動作させる度に、既にプリンタデバイス制御プログラムがFD204からインストールされているHD205から、RAM202にロードするようにしてもよい。また、本プリンタデバイス制御プログラムを記憶する媒体は、FD以外にCD−ROM、CDR、PCカード、DVD、ICメモリカードであってもよい。   In this embodiment, the printer device control program and related data are directly loaded from the FD 204 to the RAM 202 and executed. However, in addition to this, every time the printer device control program is operated, the printer device control program is already executed. May be loaded into the RAM 202 from the HD 205 installed from the FD 204. The medium for storing the printer device control program may be a CD-ROM, CDR, PC card, DVD, or IC memory card in addition to the FD.

さらに、本プリンタデバイス制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。   Further, it is possible to store the printer device 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.

また、以下では、本プリンタデバイス制御プログラムのことを、簡単に印刷制御プログラムまたはプリンタドライバと呼ぶこともある。印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含む。一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。   Hereinafter, the printer device control program may be simply referred to as a print control program or a printer driver. The print control program includes a program for performing control for instructing the change of the print destination of the print job or the instruction for changing the print order in the client. On the other hand, the print server includes a program for controlling the order of print jobs and notifying the end of printing of a print job, a request for changing a print destination, and the like.

また、このような制御を行う本実施形態の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能するようにしてもよい。あるいは、一台のコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとをともにインストールし、同時にあるいは時分割で、擬似的に平行動作させる構成も可能である。   In addition, the print control program of this embodiment that performs such control may separately divide the module installed in the client and the module installed in the print server, or one print control program is executed. It may function as a client or a print server depending on the environment. Alternatively, it is possible to install a module having a function for a client and a module functioning for a print server together in one computer and perform a pseudo parallel operation at the same time or in a time division manner.

301は基本I/Oプログラムであり、コンピュータの電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムが入っている領域である。302はオペレーティングシステム(OS)であり、303はプリンタデバイス制御プログラムで、RAM202上に確保される領域に記憶される。304は関連データで、RAM202上に確保される領域に記憶される。305はワークエリアで、CPU200が本プリンタ制御プログラムを実行する領域が確保されている。   Reference numeral 301 denotes a basic I / O program, which has an IPL (Initial Program Loading) function for starting the operation of the OS by reading the OS from the HD 205 into the RAM 202 when the computer is turned on. This is the area that contains Reference numeral 302 denotes an operating system (OS), and 303 denotes a printer device control program, which is stored in an area secured on the RAM 202. Reference numeral 304 denotes related data, which is stored in an area secured on the RAM 202. Reference numeral 305 denotes a work area in which an area for the CPU 200 to execute the printer control program is secured.

図4は、図2に示したFD204のメモリマップの一例を示す図である。図4において、401はデータの情報を示すボリューム情報であり、402はディレクトリ情報、403は本実施形態で説明する印刷制御プログラムであるプリンタデバイス制御プログラム、404はその関連データである。プリンタデバイス制御プログラム403は、本実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント及びサーバ共に、同様の構成をとっている。   FIG. 4 is a diagram illustrating an example of a memory map of the FD 204 illustrated in FIG. In FIG. 4, 401 is volume information indicating data information, 402 is directory information, 403 is a printer device control program which is a print control program described in the present embodiment, and 404 is related data thereof. The printer device control program 403 is a program based on the flowchart described in this embodiment. In this embodiment, both the client and the server have the same configuration.

図5は、図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図であり、図2と同一のものには同一の符号を付してある。図5において、FD204には、本実施形態で説明するプリンタデバイス制御プログラムおよび関連データが格納されている。   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 FIG. 5, the FD 204 stores a printer device control program and related data described in this embodiment.

(印刷処理システムにおけるソフトウェア構成例及び動作例)
図6は、本システムのクライアントサーバモデルにおいて、Microsoft Word(登録商標)などの一般的なアプリケーションから発行された描画コマンドを含む印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
(Example of software configuration and operation in print processing system)
FIG. 6 shows how a print job including a drawing command issued from a general application such as Microsoft Word (registered trademark) is processed in the print job control system in the client server model of this system. It is a figure.

通常、印刷の指示がされると、アプリケーションプログラムは一連の描画命令をOSを介して生成させる。この生成された描画命令はプリンタドライバを経て所定の形式に変換された後、ウインドウズスプーラ(Windows(登録商標) Spooler)に渡される。Windows(登録商標) Spoolerは、ユーザがユーザインタフェースを介して選択し指示したポートモニタにプリントジョブデータを渡して、プリンタデバイスに送信させる手順をとる。本実施形態では、今述べた通常の動作に対してユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ621(以降、ジョブ制御ポートモニタと略記)を指定して印刷を指示する。   Normally, when a printing instruction is given, the application program generates a series of drawing commands via the OS. The generated drawing command is converted into a predetermined format via a printer driver, and then passed to a Windows spooler (Windows (registered trademark) Spooler). Windows (registered trademark) Spooler takes a procedure of passing print job data to a port monitor selected and instructed by a user via a user interface and transmitting the print job data to a printer device. In this embodiment, the user designates a print job control system port monitor 621 (hereinafter abbreviated as job control port monitor) in advance for printing in the normal operation just described.

また、図示はされていないが、ユーザが予めポートモニタとして他のポートモニタ、例えば、Windows(登録商標)のOS(オペレーティングシステム)に設けられたスタンダードTCP/IPポート(モニタ)を指定している場合には、ウインドウズスプーラ603からスタンダードTCP/IPポート(モニタ)にプリントジョブデータが渡され、その後にプリントジョブデータがプリンタデバイス105に転送される。この場合に図6に示されるジョブ制御プリントサービス622を介してプリントジョブデータはプリンタデバイスに送信されない。   Although not shown, the user designates a standard TCP / IP port (monitor) provided in advance in another port monitor, for example, a Windows (registered trademark) OS (operating system) as a port monitor. In this case, the print job data is transferred from the Windows spooler 603 to the standard TCP / IP port (monitor), and then the print job data is transferred to the printer device 105. In this case, print job data is not transmitted to the printer device via the job control print service 622 shown in FIG.

なお、ジョブ制御ポートモニタ621はWindows(登録商標)で定義されたポートモニタだけでなく、ランゲージモニタ、プリントプロセッサ等、ジョブデータを渡されて処理可能なモジュールであってもよい。またジョブ制御ポートモニタの機能をこれらモジュールの複数に割り当てる事も可能である。また、UNIX(登録商標)等の印刷システムにおいては、印刷時に使用されるフィルタプログラムであってもよい。   The job control port monitor 621 is not limited to a port monitor defined by Windows (registered trademark), but may be a module that can receive and process job data, such as a language monitor or a print processor. It is also possible to assign the job control port monitor function to a plurality of these modules. In a printing system such as UNIX (registered trademark), a filter program used at the time of printing may be used.

アプリケーションプログラム601は一連の描画命令をOSを介して生成させる。ここで、OSを介して生成された描画命令は、PDLDriver602に引き渡させる。尚、以下の説明においては、PDLDriverを例に説明を行うが、アプリケーションデータに基づく印刷データを生成するソフトウェアモジュールであればこれに限定されるものではなく、例えば、BDL(Band Description Language)Driverなどに適用することも可能である。   The application program 601 generates a series of drawing commands via the OS. Here, the drawing command generated via the OS is transferred to the PDLD driver 602. In the following description, PDLDDriver will be described as an example. However, the present invention is not limited to this as long as it is a software module that generates print data based on application data. For example, BDL (Band Description Language) Driver, etc. It is also possible to apply to.

OSを介して生成された描画命令がPDLDriver602に投入された場合に、PDLDriver602よって頁記述言語が生成され、該生成された頁記述言語は、印刷処理を行うよう設定されたPDLDriver602に対応するジョブ制御ポートモニタ621からジョブ制御サービス622を介して対応するデバイス105に送信される。   When a drawing command generated via the OS is input to the PDLDdriver 602, a page description language is generated by the PDLDdriver 602, and the generated page description language is a job control corresponding to the PDLDdriver 602 set to perform print processing. The data is transmitted from the port monitor 621 to the corresponding device 105 via the job control service 622.

印刷ジョブ制御システム用プリントマネージャ623(以降、ジョブ制御プリントマネージャと略記)は、ユーザがジョブ制御プリントサービス622内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。ジョブ制御プリントマネージャ623は、ジョブ制御プリントサービス622のソフトウェアのインタフェース(API:Application Program Interface)を介して、ジョブ制御プリントサービス622と情報・指示をやり取りしている。更に詳細な処理としては、プリントマネージャ623がジョブ制御プリントサービス622に対してデバイスを指定してのイベントを発行し、ジョブ制御プリントサービス622は発行されたイベントに基づくデバイスのステータスを監視して、該監視に基づく結果をプリントマネージャ623に通知する。   The print job control system print manager 623 (hereinafter abbreviated as job control print manager) allows the user to check the status of the print job in the job control print service 622 and to operate the print job. Is a program that provides a user interface. The job control print manager 623 exchanges information and instructions with the job control print service 622 via a software interface (API: Application Program Interface) of the job control print service 622. More specifically, the print manager 623 issues an event specifying a device to the job control print service 622, and the job control print service 622 monitors the status of the device based on the issued event, The print manager 623 is notified of the result based on the monitoring.

印刷ジョブ制御システム用サーバ630(以降、ジョブ制御サーバと略記)は、個々のクライアント102〜104上のジョブ制御プリントサービス622がプリンタデバイス105にプリントジョブデータを送信するタイミングを集中制御(スケジューリング)している。印刷ジョブ制御システム用マネージメントコンソール633(以降、ジョブ制御マネージメントコンソールと略記)は、ジョブ制御サーバ630が持つソフトウェアがアクセスするためのAPIを介して、ジョブ制御サーバ630と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。   The print job control system server 630 (hereinafter abbreviated as job control server) centrally controls (schedules) the timing at which the job control print service 622 on each client 102 to 104 transmits print job data to the printer device 105. ing. The print job control system management console 633 (hereinafter abbreviated as “job control management console”) exchanges information and instructions with the job control server 630 via an API that is accessed by software of the job control server 630. The entire print job control system can be monitored.

また、ジョブ制御サーバ630は、デバイス情報コントロールモジュール631を用いて各プリンタデバイス105と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報は、クライアント102〜104側のジョブ制御プリントサービス622に渡すことができる。   In addition, the job control server 630 communicates with each printer device 105 using the device information control module 631 to obtain information about a print job and an operation state in each printer and perform an operation. The acquired information can be passed to the job control print service 622 on the clients 102 to 104 side.

(ジョブ制御の流れ)
次に、本発明におけるプリントジョブデータの制御の流れについて説明する。
まずジョブ生成装置であるクライアントコンピュータにおいて(ジョブ生成装置がプリントサーバである場合にはプリントサーバ)アプリケーションからのGDI呼び出しはOSによって変換されプリンタドライバ602が呼び出される。プリンタドライバはDEVMODEの設定に従いPDLデータを作成する。割り込み或いは優先印刷を指示する情報は印刷の初期設定或いは印刷実行時に表示されるプリンタドライバUI(USER INTERFACE)によって、DEVMODEの拡張領域に保存される。プリンタドライバではこの拡張領域を確認することによって、割り込み或いは優先印刷ジョブを作成する。図7はPDLプリンタドライバ602によって生成される割り込み印刷コマンドの一例である。割り込み或いは優先印刷コマンドは図7の左部に示すように、通常のジョブスタートコマンドに対し、オプションの印刷種別が「割り込み」のジョブとして表される。優先印刷コマンドは図示しないがオプションの印刷種別が「優先」として表現される。
(Job control flow)
Next, the flow of control of print job data in the present invention will be described.
First, a GDI call from an application is converted by the OS in the client computer that is the job generation apparatus (or print server if the job generation apparatus is a print server), and the printer driver 602 is called. The printer driver creates PDL data according to the DEVMODE setting. Information for instructing interruption or priority printing is stored in the DEVMODE expansion area by the printer driver UI (USER INTERFACE) displayed at the initial setting of printing or at the time of printing. The printer driver creates an interrupt or priority print job by confirming this extended area. FIG. 7 shows an example of an interrupt print command generated by the PDL printer driver 602. As shown in the left part of FIG. 7, the interrupt or priority print command is represented as a job having an optional print type “interrupt” with respect to a normal job start command. Although the priority print command is not shown, the optional print type is expressed as “priority”.

ここで、割り込み処理と優先処理の違いについて述べておく。割り込み処理とは、プリンタデバイス105において実行中のジョブを中断して別のジョブの印刷を行うことをいう。仕様例としては、2重割り込みは禁止される。また、優先処理は、実行中のジョブは中断せずにその実行中のジョブの次に実行するよう予約する処理をいう。これら割り込み処理と優先処理を合せて、先送り処理と呼んでも良い。また、割り込み処理及び優先処理の対象となっているジョブを先送りジョブと呼んでも良い。   Here, the difference between interrupt processing and priority processing will be described. The interruption process means that a job being executed in the printer device 105 is interrupted and another job is printed. As a specification example, double interrupts are prohibited. The priority process is a process for reserving a job that is being executed so that it is executed after the job that is being executed without being interrupted. A combination of these interrupt processing and priority processing may be referred to as advance processing. In addition, a job that is subject to interrupt processing and priority processing may be referred to as a postponed job.

処理の具体例について説明する。まず、プリンタデバイス105において所定のプリントジョブを出力中に優先ジョブが投入されると、現在実行している所定のプリントジョブの次の出力にスケジューリングされる。次に通常ジョブを出力中に割り込みジョブが投入されると、出力中のジョブが中断され、割り込みジョブが出力される。割り込みジョブの出力が終了すると、中断された通常ジョブの出力が再開される。そして、通常ジョブの出力が終了した後に優先ジョブの出力が開始される。また、優先ジョブの出力中に割り込みジョブが投入されると、優先ジョブは中断され、割り込みジョブが出力され始める。   A specific example of processing will be described. First, when a priority job is input while a predetermined print job is being output by the printer device 105, the next output of the predetermined print job currently being executed is scheduled. Next, when an interrupt job is input while outputting a normal job, the job being output is interrupted and an interrupt job is output. When the output of the interrupt job is completed, the output of the interrupted normal job is resumed. Then, after the output of the normal job is finished, the output of the priority job is started. If an interrupt job is input while the priority job is being output, the priority job is interrupted and the interrupt job starts to be output.

クライアントコンピュータにおいて作成されたデータはジョブ単位に管理され、順次Windows(登録商標) Spooler603へスプールされる。   Data created in the client computer is managed in units of jobs and sequentially spooled to Windows (registered trademark) Spooler 603.

Windows(登録商標) Spooler603では、該プリントジョブデータを、1頁分のスプールが完了したタイミング、或いは全頁分のスプールが完了したタイミング、或いはスプールが行われる都度、順次デスプール(送信処理)を行い、ジョブ制御ポートモニタ621にジョブデータを渡して行く。この際にWindows(登録商標)プリントキューの操作におけるジョブの優先度が他のものよりも高く設定されたプリントジョブデータはOSの仕組みにより優先的にWindows(登録商標) Spooler603から外部に出力される。   The Windows (registered trademark) Spooler 603 sequentially de-spools (sends) the print job data when the spool for one page is completed, when the spool for all pages is completed, or whenever spooling is performed. Then, the job data is transferred to the job control port monitor 621. At this time, the print job data in which the job priority in the operation of the Windows (registered trademark) print queue is set higher than the others is preferentially output from the Windows (registered trademark) Spooler 603 to the outside by the mechanism of the OS. .

図8はジョブ制御ポートモニタ621における書き込み処理の一例を示すフローチャートである。   FIG. 8 is a flowchart illustrating an example of a writing process in the job control port monitor 621.

まず、ステップS800においてWindows(登録商標) Spooler603からの最初の書き込みであるか否か判断される。この判断は、「最初の書き込みフラグ」をチェックして行われる。ステップS800で最初の書き込みであると判断されると処理はステップS801に移行し、ここでジョブ制御プリントサービスに対してジョブ制御ポートモニタ621からスプール開始コマンドが呼び出され、ジョブ制御プリントサービスで管理している独自ジョブIDとスプールファイ名がジョブデータの送出元であるジョブ制御ポートモニタ621に通知される。   First, in step S800, it is determined whether or not it is the first writing from Windows (registered trademark) Spooler 603. This determination is made by checking the “first write flag”. If it is determined in step S800 that the writing is the first, the process proceeds to step S801, where a spool start command is called from the job control port monitor 621 to the job control print service and is managed by the job control print service. The unique job ID and spool file name are notified to the job control port monitor 621 which is the job data transmission source.

ステップS800でNoの場合、又はステップS801の処理が終了すると、処理はステップS802に移行し、「最初の書き込みフラグ」がOFFにされ、後続する書き込み処理においてステップS801が重複しないように制御される。   In the case of No in step S800 or when the process of step S801 ends, the process proceeds to step S802, the “first write flag” is turned OFF, and control is performed so that step S801 does not overlap in the subsequent write process. .

なおステップS802の「最初の書き込みフラグ」は、Windows(登録商標) Spooler603におけるジョブIDと関連付けられて管理され、Windows(登録商標) Spooler603からの送信開始呼び出しの時点でONに初期化される。   Note that the “first write flag” in step S802 is managed in association with the job ID in Windows (registered trademark) Spooler 603, and is initialized to ON at the time of transmission start calling from Windows (registered trademark) Spooler 603.

続いてステップS803でジョブ制御ポートモニタ621がWindows(登録商標) Spooler603から渡されたジョブデータの解析を行い、渡されたデータがジョブ開始コマンドか否かの判定が行われる。ジョブ開始コマンドであると判定された場合、ステップS804で割り込み或いは優先指示があるか否かが判定(検知)される。   In step S803, the job control port monitor 621 analyzes the job data passed from Windows (registered trademark) Spooler 603, and determines whether the passed data is a job start command. If it is determined that it is a job start command, it is determined (detected) in step S804 whether there is an interrupt or priority instruction.

ステップS804でジョブデータの解析に基づき割り込み或いは優先指示があると判定された場合には、ステップS805で、ジョブ制御プリントサービス622に対し割り込み或いは優先印刷指示ジョブ属性の変更がジョブ制御プリンタサービス622により対象となるプリントジョブが識別可能なID(上の説明した独自ジョブID)とともに通知される。   If it is determined in step S804 that there is an interrupt or priority instruction based on the job data analysis, the job control printer service 622 changes the interrupt or priority print instruction job attribute to the job control print service 622 in step S805. The target print job is notified together with an ID that can be identified (the unique job ID described above).

なおジョブ属性は、「割り込み或いは優先印刷指示」等具体的な属性ではなく、「印刷タイプ」のような汎用的なジョブ属性を用いても良い。また、本発明の実施例ではジョブ制御プリントサービスへ割り込み或いは優先ジョブの投入を指示する手段としてジョブ属性の変更コマンドを用いているが、優先度変更或いは割り込み印刷実行等の別なコマンドを用いても良い。   The job attribute may be a general job attribute such as “print type” instead of a specific attribute such as “interrupt or priority print instruction”. In the embodiment of the present invention, a job attribute change command is used as a means for instructing the job control print service to input an interrupt or priority job. However, another command such as a priority change or interrupt print execution is used. Also good.

続いてステップS806において、Windows(登録商標) Spooler603から受け取ったジョブデータを順次前述のステップS801で取得されたファイル名に基づく格納領域にジョブデータを書き込み、ジョブ書き込み処理が終了する。ジョブ制御ポートモニタ621ではWindows(登録商標) Spooler603から該ジョブについてのジョブデータ送信終了が通知されると、ジョブ制御プリントサービス622に対し、該ジョブのスケジュールを依頼する。ジョブ制御プリントサービス622における割り込み或いは優先印刷制御の詳細は後述の図9で説明する。   In step S806, the job data received from the Windows (registered trademark) Spooler 603 is sequentially written in the storage area based on the file name acquired in step S801, and the job writing process ends. When the job control port monitor 621 is notified of completion of job data transmission for the job from the Windows (registered trademark) Spooler 603, the job control port monitor 621 requests the job control print service 622 to schedule the job. Details of the interrupt or priority print control in the job control print service 622 will be described later with reference to FIG.

図9はジョブ制御プリントサービス622の動作概要を示すフローチャートである。本実施例においてジョブ制御プリントサービス622は、コンピュータの起動と共に起動されるサービスプログラムである。また、この図9の処理は図8に示された処理とは別個独立して並行に行われる。   FIG. 9 is a flowchart showing an outline of the operation of the job control print service 622. In this embodiment, the job control print service 622 is a service program that is activated when the computer is activated. Further, the processing of FIG. 9 is performed in parallel independently of the processing shown in FIG.

まずステップS900において初期化処理を行う。初期化処理では、サーバと通信のイベント処理待ちであるステップS901へ移行する。ステップS901のイベント待ちループでは、ジョブ制御プリントサービス622を利用するアプリケーションプログラム623、1324やジョブ制御ポートモニタ622によるAPI呼び出しや、ジョブ制御サーバ630からのイベント通知、或いは内部処理の遷移によるイベント通知により、イベントの発生が検知される。そして、イベントの種類によってステップS902以下の処理が実行される。   First, in step S900, initialization processing is performed. In the initialization process, the process proceeds to step S901, which is waiting for an event process for communication with the server. In the event waiting loop in step S901, an API call by the application programs 623 and 1324 and the job control port monitor 622 using the job control print service 622, an event notification from the job control server 630, or an event notification by transition of internal processing. The occurrence of an event is detected. Then, the processing from step S902 onward is executed depending on the type of event.

ステップS902でイベントがジョブ投入コマンドであると判定される。Yesの場合、ステップS903に処理が移行し、ジョブ情報データがジョブ制御プリントサービス622がアクセス可能なRAM202中に作成される。ジョブ情報データには最低限、ジョブの送信順序を制御するために必要なデータ(ジョブ制御プリントサービス622が発行した独自ジョブIDとジョブを発行したWindows(登録商標) SpoolerでのオペレーティングシステムジョブID(以下ではOSジョブIDと呼ぶ)、ジョブファイル名、受け付け時刻、優先順位等)が含まれ、必要に応じ文書名、ユーザ名等の付加情報等が含まれる。ジョブ情報が作成されると続いてステップS901のイベント待ちループへ戻る。ステップS903の処理によって、複数のジョブが投入されたとしてもこれらの処理の順番が制御され、また、割り込みや優先処理(先送り処理)の指示が入力されてもどのジョブをスキップしたか、先送り処理の次はどのジョブを処理するか等、複雑な制御でも簡単に行うことができる。   In step S902, it is determined that the event is a job submission command. In the case of Yes, the process proceeds to step S903, and job information data is created in the RAM 202 accessible by the job control print service 622. The job information data includes at least data necessary for controlling the job transmission order (the unique job ID issued by the job control print service 622 and the operating system job ID (Windows® Spooler that issued the job) ( (Hereinafter referred to as OS job ID), job file name, reception time, priority order, etc.) and additional information such as document name, user name, etc. are included as necessary. When the job information is created, the process returns to the event waiting loop in step S901. Even if a plurality of jobs are input by the processing of step S903, the order of these processing is controlled, and which job is skipped even if an instruction for interruption or preferential processing (deferred processing) is input, the deferred processing The next step can be easily performed even with complicated control such as which job is processed.

ステップS902における判定がNOの場合は、ステップS904において、該イベントがスプール開始コマンドか否かが判定される。このスプール開始コマンドは、例えばステップS801におけるスプール開始コマンドの呼び出しに対応するものである。YESの場合にはステップS905において独自ジョブIDとスプールファイル名が要求元(ここではジョブ制御ポートモニタ621)返却される。   If the determination in step S902 is no, it is determined in step S904 whether the event is a spool start command. This spool start command corresponds to the calling of the spool start command in step S801, for example. In the case of YES, the unique job ID and spool file name are returned in step S905 (request job port monitor 621 here).

なお、ジョブ制御プリントサービス622は、スプール開始コマンドではWindows(登録商標) Spooler603等、ジョブ制御プリントサービス622の前段にある外部のジョブID(印刷要求に応じてOSを介して発行されるOSジョブIDがジョブ制御ポートモニタ621から通知される)が通知され、ステップS903で作成されたジョブ情報から適切なジョブファイル名を返却し、ステップS901のイベント待ちループへ戻る。
また、ステップS905において、ステップS903で作ったジョブ情報ファイルに該当するジョブ情報が存在しない場合には、ステップS903に相当する処理が実行され、ジョブ情報が新規に作成される。
The job control print service 622 uses an external job ID (an OS job ID issued via the OS in response to a print request) such as Windows (registered trademark) Spooler 603 in the spool start command. Is notified from the job control port monitor 621), an appropriate job file name is returned from the job information created in step S903, and the process returns to the event waiting loop in step S901.
In step S905, if there is no job information corresponding to the job information file created in step S903, processing corresponding to step S903 is executed, and job information is newly created.

ステップS904においてNOと判定された場合、処理はステップS906に移行する。そして、ステップS906において該イベントが属性設定コマンドか否かが判定される。YESと判定されると処理はステップS907に移行し、そこでS903において作成されたジョブ属性の更新処理が行われる。本実施形態において割り込み或いは優先ジョブを示す属性は文書名、ユーザ名等、通常のジョブ属性と同様に管理されている。その様子が図16に示される。ジョブ属性の更新が終了するとステップS901のイベント待ちループへ戻る。   If it is determined as NO in step S904, the process proceeds to step S906. In step S906, it is determined whether the event is an attribute setting command. If YES is determined, the process proceeds to step S907, where the job attribute created in S903 is updated. In the present embodiment, attributes indicating interrupts or priority jobs are managed in the same way as normal job attributes such as document name and user name. This is shown in FIG. When the job attribute update is completed, the process returns to the event waiting loop in step S901.

なお、このステップS906でYesと判断されると、即ち、イベントが属性設定コマンドである場合に、ステップS907で、ジョブ制御プリントサービス622によってジョブ制御ポートモニタ621から受け取ったプリントジョブデータの属性設定内容がチェックされ、優先ジョブ又は割り込みジョブであることが判明する(検知される)。   If YES is determined in step S906, that is, if the event is an attribute setting command, the attribute setting contents of the print job data received from the job control port monitor 621 by the job control print service 622 in step S907. Is checked to determine that it is a priority job or an interrupt job (detected).

ステップS906においてNOと判定された場合、ステップS908において何れかからの該イベントがスケジュールコマンドか否か判定される。図9のフローチャートにおいてはジョブ制御ポートモニタ621からステップS801に対応してスケジュールコマンドのイベントが発行される。YESと判定されるとステップS909においてジョブ制御サーバ630にスケジュール依頼が通知される。この時該ジョブのステップS907でチェックされたジョブ属性も同時に通知される。ステップS909のスケジュール依頼処理が終わるとステップS901のイベント待ちループへ戻る。尚ジョブ制御サーバ630での処理は後述の図10で説明する。   When it is determined NO in step S906, it is determined in step S908 whether the event from any is a schedule command. In the flowchart of FIG. 9, a schedule command event is issued from the job control port monitor 621 in response to step S801. If YES is determined, a schedule request is notified to the job control server 630 in step S909. At this time, the job attribute checked in step S907 of the job is also notified at the same time. When the schedule request process in step S909 ends, the process returns to the event wait loop in step S901. The processing in the job control server 630 will be described later with reference to FIG.

ステップS908でNOと判定された場合には、ステップS910において該イベントがジョブ制御サーバ630からのスケジュールアップイベントか否か判定される。YESの場合にはステップS911において該ジョブをデバイス105へ送信し、ステップS901のイベント待ちループへと戻る。該ジョブが割り込み或いは優先印刷指示されたジョブである場合には、印刷装置105において優先印刷処理が行われる。印刷装置105における処理の詳細は、後述の図12において詳しく説明することとする。   If “NO” is determined in the step S908, it is determined whether or not the event is a schedule up event from the job control server 630 in a step S910. In the case of YES, in step S911, the job is transmitted to the device 105, and the process returns to the event waiting loop in step S901. If the job is a job for which an interrupt or priority printing has been instructed, the printing apparatus 105 performs priority printing processing. Details of the processing in the printing apparatus 105 will be described in detail later with reference to FIG.

ステップS910でNOと判定された場合には、ステップS912において該イベントがサーバからのジョブ完了イベントか否かが判定される。YESの場合には処理はステップS913に移行し、そこで該S907で更新され管理されるジョブ属性及びファイルが削除され、該ジョブの印刷処理が終了する。続いてステップS901のイベント待ちループへと戻る。尚、ジョブ制御サーバ630においても、プリントジョブが完了したジョブ情報は削除される。   If NO is determined in step S910, it is determined in step S912 whether the event is a job completion event from the server. If YES, the process proceeds to step S913, where the job attributes and files updated and managed in S907 are deleted, and the print process for the job is completed. Subsequently, the process returns to the event waiting loop in step S901. Note that the job control server 630 also deletes job information indicating that the print job has been completed.

ステップS912においてNOと判定された場合には、ステップS914において終了イベントか否かが判定される。YESの場合には、ステップS915において終了処理が行われ、ジョブ制御プリントサービスは処理を終了する。ステップS914においてNOの場合には、ステップS916においてその他のコマンド処理が行われ、ステップS901のイベント待ちループへと戻る。その他のコマンド処理については本発明と直接関係が無いため詳細な説明は割愛する。   If NO is determined in step S912, it is determined in step S914 whether the event is an end event. If YES, an end process is performed in step S915, and the job control print service ends the process. If NO in step S914, other command processing is performed in step S916, and the process returns to the event waiting loop in step S901. Since other command processing is not directly related to the present invention, detailed description thereof is omitted.

図10は、ジョブ制御サーバ630の処理の概要を示すフローチャートである。ジョブ制御サーバ630もジョブ制御プリントサービス622と同様にサービスプログラムであり、コンピュータの起動と共に開始され常駐を続ける。尚、Server Machine101の機能がクライアントコンピュータ内に設けられた場合には、図10の処理は、図8、9の処理と同じコンピュータ上で実行されることとなる。また、後述する図11の処理も同様にクライアントコンピュータにおいて実行される。   FIG. 10 is a flowchart showing an outline of processing of the job control server 630. The job control server 630 is also a service program similar to the job control print service 622, and starts and stays resident when the computer is started. When the function of the Server Machine 101 is provided in the client computer, the process in FIG. 10 is executed on the same computer as the processes in FIGS. Further, the processing of FIG. 11 described later is similarly executed in the client computer.

ジョブ制御プリントサーバは起動時にステップS1000で初期化処理を行い、ステップS1001のイベント受信待ちループへと入る。ステップS1001のイベント待ちループはAPI呼び出しやジョブ制御プリントサービス622からのリクエスト、デバイス情報コントロールモジュール631からの通知、内部処理の遷移の結果として終了する。イベント発生しイベント待ちループS1001が終了するとステップS1002で該イベントがスケジュール予約コマンド呼び出しか否かが判定される。この処理は図9のステップS909の処理に相当するものである。ステップS1002でYESの場合には、ステップS1003においてジョブ制御サーバ630側のRAM202に保持しているジョブリストが更新される。なお、この際にジョブ属性が判定され、「割り込み或いは優先印刷指示」属性があるジョブについては他のジョブに比べて優先的に処理されるようにセットされる。例えば、ジョブ属性が優先印刷指示である場合には他のジョブに比べて当該ジョブの優先度が最高に設定される。そして、この優先度を最高に設定する処理工程は、後述する図11のフローチャートのS1101の処理において参照されることになる。続いてステップS1004において送信ジョブ選択イベントをセットしてステップS1001のイベント受信待ちループへと戻る。   When the job control print server is activated, it performs initialization processing in step S1000, and enters the event reception waiting loop in step S1001. The event waiting loop in step S1001 ends as a result of API call, a request from the job control print service 622, a notification from the device information control module 631, and a transition of internal processing. When an event occurs and the event wait loop S1001 ends, it is determined in step S1002 whether or not the event is a schedule reservation command call. This process corresponds to the process in step S909 in FIG. If YES in step S1002, the job list stored in the RAM 202 on the job control server 630 side is updated in step S1003. At this time, the job attribute is determined, and a job having an “interrupt or priority print instruction” attribute is set to be processed with priority over other jobs. For example, when the job attribute is a priority print instruction, the priority of the job is set to the highest level compared to other jobs. The processing step for setting the highest priority is referred to in the processing of S1101 in the flowchart of FIG. In step S1004, a transmission job selection event is set, and the process returns to the event reception waiting loop in step S1001.

ステップS1002の判定においてNOと判定された場合には、ステップS1005において該イベントが送信ジョブ選択イベントか否かが判定される。YESの場合はステップS1006において送信ジョブ選択処理が行われる。本処理の詳細については図11で後述する。続いてステップS1001のイベント受信待ちループへと戻る。   If NO is determined in step S1002, it is determined in step S1005 whether the event is a transmission job selection event. If YES, transmission job selection processing is performed in step S1006. Details of this processing will be described later with reference to FIG. Subsequently, the process returns to the event reception waiting loop in step S1001.

ステップS1005の判定においてNOと判定された場合には、ステップS1007において該イベントがプリントジョブの状態を定期的に監視するためのタイマーイベントか否か判定される。YESの場合には、ステップS1008において、デバイス情報コントロールモジュール631を用いて送信済みのジョブ状態を確認する。ステップS1009においてジョブの完了が確認されると、ステップS1010においてジョブ選択イベントを設定し、続いてステップS1011においてジョブの完了をジョブ制御プリントサービス622へ通知する。この際のジョブ制御プリントサービスの動作は前述した通りである。ステップS1009でNOと判定された場合或いはステップS1011が終了した時点でステップS1001のイベント待ちループへと戻る。なお、タイマーイベントは定期的に発生するイベントであり、この他にも印刷デバイス105の状態監視や、ジョブ制御プリントサービス622の生存確認等の処理を行っているが、本発明とは直接の関係がないため此処では割愛する。   If NO is determined in step S1005, it is determined in step S1007 whether or not the event is a timer event for periodically monitoring the state of the print job. If YES, in step S1008, the device information control module 631 is used to check the transmitted job status. When the completion of the job is confirmed in step S1009, a job selection event is set in step S1010, and then the completion of the job is notified to the job control print service 622 in step S1011. The operation of the job control print service at this time is as described above. If NO is determined in step S1009 or when step S1011 is completed, the process returns to the event waiting loop in step S1001. Note that the timer event is an event that occurs periodically. In addition to this, processing such as status monitoring of the printing device 105 and confirmation of the existence of the job control print service 622 is performed, but is directly related to the present invention. Because there is no, I will omit it here.

ステップS1007の判定においてNOと判定された場合、ステップS1012において該イベントが終了イベントか否かが判定される。YESの場合にはステップS1013において終了処理が行われ、ジョブ制御サーバ630は終了する。ステップS1012においてNOと判定された場合にはその他のコマンドであると判定され、その他のコマンドに対する処理が行われるが、本発明とは関係が無いため割愛する。   If NO is determined in the determination in step S1007, it is determined in step S1012 whether or not the event is an end event. If YES, an end process is performed in step S1013, and the job control server 630 ends. If it is determined NO in step S1012, it is determined that the command is another command, and processing for the other command is performed, but it is omitted because it is not related to the present invention.

図11は、ジョブ制御サーバ630における送信ジョブ決定処理の概略を示すフローチャートである。ステップS1100において印刷ジョブに関連付けられて指定された所定の印刷デバイス(例えば印刷デバイス105)へプリントジョブデータを送信可能な状態か否かが判定される。尚、ジョブ制御サーバ630においては、該印刷デバイスの状態や送信済みのジョブ数を管理しており、該デバイスにエラーが発生している場合や、一定数以上のジョブを送信済みの場合にはジョブの送信を行わずに送信ジョブ選択処理を終了し、印刷デバイスにおいて、エラーが解除されるか、一定数未満のジョブを送信済みの状態になるまで他の処理をする。   FIG. 11 is a flowchart illustrating an outline of a transmission job determination process in the job control server 630. In step S1100, it is determined whether or not the print job data can be transmitted to a predetermined printing device (for example, the printing device 105) designated in association with the print job. The job control server 630 manages the status of the printing device and the number of transmitted jobs. When an error has occurred in the device or when a certain number of jobs have been transmitted, The transmission job selection process is terminated without transmitting a job, and other processes are performed in the printing device until the error is cleared or a job of less than a certain number has been transmitted.

ステップS1100においてYESと判定された場合には、ステップS1101において優先度の最も高いジョブを選択する。この時に先に説明したステップS1003における優先度の設定が選択基準に加味される。そして、優先度の最も高いジョブが複数選択された場合には受け付け時刻の早いジョブを選択する。   If YES is determined in step S1100, the job having the highest priority is selected in step S1101. At this time, the priority setting in step S1003 described above is added to the selection criterion. When a plurality of jobs with the highest priority are selected, the job with the earlier reception time is selected.

ステップS1102において、選択されたジョブのリストを判定し、複数のジョブが選択された場合には、ステップS1103において受け付け時刻の早いジョブを選択する。続いて、ステップS1101或いはステップS1103で選択された唯一のジョブを送信候補とし、該ジョブのPDLデータ640を保持しているジョブ制御プリントサービスに対して送信順序が来たことを通知する。本発明においてはこの処理のことをスケジュールアップ通知と呼んでいる。   In step S1102, a list of selected jobs is determined. If a plurality of jobs are selected, a job with an earlier reception time is selected in step S1103. Subsequently, the only job selected in step S1101 or step S1103 is set as a transmission candidate, and the job control print service holding the PDL data 640 of the job is notified that the transmission order has arrived. In the present invention, this process is called a schedule up notification.

ステップS1100においてデバイス105が送信可能状態ではない場合、またはステップS1104においてスケジュールアップ処理が行われた場合に、送信ジョブ選択処理は終了する。このステップS1104の処理は、上に説明した図9のステップS910において判定対象となるスケジュールアップに相当するものである。そして、ステップS1104の処理を受けたジョブ制御プリントサービス622では、保持された複数のプリントジョブデータの中から、指定されたプリントジョブデータを印刷デバイスに優先的に送信するように制御される。つまり、ステップS805で、ジョブ制御プリントサービス622に対し割り込み或いは優先印刷指示ジョブ属性の変更の通知の対象となったプリントジョブデータは、ジョブ制御プリントサービス622から先送りジョブとして優先的に所定のプリンタデバイスに送信される。 If the device 105 is not ready for transmission in step S1100, or if the schedule up process is performed in step S1104 , the transmission job selection process ends. The process in step S1104 corresponds to the schedule up to be determined in step S910 in FIG. 9 described above. The job control print service 622 that has received the process of step S1104 is controlled to preferentially transmit the designated print job data to the printing device from among the plurality of held print job data. In other words, in step S805, the print job data that is subject to the job control print service 622 being interrupted or notified of a change in the priority print instruction job attribute is preferentially given to the predetermined printer device from the job control print service 622 as a postponed job. Sent to.

図12は本発明を適用する印刷装置105における割り込み印刷処理の概略を示すフローチャートである。割り込み印刷処理は印刷装置105がジョブデータを受信すると起動される。ステップS1200において印刷中(エンジン使用中)のジョブがあるか否かが判定され、YESの場合には、ステップS1201において印刷中のジョブ情報を退避するとともにステップS1202において印刷中のジョブを中止する。   FIG. 12 is a flowchart showing an outline of interrupt printing processing in the printing apparatus 105 to which the present invention is applied. The interrupt printing process is started when the printing apparatus 105 receives job data. In step S1200, it is determined whether or not there is a job being printed (using the engine). If YES, job information being printed is saved in step S1201, and the job being printed is canceled in step S1202.

続いて、ステップS1203において解析中(トランスレート中)のジョブがあるか否かが判定され、YESの場合にはステップS1204において解析処理が中断される。解析処理の中断に関してはジョブデータを退避するだけで良く解析結果(中間データ)を保持する必要はないが、解析途中のデータを合わせて退避する構成としても良い。続いてステップS1205において割り込み発生イベントを送信する。このイベントは該イベントを欲するデバイス情報コントロールモジュール631によって受信され処理される。続いてS1206において該割り込みジョブの印刷を開始する。   Subsequently, in step S1203, it is determined whether there is a job under analysis (during translation). If YES, the analysis process is interrupted in step S1204. Regarding the interruption of the analysis process, it is only necessary to save the job data, and it is not necessary to hold the analysis result (intermediate data). However, the analysis data may be saved together. In step S1205, an interrupt occurrence event is transmitted. This event is received and processed by the device information control module 631 that wants the event. In step S1206, printing of the interrupt job is started.

印刷が完了すると印刷完了通知が発せられ、デバイス情報コントロールモジュール631、ジョブ制御サーバ630を経由して、ジョブ制御プリントサービス622へ通知される。ジョブ完了イベント発生時におけるジョブ制御プリントサービスの処理は前述した通りである。   When printing is completed, a print completion notification is issued and notified to the job control print service 622 via the device information control module 631 and the job control server 630. The processing of the job control print service when the job completion event occurs is as described above.

続いて印刷デバイス105では、スプールされているその他のジョブを優先順位或いは受け付け順に従って処理するが本発明とは直接関係ないため此処では割愛する。
なお、ステップS1200からステップS1206は割り込み印刷における印刷装置105の処理であり、優先印刷時にはスケジュールの優先順位をあげるだけで、印刷中、解析中のジョブの中断処理は行われない。
Subsequently, the printing device 105 processes other spooled jobs in accordance with the priority order or the reception order, but is omitted here because it is not directly related to the present invention.
Note that steps S1200 to S1206 are processing of the printing apparatus 105 in interrupt printing, and during priority printing, only the priority of the schedule is raised, and processing for interrupting the job being analyzed during printing is not performed.

以上のように第1の実施の形態によれば、従来はDPAに規定される、プリントデバイスにおける優先ジョブや割り込みジョブの仕組みと、プリントデータ作成元であるクライアントコンピュータにおける優先的にプリントデバイスにプリントジョブデータを送信するようにする順序制御の仕組みとのリンクを取る事ができるようになる。さらに、本印刷の仕組みによればWindows(登録商標) Spoolerから出力されるプリントジョブデータをジョブ制御プリントサービス622で保持し、該保持されたプリントジョブデータを適切なタイミングでプリントデバイスにおいて送信するようにするので、Windows(登録商標) Spoolerにおいて、プリントジョブデータが滞ることもない。従ってWindows(登録商標) Spoolerの仕組みにおいてプリントジョブデータを滞らせることもなく、且つ、ジョブ制御プリントサービス622でプリントジョブデータの送信を滞らせることもなく、且つ、プリントデバイスにおいても印刷出力を滞らせることもない。   As described above, according to the first embodiment, the priority job or interrupt job mechanism in the print device, which is conventionally defined in the DPA, and the print on the print device in the client computer that is the print data creation source are preferentially printed. It becomes possible to establish a link with an order control mechanism for sending job data. Furthermore, according to the printing mechanism, print job data output from Windows (registered trademark) Spooler is held by the job control print service 622, and the held print job data is transmitted at a proper timing at the printing device. Therefore, print job data does not stagnate in Windows (registered trademark) Spooler. Therefore, the print job data is not delayed in the Windows (registered trademark) Spooler mechanism, the print job data transmission is not delayed in the job control print service 622, and the print output is also delayed in the print device. I will not let you.

<第2の実施の形態>
第2の実施の形態においても、第1の実施の形態の図1乃至5、図7、及び図10乃至12が適用される。これらの図面については、冗長となるので詳細な説明を省略する。ただし、これらの図面及びその説明についても第2の実施形態の内容となるものである。
<Second Embodiment>
Also in the second embodiment, FIGS. 1 to 5, FIG. 7, and FIGS. 10 to 12 of the first embodiment are applied. Since these drawings are redundant, a detailed description thereof will be omitted. However, these drawings and their descriptions are also the contents of the second embodiment.

なお、第1の実施形態と第2の実施形態では、優先ジョブ又は割り込みジョブの指定がなされているか否かを判断するタイミング及び方法が異なる。つまり、第1の実施形態では、Windows(登録商標) Spoolerからのデータをジョブ制御ポートモニタ621の解析に基づいてプリントジョブ制御サービス622が優先ジョブ等の指定の有無を判断するが、第2の実施形態では、事前にジョブ制御プリントサービス622に通知される先送りジョブID(以下、UUIDと呼ぶ)とジョブ制御ポートモニタ(後述される)から投入されるデータに含まれるUUIDとをチェックし、それによって優先ジョブ等か否かが判断される。   Note that the timing and method for determining whether or not a priority job or an interrupt job is specified differ between the first embodiment and the second embodiment. In other words, in the first embodiment, the print job control service 622 determines whether or not a priority job or the like is designated based on the analysis of the job control port monitor 621 based on data from Windows (registered trademark) Spooler. In the embodiment, a advance job ID (hereinafter referred to as UUID) notified to the job control print service 622 and a UUID included in data input from a job control port monitor (described later) are checked. Is used to determine whether the job is a priority job or the like.

(印刷処理システムにおけるソフトウェア構成例及び動作例)
図13は、第1の実施の形における図6に相当する図であり、本システムのクライアントサーバモデルにおいて、Microsoft Word(登録商標)などの一般的なアプリケーションから発行された描画コマンドを含む印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。図6と同じ参照番号のブロックは、同じ機能ブロックを示している。
(Example of software configuration and operation in print processing system)
FIG. 13 is a diagram corresponding to FIG. 6 in the first embodiment, and in the client server model of this system, a print job including a drawing command issued from a general application such as Microsoft Word (registered trademark). FIG. 4 is a diagram showing how the print job control system processes the data. Blocks having the same reference numbers as those in FIG. 6 indicate the same functional blocks.

通常、印刷の指示がされると、アプリケーションプログラムは一連の描画命令をOSを介して生成させる。この生成された描画命令はプリンタドライバを経て所定の形式に変換された後、ウインドウズスプーラ(Windows(登録商標) Spooler)に渡される。Windows(登録商標) Spoolerは、ユーザがユーザインタフェースを介して選択し指示したポートモニタにプリントジョブデータを渡して、プリンタデバイスに送信させる手順をとる。本実施形態では、今述べた通常の動作に対してユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ621(以降、ジョブ制御ポートモニタと略記)を指定して印刷を指示する。   Normally, when a printing instruction is given, the application program generates a series of drawing commands via the OS. The generated drawing command is converted into a predetermined format via a printer driver, and then passed to a Windows spooler (Windows (registered trademark) Spooler). Windows (registered trademark) Spooler takes a procedure of passing print job data to a port monitor selected and instructed by a user via a user interface and transmitting the print job data to a printer device. In this embodiment, the user designates a print job control system port monitor 621 (hereinafter abbreviated as job control port monitor) in advance for printing in the normal operation just described.

なお、ジョブ制御ポートモニタ621はWindows(登録商標)で定義されたポートモニタだけでなく、ランゲージモニタ、プリントプロセッサ等、ジョブデータを渡されて処理可能なモジュールであってもよい。またジョブ制御ポートモニタの機能をこれらモジュールの複数に割り当てる事も可能である。また、UNIX(登録商標)等の印刷システムにおいては、印刷時に使用されるフィルタプログラムであってもよい。   The job control port monitor 621 is not limited to a port monitor defined by Windows (registered trademark), but may be a module that can receive and process job data, such as a language monitor or a print processor. It is also possible to assign the job control port monitor function to a plurality of these modules. In a printing system such as UNIX (registered trademark), a filter program used at the time of printing may be used.

アプリケーションプログラム601は一連の描画命令をOSを介して生成させる。ここで、OSを介して生成された描画命令は、PDLDriver602に引き渡させる。   The application program 601 generates a series of drawing commands via the OS. Here, the drawing command generated via the OS is transferred to the PDLD driver 602.

OSを介して生成された描画命令がPDLDriver602に投入された場合に、PDLDriver602よって頁記述言語が生成される。またPDL Driver602はジョブ情報を解析し、割り込み印刷或いは優先印刷指示や、使用する用紙サイズ、用紙の枚数等をジョブ情報通知サービス1324へ通知し、外部(ジョブ情報通知サービス1324)からジョブの識別子を受け取る。ジョブ情報通知サービスではPDL Driver602からジョブ情報を通知された際に、一意なジョブ識別子(UUID)を生成すると共に、ジョブ情報に従い適切な処理を行い、ジョブ制御プリントサービス622にジョブの識別子(UUID)とWindows(登録商標) SpoolerでのOSジョブID及びジョブの情報を通知する。ジョブ情報通知サービスから返却されたジョブ識別子(UUID)は、PDLDriver602によってジョブデータに埋め込まれる。   When a drawing command generated via the OS is input to the PDLDdriver 602, a page description language is generated by the PDLDdriver 602. Further, the PDL Driver 602 analyzes the job information, notifies the job information notification service 1324 of the interrupt printing or priority print instruction, the paper size to be used, the number of sheets, and the like, and receives the job identifier from the outside (job information notification service 1324). receive. In the job information notification service, when job information is notified from the PDL Driver 602, a unique job identifier (UUID) is generated and appropriate processing is performed according to the job information, and the job control print service 622 is notified of the job identifier (UUID). And the OS job ID and job information in Windows (registered trademark) Spooler. The job identifier (UUID) returned from the job information notification service is embedded in the job data by the PDDriver 602.

一方、PDLDriver602によって生成された頁記述言語は、ポートモニタを通してデバイスへ送信されるか或いは、予め設定されたPDLDriver602に対応するジョブ制御ポートモニタ621からジョブ制御プリントサービス622を介して対応するデバイス105に送信される。   On the other hand, the page description language generated by the PDLD driver 602 is transmitted to the device through the port monitor, or from the job control port monitor 621 corresponding to the preset PDLD driver 602 to the corresponding device 105 via the job control print service 622. Sent.

例えば、スタンダードTCP/IPポート(モニタ)から送信されたジョブは、デバイス105によって優先順位に従った印刷処理が行われる。   For example, a job transmitted from a standard TCP / IP port (monitor) is subjected to print processing according to priority by the device 105.

一方、ジョブ制御ポートモニタ621を経由した場合は、ジョブデータがジョブ制御プリントサービス622へ通知される際に、ジョブ制御ポートモニタ621は前述のジョブ識別子(UUID)を抜き取り、Windows(登録商標) Spoolerで発行されたOSジョブIDも合わせて通知する。またこのジョブ識別子(UUID)はデバイス105内部のジョブ状態確認においても利用される。これによりジョブ制御プリントサービス622及びジョブ制御サーバ630ではWindows(登録商標)で発行されたジョブの情報とデバイス105内部でのジョブ情報を関連付け、印刷ジョブの確実な追跡を行っている。   On the other hand, when the job control port monitor 621 is used, when the job data is notified to the job control print service 622, the job control port monitor 621 extracts the above-described job identifier (UUID), and Windows (registered trademark) Spooler. The OS job ID issued in step 1 is also notified. The job identifier (UUID) is also used for job status confirmation in the device 105. As a result, the job control print service 622 and the job control server 630 associate the job information issued by Windows (registered trademark) with the job information in the device 105 to reliably trace the print job.

印刷ジョブ制御システム用プリントマネージャ623、印刷ジョブ制御システム用サーバ630の動作については、第1の実施の形態において説明したものと同様なので、ここでは説明を省略する。   Since the operations of the print job control system print manager 623 and the print job control system server 630 are the same as those described in the first embodiment, the description thereof is omitted here.

(ジョブ制御の流れ)
次に、本発明の印刷システムにおけるPDLジョブの制御の流れについて説明する。
アプリケーションからのGDI呼び出しはOSによって変換されプリンタドライバ602が呼び出される。プリンタドライバはDEVMODEの設定に従いPDLデータを作成する。割り込み或いは優先印刷を指示する情報は印刷の初期設定或いは印刷実行時に表示されるプリンタドライバUI(USER INTERFACE)によって、DEVMODEの拡張領域に保存される。プリンタドライバではこの拡張領域を確認することによって、割り込み或いは優先印刷ジョブを作成する。
(Job control flow)
Next, the control flow of the PDL job in the printing system of the present invention will be described.
The GDI call from the application is converted by the OS and the printer driver 602 is called. The printer driver creates PDL data according to the DEVMODE setting. Information for instructing interruption or priority printing is stored in an extended area of DEVMODE by a printer driver UI (USER INTERFACE) displayed at the initial setting of printing or at the time of printing. The printer driver creates an interrupt or priority print job by checking this extended area.

なお、PDLプリンタドライバ602によって生成される割り込み印刷コマンドの一例は、第1の実施形態の図7と同じである。
このようにして作成されたデータはジョブ単位に管理され、順次Windows(登録商標) Spooler603へスプールされる。
An example of the interrupt print command generated by the PDL printer driver 602 is the same as that in FIG. 7 of the first embodiment.
The data created in this way is managed in units of jobs and sequentially spooled in Windows (registered trademark) Spooler 603.

Windows(登録商標) Spooler603では、該ジョブデータを、1頁分のスプールが完了したタイミング、或いは全頁分のスプールが完了したタイミング、或いはスプールが行われる都度、順次デスプール(送信処理)を行い、ジョブ制御ポートモニタ621にジョブデータを渡して行く。   In Windows (registered trademark) Spooler 603, the job data is sequentially despooled (sending process) at the timing when spooling for one page is completed, when spooling for all pages is completed, or whenever spooling is performed, The job data is passed to the job control port monitor 621.

図14はジョブ情報通知処理の概要を示すフローチャートである。この処理はPDLDriver602において、PDLデータ生成が始まった時及びデータの生成が終了したときの2度呼び出される。   FIG. 14 is a flowchart showing an outline of the job information notification process. This process is called twice in the PDLDdriver 602 when PDL data generation starts and when data generation ends.

なお、PDLDriver602からジョブ情報通知サービスからジョブ制御プリントサービス622へ通知されるジョブ情報の概要は図16に示される。ここには、Windows(登録商標)上のOSジョブID、ジョブ名、プリンタ名、割り込み属性等、Windows(登録商標)で管理しているジョブ情報の他、用紙サイズや用紙枚数、更にジョブ生成終了時の通知においては、ジョブ生成時にジョブ通知サービスから通知されたジョブ識別子(UUID)も含まれる。この他のOSあるいはプリンタドライバを用いて収集可能なジョブ属性を含むことも任意であり本発明の趣旨に反するものではない。尚、図16における割込み属性には、割り込み或いは優先印刷を指示する属性が含まれるものとする。   An outline of the job information notified from the job information notification service to the job control print service 622 from the PDLD driver 602 is shown in FIG. Here, in addition to job information managed by Windows (registered trademark) such as OS job ID, job name, printer name, interrupt attribute, etc. on Windows (registered trademark), the job generation is completed. The time notification includes a job identifier (UUID) notified from the job notification service at the time of job generation. It is optional to include job attributes that can be collected using other OSs or printer drivers, and this is not contrary to the spirit of the present invention. Note that the interrupt attribute in FIG. 16 includes an attribute for instructing interrupt or priority printing.

まずステップS1400でPDLDriver602からジョブ情報が通知されるとジョブ情報通知サービス1324はジョブ情報をジョブ制御プリントサービス622が識別するための識別子(UUID)を生成する。   First, when job information is notified from the PDLD driver 602 in step S1400, the job information notification service 1324 generates an identifier (UUID) for the job control print service 622 to identify the job information.

続いてステップS1401においてジョブ情報に割り込み印刷指示が含まれるかを確認(検知)する。NOの場合には続いてステップS1402において優先印刷指示が含まれるかを確認(検知)する。   In step S1401, it is confirmed (detected) whether the job information includes an interrupt print instruction. If NO, then in step S1402, it is confirmed (detected) whether a priority print instruction is included.

ステップS1401或いはS1402においてYESと判定された場合には、ステップS1403においてPDLDriver602から通知されたWindows(登録商標) Spooler上のOSジョブIDを用いて、Windows(登録商標) Spoolerに対して優先順位変更が指示される。尚、このWindows(登録商標) Spoolerに対しての優先順位変更の指示は事前にOSジョブIDの通知を受けているジョブ制御プリントサービス622が行うようにしても良い。   If YES is determined in step S1401 or S1402, the priority order is changed for the Windows (registered trademark) Spooler using the OS job ID on the Windows (registered trademark) Spooler notified from the PDLDdriver 602 in step S1403. Instructed. Note that the priority order change instruction for the Windows (registered trademark) Spooler may be given by the job control print service 622 that has received the OS job ID notification in advance.

優先順位が変更されたジョブは、Windows(登録商標) Spooler中に先行するジョブが存在する場合でもWindows(登録商標) Spoolerによって優先的にポートモニタ或いはジョブ制御ポートモニタ621に渡される。ジョブ制御ポートモニタ以外のポートモニタに渡されたPDLジョブは直ちにデバイスへ送信され、デバイス105によって後述する割り込み印刷処理或いは優先印刷処理が行われる。   The job whose priority has been changed is preferentially passed to the port monitor or job control port monitor 621 by the Windows (registered trademark) Spooler even if there is a preceding job in the Windows (registered trademark) spooler. The PDL job passed to the port monitor other than the job control port monitor is immediately transmitted to the device, and the device 105 performs interrupt printing processing or priority printing processing described later.

そして、処理がステップS1404に移行し、ステップS1403でジョブの優先順位が変更された場合には、ジョブ情報の更新が実行される。ステップS1402から処理が移行してきた場合には、更新処理は行われない。   Then, the process moves to step S1404, and when the job priority is changed in step S1403, the job information is updated. If the process has shifted from step S1402, the update process is not performed.

ステップS1405では、通知されたジョブ識別子(UUID)がドライバに返還される。   In step S1405, the notified job identifier (UUID) is returned to the driver.

一方ジョブ制御ポートモニタを経由した際のジョブ制御の動作概要を以下に説明する。   On the other hand, an outline of job control operation when the job control port monitor is used will be described below.

図15はジョブ制御プリントサービス622及びジョブ制御ポートモニタ621の協働の動作概要を示すフローチャートである。このフローチャートにおいて、第1の実施形態との差はステップS1517が存在することである。他のステップの機能は第1の実施形態と同じなので、同じ参照番号が付されている。   FIG. 15 is a flowchart showing an outline of the cooperative operation of the job control print service 622 and the job control port monitor 621. In this flowchart, the difference from the first embodiment is that step S1517 exists. Since the functions of the other steps are the same as those in the first embodiment, the same reference numerals are given.

本実施形態においてジョブ制御プリントサービス622及びジョブ制御ポートモニタ621は、コンピュータの起動と共に起動されるサービスプログラムである。まずステップS900において初期化処理を行う。   In this embodiment, the job control print service 622 and the job control port monitor 621 are service programs that are activated when the computer is activated. First, in step S900, initialization processing is performed.

初期化処理では、ジョブ制御プリントサービス622はサーバと通信を行いサーバからプリンタデバイス等の最新の情報を取得する。続いてステップS901のイベント処理待ちへ移る。イベント待ちループは、ジョブ制御プリントサービスを利用するアプリケーションプログラム623、1324やジョブ制御ポートモニタ622によるAPI呼び出しや、ジョブ制御サーバからのイベント通知、或いは内部処理の遷移によるイベント通知により、イベントの発生が検知される。そして、イベントの種類によってステップS902以下の処理が実行される。   In the initialization process, the job control print service 622 communicates with the server and acquires the latest information such as the printer device from the server. Subsequently, the process proceeds to the event processing wait in step S901. In the event wait loop, an event is generated by an API call by the application programs 623 and 1324 and the job control port monitor 622 using the job control print service, an event notification from the job control server, or an event notification by transition of internal processing. Detected. Then, the processing from step S902 onward is executed depending on the type of event.

まず、ステップS902でジョブ投入コマンドの投入があるか否かの判定が行われる。   First, in step S902, it is determined whether or not a job input command has been input.

ステップS902でイベントがジョブ投入コマンドであると判定されるとステップS903でジョブ情報データをRAM202中に作成する。ジョブ情報データには最低限、ジョブの送信順序を制御するために必要なデータ(ジョブ制御プリントサービス622が発行した独自ジョブIDとジョブを発行したWindows(登録商標) SpoolerでのOSジョブID、ジョブファイル名、受け付け時刻、優先順位等)が含まれ、必要に応じ文書名、ユーザ名等の付加情報等が含まれる。そして、ジョブ情報が作成されると続いてステップS901のイベント待ちループへ戻る。   If it is determined in step S902 that the event is a job input command, job information data is created in the RAM 202 in step S903. The job information data includes at least data necessary for controlling the job transmission order (the original job ID issued by the job control print service 622 and the OS job ID and job in the Windows (registered trademark) Spooler that issued the job). File name, reception time, priority order, etc.) and additional information such as document name, user name, etc. are included as necessary. When the job information is created, the process returns to the event waiting loop in step S901.

一方、ステップS902における判定がNOの場合は、ステップS904において、該イベントがスプール開始コマンドか否かが判定される。図6に対応させると、ジョブ制御ポートモニタ621がWindows(登録商標) Spooler603からスプール開始コマンドを受けたか否かを判定する。   On the other hand, if the determination in step S902 is no, it is determined in step S904 whether the event is a spool start command. In correspondence with FIG. 6, it is determined whether or not the job control port monitor 621 has received a spool start command from the Windows (registered trademark) Spooler 603.

ステップS904において、YESの場合には、処理はステップ1517に移行する。ステップS1517では、ジョブ制御ポートモニタ621からジョブ制御プリントサービス622へスプールファイルの読み出しがUUIDと共に通知され、処理はステップS905に移行する。UUIDの通知の結果、ステップS905において独自ジョブIDとスプールファイル名がジョブ制御ポートモニタ621に返却される。ジョブ制御プリントサービス622は、このUUIDの通知に基づいて投入されたジョブが割り込み印刷であるか否かを区別(何れであるかを検知)することができる。これは、図14のステップS1405において事前に割り込み印刷或いは優先印刷を指示されたプリントジョブのUUIDが事前にジョブ制御プリントサービス622に通知されていることにより実現する。   If YES in step S904, the process proceeds to step 1517. In step S1517, reading of the spool file is notified from the job control port monitor 621 to the job control print service 622 together with the UUID, and the process proceeds to step S905. As a result of the UUID notification, the unique job ID and spool file name are returned to the job control port monitor 621 in step S905. The job control print service 622 can distinguish (detect which one) the job input based on the UUID notification is interrupt printing. This is realized by notifying the job control print service 622 of the UUID of the print job for which interrupt printing or priority printing is instructed in advance in step S1405 of FIG.

つまり、スプール開始コマンドではジョブ制御ポートモニタ621はジョブ制御プリントサービス622にWindows(登録商標) Spooler603等のジョブ制御プリントサービス622の前段にある外部のWindows(登録商標)のOSジョブIDと共に前述のジョブ情報通知サービス1324が発行したジョブ識別子(UUID)が通知される。この時、ジョブ制御プリントサービス622はジョブ識別子(UUID)を用いて、予めジョブ情報通知サービスから通知されていたジョブ情報を検索する。一致したジョブ属性があれば、そのジョブに割り込み印刷指示或いは優先印刷指示が含まれるかを確認し、含まれていれば図15のステップS907におけるジョブ属性の更新処理も合わせて行う。   That is, in the spool start command, the job control port monitor 621 sends the job control print service 622 to the job described above together with the OS job ID of the external Windows (registered trademark) in the preceding stage of the job control print service 622 such as Windows (registered trademark) Spooler 603. A job identifier (UUID) issued by the information notification service 1324 is notified. At this time, the job control print service 622 uses the job identifier (UUID) to search for job information previously notified from the job information notification service. If there is a matching job attribute, it is checked whether the job includes an interrupt print instruction or a priority print instruction. If it is included, the job attribute update process in step S907 in FIG. 15 is also performed.

更にステップS903で作成されたジョブ情報から適切なジョブファイル名を返却し、ステップS901のイベント待ちループへ戻る。なお、ステップS905において、ステップS903で作ったジョブ情報ファイルに該当するジョブ情報が存在しない場合には、ステップS903に相当する処理を行いジョブ情報を新規に作成する。   Further, an appropriate job file name is returned from the job information created in step S903, and the process returns to the event waiting loop in step S901. In step S905, if there is no corresponding job information in the job information file created in step S903, processing corresponding to step S903 is performed to newly create job information.

ステップS904においてNOと判定された場合、ステップS906において該イベントが属性設定コマンドか否かが判定される。YESと判定されるとステップS907においてジョブ制御ポートモニタ621からのジョブ制御プリントサービス622へのジョブ属性の更新処理が行われる。本実施形態において割り込み或いは優先ジョブを示す属性は文書名、ユーザ名等、通常のジョブ属性と同様に管理されている。ジョブ属性の更新が終了するとステップS901のイベント待ちループへ戻る。   If NO is determined in step S904, it is determined in step S906 whether the event is an attribute setting command. If YES is determined, job attribute update processing from the job control port monitor 621 to the job control print service 622 is performed in step S907. In the present embodiment, attributes indicating interrupts or priority jobs are managed in the same way as normal job attributes such as document name and user name. When the job attribute update is completed, the process returns to the event waiting loop in step S901.

一方、ステップS906においてNOと判定された場合、ステップS908において該イベントがスケジュールコマンドか否か判定される。YESと判定されるとステップS909においてサーバ630にスケジュール依頼が通知される。この時該ジョブのジョブ属性も同時に通知される。また、このジョブ属性には独自ジョブIDが含まれるものとする。ステップS909のスケジュール依頼処理が終わるとステップS901のイベント待ちループへ戻る。尚ジョブ制御サーバ630での処理は第1の実施形態と同様である。   On the other hand, if NO is determined in step S906, it is determined whether or not the event is a schedule command in step S908. If YES is determined, a schedule request is notified to the server 630 in step S909. At this time, the job attribute of the job is also notified at the same time. Also, it is assumed that this job attribute includes a unique job ID. When the schedule request process in step S909 ends, the process returns to the event wait loop in step S901. The processing in the job control server 630 is the same as that in the first embodiment.

ステップS908でNOと判定された場合には、ステップS910において該イベントがサーバ630からのスケジュールアップイベントか否か判定される。YESの場合にはステップS911において該ジョブをデバイス105へ送信し、ステップS901のイベント待ちループへと戻る。該ジョブが割り込み或いは優先印刷指示されたジョブである場合には、印刷装置105において優先印刷処理が行われる。   If NO is determined in step S908, it is determined in step S910 whether or not the event is a schedule up event from the server 630. In the case of YES, in step S911, the job is transmitted to the device 105, and the process returns to the event waiting loop in step S901. If the job is a job for which an interrupt or priority printing has been instructed, the printing apparatus 105 performs priority printing processing.

ステップS910でNOと判定された場合には、ステップS912において該イベントがサーバからのジョブ完了イベント(デバイスからのジョブ完了イベントに対応)か否かが判定される。YESの場合には処理はステップS913に移行し、そこで独自ジョブIDを含むジョブ属性及びファイルが削除され、該ジョブの印刷処理が終了する。続いて処理はステップS901のイベント待ちループへと戻る。   If NO is determined in step S910, it is determined in step S912 whether or not the event is a job completion event from the server (corresponding to a job completion event from the device). If YES, the process moves to step S913, where the job attribute and file including the unique job ID are deleted, and the printing process for the job is completed. Subsequently, the process returns to the event waiting loop in step S901.

ステップS912においてNOと判定された場合には、ステップS914において終了イベントか否かが判定される。YESの場合には、ステップS915において終了処理が行われ、ジョブ制御プリントサービスは終了する。ステップS914においてNOの場合には、ステップS916においてその他のコマンド処理が行われ、ステップS901のイベント待ちループへと戻る。その他のコマンド処理は本発明とは直接関係が無いため本実施例においては割愛する。   If NO is determined in step S912, it is determined in step S914 whether the event is an end event. If YES, an end process is performed in step S915, and the job control print service ends. If NO in step S914, other command processing is performed in step S916, and the process returns to the event waiting loop in step S901. Other command processing is not directly related to the present invention and is omitted in this embodiment.

このように、第2の実施の形態によれば、Windows(登録商標)のSpoolerにジョブを投入したとしても、事前にジョブ制御プリントサービス622にOSジョブID及びUUIDが通知されているので、プリンタドライバに対して複雑な制御を施すことなく、ジョブ制御プリントサービス622から通知されたOSジョブIDについてWindows(登録商標) Spoolerの順番制御を簡単に行うことができる。   As described above, according to the second embodiment, even when a job is input to the Windows (registered trademark) Spooler, the OS job ID and UUID are notified to the job control print service 622 in advance. Without performing complicated control on the driver, the order control of Windows (registered trademark) Spooler can be easily performed for the OS job ID notified from the job control print service 622.

以上第1実施形態及び第2実施形態で説明したように、本発明は、単に印刷ジョブに優先度を付して、該付された優先度に基づく先送り印刷処理を行うという概念に留まるものではない。つまり、プリンタドライバで指示された優先印刷ジョブ或いは割り込み印刷ジョブが、通常ジョブと同様にWindows(登録商標)プリントスプーラーでスプールされ、且つ、このスプーラーに先行するジョブが複数存在した場合であっても、複数の印刷ジョブの送信処理が完了するまで、割り込み或いは優先印刷の対象である印刷ジョブの送信を待機しなければならないという状態を回避することができる。従って、割り込み或いは優先印印刷の指示がなされれば、対象の印刷ジョブを迅速に処理することができる。   As described above in the first embodiment and the second embodiment, the present invention is not limited to the concept of simply assigning a priority to a print job and performing advance print processing based on the assigned priority. Absent. That is, even when the priority print job or the interrupt print job instructed by the printer driver is spooled by the Windows (registered trademark) print spooler in the same manner as the normal job, and there are a plurality of jobs preceding this spooler. Thus, it is possible to avoid a situation where it is necessary to wait for transmission of a print job that is an object of interruption or priority printing until transmission processing of a plurality of print jobs is completed. Therefore, if an instruction for interrupt or priority stamp printing is given, the target print job can be processed quickly.

<その他>
各実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
<Others>
In the processing of each embodiment, a storage medium recording software program codes embodying each function is provided to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium in the storage medium. It can also be realized by reading and executing the program code. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying such a program code, for example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory card, ROM Etc. can be used.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれている。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (Operating System) running on the computer based on the instruction of the program code. Includes the case where the functions of the above-described embodiments are realized by performing part or all of the actual processing.

更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。   Furthermore, after the program code read from the storage medium is written in the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, the function is determined based on the instruction of the program code. This includes a case where a CPU or the like provided in an expansion board or 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 diagram illustrating a schematic configuration of a print processing system according to an embodiment of the present invention. 本発明の実施例におけるコンピュータの構成を概要ブロック図である。It is a general | schematic block diagram about the structure of the computer in the Example of this invention. 図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との関係を示す図である。FIG. 3 is a diagram illustrating a relationship between an FD drive 203 and an FD 204 illustrated in FIG. 2. 第1の実施形態に係る印刷システムの機能ブロック図である。1 is a functional block diagram of a printing system according to a first embodiment. 割込みジョブ印刷コマンドのデータ構造例である。It is an example of the data structure of an interrupt job print command. ジョブ制御ポートモニタにおけるデータ書き込み処理のフローチャートである。It is a flowchart of the data writing process in a job control port monitor. 第1の実施形態における、ジョブ制御プリントサービス(クライアント)でのフローチャートである。4 is a flowchart in a job control print service (client) in the first embodiment. ジョブ制御プリントサーバでのメインフローチャートである。It is a main flowchart in a job control print server. ジョブ制御プリントサーバでのジョブ選択フローチャートである。6 is a job selection flowchart in the job control print server. 割り込み印刷を処理するプリンタデバイスのフローチャートである。6 is a flowchart of a printer device that processes interrupt printing. 第1の実施形態に係る印刷システムの機能ブロック図である。1 is a functional block diagram of a printing system according to a first embodiment. ジョブ情報通知処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of a job information notification process. 第2の実施形態における、ジョブ制御プリントサービス(クライアント)でのフローチャートである。10 is a flowchart of a job control print service (client) in the second embodiment. ドライバからジョブ情報通知サービスに通知される情報の一例を示す図である。It is a figure which shows an example of the information notified to a job information notification service from a driver.

符号の説明Explanation of symbols

101 サーバコンピュータ
102〜104 クライアントコンピュータ
105 プリンタデバイス
106 ネットワーク
602 PDLプリンタドライバ
621 ジョブ制御ポートモニタ
622 ジョブ制御プリントサービス
630 ジョブ制御サーバ
101 server computer 102 to 104 client computer 105 printer device 106 network 602 PDL printer driver 621 job control port monitor 622 job control print service 630 job control server

Claims (20)

アプリケーションデータに基づき作成されたプリントジョブのデータを外部のプリンタデバイスに出力可能な情報処理装置であって、
アプリケーションデータに基づき作成されたプリントジョブのデータをスプーラーから受け取る受信手段と、
前記受け取ったプリントジョブのデータに、ユーザインタフェースを介してプリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータを優先的に前記プリンタデバイスに出力するよう制御する制御手段と、
前記プリンタデバイスにおける先送りジョブの指定に応じて発行される前記制御手段が解釈できる先送りジョブIDを、前記制御手段に通知する通知制御手段とを有し、
前記制御手段は、前記スプーラーから受信した前記プリントジョブのデータに前記先送りジョブIDが設定されている場合に、前記プリントジョブのデータを優先的に前記プリンタデバイスに出力することを特徴とする情報処理装置。
An information processing apparatus capable of outputting print job data created based on application data to an external printer device ,
A receiving means for receiving print job data created based on the application data from the spooler ;
The data of a print job received above, when the attribute of the postponed job instructed to be preferentially printed output at the printer device through the user interface is configured, preferential data of the print job received Control means for controlling to output to the printer device;
Notification control means for notifying the control means of a advance job ID that can be interpreted by the control means issued according to the designation of the advance job in the printer device;
The control means preferentially outputs the print job data to the printer device when the advance job ID is set in the print job data received from the spooler. apparatus.
前記通知制御手段は、前記プリンタデバイスにおける先送りジョブの指定に応じて発行されるオペレーティングシステムジョブIDを通知し、
前記制御手段は、前記通知されたオペレーティングシステムジョブIDに基づき前記スプーラーに対して前記オペレーティングシステムジョブIDのジョブを優先的に出力するよう指示することを特徴とする請求項に記載の情報処理装置。
The notification control means notifies the operating system job ID issued in accordance with the specified postpone job in the printer device,
The information processing apparatus according to claim 1 , wherein the control unit instructs the spooler to preferentially output a job of the operating system job ID based on the notified operating system job ID. .
前記通知制御手段は前記プリンタデバイスにおける先送りジョブの指定に応じて発行されるオペレーティングシステムジョブIDを前記先送りジョブIDと共に前記制御手段に通知し、
前記制御手段は、前記先送りジョブIDと共に通知されたオペレーティングシステムジョブIDに基づき前記スプーラーに対して前記オペレーティングシステムジョブIDのジョブを優先的に出力させることを特徴とする請求項に記載の情報処理装置。
The notification control means notifies the control means of the operating system job ID issued in response to the designation of the advance job in the printer device together with the advance job ID,
2. The information processing according to claim 1 , wherein the control unit causes the spooler to preferentially output a job of the operating system job ID based on the operating system job ID notified together with the advance job ID. apparatus.
前記受け取ったプリントジョブのデータを解析する解析手段を有し、Analyzing means for analyzing the received print job data;
前記制御手段は、前記解析手段による解析に基づき前記先送りジョブの属性を検知することを特徴とする請求項1に記載の情報処理装置。The information processing apparatus according to claim 1, wherein the control unit detects an attribute of the advance job based on an analysis by the analysis unit.
前記先送りジョブは、優先ジョブ又は割り込みジョブを含むことを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。 The postponed job processing apparatus according to any one of claims 1 to 4, characterized in that it comprises a priority job or interrupt job. アプリケーションデータに基づき作成されたプリントジョブのデータを外部のプリンタデバイスに出力可能な情報処理装置であって、
アプリケーションデータに基づき作成されたプリントジョブのデータを受け取る受信手段と、
前記受け取ったプリントジョブのデータに、プリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータを優先的に前記プリンタデバイスに出力するよう制御する制御手段とを有し、
前記制御手段は、
イベントの発生を検知するイベント検知手段と、
前記イベント検知手段によって検知されたイベントがジョブ投入コマンドであった場合、投入されたジョブのIDを含むジョブ属性を生成するジョブ情報作成手段とを備え、前記ジョブ属性には前記先送りジョブの属性が含まれ、さらに前記制御手段は先送りジョブの属性を判定し、先送りジョブに対応した前記プリントジョブのデータを優先的に前記プリンタデバイスに出力することを特徴とする情報処理装置。
An information processing apparatus capable of outputting print job data created based on application data to an external printer device,
Receiving means for receiving print job data created based on application data;
When the received print job data is set with an attribute of a forward-feed job instructed to be preferentially printed out by a printer device, the received print job data is preferentially sent to the printer device. Control means for controlling to output,
The control means includes
Event detection means for detecting the occurrence of an event;
If the event detected by the event detecting unit is a job submission command, a job information creating means for generating a job attributes including the ID of the input job, is the job attribute attribute of the postponed job And the control means determines the attribute of the advance job and preferentially outputs the print job data corresponding to the advance job to the printer device .
前記イベント検知手段によって検知されたイベントがスプール開始コマンドであった場合に、前記ジョブ情報作成手段によって作成された、対応するジョブ情報をプリントジョブデータの送出元に出力するジョブ情報出力手段を有することを特徴とする請求項に記載の情報処理装置。 If the event detected by the event detecting means is a spool start command, have a job information output means for outputting said created by the job information creating means, a corresponding job information to the sending source of the print job data The information processing apparatus according to claim 6 . 前記受け取ったプリントジョブのデータを解析する解析手段を有し、Analyzing means for analyzing the received print job data;
前記制御手段は、前記解析手段による解析に基づき前記先送りジョブの属性を検知することを特徴とする請求項6又は7に記載の情報処理装置。The information processing apparatus according to claim 6, wherein the control unit detects an attribute of the advance job based on an analysis by the analysis unit.
前記制御手段は、前記プリンタデバイスにおける先送りジョブの指定に応じて発行される通知に基づく前記先送りジョブの属性を検知することを特徴とする請求項6又は7に記載の情報処理装置。The information processing apparatus according to claim 6, wherein the control unit detects an attribute of the advance job based on a notification issued in response to designation of the advance job in the printer device. アプリケーションデータに基づき作成されたプリントジョブのデータを外部のプリンタデバイスに出力するよう制御する制御手段を備えた情報処理装置における情報処理方法であって、
アプリケーションデータに基づき作成されたプリントジョブのデータをスプーラーから受け取る受信工程と、
前記受け取ったプリントジョブのデータに、ユーザインターフェースを介してプリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータを優先的に前記プリンタデバイスに出力するよう制御する、前記制御手段による制御工程と、
前記プリンタデバイスにおける先送りジョブの指定に応じて発行される前記制御工程で解釈できる先送りジョブIDを、前記制御手段に通知する通知制御工程とを有し、
前記制御工程では、前記スプーラーから受信した前記プリントジョブのデータに前記先送りジョブIDが設定されている場合に、前記プリントジョブのデータが優先的に前記プリンタデバイスに出力されることを特徴とする情報処理方法。
An information processing method in an information processing apparatus including a control unit that controls to output data of a print job created based on application data to an external printer device ,
A receiving process for receiving print job data created from application data from the spooler ;
The data of a print job received above, when the attribute of the postponed job instructed to be preferentially printed output at the printer device through the user interface is configured, preferential data of the print job received A control step by the control means for controlling to output to the printer device,
A notification control step of notifying the control means of a advance job ID that can be interpreted in the control step issued according to the designation of the advance job in the printer device;
In the control step, when the advance job ID is set in the print job data received from the spooler, the print job data is preferentially output to the printer device. Processing method.
前記通知制御工程では、前記プリンタデバイスにおける先送りジョブの指定に応じて発行されるオペレーティングシステムジョブIDを通知し、
前記制御工程では、前記通知されたオペレーティングシステムジョブIDに基づき前記スプーラーに対して前記オペレーティングシステムジョブIDのジョブを優先的に出力するよう指示することを特徴とする請求項10に記載の情報処理方法。
In the notification control step, the operating system job ID issued according to the designation of the advance job in the printer device is notified ,
11. The information processing method according to claim 10 , wherein the control step instructs the spooler to preferentially output a job of the operating system job ID based on the notified operating system job ID. .
前記通知制御工程では、前記プリンタデバイスにおける先送りジョブの指定に応じて発行されるオペレーティングシステムジョブIDが前記先送りジョブIDと共に前記制御手段に通知され、
前記制御工程では、前記先送りジョブIDと共に通知されたオペレーティングシステムジョブIDに基づき前記スプーラーに対して前記オペレーティングシステムジョブIDのジョブが優先的に出力されることを特徴とする請求項10に記載の情報処理方法。
In the notification control step, an operating system job ID issued according to the designation of the advance job in the printer device is notified to the control means together with the advance job ID,
11. The information according to claim 10 , wherein in the control step, a job with the operating system job ID is preferentially output to the spooler based on the operating system job ID notified together with the advance job ID. Processing method.
前記受け取ったプリントジョブのデータを解析する解析工程を有し、An analysis step of analyzing the received print job data;
前記制御工程では、前記解析工程での解析に基づき前記先送りジョブの属性を検知することを特徴とする請求項10に記載の情報処理方法。The information processing method according to claim 10, wherein in the control step, an attribute of the advance job is detected based on the analysis in the analysis step.
前記先送りジョブは、優先ジョブ又は割り込みジョブを含むことを特徴とする請求項10乃至13の何れか1項に記載の情報処理方法。 The postponed job processing method according to any one of claims 10 to 13, characterized in that it comprises a priority job or interrupt job. アプリケーションデータに基づき作成されたプリントジョブのデータを外部のプリンタデバイスに出力可能な情報処理装置における情報処理方法であって、
アプリケーションデータに基づき作成されたプリントジョブのデータを受け取る受信工程と、
前記受け取ったプリントジョブのデータに、プリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータが優先的に前記プリンタデバイスに出力されるよう制御する制御工程と、
イベントの発生を検知するイベント検知工程と、
前記イベント検知工程で検知されたイベントがジョブ投入コマンドであった場合、投入されたジョブのIDを含むジョブ属性を生成するジョブ情報作成工程とを有し、前記ジョブ属性には前記先送りジョブの属性が含まれ、さらに前記制御工程では、先送りジョブの属性を判定し、先送りジョブに対応した前記プリントジョブのデータが優先的に前記プリンタデバイスに出力されることを特徴とする情報処理方法。
An information processing method in an information processing apparatus capable of outputting print job data created based on application data to an external printer device,
A receiving process for receiving print job data created based on application data;
When the received print job data is set with an attribute of a forward-feed job instructed to be preferentially printed out by a printer device, the received print job data is preferentially sent to the printer device. A control process for controlling the output,
And event detection step of detecting the occurrence of an event,
If the event where the event is detected in the detection step was a job submission command, and a job information generating step of generating a job attributes including the ID of the input job, it is the job attribute of the postponed job An information processing method comprising: an attribute, and in the control step, determining an attribute of the advance job and preferentially outputting the print job data corresponding to the advance job to the printer device .
前記イベント検知工程で検知されたイベントがスプール開始コマンドであった場合に、前記ジョブ情報作成工程で作成された、対応するジョブ情報をプリントジョブデータの送出元に出力するジョブ情報出力工程を有することを特徴とする請求項15に記載の情報処理方法。 If the event where the event is detected in the detection step was a spool start command, the created job information creating step, having a job information output step of outputting a corresponding job information to the sending source of the print job data The information processing method according to claim 15 . 前記受け取ったプリントジョブのデータを解析する解析工程を有し、An analysis step of analyzing the received print job data;
前記制御工程では、前記解析工程での解析に基づき前記先送りジョブの属性を検知することを特徴とする請求項15又は16に記載の情報処理方法。The information processing method according to claim 15 or 16, wherein, in the control step, an attribute of the advance job is detected based on an analysis in the analysis step.
前記制御工程では、前記プリンタデバイスにおける先送りジョブの指定に応じて発行される通知に基づく前記先送りジョブの属性を検知することを特徴とする請求項15又は16に記載の情報処理方法。The information processing method according to claim 15 or 16, wherein, in the control step, an attribute of the advance job based on a notification issued in response to designation of the advance job in the printer device is detected. 請求項10乃至18の何れか1項に記載の情報処理方法をコンピュータに実行させるためのプログラムコードを含むことを特徴とするコンピュータプログラム。 A computer program comprising program code for causing a computer to execute the information processing method according to any one of claims 10 to 18 . 請求項19に記載のコンピュータプログラムを記憶したことを特徴とするコンピュータで読み取り可能な記憶媒体。 A computer-readable storage medium storing the computer program according to claim 19 .
JP2003416722A 2003-12-15 2003-12-15 Information processing apparatus, information processing method, computer program, and computer-readable storage medium Expired - Fee Related JP3962720B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003416722A JP3962720B2 (en) 2003-12-15 2003-12-15 Information processing apparatus, information processing method, computer program, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003416722A JP3962720B2 (en) 2003-12-15 2003-12-15 Information processing apparatus, information processing method, computer program, and computer-readable storage medium

Publications (2)

Publication Number Publication Date
JP2005174225A JP2005174225A (en) 2005-06-30
JP3962720B2 true JP3962720B2 (en) 2007-08-22

Family

ID=34735840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003416722A Expired - Fee Related JP3962720B2 (en) 2003-12-15 2003-12-15 Information processing apparatus, information processing method, computer program, and computer-readable storage medium

Country Status (1)

Country Link
JP (1) JP3962720B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007083522A (en) * 2005-09-21 2007-04-05 Fuji Xerox Co Ltd Printer and method for controlling interruption of print job in the printer
JP4827615B2 (en) 2006-05-29 2011-11-30 キヤノン株式会社 Information processing apparatus, printing system, monitoring method, program, and storage medium
JP6371697B2 (en) * 2014-12-22 2018-08-08 キヤノン株式会社 Information processing apparatus, print control method, and program
JP7027837B2 (en) 2017-11-27 2022-03-02 富士フイルムビジネスイノベーション株式会社 Information processing equipment and information processing programs

Also Published As

Publication number Publication date
JP2005174225A (en) 2005-06-30

Similar Documents

Publication Publication Date Title
JP3720740B2 (en) Distributed printing system, distributed printing control method, storage medium, and program
US7719703B2 (en) Print control program and medium and information processing apparatus
JP4817474B2 (en) Data processing apparatus, data processing method, and storage medium storing computer-readable program
JP3793197B2 (en) Information processing apparatus, information processing method, information processing program, and storage medium
US7945712B2 (en) Job status monitoring system, job status monitoring method, program, and storage medium
JP4980776B2 (en) Image forming apparatus, program, and recording medium
JP4944682B2 (en) PRINT CONTROL DEVICE, PRINT CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM
JP3903024B2 (en) Output management method and information processing apparatus
JP2005174210A (en) Information processor, printing system, load distribution printing method, and control program
JP2007328639A (en) Printing system, server device, client device and print setting method
JP4018609B2 (en) Information processing apparatus, information processing method, information processing program, and computer-readable storage medium
JP2001350606A (en) Printing system, method for processing print data, and storage medium with program for executing the method recorded on it
JP2006209309A (en) Print system
JP2002182879A (en) Printing controller, printing control method, and printing system
JP4174381B2 (en) Information processing apparatus, distributed printing control method, and distributed printing control program
JP3962720B2 (en) Information processing apparatus, information processing method, computer program, and computer-readable storage medium
JP4886501B2 (en) Printing apparatus, printing control method, and program
KR100644671B1 (en) Apparatus and method for changing printer driver, and printing system and method using it
JP2007058417A (en) Print system
JP2006146716A (en) Information processor, informed processing method, program and storage medium
JP2008027217A (en) Printing system with information processor and printing apparatus
JP2006209308A (en) Print system
JP2003241948A (en) Method and device for recovering failed print job
JP2006178767A (en) Printing reservation system and its control method
JP4776763B2 (en) Print server apparatus, information processing apparatus, print job storage management method, storage job generation method, and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070521

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110525

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120525

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120525

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130525

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140525

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees