JP2008107980A - クライアントコンピュータ及び印刷システム及び情報処理方法 - Google Patents

クライアントコンピュータ及び印刷システム及び情報処理方法 Download PDF

Info

Publication number
JP2008107980A
JP2008107980A JP2006288811A JP2006288811A JP2008107980A JP 2008107980 A JP2008107980 A JP 2008107980A JP 2006288811 A JP2006288811 A JP 2006288811A JP 2006288811 A JP2006288811 A JP 2006288811A JP 2008107980 A JP2008107980 A JP 2008107980A
Authority
JP
Japan
Prior art keywords
job
print
client
server
print queue
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.)
Granted
Application number
JP2006288811A
Other languages
English (en)
Other versions
JP4298738B2 (ja
Inventor
Kazuhisa Ebuchi
和久 江渕
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 JP2006288811A priority Critical patent/JP4298738B2/ja
Priority to US11/871,815 priority patent/US8136110B2/en
Priority to CN200710181574.3A priority patent/CN101169708A/zh
Priority to EP07119232A priority patent/EP1936490A3/en
Publication of JP2008107980A publication Critical patent/JP2008107980A/ja
Application granted granted Critical
Publication of JP4298738B2 publication Critical patent/JP4298738B2/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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • 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/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • 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)
  • Computer And Data Communications (AREA)

Abstract

【課題】 クライアントで例えばレンダリングなどの印刷処理制御を行うオペレーティングシステムを用いる印刷システムにおいても、従来、印刷の完了および印刷処理の進行を柔軟に監視することが困難であった。
【解決手段】 本発明は、印刷キュー202に存在するジョブの情報を取得し、取得した情報に基づき、印刷キュー202からクライアントコンピュータ201での印刷処理に対応するクライアントジョブが消滅しても印刷キューの監視を継続し、前記印刷キュー202からサーバーコンピュータ203での印刷処理に対応するサーバージョブ215が消滅した場合に、印刷キュー202の監視を終了することを特徴とする。
【選択図】 図3

Description

クライアントからの印刷指示に基づく印刷処理の完了および印刷ジョブの有無など、印刷ジョブの状態を正しく監視する方法および装置に関する。
プリンタの印刷処理過程において、排紙、給紙や印字といった通常ステータス、あるいは紙詰まりやインク切れといったエラーステータスなどの、プリンタの様々な動作状態をもとに印刷処理の進行状況を監視する方法がある。これらの状態監視に加えて、プリンタに対応するスプーラに投入された印刷ジョブのスプール、デスプール、あるいは存否などの状態を元に、印刷処理の進行を監視する方法もある。
このような監視手段を持つ印刷状況監視システムにおいて、印刷処理完了を検出するための最も簡単な方法として、プリンタが印字状態から排紙動作を経てアイドル状態に変化する遷移を見張る手法がある。
但し、ホストコンピュータ内でジョブが未だスプール状態でプリンタに転送されていない場合、印刷ジョブの待ち行列である印刷キューの一時停止などが設定されている場合では、プリンタの動作状態のみを監視する方法では、処理完了の正確な判断が出来ない。
また、ホストコンピュータ内の印刷キューに存在するジョブの存否のみを監視する方法では、プリンタへのデータ転送が完了した時点で印刷完了と見なしてしまう。そのため、その後プリンタ側で印字が続く場合でも、エラーが発生して停止している場合でも、印刷完了と見なしてしまう。
そこで、例えば特許文献1では、プリンタの動作状態および印刷キュー内のジョブの存否を元に判断することで、より精度の高い印刷処理完了の検出を行っている。具体的には、監視対象となる印刷ジョブが印刷キュー内に存在しないと確認され、かつプリンタの動作状態が印刷可能な状態、即ち印刷が行われていないことが確認された場合に印刷完了と判断する手法である。
この他、マイクロソフト社のウィンドウズ(登録商標)2000やウィンドウズ(登録商標)XPなどのオペレーティングシステムでは、スプールサブシステムにおいて、ランゲージモニタと呼ばれるプロセスが実行されるが、これと連携する手法もある。スプールサブシステムとは、プリントデータを一度スプールしてから出力するシステムのことである。
ランゲージモニタは、IEEE1284やUSB1.1、USB2.0などに準拠した双方向通信によってコンピュータに接続されたプリンタとの間で通信を行いつつ、印刷データをプリンタに転送することが可能である。
ここでランゲージモニタが印字データの全てをプリンタに転送した後、プリンタが最終ページを排紙した事を確認してからスプーラに制御を返すことにより、プリンタから最終ページが確実に出力されてから印刷キュー内のジョブが消滅することになる。また、ユーザにより、印刷ジョブが処理の途中でキャンセルされた場合も印刷キューのジョブが書滅することになる。
これにより、例えばステータスモニタなどは、印刷処理の進行を印刷キューと通信を行うことで監視し、印刷キューからのジョブの消滅をもって、印刷処理が終了したと見なすことが可能である。例えば、マイクロソフト社のウィンドウズ(登録商標)XPなどのオペレーティングシステムから成るプリンタネットワーク環境において説明する。それらプリンタネットワーク環境においては、プリントサーバーコンピュータ(以下、サーバー)とクライアントコンピュータ(以下、クライアント)の印刷システムにおける印刷ジョブの状態などを1つの印刷キューで監視する。そして、ある印刷処理に関する印刷ジョブの状態は、サーバーまたはクライアントでの処理に関わり無く、共有されている印刷キューを監視することでその情報が得られた。つまり、印刷ジョブの状態が常に反映される状態で印刷キューに印刷ジョブ状態が存在することになる。本実施形態においては、印刷キューはサーバーが保持しており、ステータスモニタはその印刷キューを監視している。この際、サーバーの印刷キューにはクライアントで処理中のジョブの情報も反映されているので、クライアントとサーバーで1つの印刷キューを共有していることになる。尚、印刷キューの実態となる記憶領域などに関しては、クライアント、サーバーのどちらにあってもよく、その際には両者内で処理しているジョブの情報は、印刷キューの状態を監視することで得ることができる。
このシステムにおける、サーバーとクライアントの印刷処理とサーバーとクライアントで共有される印刷キュー内のジョブ、およびクライアントにおけるステータスモニタの処理の関係を、図6に示す。尚、図6は図の上部から下部に時間的に遷移していく様子を示している。
クライアント601にて、任意のアプリケーションなどから604にて印刷ジョブが発行されると、プリンタドライバ内のソフトウェアモジュール、本実施形態においては後述する、UIドライバ103からステータスモニタが607にて起動される。
ステータスモニタは607の起動処理が終了すると、608のステータス監視フェーズに遷移し、610、611、612といった、サーバーとクライアントで共有されている印刷キュー602との通信を開始する。この通信により、印刷キュー602内の印刷ジョブの存否を取得する。
604にて発行された印刷ジョブは、606にてサーバーへ送信される。
サーバー603では、616において、クライアント601から送信された印刷ジョブの受信を開始する。これと共に印刷キュー602には、印刷ジョブ615が出現する。
サーバー603では、617にて、616で受信した印刷ジョブを実行する。ここで行われる印刷ジョブの実行とは、印刷ジョブの印刷出力処理に関する一連の処理を示し、主にサーバー上での印刷ジョブのレンダリング処理やプリンタへのデータ転送処理などを示す。レンダリングとは、数値データとして与えられた物体や図形に関する情報を計算によって画像化することである。
本図では、プリンタからの応答を元に、プリンタでの印刷処理が完了するまで印刷ジョブ実行状態617が継続する形態を示している。その後、印刷ジョブ実行状態617の終了と共に印刷キュー602から印刷ジョブ615が消滅する。
608にて印刷キュー602との通信を続けているステータスモニタは、通信613にて、印刷キュー602からジョブが完全に消滅したことを検知すると、609にて終了処理を行い、ステータスモニタとしての動作を終了する。
クライアントから印刷を行った場合、図6からわかるように、その印刷データの実体がクライアント側にあってもサーバー側にあっても、印刷キューにおいて終始一つのジョブとして存在する。従ってステータスモニタは、クライアントにおいてもサーバーにおいても、印刷キューを一つ監視すればよい。
特開2004−21692号公報
しかしながら、スプールサブシステムを含む印刷システムの構成方法によっては、ネットワーク環境において、従来手法では正常に印刷完了および印刷可能状態を検出できない場合がある。
印刷システムによっては、サーバーに接続されたプリンタに対してクライアントから印刷を実行する際、クライアントで印刷ジョブのレンダリングを行う、クライアントサイドレンダリングという手法がある。
この手法により、大規模ネットワークにおいてもサーバーへの処理負荷集中を回避することができ、またプリンタドライバがレンダリング過程で提供する印刷結果のプレビュー機能などをクライアントで利用することが可能となる。また、クライアントでレンダリングを行うことによりクライアント内で印刷ジョブが完成するため、クライアント内に独立した印刷キューを形成する事が可能となる。しかし1度の印刷処理として、ジョブ管理やジョブ操作を簡潔にするため、サーバーとクライアントとで行われる印刷処理に基づく印刷ジョブの状態を、1つの印刷キューにより監視することが望ましい。
クライアントサイドレンダリングでは、クライアントから印刷処理を開始した場合、印刷キューにその印刷処理に対応するジョブが出現する。しかしながら、サーバーに接続されたプリンタから印刷出力される前に、間もなく印刷キューから印刷ジョブが消滅する。そして僅かな時間を置いた後、再びその印刷処理に対応する印刷ジョブが出現し、サーバーに接続されたプリンタから印刷出力される。この印刷キューからジョブが一時的に消滅してしまうのは、クライアントでレンダリング処理を行うために、クライアントからサーバーへ印刷データの転送などを行うといった、クライアントでもサーバーでも処理を行っていないタイミングが生じるからである。
また、クライアントサイドレンダリングにおける処理動作の詳細については、図7を用いて後述する。
また、最初に出現した印刷ジョブを識別するための識別子であるジョブIDと、2回目に出現する印刷ジョブのジョブIDは異なる。ここでジョブIDは、ドキュメント名、所有者名などのジョブ情報と共に印刷システム乃至オペレーティングシステムから対象ジョブに対して割当てられる。ジョブIDは、ジョブ情報などと共に取得することが可能で、これをもとに、印刷キュー内の複数のジョブから対象のジョブを一意に特定することが可能である。また、本発明におけるジョブ情報とは、印刷ジョブの発行元情報、印刷ジョブに対応する処理を行っている装置の情報、印刷設定やエラーステータスに関する情報などを含むものである。
つまり、クライアントサイドレンダリングでは、印刷キューにおいて印刷ジョブが一度消滅し、印刷ジョブを監視できない期間が存在する場合がある。また、クライアントにおいて1つの印刷ジョブに対する、印刷開始時に割当てられた印刷ジョブIDと、サーバー転送時に印刷キューから一時消滅し、その後サーバーで割当てられた印刷ジョブIDとが異なる。これらにより、印刷キュー内の印刷ジョブの存否とプリンタの動作状態から印刷処理の進行や終了を判断する従来の手法では、破綻をきたすことになる。
例えば、印刷完了と共に印刷キューのステータスモニタによる監視を自動終了する印刷監視システムが、不適切なタイミングで監視を終了することがある。また、印刷完了を見届けてから課金を行う課金システムにおいて、不正なカウントアップが発生することもある。複数のプリンタを用いた分散処理システムにおいて、まだ印刷が進行しているプリンタに対する不適切なジョブの分配が行われる、といった不具合も発生してしまう。
この印刷ジョブが一度消滅する現象を避けるためには、クライアント内の印刷データに対応する印刷ジョブは、印刷キューに反映しない手法がある。しかし、その場合は、印刷開始からサーバーへの印刷データ到達する期間、印刷キュー内のジョブが管理できない。よって、その期間の監視を行えず、印刷処理の開始が検出できない、もしくはユーザが印刷を中止したくともできない、といったデメリットがある。
本発明では、上記の事情を鑑み、クライアントで例えばレンダリングなどの印刷処理制御を行うオペレーティングシステムを用いる印刷システムにおいても、印刷の完了および印刷処理の進行を柔軟に監視する方法を提案することを目的としている。
上記課題を解決するために、本発明は、クライアントコンピュータからの印刷要求に基づくジョブを監視する情報処理装置における情報処理方法であって、印刷キューに存在するジョブの情報を取得し、取得した情報に基づき、前記印刷キューからクライアントコンピュータでの印刷処理に対応するクライアントジョブ消滅しても印刷キューの監視を継続し、前記印刷キューからサーバーコンピュータでの印刷処理に対応するサーバージョブが消滅した場合に、印刷キューの監視を終了することを特徴とする。
本発明により、クライアントで例えばレンダリングなどの印刷処理制御を行うオペレーティングシステムを用いる印刷システムにおいても、印刷の完了および印刷処理の進行を柔軟に監視することが可能である。
以下、本発明を実施するための最良の形態を、具体例を用いて説明する。また、前記任意の印刷指示に対し最初に出現したあと、プリンタからの印刷を伴う事無く終了するジョブをクライアントジョブ、再び出現し、プリンタからの印刷を伴うジョブをサーバージョブと記して説明する。
(第1の実施形態)
図8は、コンピュータ1100と画像形成装置1300とがネットワークなどを介して通信可能に接続されている様子を示す。
まず、コンピュータ100の構成について説明する。尚、図9に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態のコンピュータ100には一般的な情報処理装置のハードウェア構成を適用できる。後述する、図1におけるクライアント151やサーバー152は、コンピュータ1100と同様なハードウェア構成とする。また、後述するプリンタ109は、画像形成装置1300と同様なハードウェア構成とする。
図9において、CPU1201は、ROM1203のプログラム用ROMに記憶された、或いはハードディスク1211からRAM1202にロードされたOSやアプリケーション等のプログラムを実行する。ここでOSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。RAM1202は、CPU1201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)1205は、キーボード1209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)1206は、CRTディスプレイ1210の表示を制御する。ディスクコントローラ(DKC)1207は各種データを記憶するハードディスク(HD)1211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。PRTC1208は、接続された画像形成装置1300との間の信号の交換を制御する。NC1212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
次に、画像形成装置1300の構成について説明する。図示するように、画像形成装置300において、301は画像形成装置1300のCPUであり、ROM1302や、外部メモリ1303に記憶された制御プログラムに基づいてシステムバス1304に接続される各ブロックを制御する。CPU1301の処理により生成された画像信号が、印刷部I/F1305を介して、印刷部(画像形成装置エンジン)306に出力情報として出力される。また、CPU1301は、入力部1307を介してホストコンピュータ1100との通信処理が可能となっており、画像形成装置1300内の情報等をホストコンピュータ1100に通知できる。
ROM1302内のプログラムROMには、CPU1301の制御プログラム等を記憶している。ROM1302内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等を記憶している。ROM1302内のデータ用ROMには、ハードディスク等の外部メモリ1303がない画像形成装置の場合、ホストコンピュータ1100上で利用される情報等を記憶している。
RAM1308は、CPU1301の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。また、RAM1308は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。
外部メモリ1303は、メモリコントローラ(MC)1309によりアクセスを制御される。外部メモリ1303は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル1311は操作のためのスイッチ及びLED表示器等で構成されている。
スキャナI/F1312は、スキャナ部1313から受取った画像データに対して、補正、加工、及び編集を行う。スキャナ部1313は、原稿上の画像を露光走査して得られた反射光をCCDに入力することで画像の情報を電気信号に変換する。さらに電気信号をR,G,B各色からなる輝度信号に変換し、当該輝度信号を画像データとして読み込む。ユーザが操作部1311から読み取り開始を指示すると、スキャナ部1313に原稿読み取り指示が与えられる。スキャナ部1312は、この指示を受けると原稿の読み取り動作を行う。尚、原稿の読み取り方法は原稿フィーダ(不図示)にセットされる自動送り方式の形態であってもよい。また、原稿を不図示のガラス面上に載せ、露光部を移動させることで原稿の走査を行う方法であってもよい。
ここで図9における画像形成装置1300は、スキャナ部やスキャナインターフェースを備えている。しかしながら、スキャナ部を保持しないコンシューマ向けのインクジェットプリンタなど、クライアントからの印刷データに基づき印刷を行うことが可能な画像形成装置で有るならば、後述する実施形態は適用可能である。
図1は本発明を適用可能な印刷システムのソフトウェアの構成を示すブロック図である。
図1はネットワーク環境下の構成を示す。図1において、151はクライアント、152はプリンタが接続されたサーバーである。図1におけるクライアント151内のモジュールは主にプリンタドライバの構成を示している。具体的には、本実施形態において、プリンタドライバには、UIドライバ103、グラフィックスドライバ106及びステータスモニタ114などが含まれる。尚、プリンタドライバの構成として、更にプリントプロセッサ105やなどを含むものであっても、本実施形態には適用可能である。
クライアント151において、アプリケーション101は文書を作成し、その文書を印刷するためにUIドライバ103にプリンタシステムの機能を問い合わせる。その後、オペレーティングシステムのグラフィカルデバイスインターフェース(以下GDIと記す)102を含む印刷システムに印刷開始を通知する。ここでGDI102は、アプリケーション101から印刷開始の通知を受けると、UIドライバ103にアプリケーション101による印刷開始の印刷イベントを通知する。
続いてアプリケーション101は印刷対象の文書の印刷データをGDI102に供給し印刷処理を続行する。
GDI102を経由した印刷データは、スプーラ112を介してスプールファイル104に格納される。
プリントプロセッサ105は、スプールファイル104から印刷データを読み出し、その印刷データはグラフィクスドライバ106を介した後、サーバー152へ転送される。
転送された印刷データは、サーバー152において、スプーラ113を介してスプールファイル107として一旦蓄積されたあと、ランゲージモニタ108に送られる。ランゲージモニタ108は、プリンタ109と双方向通信を行いながら、印刷データをプリンタ109へと送信する。
またランゲージモニタ108は、プリンタから受信した情報や送信する印刷データを元に、現在のプリンタや印刷の状況をステータスモニタ110に伝え、ステータスモニタ110がその表示を行う。
ステータスモニタ110はさらに、クライアントとサーバーが共有している印刷キュー111を監視し、印刷ジョブの有無やステータスを取得する。
尚、インクジェットプリンタのようなコンシューマ向けのプリンタにおけるステータスモニタ110は、操作性の面からオペレーティングシステム内に常駐する。そして、印刷処理の有無に関わらず複数のプリンタを継続監視するのではなく、特定のプリンタおよびその印刷キューを、印刷処理が発生している間だけ監視する手法が有効である。
このようなステータスモニタは、そのプリンタに対する印刷が開始された時に起動し、前記印刷キューにスタックされる印刷ジョブだけを監視し、前記プリントキューに印刷ジョブが無くなった時点で、ステータスモニタ機能を終了する、というような仕様である。
図7は、従来の印刷キューに対する監視方法における、クライアントサイドレンダリングを行う際のクライアントにおけるステータスモニタの処理について説明した図である。また、図7はサーバーとクライアントの印刷処理とサーバーとクライアントで共有される印刷キュー内のジョブの関係も示している。尚、図7は図の上部から下部に時間的に遷移していく様子を示している。
また、以下記載する実施形態においては、印刷キューに存在するジョブに対してクライアントジョブ、サーバージョブと表現する。クライアントジョブとは、クライアントで発行された印刷ジョブに対して、クライアント内でレンダリングなどの処理を行われている間に印刷キューに出現している印刷ジョブのことを示す。また、サーバージョブとは、クライアントから受信した印刷ジョブに対して、サーバー内で処理を行っている間に印刷キューに出現している印刷ジョブのことを示す。また、印刷キューに存在する印刷ジョブには、ジョブ情報としてクライアントジョブかサーバージョブかを、ステータスモニタが判断するための情報が含まれている。
図7を用いて、従来の印刷キューに対する監視方法での課題を具体的に説明する。
まず、クライアントとサーバーで行われる印刷処理とそれに基づく印刷キュー252における印刷ジョブの状態について説明する。
クライアント251にて、任意のアプリケーションなどから254にて印刷ジョブが発行される。
254にて発行された印刷ジョブは、255にてプリンタドライバ(本実施形態においては、グラフィックスドライバ106)によって主にレンダリングなどの処理が施される。レンダリング処理により、印刷ジョブから印刷データが生成される。クライアントでのレンダリング処理などが行われる間、印刷キュー202には、クライアントジョブ214が出現する。
生成された印刷データは、256にて、サーバーへの送信が行われる。キューに出現していたクライアントジョブ264は、この印刷ジョブの送信256の開始と同時に消滅する。
一方、サーバー253では、266において、クライアント251から送信された印刷ジョブの受信を開始する。これと共に印刷キュー252には、サーバージョブ265が出現する。
サーバー253では、267にて、266で受信した印刷ジョブに対する印刷、すなわちプリンタへのデータ転送を行う。
プリンタでの印刷処理が完了するまで印刷ジョブ実行267の状態が継続し、この場合、印刷ジョブ実行267の状態の終了と共に印刷キュー252からサーバージョブ265が消滅する。
次に、上記のクライアントサイドレンダリングを用いたシステムにおける、ステータスモニタ110における印刷キュー252の監視について説明する。
254にて印刷ジョブが発行された際に、UIドライバ103からステータスモニタが257にて起動される。尚、ステータスモニタ110を起動する指示を行うのはプリンタドライバの何れかのモジュールであればよく、後述する実施形態においても同様である。
ステータスモニタは257の起動処理が終了すると、258のステータス監視フェーズに遷移し、サーバーとクライアントで共有されている印刷キュー252との通信を開始する。この通信により、印刷キュー252内の印刷ジョブの存否を取得する。
ステータス監視257の状態であり、印刷キュー252との通信を続けているステータスモニタは、印刷キュー監視のための通信260、261、262を行う。
ステータスモニタは、通信261によって印刷キュー252に印刷ジョブ(クライアントジョブ)が存在するという情報を取得する。そして、通信262により印刷ジョブが消滅したという情報を取得し、ステータスモニタは監視を終了する。
しかしながら、図7で示されるように印刷キュー252にはその後、サーバージョブが出現している。つまり従来の監視方法では、サーバージョブに対する監視を行えず、ステータスモニタが終了してしまうという課題がある。
上記した、クライアントサイドレンダリングにおける挙動が行われる理由について説明する。
クライアントにおいて印刷が開始されると、クライアント内でレンダリングが行われ、印刷ジョブが生成される。また、サーバーに印刷データが到達すると、サーバーにおいても受信したデータに基づく印刷ジョブが生成されることになる。
しかし前述の通り、印刷システムによってはクライアントとサーバーとで一つの印刷キューを共有するように監視している。よって、クライアントにおける一つの印刷指示に対して、クライアントでレンダリング中の印刷データと、サーバーに到達した印刷データとで別々の印刷ジョブとして出現することになってしまう。
そこでクライアントは、グラフィックスドライバ106によってレンダリングされたデータがサーバーに転送され始めると、クライアント内の印刷データに対応する印刷ジョブは、印刷キューに反映しないようにすることが考えられる。尚、レンダリングを行うのはプリンタドライバの何れかのモジュールであればよく、後述する実施形態においても同様である。また、クライアントサイドレンダリングを指示するのは、オペレーションシステムやアプリケーションから指示されてもよく、またプリンタドライバがクライアント乃至はオペレーションシステムの情報に基づき自分で行ってもよい。
これが前述のジョブの一時消滅であり、これにより、一つの印刷指示に対応する印刷ジョブが同一印刷キュー内に2つ存在してしまう事を回避している。
しかしこの制御では、クライアントにおいてサーバーに向けた印刷データの転送が開始されてから、サーバーにおいて印刷データを受信し、印刷ジョブを生成するまでの期間、印刷キュー内に印刷ジョブが存在しないことになる。
本発明の印刷システムにおける、サーバーとクライアントの印刷処理とサーバーとクライアントで共有される印刷キュー内のジョブ、およびクライアントにおけるステータスモニタの処理の関係を、図2(a)、(b)、(c)に示す。尚、各図は図の上部から下部に時間的に遷移していく様子を示している。
まず図2(a)、(b)、(c)に共通して行われる処理について、説明する。
クライアント201にて、任意のアプリケーションなどから204にて印刷ジョブが発行されると、UIドライバ103からステータスモニタが207にて起動される。
ステータスモニタは207の起動処理が終了すると、208のステータス監視フェーズに遷移し、サーバーとクライアントで共有されている印刷キュー202との通信を開始する。この通信により、印刷キュー202内の印刷ジョブの存否を取得する。
204にて発行された印刷ジョブに基づき、205にてグラフィックスドライバ106によってレンダリングされ、印刷データが生成される。このレンダリング処理に対応して印刷キュー202には、クライアントジョブ214が出現する。
印刷ジョブは、206にて、サーバーへの送信が行われる。キューに出現していたクライアントジョブ214は、この印刷ジョブの送信206の開始と同時に消滅する。
一方、サーバー203では、216において、クライアント201から送信された印刷ジョブの受信を開始する。これと共に印刷キュー202には、サーバージョブ215が出現する。
サーバー203では、217にて、216で受信した印刷ジョブに対する印刷、すなわちプリンタへのデータ転送を行う。
プリンタでの印刷処理が完了するまで印刷ジョブ実行217の状態が継続し、この場合、印刷ジョブ実行217の状態の終了と共に印刷キュー202からサーバージョブ215が消滅する。
ステータス監視217の状態であり、印刷キュー202との通信を続けているステータスモニタは、印刷キュー監視のための通信213を行う。この際、印刷キュー202からジョブが完全に消滅したことを検知すると、209にてステータスモニタの終了処理を行い、ステータスモニタとしての動作を終了する。
以降、図2(a)、(b)、(c)のそれぞれの差異について説明を行う。各図において、ステータスモニタ起動後、ステータス監視状態108にステータスモニタ110が遷移した際に、最初の印刷キュー監視のための通信を行った時の印刷キューの状態に違いがある。この差異の要因は、主にステータスモニタ110の起動において、コンピュータの処理状態などにより起動時間が異なることが挙げられる。また、クライアントからの印刷ジョブの処理量やデータ量の大きさにより、印刷ジョブ生成やクライアント・サーバー間のデータ転送時間が異なることも挙げられる。
具体的には、図2(a)では、ステータス監視状態108にステータスモニタ110が遷移した際の、最初の印刷キュー監視の通信210において、印刷キュー202にはクライアントジョブ214が存在する状態を検出している。
図2(b)では、ステータス監視状態108にステータスモニタ110が遷移した際の、最初の印刷キュー監視の通信211において、印刷キュー202にはクライアントジョブ214もサーバージョブ215も存在しない状態を検出している。
図2(c)では、ステータス監視状態108にステータスモニタ110が遷移した際の、最初の印刷キュー監視の通信212において、印刷キュー202にはサーバージョブ214が存在する状態を検出している。
図2(b)、(c)において、ステータスモニタ110はサーバーに対してサーバー転送後のジョブIDなどの取得を行う。クライアントサイドレンダリングでは、前述したようにクライアントで発行されたジョブのジョブIDとサーバーで発行されたジョブIDが異なる。しかしながら、サーバーに予め監視対象のサーバージョブのジョブIDを問い合わせることで、ジョブIDを用いて監視対象の印刷ジョブを識別する場合でも、的確に印刷ジョブの監視が行える。
各図の印刷キューの状態が異なるといった場合でも、正確にジョブを監視するために行う処理は、後述する図3で示すフローチャートを用いて詳細に説明する。
図3はステータスモニタ110が印刷キュー202のステータスを監視する際の、クライアント内で行われる処理の制御プログラムに基づく、フローチャートの一例を示す図である。制御プログラムは、CPU1201で読み込み実行され、主にROM1203やHD1211などに格納されている。
ステップ301において、印刷キューのジョブ情報を取得する。
ステップ302において、ステップ301で取得した情報をもとに、印刷キューにおけるジョブの存否を確認する。ジョブが存在しなかった場合はステップ303に遷移し、ジョブが存在した場合はステップ304へと遷移する。また、ジョブが存在している場合は、ステータスモニタによる、ジョブ情報およびプリンタステータスの取得、分析、表示を行い、これを対象ジョブが存在する間継続する。ここで、ジョブが存在しない状態というのは、前述した図2(b)などの通信211などのタイミングでステータスモニタが監視を始めた場合を示す。
ステップ303において、ジョブとしては存在していないがサーバー転送予定のジョブ情報およびジョブIDが存在するか否かを確認する。サーバー転送予定のジョブ情報およびジョブIDが、存在する場合はステップ305に遷移する。また、サーバー転送予定のジョブ情報およびジョブIDが、存在しなかった場合は、ステータスモニタの動作を終了し、印刷キューのモニタリングを終了する。
ステップ304において、印刷キューに存在するジョブがクライアントジョブであるかどうかを確認する。ステップ301で取得したジョブ情報に、クライアントジョブであることを示す情報が含まれていれば、ステップ305に遷移する。これは図2(a)で示される状態である。また、クライアントジョブであることを示す情報が含まれていなければ、ステップ308に遷移する。これは、図2(c)で示される状態である。
ステップ305において、ジョブがサーバーに転送された後に割当てられる予定のジョブIDを、スプーラ113から取得する。
続いてステップ306およびステップ307にて、印刷キューをポーリング、あるいはシステムからのイベント通知を受けることにより、該予定ジョブIDを持つ印刷ジョブが印刷キュー内に出現するのを待つ。該予定ジョブIDを持つジョブが出現したことを検出するとステップ308に遷移する。
ステップ308において、従来のステータスモニタの処理である、ジョブ情報およびプリンタステータスの取得、分析、表示を行い、これを対象ジョブが存在する間継続する。対象ジョブが存在しなくなった場合は、ステップ302へと戻り、その他のジョブに対して同様の処理を繰り返す。
本実施形態において、ステータスモニタ110が起動し、印刷キューの監視を行っている間は、印刷ジョブのエラーステータスや処理状態などをクライアントのCRT1210などのディスプレイを介して通知するといった構成をとることができる。これにより、ユーザに自身の指示した印刷処理の状態を通知する通知機能、処理の途中での印刷キャンセル指示を行うためのUI表示によるジョブキャンセル機能を提供することができる。尚、本実施形態においては、クライアントサイドレンダリングに起因する印刷キューからの印刷ジョブの一時的な消滅があっても、ユーザの指示した印刷ジョブを終始通知し、上述したジョブキャンセル機能を提供することが可能である。
[第1の実施形態における本発明の効果]
従来、印刷キュー内にジョブが存在することを確認した上でモニタリングを開始したものの、それがクライアントジョブであった場合、間もなく消滅するのに追従して不正にモニタリングを終了してしまっていた。それに対し、本形態を実施したシステムを用いることで、印刷指示に対する印刷ジョブに基づくサーバージョブがクライアントジョブの消滅後、印刷キューに出現することを検知できるため、印刷キューにおけるステータス監視を正しく継続することが可能となる。つまり、クライアントサイドレンダリングなどの制御を行うオペレーティングシステムを用いる印刷システムにおいても、印刷の完了および印刷処理の進行を柔軟に監視することができる。
また、クライアントジョブが消滅し、サーバージョブが出現するまでのジョブ不在の期間にモニタリングを開始した場合においても、サーバージョブが出現することを検知できるため、モニタリングを正しく継続することが可能となる。
更に自明であるが、クライアントジョブが存在する間はサーバージョブIDとの関連付けが可能となる。そのため、ユーザに対してクライアントジョブとサーバージョブとをあたかも同一ジョブであるように提示し、印刷キャンセルなどジョブに対する操作を受け付ける事が可能となる。また該関連付けにおいて、各印刷ジョブのドキュメント名やオーナーといった情報が同一であるかを確認し、より誤りの少ない関連付けとすることも可能である。
尚、本形態を実施したシステムは、ネットワークではない、ローカル環境においてもそのまま適用可能である。本実施形態で示したフローを用いた上で、クライアントジョブである事を示す情報やサーバージョブの予定IDが取得されないだけであり、ローカル環境におけるモニタリングにおいても期待通りの動作が可能である。
また、クライアントより複数の印刷要求が連続で行われた場合を考える。図2をもとに具体的に説明すると、ステータスモニタ110がクライアントの印刷ジョブ(第1の印刷ジョブ)発行204とともに起動207する。その後、ステータスモニタが終了209する前に、新たにクライアントから印刷ジョブ(第2の印刷ジョブ)が発行された場合を考える。実際の印刷キュー202にジョブが現れる順番としては、第1の印刷ジョブに係るクライアントジョブ、第2の印刷ジョブに係るクライアントジョブ、第1の印刷ジョブに係るサーバージョブ、第2の印刷ジョブに係るサーバージョブといった順番などが考えられる。
この際には、ステータスモニタは第2の印刷ジョブの発行時には新たに起動せず、現在、起動しているステータスモニタにより、継続して監視を行う。また、ステータスモニタはクライアントで管理される第2の印刷ジョブの情報が参照可能である。
前述したタイミングにおいて、第1の印刷ジョブに係るサーバージョブが印刷キューから消滅すると、ステップ303の処理を行いステータスモニタは第2の印刷ジョブに係るサーバージョブを検出する。これにより、ステータスモニタ110はまだ監視すべき印刷ジョブがあるにも関わらず終了してしまう、または、クライアントに複数のステータスモニタが同時に起動してしまうといったことを防ぐことができる。
また、複数クライアントよりサーバーへ印刷要求された場合を考える。この際、第1のクライアントと、第2のクライアントから同じ印刷キューへ印刷ジョブの情報が反映される。ここで第1のクライアントについて考えると、第1のクライアント内のステータスモニタ110は、自身のクライアントから発行された印刷ジョブの監視を行う。図2をもとに具体的に説明する。印刷キュー202には、第1のクライアントからのクライアントジョブ(1)、第2のクライアントからのクライアントジョブ(2)が出現する。次いで第1のクライアントからのクライアントジョブに基づくサーバージョブ(3)、第2のクライアントからのクライアントジョブに基づくサーバージョブ(4)の順でジョブが出現するといった場合を考える。この際、第1のクライアント内のステータスモニタ110は、第1のクライアントからのクライアントジョブに基づくサーバージョブ(3)が消滅した時点で、監視を終了したい。しかし、第2のクライアントからのクライアントジョブに基づくサーバージョブ(4)が処理中か、もしくは印刷キュー202にジョブが存在しないので、サーバーにS303で示したようにサーバーにジョブ情報を問い合わせてジョブがあると判断して、ステータスモニタ110は監視を継続してしまう場合がある。よって、ステータスモニタ110は、自身のクライアントより発行された印刷ジョブを監視対象として、印刷キューやサーバーなどから取得したジョブ情報が監視対象でなければ、監視を終了するといった実施形態とすることも可能である。
さらに、クライアントジョブやサーバージョブが印刷キューに出現するのを待機している際に、ステータスモニタが印刷キューを監視している場合について考える。この際に、印刷処理がキャンセルされる、もしくはエラー状態に陥るなどして、印刷キューに印刷ジョブが出現しなくなる場合が考えられる。そうした場合も考慮し、一定時間たっても印刷キューに印刷ジョブが出現しない場合は、自動的にステータスモニタを終了させる。
〔第2の実施形態〕
本発明は、第1の実施形態に記載のステータスモニタのように、不特定多数の印刷ジョブを監視するシステムではなく、特定のジョブを監視するシステムに対しても適用可能である。
例えば、有償印刷データを生成するアプリケーションにおける本発明の実施形態の例を、図4を用いて説明する。
ステップ400において、印刷完了時に課金を行う有償印刷データのジョブ発行を行い、オペレーティングシステムから、発行したジョブに対応するジョブIDを取得しておく。
ステップ401において、そのジョブIDを持つジョブが印刷キューに存在するかを確認し、無ければ終了、あればステップ402に遷移する。
ステップ402において、存在するジョブがクライアントジョブであるかを確認し、そうであればステップ404に遷移する。クライアントジョブではないと判断された場合はステップ407に遷移する。
ステップ404において、サーバー転送後のサーバージョブIDを取得し、たとえ印刷キューから前記クライアントジョブのIDを持つジョブが消滅しても、該サーバージョブIDを持つジョブが印刷キュー内に出現するのを待つ。
ステップ406にてサーバージョブIDを持つジョブが出現したことを検出した場合はステップ407に遷移する。
ステップ407において、該ジョブのモニタリングやプリンタステータスの取得を行う。
ステップ408で該ジョブが存在しなくなったらステップ409に遷移する。ステップ407でモニタリングしていた情報から、プリンタのエラーや途中キャンセルが無かったかを判断し、正常に印刷完了されていれば、ステップ410で課金のカウントを行い、終了する。正常完了していなければ、課金カウントをせずに終了する。
本実施形態において、ステータスモニタ110が起動し、印刷キューの監視を行っている間は、印刷ジョブのエラーステータスや処理状態などをクライアントのCRT1210などのディスプレイを介して通知するといった構成をとることができる。これにより、ユーザに自身の指示した印刷処理の状態を通知する通知機能、処理の途中での印刷キャンセル指示を行うためのUI表示によるジョブキャンセル機能を提供することができる。尚、本実施形態においては、クライアントサイドレンダリングに起因する印刷キューからの印刷ジョブの一時的な消滅があっても、ユーザの指示した印刷ジョブを終始通知し、上述したジョブキャンセル機能を提供することが可能である。
[第2の実施形態における本発明の効果]
本形態を実施することで、特定ジョブの完了を監視する場合、クライアントサイドレンダリングなど、前記印刷キューからジョブが一時的に消滅する制御を行うオペレーティングシステムから成るネットワーク環境下でも、適切なジョブモニタリングが可能となる。
また本形態を実施したシステムは、ネットワークではない、ローカル環境においてもそのまま適用可能である。本実施形態で示したフローを用いた上で、クライアントジョブである事を示す情報やサーバージョブの予定IDが取得されないだけであり、ローカル環境におけるモニタリングにおいても期待通りの動作が可能である。
〔第3の実施形態〕
本発明は、第1の実施形態あるいは第2の実施形態に記載のステータスモニタとは異なり、単純に印刷キューにジョブが存在するかどうかのみが必要なシステムに対しても有効である。
例えば、ネットワーク上の複数のプリンタの稼働状況を監視し、稼動していないプリンタに対して優先的に印刷ジョブを振り分けるような分散印刷サービスなどがある。稼動状況を確認する為にそれぞれのプリンタの印刷キューを順に監視し、印刷ジョブが存在しないプリントキューに対して印刷ジョブを送信するような制御に対しても有効である。
この場合の制御フローの例を、図5を用いて説明する。なお図5は、ネットワーク上のプリンタの稼動状況を確認していく過程において、ある一つのプリンタの稼動状況を確認する際のフローである。まずステップ501において、印刷キューのジョブ情報を取得する。ここでジョブが存在した場合、ステップ504にて該プリンタはビジーであると判断する。勿論、これに加えてジョブのステータスを確認し、保留状態など、プリンタが稼動していないのと等価であれば、ジョブが存在していないと見なす確認ステップを加えてもよいことは言うまでも無い。一方、ステップ501にてジョブが存在しなかった場合、ステップ502において、ジョブとしては存在していないがサーバー転送予定のジョブ情報およびジョブIDが存在するかを確認する。存在すれば、ステップ504にて該プリンタはビジーであると判断する。存在しなければ、ステップ505にて、該プリンタは印刷可能であると判断する。以上のフローを、ネットワーク上の監視対象プリンタに対して順に実行していく。
本実施形態において、ステータスモニタ110が起動し、印刷キューの監視を行っている間は、印刷ジョブのエラーステータスや処理状態などをクライアントのCRT1210などのディスプレイを介して通知するといった構成をとることができる。これにより、ユーザに自身の指示した印刷処理の状態を通知する通知機能、処理の途中での印刷キャンセル指示を行うためのUI表示によるジョブキャンセル機能を提供することができる。尚、本実施形態においては、クライアントサイドレンダリングに起因する印刷キューからの印刷ジョブの一時的な消滅があっても、ユーザの指示した印刷ジョブを終始通知し、上述したジョブキャンセル機能を提供することが可能である。
[第3の実施形態における本発明の効果]
本形態を実施することにより、印刷キューに印刷処理の未完了なジョブが存在するか否かの情報が必要なシステムにおいても以下の効果を奏する。1つの効果として、印刷キューからジョブが一時的に消滅するような制御を行うオペレーティングシステムから成るネットワーク環境下でも、適切なジョブのモニタリングが可能となる。
また本形態を実施したシステムは、複数のプリンタが接続されたローカル環境においても、あるいは単一のプリンタしか存在しない環境においても、そのまま適用可能である。
本実施形態で示したフローを用いた上で、クライアントジョブである事を示す情報やサーバージョブの予定IDが取得されないだけであり、ローカル環境におけるモニタリングにおいても期待通りの動作が可能である。
本発明は、クライアントサイドレンダリングなどにおいて、ステータスモニタが印刷中であるにも関わらず不正に終了してしまうようなケースが無くなり、精度の高いステータスモニタリングを提供することが可能となる。また印刷が終了したという誤判断がなくなるため、印刷終了と同時に有償データの印刷に対する対価を課す課金システムにおいても、必要不可欠の技術となる。さらには、印刷ジョブが存在しない瞬間を非印刷中だと誤判断するケースにも対処しているため、ネットワーク上の非稼動プリンタに対して優先的に印刷ジョブを振り分ける分散印刷サービスにおいても、効率的な手段となる。
本発明の実施形態の印刷システムについて、ネットワークの構成及びソフトウェア構成を示すブロック図である。 (a)は本発明の実施形態のサーバーおよびクライアントの処理と印刷キューとステータスモニタの関係を示し、ステータスモニタ110が最初の通信によりクライアントジョブの存在を検出した場合の説明図、(b)は本発明の実施形態のサーバーおよびクライアントの処理と印刷キューとステータスモニタの関係を示し、ステータスモニタ110がサーバージョブ出現前の印刷キューにジョブが無い状態を検出した場合の説明図、(c)は本発明の実施形態のサーバーおよびクライアントの処理と印刷キューとステータスモニタの関係を示し、ステータスモニタ110が最初の通信によりサーバージョブの存在を検出した場合の説明図である。 第1の実施形態におけるステータスモニタ110が印刷キュー202のステータスを監視する際の、クライアント内で行われる処理の制御プログラムに基づく、フローチャートの一例を示す図である。 第2の実施形態におけるステータスモニタ110が印刷キュー202のステータスを監視する際の、クライアント内で行われる処理の制御プログラムに基づく、フローチャートの一例を示す図である。 第3の実施形態におけるステータスモニタ110が印刷キュー202のステータスを監視する際の、クライアント内で行われる処理の制御プログラムに基づく、フローチャートの一例を示す図である。 クライアントサイドレンダリングを行わない印刷システムにおける、従来のサーバーおよびクライアントの処理と印刷キューとステータスモニタの関係を示す説明図である。 クライアントサイドレンダリングを行う印刷システムに従来のステータスモニタによる監視方法を適用した際の、サーバーおよびクライアントの処理と印刷キューとステータスモニタの関係を示す説明図である。 本発明に適用可能なパーソナルコンピュータ及び画像形成装置のハードウェア構成を示した図である。
符号の説明
109 プリンタ
110 ステータスモニタ
111 印刷キュー
151 クライアントコンピュータ
152 サーバーコンピュータ

Claims (18)

  1. 印刷ジョブのレンダリング処理を行うレンダリング手段と、
    前記レンダリング手段によりレンダリング処理された印刷ジョブを管理する印刷キューからクライアントコンピュータでのレンダリング処理を含む印刷処理に対応するクライアントジョブが消滅しても印刷キューの監視を継続し、前記印刷キューからサーバーコンピュータでの印刷処理に対応するサーバージョブが消滅した場合、印刷キューの監視を終了する監視手段とを備えることを特徴とするクライアントコンピュータ。
  2. 前記サーバーコンピュータが画像形成装置に対して指示した印刷出力処理の終了に基づき、前記印刷キューから前記サーバージョブが消滅することを特徴とする請求項1に記載のクライアントコンピュータ。
  3. 前記サーバージョブに対応するサーバージョブ情報を、当該サーバーコンピュータから取得するサーバージョブ情報取得手段を備えることを特徴とする請求項1乃至請求項2の何れか1項に記載のクライアントコンピュータ。
  4. 前記監視手段は、前記印刷キューに印刷ジョブが存在せず、かつ前記サーバージョブ情報取得手段によりサーバージョブ情報を取得した場合、印刷キューの監視を継続することを特徴とする請求項3に記載のクライアントコンピュータ。
  5. 前記クライアントジョブに対応するクライアントジョブ情報を取得するクライアントジョブ情報取得手段を備え、
    前記監視手段は、前記印刷キューに印刷ジョブが存在せず、かつ前記サーバージョブ情報取得手段によりサーバージョブ情報を取得した際に、当該サーバージョブ情報が、前記クライアントジョブ情報取得手段により取得したクライアントジョブ情報により、前記監視手段の監視対象ではないクライアントコンピュータのクライアントジョブであったと判断した場合、前記印刷キューの監視を終了することを特徴とする請求項3記載のクライアントコンピュータ。
  6. 前記監視手段により監視した、前記印刷キューの状態をユーザに対して通知する通知手段を備えることを特徴とする請求項1乃至請求項5の何れか1項に記載のクライアントコンピュータ。
  7. クライアントコンピュータからの印刷要求に対して、サーバーコンピュータを介して印刷を行う印刷システムにおいて、
    レンダリング処理された印刷ジョブを管理する印刷キューと、
    前記印刷キューからクライアントコンピュータでの印刷処理に対応するクライアントジョブが消滅しても印刷キューの監視を継続し、前記印刷キューからサーバーコンピュータでの印刷処理に対応するサーバージョブが消滅した場合、印刷キューの監視を終了する監視手段とを備えることを特徴とする印刷システム。
  8. クライアントコンピュータからの印刷要求に基づくジョブを監視する情報処理装置における情報処理方法であって、
    印刷キューに存在するジョブの情報を取得する取得ステップと、
    前記取得ステップにより取得した情報に基づき、前記印刷キューからクライアントコンピュータでの印刷処理に対応するクライアントジョブが消滅しても印刷キューの監視を継続し、前記印刷キューからサーバーコンピュータでの印刷処理に対応するサーバージョブが消滅した場合に、印刷キューの監視を終了する監視ステップとを備えることを特徴とする情報処理方法。
  9. 前記サーバージョブに対応するサーバージョブ情報を、当該サーバーコンピュータから取得するサーバージョブ情報取得ステップを備えることを特徴とする請求項8に記載の情報処理方法。
  10. 前記印刷キューに印刷ジョブが存在せず、かつ前記サーバージョブ情報取得ステップにおいてサーバージョブ情報が取得された場合、印刷キューの監視を継続することを特徴とする請求項9に記載の情報処理方法。
  11. 前記クライアントジョブに対応するクライアントジョブ情報を取得するクライアントジョブ情報取得ステップを備え、
    前記印刷キューに印刷ジョブが存在せず、かつ前記サーバージョブ情報取得手段においてサーバージョブ情報が取得された際に、当該サーバージョブ情報が、前記クライアントジョブ情報取得ステップにおいて取得されたクライアントジョブ情報により、前記監視手段の監視対象ではないクライアントコンピュータのクライアントジョブであったと判断した場合、前記印刷キューの監視を終了することを特徴とする請求項9記載の情報処理方法。
  12. 前記印刷キューの状態をユーザに対して通知する通知ステップを備えることを特徴とする請求項8乃至請求項11の何れか1項に記載の情報処理方法。
  13. クライアントコンピュータからの印刷要求に基づくジョブを監視する情報処理装置における情報処理ステップをコンピュータにより実現させるためのコンピュータ読み取り可能なプログラムであって、
    印刷キューに存在するジョブの情報を取得する取得ステップと、
    前記取得手段により取得した情報に基づき、前記印刷キューからクライアントコンピュータでの印刷処理に対応するクライアントジョブが消滅しても印刷キューの監視を継続し、前記印刷キューからサーバーコンピュータでの印刷処理に対応するサーバージョブが消滅した場合、印刷キューの監視を終了する監視ステップとをコンピュータにより実現させるためのコンピュータ読み取り可能なプログラム。
  14. 更に、前記サーバージョブに対応するサーバージョブ情報を、当該サーバーコンピュータから取得するサーバージョブ情報取得ステップをコンピュータにより実現させるための請求項13に記載のコンピュータ読み取り可能なプログラム。
  15. 前記印刷キューに印刷ジョブが存在せず、かつ前記サーバージョブ情報取得ステップにおいてサーバージョブ情報が取得された場合、印刷キューの監視を継続することを特徴とする請求項14に記載のコンピュータ読み取り可能なプログラム。
  16. 更に、前記クライアントジョブに対応するクライアントジョブ情報を取得するクライアントジョブ情報取得ステップをコンピュータにより実現させ、
    前記印刷キューに印刷ジョブが存在せず、かつ前記サーバージョブ情報取得手段においてサーバージョブ情報が取得された際に、当該サーバージョブ情報が、前記クライアントジョブ情報取得ステップにおいて取得されたクライアントジョブ情報により、前記監視手段の監視対象ではないクライアントコンピュータのクライアントジョブであったと判断した場合、前記印刷キューの監視を終了することを特徴とする請求項14記載のコンピュータ読み取り可能なプログラム。
  17. 更に前記印刷キューの状態をユーザに対して通知する通知ステップをコンピュータにより実現させるための請求項13乃至請求項16の何れか1項に記載のコンピュータ読み取り可能なプログラム。
  18. クライアントコンピュータからの印刷要求に基づくジョブを監視する情報処理装置における情報処理ステップをコンピュータにより実現させるためのコンピュータ読み取り可能なプログラムを格納した記憶媒体であって、
    印刷キューに存在するジョブの情報を取得する取得ステップと、
    前記取得手段により取得した情報に基づき、前記印刷キューからクライアントコンピュータでの印刷処理に対応するクライアントジョブが消滅しても印刷キューの監視を継続し、前記印刷キューからサーバーコンピュータでの印刷処理に対応するサーバージョブが消滅した場合、印刷キューの監視を終了する監視ステップとをコンピュータにより実現させるためのコンピュータ読み取り可能なプログラムを格納した記憶媒体。
