JP4164479B2 - 印刷制御プログラム、及び、処理方法、及び、記憶媒体、及び、情報処理装置、並びに、印刷システム - Google Patents

印刷制御プログラム、及び、処理方法、及び、記憶媒体、及び、情報処理装置、並びに、印刷システム Download PDF

Info

Publication number
JP4164479B2
JP4164479B2 JP2004221837A JP2004221837A JP4164479B2 JP 4164479 B2 JP4164479 B2 JP 4164479B2 JP 2004221837 A JP2004221837 A JP 2004221837A JP 2004221837 A JP2004221837 A JP 2004221837A JP 4164479 B2 JP4164479 B2 JP 4164479B2
Authority
JP
Japan
Prior art keywords
request
load
print control
information processing
print
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004221837A
Other languages
English (en)
Other versions
JP2006040124A (ja
Inventor
中克 黒津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004221837A priority Critical patent/JP4164479B2/ja
Priority to US11/190,917 priority patent/US7808661B2/en
Publication of JP2006040124A publication Critical patent/JP2006040124A/ja
Application granted granted Critical
Publication of JP4164479B2 publication Critical patent/JP4164479B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1267Job repository, e.g. non-scheduled jobs, delay printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1214Improving printing performance achieving reduced delay between job submission and print start at the submitting node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、印刷システムにおいて利用されるプリントサーバの負荷を、クライアントの印刷システムの一定の使い勝手を維持可能にしたまま、軽減することのできる仕組みに関する。
従来から知られている印刷システムにおいてプリントサーバが利用される形態が一般的に行なわれている。そして、印刷システムの安定化のためにも、プリントサーバの負荷を軽減することが望まれる。そして、プリントサーバの処理負荷を軽減する技術として特許文献1が知られている。
この特許文献1には、プリントサーバとクライアントコンピュータ(クライアントと呼ぶ)からなる印刷システムにおいて、プリントサーバによってクライアントからの要求の数をカウントし、要求の数を所定の制限数にし、該制限数を超えていれば要求を受付けれない旨をクライアントに通知し、サーバの処理負荷を抑制することが開示されている。
特開2002−351629号
しかしながら特許文献1によれば、印刷システムにおいて、プリントサーバ側でクライアントからの要求を受付けるか否かを判定しているので、あるクライアントが多数の要求を発行した場合に、他のクライアントがプリントサーバを利用できなくなるという問題がある。
また、特許文献1の仕組みにより、クライアントからの要求を拒絶するにしても、クライアント数が多くなり要求が増えるに従い、プリントサーバの拒絶の処理による負荷が増大してしまい、結果として、プリントサーバに、本来の目的とではない処理に多くの負荷をかけてしまうという問題点があった。
また、プリントサーバに高付加価値な各種機能が盛り込まれることによって、クライアントから様々な種類の処理要求が想定されるようになり、プリントサーバの負荷を適切に軽減する必要性が一層でてきた。
特許文献1のように、単にプリントサーバ側で変化する要求数を監視し該要求数を新たな要求を受付けるか否かのパラメータにする場合では、同じ10個の要求の総負荷を計算しても、その要求の種類によってプリントサーバの処理負荷に大きな差異が生じ、決して適切な負荷評価ではないという問題がある。
そして、上述のような問題点の結果、プリントサーバの動作が不安定になり、信頼性の低い印刷システムになってしまうという問題点がある。
本発明の印刷制御プログラムは、印刷制御装置へ複数種類の処理の要求を発行する情報処理装置において実行される印刷制御プログラムであって、情報処理装置から印刷制御装置に発行され且つ前記印刷制御装置が応答していない要求の各々の負荷を認識する負荷認識ステップと、前記負荷認識ステップにおいて認識された前記要求の各々の負荷に基づき、前記印刷制御装置の総負荷を計算する計算ステップと、前記計算ステップにおいて計算された総負荷に基づいて情報処理装置からの要求の発行を抑制する抑制ステップとを有することを特徴とする。
本発明の処理方法は、印刷制御装置へ複数種類の処理の要求を発行する情報処理装置における処理方法であって、情報処理装置から発行され且つ前記印刷制御装置が応答していない要求の各々の負荷を認識する負荷認識ステップと、前記負荷認識ステップにおいて認識された前記要求の各々の負荷に基づき、前記印刷制御装置の総負荷を計算する計算ステップと、前記計算ステップにおいて計算された総負荷に基づいて情報処理装置からの要求の発行を抑制する抑制ステップとを有することを特徴とする。
本発明の情報処理装置は、印刷制御装置へ複数種類の処理の要求を発行する発行手段を備えた情報処理装置であって、情報処理装置から発行され且つ前記印刷制御装置が応答していない要求の各々の負荷を認識する負荷認識手段と、前記負荷認識手段において認識された前記要求の各々の負荷に基づき、前記印刷制御装置の総負荷を計算する計算手段と、前記計算手段により計算された総負荷に基づいて情報処理装置からの要求の発行を抑制する抑制手段とを有することを特徴とする。
本発明の印刷システムは、印刷制御装置と、該印刷制御装置へ複数種類の処理の要求を発行する情報処理装置とからなる印刷システムであって、情報処理装置から発行され且つ前記印刷制御装置が応答していない要求の各々の負荷を認識する負荷認識手段と、前記負荷認識手段において認識された前記要求の各々の負荷に基づき、前記印刷制御装置の総負荷を計算する計算手段と、前記計算手段により計算された総負荷に基づいて情報処理装置からの要求の発行を抑制する抑制手段とを有することを特徴とする。
或いは、情報処理装置より印刷制御装置に発行された複数の要求で前記印刷制御装置から未応答の数の要求の個々の負荷を認識し、該認識された前記個々の負荷に基づき複数の要求負荷を計算する仕組みを提供する。
本発明によって、
情報処理装置と通信可能な印刷制御装置の負荷を適切な評価で抑えつつ、且つ、ユーザの印刷に係る使い勝手の一定のレベルを確保でき、且つ、信頼性高い印刷システムを構築することができる。
(実施例1)
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
図1は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、1台、または複数台接続されていることを仮定している。
図1において、102、103、104はクライアントコンピュータ(クライアント)としての情報処理装置であり、イーサネット(登録商標)などのネットワークケーブルによって、ネットワーク106に接続される。クライアント装置102〜104の各々は、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。101は本実施形態のサーバ(以下、プリントサーバと呼ぶ)であり、ネットワークケーブルによって、ネットワーク106に接続される。プリントサーバ101は、ネットワークプリンタ105に送出する印刷用データを蓄積したり、ネットワーク106の使用状態を監視したり、ネットワーク106に接続されている複数のプリンタを管理したり、後述の図6において説明するように印刷ジョブのスケジューリング処理を行なったり、印刷制御装置として機能する。
なお、クライアント102〜104とプリントサーバ101は、一般的な情報処理装置にそれぞれ異なる制御を行う印刷制御プログラムを実行可能に格納することにより構成することができる。
また、プリントサーバ101として一般的な情報処理装置を用いた場合、クライアント102〜104の機能を同時に持たせることもできる。本実施形態におけるプリントサーバ101は、さらにクライアント102、103、104から出力された印字データを含む印刷ジョブを格納してプリンタに印刷させたり、または、クライアント102、103、104から印字データを含まない印刷ジョブを受け取り、クライアント102、103、104の印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知したり、ネットワークプリンタ105のステータスや印刷ジョブの各種情報を取得し、クライアント102、103、104に通知したりする印刷制御装置としての機能を揃えている。
105はネットワークプリンタであり、不図示のネットワークインタフェースを介してネットワーク106と接続されている。ネットワークプリンタ105は、クライアントコンピュータ102〜104から送信される印字データを含む印刷ジョブを解析して1ページずつドットイメージに変換して、1ページ毎に印刷する。またネットワークプリンタ105は、ISO10175(DPA:Document Printing Application)で規定されている印刷ジョブの管理機能をプリントサーバ101或いはクライアント102〜104へ提供する事が可能である。
また、プリントサーバ101で実施される機能或いはその一部のサーバ機能を、ネットワークプリンタ105或いはそのネットワークインタフェースカード上に持たせる構成としても良い。つまり、以下に説明するプリントサーバ101とは、特に図1のようなネットワークプリンタ105とは別体形態に限定されるものではなく、ネットワークプリンタ105の一部(ネットワークインタフェースカード)であっても良い。
106はネットワークであり、クライント102、103、104、サーバ101、ネットワークプリンタ105等を接続するものであり、無線でも優先でも良い。
また、図中ではネットワークプリンタ105は1台しか示されていないが実際には複数台のネットワークプリンタが接続されていてもよい。更に、このネットワークプリンタ105は、後述するデバイス614に相当するものであるが、このデバイス614には、電子写真方式のレーザービームプリンタ/複写機/デジタル複合機/ファクシミリや、インクジェット方式のプリンタ/デジタル複合機など様々な記録方式の画像形成装置が適用されることはいうまでもない。
図2は、本実施形態のクライアント102〜104及びプリントサーバ101として利用可能な情報処理装置の構成を説明するブロック図である。上述したように、クライント102、103、104及びプリントサーバ101は同様のハードウェア構成を有した情報処理装置によって実現可能である。以下、図2をクライアントとサーバの構成を説明するブロック図として説明する。
図2において、200は情報処理装置の制御手段であるCPUであり、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや本発明のネットワークプリンタ制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
201はROMであり、内部には、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。202は一時記憶手段を提供するRAMであり、CPU200の主メモリ、ワークエリア等として機能する。203はフレキシブルディスク(FD)ドライブであり、後述する図5に示すようにFDドライブ203を通じて記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータシステムにロードすることができる。204は記憶媒体としてのフレキシブルディスク(FD)であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。なお、記憶媒体としては、FDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意の媒体を利用できる。
205は外部記憶装置の一つであり、大容量メモリとして機能するハードディスク(HD)である。HD205には、アプリケーションプログラム、プリンタドライバプログラム、OS、ネットワークプリンタ制御プログラム、関連プログラム等が格納されている。また、スプール手段であるスプーラはこのHD205に確保される。なお、スプール手段は、クライアント102〜104ではクライアントスプーラのことであり、プリントサーバ101ではサーバスプーラのことである。また、プリントサーバ101では、クライアント102〜104から受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶装置(HD205)に生成されて格納される。
206は指示入力を行なうためのキーボードである。キーボード206を用いることにより、ユーザがクライアントコンピュータに対して、或いは、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示する。なお、指示入力を行なうためにポインティングデバイス(不図示)を備えてもよい。
207はディスプレイであり、キーボード206から入力したコマンドや、プリンタの状態等を表示したりする。208はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司る。209はインタフェースであり、該インタフェース209を介して情報処理装置はネットワーク106と接続され、外部装置とのデータのやり取りを行うことが可能となる。
図3は、図2に示したRAM202のメモリマップの一例を示す図である。図3には、FD204に格納されている上記ネットワークプリンタ制御プログラムがRAM202にロードされ、実行可能となった状態のメモリマップが示されている。
本実施形態では、FD204からネットワークプリンタ制御プログラムおよび関連データを直接RAM202にロードして実行させる例を示すが、これ以外にも、FD204からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているHD205からRAM202にロードするようにしてもよい。また、本ネットワークプリンタ制御プログラムを記憶する媒体は、FD以外にCD−ROM、CD−R、PCカード、DVD、ICメモリカード等であってもよい。さらに、本ネットワークプリンタ制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアント102〜104において印刷ジョブの印刷先の変更を指示したり、印刷順序の変更を指示するための制御を行うプログラムを含む。また、印刷制御プログラムは、プリントサーバ101において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本実施形態の印刷制御プログラムは、クライアント102〜104にインストールされるモジュールと、プリントサーバ101にインストールされるモジュールを別々に分けてもよい。或いは、一つの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成をとることも可能である。
図3において、301は基本I/Oプログラムであり、本制御装置の電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムが入っている領域である。302はオペレーティングシステム(OS)、303はネットワークプリンタ制御プログラムであり、それぞれRAM202上に確保された領域に記憶される。304は関連データで、RAM202上に確保される領域に記憶される。305はワークエリアで、CPU200が本実施形態のプリンタ制御プログラム(303)等を実行する際に利用される作業領域が確保されている。
図4は、図2に示したFD204のメモリマップの一例を示す図である。図4において、400は上記FD204のデータ内容であり、401はデータの情報を示すボリューム情報であり、402はディレクトリ情報、403は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、404はその関連データである。403のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアント、サーバ共、同様の構成をとっている。
図5は、図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図であり、図2と同一のものには同一の符号を付してある。図5において、FD204には、図4で説明したように本実施形態で説明するネットワークプリンタ印刷制御プログラムおよび関連データが格納されている。
次に上に述べてきた各構成に基づき動作する印刷制御処理についての説明を行う。
次に、本プリントシステムのクライアントのネットワークプリンタ105へ印刷ジョブを送出するためのソフトウェア構成の一例について説明する。図6(a)は、クライアント102〜104におけるソフトウェア構成の一例を示す図である。夫々の構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、図2のCPU200によって実行され、所望の機能を実現する。
通常、Microsoft Word(登録商標)などの一般的なアプリケーションプログラム651は印刷の指示を受け付けると、一連の描画コマンドをOSを介して生成する。OSを介して生成された描画コマンドを受け取ったPDLドライバ652は、生成した印刷ジョブを一連の描画コマンドに基づいてネットワークプリンタ105で解釈可能なPDLファイルを含む印刷ジョブを生成する。なお、以下の説明ではPDLドライバを例に説明を行うが、これに限定されるものではなく、例えば、BDL(Band description Language)や、圧縮ビットマップを作成するプリンタドライバ、或いは、アプリケーション及びOSによりプリンタドライバを介さずに印刷データを生成する形態などにも適用可能であることはいうまでもない。
PDLドライバ652は、プリントデバイスへ印刷ジョブを送信するためにスプーラ653に渡す。
ここではOSをWindows(登録商標)と仮定しているのでスプーラ653はウィンドウズ(登録商標)スプーラである。ただし、本発明を適用するコンピュータのOSはWindows(登録商標)に限定されるものではなく、描画命令を備えるものであれば他のOSも適用可能であることは言うまでもない。
スプーラ653は、ユーザがユーザインタフェースを介して選択し指示したポートモニタ654に印刷ジョブを渡して、ネットワークプリンタ105等のプリントデバイスに送信させる手順をとる(矢印a)。
ここでは、ユーザはあらかじめジョブ制御プリントサービス655に印刷データを転送するよう設定されたポートモニタ654(以降、ジョブ制御ポートモニタと略記)を指定して印刷を指示したものとして説明を進める。
また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ654に送信される。ジョブ制御ポートモニタ654はプリントサービス655(以降、ジョブ制御プリントサービスと称する)に送信する(矢印b)。
ジョブ制御プリントサービス655は、転送された印刷ジョブ及びデバイスの状態を管理する機能を備える。また、プリントデバイスから通知されるデバイス状態やジョブの状態などの情報を管理したり、また、プリントデバイスに対して所定の命令をする機能も備える。これは、ネットワークプリンタ105を含む不図示の複数のネットワークプリンタのデバイス情報やジョブ情報を管理する機能に相当する。
そして、印刷データをネットワークプリンタ105に送信する前に、ネットワークプリンタ105が持つ印刷ジョブの順序管理機能に印刷の要求を発行し(矢印c)、順序管理機能に基づき順番が到来した場合には、印刷制御装置(ネットワークプリンタ105或いはプリントサーバ101)からの印刷指示(矢印d)により、ネットワークプリンタ105に印刷データを送信する(矢印e)。
ネットワークプリンタ105は、印刷データの完了を確認すると印刷完了の通知をジョブ制御プリントサービス655に通知(矢印f)したり、また、ネットワークプリンタ105の状態を通知する(矢印f)。
プリントマネージャ657は、ユーザが、ジョブ制御プリントサービス655内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。プリントマネージャ657は、ジョブ制御プリントサービス655のソフトウェアのインタフェース(API:Application Program Interface)を介して、ジョブ制御プリントサービス655と情報・指示をやり取りしている。
そして、主に、ジョブ制御プリントサービス655が管理するネットワークプリンタ105の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー/警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。ここでのジョブ制御プリントサービス655はネットワークを介して通信可能な各デバイス(印刷装置)の印刷実行中、電力制御状態、障害情報(紙ジャム)等のステータスの通知を受け付ける機能を備える。
図6の(b)は本発明を適用した情報処理装置上の制御プログラム303及び、関連データ304の論理構造を示すブロック図であり、上に説明した図6の(a)のジョブ制御プリントサービス655の機能の一部を示す図に相当する。
図6の(b)において、601は要求管理部であり、サーバへ送信すべき要求と、サーバへ送信し応答を待っている要求を後述する図10の管理情報を用いて識別可能に管理している。602は要求負荷取得部であり、要求管理部601からの指示に従い、個々の要求に応じた負荷を決定する機能を有する。
620は要求負荷テーブルであり、個々の要求に応じた負荷を決定するためのデータを提供する。要求負荷取得部602が要求負荷テーブル620を用いて要求に応じた負荷値を決定(認識)する方法については、図8を用いて後述する。
603は要求送信部である。実際にはOSのソケットライブラリーが呼び出されて、その後、ネットワークカードなどの通信制御部から要求のデータが送信される。本何れの実施例においても要求の送信とは、要求を送信させるよう上記ソケットライブラリーや通信制御部に送信を行なわせる処理を指すものとする。
また、本発明の実施例においては、サーバへ送信し応答を待っている要求のリストを送信済み要求情報640(図11を用いて後述)として管理し、これら要求の数或いはその総負荷と、送信閾値情報630に保存されている閾値及びその適用条件(図9を用いて後述)に応じてサーバへの送信を停止即ち抑制するか、或いは、抑制されていた要求の送信再開を行う機能を有している。詳細については、図16から図19を用いて後述する。
尚、以下では抑制処理のことを停止の言葉を用いて説明する。この停止とは送信しようとした場合に送信を行なわない概念、送信自体を初めから行なわないようにする概念など、結果として要求が送信されないようにする様々な処理を含む。604は応答受信部であり、サーバからの応答或いはイベント通知を受信し、送信済み要求情報640を更新し、要求管理部601へ受信したデータをディスパッチする機能を有する。これについては図18及び図19を用いて後述する。
図7は、本発明の情報処理システムにおいいてクライアント102〜104及びプリントサーバ101或いはネットワークプリンタ105の間でやり取りされるメッセージの形式の一例を説明したものであり、要求を具体的に示したものである。
図においてsize701はメッセージ全体のサイズを定義する。magic number702は、誤ってメッセージを受信した際などにサービスを識別するために利用される。type703は、メッセージのタイプを規定する。本発明の実施例においては、少なくとも、「要求」、「応答」、の2種類があればよく、「イベント」や、その他のタイプを追加しても良い。
ここで、「要求」とはクライアントからプリントサーバへ処理を依頼するメッセージであり、「応答」とは、前記要求に応じてプリントサーバが処理をした結果を返すメッセージである。
「イベント」とは、プリントサーバからクライアントへ、プリントサーバで管理している情報の変更を非同期に通知するためのメッセージである。requestID704は、各クライアントから発せられる全ての要求において各々識別可能に設定されるIDであり、「応答」或いは「イベント」受信時に、対応する「要求」と一致させるために利用される。
api705は、ネットワークプリンタ105に対するステータス応答要求などの、具体的な処理の内容(コマンド)を示す識別子であり、この番号に応じて実行する処理は事前にクライアントとプリントサーバの間で合意がされているものとする。parameter706は処理の内容(コマンド)に応じた引数や応答されたデータを格納する領域であり、api毎に書式が規定され、メッセージ毎にその内容は異なる。
図8は、本発明を適用する情報処理システムにおける要求負荷テーブル620の一例を示す図であり、負荷総数(総負荷とも呼ぶ)を計算する上で、複数の要求の個々の負荷を認識するために用いられる。本テーブルは、後述のプログラム初期化処理(図12〜図14)において、ハードディスク205からRAM202に読み込まれる。本発明における要求負荷テーブル620はapi(コマンド)毎に負荷の値を定義する事が可能であり、また、全体としてのデフォルト値を設定する事ができる。
図8によれば、デフォルトが1ポイントであり、イベントの要求の予約を指示するSubscribeEvent api(番号1)801が2ポイントと定義されている。複数のジョブの状態及び属性を個々に又はまとめて取得するListJobs api(番号3)803は負荷が高いため10ポイント、イベントの要求をキャンセルまたは停止するUnsubscribeEvent api(番号2)802は0ポイントと定義されている。UnsubscribeEvent api(番号2)802を処理する事によりプリントサーバ側でイベントを通知する必要が無くなる効果があるため、要求の負荷は0ポイントとして定義されている。また、プリントサーバ側の要求に対する応答処理が減るので、UnsubscribeEvent api(番号2)802のキャンセル対象となる要求が行なわれる場合に認識される負荷の大きさにマイナス1を乗じた値をUnsubscribeEvent api(番号2)802に対する負荷の大きさとしても良い。
要求負荷取得部602では、要求管理部601からapi番号を引数とした負荷取得要求を受けると、図8に定義されたテーブルを検索及び認識し、一致するapi番号が存在すれば、その負荷値を応答し、一致した番号が存在しなければデフォルトで定義された1ポイントを応答するものとする。
この図8の機能(構成)を備えることにより、要求数のみから、クライアントからの要求を受けつけるか否かをプリントサーバ側で判定する形態に較べて、クライアント側で個々の要求の負荷を加味し、発行された複数の要求の総負荷を計算するので、適切な要求に対する負荷評価を行なうことができる。
例えば、印刷ジョブの完了通知イベントの登録と、印刷装置で管理されている複数の印刷ジョブのリスト要求とでは、プリントサーバの負荷が大幅に異なるが、このような場合に負荷を適切に評価できる。
図9は、送信閾値情報630の一例を示す図である。本テーブルは後述のプログラム初期化処理(図12〜図13)において、ハードディスク205からRAM202に読み込まれる。
本発明における送信閾値情報は、送信を可能とする要求数631、送信可能負荷の閾値632及びその適用方法633が指定可能である。これらの値は図14で説明する要求送信処理において参照される。なお、送信可能要求数631及び、送信可能負荷の閾値632にそれぞれ0が指定された場合には、それぞれの値は適用されない。つまり、送信可能要求数、送信可能負荷の閾値632に0Requestが指定された場合、送信済み要求数による送信制御は行われず、負荷値による制御のみが実施される。
また、送信可能負荷の閾値の適用方法には、送信済みの各要求負荷を合計した負荷総数が「閾値を超えないように停止」する方法と「閾値以上になったら停止」する方法の2通りがあり、図9では、「閾値以上になったら停止」する方法が現在の設定として選択されている様子をあらわしている。また、閾値以上、閾値以下の解釈としては、閾値と同じ値で要求送信を停止するとい解釈、総負荷が閾値よりも上または下になった場合に、要求送信を停止するという解釈のどちらでも良い。
「閾値を超えないように停止」する方法においては、送信済み且つ未応答の要求の総負荷と、既に発行され且つこれから送信しようとする未送信の要求の負荷値を足した値が、設定されている送信可能負荷の閾値632を超える場合には、その要求の送信は許可されない。また、「閾値以上になったら停止」する方法では、これから送信しようとする要求の負荷値は関係なく、現在の負荷の値が送信可能負荷の閾値632の値以上であれば、新たな要求送信は行われないものとする。
この図9及び上に説明した図8の双方の構成を備えることにより、例えば、印刷ジョブの完了通知イベント登録は複数個行なえるようにし、印刷ジョブのリスト要求は1つだけ行なえるという動作を各クライアントに対して保証でき、プリントサーバの負荷を適切に評価するのみに留まらず、各クライアントにおいて一定の印刷システムの使い勝手を確保することができるという、ユーザビリティーの面でも格別の効果を得ることができる。
図10は、ある時間に要求管理テーブル610において管理されている要求リストの一例を示したものである。図では6個の要求が存在し、RequestID100、101の2個の要求がサーバへ転送済みであり、RequestID102、103、104、105の4個の要求が転送待ちである事が分かる。この図19に示されるテーブルを基づいて、クライアントから既に発行され、プリントサーバからの未応答の複数の要求の個々の負荷が認識され、該認識された個々の負荷に基づき複数の要求の総負荷が計算され、該計算された総負荷に基づきクライアント側で、要求の発行の抑制が行なわれる。
要求管理テーブル610では、個々の要求の状態のほか、サーバへ転送するメッセージ(図7)を作成するために必要となる情報、及び、個々の要求における負荷の値を管理している。なお本発明の実施例においては、要求を受け付ける都度要求の負荷が決定され管理テーブルにエントリが追加される事を想定しているが、図10の要求管理テーブル610には負荷の値を持たず、図8で示される要求負荷テーブル620を直接参照する事により、送信済み要求の総負荷を計算するように構成しても良い。
また、図10に示される要求管理テーブル610により、プリントサーバへの送信済みの要求と未送信の要求を識別可能に管理することができ、図11に示されるような、未送信の要求を除く送信済み且つ未応答の要求に基づきより正確な負荷総数を計算することができる。
図11は、図10と同一のタイミングにおける送信済み要求情報640の一例を示す図である。送信済み負荷管理テーブル642にはRequestID100及び101の2個の要求がその負荷値と共に記録されている。また、計算を容易にするため642に含まれる要求の総数とそれらの要求の総負荷を送信済み要求現在値641として保持している。
送信済み負荷管理テーブル642にはRequestID100及び101のエントリがあるため、送信済み要求現在値641の送信済み要求数は2Requestであり、送信済み負荷総数は4ポイントである事を示している。このデータは後述の要求送信処理、応答受信処理及び要求キャンセル処理によって更新される。
図12は、本発明における情報処理システムにおける要求制御プログラムの動作概要を示すフローチャートである。なお、本フローチャートは本発明の論旨に関係のあるところのみ抜粋している為、図示されていない処理が含まれていても本発明を逸脱することなく適用できる事は言うまでもない。
先ず始めにステップS1201において要求管理部601の初期化処理が行われる。これについては図13及び図14を用いて後述する。
続くステップS1202、S1203において、要求送信部603、応答受信部604の初期化処理が行われ、ステップS1204のイベント待ちのループに入る。
ステップS1205において、プログラム終了のイベントを受け取る事による本プログラムは終了する。一方ステップS1205の要求管理部601による判定において、入力されたイベントが終了以外であると判定された場合には、ステップS1206において、要求管理部601によりそのイベントが送信要求受付イベントか否かが判定される。YESであると判定された場合には、ステップS1207において後述の要求受け付け処理(図15)を行い、イベント待ちステップS1204へと移る。
一方ステップS1206の判定においてNOと判定された場合には、ステップS1208において要求管理部601により該イベントがキャンセル要求か否かが判定される。YESと判定された場合には、ステップS1209のキャンセル処理(図21)を行い、ステップS1213へと移る。
一方ステップS1208の判定においてNOと判定された場合には、ステップS1210において、該イベントが応答受信部604からの応答受信イベント(図18、ステップS1807に対応)であるか否かが判定される。NOの場合には、ステップS1213へジャンプする。YESの場合には、受信したメッセージが「応答」であるか「イベント」であるかが判定され、「応答」であり、かつ、「イベント待ち」へ遷移しない要求であれば、ステップS1211において、図10で示された要求管理テーブルから該当する要求のエントリを削除し、続いてステップS1212で該応答に対するその他の処理を行う。
その他の処理とは例えばGUIの更新や、上位システムへの応答への送信、本発明の情報処理システムで管理し、かつ、本発明とは関係の無い内部データの更新処理等が含まれる。
続いてステップS1213において未送信の要求があるか否かが判定される。YESの場合、具体的には図10では未送信の要求が4個(RequestID102〜105)存在するため、続くステップS1214において、クライアントからの要求の発行、即ち、要求送信処理が要求送信部603を介して行われる。要求送信処理は図16を用いて後述する。
ここでステップS1214が実行されるタイミングとしては、ステップS1213で図10に示される管理情報により、未送信の要求がある場合であるが、これに限定されるものではなく、イベントの入力にかかわらず、定期的に図12に示されるフローチャートを実行させるようにしても良い。
図13は、要求管理部601の初期化処理を示したフローチャートであり図12のステップS1201に対応するものである。要求管理部601の初期化処理では、要求管理テーブル610及び送信済み要求情報640が初期化されると共に、送信閾値情報630が作成される。
先ず、ステップS1301で送信可能負荷の閾値632に対して初期値をセットする。続いてステップS1302において、送信可能要求数631に対して初期値をセットする。
続いて、送信可能負荷の閾値の適用方法633に対して初期値をセットする。続いてステップS1304において、送信閾値の設定ファイルがあるか否かが判定される。YESと判定された場合には、ステップS1305において、送信可能負荷の閾値632に対する設定があるか否かが判定される。YESと判定された場合にはステップS1306において、送信可能負荷の閾値632が更新(変更)される。
続いてステップS1307において、送信可能要求数631に対する設定があるか否かが判定される。YESの場合にはステップS1308において送信可能要求数631が更新され、図8で説明したような、各要求に対応する負荷の大きさの変更される。
続いてステップS1309において、送信可能負荷の閾値の適用方法633に対する設定があるか否かが判定される。YESの場合にはステップS1310において、送信可能負荷の閾値の適用方法633が更新(変更)される。続いてステップS1311において後述の要求負荷取得部602の初期化が行われ、要求管理部初期化処理は終了する。
図13のフローチャートが実行されることにより、要求の送信の抑制の条件(送信可能負荷の閾値や、送信可能要求数など)に係る設定を変更することができ、例えば、他のクライアントに較べて印刷ジョブの投入をはじめ、各種要求を多く発行するクライアントについては、抑制しにくいように条件を変更することができる。また、抑制の条件としては、図9において説明した、631乃至633の何れか1つ、或いは、複数を含める場合が想定される。
図14は要求負荷取得部602のフローチャートであり、図13のステップS1311に対応するものである。要求負荷取得部602の初期化処理においては、要求負荷テーブル620が作成される。
先ず、ステップS1401において要求負荷テーブルに対して初期値を設定する。続いてステップS1402において要求負荷設定ファイルがあるか否かが判定され、YESと判定された場合には、ステップS1403において、ファイルで指定されたAPIを指定された負荷値で更新(変更)し、要求負荷取得部602の初期化処理が終了する。尚、ファイルで指定されるAPIの種類は任意に指定可能とする。
この図14の処理により、個々の要求に対応する負荷の大きさを変更することができるので、例えば、ある要求(API)に対する負荷の大きさが実際の印刷システムの運用上適切でない場合に、適宜変更することができ、よりよい印刷環境を実現することができる。
図15は要求受付処理の概要を示すものであり、図12のステップS1207に対応するものである。ユーザのプリントマネージャ657を介しての指示や、内部的なアプリケーション指示に応じて要求送信イベントが発生するとステップS1501で要求負荷取得部602からAPIに応じた負荷値が取得され、続くステップS1502において、該要求を示すエントリが作成され、前述の要求管理テーブル610(図10)に該エントリが追加される。
図16は、要求送信処理の詳細を示すフローチャートであり、図12のステップ1214に対応する。ここでは要求管理テーブル610におけるRequestID102のエントリが送信されるものとして詳細を説明する。
要求送信処理においては、先ずステップS1601において、送信する要求に対する情報が入力(図10のうち未送信の先頭の要求が取り出される)される。ステップS1601では、図8において説明した様々な要求が入力(図10のうち未送信の先頭の要求が取り出される)されることとなるが、図中では説明を分かりやすくするために、負荷値=10、api=3、Parameter=(Start=1、Count=100)が入力(図10のうち未送信の先頭の要求が取り出される)されるものとして、以下説明を行なう。
続くステップS1602において、送信閾値情報630内の送信可能要求数631が取得される。続くステップS1603において、送信可能負荷の閾値632と送信可能負荷の閾値の適用方法633が取得される。
続くステップS1604において、送信可能要求数が0以上か否かが判定される。ここでNOの場合には送信可能要求数の判定は行われずステップS1607へジャンプする。
ステップS1604の判定においてYESと判定された場合には、ステップS1605において送信済み要求現在値641が取得される(図11では2Request)。ステップS1606の判定において、送信済み且つ応答未受信の要求数が送信可能要求数以上であると判定された場合には、送信処理は行われずステップS1612でエラー応答が作成され送信処理は終了する。
一方、送信数の判定を行わなかった場合、或いは、送信数判定の結果OKと判定された場合には、ステップS1607において送信可能負荷の閾値632が0より大きいか否かが判定される。0以下である場合には、負荷による判定は行われずに、ステップS613〜ステップS1618に記載された送信処理が行われる。負荷を考慮しない形態をとることにより、管理者など、要求を多数発行する必要性のあるユーザに対応することができる。
ステップS1607の判定においてYESと判定された場合には、ステップS1608において、送信済み負荷総数641(図11では4Point)が取得される。ここで負荷総数641と送信可能負荷の閾値632の判定は、送信可能負荷の閾値の判定方法633に応じて異なるが、いずれにしても、既にクライアントから送信された要求で、プリントサーバから未応答の複数の要求の個々の負荷を、図9の送信閾値情報630により認識でき、該認識された個々の負荷に基づき計算した結果がステップS1608で取得される負荷総数となる。
ステップS1609において送信可能負荷の閾値の判定方法633が「閾値以上になったら停止」が選択されていない場合には、ステップS1610において送信済み負荷総数641(4ポイント)とこれから送信しようとする要求(ステップS1601における10ポイント)の負荷の合計が、送信可能負荷の閾値632(図10における12ポイント)よりも大きいか否かが判定される。大きいと判定された場合には、ステップS1612に遷移し送信処理は行われない。
一方ステップS1609においてYESと判定された場合には、ステップS1611において、送信済み且つプリントサーバから未応答の要求が示す負荷総数641が送信可能負荷の閾値632以上或いは超えているか否かが判定され、NOであれば、ステップS1612へ遷移し送信処理は行われない。
前述の判定の結果、送信可能条件を満たしていると判断された場合には、実際の送信処理が行われる。尚、ステップS1609の判定を省略し、ステップS1608からステップS1609の判定を行なうことなく、ステップS1611に移行するようにしても良い。
ステップS1613ではデータ形式の変換が行われ、データストリームがホスト形式から図7で示したネットワーク形式へ変換される。続くステップS1614において要求メッセージが要求送信部603を介してネットワーク上へ発行される。
続くステップS1615で送信済み負荷管理テーブル640が更新され、エントリが一つ追加される。続いてステップS1616、S1617で送信済み要求現在値641が更新され、ステップS1618で成功応答共に送信処理は終了する。送信処理が終了すると要求管理テーブル610における該要求のステータスがWaitからSentへと遷移する。
図16のフローチャートによれば、プリントサーバ側でクライアントからの要求を受付けるか否かを判定する形態に較べて、プリントサーバ側での判定処理負荷を軽減できる。特にプリントサーバ側が複数のクライアントと共有される場合に、クライアントからの要求の発行の許可の判定処理を分散するという効果を得ることができる。
さらに、プリントサーバ側でクライアントからの要求を受付けるか否かを判定する形態では、要求を拒否する場合に、プリントサーバの判定処理負荷が増大するばかりか、プリントサーバからクライアントへの拒否通知、及び、拒否受信に連動するクライアントからの要求発行のリトライが発生してしまい、トラフィック量を増大させてしまうという問題があるが、図16のフローチャートにより、この問題を解消することができる。
要求送信処理完了後の送信済み要求情報640の変化を図17に示す。図10と比較して、送信済み要求現在値641´における送信済み負荷総数が14Point(10Point増加)、送信済み要求数が3Request(1Request増加)し、送信済み負荷管理テーブル642’には、RequestID102のエントリが追加されている。
図18は、応答受信部604における応答受信処理の概要を示すフローチャートである。図12で説明したステップS1211及びステップS1212の処理の詳細を示す。
ステップS1801においてプリントサーバ101から送信されたメッセージ(構造を図7に記載)が受信されるとステップS1802においてメッセージからRequestIDが抽出され、ステップS1803において抽出されRequestIDに基づく送信済み負荷テーブル642が検索される。
ステップS1804において一致したリクエストが検索され、かつ、該リクエストがイベントタイプ(サーバからレスポンス以外に1回以上のイベントメッセエージを非同期に受け取るタイプの要求)ではない場合には、ステップS1805において、該検索されたテーブルが、送信済み負荷管理テーブル642から削除され、負荷管理テーブル642は更新される。
続いてステップS1806、ステップS1807において送信済み要求現在値における送信済み要求数と送信済み負荷総数が該削除されたテーブルに応じた値だけ減ぜられ送信済み要求現在値641も更新される。このように、ステップS1806、S1807の処理により、プリントサーバから応答のあった要求に対応する負荷を負荷総数から減算することができる。
続いてステップS1808において、応答受信イベントが要求管理部601へ通知される。
そして、図18のフローチャートが実行されることにより、計算された負荷総数が所定の閾値以上或いは閾値より上である場合から、閾値未満或いは閾値以下になる場合があり(S1610、1611でNOと判定される)、その場合には、未送信で抑制されていた要求の送信(再送信)が要求送信部603により行なわれる(S1614)。そして、クライアント側に予約された未送信の要求が、順次プリントサーバ101に対して送られることとなる。
図19は、クライアントからサーバへの要求送信をキャンセルする際の処理の詳細を示したフローチャートであり、図12のステップS1209に対応するものである。
先ずステップS1910において、キャンセルすべき要求を識別するためのID(RequestID)が入力される。続いてステップS1902において、要求管理テーブル610から該当するリクエストが検索される。
ステップS1903において一致するリクエストがあると判定された場合には、ステップS1904において該当するリクエストを要求管理テーブル610から削除する。続いて送信済み要求情報640の更新を行う。また要求管理テーブル610から要求を削除した場合に、対応してクライアントからプリンタ側に既に送信された要求を削除する命令(例えば、UnsubscribeEvent api(番号2)や、キャンセルリクエスト)を送り、プリンタ側の負荷を軽減する。
ステップS1905において、送信済み負荷テーブル642からリクエストIDに一致するテーブルが存在するかを検索する。
ステップS1906で一致するテーブルがあったと判定された場合には、ステップS1907において送信済み要求現在値641の送信済み要求数を1減ずる。続いてステップS1908において送信済み要求641の送信済み負荷総数をステップS1905で検索されたエントリの負荷値だけ減ずる。
続いてステップS1909において送信済み負荷テーブルから該当するリクエストを削除し、キャンセル処理は終了する。
(実施例2)
実施例1においては、クライアントから発行された複数の要求でプリントサーバ101から未応答の要求の総負荷を計算し、該計算された総負荷に応じて
クライアントからの要求の発行を抑制するよう説明してきたが、これに限定されるものではない。
クライアントよりプリントサーバ101に発行された複数の要求でプリントサーバから未応答の複数の要求の個々の負荷を認識し、該認識された個々の負荷に基づき複数の要求の総負荷を計算する点においては、プリントサーバ或いは他の装置で実行するようにしても良い。
つまり、プリントサーバ101が、実施例1の図6、図8で説明した機能を備え、さらに、図9、図10、図11、図17で説明した機能を要求発行元の各クライアントに対応して監理及び管理し、さらに、図15、図16、図18、図19のフローチャートの処理を実行する形態も想定される。この形態の場合には、図15、図16、図18の各フローチャートは各クライアントに対して個別に行なわれることとなる。また、図16のステップS1614の処理はプリントサーバ101がクライアントから要求を受信する処理に置き換えることにより実現される。
そして、この実施例2においても、要求数のみからクライアントからの要求を受けつるか否かを判定する形態に較べて、個々の要求の負荷を加味し、発行された複数の要求の総負荷を計算するので、適切な要求に対する自装置の負荷評価を行なうことができる。
例えば、印刷ジョブの完了通知イベントの登録と、プリンタで管理されている複数の印刷ジョブのリスト要求とでは、プリントサーバ側の負荷が大幅に異なるが、このような場合に負荷を適切に評価できという点では、実施例1と同様の格別の効果を得ることもできる。
本発明の情報処理システムの構成を示すブロック図である。 図1に示した情報処理装置の構成を説明するブロック図である。 図2に示したRAM202のメモリマップの一例を示す図である。 図2に示したFD204のメモリマップの一例を示す図である。 図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図である。 本発明の印刷システムの機能概要を示す図である。 図1に示したクライアント102とサーバコンピュータ101或いはネットワークプリンタ105中のサーバプログラムとの間で送受信されるメッセージ構成の一例を示す図である。 図6に示した要求負荷テーブル620の一例を示す図である。 図6に示した送信閾値情報630の一例を示す図である。 図6に示した要求管理テーブル610の一例を示す図である。 図6に示した送信済み要求情報640の一例を示す図である。 要求送信処理の一例を示すフローチャートである。 図12に示した管理部の初期化処理の詳細を示すフローチャートである。 図13に示した管理部の初期化処理における、要求負荷取得部の初期化処理の詳細を示すフローチャートである。 図12に示した要求受付処理の詳細を示すフローチャートである。 図12に示した要求送信処理の詳細を示すフローチャートである。 図16に示した要求送信処理が実行された後の、送信済み要求情報640の一例を示す図である。 図6に示した応答受信部604の処理を示すフローチャートである。 図12に示した要求キャンセル処理の詳細を示したフローチャートである。
符号の説明
101 サーバコンピュータ
102 クライアント
105 サーバプログラムが動作するネットワークプリンタ
303 本発明を実施したプリンタ制御プログラム
304 本発明を実施したネプリンタ制御プログラムの関連データ
601 要求管理部
602 要求負荷取得部
603 要求送信部
604 応答受信部
605 未応答要求管理部
610 要求管理テーブル
620 要求負荷取得部
630 送信閾値情報
640 送信済み要求情報

Claims (12)

  1. 印刷制御装置へ複数種類の処理の要求を発行する情報処理装置において実行される印刷制御プログラムであって、
    情報処理装置から印刷制御装置に発行され且つ前記印刷制御装置が応答していない要求の各々の負荷を認識する負荷認識ステップと、
    前記負荷認識ステップにおいて認識された前記要求の各々の負荷に基づき、前記印刷制御装置の総負荷を計算する計算ステップと、
    前記計算ステップにおいて計算された総負荷に基づいて情報処理装置からの要求の発行を抑制する抑制ステップとを有することを特徴とする印刷制御プログラム。
  2. 前記印刷制御装置が応答していない要求の個数に基づいて情報処理装置からの要求の発行を抑制する第2抑制ステップを有し、前記第2抑制ステップは前記計算ステップにより計算される総負荷に関わらずに情報装置からの要求の発行を抑制することを特徴とする請求項1に記載の印刷制御プログラム。
  3. 前記抑制ステップは、前記計算ステップにおいて計算された負荷が所定の閾値以上或いは閾値より上である場合に、前記印刷制御装置への要求の送信を抑制することを特徴とする請求項1または2の何れかに記載の印刷制御プログラム。
  4. 前記印刷制御装置からの応答のあった要求に対応する負荷を前記負荷から減算する減算ステップを有することを特徴とする請求項1乃至3の何れかに記載の印刷制御プログラム。
  5. 前記計算ステップにおいて計算された負荷が所定の閾値以上或いは閾値より上である場合から、前記減算ステップにより前記負荷が閾値未満或いは閾値以下になった場合に、未送信で抑制されていた要求の送信を行わせる要求送信制御ステップを有することを特徴とする請求項に記載の印刷制御プログラム。
  6. 前記印刷制御装置への送信済みの要求と未送信の要求とを識別可能にした管理情報を管理する要求管理ステップを有し、前記負荷認識ステップは、前記印刷制御装置に前記要求管理ステップで管理される未送信の要求を除く送信済みの要求の各々の負荷を認識することを特徴とする請求項1乃至5の何れかに記載の印刷制御プログラム。
  7. 各要求に対応する負荷の大きさを変更する第1変更ステップを有することを特徴とする請求項1乃至6の何れかに記載の印刷制御プログラム。
  8. 前記抑制の条件を変更する第2変更ステップを有することを特徴とする請求項1乃至7の何れかに記載の印刷制御プログラム。
  9. 印刷制御装置へ複数種類の処理の要求を発行する情報処理装置における処理方法であって、
    情報処理装置から発行され且つ前記印刷制御装置が応答していない要求の各々の負荷を認識する負荷認識ステップと、
    前記負荷認識ステップにおいて認識された前記要求の各々の負荷に基づき、前記印刷制御装置の総負荷を計算する計算ステップと、
    前記計算ステップにおいて計算された総負荷に基づいて情報処理装置からの要求の発行を抑制する抑制ステップとを有することを特徴とする処理方法。
  10. 請求項1乃至9の何れかに記載の印刷制御プログラムをコンピュータが読み取り可読な形態で記憶した記憶媒体。
  11. 印刷制御装置へ複数種類の処理の要求を発行する発行手段を備えた情報処理装置であって、
    情報処理装置から発行され且つ前記印刷制御装置が応答していない要求の各々の負荷を認識する負荷認識手段と、
    前記負荷認識手段において認識された前記要求の各々の負荷に基づき、前記印刷制御装置の総負荷を計算する計算手段と、
    前記計算手段により計算された総負荷に基づいて情報処理装置からの要求の発行を抑制する抑制手段とを有することを特徴とする情報処理装置。
  12. 印刷制御装置と、該印刷制御装置へ複数種類の処理の要求を発行する情報処理装置とからなる印刷システムであって、
    情報処理装置から発行され且つ前記印刷制御装置が応答していない要求の各々の負荷を認識する負荷認識手段と、
    前記負荷認識手段において認識された前記要求の各々の負荷に基づき、前記印刷制御装置の総負荷を計算する計算手段と、
    前記計算手段により計算された総負荷に基づいて情報処理装置からの要求の発行を抑制する抑制手段とを有することを特徴とする印刷システム。
JP2004221837A 2004-07-29 2004-07-29 印刷制御プログラム、及び、処理方法、及び、記憶媒体、及び、情報処理装置、並びに、印刷システム Expired - Fee Related JP4164479B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004221837A JP4164479B2 (ja) 2004-07-29 2004-07-29 印刷制御プログラム、及び、処理方法、及び、記憶媒体、及び、情報処理装置、並びに、印刷システム
US11/190,917 US7808661B2 (en) 2004-07-29 2005-07-28 Print controlling program, process method, recording medium, information processor and printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004221837A JP4164479B2 (ja) 2004-07-29 2004-07-29 印刷制御プログラム、及び、処理方法、及び、記憶媒体、及び、情報処理装置、並びに、印刷システム

Publications (2)

Publication Number Publication Date
JP2006040124A JP2006040124A (ja) 2006-02-09
JP4164479B2 true JP4164479B2 (ja) 2008-10-15

Family

ID=35731800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004221837A Expired - Fee Related JP4164479B2 (ja) 2004-07-29 2004-07-29 印刷制御プログラム、及び、処理方法、及び、記憶媒体、及び、情報処理装置、並びに、印刷システム

Country Status (2)

Country Link
US (1) US7808661B2 (ja)
JP (1) JP4164479B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070035762A1 (en) * 2002-09-16 2007-02-15 Xerox Corporation System and method for multiparty payment for print jobs
JP4971778B2 (ja) 2006-12-20 2012-07-11 キヤノン株式会社 印刷管理装置、印刷管理方法、及びコンピュータプログラム
JP2009009378A (ja) * 2007-06-28 2009-01-15 Brother Ind Ltd 印刷制御装置及びプログラム
JP5366051B2 (ja) * 2009-04-20 2013-12-11 株式会社ジャパンディスプレイ 情報入力装置、表示装置
JP6341657B2 (ja) * 2013-12-13 2018-06-13 キヤノン株式会社 通信機器およびその制御方法、システム、プログラム並びに記憶媒体
JP2022102673A (ja) * 2020-12-25 2022-07-07 ブラザー工業株式会社 画像処理装置及び画像処理装置のためのコンピュータプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4418545B2 (ja) * 1998-11-30 2010-02-17 キヤノン株式会社 画像処理装置、及び画像出力制御方法
US6965931B2 (en) * 2000-12-18 2005-11-15 Hewlett-Packard Development Company, L.P. Thin server with printer management
US7265860B2 (en) * 2001-01-11 2007-09-04 Sharp Laboratories Of America, Inc. Load balancing print jobs across multiple printing devices
JP3774702B2 (ja) * 2003-02-12 2006-05-17 キヤノン株式会社 印刷制御プログラム及び情報処理装置
EP1452956A3 (en) * 2003-02-12 2010-03-17 Canon Kabushiki Kaisha print control system
US20050007618A1 (en) * 2003-07-07 2005-01-13 Thomason Tamra L. System for restricted execution of user requests for printing data

Also Published As

Publication number Publication date
US7808661B2 (en) 2010-10-05
US20060023255A1 (en) 2006-02-02
JP2006040124A (ja) 2006-02-09

Similar Documents

Publication Publication Date Title
US8045202B2 (en) Information processing apparatus and print device control method
US7889375B2 (en) Print control apparatus and method, and print system
US6618566B2 (en) Print control apparatus for generating accounting information relating to a print job
JP3639772B2 (ja) 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US7256909B2 (en) Proxy print processing apparatus, proxy print processing method, program, and memory medium
EP1367482A2 (en) Information processing apparatus and print system
US6654137B1 (en) Print system, server, information processing apparatus, print control method, and recording medium
US20050128512A1 (en) Method and apparatus for executing load distributed printing
US8711390B2 (en) Method and apparatus for executing load distributed printing
US20120162714A1 (en) Printing system, printing device, host device, and computer accessible storage storing program therefor
US20020041395A1 (en) Print control method and apparatus, print system, and storage medium
US20080266601A1 (en) Information processing apparatus and job management method
EP1942406A2 (en) Print managing apparatus, print managing method, and computer program
US8379249B2 (en) Forwarding print job and driver information from a first image forming apparatus to a second image forming apparatus
US7808661B2 (en) Print controlling program, process method, recording medium, information processor and printing system
JP3840035B2 (ja) 印刷制御装置及び方法及び印刷システム
EP1353265A2 (en) Job management apparatus, system, method, and storage medium storing program
JP2008097226A (ja) 情報処理装置及び情報処理方法
JP3984774B2 (ja) 印刷制御装置及び方法及び印刷システム
JP2021192190A (ja) 印刷システム
JP2007025970A (ja) プルプリントシステム
JP2012221334A (ja) 画像形成システムとその処理方法、画像形成装置、印刷管理サーバー、プリントサーバ、御方法及びプログラム
JP4298132B2 (ja) 印刷制御装置及び方法及び印刷システム
JP4194593B2 (ja) 印刷制御装置及びその制御方法と記憶媒体
JP3740448B2 (ja) 制御装置、制御方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080310

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080728

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

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees