JP2006164156A - Printer, network connecting device, print control method, and print control program - Google Patents
Printer, network connecting device, print control method, and print control program Download PDFInfo
- Publication number
- JP2006164156A JP2006164156A JP2004358305A JP2004358305A JP2006164156A JP 2006164156 A JP2006164156 A JP 2006164156A JP 2004358305 A JP2004358305 A JP 2004358305A JP 2004358305 A JP2004358305 A JP 2004358305A JP 2006164156 A JP2006164156 A JP 2006164156A
- Authority
- JP
- Japan
- Prior art keywords
- job
- request
- client
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
本発明は、プリンタ装置に装着されるネットワークプリントサーバ及びプリンタ制御システムに関するものであり、特にその印刷制御システムに関するものである。 The present invention relates to a network print server and a printer control system mounted on a printer device, and more particularly to the print control system.
近年、クライアントコンピュータと印刷制御アプリケーションが連動して、ネットワークプリンタを管理する機能のほか、ネットワークの使用状態を監視する機能や、印刷データをスケジューリングする機能を有する印刷制御システムが考えられている(例えば、特許文献1)。 In recent years, a print control system having a function of monitoring a network usage state and a function of scheduling print data in addition to a function of managing a network printer in conjunction with a client computer and a print control application has been considered (for example, Patent Document 1).
この印刷制御システムは、クライアントコンピュータからの印刷要求の順番制御を行い、印刷要求の開始から印刷終了までのジョブ追跡を行い、ユーザに印刷状況を詳細に通知する。
しかしながら、上述したような制御システムでは、複数のユーザからのリクエスト処理を1つのネットワークカードで同時に行うことを可能にする反面、ネットワークカード上に実装された印刷制御システムに対する負荷の増大から、ネットワークカードの性能以上のリクエストを受信してしまい、結果、リクエストの処理時間が長くなってしまったり、最終的には処理できない状況においこまれてしまうという問題点があった。 However, in the control system as described above, request processing from a plurality of users can be performed simultaneously with one network card, but on the other hand, the load on the print control system mounted on the network card is increased. As a result, there is a problem that the request processing time is received, and as a result, the processing time of the request becomes long, or finally, the request cannot be processed.
この問題点に対しては、受信側の状況に応じて、処理不能状態である場合にその旨を伝える(ビジーレスポンスを返す)ことが考えられているが、その場合にもネットワークカード側でのリクエスト処理よりも先に、ビジーを受け取ったクライアントがリトライ(再送)を実行してしまうと、さらにリクエストが増大してしまい悪循環を招いてしまうという問題点があった。
To deal with this problem, it is considered to notify that when processing is impossible (return a busy response) depending on the situation on the receiving side. Prior to request processing, if a client that has received busy executes a retry (retransmission), the number of requests further increases, resulting in a vicious circle.
本発明は上記従来技術の課題を解決するためになされたものであり、その目的とするところは、処理不能状態である場合に、そのビジーレスポンスに対するリクエストの再送を実行する間隔(リトライ間隔)をネットワークカードの状態に応じて可変にすることで、悪循環を防ぎ、負荷状態を制御することを可能にする印刷装置を提供することにある。 The present invention has been made in order to solve the above-described problems of the prior art. The object of the present invention is to set an interval (retry interval) for executing a retransmission of a request for the busy response when the processing is impossible. It is an object of the present invention to provide a printing apparatus that makes it possible to control a load state by preventing a vicious circle by making it variable according to the state of a network card.
上記目的を達成するため、本発明に係る他の装置は、印刷装置に装着可能な、前記印刷装置の制御モジュールと別個のCPUを備えるインテリジェント型ネットワークカードモジュールにあって、クライアントからの印刷要求を受信し、順番制御を行う印刷制御システムにおいて、クライアントからの印刷要求を受信する受信手段と、印刷要求にしたがって、印刷ジョブの登録管理を行う管理手段と、クライアントからのリクエスト要求を受信するリクエスト受信手段と、リクエスト受信時にリクエスト処理不能状態である場合にはその旨をクライアントに返信する返信手段と、リクエスト処理不能状態である際に、接続されているクライアント数を算出する算出手段と、接続されているクライアント数からリトライ時間を算出する手段と、前記返信手段において、前記リトライ時間算出手段で算出されたリトライ時間を含む返信パケットを送信する手段とを有することを特徴とする。 In order to achieve the above object, another apparatus according to the present invention is an intelligent network card module that can be mounted on a printing apparatus and has a CPU separate from the control module of the printing apparatus, and receives a print request from a client. In a print control system that receives and controls the order, a receiving unit that receives a print request from a client, a management unit that manages registration of a print job according to the print request, and a request reception that receives a request request from the client A means for replying to the client if the request cannot be processed when receiving the request, and a means for calculating the number of connected clients when the request cannot be processed. Means for calculating the retry time from the number of clients having In Shin means, characterized by having a means for transmitting a reply packet containing the retry times calculated by the retry time calculation means.
上記目的を達成するため、本発明に係る他の装置は、請求項1の印刷制御システムにおいてさらに、リクエスト処理不能状態である場合に、リクエスト処理不能である旨を通知しているクライアント数を記憶する記憶手段と、前記クライアント数を、前記リトライ時間に乗算した値を含む返信パケットを送信する手段とを有することを特徴とする。
In order to achieve the above object, another device according to the present invention further stores, in the print control system according to
本発明によれば、クライアントからの要求を処理しながらも、処理能力の上限を超えることなく印刷要求の管理を行うことのできる印刷装置を提供することができる。 According to the present invention, it is possible to provide a printing apparatus capable of managing a print request without exceeding the upper limit of processing capacity while processing a request from a client.
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。 Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings. However, the constituent elements described in this embodiment are merely examples, and are not intended to limit the scope of the present invention only to them.
(第1実施形態)
<システム構成>
図1は、本発明の第1実施形態に係る印刷システムの全体構成を示すブロック図である。本印刷システムは、情報処理装置としてのクライアントコンピュータ101〜103と、印刷装置としてのネットワークプリンタ104、105とを含み、これらが互いに接続されていることにより、全体として印刷システムを構成している。
(First embodiment)
<System configuration>
FIG. 1 is a block diagram showing the overall configuration of a printing system according to the first embodiment of the present invention. This printing system includes
クライアントコンピュータ101〜103には、印刷制御プログラムが実行可能に格納されており、本印刷システムに含まれるネットワークプリンタ104、105を管理する機能のほか、ネットワークで使用されるファイルを蓄積したり、ネットワークの使用状態を監視したりする機能を有する。具体的には、クライアントコンピュータ101〜103は、自身により印刷ジョブを作成し、ネットワークプリンタ104、105のスケジューラにスケジュール要求を発行する機能、ネットワークプリンタ104、105のスケジューラからの指示により、印刷データの転送を開始する機能を有する。
The
ネットワークプリンタ104、105は、クライアントコンピュータ101〜103から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。ネットワークプリンタ104、105としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。
The
また、ネットワークプリンタ104、105は、複数のクライアントコンピュータ101〜103からの印刷要求を受け付け、受け付けた印刷要求の順序を決定し、印刷指示を発行する機能、ネットワークプリンタ104、105に転送された印刷ジョブ、ネットワークプリンタ104、105の状態を監視し、印刷の終了やプリンタ状態をクライアントコンピュータ101〜103に通知する機能を有する。
The
なお、本印刷システムに含まれる装置間の通信は、イーサネット(登録商標)ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。 Note that the communication between apparatuses included in the printing system may be wired communication using an Ethernet (registered trademark) cable or the like, or wireless communication using radio waves or light.
<クライアントコンピュータ101〜103の内部構成>
図2は、図1に示したクライアントコンピュータ101〜103のハードウェア構成を説明するブロック図である。
<Internal configuration of client computers 101-103>
FIG. 2 is a block diagram illustrating a hardware configuration of the
図2において、CPU200は、HD(ハードディスク)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、オペレーションシステムや印刷制御プログラム等を読出して実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納するように制御を行うための制御手段である。
In FIG. 2, a
ROM201は、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する記憶手段である。RAM202は、CPU200の主メモリやワークエリア等として機能する一時記憶手段である。
The
FD(フロッピー(登録商標)ディスク)ドライブ203は、後述する図5に示すように記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータシステムにロードするための記憶媒体読み込み手段である。なお、クライアントコンピュータ101〜103は、FDドライブ203に代えて、或いはFDドライブ203と共に、他の記憶媒体読込手段を備えてもよい。他の記憶媒体としては、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、コンピュータが読み取り可能なあらゆる記憶媒体が挙げられる。
The FD (floppy (registered trademark) disk)
HD205は、大容量メモリとして機能する外部記憶手段であり、アプリケーションプログラム、プリンタドライバプログラム、オペレーションシステム、印刷制御プログラム、及び関係プログラム等を格納している。なお、クライアントコンピュータ101〜103ではスプーラがここに確保される。キーボード206は、ユーザが制御コマンド等を入力指示するための指示入力手段である。ディスプレイ207は、キーボード206から入力したコマンドや、ネットワークプリンタ104、105の状態等を表示する表示手段である。
The
尚、実際にはクライアントコンピュータ101〜103上で稼動するオペレーティングシステムを介して表示手段に表示指示がなされ、このオペレーティングシステムに本印刷処理プログラムによりリソースファイルの表示指示が行われる。
In practice, a display instruction is given to the display means via an operating system running on the
208はシステムバスであり、クライアントコンピュータ101〜103内のデータの流れを司るものである。またインタフェース209は、入出力手段であり、クライアントコンピュータ101〜103は、インタフェース209を介してネットワーク上の他の装置とのデータのやり取りを行う。
A
<メモリマップ等の説明>
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、印刷制御プログラムが、RAM202にロードされ実行可能となった状態のメモリマップである。
<Explanation of memory map>
FIG. 3 is a diagram illustrating an example of a memory map of the
印刷制御プログラム及び関係データは、予めFD204からHD205にインストールされて、HD205からRAM202にロードするようにしてもよいしFD204から直接RAM202にロードして実行させてもよい。さらに、印刷制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
The print control program and the related data may be installed in advance from the
印刷制御プログラムは、クライアントコンピュータ101〜103においては、印刷データを転送したり、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更したりする指示をするための制御を行う。
The print control program controls the
301は基本I/Oプログラムを記憶するための領域である。基本I/Oプログラムは、装置)の電源がONされたときに、HD205からオペレーションシステムがRAM202に読み込まれ、オペレーションシステムの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムである。
302はオペレーティングシステムを記憶する領域であり、303は印刷制御プログラムを記憶する領域である。304は、関係データを記憶する領域である。305はワークエリアで、CPU200が各種のプログラムを実行するための領域である。
An
図4は、図2に示したFD204のメモリマップの一例を示す図である。図4において、400はFD204のデータ内容であり、データの情報を示すボリューム情報401と、ディレクトリ情報402と、印刷制御プログラム403と、その関係データ404を含んでいる。
FIG. 4 is a diagram illustrating an example of a memory map of the
図5は、プリンタ104、105のハードウェア構成を説明するブロック図である。プリンタ104、105は、独立した制御系を有するネットワークプリンタサーバ520とプリンタコントローラ519とを含む。
FIG. 5 is a block diagram illustrating the hardware configuration of the
ネットワークプリントサーバ520において、501はネットワークプリントサーバ用CPUである。ネットワークプリントサーバ520は、ローカルエリアネットワーク(LAN)512に接続されたホストコンピュータ等の複数の外部装置(不図示)と、所定のネットワーク通信プロトコルを用いて通信可能である。そのために、CPU501は、システムバス504に接続されるネットワークコントローラ(LANC)505を介して外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を、書き換え可能なFlashROM503に記憶された制御プログラムに基づいて、統括的に制御する。また、CPU501は、拡張インタフェースコントローラ(EXPC)507を介して接続されるプリンタコントローラ519に対しても、適切なデータ転送制御を行なう。
In the
RAM502はCPU501の主メモリ、ワークエリア等の一時記憶領域として用いられる。LED506はネットワークプリントサーバの動作状態を示す表示部として用いられており、例えばネットワークコントローラ505とローカルエリアネットワーク512の電気的な接続状態(LINK)やネットワーク通信モード(10Baseや100Base、全二重、半二重)等の各種動作状態をLEDの点滅パターンや色で示すこと可能となっている。
A
ネットワークプリントサーバ520は、ネットワーク接続装置としてのネットワークカードモジュールであって、拡張インタフェース517においてプリンタコントローラ519と分離可能になっている。つまり、ネットワークプリントサーバ520は、プリンタ104、105に対して着脱可能であり、同じ構成を持つ別のプリンタにネットワークプリントサーバ520を装着することも可能である。
The
プリンタコントローラ519において、508はプリンタコントローラ用CPUである。CPU508は、ROM509に記憶された制御プログラム等あるいはディスクコントローラ(DKC515)を介して接続された外部メモリ510に記憶された制御プログラムやリソースデータ(資源情報)等に基づいて動作する。CPU508は、システムバス511に接続される各種デバイスとのアクセスを統括的に制御する。ラスタコントローラ512は、ネットワークプリントサーバ520から受信した画像データに基づいて、印刷データを生成し、プリントエンジン516に対して印刷画像信号を出力する。
In the
514はCPU508の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
518は操作パネル(操作部)でネットワークプリンタ104、105の動作モード等の設定や印刷データの取り消し等の操作を行なうためのボタンおよびネットワークプリンタ104、105の動作状態を示す液晶パネルやLED等の表示部が配されている。
なお、プリンタエンジン516は既知の印刷技術を利用したものであれば良く、例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等を利用したものであればよい。
The
次に、クライアントコンピュータ101〜103のソフトウェア構成について説明する。図6は、クライアントコンピュータ101〜103におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、図2のCPU200によって実行され、所望の機能を実現する。
Next, the software configuration of the
通常、Microsoft Word(登録商標)などの一般的なアプリケーションプログラム601は印刷の指示を受け付けると、一連の描画コマンドを、オペレーションシステムを介して生成する。オペレーションシステムを介して生成された描画コマンドを受け取ったPDLドライバ602は、一連の描画コマンドに基づいてネットワークプリンタ104、105で解釈可能なPDLファイルを含む印刷ジョブを生成する。なお、以下の説明ではPDLドライバを例に説明を行うが、これに限定されるものではなく、例えば、BDL(Band description Language)や、圧縮ビットマップを作成するプリンタドライバ、或いは、アプリケーション及びオペレーションシステムによりプリンタドライバを介さずに印刷データを生成する形態などにも適用可能である。
In general, when a
PDLドライバ602は、印刷ジョブをスプーラ603に渡す。ここではオペレーションシステムをウィンドウズ(登録商標)と仮定しているのでスプーラ603はウィンドウズ(登録商標)スプーラである。ただし、本発明を適用するコンピュータのオペレーションシステムはウィンドウズ(登録商標)に限定されるものではなく、描画命令を備えるものであればユニックスやリナックスなど他のオペレーションシステムも適用可能であることは言うまでもない。
The
スプーラ603は、ユーザがユーザインタフェースを介して指定したジョブ制御ポートモニタ604に印刷ジョブを渡す(矢印a)。また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ604に送信される。ジョブ制御ポートモニタ604はこれらの情報をジョブ制御プリントサービス605に送信する(矢印b)。
The
ジョブ制御プリントサービス605は、転送された印刷ジョブ及びデバイスの状態を管理する機能を備える。また、ネットワークプリンタ104、105から通知されるデバイス状態やジョブの状態などの情報を管理する機能や、ネットワークプリンタ104、105に対して所定の命令をする機能も備える。これは、複数のネットワークプリンタ104、105のデバイス情報やジョブ情報を管理する機能に相当する。
The job
そして、印刷データをネットワークプリンタ104、105に送信する前に、ネットワークプリンタ104、105が持つ印刷ジョブの順序管理機能に印刷の要求を発行し、ネットワークプリンタ104、105からの印刷指示により、ネットワークプリンタ104、105に印刷データを送信する(矢印c、d、e)。
Before sending the print data to the
ネットワークプリンタ104、105は、印刷データの完了を確認すると印刷完了の通知をジョブ制御プリントサービス605に通知(矢印f)する。また、ネットワークプリンタ104、105の状態を通知する(矢印f)。
Upon confirming the completion of the print data, the
プリントマネージャ607は、ユーザが、ジョブ制御プリントサービス605内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。プリントマネージャ607は、ジョブ制御プリントサービス605のソフトウェアのインタフェース(API:Application Program Interface)を介して、ジョブ制御プリントサービス605と情報・指示をやり取りしている。
The
そして、主に、ジョブ制御プリントサービス605が管理するネットワークプリンタ104、105の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントコンピュータ101〜103とデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー/警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。ここでのジョブ制御プリントサービス605はネットワークを介して通信可能な各デバイス(印刷装置)の印刷実行中、電力制御状態、障害情報(紙ジャム)等のステータスの通知を受け付ける機能を備える。
It mainly has a function of acquiring status information of the
更に詳細な処理としては、プリントマネージャ609がジョブ制御プリントサービス605に対してデバイスを指定したイベントを発行し、ジョブ制御プリントサービス605は発行されたイベントに基づくデバイスのステータスを認識して、監視に基づく結果をプリントマネージャ609に通知する。
More specifically, the print manager 609 issues an event specifying a device to the job
<印刷ジョブの流れ>
次に、図7を用いてアプリケーション601からネットワークプリンタ104、105までの印刷ジョブの流れについて説明する。ここで、図6と同じソフトウェア構成について同じ参照番号を付与しており、その機能については詳説しない。
<Print job flow>
Next, the flow of a print job from the
図7に示すように、概念的には、PDLドライバ602、スプーラ603、ジョブ制御ポートモニタ604は、ネットワークプリンタ104、105ごとに用意されている。本実施形態ではオペレーションシステムがウィンドウズ(登録商標)であるから、これらをまとめてウィンドウズ(登録商標)プリントシステム700と称する。
As shown in FIG. 7, conceptually, a
ジョブ制御プリントサービス605には、ネットワークプリンタ104、105に対応する数のプリントキュー701a、701b及び出力ポート702a、702bが含まれている。
The job
印刷を行なう場合、アプリケーション601はプリンタを指定して印刷指示を発行する。この印刷指示に基づいてPDLドライバ602によって生成された印刷ジョブがジョブ制御ポートモニタ604からジョブ制御プリントサービス605に渡されると、その印刷ジョブ情報は、まずプリントキュー701a、bに保持され、出力ポート702aに印刷ジョブ受け付け指示を出す。出力ポート702a、bは、印刷するジョブを受け付けると、出力ポートに設定されたIPアドレスに該当する、ネットワークプリンタ104、105のスケジューラに対してスケジュールの要求を発行する。ネットワークプリンタ104、105のスケジューラは、複数のクライアントコンピュータ101〜103から受け付けたジョブのスケジューリング処理を行い、出力ポート702a、bに対して印刷指示を発行する。印刷指示を受け付けた出力ポート702はネットワークプリンタ104、105に印刷データを送信する。
When printing, the
図8は、ネットワークプリントサーバ520およびプリンタコントローラ519の各記憶デバイスに記憶された制御プログラムの構成を説明するブロック図である。なお各制御プログラムは、ネットワークプリントサーバ520およびプリンタコントローラ519の各CPU501、508によって解析され処理される。
FIG. 8 is a block diagram illustrating the configuration of the control program stored in each storage device of the
801はネットワークプリントサーバ520の基本的なデータの入出力制御を統括するオペレーティングシステムである。オペレーティングシステム801は、プログラム/データ記憶部509との入出力制御を行なうファイルシステム805と、プリンタコントローラ519と拡張インタフェース517を介して通信制御を行なう拡張インタフェースドライバ807と、LAN512を介して外部装置と通信を行なうネットワークインタフェースドライバ806とを内包している。
802はアプリケーションプログラムインタフェース(API)であり、ネットワークプリントサーバ520で動作するユーザアプリケーション803やネットワークプリンタ104、105やユーザアプリケーションの登録・管理を行う管理アプリケーション等のアプリケーションプログラムに対してオペレーティングシステムが備える各種機能を提供する。アプリケーションプログラムインタフェース802は、印刷データの送受信機能を提供するデータ転送API、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行なうリソース制御API、ネットワークプリンタ104、105の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御API、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御API、ネットワークプリントサーバ520の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行なうプリントサーバ制御APIを備える。
812はプリンタコントローラ519の各種処理制御を統括するオペレーティングシステムであり、内部にプリントエンジンとの通信制御を行なうプリントエンジン制御部814およびネットワークプリントサーバ520から参照されるビットマップ画像やエラーメッセージ等の機種依存リソースおよびネットワークプリントサーバ上で動作する機種依存アプリケーションプログラム等を記憶する機種依存リソース/プログラム記憶部との入出力制御を行なうファイルシステム815を内包している。
813は拡張インタフェース制御部であり、拡張インタフェース517を介してネットワークプリントサーバ520との通信制御を行なう。さらに拡張インタフェース制御部は、制御種別毎に印刷データの入出力を制御するデータ転送論理インタフェース、機種依存リソース/プログラム記憶部509に記憶された各種データの入出力を制御するリソース制御論理インタフェース、ネットワークプリンタ104、105の再起動や設定値の初期化や設定等の制御を行なうプリンタ制御論理インタフェース、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御論理インタフェースを備えており、各論理インタフェースを介してネットワークプリントサーバ520から要求された命令をオペレーティングシステム812に対して転送し、その処理結果をネットワークプリントサーバ520に対して返信する。
811は、ネットワークインタフェースドライバ806がLAN512を介してクライアントコンピュータ101〜103からの通知を受け付けると受信の通知を受け付けるネットワーク制御部であり、どのクライアントコンピュータから通信があったかを判断することや、通信の制御を行うことができるモジュールである。
A network control unit 811 receives a notification of reception when the
810は、クライアントコンピュータ101〜103が送信する印刷データを受け付けるプロトコルを制御するモジュールであり、受け付けた印刷データをプリンタコントローラ519に渡すことができる。また、アプリケーション803はプリントコントローラ519のプログラム記憶部816またはネットワークプリントサーバ520のプログラム記憶部808に格納される。ネットワークプリンタ104、105が起動するとプログラム記憶部808または、に格納されたアプリケーションが持つライセンスと、ライセンス記憶部809やプログラム記憶部816やライセンス記憶部817が持つライセンスと比較し一致しているかどうかを判断する。一致していた場合は適正アプリケーションプログラムであると判断し、アプリケーションプログラムをネットワークプリントサーバ520のRAM514にロードする。
A module 810 controls a protocol for receiving print data transmitted by the
次に、ネットワークプリントサーバ520が実行するアプリケーションであるデバイススケジューラ900のソフトウェア構成について説明する。
Next, a software configuration of the
901は、印刷するクライアントコンピュータ101〜103の接続状況や、クライアントコンピュータ101〜103に通知すべき情報を管理する通信接続管理部であり、接続しているクライアント情報をクライアント管理キューで管理する。通信接続管理部901は、プログラムアプリケーションインターフェース802のデータ転送API、ネットワークインタフェースドライバ806を経由してクライアントコンピュータ101〜103と通信を行う。
A communication
902は、クライアントコンピュータ101〜103から受け付けた印刷ジョブのスケジューリングを行うスケジュール管理部であり、ジョブ管理部903、デバイス管理部904を持つ。
A
903は、クライアントコンピュータ101〜103が発行したスケジュール要求や、クライアントコンピュータ101〜103が印刷したジョブを管理するジョブ管理部である。
A
904は、プリンタコントローラ519が持つプリンタの状態や受け付けた印刷ジョブの状態をイベントハンドラ905経由で受け付けるデバイス管理部であり、プリンタコントローラ519から受け付けたイベントを通信接続管理部901やジョブ管理部903に通知する。
A
図10は、通信接続管理部901が管理する情報を示す図である。
FIG. 10 is a diagram illustrating information managed by the communication
1002は、接続するクライアントコンピュータ毎に通信接続管理部901が割り振ったクライアントID、接続するクライアントコンピュータ101〜103のIPアドレス、接続するクライアントコンピュータ101〜103が登録したイベントの種類などの情報を持つクライアント情報である。イベントの種類とは、プリンタコントローラ519が発行するデバイス状態のイベントやジョブ状態のイベントの種類を表す。
1001は、接続したクライアントコンピュータ101〜103のクライアント情報をキューの形式で保持するクライアント管理キューである。クライアントコンピュータ101〜103とのセッションが開始されると、該当するクライアントコンピュータ101〜103の情報が本管理キューに登録され、切断すると該当するクライアント情報が削除されるようになっている。
A
図11は、クライアントコンピュータ101〜103が発行したスケジュール要求に付加するジョブ情報と、複数発生するジョブ情報を管理するジョブ管理キューを示す図である。これらの情報はジョブ管理部903において管理されている。
FIG. 11 is a diagram showing job information added to a schedule request issued by the
1102は、クライアントコンピュータ101〜103が印刷を開始するために発行するスケジュール要求に付加される印刷ジョブの情報である。このジョブ情報1102は、印刷ジョブのドキュメント名、ジョブ管理部903が発行したジョブID、クライアントコンピュータ101〜103で印刷を開始したユーザ名、ジョブのページ数、印刷ジョブの状況を表すジョブ状態、クライアントコンピュータ101〜103が転送する印刷データに含まれるジョブデータID、印刷を指示したクライアントコンピュータ101〜103のIPアドレスが登録される。
ジョブ状態は、クライアントコンピュータ101〜103が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでの状態を表しており、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。
The job status represents a status from when the
ジョブデータIDは、印刷データに含まれるジョブのIDで、プリンタコントローラ519内でのジョブ状態を通知するときなど、付加させるIDである。
The job data ID is an ID of a job included in the print data, and is an ID to be added when a job status in the
1101は、複数のジョブ情報1102を管理する管理キューであり、クライアントコンピュータ101〜103からのスケジュール要求を受け付けるとジョブ情報1102が管理キューに登録され、印刷ジョブが印刷終了すると、該当するプリンタ情報が削除されるようになっている。
図12では、クライアントコンピュータ101〜103のジョブ制御プリントサービス605が、ジョブを受け付け後、ネットワークプリンタ104、105にスケジュール要求を発行するところから、プリンタで印刷が終了するところまでのやり取りについて記載する。
FIG. 12 describes the exchange from when the job
ジョブ制御プリントサービス605は、印刷データを受け付けると、デバイススケジューラ900とセッション接続を開始する。そして、クライアントコンピュータ101〜103の情報を通知する接続要求コマンド、ジョブ/デバイス状態を通知してもらうためのイベント登録、デバイススケジューラ900がスケジュール管理するジョブの情報を取得するジョブリスト取得コマンドを発行する。
When receiving the print data, the job
デバイススケジューラ900は、接続要求を受け付けると、クライアント情報をクライアント管理キュー1001に登録し、イベントの登録を受け付けると該当するクライアント情報の登録イベントに設定する。ジョブリスト要求を受け付けると、ジョブ管理キュー1101に登録されているジョブ情報のリストを送信する。
When the
次に、クライアントコンピュータ101〜103が印刷を予約するためのスケジュール要求のコマンドを発行する。デバイススケジューラ900はスケジュール要求を受け付けると、ジョブ管理キュー1101にジョブ情報を登録する。ジョブ情報には、ドキュメント名等の情報を設定する。デバイススケジューラ900は、ネットワークプリンタ104、105が印刷データを受け付け可能になるとスケジュールアップを発行し、ジョブ制御プリントサービス605に対して印刷データの送信を開始するように促す。
Next, the
また、スケジュールアップを発行すると、ジョブ情報1102のジョブ状態をスケジュールアップ状態に更新する。
When the schedule up is issued, the job status of the
ジョブ制御プリントサービス605は、スケジュールアップを受け付けるとネットワークプリントサーバ520の印刷データを受け付けるプロトコルを制御するモジュール810(LPD/RAW)に対して印刷データの転送を開始し、転送が始まるとデバイススケジューラ900に対して転送開始の通知を行う。デバイススケジューラ900は、転送開始通知を受けると、ジョブ情報1102のジョブ状態を転送中の状態に更新する。
When the job
LPD/RAWが印刷データを受け付けるとプリンタコントローラ519にデータを転送し、プリンタコントローラ519で印刷が開始される。プリンタコントローラ519は、印刷が開始されるとジョブの状態をデバイススケジューラ900に通知する。デバイススケジューラ900は、クライアント情報の登録イベントの情報を基に、クライアントコンピュータ101〜103にジョブの印刷状態を通知する。
When the LPD / RAW receives print data, the data is transferred to the
また、ジョブ制御プリントサービス605は印刷データの転送が終了するとデバイススケジューラ900に対して、転送終了通知を送信する。デバイススケジューラ900は、転送終了通知を受けると、ジョブ情報1102のジョブ状態に転送済の状態に更新する。
The job
プリンタコントローラ519で印刷処理が終了すると、ジョブの状態として印刷完了の通知をデバイススケジューラ900に通知する。デバイススケジューラ900は、クライアント情報の登録イベントの情報を基に、クライアントコンピュータ101〜103にジョブの印刷完了の状態を通知する。
When the
ジョブ制御プリントサービス605は、上記通知により印刷が完了したことを確認すと、デバイスからの通知が必要なくなるので、デバイススケジューラ900からのイベント通知解除要求を発行する。イベント通知解除要求を受け付けた、デバイススケジューラ900は、クライアント情報の登録イベントにイベントを通知しない旨の情報を設定する。
When the job
その後、ジョブ制御プリントサービス605は、デバイススケジューラ900との接続を終了するための切断要求を発行し、セッションを終了する。
Thereafter, the job
デバイススケジューラ900は、切断要求を受け付けると、クライアント管理キュー1001から該当するクライアント情報を削除し、クライアントコンピュータ101〜103との処理を終了する。
When the
図13では、クライアントからのリクエストパケットを受信したときのデバイススケジューラの処理の流れについて説明する。ここでは、デバイススケジューラがリクエスト処理を実行可能な状態にあるかどうかによっての処理の違いについても説明する。 FIG. 13 illustrates a process flow of the device scheduler when a request packet from a client is received. Here, differences in processing depending on whether the device scheduler is in a state where request processing can be executed will also be described.
ステップS1301では、デバイススケジューラ900はクライアントコンピュータ101〜103からのリクエスト要求を受け付ける。ここでリクエスト要求とは、クライアントコンピュータからデバイススケジューラ900に送信される、スケジュール要求やキャンセル要求などすべての要求パケットのことを示す。
In step S1301, the
ステップS1302において、デバイススケジューラ900は、リクエスト受信が可能な状態かを判定し、受信可能な状態である場合には、ステップS1303に進む。受信可能な状態でない場合には、ステップS1304に進む。
In step S1302, the
ステップS1303では、ステップS1301において受け付けたスケジュール要求に対してリクエスト処理を実行し、終了する。 In step S1303, request processing is executed for the schedule request received in step S1301, and the process ends.
ステップ1302でリクエスト受信不可能状態であると判断された場合には、ステップS1304において、そのときにデバイススケジューラに接続しているクライアント数の算出を行う。さらにステップS1305においてクライアント数に対応したリトライ時間を算出する。クライアント数とリトライ間隔の対応については図22を用いて後述する。さらに、ステップS1306において、算出したリトライ間隔を含めたリクエストビジーコールバックをクライアントに対して返信し、処理を終了する。
If it is determined in
次に、図22を用いて、デバイススケジューラが受信不可能状態である場合に、接続しているクライアント数と、リトライ間隔の対応について説明する。 Next, the correspondence between the number of connected clients and the retry interval when the device scheduler is in an unreceivable state will be described with reference to FIG.
図22では、接続しているクライアント数に対応したリトライ間隔を示している。たとえば、接続クライアント数が、1から10までの間の場合には、リトライ間隔は1.5secとなり、11から20の場合には2.0secというように対応付けられている。このように、接続されているクライアントコンピュータ数を元に、リクエストビジーになったクライアントに対してリトライ間隔を通知する。 FIG. 22 shows the retry interval corresponding to the number of connected clients. For example, when the number of connected clients is between 1 and 10, the retry interval is 1.5 seconds, and when 11 to 20, the correspondence is 2.0 seconds. Thus, based on the number of connected client computers, the retry interval is notified to the request busy client.
図14では、デバイス管理からのジョブ状態通知イベントの受け付けからジョブ制御プリントサービス605からのジョブリスト要求の受け付けに対する、ジョブ管理部903の処理を示している。
FIG. 14 illustrates processing of the
ステップS1401では、通信接続管理部901やデバイス管理部904からの通知を受け付けると、デバイス管理部904からのジョブ状態通知であるか、ジョブリスト要求であるかを判断する。
In step S1401, when a notification from the communication
デバイス管理部904からのジョブ状態通知であれば、ステップS1402に処理を移行し、該当するジョブ情報1102のジョブ状態を更新する。更にステップS1403に処理を移行し、印刷完了の通知であるかを判断する。印刷完了でなければ処理をステップS1404に移行し、接続管理部にジョブの状態のイベントをクライアントコンピュータ101〜103に発行するように通知する。
If it is a job status notification from the
ステップS1403で、印刷完了の通知であれば、ステップS1405に処理を移行し、ジョブ管理キュー1101から該当するジョブを削除し、ステップS1406で、接続管理部にジョブの完了イベントをクライアントコンピュータ101〜103に発行するように通知し、処理をステップS1401に移行する。
If it is a print completion notification in step S1403, the process proceeds to step S1405 to delete the corresponding job from the
ステップS1409で、ジョブ制御プリントサービス605からのジョブリスト要求の受け付けると、ステップS1409において、ジョブ管理キュー1101に登録されたジョブ情報のリストを要求元のクライアントコンピュータ101〜103に送信するように接続管理部にジョブ情報リストを通知する。
When a job list request is received from the job
図15は、プリンタコントローラ519からのデバイス状態通知及びジョブ状態通知を、イベントハンドラを経由して受け付け、ジョブ管理部903や通信接続管理部901に通知するデバイス管理部904の処理について記載する。
FIG. 15 describes a process of the
ステップS1501では、デバイススケジューラ900が起動すると、デバイス管理部904がイベントハンドラを経由してプリンタコントローラ519に対して、デバイスの状態が変更した場合や、プリンタコントローラ519が処理する印刷ジョブの状態が変更したばあいにそれらの状態を通知するようにイベント登録の処理を行う。
In step S1501, when the
ステップS1502では、プリンタコントローラ519で発生したイベントをイベントハンドラ経由で受け付けるとジョブのイベントであるかデバイスのイベントであるかを判断する。ジョブのイベントであれば、ステップS1503でジョブ管理部903にジョブイベントを通知し、ステップS1502に処理を移行する。デバイスのイベントであれば、処理をステップS1504に移行し、デバイスの状態をデバイス管理部904で保持した後、ステップS1505で通信接続管理部901にデバイスイベントを通知し、処理をステップS1502に移行する。
In step S1502, when an event generated in the
図16は、クライアントコンピュータ101〜103からの要求や通知、デバイス管理部904からの通知、ジョブ管理部903への要求や通知を処理する通信接続管理部901の処理の流れについて記載する。
FIG. 16 describes a processing flow of the communication
ステップS1601では、クライアントコンピュータ101〜103やデバイス管理部904、ジョブ管理部903からの通知や要求を受け付け、どの通知や要求であるかを判断する。
In step S1601, notifications and requests from the
ステップS1601において受け付けた要求やイベントがクライアントコンピュータ101〜103からの接続要求であれば、ステップS1602に移行し、クライアント管理キュー1001に通信接続管理部901で発行したクライアントIDと、要求を発したクライアントコンピュータ101〜103のIPアドレスを設定し、クライアント管理キュー1001にクライアント情報を登録する。
If the request or event received in step S1601 is a connection request from the
ステップS1601において受け付けた要求やイベントがクライアントコンピュータ101〜103からのイベント登録であれば、ステップS1603に処理を移行し、該当するクライアント情報の登録イベントに通知するイベントの種類を設定する。イベントの種類には、ジョブの状態の変化を通知するジョブイベント、デバイスの状態の変化を通知するデバイスイベントがある。
If the request or event received in step S1601 is event registration from the
ステップS1601において受け付けた要求やイベントがデバイス管理部904からのデバイスイベントやジョブ管理部903からのジョブイベントであれば、ステップS1604において、これらのイベントを通知すべきクライアントコンピュータ101〜103を認識するために、クライアント管理キュー1001に登録された全てのクライアント情報から、クライアント情報の登録イベントの設定を参照し通知すべきかどうかを判断する。通知すべきであると判断した場合には、クライアントコンピュータ101〜103のIPアドレスを保持し、ステップS1705において通知すべき全てのクライアントコンピュータ101〜103に対してイベントを送信する。
If the request or event received in step S1601 is a device event from the
ステップS1601において受け付けた要求やイベントがクライアントコンピュータ101〜103からの切断要求であればステップS1606に処理を移行し、クライアント管理キュー1001から、該当するクライアントコンピュータ101〜103のクライアント情報を削除する。
If the request or event received in step S1601 is a disconnection request from the
図17は、ジョブ制御プリントサービス605が管理する印刷ジョブの情報と、複数のジョブの情報を管理するジョブ管理キューを表している。
FIG. 17 shows print job information managed by the job
1702は、自クライアントコンピュータで印刷したジョブの情報とデバイススケジューラ900にジョブイベントと登録すると通知される他のクライアントコンピュータの印刷ジョブのジョブ情報である。ジョブ情報1702には、印刷ジョブのドキュメント名、ジョブID、クライアントコンピュータで印刷を開始したユーザ名、ジョブのページ数、印刷ジョブの状況を表すジョブ状態、印刷データに含まれるジョブデータIDが含まれる。
ジョブ状態は、クライアントコンピュータ101〜103が印刷を開始してからジョブがプリンタから無くなるまでの状態を表しており、スプール中、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。
The job status represents the status from when the
ジョブデータIDは、印刷データに含まれるジョブのIDで、デバイススケジューラ900からのジョブイベントに設定される情報である。
The job data ID is an ID of a job included in the print data, and is information set in a job event from the
1701は、複数のジョブ情報1702を管理する管理キューであり、自クライアントコンピュータで印刷したジョブのジョブ情報とデバイススケジューラ900から通知される他クライアントコンピュータのジョブ情報が登録される。
図18は、ジョブ制御プリントサービス605が管理するプリンタキュー、出力ポートの情報を表している。
FIG. 18 shows information on printer queues and output ports managed by the job
1801は、ジョブ制御プリンタサービスが管理するそれぞれのプリンタキューの情報を表していて、プリンタ名などの情報が含まれている。
1802は、ジョブ制御プリンタサービスが管理するそれぞれの出力ポートの情報を表していて、印刷するデバイスのIPアドレスなどの情報が含まれている。
図19は、図12で示される印刷処理の流れで、クライアントコンピュータ101〜103のジョブ制御プリントサービス605が印刷データを受け付けてから、印刷データを転送するまでの流れを示している。
FIG. 19 shows the flow of the printing process shown in FIG. 12 from when the job
ステップS1901では、ジョブ制御ポートモニタから印刷ジョブを受け付けるか、デバイススケジューラ900から印刷データの転送の開始を指示するスケジュールアップのコマンドを受け付けるか判断する。ジョブ制御ポートモニタから印刷ジョブを受け付けるステップS1902に処理を移行し、スケジュールアップのコマンドを受け付けるとステップS1906に処理を移行する。
In step S1901, it is determined whether a print job is received from the job control port monitor or a schedule up command for instructing start of print data transfer is received from the
ステップS1902では、受け付けた印刷ジョブの情報をジョブ情報1702に設定し、ジョブ管理キュー1701に登録する。
In step S1902, the received print job information is set in the
ジョブ情報1702に設定する情報は、プリントシステムから取得したり、印刷データを解析して取得したりすることができる。
Information set in the
次に、ステップS1903では、デバイススケジューラ900に接続し、接続要求コマンドを発行する。クライアントコンピュータ101〜103が接続要求を発行すると、クライアントコンピュータ101〜103の情報がデバイススケジューラ900のクライアント管理キュー1001に登録され、以降、クライアントコンピュータ101〜103とデバイススケジューラ900間で情報のやり取りを行うことができる。
Next, in step S1903, connection is made to the
ステップS1904では、デバイススケジューラ900に対して、ジョブイベント、デバイスイベントを登録する。ジョブイベントを登録すると、自クライアントコンピュータが印刷したジョブや、他のクライアントコンピュータが印刷したジョブの状態の変化の通知がデバイススケジューラ900より通知されることになる。また、デバイスイベントを登録すると、ネットワークプリンタ104、105の状態の変化を通知されるようになる。
In step S1904, a job event and a device event are registered in the
ステップS1905では、デバイススケジューラ900で管理しているジョブ管理キュー1101に登録されているジョブのリストを取得する。このジョブリストとジョブイベントにより、デバイススケジューラ900が管理するジョブの印刷状況を把握することが可能となる。
In step S1905, a list of jobs registered in the
以上の処理により、印刷する準備が整い、ステップS1906において印刷するジョブの登録をデバイススケジューラ900に登録し、ステップS1901で次の指示まで待機する。
With the above processing, preparation for printing is completed, registration of a job to be printed is registered in the
ステップS1901において、デバイススケジューラ900から印刷データの転送指示であるスケジュールアップのコマンドを受け付けると、ステップS1907に処理を移行する。ステップS1907では、印刷指示を受けたジョブの転送を開始しする。
In step S1901, when a schedule up command, which is a print data transfer instruction, is received from the
印刷データの送信が開始されるとステップS1908において、デバイススケジューラ900に転送が開始されたことを通知するために、転送開始状態を通知する。
When transmission of print data is started, a transfer start state is notified in step S1908 to notify the
ステップS1909で印刷データの転送が終了するとステップS1910においてデバイススケジューラ900に転送が終了したことを通知する。
When the transfer of the print data is completed in step S1909, the
図20は、デバイススケジューラ900からの通知やコマンドを受け付けた場合のジョブ制御プリントサービス605の処理の流れについて説明している。
FIG. 20 illustrates a processing flow of the job
ステップS2001では、デバイススケジューラ900からジョブイベントの通知または、ジョブリストが返送されてくるかを判断しており、ジョブイベントが来ると、ステップS2002に処理を移行し、ジョブリストが来るとステップS2008に処理を移行する。
In step S2001, it is determined whether a job event notification or a job list is returned from the
ステップS2008では、ジョブリストが返送されてくるとジョブ制御プリントサービス605が管理するジョブ管理キュー1701にジョブリストから得られたジョブ情報を設定する。
In step S2008, when the job list is returned, the job information obtained from the job list is set in the
ステップS2002では、デバイススケジューラ900から通知されたジョブイベント通知の内、ジョブ完了通知であるか、ジョブ状態変更通知であるかを判断し、ジョブ状態変更通知であれば、ステップS2009において、該当するジョブ情報のジョブ状態を更新する。
In step S2002, it is determined whether the job event notification notified from the
ステップS2002において、受け付けたイベント通知がジョブ完了通知であれば、ステップS2003において、該当するジョブ情報を、ジョブ管理キュー1701から削除する。
If the received event notification is a job completion notification in step S2002, the corresponding job information is deleted from the
ステップS2004では、ジョブ管理キュー1701に、印刷が終了していない自クライアントコンピュータのジョブが残されているかを確認し、残されていれば、まだデバイススケジューラ900とのやり取りが必要であるため、デバイススケジューラ900との接続を継続するために、ステップS2001に処理を移行する。
In step S2004, it is checked whether a job of the client computer that has not finished printing remains in the
ステップS2004で、自クライアントコンピュータのジョブがなければ、ステップS2005に処理を移行し、デバイススケジューラ900との接続を終了するための処理を開始する。
If there is no job of the own client computer in step S2004, the process proceeds to step S2005, and a process for terminating the connection with the
ステップS2005では、接続を開始したときにデバイススケジューラ900に登録したジョブイベント、デバイスイベントの登録解除を依頼する。デバイススケジューラ900は、この依頼によりクライアント情報のイベント登録の内容を削除する。このイベント登録の情報がなければ、デバイススケジューラ900が管理するジョブの状態が変化されてもイベントが通知されてくることはない。
In step S2005, a request is made to cancel registration of the job event and device event registered in the
次にステップS2006において、デバイススケジューラ900に対して切断の要求を発行する。デバイススケジューラ900が切断要求を受け付けると、クライアント管理キュー1001から該当するクライアント情報を削除する。
In step S2006, a disconnection request is issued to the
ステップS2007では、デバイススケジューラ900とのセッションを切断する処理を行い、処理をステップS2001で待機する。
In step S2007, a process for disconnecting the session with the
このように、クライアントコンピュータからリクエストを受信した場合、リクエスト受信可能状態かどうかを判断し、リクエストに対してリクエストビジーを返信し、返信パケットにリトライ間隔を指定することで、クライアントからのリトライ(再送)によりリクエストが増大する悪循環を防ぐことが可能になる。 In this way, when a request is received from a client computer, it is determined whether the request can be received, a request busy is returned in response to the request, and a retry interval (retransmission) is specified by specifying a retry interval in the reply packet. ) Can prevent a vicious circle in which requests increase.
なお、本実施形態では、ネットワークカードを着脱可能なネットワークプリンタについて説明したが、本発明はこれに限定されるものではなく、ネットワークカードの機能を実装したネットワークプリンタにも適用可能である。 In the present embodiment, the network printer to which the network card can be attached and detached has been described. However, the present invention is not limited to this, and can be applied to a network printer in which the function of the network card is installed.
(第2実施形態)
次に本発明の第2実施形態について説明する。上述した第1実施形態に、さらに、リクエストビジーのレスポンスを返信するクライアント数が複数になった場合の処理について説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described. In the first embodiment described above, a process when the number of clients to which a request busy response is returned becomes plural will be described.
図21は、クライアントからのリクエストパケットを受信したときのデバイススケジューラの処理の流れについて説明する。ここでは、リクエストビジーパケットを返信しているクライアントの数が複数になった場合の処理について説明する。 FIG. 21 describes the process flow of the device scheduler when a request packet from a client is received. Here, a process when the number of clients returning a request busy packet becomes plural will be described.
ステップS2101では、デバイススケジューラ900はクライアントコンピュータ101〜103からのリクエスト要求を受け付ける。ここでリクエスト要求とは、クライアントコンピュータからデバイススケジューラ900に送信される、スケジュール要求やキャンセル要求などすべての要求パケットのことを示す。
In step S2101, the
ステップS2102において、リクエスト受信が可能な状態かを判定し、受信可能な状態である場合には、ステップS2103に進む。受信可能な状態でない場合には、ステップS2105に進む。 In step S2102, it is determined whether the request can be received. If the request can be received, the process proceeds to step S2103. If not, the process proceeds to step S2105.
ステップS2103では、ビジーレスポンスを返信しているクライアント数を初期化(0設定)し、ステップS2104に進み、受信したリクエストの処理を実行して、処理を終了する。 In step S2103, the number of clients returning a busy response is initialized (set to 0), the process proceeds to step S2104, the received request is processed, and the process ends.
ステップS2105では、ビジーレスポンスを返信しているクライアント数を1増やし(BusyClientNum++)、ステップS2106において、そのときにデバイススケジューラに接続しているクライアント数の算出を行う。さらにステップS2107においてクライアント数に対応したリトライ時間を算出する。さらに、ステップS2108において、算出したリトライ間隔にビジーレスポンスを返信して要るクライアント数(BusyClientNum)を乗算し、ステップS2109において、ステップS2108で求めた値を含めたリクエストビジーコールバックをクライアントに対して返信し、処理を終了する。 In step S2105, the number of clients returning a busy response is incremented by 1 (BusyClientNum ++), and in step S2106, the number of clients connected to the device scheduler at that time is calculated. In step S2107, a retry time corresponding to the number of clients is calculated. In step S2108, the calculated retry interval is multiplied by the number of clients (BusyClientNum) required by returning a busy response. In step S2109, a request busy callback including the value obtained in step S2108 is sent to the client. Reply and finish the process.
このように、クライアントコンピュータからリクエストを受信した場合、リクエスト受信可能状態かどうかを判断し、リクエストに対してリクエストビジーを返信し、返信パケットにリトライ間隔を指定することで、クライアントからのリトライ(再送)によりリクエストが増大する悪循環を防ぐことが可能になる。さらには、ビジーリクエストを返信しているクライアント数に応じて、リトライ間隔を乗算することで、より状況に適したリトライ間隔を指定することが可能となる。 In this way, when a request is received from a client computer, it is determined whether the request can be received, a request busy is returned in response to the request, and a retry interval (retransmission) is specified by specifying a retry interval in the reply packet. ) Can prevent a vicious circle in which requests increase. Furthermore, it is possible to specify a retry interval more suitable for the situation by multiplying the retry interval in accordance with the number of clients returning a busy request.
Claims (2)
クライアントからの印刷要求を受信する受信手段と、
印刷要求にしたがって、印刷ジョブの登録管理を行う管理手段と、
クライアントからのリクエスト要求を受信するリクエスト受信手段と、
リクエスト受信時にリクエスト処理不能状態である場合にはその旨をクライアントに返信する返信手段と、
リクエスト処理不能状態である際に、接続されているクライアント数を算出する算出手段と、
接続されているクライアント数からリトライ時間を算出する手段と、
前記返信手段において、前記リトライ時間算出手段で算出されたリトライ時間を含む返信パケットを送信する手段と
を有することを特徴とする印刷装置および印刷制御システム。 In an intelligent network card module equipped with a CPU separate from the control module of the printing apparatus that can be mounted on the printing apparatus, in a print control system that receives a print request from a client and performs order control,
Receiving means for receiving a print request from a client;
Management means for managing the registration of print jobs in accordance with the print request;
A request receiving means for receiving a request from a client;
If the request cannot be processed at the time of receiving the request, a reply means for returning that to the client,
A calculation means for calculating the number of connected clients when the request cannot be processed;
Means for calculating the retry time from the number of connected clients;
A printing apparatus and a print control system, characterized in that the reply means includes means for transmitting a reply packet including the retry time calculated by the retry time calculation means.
を有することを特徴とする印刷装置および印刷制御システム。 The print control system according to claim 1, further comprising: a storage unit that stores the number of clients notifying that request processing is not possible when the request processing is impossible; and the retry time is multiplied by the number of clients. A printing apparatus and a printing control system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004358305A JP2006164156A (en) | 2004-12-10 | 2004-12-10 | Printer, network connecting device, print control method, and print control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004358305A JP2006164156A (en) | 2004-12-10 | 2004-12-10 | Printer, network connecting device, print control method, and print control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006164156A true JP2006164156A (en) | 2006-06-22 |
Family
ID=36666078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004358305A Withdrawn JP2006164156A (en) | 2004-12-10 | 2004-12-10 | Printer, network connecting device, print control method, and print control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006164156A (en) |
-
2004
- 2004-12-10 JP JP2004358305A patent/JP2006164156A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101637894B1 (en) | Pull-print system, print job management method, print server, control method therefor and computer-readable medium | |
JP4827615B2 (en) | Information processing apparatus, printing system, monitoring method, program, and storage medium | |
US7583400B2 (en) | Print controlling method and apparatus that prevents transmission of print data from clients until a predetermined time that is scheduled based on when the client registers with the managing section | |
US9274736B2 (en) | Information processing apparatus, output system, information processing method, and recording medium storing information processing program | |
JP5791390B2 (en) | Printing system, print server, printing management method, and program | |
JP4125044B2 (en) | Information processing apparatus, information processing apparatus control method, program, and storage medium | |
JP2011232893A (en) | Print data creation server, printing apparatus, and printing system | |
JP3833213B2 (en) | Information processing apparatus, printing system, load distribution printing method, program, and storage medium | |
JP2005174210A (en) | Information processor, printing system, load distribution printing method, and control program | |
US8072628B2 (en) | Printing apparatus, network device, printing control method, and printing control program capable of transmitting print image data to printing hardware prior to registration of print job | |
JP2008059372A (en) | Printing controller and its method | |
JP2014172394A (en) | Printer, program and printing system | |
JP2009151467A (en) | Distribution printing system | |
JP2008097226A (en) | Information processing device and method | |
JP2003316545A (en) | Information processor and information processing method | |
JP2009037488A (en) | Method for controlling print job, its print system, information processor, and printer | |
JP2021192190A (en) | Printing system | |
JP2007233555A (en) | Print control program, device, and method | |
JP2008107921A (en) | Pull print server and its control method | |
JP2006164156A (en) | Printer, network connecting device, print control method, and print control program | |
JP2007025970A (en) | Pull print system | |
JP2006164155A (en) | Printer, network connecting device, print control method, and print control program | |
JP2005329620A (en) | Image forming apparatus, method for controlling image forming apparatus, program, storing medium and image forming system | |
JP4401640B2 (en) | Printer management method, information processing apparatus, program, and storage medium | |
JP2007004680A (en) | Printing control device, printing control method and printing control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080304 |