JP2006288811A 2006-10-24 2006-10-24 クライアントコンピュータ及び情報処理方法 Expired - Fee Related JP4298738B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006288811A JP4298738B2 (ja) 2006-10-24 2006-10-24 クライアントコンピュータ及び情報処理方法
US11/871,815 US8136110B2 (en) 2006-10-24 2007-10-12 Continue monitoring print job based on job ID and information present in the print queue even though no print job is present in the print queue
CN200710181574.3A CN101169708A (zh) 2006-10-24 2007-10-23 信息处理设备、打印***及信息处理方法
EP07119232A EP1936490A3 (en) 2006-10-24 2007-10-24 Client apparatus and information-processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006288811A JP4298738B2 (ja) 2006-10-24 2006-10-24 クライアントコンピュータ及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2008107980A true JP2008107980A (ja) 2008-05-08
JP4298738B2 JP4298738B2 (ja) 2009-07-22

Family

ID=39319552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006288811A Expired - Fee Related JP4298738B2 (ja) 2006-10-24 2006-10-24 クライアントコンピュータ及び情報処理方法

Country Status (4)

Country Link
US (1) US8136110B2 (ja)
EP (1) EP1936490A3 (ja)
JP (1) JP4298738B2 (ja)
CN (1) CN101169708A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2336872A2 (en) 2009-12-17 2011-06-22 Canon Kabushiki Kaisha Information processing apparatus and method
JP2013003799A (ja) * 2011-06-15 2013-01-07 Konica Minolta Business Technologies Inc ウェブアプリケーションを備えたクライアントサーバーシステム、及び当該クライアントサーバーシステムにおけるクライアント装置
JP7494664B2 (ja) 2020-09-02 2024-06-04 セイコーエプソン株式会社 印刷制御プログラム、印刷制御装置の制御方法、及び印刷制御装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5268604B2 (ja) * 2008-12-05 2013-08-21 キヤノン株式会社 情報処理装置及び情報処理方法
DE102011109748B4 (de) 2011-08-09 2014-08-14 Eht Vermögensverwaltung Ug Verfahren zum betreiben eines netzwerksystems
JP2016178570A (ja) * 2015-03-20 2016-10-06 株式会社リコー ワークフロー実行処理装置、ワークフロー実行システム、ワークフロー実行システムの制御方法、及びプログラム
JP6672959B2 (ja) * 2016-03-31 2020-03-25 ブラザー工業株式会社 印刷システム、ドライバプログラム、及びプリンタ
CN114415987B (zh) * 2021-12-02 2023-09-22 杭州衣科信息技术股份有限公司 一种针对iOS***的多客户端协调连接打印***

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220674A (en) * 1987-07-17 1993-06-15 Digital Equipment Corporation Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination
JPH09146726A (ja) 1995-11-20 1997-06-06 Canon Inc プリンタサーバーシステムの制御方法
US20020188646A1 (en) * 2001-06-06 2002-12-12 Terrill Jody L. Print information capture and correlation
US6943905B2 (en) * 2001-12-20 2005-09-13 Sharp Laboratories Of America, Inc. Virtual print driver system and method
JP3656617B2 (ja) 2002-06-18 2005-06-08 セイコーエプソン株式会社 印刷制御システムおよび印刷方法
US7365872B2 (en) 2003-01-03 2008-04-29 Microsoft Corporation Client computer system, method and computer readable medium comprising executable instructions for rendering printable documents in a native printer language on the network
US7301663B2 (en) * 2003-03-28 2007-11-27 Sharp Laboratories Of America, Inc. Systems and methods for print job accounting
JP2004348401A (ja) 2003-05-22 2004-12-09 Kyocera Mita Corp 画像形成装置管理システム
US7471407B2 (en) * 2003-06-24 2008-12-30 Sharp Laboratories Of America, Inc. Systems and methods for monitoring an imaging job using implicit address discovery
US20040263899A1 (en) * 2003-06-24 2004-12-30 Ferlitsch Andrew R. Systems and methods for monitoring an imaging job in a computer system
JP3927949B2 (ja) * 2003-12-10 2007-06-13 キヤノン株式会社 情報処理装置、負荷分散印刷方法、プログラム、及び記憶媒体
JP4532993B2 (ja) * 2003-12-15 2010-08-25 キヤノン株式会社 印刷システム及びその制御方法、印刷方法、ホスト装置、プリンタ
US7505168B2 (en) * 2004-12-30 2009-03-17 Microsoft Corporation Distributed client side printing methods and systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2336872A2 (en) 2009-12-17 2011-06-22 Canon Kabushiki Kaisha Information processing apparatus and method
US8922810B2 (en) 2009-12-17 2014-12-30 Canon Kabushiki Kaisha Information processing apparatus and method for displaying status information of a job present in a print queue
JP2013003799A (ja) * 2011-06-15 2013-01-07 Konica Minolta Business Technologies Inc ウェブアプリケーションを備えたクライアントサーバーシステム、及び当該クライアントサーバーシステムにおけるクライアント装置
JP7494664B2 (ja) 2020-09-02 2024-06-04 セイコーエプソン株式会社 印刷制御プログラム、印刷制御装置の制御方法、及び印刷制御装置

