JP4618778B2 - 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム - Google Patents

印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム Download PDF

Info

Publication number
JP4618778B2
JP4618778B2 JP2004249018A JP2004249018A JP4618778B2 JP 4618778 B2 JP4618778 B2 JP 4618778B2 JP 2004249018 A JP2004249018 A JP 2004249018A JP 2004249018 A JP2004249018 A JP 2004249018A JP 4618778 B2 JP4618778 B2 JP 4618778B2
Authority
JP
Japan
Prior art keywords
print
job
job information
request
unit
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
JP2004249018A
Other languages
English (en)
Other versions
JP2006062257A (ja
JP2006062257A5 (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 JP2004249018A priority Critical patent/JP4618778B2/ja
Priority to US11/191,813 priority patent/US8072628B2/en
Publication of JP2006062257A publication Critical patent/JP2006062257A/ja
Publication of JP2006062257A5 publication Critical patent/JP2006062257A5/ja
Application granted granted Critical
Publication of JP4618778B2 publication Critical patent/JP4618778B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • 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/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence

Description

本発明は、プリンタ装置に装着されるネットワークプリントサーバ及びプリンタ制御システムに関するものであり、特にその印刷制御システムに関するものである。
近年、コンピュータと印刷制御アプリケーションが連動して、ネットワークプリンタを管理する機能のほか、ネットワークの使用状態を監視する機能や、印刷データをスケジューリングする機能を有する印刷制御システムが考えられている。
この印刷制御システムは、コンピュータからの印刷要求の順番制御を行い、印刷要求の開始から印刷終了までのジョブ追跡を行い、ユーザに印刷状況を詳細に通知する(特許文献1)。
特開平11−134139号公報
しかしながら、上述したような制御システムでは、ジョブのスケジューリングによって印刷制御を行うことができる反面、一方では、ジョブスケジューリングに関する処理の増大のために、ファーストプリント(デバイスがアイドルな状態での1枚目の印刷)に時間がかかってしまうという問題があった。具体的には要求ジョブの登録やデバイスの状態監視・印刷開始指示などのスケジューリングに関する処理に時間がかかり、スケジューリングを行わない場合より処理時間が長くなってしまうという問題点があった。
特許文献1には、印刷データに優先順位を付加し、優先度の高いデータは待ち時間なく印刷されるプリンタについて開示があるが、ファーストプリントに時間がかかるという問題を解決するものではなかった。
本発明は上記従来技術の課題を解決するためになされたものであり、その目的とするところは、ジョブを管理しつつもファーストプリントを迅速に行なうことのできる印刷装置を提供することにある。
上記目的を達成するため、本発明に係る装置は、
印刷装置であって、
コンピュータから印刷要求を受信する受信手段と、
ジョブ情報に対応するジョブを順番に実行するために、前記受信手段で受信した印刷要求に対応するジョブ情報を登録する登録手段と、
前記受信手段によって前記印刷要求を受信した場合、前記登録手段によって登録されている他のジョブ情報が有るかを判定する判定手段と、
前記登録手段によって登録されている他のジョブ情報がないと前記判定手段によって判定された場合に、前記登録手段によって前記ジョブ情報を登録する前に、前記印刷要求を送信したコンピュータに対して印刷データの要求を行う印刷データ要求手段と、を有することを特徴とする。
本発明によれば、印刷要求を管理しつつもファーストプリントを迅速に行なうことのできる印刷装置を提供することができる。
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
(第1実施形態)
<システム構成>
図1は、本発明の第1実施形態に係る印刷システムの全体構成を示すブロック図である。本印刷システムは、情報処理装置としてのクライアントコンピュータ101〜103と、印刷装置としてのネットワークプリンタ104、105とを含み、これらが互いに接続されていることにより、全体として印刷システムを構成している。
クライアントコンピュータ101〜103には、印刷制御プログラムが実行可能に格納されており、本印刷システムに含まれるネットワークプリンタ104、105を管理する機能のほか、ネットワークで使用されるファイルを蓄積したり、ネットワークの使用状態を監視したりする機能を有する。具体的には、クライアントコンピュータ101〜103は、自身により印刷ジョブを作成し、ネットワークプリンタ104、105のスケジューラにスケジュール要求を発行する機能、ネットワークプリンタ104、105のスケジューラからの指示により、印刷データの転送を開始する機能を有する。
ネットワークプリンタ104、105は、クライアントコンピュータ101〜103から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。ネットワークプリンタ104、105としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。
また、ネットワークプリンタ104、105は、複数のクライアントコンピュータ101〜103からの印刷要求を受け付け、受け付けた印刷要求の順序を決定し、印刷指示を発行する機能、ネットワークプリンタ104、105に転送された印刷ジョブ、ネットワークプリンタ104、105の状態を監視し、印刷の終了やプリンタ状態をクライアントコンピュータ101〜103に通知する機能を有する。
なお、本印刷システムに含まれる装置間の通信は、イーサネット(登録商標)ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
<クライアントコンピュータ101〜103の内部構成>
図2は、図1に示したクライアントコンピュータ101〜103のハードウェア構成を説明するブロック図である。
図2において、CPU200は、HD(ハードディスク)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、オペレーションシステムや印刷制御プログラム等を読出して実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納するように制御を行うための制御手段である。
ROM201は、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する記憶手段である。RAM202は、CPU200の主メモリやワークエリア等として機能する一時記憶手段である。
FD(フロッピー(登録商標)ディスク)ドライブ203は、後述する図5に示すように記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータシステムにロードするための記憶媒体読み込み手段である。なお、クライアントコンピュータ101〜103は、FDドライブ203に代えて、或いはFDドライブ203と共に、他の記憶媒体読込手段を備えてもよい。他の記憶媒体としては、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、コンピュータが読み取り可能なあらゆる記憶媒体が挙げられる。
HD205は、大容量メモリとして機能する外部記憶手段であり、アプリケーションプログラム、プリンタドライバプログラム、オペレーションシステム、印刷制御プログラム、及び関係プログラム等を格納している。なお、クライアントコンピュータ101〜103ではスプーラがここに確保される。キーボード206は、ユーザが制御コマンド等を入力指示するための指示入力手段である。ディスプレイ207は、キーボード206から入力したコマンドや、ネットワークプリンタ104、105の状態等を表示する表示手段である。
尚、実際にはクライアントコンピュータ101〜103上で稼動するオペレーティングシステムを介して表示手段に表示指示がなされ、このオペレーティングシステムに本印刷処理プログラムによりリソースファイルの表示指示が行われる。
208はシステムバスであり、クライアントコンピュータ101〜103内のデータの流れを司るものである。またインタフェース209は、入出力手段であり、クライアントコンピュータ101〜103は、インタフェース209を介してネットワーク上の他の装置とのデータのやり取りを行う。
<メモリマップ等の説明>
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、印刷制御プログラムが、RAM202にロードされ実行可能となった状態のメモリマップである。
印刷制御プログラム及び関係データは、予めFD204からHD205にインストールされて、HD205からRAM202にロードするようにしてもよいしFD204から直接RAM202にロードして実行させてもよい。さらに、印刷制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
印刷制御プログラムは、クライアントコンピュータ101〜103においては、印刷データを転送したり、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更したりする指示をするための制御を行う。
301は基本I/Oプログラムを記憶するための領域である。基本I/Oプログラムは、装置)の電源がONされたときに、HD205からオペレーションシステムがRAM202に読み込まれ、オペレーションシステムの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムである。
302はオペレーティングシステムを記憶する領域であり、303は印刷制御プログラムを記憶する領域である。304は、関係データを記憶する領域である。305はワークエリアで、CPU200が各種のプログラムを実行するための領域である。
図4は、図2に示したFD204のメモリマップの一例を示す図である。図4において、400はFD204のデータ内容であり、データの情報を示すボリューム情報401と、ディレクトリ情報402と、印刷制御プログラム403と、その関係データ404を含んでいる。
図5は、プリンタ104、105のハードウェア構成を説明するブロック図である。プリンタ104、105は、独立した制御系を有するネットワークプリンタサーバ520とプリンタコントローラ519とを含む。
ネットワークプリントサーバ520において、501はネットワークプリントサーバ用CPUである。ネットワークプリントサーバ520は、ローカルエリアネットワーク(LAN)512に接続されたホストコンピュータ等の複数の外部装置(不図示)と、所定のネットワーク通信プロトコルを用いて通信可能である。そのために、CPU501は、システムバス504に接続されるネットワークコントローラ(LANC)505を介して外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を、書き換え可能なFlashROM503に記憶された制御プログラムに基づいて、統括的に制御する。また、CPU501は、拡張インタフェースコントローラ(EXPC)507を介して接続されるプリンタコントローラ519に対しても、適切なデータ転送制御を行なう。
RAM502はCPU501の主メモリ、ワークエリア等の一時記憶領域として用いられる。LED506はネットワークプリントサーバの動作状態を示す表示部として用いられており、例えばネットワークコントローラ505とローカルエリアネットワーク512の電気的な接続状態(LINK)やネットワーク通信モード(10Baseや100Base、全二重、半二重)等の各種動作状態をLEDの点滅パターンや色で示すこと可能となっている。
ネットワークプリントサーバ520は、ネットワーク接続装置としてのネットワークカードモジュールであって、拡張インタフェース517においてプリンタコントローラ519と分離可能になっている。つまり、ネットワークプリントサーバ520は、プリンタ104、105に対して着脱可能であり、同じ構成を持つ別のプリンタにネットワークプリントサーバ520を装着することも可能である。
プリンタコントローラ519において、508はプリンタコントローラ用CPUである。CPU508は、ROM509に記憶された制御プログラム等あるいはディスクコントローラ(DKC515)を介して接続された外部メモリ510に記憶された制御プログラムやリソースデータ(資源情報)等に基づいて動作する。CPU508は、システムバス511に接続される各種デバイスとのアクセスを統括的に制御する。ラスタコントローラ512は、ネットワークプリントサーバ520から受信した画像データに基づいて、印刷データを生成し、プリントエンジン516に対して印刷画像信号を出力する。
514はCPU508の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
518は操作パネル(操作部)でネットワークプリンタ104、105の動作モード等の設定や印刷データの取り消し等の操作を行なうためのボタンおよびネットワークプリンタ104、105の動作状態を示す液晶パネルやLED等の表示部が配されている。
なお、プリンタエンジン516は既知の印刷技術を利用したものであれば良く、例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等を利用したものであればよい。
次に、クライアントコンピュータ101〜103のソフトウェア構成について説明する。図6は、クライアントコンピュータ101〜103におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、図2のCPU200によって実行され、所望の機能を実現する。
通常、Microsoft Word(登録商標)などの一般的なアプリケーションプログラム601は印刷の指示を受け付けると、一連の描画コマンドを、オペレーションシステムを介して生成する。オペレーションシステムを介して生成された描画コマンドを受け取ったPDLドライバ602は、一連の描画コマンドに基づいてネットワークプリンタ104、105で解釈可能なPDLファイルを含む印刷ジョブを生成する。なお、以下の説明ではPDLドライバを例に説明を行うが、これに限定されるものではなく、例えば、BDL(Band description Language)や、圧縮ビットマップを作成するプリンタドライバ、或いは、アプリケーション及びオペレーションシステムによりプリンタドライバを介さずに印刷データを生成する形態などにも適用可能である。
PDLドライバ602は、印刷ジョブをスプーラ603に渡す。ここではオペレーションシステムをウィンドウズ(登録商標)と仮定しているのでスプーラ603はウィンドウズスプーラである。ただし、本発明を適用するコンピュータのオペレーションシステムはウィンドウズ(登録商標)に限定されるものではなく、描画命令を備えるものであればユニックスやリナックスなど他のオペレーションシステムも適用可能であることは言うまでもない。
スプーラ603は、ユーザがユーザインタフェースを介して指定したジョブ制御ポートモニタ604に印刷ジョブを渡す(矢印a)。また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ604に送信される。ジョブ制御ポートモニタ604はこれらの情報をジョブ制御プリントサービス605に送信する(矢印b)。
ジョブ制御プリントサービス605は、転送された印刷ジョブ及びデバイスの状態を管理する機能を備える。また、ネットワークプリンタ104、105から通知されるデバイス状態やジョブの状態などの情報を管理する機能や、ネットワークプリンタ104、105に対して所定の命令をする機能も備える。これは、複数のネットワークプリンタ104、105のデバイス情報やジョブ情報を管理する機能に相当する。
そして、印刷データをネットワークプリンタ104、105に送信する前に、ネットワークプリンタ104、105が持つ印刷ジョブの順序管理機能に印刷の要求を発行し、ネットワークプリンタ104、105からの印刷指示により、ネットワークプリンタ104、105に印刷データを送信する(矢印c、d、e)。
ネットワークプリンタ104、105は、印刷データの完了を確認すると印刷完了の通知をジョブ制御プリントサービス605に通知(矢印f)する。また、ネットワークプリンタ104、105の状態を通知する(矢印f)。
プリントマネージャ607は、ユーザが、ジョブ制御プリントサービス605内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。プリントマネージャ607は、ジョブ制御プリントサービス605のソフトウェアのインタフェース(API:Application Program Interface)を介して、ジョブ制御プリントサービス605と情報・指示をやり取りしている。
そして、主に、ジョブ制御プリントサービス605が管理するネットワークプリンタ104、105の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントコンピュータ101〜103とデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー/警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。ここでのジョブ制御プリントサービス605はネットワークを介して通信可能な各デバイス(印刷装置)の印刷実行中、電力制御状態、障害情報(紙ジャム)等のステータスの通知を受け付ける機能を備える。
更に詳細な処理としては、プリントマネージャ609がジョブ制御プリントサービス605に対してデバイスを指定したイベントを発行し、ジョブ制御プリントサービス605は発行されたイベントに基づくデバイスのステータスを認識して、監視に基づく結果をプリントマネージャ609に通知する。
<印刷ジョブの流れ>
次に、図7を用いてアプリケーション601からネットワークプリンタ104、105までの印刷ジョブの流れについて説明する。ここで、図6と同じソフトウェア構成について同じ参照番号を付与しており、その機能については詳説しない。
図7に示すように、概念的には、PDLドライバ602、スプーラ603、ジョブ制御ポートモニタ604は、ネットワークプリンタ104、105ごとに用意されている。本実施形態ではオペレーションシステムがウィンドウズ(登録商標)であるから、これらをまとめてウィンドウズプリントシステム700と称する。
ジョブ制御プリントサービス605には、ネットワークプリンタ104、105に対応する数のプリントキュー701a、701b及び出力ポート702a、702bが含まれている。
印刷を行なう場合、アプリケーション601はプリンタを指定して印刷指示を発行する。この印刷指示に基づいてPDLドライバ602によって生成された印刷ジョブがジョブ制御ポートモニタ604からジョブ制御プリントサービス605に渡されると、その印刷ジョブ情報は、まずプリントキュー701a、bに保持され、出力ポート702aに印刷ジョブ受け付け指示を出す。出力ポート702a、bは、印刷するジョブを受け付けると、出力ポートに設定されたIPアドレスに該当する、ネットワークプリンタ104、105のスケジューラに対してスケジュールの要求を発行する。ネットワークプリンタ104、105のスケジューラは、複数のクライアントコンピュータ101〜103から受け付けたジョブのスケジューリング処理を行い、出力ポート702a、bに対して印刷指示を発行する。印刷指示を受け付けた出力ポート702はネットワークプリンタ104、105に印刷データを送信する。
図8は、ネットワークプリントサーバ520およびプリンタコントローラ519の各記憶デバイスに記憶された制御プログラムの構成を説明するブロック図である。なお各制御プログラムは、ネットワークプリントサーバ520およびプリンタコントローラ519の各CPU501、508によって解析され処理される。
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からの通知を受け付けると受信の通知を受け付けるネットワーク制御部であり、どのクライアントコンピュータから通信があったかを判断することや、通信の制御を行うことができるモジュールである。
810は、クライアントコンピュータ101〜103が送信する印刷データを受け付けるプロトコルを制御するモジュールであり、受け付けた印刷データをプリンタコントローラ519に渡すことができる。また、アプリケーション803はプリントコントローラ519のプログラム記憶部816またはネットワークプリントサーバ520のプログラム記憶部808に格納される。ネットワークプリンタ104、105が起動するとプログラム記憶部808または、に格納されたアプリケーションが持つライセンスと、ライセンス記憶部809やプログラム記憶部816やライセンス記憶部817が持つライセンスと比較し一致しているかどうかを判断する。一致していた場合は適正アプリケーションプログラムであると判断し、アプリケーションプログラムをネットワークプリントサーバ520のRAM514にロードする。
次に、ネットワークプリントサーバ520が実行するアプリケーションであるデバイススケジューラ900のソフトウェア構成について説明する。
901は、印刷するクライアントコンピュータ101〜103の接続状況や、クライアントコンピュータ101〜103に通知すべき情報を管理する通信接続管理部であり、接続しているクライアント情報をクライアント管理キューで管理する。通信接続管理部901は、プログラムアプリケーションインターフェース802のデータ転送API、ネットワークインタフェースドライバ806を経由してクライアントコンピュータ101〜103と通信を行う。
902は、クライアントコンピュータ101〜103から受け付けた印刷ジョブのスケジューリングを行うスケジュール管理部であり、ジョブ管理部903、デバイス管理部904を持つ。
903は、クライアントコンピュータ101〜103が発行したスケジュール要求や、クライアントコンピュータ101〜103が印刷したジョブを管理するジョブ管理部である。
904は、プリンタコントローラ519が持つプリンタの状態や受け付けた印刷ジョブの状態をイベントハンドラ905経由で受け付けるデバイス管理部であり、プリンタコントローラ519から受け付けたイベントを通信接続管理部901やジョブ管理部903に通知する。
図10は、通信接続管理部901が管理する情報を示す図である。
1002は、接続するクライアントコンピュータ毎に通信接続管理部901が割り振ったクライアントID、接続するクライアントコンピュータ101〜103のIPアドレス、接続するクライアントコンピュータ101〜103が登録したイベントの種類などの情報を持つクライアント情報である。イベントの種類とは、プリンタコントローラ519が発行するデバイス状態のイベントやジョブ状態のイベントの種類を表す。
1001は、接続したクライアントコンピュータ101〜103のクライアント情報をキューの形式で保持するクライアント管理キューである。クライアントコンピュータ101〜103とのセッションが開始されると、該当するクライアントコンピュータ101〜103の情報が本管理キューに登録され、切断すると該当するクライアント情報が削除されるようになっている。
図11は、クライアントコンピュータ101〜103が発行したスケジュール要求に付加するジョブ情報と、複数発生するジョブ情報を管理するジョブ管理キューを示す図である。これらの情報はジョブ管理部903において管理されている。
1102は、クライアントコンピュータ101〜103が印刷を開始するために発行するスケジュール要求に付加される印刷ジョブの情報である。このジョブ情報1102は、印刷ジョブのドキュメント名、ジョブ管理部903が発行したジョブID、クライアントコンピュータ101〜103で印刷を開始したユーザ名、ジョブのページ数、印刷ジョブの状況を表すジョブ状態、クライアントコンピュータ101〜103が転送する印刷データに含まれるジョブデータID、印刷を指示したクライアントコンピュータ101〜103のIPアドレスが登録される。
ジョブ状態は、クライアントコンピュータ101〜103が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでの状態を表しており、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。
ジョブデータIDは、印刷データに含まれるジョブのIDで、プリンタコントローラ519内でのジョブ状態を通知するときなど、付加させるIDである。
1101は、複数のジョブ情報1102を管理する管理キューであり、クライアントコンピュータ101〜103からのスケジュール要求を受け付けるとジョブ情報1102が管理キューに登録され、印刷ジョブが印刷終了すると、該当するプリンタ情報が削除されるようになっている。
図12では、クライアントコンピュータ101〜103のジョブ制御プリントサービス605が、ジョブを受け付け後、ネットワークプリンタ104、105にスケジュール要求を発行するところから、プリンタで印刷が終了するところまでのやり取りについて記載する。
ジョブ制御プリントサービス605は、印刷データを受け付けると、デバイススケジューラ900とセッション接続を開始する。そして、クライアントコンピュータ101〜103の情報を通知する接続要求コマンド、ジョブ/デバイス状態を通知してもらうためのイベント登録、デバイススケジューラ900がスケジュール管理するジョブの情報を取得するジョブリスト取得コマンドを発行する。
デバイススケジューラ900は、接続要求を受け付けると、クライアント情報をクライアント管理キュー1001に登録し、イベントの登録を受け付けると該当するクライアント情報の登録イベントに設定する。ジョブリスト要求を受け付けると、ジョブ管理キュー1101に登録されているジョブ情報のリストを送信する。
次に、クライアントコンピュータ101〜103が印刷を予約するためのスケジュール要求のコマンドを発行する。デバイススケジューラ900はスケジュール要求を受け付けると、ジョブ管理キュー1101にジョブ情報を登録する。ジョブ情報には、ドキュメント名等の情報を設定する。デバイススケジューラ900は、ネットワークプリンタ104、105が印刷データを受け付け可能になるとスケジュールアップを発行し、ジョブ制御プリントサービス605に対して印刷データの送信を開始するように促す。
また、スケジュールアップを発行すると、ジョブ情報1102のジョブ状態をスケジュールアップ状態に更新する。
ジョブ制御プリントサービス605は、スケジュールアップを受け付けるとネットワークプリントサーバ520の印刷データを受け付けるプロトコルを制御するモジュール810(LPD/RAW)に対して印刷データの転送を開始し、転送が始まるとデバイススケジューラ900に対して転送開始の通知を行う。デバイススケジューラ900は、転送開始通知を受けると、ジョブ情報1102のジョブ状態を転送中の状態に更新する。
LPD/RAWが印刷データを受け付けるとプリンタコントローラ519にデータを転送し、プリンタコントローラ519で印刷が開始される。プリンタコントローラ519は、印刷が開始されるとジョブの状態をデバイススケジューラ900に通知する。デバイススケジューラ900は、クライアント情報の登録イベントの情報を基に、クライアントコンピュータ101〜103にジョブの印刷状態を通知する。
また、ジョブ制御プリントサービス605は印刷データの転送が終了するとデバイススケジューラ900に対して、転送終了通知を送信する。デバイススケジューラ900は、転送終了通知を受けると、ジョブ情報1102のジョブ状態に転送済の状態に更新する。
プリンタコントローラ519で印刷処理が終了すると、ジョブの状態として印刷完了の通知をデバイススケジューラ900に通知する。デバイススケジューラ900は、クライアント情報の登録イベントの情報を基に、クライアントコンピュータ101〜103にジョブの印刷完了の状態を通知する。
ジョブ制御プリントサービス605は、上記通知により印刷が完了したことを確認すと、デバイスからの通知が必要なくなるので、デバイススケジューラ900からのイベント通知解除要求を発行する。イベント通知解除要求を受け付けた、デバイススケジューラ900は、クライアント情報の登録イベントにイベントを通知しない旨の情報を設定する。
その後、ジョブ制御プリントサービス605は、デバイススケジューラ900との接続を終了するための切断要求を発行し、セッションを終了する。
デバイススケジューラ900は、切断要求を受け付けると、クライアント管理キュー1001から該当するクライアント情報を削除し、クライアントコンピュータ101〜103との処理を終了する。
図13では、ジョブ制御プリントサービス605のスケジュール要求の受け付けから、スケジュールアップを発行するまでのスケジュール管理部902の処理の流れについて説明する。また、ここでは、デバイススケジューラ900が管理するジョブのあり・なしによってスケジュールアップする処理の違いについても説明する。
ステップS1301では、デバイススケジューラ900はクライアントコンピュータ101〜103からの印刷スケジュール要求を受け付ける。
ステップS1302において、デバイススケジューラ900は管理するジョブ(他の印刷予約)の有り無しを判定し、管理ジョブがある場合にはステップS1303に進む。ない場合にはステップS1307に進む。なお、ステップS1302における管理ジョブの有り無しの判定では、具体的には、デバイススケジューラ900内のジョブ管理部903においてジョブを管理する配列に印刷予約済みのジョブがあるかないかを判断の基準とする。(印刷予約済みジョブが存在しない場合には配列数が0になり、ジョブが存在する場合には、配列数が1以上になる。)
ステップS1303では、ステップS1301において受け付けたスケジュール要求に対してコールバックを送信し、ステップS1304において受け付けたスケジュール要求を管理ジョブリストに登録を行う。
ステップS1305では、管理ジョブリスト内のジョブがスケジュールアップ対象となっているかの確認を行い、対象となっている場合にはステップS1306に進み、スケジュールアップを行い、処理を終了し、対象となっていない場合には、ステップS1305に戻る。
一方、ステップS1302で他の管理するジョブがないと判断された場合には、ステップS1307において、スケジュール要求のコールバックに連続して、該当ジョブのスケジュールアップを行う。なお、スケジュールアップは、「クライアントに対する印刷データの転送開始要求(指示)」のことである。ステップS1308では、スケジュールアップを行ったジョブをジョブリストに登録し処理を終了する。
このように、スケジュール要求を受け付けた場合、他の印刷予約がないことを確認すると、ジョブリスト登録を行なう前にスケジュールアップをジョブ制御プリントサービス605に送信し、ジョブ制御プリントサービス605から印刷データの転送を受け付けるので、従来のようにジョブリストを登録して予約順を確認してからスケジュールアップする場合に比べ、迅速にファーストプリントを行なうことができる。
図14では、デバイス管理からのジョブ状態通知イベントの受け付けからジョブ制御プリントサービス605からのジョブリスト要求の受け付けに対する、ジョブ管理部903の処理を示している。
ステップS1401では、通信接続管理部901やデバイス管理部904からの通知を受け付けると、デバイス管理部904からのジョブ状態通知であるか、ジョブリスト要求であるかを判断する。
デバイス管理部904からのジョブ状態通知であれば、ステップS1402に処理を移行し、該当するジョブ情報1102のジョブ状態を更新する。更にステップS1403に処理を移行し、印刷完了の通知であるかを判断する。印刷完了でなければ処理をステップS1404に移行し、接続管理部にジョブの状態のイベントをクライアントコンピュータ101〜103に発行するように通知する。
ステップS1403で、印刷完了の通知であれば、ステップS1405に処理を移行し、ジョブ管理キュー1101から該当するジョブを削除し、ステップS1406で、接続管理部にジョブの完了イベントをクライアントコンピュータ101〜103に発行するように通知し、処理をステップS1401に移行する。
ステップS1409で、ジョブ制御プリントサービス605からのジョブリスト要求の受け付けると、ステップS1409において、ジョブ管理キュー1101に登録されたジョブ情報のリストを要求元のクライアントコンピュータ101〜103に送信するように接続管理部にジョブ情報リストを通知する。
図15は、プリンタコントローラ519からのデバイス状態通知及びジョブ状態通知を、イベントハンドラを経由して受け付け、ジョブ管理部903や通信接続管理部901に通知するデバイス管理部904の処理について記載する。
ステップS1501では、デバイススケジューラ900が起動すると、デバイス管理部904がイベントハンドラを経由してプリンタコントローラ519に対して、デバイスの状態が変更した場合や、プリンタコントローラ519が処理する印刷ジョブの状態が変更したばあいにそれらの状態を通知するようにイベント登録の処理を行う。
ステップS1502では、プリンタコントローラ519で発生したイベントをイベントハンドラ経由で受け付けるとジョブのイベントであるかデバイスのイベントであるかを判断する。ジョブのイベントであれば、ステップS1503でジョブ管理部903にジョブイベントを通知し、ステップS1502に処理を移行する。デバイスのイベントであれば、処理をステップS1504に移行し、デバイスの状態をデバイス管理部904で保持した後、ステップS1505で通信接続管理部901にデバイスイベントを通知し、処理をステップS1502に移行する。
図16は、クライアントコンピュータ101〜103からの要求や通知、デバイス管理部904からの通知、ジョブ管理部903への要求や通知を処理する通信接続管理部901の処理の流れについて記載する。
ステップS1601では、クライアントコンピュータ101〜103やデバイス管理部904、ジョブ管理部903からの通知や要求を受け付け、どの通知や要求であるかを判断する。
ステップS1601において受け付けた要求やイベントがクライアントコンピュータ101〜103からの接続要求であれば、ステップS1602に移行し、クライアント管理キュー1001に通信接続管理部901で発行したクライアントIDと、要求を発したクライアントコンピュータ101〜103のIPアドレスを設定し、クライアント管理キュー1001にクライアント情報を登録する。
ステップS1601において受け付けた要求やイベントがクライアントコンピュータ101〜103からのイベント登録であれば、ステップS1603に処理を移行し、該当するクライアント情報の登録イベントに通知するイベントの種類を設定する。イベントの種類には、ジョブの状態の変化を通知するジョブイベント、デバイスの状態の変化を通知するデバイスイベントがある。
ステップS1601において受け付けた要求やイベントがデバイス管理部904からのデバイスイベントやジョブ管理部903からのジョブイベントであれば、ステップS1604において、これらのイベントを通知すべきクライアントコンピュータ101〜103を認識するために、クライアント管理キュー1001に登録された全てのクライアント情報から、クライアント情報の登録イベントの設定を参照し通知すべきかどうかを判断する。通知すべきであると判断した場合には、クライアントコンピュータ101〜103のIPアドレスを保持し、ステップS1705において通知すべき全てのクライアントコンピュータ101〜103に対してイベントを送信する。
ステップS1601において受け付けた要求やイベントがクライアントコンピュータ101〜103からの切断要求であればステップS1606に処理を移行し、クライアント管理キュー1001から、該当するクライアントコンピュータ101〜103のクライアント情報を削除する。
図17は、ジョブ制御プリントサービス605が管理する印刷ジョブの情報と、複数のジョブの情報を管理するジョブ管理キューを表している。
1702は、自クライアントコンピュータで印刷したジョブの情報とデバイススケジューラ900にジョブイベントと登録すると通知される他のクライアントコンピュータの印刷ジョブのジョブ情報である。ジョブ情報1702には、印刷ジョブのドキュメント名、ジョブID、クライアントコンピュータで印刷を開始したユーザ名、ジョブのページ数、印刷ジョブの状況を表すジョブ状態、印刷データに含まれるジョブデータIDが含まれる。
ジョブ状態は、クライアントコンピュータ101〜103が印刷を開始してからジョブがプリンタから無くなるまでの状態を表しており、スプール中、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。
ジョブデータIDは、印刷データに含まれるジョブのIDで、デバイススケジューラ900からのジョブイベントに設定される情報である。
1701は、複数のジョブ情報1702を管理する管理キューであり、自クライアントコンピュータで印刷したジョブのジョブ情報とデバイススケジューラ900から通知される他クライアントコンピュータのジョブ情報が登録される。
図18は、ジョブ制御プリントサービス605が管理するプリンタキュー、出力ポートの情報を表している。
1801は、ジョブ制御プリンタサービスが管理するそれぞれのプリンタキューの情報を表していて、プリンタ名などの情報が含まれている。
1802は、ジョブ制御プリンタサービスが管理するそれぞれの出力ポートの情報を表していて、印刷するデバイスのIPアドレスなどの情報が含まれている。
図19は、図12で示される印刷処理の流れで、クライアントコンピュータ101〜103のジョブ制御プリントサービス605が印刷データを受け付けてから、印刷データを転送するまでの流れを示している。
ステップS1901では、ジョブ制御ポートモニタから印刷ジョブを受け付けるか、デバイススケジューラ900から印刷データの転送の開始を指示するスケジュールアップのコマンドを受け付けるか判断する。ジョブ制御ポートモニタから印刷ジョブを受け付けるステップS1902に処理を移行し、スケジュールアップのコマンドを受け付けるとステップS1906に処理を移行する。
ステップS1902では、受け付けた印刷ジョブの情報をジョブ情報1702に設定し、ジョブ管理キュー1701に登録する。
ジョブ情報1702に設定する情報は、プリントシステムから取得したり、印刷データを解析して取得したりすることができる。
次に、ステップS1903では、デバイススケジューラ900に接続し、接続要求コマンドを発行する。クライアントコンピュータ101〜103が接続要求を発行すると、クライアントコンピュータ101〜103の情報がデバイススケジューラ900のクライアント管理キュー1001に登録され、以降、クライアントコンピュータ101〜103とデバイススケジューラ900間で情報のやり取りを行うことができる。
ステップS1904では、デバイススケジューラ900に対して、ジョブイベント、デバイスイベントを登録する。ジョブイベントを登録すると、自クライアントコンピュータが印刷したジョブや、他のクライアントコンピュータが印刷したジョブの状態の変化の通知がデバイススケジューラ900より通知されることになる。また、デバイスイベントを登録すると、ネットワークプリンタ104、105の状態の変化を通知されるようになる。
ステップS1905では、デバイススケジューラ900で管理しているジョブ管理キュー1101に登録されているジョブのリストを取得する。このジョブリストとジョブイベントにより、デバイススケジューラ900が管理するジョブの印刷状況を把握することが可能となる。
以上の処理により、印刷する準備が整い、ステップS1906において印刷するジョブの登録をデバイススケジューラ900に登録し、ステップS1901で次の指示まで待機する。
ステップS1901において、デバイススケジューラ900から印刷データの転送指示であるスケジュールアップのコマンドを受け付けると、ステップS1907に処理を移行する。ステップS1907では、印刷指示を受けたジョブの転送を開始する。
印刷データの送信が開始されるとステップS1908において、デバイススケジューラ900に転送が開始されたことを通知するために、転送開始状態を通知する。
ステップS1909で印刷データの転送が終了するとステップS1910においてデバイススケジューラ900に転送が終了したことを通知する。
図20は、デバイススケジューラ900からの通知やコマンドを受け付けた場合のジョブ制御プリントサービス605の処理の流れについて説明している。
ステップS2001では、デバイススケジューラ900からジョブイベントの通知または、ジョブリストが返送されてくるかを判断しており、ジョブイベントが来ると、ステップS2002に処理を移行し、ジョブリストが来るとステップS2008に処理を移行する。
ステップS2008では、ジョブリストが返送されてくるとジョブ制御プリントサービス605が管理するジョブ管理キュー1701にジョブリストから得られたジョブ情報を設定する。
ステップS2002では、デバイススケジューラ900から通知されたジョブイベント通知の内、ジョブ完了通知であるか、ジョブ状態変更通知であるかを判断し、ジョブ状態変更通知であれば、ステップS2009において、該当するジョブ情報のジョブ状態を更新する。
ステップS2002において、受け付けたイベント通知がジョブ完了通知であれば、ステップS2003において、該当するジョブ情報を、ジョブ管理キュー1701から削除する。
ステップS2004では、ジョブ管理キュー1701に、印刷が終了していない自クライアントコンピュータのジョブが残されているかを確認し、残されていれば、まだデバイススケジューラ900とのやり取りが必要であるため、デバイススケジューラ900との接続を継続するために、ステップS2001に処理を移行する。
ステップS2004で、自クライアントコンピュータのジョブがなければ、ステップS2005に処理を移行し、デバイススケジューラ900との接続を終了するための処理を開始する。
ステップS2005では、接続を開始したときにデバイススケジューラ900に登録したジョブイベント、デバイスイベントの登録解除を依頼する。デバイススケジューラ900は、この依頼によりクライアント情報のイベント登録の内容を削除する。このイベント登録の情報がなければ、デバイススケジューラ900が管理するジョブの状態が変化されてもイベントが通知されてくることはない。
次にステップS2006において、デバイススケジューラ900に対して切断の要求を発行する。デバイススケジューラ900が切断要求を受け付けると、クライアント管理キュー1001から該当するクライアント情報を削除する。
ステップS2007では、デバイススケジューラ900とのセッションを切断する処理を行い、処理をステップS2001で待機する。
以上のような処理を行なうことにより、ネットワークプリンタ内で印刷処理の順序を制御しつつもファーストプリントを迅速に行なうことができる。
なお、本実施形態では、ネットワークカードを着脱可能なネットワークプリンタについて説明したが、本発明はこれに限定されるものではなく、ネットワークカードの機能を実装したネットワークプリンタにも適用可能である。
(第2実施形態)
次に本発明の第2実施形態について説明する。上述した第1実施形態では、印刷予約の順番が来たことをスケジュールアップの送信条件としていたが、本実施形態では、更に、その際のデバイスの状態を条件に加える。他の構成及び動作は上記第1実施形態と同様であるため同じ構成要素には同じ符号を付してその説明を省略する。
図21は、ジョブ制御プリントサービス605がスケジュール要求を受け付けてから、スケジュールアップを発行するまでのデバイススケジューラ900のスケジュール管理部902の処理を示すフローチャートである。
ステップS2101では、デバイススケジューラ900はクライアントコンピュータ101〜103からの印刷スケジュール要求を受け付ける。
ステップS2102において、デバイススケジューラ900は管理するジョブの有り無しを判定し、管理ジョブがある場合にはステップS2103に進む。ない場合にはステップS2108に進む。
ステップS2103では、ステップS2101において受け付けたスケジュール要求に対してコールバックを送信し、ステップS2104において受け付けたスケジュール要求を管理ジョブリストに登録を行う。
ステップS2105では、管理ジョブリスト内のジョブがスケジュールアップの順番の対象となっているかの確認を行い、対象となっている場合にはステップS2106に進み、対象となっていない場合には、ステップS2105に戻る。
ステップS2106では、デバイスが印刷可能な状態かどうかを判断し、印刷可能な状態である場合には、ステップS2107において該当クライアントコンピュータ101〜103に対して、スケジュールアップを行い、処理を終了し、印刷可能な状態でない場合には、ステップS2105に戻る。
一方、ステップS2102で他の管理するジョブがないと判断された場合には、ステップS2108において、プリントエンジン516が印刷可能な状態かどうかを判断し、印刷可能な状態である場合には、ステップS2109に進み、スケジュール要求のコールバックに連続して、該当ジョブのスケジュールアップを行い、印刷可能な状態でない場合には、ステップS2103に進む。
ステップS2108におけるデバイスが印刷可能な状態かどうかの判断については、具体的には、拡張インタフェース517を経由してプリンタコントローラ519から、プリントエンジン516のステータス情報を取得して、プリントエンジンが印刷可能な状態かどうかの判断をおこなう。
ステップS2110では、スケジュールアップを行ったジョブをジョブリストに登録し処理を終了する。
以上のように処理を行うことにより、他の印刷予約がプリンタ内に存在していない場合であって、かつ、印刷可能な状態であれば、ジョブリストに登録する前に、受け付けた印刷要求に対してスケジュールアップを行なうため、ファーストプリントを迅速かつ確実に行なうことが可能である。
本発明の実施形態としての印刷システムの全体構成を示すブロック図である。 クライアントコンピュータ101〜103のハードウェア構成を説明するブロック図である。 図2に示したRAM202のメモリマップの一例を示す図である。 図2に示したFD204のメモリマップの一例を示す図である。 プリンタのハードウェア構成を説明するブロック図である。 クライアントコンピュータ101〜103の印刷システムのソフトウェア構成の例を示す図である。 クライアントコンピュータ101〜103の印刷時の印刷ジョブの流れを示す図である。 プリンタのソフトウェア構成の例を示す図である。 プリンタのユーザアプリケーションのソフトウェア構成の例を示す図である。 デバイススケジューラ900で管理するクライアント情報とクライアント管理キューを示す図である。 デバイススケジューラ900で管理するジョブ情報とジョブ管理キューを示す図である。 ジョブ制御プリントサービスとデバイススケジューラ900、LPD/RAW、プリンタコントローラ519間の印刷シーケンスを示す図である。 ジョブ制御プリントサービスのスケジュール要求の受け付けから、スケジュールアップを発行するまでのデバイススケジューラ900のスケジュール管理部の処理の流れを示すフローチャートである。 ジョブ管理部903のジョブ状態通知イベントの受け付けからジョブリスト要求の受け付けに対する処理を示すフローチャートである。 プリンタコントローラ519からのデバイス状態、ジョブ状態通知を受け付けた時のデバイス管理部の処理を示すフローチャートである。 クライアントコンピュータ101〜103からの要求や通知、デバイス管理部からの通知、ジョブ管理部903への要求や通知を処理する通信接続管理部901の処理を示すフローチャートである。 ジョブ制御プリントサービスが管理する印刷ジョブの情報とジョブ管理キューを表す図である。 ジョブ制御プリントサービスが管理するプリンタキュー、出力ポートの情報を表す図である。 ジョブ制御プリントサービスが印刷データを受け付けてから、印刷データの転送までの流れを示すフローチャートである。 デバイススケジューラ900からの通知やコマンドを受け付けた場合のジョブ制御プリントサービスの処理の流れを示すフローチャートである。 ジョブ制御プリントサービスのスケジュール要求の受け付けから、スケジュールアップを発行するまでのデバイススケジューラ900のスケジュール管理部の処理の流れを示すフローチャートである。

Claims (8)

  1. 印刷装置であって、
    コンピュータから印刷要求を受信する受信手段と、
    ジョブ情報に対応するジョブを順番に実行するために、前記受信手段で受信した印刷要求に対応するジョブ情報を登録する登録手段と、
    前記受信手段によって前記印刷要求を受信した場合、前記登録手段によって登録されている他のジョブ情報が有るかを判定する判定手段と、
    前記登録手段によって登録されている他のジョブ情報がないと前記判定手段によって判定された場合に、前記登録手段によって前記ジョブ情報を登録する前に、前記印刷要求を送信したコンピュータに対して印刷データの要求を行う印刷データ要求手段と、
    を有することを特徴とする印刷装置。
  2. 前記判定手段は更に、前記受信手段によって前記印刷要求を受信した場合、前記印刷装置が印刷可能な状態にあるか否かを判定し、
    前記印刷データ要求手段は、
    前記判定手段によって、前記登録手段によって他のジョブ情報が登録されておらず、かつ前記印刷装置が印刷可能な状態にあると判定した場合に、前記登録手段によって前記ジョブ情報を登録する前に、前記印刷要求を送信したコンピュータに対して印刷データの要求を行うことを特徴とする請求項1に記載の印刷装置。
  3. 前記登録手段に登録されている他のジョブ情報が有ると前記判定手段によって判定された場合に、前記登録手段によって前記ジョブ情報を登録した後に、前記印刷要求を送信したコンピュータに対して印刷データの要求を行う第2の印刷データ要求手段を有することを特徴とする請求項1あるいは2に記載の印刷装置。
  4. 前記登録手段によって登録されたジョブ情報を取得する取得要求を受付ける受付手段と、
    前記受付手段によって前記取得要求を受付けた場合に、前記登録手段によって登録されたジョブ情報を送信するジョブ情報送信手段とをさらに備えることを特徴とする請求項1乃至3のいずれかに記載の印刷装置。
  5. 印刷装置に対して着脱可能なネットワーク接続装置であって、
    コンピュータから印刷要求を受信する受信手段と、
    ジョブ情報に対応するジョブを順番に実行するために、前記受信手段で受信した印刷要求に対応するジョブ情報を登録する登録手段と、
    前記受信手段によって前記印刷要求を受信した場合、前記登録手段に登録されている他のジョブ情報が有るかを判定する判定手段と、
    前記登録手段に登録されている他のジョブ情報がないと前記判定手段によって判定された場合に、前記登録手段によって前記ジョブ情報を登録する前に、前記印刷要求を送信したコンピュータに対して印刷データの要求を行う印刷データ要求手段と、
    を有することを特徴とするネットワーク接続装置。
  6. 前記判定手段は更に、前記受信手段によって前記印刷要求を受信した場合、前記印刷装置が印刷可能な状態にあるか否かを判定し、
    前記印刷データ要求手段は、
    前記判定手段によって、前記登録手段によって前記他のジョブ情報が登録されておらず、かつ前記印刷装置が印刷可能な状態にあると判定した場合に、前記登録手段によって前記ジョブ情報を登録する前に、前記印刷要求を送信したコンピュータに対して印刷データの要求を行うことを特徴とする請求項5に記載のネットワーク接続装置。
  7. 印刷制御方法であって、
    コンピュータから印刷要求を受信する受信工程と、
    ジョブ情報に対応するジョブを順番に実行するために、前記受信工程で受信した印刷要求に対応するジョブ情報を登録手段に登録する登録工程と、
    前記受信工程で前記印刷要求を受信した場合に、前記登録手段に登録されている他のジョブ情報が有るかを判定する判定工程と、
    前記登録手段に登録されている他のジョブ情報がないと前記判定工程で判定された場合に、前記登録手段に前記ジョブ情報を登録する前に、前記印刷要求を送信したコンピュータに対して印刷データの要求を行う印刷データ要求工程と、を有することを特徴とする印刷制御方法。
  8. 印刷装置内のプロセッサに、印刷制御方法を実行させることにより印刷を制御する印刷制御プログラムであって、
    前記印刷制御方法は、
    コンピュータから印刷要求を受信する受信工程と、
    ジョブ情報に対応するジョブを順番に実行するために、前記受信工程で受信した印刷要求に対応するジョブ情報を登録手段に登録する登録工程と、
    前記受信工程で前記印刷要求を受信した場合に、前記登録手段に登録されている他のジョブ情報が有るかを判定する判定工程と、
    前記登録手段に登録されている他のジョブ情報がないと前記判定工程で判定された場合に、前記登録手段に前記ジョブ情報を登録する前に、前記印刷要求を送信したコンピュータに対して印刷データの要求を行う印刷データ要求工程と、を有することを特徴とする印刷制御プログラム。
JP2004249018A 2004-08-27 2004-08-27 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム Expired - Fee Related JP4618778B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004249018A JP4618778B2 (ja) 2004-08-27 2004-08-27 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム
US11/191,813 US8072628B2 (en) 2004-08-27 2005-07-28 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004249018A JP4618778B2 (ja) 2004-08-27 2004-08-27 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム

Publications (3)

Publication Number Publication Date
JP2006062257A JP2006062257A (ja) 2006-03-09
JP2006062257A5 JP2006062257A5 (ja) 2007-07-26
JP4618778B2 true JP4618778B2 (ja) 2011-01-26

Family

ID=35942615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004249018A Expired - Fee Related JP4618778B2 (ja) 2004-08-27 2004-08-27 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム

Country Status (2)

Country Link
US (1) US8072628B2 (ja)
JP (1) JP4618778B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437439B2 (en) * 2002-12-03 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for the hybrid harvesting of information from peripheral devices
US7949740B2 (en) * 2007-04-04 2011-05-24 Xerox Corporation Methods and systems for prioritized servicing or maintenance of networked printers
US8902450B2 (en) * 2007-04-04 2014-12-02 Xerox Corporation Methods and systems for soft failure detection for networked printers
US9329822B2 (en) * 2007-04-04 2016-05-03 Xerox Corporation Methods and apparatus for improved operation of networked printing system
JP5800579B2 (ja) * 2011-05-31 2015-10-28 キヤノン株式会社 情報処理装置、印刷制御方法及びコンピュータプログラム
JP7071132B2 (ja) * 2018-01-19 2022-05-18 キヤノン株式会社 印刷装置、印刷方法、プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066854A (ja) * 1998-08-19 2000-03-03 Ricoh Co Ltd プリントサーバシステム
JP2000333026A (ja) * 1999-05-17 2000-11-30 Fuji Xerox Co Ltd 画像形成装置、画像形成装置用拡張ボックス、及び画像編集システム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2742073B2 (ja) * 1988-11-29 1998-04-22 株式会社日立製作所 印刷制御方法および装置
JPH04227537A (ja) * 1990-10-10 1992-08-17 Fuji Xerox Co Ltd プリンタおよびプリントジョブ制御装置
JP2762401B2 (ja) * 1992-05-08 1998-06-04 富士通株式会社 プリントサーバ制御方式
US5287194A (en) * 1992-11-25 1994-02-15 Xerox Corporation Distributed printing
US6213652B1 (en) * 1995-04-18 2001-04-10 Fuji Xerox Co., Ltd. Job scheduling system for print processing
US5754747A (en) * 1995-06-06 1998-05-19 Apple Computer, Inc. Architecture for network printing systems
US5715379A (en) * 1995-10-30 1998-02-03 Xerox Corporation Architecture for a digital printer with multiple independent decomposers
US6552813B2 (en) * 1996-06-11 2003-04-22 Sun Microsystems, Inc. Directing print jobs in a network printing system
KR980006297U (ko) * 1996-07-04 1998-04-30 이경호 미니오리발과 발목보호밴드를 결합한 샌들
US6115132A (en) * 1996-12-27 2000-09-05 Canon Kabushiki Kaisha Printing system that transmits job information independently of print data
JPH10293661A (ja) * 1997-04-21 1998-11-04 Ricoh Co Ltd ネットワークプリンタシステム
JPH11134139A (ja) 1997-10-29 1999-05-21 Casio Electron Mfg Co Ltd 印刷システム
US7170617B1 (en) * 2000-04-17 2007-01-30 International Business Machines Corporation Method and apparatus for determining how to process incoming print jobs
US6874034B1 (en) * 2000-08-17 2005-03-29 Hewlett-Packard Development Company, L.P. Intelligent peer hybrid printing protocol
US6771386B1 (en) * 2000-09-14 2004-08-03 Kabushiki Kaisha Toshiba Image forming system
JP2002342046A (ja) * 2001-03-20 2002-11-29 Oce Technologies Bv 印刷キューを管理する方法およびプリンタ
SE525748C2 (sv) * 2002-10-28 2005-04-19 Devlabs Ab Förfarande för direkta utskrifter i nätverk
JP2006056069A (ja) * 2004-08-18 2006-03-02 Canon Inc 印刷制御装置および印刷制御方法
US7254355B2 (en) * 2005-05-20 2007-08-07 Ravi B. Sahay Apparatus and method to improve printer productivity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066854A (ja) * 1998-08-19 2000-03-03 Ricoh Co Ltd プリントサーバシステム
JP2000333026A (ja) * 1999-05-17 2000-11-30 Fuji Xerox Co Ltd 画像形成装置、画像形成装置用拡張ボックス、及び画像編集システム

Also Published As

Publication number Publication date
JP2006062257A (ja) 2006-03-09
US8072628B2 (en) 2011-12-06
US20060044600A1 (en) 2006-03-02

Similar Documents

Publication Publication Date Title
JP4420421B2 (ja) 情報処理装置およびその制御方法
US8009310B2 (en) Print control program, method of controlling printing apparatus, and print control unit
JP4827615B2 (ja) 情報処理装置、印刷システム、監視方法、プログラム及び記憶媒体
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
JP3854963B2 (ja) 情報処理装置、印刷システム、負荷分散印刷方法、及び制御プログラム
JP4125044B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム、及び記憶媒体
JP3833213B2 (ja) 情報処理装置、印刷システム、負荷分散印刷方法、及びプログラム並びに記憶媒体
JP3774702B2 (ja) 印刷制御プログラム及び情報処理装置
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 (ja) 印刷制御装置およびその方法
JP2008276494A (ja) 情報処理装置及びジョブ管理方法
JP2005173920A (ja) 情報処理装置、負荷分散印刷方法、プログラム、及び記憶媒体
JP2009037488A (ja) 印刷ジョブの制御方法及びその印刷システムと情報処理装置と印刷装置
JP2003316545A (ja) 情報処理装置及び方法
JP2021192190A (ja) 印刷システム
JP3880575B2 (ja) 印刷設定方法及びコンピュータ
JP4078292B2 (ja) 情報処理装置、情報処理方法およびプログラム並びにコンピュータ読み取り可能な記憶媒体
JP2007233555A (ja) 印刷制御プログラムおよび装置および方法
JP2007025970A (ja) プルプリントシステム
JP2008107921A (ja) プルプリントサーバとその制御方法
JP2006164155A (ja) 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム
JP2006164156A (ja) 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム
JP2007004680A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP4401640B2 (ja) プリンタ管理方法、情報処理装置、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070608

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

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

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

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4618778

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees