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 PDFInfo
- 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
- 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
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号公報では、印刷データに付加された優先度情報に基づいて印刷順位を定め、印刷順位を管理する印刷システムが開示されている。
しかしながら、昨今の印刷システムでは印刷効率を向上させるために、プリンタドライバと印刷装置の間には、印刷ジョブをスプールし、順次デバイスへ送信する機能を有するスプーラーが存在することが普通となっている。例えば、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,
これらのうち、102,103,104はクライアントコンピュータ(以下、クライアント)であり、それぞれイーサネット(登録商標)などのネットワークケーブルによってネットワーク106に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各クライアントは複数のプリンタドライバをサポートするものとする。
Among these,
これに対し101はサーバコンピュータ(以下、サーバ)であり、ネットワークケーブルによってネットワーク106に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視する。このサーバは、ネットワーク106に接続されているプリンタを管理するプリントサーバとしても機能する。具体的には、プリントサーバ101は、クライアントコンピュータ102、103、104から印刷要求が出されたプリントデータを含む印刷ジョブを格納して印刷する機能や、クライアントコンピュータ102〜104から印字データを含まないジョブ情報を受け取って印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知する機能、後述するプリンタデバイス(プリンタデバイス)105のステータスや印刷ジョブの各種情報を取得して、クライアントコンピュータ102〜104に通知する機能などを有している。サーバコンピュータ101は本発明の印刷システムにおいてサーバの機能が動作する論理的な存在である。図1で示されるように専用のサーバコンピュータを設けることもできるし、また、クライアントコンピュータ102〜104或いはプリンタデバイス105にサーバコンピュータの機能を代替させる事も可能である。
On the other hand,
105は、印刷制御装置としてのプリンタデバイスであり、図示しないネットワークインタフェースを介してネットワーク106と接続されており、クライアントコンピュータから送信されてくる印字データを含む印刷ジョブを解析し、1ページずつドットイメージに変換して印刷する。なお、同図にプリンタデバイス105は1台しか示されていないが、他のプリンタデバイスが複数接続されていても良い。各プリンタデバイスの機能は相違するものであってもよい。尚、プリンタデバイスにおける画像記録方式としては様々な方式のものを適用可能であり、例えば、電子写真方式や、インクジェット方式の記録方式を採用した印刷制御装置を想定することができる。
また、106はネットワークであり、クライントコンピュータ102〜104、プリントサーバ101、プリンタデバイス105等と接続している。
(ネットワークコンピュータのハードウェア構成例)
図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
図2において、200は装置全体の制御を行うCPUであり、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや、本実施形態のプリンタデバイス制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
In FIG. 2, a
201は記憶手段としてのROMであり、内部には、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。202は一時記憶手段としてのRAMであり、CPU200の主メモリ、ワークエリア等として機能する。
203は記憶媒体読み込み手段としてのフロッピディスクドライブであり、後述する図5に示すようにFDドライブ203を通じて、記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータにロードすることができる。204は記憶媒体であるフロッピディスク(FD)であり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はFDに限らず、CD−ROM、CDR、CDRW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。
205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HD)であり、アプリケーションプログラム、プリンタドライバプログラム、OS、プリンタデバイス制御プログラム、関連プログラム等を格納している。更に、スプール手段であるスプーラーはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
206は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。207は表示手段であるディスプレイであり、キーボード206から入力したコマンドや、プリンタの状態等を表示したりするものである。
208はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。209は入出力手段であるインタフェースであり、該インタフェース209を介して情報処理装置は外部装置とのデータのやり取りを行う。
A
なお、上記コンピュータの構成はその一例であり、図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
なお、本実施形態では、プリンタデバイス制御プログラムおよび関連データを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
さらに、本プリンタデバイス制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
Further, it is possible to store the printer device control program in the
また、以下では、本プリンタデバイス制御プログラムのことを、簡単に印刷制御プログラムまたはプリンタドライバと呼ぶこともある。印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含む。一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。 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が本プリンタ制御プログラムを実行する領域が確保されている。
図4は、図2に示したFD204のメモリマップの一例を示す図である。図4において、401はデータの情報を示すボリューム情報であり、402はディレクトリ情報、403は本実施形態で説明する印刷制御プログラムであるプリンタデバイス制御プログラム、404はその関連データである。プリンタデバイス制御プログラム403は、本実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、クライアント及びサーバ共に、同様の構成をとっている。
FIG. 4 is a diagram illustrating an example of a memory map of the
図5は、図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図であり、図2と同一のものには同一の符号を付してある。図5において、FD204には、本実施形態で説明するプリンタデバイス制御プログラムおよび関連データが格納されている。
FIG. 5 is a diagram showing a relationship with the
(印刷処理システムにおけるソフトウェア構成例及び動作例)
図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
なお、ジョブ制御ポートモニタ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
OSを介して生成された描画命令がPDLDriver602に投入された場合に、PDLDriver602よって頁記述言語が生成され、該生成された頁記述言語は、印刷処理を行うよう設定されたPDLDriver602に対応するジョブ制御ポートモニタ621からジョブ制御サービス622を介して対応するデバイス105に送信される。
When a drawing command generated via the OS is input to the
印刷ジョブ制御システム用プリントマネージャ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
印刷ジョブ制御システム用サーバ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
また、ジョブ制御サーバ630は、デバイス情報コントロールモジュール631を用いて各プリンタデバイス105と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報は、クライアント102〜104側のジョブ制御プリントサービス622に渡すことができる。
In addition, the
(ジョブ制御の流れ)
次に、本発明におけるプリントジョブデータの制御の流れについて説明する。
まずジョブ生成装置であるクライアントコンピュータにおいて(ジョブ生成装置がプリントサーバである場合にはプリントサーバ)アプリケーションからの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
ここで、割り込み処理と優先処理の違いについて述べておく。割り込み処理とは、プリンタデバイス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
処理の具体例について説明する。まず、プリンタデバイス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
クライアントコンピュータにおいて作成されたデータはジョブ単位に管理され、順次Windows(登録商標) Spooler603へスプールされる。
Data created in the client computer is managed in units of jobs and sequentially spooled to Windows (registered trademark)
Windows(登録商標) Spooler603では、該プリントジョブデータを、1頁分のスプールが完了したタイミング、或いは全頁分のスプールが完了したタイミング、或いはスプールが行われる都度、順次デスプール(送信処理)を行い、ジョブ制御ポートモニタ621にジョブデータを渡して行く。この際にWindows(登録商標)プリントキューの操作におけるジョブの優先度が他のものよりも高く設定されたプリントジョブデータはOSの仕組みにより優先的にWindows(登録商標) Spooler603から外部に出力される。
The Windows (registered trademark)
図8はジョブ制御ポートモニタ621における書き込み処理の一例を示すフローチャートである。
FIG. 8 is a flowchart illustrating an example of a writing process in the job
まず、ステップ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)
ステップ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)
続いてステップS803でジョブ制御ポートモニタ621がWindows(登録商標) Spooler603から渡されたジョブデータの解析を行い、渡されたデータがジョブ開始コマンドか否かの判定が行われる。ジョブ開始コマンドであると判定された場合、ステップS804で割り込み或いは優先指示があるか否かが判定(検知)される。
In step S803, the job control port monitor 621 analyzes the job data passed from Windows (registered trademark)
ステップ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
なおジョブ属性は、「割り込み或いは優先印刷指示」等具体的な属性ではなく、「印刷タイプ」のような汎用的なジョブ属性を用いても良い。また、本発明の実施例ではジョブ制御プリントサービスへ割り込み或いは優先ジョブの投入を指示する手段としてジョブ属性の変更コマンドを用いているが、優先度変更或いは割り込み印刷実行等の別なコマンドを用いても良い。 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)
図9はジョブ制御プリントサービス622の動作概要を示すフローチャートである。本実施例においてジョブ制御プリントサービス622は、コンピュータの起動と共に起動されるサービスプログラムである。また、この図9の処理は図8に示された処理とは別個独立して並行に行われる。
FIG. 9 is a flowchart showing an outline of the operation of the job
まずステップ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
ステップ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
ステップ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
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
ステップ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
ステップ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
ステップ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
ステップ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
ジョブ制御プリントサーバは起動時にステップ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
ステップ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
ステップ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
図11は、ジョブ制御サーバ630における送信ジョブ決定処理の概略を示すフローチャートである。ステップS1100において印刷ジョブに関連付けられて指定された所定の印刷デバイス(例えば印刷デバイス105)へプリントジョブデータを送信可能な状態か否かが判定される。尚、ジョブ制御サーバ630においては、該印刷デバイスの状態や送信済みのジョブ数を管理しており、該デバイスにエラーが発生している場合や、一定数以上のジョブを送信済みの場合にはジョブの送信を行わずに送信ジョブ選択処理を終了し、印刷デバイスにおいて、エラーが解除されるか、一定数未満のジョブを送信済みの状態になるまで他の処理をする。
FIG. 11 is a flowchart illustrating an outline of a transmission job determination process in the
ステップ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
ステップS1100においてデバイス105が送信可能状態ではない場合、またはステップS1104においてスケジュールアップ処理が行われた場合に、送信ジョブ選択処理は終了する。このステップS1104の処理は、上に説明した図9のステップS910において判定対象となるスケジュールアップに相当するものである。そして、ステップS1104の処理を受けたジョブ制御プリントサービス622では、保持された複数のプリントジョブデータの中から、指定されたプリントジョブデータを印刷デバイスに優先的に送信するように制御される。つまり、ステップS805で、ジョブ制御プリントサービス622に対し割り込み或いは優先印刷指示ジョブ属性の変更の通知の対象となったプリントジョブデータは、ジョブ制御プリントサービス622から先送りジョブとして優先的に所定のプリンタデバイスに送信される。
If the
図12は本発明を適用する印刷装置105における割り込み印刷処理の概略を示すフローチャートである。割り込み印刷処理は印刷装置105がジョブデータを受信すると起動される。ステップS1200において印刷中(エンジン使用中)のジョブがあるか否かが判定され、YESの場合には、ステップS1201において印刷中のジョブ情報を退避するとともにステップS1202において印刷中のジョブを中止する。
FIG. 12 is a flowchart showing an outline of interrupt printing processing in the
続いて、ステップ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
印刷が完了すると印刷完了通知が発せられ、デバイス情報コントロールモジュール631、ジョブ制御サーバ630を経由して、ジョブ制御プリントサービス622へ通知される。ジョブ完了イベント発生時におけるジョブ制御プリントサービスの処理は前述した通りである。
When printing is completed, a print completion notification is issued and notified to the job
続いて印刷デバイス105では、スプールされているその他のジョブを優先順位或いは受け付け順に従って処理するが本発明とは直接関係ないため此処では割愛する。
なお、ステップS1200からステップS1206は割り込み印刷における印刷装置105の処理であり、優先印刷時にはスケジュールの優先順位をあげるだけで、印刷中、解析中のジョブの中断処理は行われない。
Subsequently, the
Note that steps S1200 to S1206 are processing of the
以上のように第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
<第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
(印刷処理システムにおけるソフトウェア構成例及び動作例)
図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
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
一方、PDLDriver602によって生成された頁記述言語は、ポートモニタを通してデバイスへ送信されるか或いは、予め設定されたPDLDriver602に対応するジョブ制御ポートモニタ621からジョブ制御プリントサービス622を介して対応するデバイス105に送信される。
On the other hand, the page description language generated by the
例えば、スタンダード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
一方、ジョブ制御ポートモニタ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
印刷ジョブ制御システム用プリントマネージャ623、印刷ジョブ制御システム用サーバ630の動作については、第1の実施の形態において説明したものと同様なので、ここでは説明を省略する。
Since the operations of the print job control
(ジョブ制御の流れ)
次に、本発明の印刷システムにおける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
なお、PDLプリンタドライバ602によって生成される割り込み印刷コマンドの一例は、第1の実施形態の図7と同じである。
このようにして作成されたデータはジョブ単位に管理され、順次Windows(登録商標) Spooler603へスプールされる。
An example of the interrupt print command generated by the
The data created in this way is managed in units of jobs and sequentially spooled in Windows (registered trademark)
Windows(登録商標) Spooler603では、該ジョブデータを、1頁分のスプールが完了したタイミング、或いは全頁分のスプールが完了したタイミング、或いはスプールが行われる都度、順次デスプール(送信処理)を行い、ジョブ制御ポートモニタ621にジョブデータを渡して行く。
In Windows (registered trademark)
図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
なお、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
まずステップS1400でPDLDriver602からジョブ情報が通知されるとジョブ情報通知サービス1324はジョブ情報をジョブ制御プリントサービス622が識別するための識別子(UUID)を生成する。
First, when job information is notified from the
続いてステップ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
優先順位が変更されたジョブは、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
そして、処理がステップ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
本実施形態においてジョブ制御プリントサービス622及びジョブ制御ポートモニタ621は、コンピュータの起動と共に起動されるサービスプログラムである。まずステップS900において初期化処理を行う。
In this embodiment, the job
初期化処理では、ジョブ制御プリントサービス622はサーバと通信を行いサーバからプリンタデバイス等の最新の情報を取得する。続いてステップS901のイベント処理待ちへ移る。イベント待ちループは、ジョブ制御プリントサービスを利用するアプリケーションプログラム623、1324やジョブ制御ポートモニタ622によるAPI呼び出しや、ジョブ制御サーバからのイベント通知、或いは内部処理の遷移によるイベント通知により、イベントの発生が検知される。そして、イベントの種類によってステップS902以下の処理が実行される。
In the initialization process, the job
まず、ステップ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
一方、ステップ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)
ステップ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
つまり、スプール開始コマンドではジョブ制御ポートモニタ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
更にステップ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
一方、ステップ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
ステップ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
ステップ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
以上第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.
101 サーバコンピュータ
102〜104 クライアントコンピュータ
105 プリンタデバイス
106 ネットワーク
602 PDLプリンタドライバ
621 ジョブ制御ポートモニタ
622 ジョブ制御プリントサービス
630 ジョブ制御サーバ
101
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のジョブを優先的に出力するよう指示することを特徴とする請求項1に記載の情報処理装置。 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のジョブを優先的に出力させることを特徴とする請求項1に記載の情報処理装置。 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.
前記制御手段は、前記解析手段による解析に基づき前記先送りジョブの属性を検知することを特徴とする請求項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.
アプリケーションデータに基づき作成されたプリントジョブのデータを受け取る受信手段と、
前記受け取ったプリントジョブのデータに、プリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータを優先的に前記プリンタデバイスに出力するよう制御する制御手段とを有し、
前記制御手段は、
イベントの発生を検知するイベント検知手段と、
前記イベント検知手段によって検知されたイベントがジョブ投入コマンドであった場合に、投入されたジョブの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 .
前記制御手段は、前記解析手段による解析に基づき前記先送りジョブの属性を検知することを特徴とする請求項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.
アプリケーションデータに基づき作成されたプリントジョブのデータをスプーラーから受け取る受信工程と、
前記受け取ったプリントジョブのデータに、ユーザインターフェースを介してプリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータを優先的に前記プリンタデバイスに出力するよう制御する、前記制御手段による制御工程と、
前記プリンタデバイスにおける先送りジョブの指定に応じて発行される前記制御工程で解釈できる先送りジョブ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のジョブを優先的に出力するよう指示することを特徴とする請求項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のジョブが優先的に出力されることを特徴とする請求項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.
前記制御工程では、前記解析工程での解析に基づき前記先送りジョブの属性を検知することを特徴とする請求項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.
アプリケーションデータに基づき作成されたプリントジョブのデータを受け取る受信工程と、
前記受け取ったプリントジョブのデータに、プリンタデバイスにおいて優先的に印刷出力されるよう指示された先送りジョブの属性が設定されている場合に、前記受け取ったプリントジョブのデータが優先的に前記プリンタデバイスに出力されるよう制御する制御工程と、
イベントの発生を検知するイベント検知工程と、
前記イベント検知工程で検知されたイベントがジョブ投入コマンドであった場合に、投入されたジョブの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又は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.
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)
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 |
-
2003
- 2003-12-15 JP JP2003416722A patent/JP3962720B2/en not_active Expired - Fee Related
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 | |
US7945712B2 (en) | Job status monitoring system, job status monitoring method, program, and storage medium | |
JP3793197B2 (en) | Information processing apparatus, information processing method, information processing 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 | |
JP2003241948A (en) | Method and device for recovering failed print job | |
JP2008027217A (en) | Printing system with information processor and printing apparatus | |
JP2006209308A (en) | Print system | |
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 |