Also Published As

Publication number Publication date
EP1936490A3 (en) 2010-08-04
CN101169708A (zh) 2008-04-30
US8136110B2 (en) 2012-03-13
EP1936490A2 (en) 2008-06-25
JP4298738B2 (ja) 2009-07-22
US20080098396A1 (en) 2008-04-24

Similar Documents

Publication Publication Date Title
JP4298738B2 (ja) クライアントコンピュータ及び情報処理方法
US8045202B2 (en) Information processing apparatus and print device control method
KR100908781B1 (ko) 정보 처리 장치, 인쇄 시스템, 감시 방법 및 기억 매체
JP3405159B2 (ja) 印刷装置
US7256909B2 (en) Proxy print processing apparatus, proxy print processing method, program, and memory medium
CN102147718B (zh) 打印作业管理装置、打印作业管理方法及图像形成装置
US20070146778A1 (en) Print system, server system, and job control method
US8553254B2 (en) Means to reduce a load on a computer and efficiently manage printing jobs or printing devices jobs
US8749817B2 (en) Information processing apparatus, method, medium, and system for print job transmission
JP3774702B2 (ja) 印刷制御プログラム及び情報処理装置
JP2007083513A (ja) 画像形成装置、情報処理装置、印刷処理システム、画像形成方法、情報処理方法、画像形成プログラム、情報処理プログラム、及び記録媒体
US8749819B2 (en) Information processing for controlling a printer
US8724126B2 (en) Printing apparatus, program, and printer driver
JP2008036999A (ja) 画像形成装置及び画像形成システム
JP2008201035A (ja) 印刷装置および印刷方法および印刷システム
JP4109821B2 (ja) 情報処理装置及びジョブの処理結果確認方法
JP2008097226A (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
JP2003228474A (ja) 情報処理装置および印刷制御装置および印刷システムおよびデータ処理方法および記憶媒体およびプログラム
JP2008107921A (ja) プルプリントサーバとその制御方法
JP2011090599A (ja) 情報処理装置および情報処理方法
JP2007072711A (ja) オンデマンド印刷監視システム、オンデマンド印刷監視方法、オンデマンド印刷監視プログラムおよびオンデマンド印刷装置
US20100091326A1 (en) Printing System, and Printing Method and Recording Medium
JP2007004680A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
US9268515B2 (en) Information processing apparatus, information processing system, and information processing method, for transmitting print jobs to a printing control apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090109

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140424

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees