JP4869031B2 - 印刷システム、サーバ装置及びジョブ制御方法 - Google Patents

印刷システム、サーバ装置及びジョブ制御方法 Download PDF

Info

Publication number
JP4869031B2
JP4869031B2 JP2006305977A JP2006305977A JP4869031B2 JP 4869031 B2 JP4869031 B2 JP 4869031B2 JP 2006305977 A JP2006305977 A JP 2006305977A JP 2006305977 A JP2006305977 A JP 2006305977A JP 4869031 B2 JP4869031 B2 JP 4869031B2
Authority
JP
Japan
Prior art keywords
job
identification information
printing
print job
receiving
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
JP2006305977A
Other languages
English (en)
Other versions
JP2007200284A (ja
JP2007200284A5 (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 JP2006305977A priority Critical patent/JP4869031B2/ja
Priority to US11/610,575 priority patent/US20070146778A1/en
Publication of JP2007200284A publication Critical patent/JP2007200284A/ja
Publication of JP2007200284A5 publication Critical patent/JP2007200284A5/ja
Application granted granted Critical
Publication of JP4869031B2 publication Critical patent/JP4869031B2/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/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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
    • 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

Description

本発明は、印刷システム、サーバ装置及びジョブ制御方法に関し、特に、印刷装置側からの要求に従って印刷ジョブの出力を行う仕組みに関する。
印刷装置側から印刷対象データの指定を行い、該指定に基づく印刷対象データ或は該印刷対象データに基づく印刷ジョブを、通信回線を介して、当該印刷装置側に取り込み、該取り込んだデータに基づく印刷出力を行うシステムが提案されている。これは、所謂プルプリントシステムとして知られている。例えば、特開平08−263414号公報(特許文献1)に該技術が開示されている。
特開平08−263414号公報
しかしながら、プルプリントシステムでは、ユーザがプリントサーバ側から取り込むべき印刷ジョブのジョブ名を印刷装置の操作部から指定する必要があり、ユーザは煩雑な作業が強いられてしまう。一方、印刷ジョブのジョブ名ではなく、印刷対象とするデータの場所(所謂URL)を印刷装置の操作部から指定し、プルプリントを行うという技術も知られているが、やはり、ユーザに煩雑な作業を強いるという点では、共通の課題を抱えていた。
本発明は上記の課題に鑑みてなされたものであり、プルプリントシステムにおける印刷対象データの指定を容易に行えるようにすることを目的とする。
また、更に、印刷ジョブに対する制御も容易に行えるようにすることを目的とする。
上記の目的を達成するための本発明の一態様によるサーバシステムは以下の構成を備える。即ち、
印刷装置と通信可能なサーバ装置であって、
印刷指示に応じて印刷ジョブを生成するジョブ生成手段と、
前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段と、
印刷装置から識別情報を含む要求を受信する第1受信手段と、
前記第1受信手段により受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と
前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信手段と、
前記第2受信手段により受信した前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記印刷ジョブをキャンセルするジョブ制御手段と、を備える。
また、上記の目的を達成するための本発明の他の態様による印刷システムは以下の構成を備える。即ち、
情報処理装置と印刷装置が通信可能な印刷システムであって、
前記情報処理装置は、
印刷ジョブを生成するジョブ生成手段と、
前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段とを備え、
前記印刷装置は、
前記情報処理装置へ識別情報を含む要求を発行する発行手段を備え、
前記情報処理装置は、
前記印刷装置から前記要求を受信する第1受信手段と、
前記第1受信手段により受信した前記要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と
前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信手段と、
前記第2受信手段により受信した前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記複数の印刷ジョブをキャンセルするジョブ制御手段と、を備える。
更に、上記の目的を達成するための本発明の他の態様によるジョブ制御方法は、
印刷装置と通信可能なサーバ装置によるジョブ制御方法であって、
ジョブ生成手段が、印刷指示に応じて印刷ジョブを生成するジョブ生成工程と、
保持手段が、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
第1受信手段が、印刷装置から識別情報を含む要求を受信する第1受信工程と、
出力手段が、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、該読み出された前記印刷ジョブを前記印刷装置へ出力する出力工程と
第2受信手段が、前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信工程と、
ジョブ制御手段が、前記第2受信工程で受信した前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記印刷ジョブをキャンセルするジョブ制御工程と、を有する。
また、上記の目的を達成するための本発明の他の態様によるジョブ制御方法は、
情報処理装置と印刷装置が通信可能な印刷システムによるジョブ制御方法であって、
前記情報処理装置において、印刷ジョブを生成するジョブ生成工程と、
前記情報処理装置において、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
前記印刷装置において、前記情報処理装置へ識別情報を含む要求を発行する発行工程と、
前記情報処理装置において、前記印刷装置から前記要求を受信する第1受信工程と、
前記情報処理装置において、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、読み出された前記印刷ジョブを前記情報処理装置から前記印刷装置へ出力する出力工程と
前記情報処理装置において、前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信工程と、
前記情報処理装置において、前記第2受信工程で受信した前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記印刷ジョブをキャンセルするジョブ制御工程と、を有する。
本願発明によれば、従来のプルプリントシステムに比較し、ユーザに煩雑な作業を強いることなく、容易にユーザが印刷出力すべき出力物を得ることができるようになる。
また、さらに、印刷ジョブに対する制御も容易に行える。
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
[第1実施形態]
<システム構成>
図1は、本実施形態に係るプリントシステムの全体構成を示すブロック図である。本プリントシステムは、情報処理装置としてのクライアントPC(コンピュータ)101〜103と、印刷装置(プリントデバイス)としてのネットワークプリンタ104〜105とを含む。これら装置が互いに接続されていることにより、全体としてネットワークを構成している。
クライアントPC101〜103には、印刷制御プログラムが実行可能に格納されている。クライアントPC101〜103は、本プリントシステムに含まれるネットワークプリンタ104〜105を管理する機能のほか、ネットワークで使用されるファイルを蓄積したり、ネットワークの使用状態を監視したりする機能を有する。具体的には、クライアントPC101〜103は、自身により印刷ジョブを作成し、ネットワークプリンタ104〜105のスケジューラにスケジュール要求を発行する機能を有する。また、クライアントPC101〜103は、ネットワークプリンタ104〜105のスケジューラからの指示により、印刷データの転送を開始する機能を有する。
ネットワークプリンタ104〜105は、クライアントPC101〜103から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。なお、ネットワークプリンタ104〜105としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。
また、ネットワークプリンタ104〜105は、
・複数のクライアントPC101〜103からの印刷要求を受け付け、受け付けた印刷要求の順序を決定し、印刷指示を発行する機能や、
・ネットワークプリンタ104〜105に転送された印刷ジョブ、ネットワークプリンタ104〜105の状態を監視し、印刷の終了やプリンタ状態をクライアントPC101〜103に通知する機能を有する。
なお、本プリントシステムに含まれる装置間の通信は、イーサネット(登録商標)ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
図2は、本実施形態に関わる印刷システムのハードウェア構成を説明するブロック図である。ネットワークプリンタ104,105(以下、ネットワークプリンタ)は、大きく分けてネットワークプリントサーバ220とプリンタコントローラ219という、異なる制御系を司る2つのデバイスで構成されている。ネットワークプリントサーバ220において、ネットワークプリントサーバ用CPU201(以下、CPU201)は、書き換え可能なフラッシュROM203に記憶された制御プログラムに基づいて各種制御を実現する。例えば、CPU201は、システムバス204に接続されるネットワークコントローラ(LANC205)を用いて、ローカルエリアネットワーク(LAN212)に接続されたホストコンピュータ等の複数の外部装置(不図示)との通信を制御する。CPU201は、この通信において所定のネットワーク通信プロトコルを用い、外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御する。そして、拡張インターフェースコントローラ(EXPC207)を介して接続されるプリンタコントローラ219に対して適切なデータ転送制御が行なわれる。
RAM202はCPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。LED206はネットワークプリントサーバの各種動作状態をLEDの点滅パターンや色で示す表示部である。表示される動作状態としては、ネットワークコントローラ(LANC205)とローカルエリアネットワーク(LAN212)の電気的な接続状態(LINK)やネットワーク通信モード(10Baseや100Base、全二重、半二重)等が挙げられる。
さらにネットワークプリントサーバ220とプリンタコントローラ219を繋ぐ拡張インターフェース217は、図示しないコネクタで構成されている。ネットワークプリントサーバ220は着脱可能であり、例えばプリント基板によって構成され、同様の構成を持つ別のプリンタにこのネットワークプリントサーバ220を装着することも可能となっている。
プリンタコントローラ219において、プリンタコントローラ用CPU208は、システムバス211に接続される各種デバイスとのアクセスを統括的に制御する。CPU208は、ROM209に記憶された制御プログラム等あるいはディスクコントローラ(DKC215)を介して接続された外部メモリ210に記憶された制御プログラムやリソースデータ(資源情報)等に基づいて上記制御を実現する。例えば、CPU208は、拡張インターフェースコントローラ(EXPC213)を介して接続されるネットワークプリントサーバ220から受信される印刷データに基づいてラスタコントローラ223に出力画像情報を生成させる。そして、プリンタエンジン216に対して、生成した画像信号を出力させる。なお、プリンタエンジン216は既知の印刷技術を利用するものである。好適な実施例としては、例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方式、熱転写方式等が挙げられる。
RAM214はCPU208の主メモリ、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。操作パネル(操作部)218は、ネットワークプリンタ104の動作モード等の設定や印刷データの取り消し等の操作をユーザに行うためのボタンを有する。また、ネットワークプリンタ104の動作状態を示す液晶パネルやLED等の表示部も操作パネル218に配されている。なお、外部I/Oインターフェース222は外部装置221と情報のやり取りを行う。
次に、本プリントシステムのクライアントPC101〜103内に存在するプルプリントサーバ305のソフトウェア構成について説明する。なお、プルプリントサーバのことを複数のソフトウェア機能から構成されるという意味で、サーバシステムと呼ぶこともある。以下では、プルプリントサーバという用語を用いて説明を行う。図3は、プルプリントサーバ305におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、クライアントPC内のCPU(不図示)が所定の制御プログラムを実行することにより実現される。なお、図3では、ネットワークプリンタ104,105をプリントデバイス306で示している。
通常、Microsoft Word(登録商標)などの一般的なアプリケーションプログラム301は印刷の指示を受け付けると、一連の描画コマンドをOSを介して生成する。この上位からの描画コマンドをOSを介して受け取ったPDL(ページ記述言語)ドライバ302は、一連の描画コマンドに基づいてネットワークプリンタ104〜105で解釈可能なPDLファイルを含む印刷ジョブを生成する。
PDLドライバ302は、プリントデバイス306へ印刷ジョブを送信するために、生成した印刷ジョブをスプーラ303に渡す。ここではOSをWindows(登録商標)と仮定しているのでスプーラ303はウィンドウズ(登録商標)スプーラである。ただし、本発明を適用するコンピュータのOSはWindows(登録商標)に限定されるものではなく、描画命令を備えるものであれば他のOSも適用可能であることは言うまでもない。
スプーラ303は、ユーザがユーザインターフェースを介して選択し指示したポートモニタ304に印刷ジョブを渡して、ネットワークプリンタ104〜105等のプリントデバイス306に送信させる手順をとる(矢印a)。ここでは、ユーザはあらかじめプルプリントサーバ305に印刷データを転送するためのポートモニタ304(以降、ジョブ制御ポートモニタと略記)を指定して印刷を指示したものとして説明を進める。
プリンタドライバインターフェースを介して設定された用紙サイズ、ステープル指示等の印刷設定情報も、ジョブ制御ポートモニタ304に送信される。ジョブ制御ポートモニタ304はプリントサービスを行うプルプリントサーバ305に印刷ジョブと印刷設定情報を送信する(矢印b)。また、クライアントPC101〜103においてプルプリントサーバ305と別のプルプリントサーバ308のジョブ登録アプリケーション309はAPI310を介し、プルプリントサーバ305に印刷データを投入する(矢印g)。このように上位のアプリケーションが様々な場所に存在する場合に本実施形態を適用することができる。
プルプリントサーバ305は、転送された印刷ジョブ及びデバイスの状態を管理する機能を備える。また、プルプリントサーバ305は、プリントデバイス306から通知されるデバイス状態やジョブの状態などの情報を管理したり、プリントデバイス306に対して所定の命令をする機能も備える。これは、複数のプリントデバイス(本例では、ネットワークプリンタ104,105)のデバイス情報やジョブ情報を管理する機能に相当する。プルプリントサーバ305は、印刷データをプリントデバイス306に送信する前に、プリントデバイス306が持つ印刷ジョブの順序管理機能に印刷の要求を発行する。そして、順序管理機能に基づき印刷実行の順番が到来した場合には、プリントデバイス306からの印刷指示により、プリントデバイス306に印刷データを送信する(矢印c、d、e)。また、プルプリントサーバ305は、印刷中にプルプリントエージェント606(図6)で認証情報記録媒体521の存在が検知できなくなるとプリントデバイス306に対して印刷のキャンセル(停止・中断)を指示する(S2203)。なお、プルプリントサーバ305の動作については、後述の図6や図22で詳しく説明する。
プリントデバイス306は、自身の状態をプルプリントサーバ305に通知する(矢印f)。例えば、プリントデバイス306は、印刷データの完了を確認すると、印刷完了の通知をプルプリントサーバ305に対して行う。
プリントマネージャ307は、ユーザが、プルプリントサーバ305内部で印刷ジョブがどのような状態にあるかを調べたり、印刷ジョブを表示・操作する為のユーザインターフェースを提供したりするプログラムである。プリントマネージャ307は、プルプリントサーバ305のソフトウェアのインターフェース(API:Application Program Interface)を介して、プルプリントサーバ305と情報・指示をやり取りしている。そして、プリントマネージャ307は、やり取りした情報に基づく表示を行う。そして、主に、プルプリントサーバ305が管理するプリントデバイス306の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、プルプリントサーバとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー/警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。またイベントの通知の種別として印刷排紙完了面数、印刷ジョブ終了ステータス等のジョブの進行状況も挙げることもできる。ここでのプルプリントサーバ305はネットワークを介して通信可能な各デバイス(印刷装置)の印刷実行中、電力制御状態、障害情報(紙ジャム)等のステータスの通知を受け付ける機能を備える。
更に詳細な処理として、プリントマネージャ307はプルプリントサーバ305に対してデバイスを指定したイベントを発行する。プルプリントサーバ305は発行されたイベントが指定するデバイスのステータスを認識し、監視に基づく結果をプリントマネージャ307に通知する。
<印刷ジョブの流れ>
次に、図4を用いてアプリケーション301からプリントデバイス306までの印刷ジョブの流れについて説明する。ここで、図3と同じソフトウェア構成について同じ参照番号を付与している。
図4に示すように、概念的には、PDLドライバ302、スプーラ303、ジョブ制御ポートモニタ304は、プリントデバイス毎(306,306A)に用意されている。OSがWindows(登録商標)の場合には、これらをまとめてウィンドウズ(登録商標)プリントシステム400と称する場合もある。なお、プリントデバイス306,306Aはネットワークプリンタ105,106に対応する。
プルプリントサーバ305には、プリントデバイス(306,306A)に対応する数のプリントキュー401、401A及び出力ポート402、402Aが含まれている。これらのプリントキュー401、401Aや出力ポート402、402Aは、それぞれ図10や図11で示されるような情報によりプルプリントサーバ305が管理している。
この出力ポート402,402Aには対応する印刷装置のIPアドレス又は名前解決(DNS:Domain Name System)で使用されるネームが関連付けられている。そして、このIPアドレス又はネームに基づき、ジョブのスケジュール要求先やジョブの送信先が特定され、ジョブの送信(出力)が行なわれる。
印刷を行う場合、アプリケーション301はプリンタを指定して印刷指示を発行する。この印刷指示に基づいてPDLドライバ302によって生成された印刷ジョブがジョブ制御ポートモニタ304からプルプリントサーバ305に渡される。その印刷ジョブがプルプリントの場合、プルプリントサーバ305は当該印刷ジョブをプリントキュー401(プルプリント用)に保持する。また、通常プリントの印刷ジョブであった場合、プルプリントサーバ305は、当該印刷ジョブをプリントキュー401A(通常プリント用)に保持し、出力ポート402に印刷ジョブの受け付け指示を出す。つまり、キューへの印刷ジョブ登録で、即時に、スケジュール要求を発行する(図7の701)。出力ポート402は、印刷するジョブを受け付ける。なお、印刷ジョブがプルプリントか通常プリントかは、PDLドライバによって提供されるユーザインターフェースによってユーザが設定することができる。
後に詳述するが、プルプリントエージェント606(図6)は、認証情報記録媒体521(図5)から読み取られる所定の情報を検知する。そして該検知に応じて、ユーザ識別情報とデバイスアドレスを含む情報1301(図13)をプルプリントサーバ305に送る。ここでユーザ識別情報とは、ある特定の個人を識別する情報、又は、部門を識別する為の情報を指す。この情報としては、例えば、文字データやビットデータなどを適用できる。プルプリントサーバ305は、このユーザ識別情報を含む又は関連付けられた印刷ジョブが1つ又は複数存在する場合に、デバイスアドレスに該当するプリントデバイス306にスケジュールの要求を発行する。より詳細には、該当するプリントデバイスのデバイススケジューラに対してスケジュール要求を発行する(図7)。プリントデバイス306のデバイススケジューラは、自身が持つスケジューリング機能に基づいて、複数のプルプリントサーバ305から受け付けたジョブのスケジューリング処理を行い、プルプリントサーバ305に対して印刷指示を発行する。印刷指示を受け付けたプルプリントサーバ305は、出力ポート402を介してプリントデバイス306に印刷データを出力する。
また、印刷中に、プルプリントエージェント606において認証情報記録媒体521の存在が検知できなくなると、プルプリントサーバ305はプリントデバイス306に対し印刷ジョブのキャンセルを指示する(後述の図22のS2203)。デバイススケジューラはその指示に従い印刷処理をキャンセルし、ジョブの進行状況(例えば印刷排紙完了面数等のジョブ進行状況)をプルプリントサーバ305に通知する(図8のS814)。プルプリントサーバ305はその通知された進行状況に基づくジョブ状況情報(印刷又は排紙が完了した印刷面数)を印刷ジョブと対応付けて保持する。このジョブ状況情報とは印刷ジョブについてどれほどまでの印刷が完了しているかを識別する為の情報を指す。つまりプルプリントサーバ305が印刷ジョブの再出力開始ページを識別できれば、再出力先ページそのものであっても良いし、印刷が完了しているページであっても良い。そして、再度、認証情報記録媒体521がプルプリントエージェント606により検知された場合は、プルプリントエージェントから通知されてくるユーザ識別情報に対応して保持してある印刷面数からジョブ出力を開始する。
図5は、本実施形態に係る印刷システムにおけるプリントデバイス306内のネットワークプリントサーバ220およびプリンタコントローラ219の各記憶デバイスに記憶された制御プログラム内のソフトウェア構成を説明するブロック図である。なお、図5中に示されるソフトウェア構成は本発明に係る主要な箇所を示したものであり、勿論、印刷出力処理を行う為のほかのソフトウェア構成も実際には含まれる。また図示された各制御プログラムは、各制御機器のCPU(CPU201,208)によってプログラムが解析され処理される。
オペレーティングシステム501はネットワークプリントサーバ220の基本的なデータの入出力制御を統括する。さらに、オペレーティングシステム501は、ファイルシステム505、拡張インターフェースドライバ507、ネットワークインターフェースドライバ506を内包している。ファイルシステム505は、プログラム/データ記憶部508及びライセンス記憶部509との入出力制御を行う。拡張インターフェースドライバ507は、プリンタコントローラ219と拡張インターフェース217を介して通信制御を行う。ネットワークインターフェースドライバ506は、LANC205を制御し、ローカルエリアネットワーク(LAN212)の通信媒体を介して不図示のホストコンピュータ等の外部装置と通信を行う。
アプリケーションプログラムインターフェース(API)502は、アプリケーションプログラムに対して上記オペレーティングシステムが備える各種機能を提供する。アプリケーションプログラムとしては、ネットワークプリントサーバ220で動作するユーザアプリケーション503やプリンタ200やユーザアプリケーションの登録・管理を行う管理アプリケーション504等が挙げられる。また、アプリケーションプログラムインターフェース502が提供する機能(API)は以下のとおりである。データ転送APIは、印刷データの送受信機能を提供する。リソース制御APIは、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行う。プリンタ制御APIは、プリンタ200の再起動や設定値の初期化や設定等の制御を行う。ジョブ制御APIは、印刷ジョブの取り消しや再印刷指示などを制御する。プリントサーバ制御APIは、ネットワークプリントサーバ220の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行う。
プリンタコントローラ219のオペレーティングシステム512は、プリンタコントローラ219の各種処理制御を統括する。オペレーティングシステム512は、プリンタエンジン制御部514とファイルシステム515を含む。プリンタエンジン制御部514はプリンタエンジン216との通信制御を行う。また、ファイルシステム515は、機種依存リソース/プログラム記憶部516及びライセンス記憶部517との入出力制御を行う。機種依存リソース/プログラム記憶部516は、ネットワークプリントサーバ220から参照されるビットマップ画像やエラーメッセージ等の機種依存リソース及びネットワークプリントサーバ上で動作する機種依存アプリケーションプログラム等を記憶する。
拡張インターフェース制御部513は、拡張インターフェース217を介してネットワークプリントサーバ220との通信制御を行う。また、拡張インターフェース制御部513は、各論理インターフェースを介してネットワークプリントサーバ220から要求された命令をオペレーティングシステム512に対して転送し、その処理結果をネットワークプリントサーバ220に対して返信する。図5では、拡張インターフェース制御部513が備える論理インターフェースとして、データ転送論理インターフェース、リソース制御論理インターフェース、プリンタ制御論理インターフェース、ジョブ制御論理インターフェースが示されている。データ転送論理インターフェースは制御種別毎に印刷データの入出力を制御する。リソース制御論理インターフェースは機種依存リソース/プログラム記憶部516に記憶された各種データの入出力を制御する。プリンタ制御論理インターフェースは、プリントデバイス306の再起動や設定値の初期化や設定等の制御を行う。ジョブ制御論理インターフェースは、印刷ジョブの取り消しや再印刷指示などを制御する。
ネットワークプリントサーバ220において、USB制御部518は、USBケーブル519で接続された外部機器である、認証情報読取装置520を介し、認証情報記録媒体521から認証情報と認証情報記録媒体の存在状態情報を取得する。認証情報は、上述した、印刷ジョブに含めたユーザ識別情報に対応する。また、存在状態情報は、認証情報記録媒体521が認証情報読取装置520に装着されているか否かを示す。認証情報記録媒体521を物理的に検知し、該検知信号を存在状態情報としても認証情報記録媒体521の存在、即ち解除されたことを識別できる。この存在状態情報を検知することでユーザ識別情報を入力できない状態、即ち認証情報記録媒体521が除去されたことを検知できる。
なお、本実施形態では、ユーザの存在または、ユーザを特定、認証するための装置として、USBを介して接続された認証情報読取装置520と認証情報記録媒体521を用いているがこれに限られるものではない。例えば認証情報読取装置520と認証情報記録媒体521に代えて、接続式不揮発性記録媒体(ICカード等)、赤外線等によるユーザの検出、静脈認証装置、指紋認証読取装置、角膜認証読取装置、音声認証読取装置等を認証情報取得機器として用いることがでる。従って、図5に示したUSB制御部518は、“USB制御”に限られるものではなく、実装された認証情報取得機器に応じた接続プロトコルを制御する制御部となる。
ネットワーク制御部511は、ネットワークインターフェースドライバ506がLAN212を介してクライアントPC101〜103からの通知を受け付けた場合に、受信の通知を受け付ける。ネットワーク制御部511は、この通知に基づいて、どのプルプリントサーバ305からの通信であるかを判断したり、通信の制御を行ったりすることができる。
LPD/RAW510は、プルプリントサーバ305が送信する印刷データを受け付けるプロトコルを制御するモジュールであり、受け付けた印刷データをプリンタコントローラ219に渡すことができる。
また、ユーザアプリケーション503はプリントコントローラ219の機種依存リソース/プログラム記憶部516またはネットワークプリントサーバ220のプログラム/データ記憶部508に格納される。プリントデバイス306が起動すると、CPU201は、プログラム/データ記憶部508または516に格納されたユーザアプリケーション503が持つライセンスと、ライセンス記憶部509または517が持つライセンスとを比較する。こうして、CPU201は両者が一致しているかどうかを判断する。一致していた場合は適正アプリケーションプログラムであると判断し、アプリケーションプログラムをネットワークプリントサーバ220のRAM202にロードする。
次に、本実施形態のプルプリントを実現するデバイススケジューラ600とプルプリントエージェント606のソフトウェア構成について図6を用いて説明する。
デバイススケジューラ600及びプルプリントエージェント606は、デバイス上のユーザアプリケーション503であり、本プリントシステムのスケジューリング機能や、プルプリントサーバ305から受け付けた印刷ジョブを管理する管理機能を持つ。
通信接続管理部601は、クライアントPC101〜103の接続状況や、プルプリントサーバ305に通知すべき情報を管理する。通信接続管理部601は、接続しているクライアントを表すクライアント情報1502(図15)をクライアント管理キュー1501で管理する。なお、通信接続管理部601は、プログラムアプリケーションインターフェース502のデータ転送API、ネットワークインターフェースドライバ506を経由してプルプリントサーバ305と通信を行う。
スケジュール管理部602は、クライアントPC101〜103のプルプリントサーバ305から受け付けた印刷ジョブのスケジューリングを行う。スケジュール管理部602は、ジョブ管理部603とデバイス管理部604を有する。ジョブ管理部603は、クライアントPC101〜103のプルプリントサーバ305が発行したスケジュール要求や、プルプリントサーバ305が印刷を要求するジョブを管理する。ジョブ管理部603は、プルプリントサーバ305が印刷を要求するジョブの情報(図16のジョブ情報1602)をジョブ管理キュー1601(図16)で管理している。デバイス管理部604は、プリンタコントローラ219からプリンタの状態や受け付けた印刷ジョブの状態を示す情報(イベント)をイベントハンドラ605を介して受け付ける。デバイス管理部604は、プリンタコントローラ219から受け付けたイベントを通信接続管理部601やジョブ管理部603に通知する。
プルプリントエージェント606はUSB管理部607、サーバ通信部608、デバイス管理部609を有する。USB管理部607はUSB制御部518を介して認証情報(ユーザ識別情報)を取得し、サーバ通信部608に渡す。デバイス管理部609は当該プリントデバイスのアドレス情報等を取得し、サーバ通信部608に渡す。サーバ通信部608は取得した情報をプルプリントサーバ305に送信する。
図7は、クライアントPC101〜103のプルプリントサーバ305が、プルプリントエージェント606から認証情報を受け付けた後、プリントデバイス306にスケジュール要求を発行し、印刷が終了するまでの処理について示す図である。
プルプリントサーバ305は、認証情報を受け付けると、デバイススケジューラ600とセッション接続を開始する。セッション接続が開始されると、プルプリントサーバ305は、自身のクライアント情報(図15のクライアント情報1502に示す内容を含む)を通知する接続要求コマンドをデバイススケジューラ600に送信する。また、プルプリントサーバ305は、デバイススケジューラ600にジョブ/デバイス状態を通知させるためのイベント登録を要求する。更に、プルプリントサーバ305は、デバイススケジューラ600がスケジュール管理するジョブの情報を取得するジョブリスト取得コマンドを発行し、ジョブリストを取得する。一方、デバイススケジューラ600は、接続要求を受け付けると、これに含まれるクライアント情報1502(図15)をクライアント管理キュー1501(図15)により登録する。また、デバイススケジューラ600は、イベント登録の要求を受け付けると、これを該当するクライアント情報(図15の1502)の登録イベントに設定する。更に、デバイススケジューラ600は、ジョブリスト要求を受け付けると、ジョブ管理キュー1601(図16)に登録されているジョブ情報1602のリストを、ジョブリストとしてプルプリントサーバ305へ送信する。
次に、プルプリントサーバ305が印刷を予約するためのスケジュール要求のコマンドを発行する。スケジュール要求には印刷すべきジョブのジョブ情報1002(図10)が付加されている。但し、「ジョブID」については、図7の「スケジュール要求」に応じて、デバイススケジューラ600により生成され返信されたものが設定される。
デバイススケジューラ600はスケジュール要求を受け付けると、ジョブ管理キュー1601(図16)にジョブ情報1602(図16)を登録する。ここで、図16中のジョブIDは図10におけるジョブIDと同じもの、或は、対応するものであり、上に説明したジョブ管理部603が発行したものに相当する。ジョブ情報1602には、ドキュメント名等の情報が設定される。デバイススケジューラ600は、当該プリントデバイス306が、印刷データを受け付けられるようになったかどうかを判断する(判断方法については後述する)。受け付けられるようになったと判断した場合、ジョブ管理キュー1601に従って処理すべきジョブを特定し、その依頼元のプルプリントサーバに当該ジョブのスケジュールUPを発行する。なお、クライアント情報1502とジョブ情報1602の何れにも「クライアントIPアドレス」が記録されている。従って、クライアント管理キュー1501によって登録されたクライアント情報のうち、どのクライアント情報がジョブの依頼元のクライアントのものであるかは、クライアントIPアドレスを参照することで判断できる。このスケジュールUPの発行により、印刷データの送信を開始するようにプルプリントサーバ305を促す。また、デバイススケジューラ600は、スケジュールUPを発行すると、当該ジョブのジョブ情報1602におけるジョブ状態を「スケジュールUP」に更新する。
プルプリントサーバ305は、スケジュールUPを受け付けると、LPD/RAW510へ印刷データの転送を開始し、転送が始まるとデバイススケジューラ600に対して転送開始を通知する。デバイススケジューラ600は、この転送開始通知を受けると、当該ジョブのジョブ情報1602におけるジョブ状態を「転送中」に更新する。
LPD/RAW510は、印刷データを受け付けるとプリンタコントローラ219にデータを転送する。プリンタコントローラ219は、LPD/RAW510から転送されたデータに基づいて印刷を開始する。プリンタコントローラ219は、印刷を開始すると、当該ジョブの印刷状態をデバイススケジューラ600に通知する。デバイススケジューラ600は、クライアント情報1502(図15)の登録イベントの情報を基に、プルプリントサーバ305にジョブの印刷状態(制御対象のジョブの進行状況)を通知する。
プルプリントサーバ305は、LPD/RAW510への印刷データの転送が終了すると、デバイススケジューラ600に対して転送終了通知を送信する。デバイススケジューラ600は、転送終了通知を受けると、ジョブ情報1602のジョブ状態を「転送済」に更新する。
その後、プリンタコントローラ219で印刷処理が終了すると、ジョブの印刷状態として印刷完了の通知をデバイススケジューラ600に通知する。デバイススケジューラ600は、クライアント情報1502の登録イベントの情報を基に、プルプリントサーバ305にジョブの印刷完了を通知する(印刷状態通知)。
プルプリントサーバ305は、ジョブの印刷完了を示す印刷状態通知により印刷が完了したことを確認すると、以降はプリントデバイスからの通知は不要となる。従って、プルプリントサーバ305は、デバイススケジューラ600からのイベント通知に関する登録イベントを解除するためのイベント解除要求を発行する。デバイススケジューラ600は、イベント解除要求を受け付けると、クライアント情報1502の登録イベントにイベントを通知しない旨の情報を設定する。
その後、プルプリントサーバ305は、デバイススケジューラ600との接続を終了するための切断要求を発行し、本セッションを終了する。デバイススケジューラ600は、切断要求を受け付けると、クライアント管理キュー1501から該当するクライアント情報を削除し、プルプリントサーバ305との処理を終了する。
図8は、本実施形態の概略動作を示す図である。図8を用いて、本実施形態の印刷システムによる動作概略を説明する。
まずS801において、プルプリントエージェント606及びデバイススケジューラ600の各タスクが初期化される。この初期化処理の中で、デバイススケジューラ600は、プリンタエンジン制御部514にイベントの登録(イベント登録)を行う(S802)。これはプリンタエンジン216内でジョブが処理された際のジョブ状態変化や、プリンタにおけるエラーの発生(ジャムやカバーオープン等)などのデバイス状態変化等をデバイススケジューラ600を介してプルプリントサーバ305へ通知するためのものである。上述したようにデバイススケジューラ600は初期化処理が完了するとイベント待ちのループに入る。また、プルプリントエージェント606も初期処理の完了でイベント待ちのループに入る。
プルプリントエージェント606は、認証情報記録媒体521が認証情報読取装置520に挿入されたことを検知すると、認証情報記録媒体521に記録されている認証情報を読み込む(S803)。そして、不図示の認証機構によってカード(認証情報記録媒体521)のオーナーを特定し、ユーザ識別情報を得る。また、プルプリントエージェント606は、プリンタエンジン制御部514を経由して当該プリントデバイスの構成情報を取得する(S804)。此処で取得する構成情報とは、用紙残量やトナーの有無と言った消耗品情報と、両面ユニットやステイプル装置(フィニッシャー)の使用可否といった装置情報を含む。
続いて、プルプリントエージェント606は、S803で取得したユーザ識別情報とS804で取得したデバイス構成情報をプルプリントサーバ305へ通知する(S805)。本実施形態では、この通知をセッション開始通知と定義する。プルプリントサーバ305はセッション開始通知を受け取るとユーザ識別情報及びデバイス構成情報から印刷可能なジョブを選択する。この処理は図14を用いて後述する。
プルプリントサーバ305は印刷を実行するために、まずイベント登録及びジョブのスケジュール予約を行う(S806)。このイベント登録は図7により前述したとおりである。また、スケジュール予約については図14を用いて後述する。続いて、プルプリントサーバ305はデバイススケジューラ600よりスケジュールUPを受信する(S807)。スケジュールUPを受信した際のプルプリントサーバ305の処理の詳細は図22により後述する。プルプリントサーバ305は、スケジュールUPを受信すると、事前に通知されたユーザ識別情報に対応する1つ又は複数の印刷ジョブをプルプリントキューから読込、プリンタエンジン制御部514に出力する(S808)。より正確には、プルプリントサーバ305はLPD/RAW510に印刷データを転送し、LPD/RAW510は印刷データをイメージに展開してプリンタコントローラ219へ転送する。
また、プルプリントエージェント606は、認証情報記録媒体521が取り出され、ユーザ識別情報を入力できなくなったことを検知すると(S809)、該検知に応じた通知をプリントサーバ305に行う(S810)。例えば認証情報記録媒体521が取り外し検知に応じた通知としてキャンセル指示とジョブ保持指示をプルプリントサーバ305に出す。なお、図8中には、「ジョブキャンセル&保持命令」と記載されているが通知内容としてこれに限定される訳ではない。プルプリントサーバ305が印刷ジョブ制御を行うかを識別可能するための通知であれば、例えば、認証情報記録媒体521が取り出されたことを示す情報であっても良い。プルプリントサーバ305は、S810のプリンタからの通知に応じて、デバイススケジューラ600にジョブ制御指示としてキャンセル指示を出す(S811)。デバイススケジューラ600はジョブキャンセル指示を受けると、プリンタエンジン制御部514に対しジョブキャンセル指示を出す(S812)。このジョブキャンセル指示を受けてプリンタエンジン制御部514は現在印刷中の処理を終了させ、ジョブのキャンセルを実行する。こうしてジョブのキャンセルが実行されると、デバイススケジューラ600にジョブキャンセルを通知するイベントが発行される(S813)。デバイススケジューラ600は、プリンタエンジン制御部514からジョブキャンセルの通知を受けると、プルプリントサーバ305に対して印刷が完了し実際に排紙完了した印刷面数を通知する(S814)。プルプリントサーバ305は、通知を受けた印刷面数が当該ジョブの総面数よりも少ない場合は、後に継続した印刷を可能にするべく、当該ジョブを保持する処理を行うが、この詳細については図22のフローチャートを参照して後述する。
図9は、プルプリントサーバ305にプルプリント用のジョブを登録する処理を説明するフローチャートである。
図9(a)はアプリケーション301からジョブを登録する処理を示している。S901において、アプリケーション301はジョブを生成し、プリンタを指定して印刷指示を発行する。902において、この印刷指示に基づいてPDLドライバ302は、印刷ジョブを生成し、スプーラ303を介して印刷所ブをジョブ制御ポートモニタ304に渡す。そして、ジョブ制御ポートモニタ304は、当該印刷ジョブをプルプリントサーバ305に渡す。以下、S903〜S906の処理はプルプリントサーバ305の処理である。
即ち、S903において、プルプリントサーバ305は、ユーザ識別情報を取得し、S904においてこのユーザ識別情報を印刷ジョブに埋め込む。本実施形態では、プルプリントサーバ305は、印刷ジョブに対応するジョブ情報1002を生成し、これにユーザ識別情報を記述する。なお、ユーザ識別情報は認証情報記録媒体521に記録しておく認証情報と同じ情報であり、本実施形態では、不図示のGUIを提供してユーザに情報を入力させることにより認証情報は取得されるものとする。もちろん、識別情報が登録されたICカードからカードリーダによって識別情報を読み取り、ユーザ識別情報として用いるようにしてもよい。
次に、S905で、プルプリントサーバ305は、ジョブ状態を「停止」にする。そしてS906で、プルプリントサーバ305は、プル用のプリントキュー401に状態を「停止」にしたジョブを留め置く。
また、ジョブの登録方法ではアプリケーション301から登録する方法の他にジョブ登録アプリケーション309からジョブを登録することも可能である。この場合、ジョブ登録アプリケーション309は、図3に示すようにプルプリントサーバ305と異なるクライアントPC上に存在していても良い。ジョブ登録アプリケーション309には、例えば帳票印刷データを出力するアプリケーションや、カタログ印刷データを出力するカタログ出力アプリケーション等を適用できる。
図9(b)はジョブ登録アプリケーションからジョブを登録する処理を説明するフローチャートである。S911において、ジョブ登録アプリケーション309は、PDLドライバを用いて作成された印刷ジョブを選択する。次に、S912において、ジョブ登録アプリケーション309上からユーザ識別情報を取得し、S913においてこのユーザ識別情報を選択された印刷ジョブに埋め込む。例えば、上述したように、ジョブ情報1002の「ユーザ識別情報」として記述する。なお、このユーザ識別情報は、認証情報記録媒体521に記録しておく認証情報と同じ情報である。
次に、S914でジョブの状態を「停止」にする。そして、S915においてAPI610を介して、プル用のプリントキュー401にジョブを留め置く。
以上のような登録処理により、ある特定のユーザが作成する複数の印刷ジョブには共通のユーザ識別情報が含まれることになる。このようなユーザ識別情報は、所定のユーザインターフェースを介してユーザから直接入力されるものとしたが、ユーザ識別情報の管理方法はこれに限られるものではない。例えば、メモリカードに記録されたユーザIDを読み出し、これをユーザ識別情報として用いてもよい。更に、ユーザIDを本実施形態のプルプリントで用いるユーザ識別情報と対応付けて管理しておき、ユーザIDの指定に応じて対応するユーザ識別情報を取得して印刷ジョブに関連付けるようにしてもよい。そして、本実施形態では、このユーザ識別情報によりプルプリントにおける印刷ジョブの指定がなされる。なお、上記の登録においてはユーザ識別情報を印刷ジョブ(ジョブ情報)に埋め込んでユーザ識別情報を印刷情報に関連付けているが、リンク情報を用いるなどして関連付けるようにしてもよい。
図10は、プルプリントサーバ305が印刷すべく発行したスケジュール要求に付加されるジョブ情報1002と、プルプリントサーバ305が複数のジョブ情報を管理するために用いるジョブ管理キュー1001のデータ構成例を示す図である。図10に示されるジョブ管理キュー及びジョブ情報はプルプリントサーバ305側に保持される。ジョブ管理キュー1001はプルプリント用のプリントキュー401に対応する。なお、図示されるジョブ管理キュー1001では、ジョブ情報そのものではなく、ジョブ情報とのリンクを示すジョブIDが管理されている。ここでこのジョブ管理キュー1001は、上に説明した図8のプリントキュー401、401Aに相当させることができる。
ジョブ情報1002は、プルプリントサーバ305が印刷を開始するために発行するスケジュール要求に付加される印刷ジョブの情報である。ジョブ情報1002において、「ドキュメント名」は当該印刷ジョブのドキュメント名を、「ジョブID」はジョブ管理部603が発行したジョブIDを示す。また、このジョブIDは、図7等で説明したスケジュール要求に応じてデバイススケジューラ600からプルプリントサーバ305に応答され、プルプリントサーバ305により管理される。また、「ユーザ名」はクライアントで印刷を開始したユーザ名を示す。「ページ数」はジョブのページ数を、「ジョブ状態」は印刷ジョブの状況を表す。「ジョブ保持フラグ」は、ジョブキャンセル時に当該ジョブを保持するかを表すフラグである。また、「再印刷開始ページ」には、印刷が中断されたジョブについて、どこまで印刷ジョブが完了したかを示すジョブ進行状況情報に基づいて、当該ジョブの再印刷時の開始ページが登録される。この再印刷開始ページから印刷を再開することにより、処理が中断された印刷ジョブを、その中断位置から再開させることができる。よって、ファースト印刷時は、「再印刷開始ページ」には0が設定されている。「ユーザ識別情報」は上述のとおりである。
ここで「再印刷開始ページ」とは、図8のS814の印刷進行状況に示す情報に基づき算出されたジョブ状態状況情報に相当する。但し、「再印刷開始ページ」に限られるものではない。再度プリンタ側からユーザ識別情報が入力され、該入力されたユーザ識別情報に対応して読込まれる印刷ジョブの出力開始ページを特定できる情報であれば、他の情報であっても良い。例えば、「再印刷開始ページ」の変わりにS814の通知情報(ジョブ進行状況情報)をそのまま格納し、再度ユーザ識別情報の入力があった場合に、格納された通知情報に元に再印刷開始ページを算出しても良い。
また、認証情報記録媒体521が検知できなくなり、ジョブキャンセルを実行する場合は(後述のS2203)、まず、ジョブ情報1002のジョブ保持フラグをONに設定し、当該ジョブをプルプリントサーバ305で保持する。また、このとき、ジョブキャンセル時点での印刷完了ページがデバイススケジューラ600から通知されるので、プルプリントサーバ305は通知された値に1をプラスし、ジョブ情報1002の「再印刷開始ページ」に設定する。再度、認証情報記録媒体521が検知されると、プルプリントサーバ305は保存されているジョブを再印刷させる。このとき、再印刷は「再印刷開始ページ」に設定されているページから印刷を行う。
「ジョブ状態」は、プリントサーバ305が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでのジョブの状態を表している。ジョブの状態としては、印刷待機中、スケジュールUP状態、転送中、転送済み、印刷完了などの状態がある。
「ジョブID」は、印刷データに含まれるジョブのIDで、プリントデバイス側からプリンタコントローラ219内のジョブ状態をプリントサーバ側に通知する時などに付加させる情報である。
ジョブ管理キュー1001は、複数のジョブ情報1002を管理するための管理キューである。上位アプリケーションからの印刷要求を受け付けると、ジョブ情報1002がジョブ管理キュー1001に登録される。また、印刷ジョブが印刷終了すると、該当するジョブ情報はジョブ管理キュー1001から削除される。
一方、印刷のスケジュール要求が発行された場合、ジョブ管理キュー1001、ジョブ情報1002に関連して、指定された出力先の情報も管理される。その様子を図11に示す。図11は、プルプリントサーバ305が管理するプリンタ情報1101とポート情報1102のデータ構成例を表している。
プリンタ情報1101は、プルプリントサーバ305が管理するそれぞれのプリントキューの情報を表している。プリンタ情報には、「プリンタ名」などの情報が含まれている。ポート情報1102は、ジョブ制御プリンタサービスが管理するそれぞれの出力ポートの情報を表している。ポート情報1102には、印刷するデバイスの「IPアドレス」などの情報が含まれる。
なお、後述のS1402でプリントキュー、出力ポートを特定すると、プルプリントエージェント606から送信された情報1301(図13)の内のデバイスアドレスがポート情報1102の「IPアドレス」にセットされる。また、プルプリントエージェント606から送信された情報の内のデバイス構成はポート情報1102の「デバイス構成」にセットされる。
図12は、プルプリントエージェント606で認証情報を検知し、認証情報記録媒体521からプルプリントするために必要な情報をプルプリントサーバ305に通知するまでの処理を示すフローチャートである。
まず、認証情報読取装置520は認証情報記録媒体521の状態変化を検知する。認証情報記録媒体521の状態変化とは、例えば認証情報読取装置520がカードリーダの場合には、認証情報記録媒体521(カード)が抜かれた、または、挿入された等の変化を指す。また、例えば認証情報読取装置520が認証情報記録媒体521を赤外線センサー等で検知する場合、認証情報記録媒体521の状態変化とは認証情報記録媒体521の存在状態(有無)が変化したかどうかを指す。また、認証情報読取装置520にユーザが手等をかざすことにより認証する装置(手のひらの静脈パターンを用いた認証)の場合も、上記と同様である。この場合、例えばプルプリントによる印刷の実行中、手をかざし続けることになる。S1201では、プルプリントエージェント606は、上述のような認証情報記録媒体521の状態変化の検知を認証情報読取装置520から受信する。
認証情報記録媒体521の状態の変化が検知され、認証情報記録媒体521が存在すると判定された場合、処理はS1202からS1203に移行し、プルプリントエージェント606は、認証情報記録媒体521から認証情報(ユーザ識別情報)を取得する。次にS1204において、プルプリントエージェント606は、当該プリントデバイスから、当該デバイスを特定するためのデバイスアドレスを取得するとともに、デバイスの構成情報を取得(図8のS804)する。此処で取得する構成情報は、用紙残量やトナーの有無と言った消耗品情報と、両面ユニットやステイプル装置(フィニッシャー)の使用可否といった装置情報を含む。次にS1205において、プルプリントエージェント606は、S1203で取得した識別情報及びS1204で取得したデバイスアドレス及びデバイス構成情報をプルプリントサーバ305に通知する(S805)。
一方、S1202において、認証情報記録媒体521が存在しない場合は、認証情報の入力の解除がなされたものとして、処理はS1206に移行する。S1206では、プルプリントエージェント606は、印刷継続フラグに基づき処理を分岐する。この印刷継続フラグは予め認証情報記録媒体521に記憶させておき、認証情報読取装置520に読み取らせることによりネットワークプリンタ104に入力できる。また、ネットワークプリンタ104の操作部から設定させるようにしても良いし、或は、印刷ジョブに印刷継続フラグの情報を含ませ、該含ませた印刷継続フラグをネットワークプリンタ104が読み込むようにしても良い。
この印刷継続フラグがOFFであった場合はS1207に移行する。S1207では、印刷ジョブのキャンセル及びジョブの保持命令をプルプリントサーバ305に通知する(S810)。なお、図8のS810で説明したように、S1207の通知は、プルプリントサーバ305が印刷ジョブ制御を行うかを識別可能するための通知であればよく、例えば、認証情報記録媒体521が取り出されたことを示す情報であっても良い。一方、S1206において、印刷継続フラグがONであった場合は、S1207によるジョブのキャンセルを行わずに処理を終了する。
図13はプルプリントエージェント606がS1205においてプルプリントサーバ305に送る情報のデータ構成例を示す図である。情報テーブル1301は、認証情報読取装置520で認証情報記録媒体521を検知した後にプルプリントエージェント606がプルプリントサーバ305に送信する情報が登録されている。情報テーブル1301の内容は、「デバイスアドレス」、「識別情報」、「デバイス構成情報」、「印刷継続フラグ」である。
「ユーザ識別情報」は、プルプリントの対象となるジョブを特定するために用いる情報を指す。なお、本実施形態では、プルプリントの対象となるジョブを特定するために各々のジョブに関連付けされているジョブの作成者(ユーザ名)を用いるがこれに限られるものではない。ジョブを固有に識別するジョブIDやジョブ名を利用してもよい。
「印刷継続フラグ」は、この値がONの場合は、印刷中に認証情報読取装置520から記録情報記録媒体521が検知できなくなってもジョブをキャンセルせず、そのまま印刷を継続するモードとすることを示す。「印刷継続フラグ」の値がOFFの場合(デフォルトはOFF)は、記録情報記録媒体521が検知できなくなるとジョブがキャンセルされる。
図14は、クライアントPC101〜103のプルプリントサーバ305が、プルプリントエージェント606から図13に示す情報を受け付けることで実行する印刷データの転送処理を説明するフローチャートである。
S1401において、プルプリントサーバ305は、プルプリントエージェント606からデバイスアドレス、ユーザ識別情報、デバイス構成情報(図13)を取得する。次に、S1402において、プルプリントサーバ305は、プリントキュー401を特定する。そして、S1403において、プルプリントサーバ305は、プリントキュー401(プルプリント用)に、上記ユーザ識別情報と一致するジョブが留め置かれているかをチェックする。該当するジョブが留め置かれている場合は、S1404において、プルプリントサーバ305は、図11のプリンタ情報1101及びポート情報1102に、S1401で取得したデバイスアドレスとデバイス構成情報を設定してS1405に処理を移行する。該当するジョブが留め置かれていない場合は、S1403からS1420へ進み、プルプリントサーバ305は、プルプリントエージェント606にエラーを通知し、処理を終了する。
S1405では、プルプリントサーバ305は、デバイススケジューラ600に対しイベント未登録であるか、または、デバイススケジューラ600から印刷データの転送の開始を指示するスケジュールUPのコマンドを受け付けたか、を判断する。イベント未登録の場合は、S1406に移行する。なお、イベント未登録の状態か否かの判定は、例えば、S1407のイベント登録処理が実行済みか否かにより行うことができる。また、スケジュールUPのコマンドを受け付けるとS1410に処理を移行する。
イベント未登録の場合は図7の701に示されるやり取りが行われる。まず、S1406において、プルプリントサーバ305は、デバイススケジューラ600に接続するための接続要求コマンドを発行する。接続要求には、自身のIPアドレス(クライアントIPアドレス)が含まれる。プルプリントサーバ305が接続要求を発行すると、プルプリントサーバ305の情報がデバイススケジューラ600のクライアント管理キュー1501(図15)に登録される(図17により後述する)。この登録により、プルプリントサーバ305とデバイススケジューラ600間で情報のやり取りを行うことが可能となる。次に、S1407では、プルプリントサーバ305は、デバイススケジューラ600に対して、ジョブイベント、デバイスイベントを登録する。この処理により、当該プルプリントサーバ305に対応したクライアント情報1502の登録イベントに必要なイベントが登録される。ジョブイベントを登録すると、プルプリントサーバ305が印刷したジョブや、他のクライアントが印刷したジョブの状態の変化がデバイススケジューラ600より通知されることになる。また、デバイスイベントを登録すると、プリントデバイス306の状態の変化がデバイススケジューラ600よりプルプリントサーバ305へ通知されるようになる。
S1408では、プルプリントサーバ305は、デバイススケジューラ600で管理しているジョブ管理キュー1601に登録されているジョブIDのリスト(ジョブリスト)を取得する。このジョブリストとジョブイベントにより、デバイススケジューラ600が管理するジョブの印刷状況を把握することが可能となる。以上の処理により印刷する準備が整う。S1409では、プルプリントサーバ305は、デバイスアドレスで特定されるプルプリント用プリントキューからユーザ識別情報が一致する印刷ジョブを選択する。そして、スケジュール要求とともに選択した印刷ジョブのジョブ情報を送ることにより、選択した印刷ジョブをデバイススケジューラに登録させる。そしてS1405に戻り、次の指示を待機する。なお、S1409によるスケジュール要求により、印刷対象のジョブがデバイススケジューラ600のジョブ管理キュー1601に登録され、管理されることになる。
一方、S1405においてデバイススケジューラから印刷データの転送指示であるスケジュールUPのコマンドを受け付けると、処理はS1410に移行する。S1410では、プルプリントサーバ305は、印刷対象のジョブのジョブ情報1002の「再印刷開始ページ」を印刷ジョブに設定する。S1411では、プルプリントサーバ305は、転送指示を受けたジョブの転送を開始する。印刷データの送信が開始されると、S1412において、プルプリントサーバ305は、デバイススケジューラ600に転送が開始されたこと(転送開始状態)を通知する。S1413で印刷データの転送が終了すると、S1414においてプルプリントサーバ305は、デバイススケジューラ600に転送が終了したことを通知する。
図15は、デバイススケジューラ600の通信接続管理部601が管理するクライアント情報1502とクライアント管理キュー1501を示す図である。
クライアント情報1502は、接続するクライアントPC毎に通信接続管理部601が割り振った「クライアントID」、接続するクライアントPCのIPアドレスを示す「クライアントIPアドレス」を含む。また、クライアント情報1502は、接続するクライアントPCのプルプリントサーバ305が登録したイベントの種類を示す「登録イベント」を含む。イベントの種類とは、プリンタコントローラ219が発行するデバイス状態のイベントやジョブ状態のイベントの種類を表す。
クライアント管理キュー1501は、接続したプルプリントサーバ305のクライアント情報1502をキューの形式で保持する。クライアントとのセッションが開始されると、該当するクライアントの情報が本管理キューに登録され、切断すると該当するクライアント情報が削除されるようになっている。
図16は、プルプリントサーバ305が印刷すべく発行したスケジュール要求に付加するジョブ情報1602と、複数発生するジョブ情報を管理するジョブ管理キュー1601を示す図である。ジョブ管理キュー1601及びジョブ情報1602は、プリントデバイス側に保持される。
ジョブ情報1602は、プルプリントサーバ305が印刷を開始するために発行するスケジュール要求に付加される印刷ジョブの情報である。このジョブ情報1602は、印刷ジョブの「ドキュメント名」、デバイススケジューラ600のジョブ管理部603が発行した「ジョブID」、プルプリントサーバ305で印刷を開始した「ユーザ名」、ジョブの「ページ数」を含む。また、ジョブ情報1602には、印刷ジョブの状況を表す「ジョブ状態」、プルプリントサーバ305が転送する印刷データに含まれる「ジョブデータID」、印刷したプルプリントサーバ305のIPアドレスを示す「クライアントIPアドレス」が登録される。
なお、「ジョブ状態」は、プルプリントサーバ305が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでの状態を表しており、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。「ジョブデータID」は、印刷データに含まれるジョブのIDで、プリンタコントローラ219内でのジョブ状態を通知するときなどに付加させるIDである。「ジョブデータID」はプルプリントサーバ305が転送する印刷データに含まれるジョブデータのIDである。「IPアドレス」は印刷したクライアントのIPアドレスを示す。
ジョブ管理キュー1601は、複数のジョブ情報1602を管理するための管理キューである。プルプリントサーバ305からスケジュール要求を受け付けると、ジョブ情報1602が管理キューに登録される。また、対応する印刷ジョブの印刷が終了すると、該当するジョブ情報が削除されるようになっている。
次に、図17のフローチャートにより、プルプリントサーバ305からの要求や通知、デバイス管理部604からの通知、ジョブ管理部603への要求や通知を処理する通信接続管理部601による処理を説明する。
S1701では、通信接続管理部601は、プルプリントサーバ305やデバイス管理部604、ジョブ管理部603からの通知や要求を受け付け、どの通知や要求であるかを判断する。
S1701において受け付けた要求やイベントがプルプリントサーバ305からの接続要求であれば、処理はS1702に移行する。S1702において、通信接続管理部601は、クライアント情報1502に自身が発行したクライアントIDと要求を発したプルプリントサーバ305のIPアドレスを設定し、クライアント管理キュー1501にクライアント情報1502を登録する。S1701において受け付けた要求やイベントが、プルプリントサーバ305からのイベント登録の場合、処理はS1703に移行する。S1703において、通信接続管理部601は、該当するクライアント情報1502の登録イベントに、プルプリントサーバから登録すべく要求された通知すべきイベントの種類を設定する。イベントの種類には、ジョブの状態の変化を通知するジョブイベント、デバイスの状態の変化を通知するデバイスイベントがある。
S1701において受け付けた要求やイベントがデバイス管理部604からのデバイスイベントやジョブ管理部603からのジョブイベントであれば、処理はS1704に進む。S1704では、通信接続管理部601は、クライアント管理キュー1501に登録された全てのクライアント情報1502からクライアント情報の登録イベントの設定を参照し、プルプリントサーバ305にイベントを通知すべきかどうかを判断する。通知すべきであると判断した場合には、通信接続管理部601は、プルプリントサーバ305のIPアドレスを保持し、S1705において通知すべき全てのプルプリントサーバ305に対してイベントを送信する。
S1701において受け付けた要求やイベントがプルプリントサーバ305からの切断要求であれば、処理はS1706に移行する。S1706では、クライアント管理キュー1501から該当するプルプリントサーバ305のクライアント情報1502を削除する。
図18は、プルプリントサーバ305からのスケジュール要求の受け付けから、スケジュールUPを発行するまでのスケジュール管理部602による処理を説明するフローチャートである。
S1801において、スケジュール管理部602は、プルプリントサーバ305からの通知を受け付けると、その通知がスケジュール要求なのか、転送済み状態の通知(図7の転送終了通知)なのかを判断する。スケジュール要求の通知であれば、S1802に処理を移行する。S1802では、スケジュール管理部602は、ジョブ管理部603で発行したジョブIDと、スケジュール要求に付加された情報が設定されたジョブ情報1602を作成する。そして、スケジュール管理部602は、スケジュール要求を受け付けた順でジョブ管理キューに登録し、処理をS1803へ進める。一方、転送済み状態の通知であった場合は、処理はS1801から直接S1803へ進む。
次に、S1803において、スケジュール管理部602は、ジョブ管理キュー1601に登録されているジョブ情報1602のジョブ状態を確認する。ジョブ状態がスケジュールUP或いは転送中のものがあれば、既にあるプルプリントサーバに印刷データを転送するように指示しているので、スケジュール管理部602は、S1801に処理を戻す。一方、ジョブ状態がスケジュールUPまたは転送中のものがなければ、プルプリントサーバ305から印刷データが送られてくる予定が無い。従って、処理はS1804に移行し、スケジュール管理部602は、スケジュールUPの発行の準備を行う。S1804では、スケジュール管理部602は、ジョブ管理キュー1601で先にスケジュール要求を受け付けた順からジョブを確認し、スケジュール待機中のジョブが見つかるとS1805に処理を移行させる。S1805では、スケジュール管理部602は、該当するクライアントに対して印刷データの転送を開始させるスケジュールUPを通知する。そして、S1806において、スケジュール管理部602は、該当するジョブ情報1602のジョブ状態をスケジュールUP状態に更新し、S1801に処理を移行する。
図19は、デバイス管理部604からのジョブ状態通知イベントの受け付けと、プルプリントサーバ305からのジョブリスト要求の受け付けに対する、ジョブ管理部603の処理を示すフローチャートである。
S1901において、ジョブ管理部603は、通信接続管理部601やデバイス管理部604からの通知を受け付けると、その通知がデバイス管理部604からのジョブ状態通知であるか、プルプリントサーバ305からのジョブリスト要求であるかを判断する。
ジョブ状態通知であると判定されると、処理はS1901からS1902に移行し、ジョブ管理部603は、該当するジョブ情報のジョブ状態を更新する。そして、S1903に処理において、ジョブ管理部603は、当該ジョブ状態通知が印刷完了の通知であるかを判断する。印刷完了の通知でなければ、ジョブ管理部603は、処理をS1904に移行し、通信接続管理部601にジョブの状態のイベントをクライアントに発行するように通知する。
一方、S1903で、印刷完了の通知であれば、処理をS1905に移行する。S1905において、ジョブ管理部603は、ジョブ管理キューから該当するジョブを削除する。そして、S1906において、ジョブ管理部603は、通信接続接続管理部601にジョブの完了イベントをプルプリントサーバ305に発行するように通知し、処理をS1901に戻す。
S1901において、プルプリントサーバ305からのジョブリスト要求の受け付けると、処理はS1907へ進む。S1907では、ジョブ管理部603は、ジョブ管理キュー1601に登録されたジョブ情報1602のリストを要求元のプルプリントサーバ305に送信するように通信接続管理部601にジョブ情報リストを通知する。
尚、別の実施形態としてデバイススケジューラ600がプルプリントエージェント606に対して1ページ印刷するごとに印刷ページを通知するようにしてもよい。そして、プルプリントエージェント606はその値を認証情報記録媒体521に記録する。このようにすれば、印刷中に突然プリントデバイスの電源がOFFされた場合やネットワークが断線しプルプリントサーバ305に印刷面数情報を通知できない場合でも、再印刷時に認証情報記録媒体521に記録した印刷面数を元に再印刷を行うことができる。
図20は、プリンタコントローラ219からのデバイス状態、ジョブ状態通知をイベントハンドラを経由して受け付け、ジョブ管理部603や通信接続管理部601に通知するデバイス管理部604の処理を示すフローチャートである。
デバイススケジューラ600が起動すると、S2001において、デバイス管理部604は、イベントハンドラ605を経由してプリンタコントローラ219に対してイベントの登録を行う(S802)。ここでは、デバイスの状態が変更した場合や、プリンタコントローラ219が処理する印刷ジョブの状態が変更した場合に、それらの状態を通知するようにイベント登録を行う。
次に、S2002では、デバイス管理部604は、プリンタコントローラ219で発生したイベントをイベントハンドラ605経由で受け付ける。イベントを受け付けると、デバイス管理部604は、それがジョブのイベントであるかデバイスのイベントであるかを判断する。ジョブのイベントであれば、S2003において、デバイス管理部604は、ジョブ管理部603にジョブイベントを通知し、S2002に処理を移行する。
デバイスのイベントであれば、処理はS2004に移行して、デバイス管理部604は、当該デバイスの状態をデバイス管理部604で保持する。その後、S2005において、デバイス管理部604は、通信接続管理部601にデバイスイベントを通知し、処理をS2002に移行する。
図21は、デバイススケジューラ600からの通知やコマンドを受け付けた場合のプルプリントサーバ305の処理を示すフローチャートである。
S2101において、プルプリントサーバ305は、デバイススケジューラ600からジョブイベントが通知されたか、ジョブリストが返送されてきたかを判断する。ジョブイベントが通知された場合には、処理はS2102に移行し、ジョブリストが返送された場合には、処理はS2108に移行する。プルプリントサーバ305は、ジョブリストが返送されてくると、S2108において、プルプリントサーバ305が管理するジョブ管理キュー1001で管理されるジョブ情報1002にジョブリストから得られたジョブ情報を設定する。
S2102において、プルプリントサーバ305は、デバイススケジューラ600から通知されたジョブイベント通知が、ジョブ完了通知であるか、ジョブ状態変更通知(ステータス通知)であるかを判断する。ジョブ状態変更通知(ステータス通知)の場合、プルプリントサーバ305は、S2109において、該当するジョブ情報1002のジョブ状態を更新する。
受け付けたイベント通知がジョブ完了通知であれば、処理はS2102からS2103に進む。S2103において、プルプリントサーバ305は、該当するジョブ情報を、ジョブ管理キュー1001から削除する。S2104では、プルプリントサーバ305は、ジョブ管理キュー1001に、印刷が終了していないジョブが残されているかを確認する。印刷が終了していないジョブが残されていれば、まだデバイススケジューラ600とのやり取りが必要である。そのため、プルプリントサーバ305は、デバイススケジューラ600との接続を継続するために、S2101に処理を移行する。S2104で、自クライアントのジョブがなければ、プルプリントサーバ305は、S2105に処理を移行し、デバイススケジューラ600との接続を終了するための処理を開始する。
まず、S2105において、プルプリントサーバ305は、接続を開始したときにデバイススケジューラ600に登録したジョブイベント、デバイスイベントの登録解除を依頼する。デバイススケジューラ600は、この依頼によりクライアント情報1502のイベント登録の内容を削除する。このイベント登録の情報がなければ、デバイススケジューラ600が管理するジョブの状態が変化されてもイベントが通知されてくることはない。次にS2106において、プルプリントサーバ305は、デバイススケジューラ600に対して切断の要求を発行する。デバイススケジューラ600が切断要求を受け付けると、クライアント管理キュー1501から該当するクライアント情報1502を削除する。S2107では、プルプリントサーバ305は、デバイススケジューラ600とのセッションを切断する処理を行い、処理をS2101に戻して待機状態とする。
図22は、プルプリントエージェント606からS810(又はS1207)に対応した通知を受信した場合のプルプリントサーバ305の処理を説明するフローチャートである。S2201で、プルプリントサーバ305は、プルプリントエージェント606からジョブキャンセル・保持命令(S810(又はS1207)に対応した通知)を受信すると、処理をS2202に進める。S2202では、プルプリントサーバ305は、S2201で受信した通知に対応するユーザ識別情報の印刷ジョブを対象に、デバイススケジューラ600にジョブのキャンセルを指示する(S811)。
図8により上述したように、ジョブのキャンセルが指示されたデバイススケジューラ600は、プリンタエンジン制御部514に対してジョブキャンセル指示を出す(S812)。またそれとともに、プルプリントサーバ305に対して印刷ジョブの進行状況を表す印刷面数を通知する(S814)。なお、ここで通知される印刷面数は、当該キャンセル指示によって印刷を終えた時点の印刷済み或は排紙済みとなった面数(=ページ数)である。プルプリントサーバ305は、S2203において、デバイススケジューラ600からのこの印刷面数の通知を受け取る(S814)。
S2204では、プルプリントサーバ305は、デバイススケジューラ600から通知された印刷面数情報と当該ジョブの全面数(ジョブ情報1602のページ数)を比較する。印刷面数情報と当該ジョブの全面数が一致する場合は、当該ジョブの印刷が完了していると判断し、S2206でジョブ情報1002のジョブ保持フラグをOFFにする。一致しない場合は、再印刷を行えるようにS2205でジョブ保持フラグをONにする。ジョブ保持フラグについては図10で説明した通りである。続いて、S2207で、プルプリントサーバ305は、通知を受けた印刷面数(印刷済みの面数)に1をプラスし、ジョブ情報1002の再印刷開始ページ(ジョブ進行状況情報)にセットする。また、プルプリントサーバ305は、スケジュールUP(S2403でYESと判断される場合)が指示されていない1又は複数のジョブがプリントキュー401に保持されている場合には、それらジョブについてジョブ進行状況をゼロと見なす処理を実行する。なお、キャンセルの通知を受けたデバイススケジューラ600は当該ジョブの削除及び当該ジョブに関するイベント登録の解除を行う(S1706)。
なお、図22のフローチャートの説明においては、プルプリントサーバ305による印刷ジョブの制御として、ジョブキャンセルを例に説明したが、その他の印刷ジョブ制御にも応用することができる。例えば、プルプリントサーバ305からの印刷ジョブ出力を停止し印刷ジョブの実行を一時停止する印刷ジョブ制御にも応用できる。なお、一時停止の印刷ジョブ制御についても、図22のフローチャートを適用できることは当業者であれば明白であろう。
以上のように、第1実施形態によれば、クライアントPC(情報処理装置)とプリントデバイス(印刷装置)が通信可能な印刷システムが開示される。このシステムにおいて、プルプリントサーバ305は、アプリケーション301等で生成された1又は複数の印刷ジョブを、プリントデバイスから送信されてくるユーザ識別情報に基づいて読み込みが可能な形態でプルプリントキューに保持する。ここで、ユーザ識別情報は、あるユーザが生成した印刷ジョブには共通して付与される識別情報であるので、1又は複数の印刷ジョブに共通した識別情報となる。一方、プリントデバイスでは、認証情報読取装置520が認証情報記録媒体521から認証情報を読み取る。プリントデバイスは、この認証情報を識別情報として用いて要求(S805、S807)を発行する。プルプリントサーバ305は、発行された要求を受信し、受信した要求に含まれる識別情報に基づいて1又は複数の印刷ジョブを読込み、該読込まれた印刷ジョブをプリントデバイスへ出力する。
即ち、第1実施形態によれば、ユーザ識別情報をジョブに関連付けて保存しておき、印刷装置から識別情報を入力し、それをサーバに通知することにより、識別情報に対応したジョブをサーバからダウンロードし印刷出力する。このため、従来のプルプリント方式のようにジョブを印刷装置から直接指定することが不要となる。従って、例えば、毎朝本社から各ユーザIDが関連付けられたジョブがサーバに登録され、ユーザが印刷装置に備えられたカードリーダにカードを通すだけで、カードに記録されたユーザIDがサーバに通知され、その結果、手軽に印刷ができるようになる。
なお、上記第1実施形態では、ユーザ識別情報を印刷ジョブに関連付けてプルプリント時の印刷ジョブの指定に用いるがこれに限られるものではない。複数の印刷ジョブに共通して関連付けが可能な情報であればよく、印刷ジョブに与える識別情報そのものであってもよい。

[第2実施形態]
第1実施形態で説明したようなプルプリントシステムにおいて、印刷予約を行なったホストコンピュータが印刷予約到来時あるいは印刷データ送信中にダウンもしくは通信異常が発生する場合がある。このような場合、プリントデバイス306(ネットワークプリンタ104,105)は、そのホストコンピュータからの転送終了通知を待ち続け、他のホストコンピュータからの印刷データの送信処理が延々と待たされてしまう可能性がある。第2実施形態では、このような不具合を解消する構成を説明する。
図23は、プルプリントサーバ305が、プルプリントエージェント606から認証情報を受け付けた後、プリントデバイス306にスケジュール要求を発行し、印刷が終了するまでの処理について示す図である。
プルプリントサーバ300とデバイススケジューラ600との間のセッション開始から、プルプリントサーバ305がデバイススケジューラ600から印刷状態通知を受信するまでの手順は図7と同様である。
図7で説明したように、印刷データの転送が開始されると、デバイススケジューラ600は、クライアント情報の登録イベントの情報を基に、クライアントにジョブの印刷状態を通知する。更に、第2実施形態では、プルプリントサーバ305は印刷データの転送が終了するまでの間、印刷データ転送ステータスの通知間隔に従い、デバイススケジューラ600に対して転送中(出力中)の通知を行う。なお、この印刷データ転送ステータス通知間隔は、スケジュールUPに含まれているものとしてもよいし、予めシステムで設定されたもの(例えば所定の時間間隔)であってもよい。
以後、プルプリントサーバ305からLPD/RAW510への印刷データ転送終了の通知から、プルプリントサーバ305とデバイススケジューラ600との間のセッション終了までの手順は図7と同様である。
次に、デバイススケジューラ600が上記転送中通知をどのように利用するかを説明する。図24は、プルプリントサーバ305からスケジュール要求を受信し、スケジュールUPから印刷処理を完了するまでのデバイススケジューラ600の処理を示すフローチャートである。
S2401で、デバイススケジューラ600は、クライアント101〜103のプルプリントサーバ305からスケジュール要求を受信すると、S2402においてジョブ管理キュー最下位にジョブ情報の登録を行う。S2403では、デバイススケジューラ600は、ジョブ管理キューに登録されたジョブ情報が存在するかを判断し、ジョブ情報が存在する場合には、処理をS2404に進める。S2404では、デバイススケジューラ600は、ジョブ管理キューの最上位に位置するジョブ情報を登録したクライアント(プルプリントサーバ)に対してスケジュールUP要求を送信する。ここで、スケジュールUP要求は、印刷データの送信要求並びに印刷データ転送ステータスの通知間隔情報を含む
S2405では、デバイススケジューラ600は、印刷データ転送ステータスの受信タイムアウトを計測するためのタイマーを初期化し、スタートさせる。S2406において、デバイススケジューラ600は、印刷データの転送終了通知の受信判定を行う。転送終了通知を受信していない場合は、S2407に進み、デバイススケジューラ600は、転送中ステータス(転送中通知)の受信判定を行う。転送中ステータスを受信済の場合には、処理はS2405に戻り、デバイススケジューラ600は、タイマーを初期化し、再スタートさせる。一方、転送中ステータスを受信していない場合には、処理はS2407からS2408に進み、デバイススケジューラ600は上記タイマーのタイムアウトを判定する。タイムアウトが発生していない場合には、処理はS2406に戻る。タイムアウトが発生している場合には、デバイススケジューラ600は転送ステータスの受信タイムアウトであると判定し、処理をS2409に進め、当該印刷データの受信処理を中止する。そして、S2410にて、デバイススケジューラ600は、クライアント101〜103で動作するジョブ制御プリントサービスに対して当該ジョブが削除(キャンセル)されたことを通知する。その後、S2411に進み、デバイススケジューラ600は、ジョブ管理キューから当該ジョブ情報を削除し、処理を先頭に戻す。
S2406において印刷データの転送終了通知が受信済であった場合は、処理はS2412に進む。S2412では、デバイススケジューラ600は、プルプリントサーバ305に当該ジョブの印刷完了の通知を行う。そして、S2411にて、デバイススケジューラ600は、ジョブ管理キューの当該ジョブ情報を削除し、処理を先頭に戻す。
以上のように、第2実施形態によれば、例えば印刷予約を行なったホストコンピュータに印刷データ送信中のダウンや通信異常が発生した場合、デバイススケジューラ600は転送中通知の受信によりこれを認識することができる。その結果、データ送信中のホストコンピュータのダウンや通信異常によって他のホストコンピュータからの印刷データの送信処理が延々と待たされてしまうような不具合を防止できる。
[第3実施形態]
上述の第1及び第2実施形態では、プルプリントエージェント606による認証情報の検知の有無に応じて、ジョブのキャンセルや一時停止等の印刷ジョブ制御を行う構成を説明した(図12、図23)。一方、どのように認証情報記録媒体521からの認証情報を検知した場合に、印刷ジョブを制御するかについて、更に別の変形例も想定される。第3実施形態ではそのような変形例について説明を行う。
例えば、図12では、S1202において認証情報記録媒体521が存在しない場合に、認証情報の入力が解除されたとみなし、プルプリントサーバ305に印刷ジョブの制御依頼指示が行われる。しかし、S1202で認証情報記録媒体521が存在しないか否かを判定するのではなく、認証情報記憶媒体521からの認証情報の検知が新たに、或は、再度行われたか否かの検知を行わせるようにしても良い。例えば、認証情報による認証が取れている状態で、認証情報記録媒体が取り出され、再度認証情報記録媒体の挿入が検知されることにより、認証情報の入力が解除されたとみなすようにしてもよい。
例えば、図8のS803で、認証情報読取装置520は、認証情報記録媒体521が付近にかざされたことを無線通信を介して検知する。この時、認証情報読取装置520が認証情報記録媒体521を無線通信を介して検知できる距離は10センチ前後としておけば、付近を通過した人が所有する認証情報記録媒体521を誤検知する可能性は低くなる。また、この無線通信にはRFID技術等を利用し実現できる。なお、RFIDとは、RADIO FREQUENCY IDENTIFICATION SYSTEMの略字である。
また、認証情報読取装置520は、一旦、認証情報記録媒体521を検知すると所定時間は重複検知をしない。従ってユーザは、認証情報読取装置520に一旦、認証情報記録媒体521をかざした後、所定時間経過後、再度、認証情報記録媒体521を認証情報読取装置520にかざすことにより、第1、2実施形態における、認証情報記録媒体521の認証情報の入力解除と同様のことを行える。また、無線通信により一旦、認証情報記録媒体521からの認証情報を検知すると、それが検知されなくなったのを条件に、再度の認証情報の入力があったと見なしても良い。
このように、認証情報記録媒体521からの認証情報の検知方法を異ならせても、第1、2実施形態の各種処理を実現できる。
[第4実施形態]
上述の第1乃至3実施形態では、プルプリントエージェント606の認証情報の検知態様に応じて、プルプリントサーバ305が、ジョブのキャンセルや一時停止等の印刷ジョブ制御を行う場合を説明してきた。しかし、プルプリントエージェント606及びプルプリントサーバ305の連携により、更に様々な態様の印刷ジョブ制御を行うこともできる。以下では、その具体例を、図25A,Bのフローチャートを用いて以下説明する。
ここで、図25A,Bの各ステップの処理は、プルプリントサーバ305が図14で説明したS1406乃至S1409の処理を実行し、少なくともスケジュール要求を行った後に、印刷ジョブ制御を実行する場合の処理とする。また、場合によっては、図14のS1410以降(スケジュールUPの受信以降)の処理が行われ、印刷ジョブの出力が既に行われている途中に実行される処理とも想定できる。
<図25Aのフローチャート>
まず、S2501では、プルプリントサーバ305は、図13で説明した情報を受信したか否かを判定する。この図13の情報は第1実施形態で説明したように、プルプリントエージェント606が認証情報読取装置520で認証情報記録媒体521を検知したことに応じて、プルプリントサーバ305に通知する情報に対応する。例えば、第3実施形態で説明したように、認証情報記録媒体521を一旦認識させた後、認証情報記録媒体521を再度認識させることにより、S2502以降の処理が実行される。
次に、S2502で、プルプリントサーバ305は、第1実施形態で説明したS1403と同様に、プリントキュー401(プルプリント用)に、図13に含まれるユーザ識別情報と一致するジョブが留め置かれているかをチェックする。この時、検索対象の印刷ジョブ及び検索結果の印刷ジョブは、共に1以上であってもよい。ユーザ識別情報と一致する1以上のジョブが溜め置かれていない場合、処理はS2501の判断処理に戻る。一方、ユーザ識別情報と一致する1以上のジョブが溜め置かれている場合には、処理はS2503に移る。なお、S2503以降の処理は1以上の各ジョブ夫々について個別に行われるものとする。
S2503では、プルプリントサーバ305は、S2502でユーザ識別情報と一致すると判定された1以上のジョブの各々について、ジョブの状態が一時停止中か否か(S2513で停止処理されたジョブであるか否か)を判定する。また、印刷面数は、S2503でユーザ識別情報と一致すると判定された1以上の各々のジョブについて判定する。即ち、S2503以降の各ステップの処理は、S2503でユーザ識別情報と一致すると判定された各々のジョブについて行わせるものとする。
そして、S2503でYESと判定すると処理をS2508に移行する。一方、S2503でNOと判定した場合、S2504で、デバイススケジューラ600から当該ジョブに関して印刷面数の通知を受け取る。ここでの印刷面数はS2203で説明したものと同様である。
S2505では、プルプリントサーバ305は、S2204と同様にデバイススケジューラ600から通知された印刷面数情報と当該ジョブの全面数(ジョブ情報1002或はジョブ情報1602のページ数)を比較する。そして、一致している場合には、プルプリントサーバ305は、S2206と同様の処理をS2514で行う。なお、S2514では、既にジョブの印刷が完了していると判断するので、詳しい説明は省略する。一方、S2505でNOと判定した場合、S2506及びS2507で、プルプリントサーバ305は、上述のS2205及びS2207と同様の処理を行う。なおS2505で参照されるジョブ情報は基本的に図10にて説明したものと同様であるが、更に、図10のジョブ情報に加えて印刷出力先プリンタのデバイスアドレス(図13に示される情報から取得される)が含まれる。
S2508では、プルプリントサーバ305は、S2501で受信した図13に含まれるデバイスアドレスが、予め図10の形式で保存されたジョブ情報に含まれるデバイスアドレスから、変更されているかを判定する。S2508でYESと判定した場合は、図25Bのフローチャート(S2515以降)へ処理を移行し、プリンタが変更された場合のジョブ制御処理を実行する。また、S2508でデバイスアドレスの一致が確認できれば、プリンタの変更は無しと判定し、S2509で当該デバイスの状態を調査する。
ここでデバイスの状態は、図13に含まれる「デバイスアドレス」に基づき、任意のタイミングでプルプリントサーバ305がプリンタから取得する。また、任意のタイミングで取得したデバイスの状態をキャッシュとして保持し、取得とは非同期のタイミングでプルプリントサーバ305が参照しても良い。
そして、S2509でデバイス状態が異常と判定された場合、S2512でプルプリントサーバ305は、当該印刷ジョブの処理をキャンセルし、S2501に処理を戻す。これにより、例えば、プリントデバイスで用紙無し等が発生し、ユーザが印刷ジョブをキャンセルしたいケースに対応できる。即ち、プリントデバイスで用紙無しが発生した場合に、ユーザは認証情報記録媒体521をプリントデバイスに認識させることで、当該ジョブをキャンセルさせることができる。
一方、S2509でデバイス状態が正常と判定された場合は、S2510において、プルプリントサーバ305は、S2502でユーザ識別情報に一致すると判定されたジョブの状態が停止中であるか否かを判定する。この判定は、注目しているジョブの図10で説明したジョブ情報に含まれる「ジョブ状態」の欄を参照して行うことができる。そして、S2510でYESと判定された場合(ジョブ状態が停止中を示す場合)には、S2511でプルプリントサーバ305からプリンタへのジョブの再出力を行う。一方、S2510でNOと判定された場合には、プルプリントサーバ305は、注目しているジョブ(S2502でユーザ識別情報に一致すると判定されたジョブ)の状態をS2513で一時停止にする。ここで、S2511の処理は、図14のS1410乃至1411に対応し、一方、S2513の処理は、図22の処理に対応する。このように、図25のフローチャートによっても、図22と同様に印刷ジョブのキャンセル及び一時停止のジョブ制御を行える。この処理により、当該ジョブのスケジュールUP待ち、或いは当該ジョブのプリント処理中の任意のタイミングで、ユーザが認証情報記録媒体521をプリントデバイスに認識させることで当該ジョブを一時停止させることができる。
<図25Bのフローチャート>
次に図25Bのフローチャートについて詳しく説明する。S2502で該当ジョブが有りと判定され、且つ、図13の情報が以前とは別のプリンタのプリントエージェントから通知されていれば、S2508でプリンタ変更有りと判定し図25Bのフローチャートの処理を移行する。例えば、ユーザが先に認証情報記録媒体521を検出させたプリントデバイスとは異なるプリントデバイスで認証情報記録媒体521を検出させた場合に、以前とは別のプリンタのプリントエージェントから通知が発行されることになる。
まずS2515では、現在着目しているジョブ情報に含まれるデバイスアドレス(変更前のデバイスアドレス)に対応したプリンタの状態が正常か否かを判定する。ここでジョブの状態の取得方法については、S2509で説明した通りである。S2515でデバイス状態が異常と判定されればS2516以降で代行印刷処理を、一方、S2515でデバイス状態が正常と判定されればS2519以降で分散印刷処理を行う。
<代行印刷処理>
最初に代行印刷処理について説明を行う。まず、S2516で、プルプリントサーバ305は、変更前のプリンタに対してジョブキャンセルの処理を行う。このジョブキャンセル処理は、図22で説明したS2202以降の処理と同様の処理で実現することができる。なお、S2203乃至S2207の処理は、S2504乃至S2507、S2514において実行された処理と同様の処理である。従って、ステップS2516でS2203乃至S2207の処理を実行すれば、S2504乃至S2507、S2514の処理が繰り返し実行されることになる。従って、S2516では、S2203乃至S2207の処理を省略することも可能である。
次に、S2517で、プルプリントサーバ305は、ジョブ情報中のデバイスアドレスを、S2508でプリンタ変更有りと判定された変更後の別のプリンタのデバイスアドレスに設定し、ジョブ情報を更新する。このジョブ情報は図10で説明したものと同様のものであり、第4実施形態では、図26に示した通りである。例えば変更前のプリンタがデバイスアドレスAに対応し、変更後のプリンタがデバイスアドレスBに対応する場合には、プルプリントサーバ305が保持するジョブ情報2601はジョブ情報2602に変更される。
次に、S2518では、プルプリントサーバ305は、更新されたジョブ情報に基づき、印刷出力が行われていない続きのページから印刷出力を行わせるよう代行先のプリンタへジョブを出力する代行出力処理を行う。その後、S2501へ処理を戻す。
尚、第1実施形態においても、図22の処理によって印刷が中断された後に、それまで使用していたプリントデバイスとは別のプリントデバイスにより認証情報記録媒体の検出を行わせることで、代行印刷を行わせることができる。即ち、別のプリントデバイスにより認証情報記録媒体の検出を行わせて、図14のS1410〜S1414の処理を実行させるようにすれば、ユーザの意思により、任意のプリンタで代行印刷を行わせることができる。そして、上述したように、第4実施形態においても、図14のS1410乃至S1414の処理と同様に、ユーザの意思により、任意のプリンタで代行印刷を行わせることができる。
<分散印刷処理>
一方、S2515で正常と判断された場合には、S2508で変更有りと判定された変更後のプリンタに変更前のプリンタに割り当てられたジョブの一部を割り当て、分散印刷を行わせる。具体的には、まず、S2519で、変更前のプリンタに割り当てられたジョブの一部(例えば半分)を別のプリンタで印刷させるジョブを作成する。例えば、変更前のプリンタのジョブの後半ページ(例えば、全ページの半分+1ページ)を印刷開始ページとするジョブを作成する。
そして、S2520でS2519で作成した新たなジョブに対してジョブ情報(図26)を作成すると共に、対応するジョブ管理キュー(図10で説明したものに相当)に新規に生成したジョブIDを登録する。また、新たに作成されたジョブ情報ではなく、分割されたジョブ情報の印刷範囲(終了印刷ページ)の更新も行う。
そしてS2512で、新規に作成したジョブ情報に基づく、ユーザが認証情報記録媒体521をかざしたプルプリントエージェントを備えるプリンタに対して、ジョブを出力し、分散印刷を実現する。
以上のように第4実施形態では、プルプリントサーバ305が、プリントデバイス(印刷装置)から、識別情報の入力状態を示す通知を受信したことに応じて種々の印刷ジョブの制御が行われる。例えば、上記通知が示す印刷装置の状態(S2509)、或は、ジョブの状態(S2510)、或は、前記通知の出力元の印刷装置(S2508)に応じて、異なるジョブ制御が行われる。例えば、上記通知により、ジョブ実行の一時停止(S2513)、及び代行印刷処理(S2516〜S2518)、及び分散印刷処理(S2519〜S2521)等の何れかが実行される。
このように、第4実施形態では、認証情報記録媒体521を用いて、印刷ジョブのキャンセル、一時停止を行わせることができる。更に、別のプリントデバイスに認証情報記録媒体521を検出させることで、代行印刷や分散印刷を行わせることができる。
[第5実施形態]
上述の第1乃至第4実施形態では、プルプリントサーバ305保持される印刷ジョブにユーザ識別情報を含ませる、又は、関連付けるよう説明してきた。そして、プルプリントエージェント606からユーザ識別情報がプルプリントサーバ305に通知された場合に、通知されたユーザ識別情報と、印刷ジョブに含まれる、又は、関連付けられた印刷ジョブを特定し出力するよう説明した。
しかしながら、本願発明における、プルプリントサーバ305の1つ又は複数の印刷ジョブの保持のさせ方はこれに限定されない。例えば、図27に示されるような保持機能により1つ又は複数の印刷ジョブを保持するようにしても良い。以下、図27について、どのように1つ又は複数の印刷ジョブを保持しているかについて説明する。
まず、図中のプルプリントサーバ305は、図8にて説明した、プルプリントサーバに相当する。図27中の401Aは、図8のプリントキュー401Aに相当する。
図中2701は、図8におけるS805の矢印を示す。2702は図8の401(図8の401Aでは無い)のプルプリントキューに印刷ジョブを蓄積する代わりに、1つ又は複数の印刷ジョブを蓄積する仮想プリントキューに相当する。また、2703は別の仮想プリントキューに相当する。
ここで、第3実施形態特有の部分として、この仮想プリントキュー2702,2703にユーザ識別情報が関連付けられている点である。図27では、仮想プリントキュー2702に“ユーザ識別情報n”が、仮想プリントキュー2703に“ユーザ識別情報n+1”が夫々関連付けらている。そして、プルプリントエージェント606から、何れかのユーザ識別情報が通知されてくると、通知されたユーザ識別情報に該当する仮想プリントキューを検索する。なお、プルプリントエージェント606からユーザ識別情報が通知される条件については、上述のように、認証情報記録媒体521が取り外される場合であることに変わりはない。
そして、仮想プリントキューが特定されると、該特定された仮想プリントキューに登録された1つ又は複数の印刷ジョブがプリントキュー401Aに登録され、該登録に応じて、デバイススケジューラ600に対してスケジュール要求が即時発行される。図25では、“ユーザ識別情報n+1”が通知されているので、通知された“ユーザ識別情報n+1”に基づき、仮想プリントキュー2703が検索される。そして、この仮想プリントキュー2703に登録されている1つの印刷ジョブがプリントキュー401Aに登録される。
以上のように、図27によれば、印刷ジョブに含まれる、又は、関連付けら得ているユーザ識別情報を用いなくとも、仮想プリントキューのユーザ識別情報を検索するのみで容易に印刷すべき1つ又は複数の印刷ジョブを特定することができる。なお、この第3実施形態でも、第1及び第2実施形態と同様に、印刷ジョブにユーザ識別情報を含ませる、又は、関連付けるようにしても良い。
このように、印刷装置からの送信されてくるユーザ識別情報に基づき1又は複数の印刷ジョブを読込可能な形態で保持するプルプリントサーバ305は、様々な形態で、1つ又は複数の印刷ジョブを保持することができる。
[他の実施形態]
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組み合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
実施形態によるプリントシステムの全体構成例を示すブロック図である。 実施形態のネットワークプリンタ(プリントデバイスとも言う)のハードウェア構成例を説明するブロック図である。 クライアントPCにおける、プルプリントサーバ及びその周辺のソフトウェア構成例を示す図である。 プルプリントサーバ及びその周辺のソフトウエアにおける、印刷時の印刷ジョブの流れの一例を示す図である。 ネットワークプリンタのソフトウェア構成の例を示す図である。 ネットワークプリンタのユーザアプリケーションのソフトウェア構成の例を示す図である。 プルプリントサーバとデバイススケジューラ、LPD/RAW、プリンタコントローラ間の印刷シーケンス例を示す図である。 実施形態の動作概略を説明する図である。 プルプリントサーバにジョブを登録する処理の一例を示すフローチャートである。 プルプリントサーバが管理する印刷ジョブの情報とジョブ管理キューの一例を表す図である。 プルプリントサーバが管理するプリントキュー、出力ポートの情報の一例を表す図である。 プルプリントエージェントでユーザ識別情報を取得し、その情報をプルプリントサーバに通知する処理の一例を示すフローチャートである。 プルプリントエージェントがプルプリントサーバに通知する情報の一例を示す図である。 プルプリントサーバが印刷データを特定してから、印刷データの転送までの流れの一例を示すフローチャートである。 デバイススケジューラで管理するクライアント情報とクライアント管理キューの一例を示す図である。 デバイススケジューラで管理するジョブ情報とジョブ管理キューの一例を示す図である。 プルプリントサーバからの要求や通知、デバイス管理部からの通知、ジョブ管理部への要求や通知を処理する通信接続管理部の処理の一例を示すフローチャートである。 プルプリントサーバのスケジュール要求の受け付けから、スケジュールUPを発行するまでのデバイススケジュラ−のスケジュール管理部の処理の流れの一例を示すフローチャートである。 ジョブ管理部のジョブ状態通知イベントの受け付けからジョブリスト要求の受け付けに対する処理の一例を示すフローチャートである。 プリンタコントローラからのデバイス状態、ジョブ状態通知を受け付けた時のデバイス管理部の処理の一例を示すフローチャートである。 デバイススケジューラからの通知やコマンドを受け付けた場合のプルプリントサーバの処理の流れの一例を示すフローチャートである。 ジョブキャンセル・保持命令を受信したときのプルプリントサーバの処理の一例を説明するフローチャートである。 第2実施形態によるプルプリントサーバとデバイススケジューラ、LPD/RAW、プリンタコントローラ間の印刷シーケンスの一例を示す図である。 プルプリントサーバからスケジュール要求を受信し、スケジュールUPから印刷処理を完了するまでのデバイススケジューラの処理の一例を示すフローチャートである。 プルプリントサーバによるジョブ制御の処理の一例を説明するフローチャートである。 プルプリントサーバによるジョブ制御の処理の一例を説明するフローチャートである。 プルプリントサーバがジョブ管理キューによって管理するジョブ情報の一例を表す図である。 印刷ジョブの保持機構の一例を示す図である。

Claims (28)

  1. 印刷装置と通信可能なサーバ装置であって、
    印刷指示に応じて印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段と、
    印刷装置から識別情報を含む要求を受信する第1受信手段と、
    前記第1受信手段により受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、
    前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信手段と、
    前記第2受信手段により受信した前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記印刷ジョブをキャンセルするジョブ制御手段と備えることを特徴とするサーバ装置。
  2. 印刷装置と通信可能なサーバ装置であって、
    印刷指示に応じて印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段と、
    印刷装置から識別情報を含む要求を受信する第1受信手段と、
    前記第1受信手段により受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、
    前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信手段と、
    前記印刷装置とは異なる別の印刷装置から前記特定の識別情報を含む要求を受信した場合であって、前記通知が正常状態を示す場合は、前記印刷装置と前記別の印刷装置による分散印刷を実行し、前記通知が異常状態を示す場合は前記別の印刷装置による代行印刷を実行するジョブ制御手段と、を備えることを特徴とするサーバ装置。
  3. 印刷装置と通信可能なサーバ装置であって、
    印刷指示に応じて印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段と、
    印刷装置から識別情報を含む要求を受信する第1受信手段と、
    前記第1受信手段により受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、
    前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信手段と、
    前記特定の識別情報に関連付けられた印刷ジョブの印刷を実行中に、前記印刷装置から前記特定の識別情報を含む要求を再度受信した場合であって、前記通知が正常状態を示す場合に前記特定の識別情報に関連付けられた印刷ジョブの実行を一時停止するジョブ制御手段と、を備えることを特徴とするサーバ装置。
  4. 印刷装置と通信可能なサーバ装置であって、
    印刷指示に応じて印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段と、
    印刷装置から識別情報を含む要求を受信する第1受信手段と、
    前記第1受信手段により受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、
    前記印刷装置において前記識別情報を入力できる状態であるか否かを示す通知を受信する第2受信手段と、
    前記第2受信手段で受信した前記通知が前記識別情報を入力できない状態であることを示す場合に、前記特定の識別情報に関連した印刷ジョブの実行を停止、またはキャンセルするジョブ制御手段と、を備えることを特徴とするサーバ装置。
  5. 実行中の印刷ジョブの進行状況の通知を受信する第3受信手段と、
    前記第3受信手段で受信された進行状況の通知に基づくジョブ状況情報を前記実行中の印刷ジョブに対応付けて前記保持手段に保持させる保持制御手段とを更に備えることを特徴とする請求項1乃至のいずれか1項に記載のサーバ装置。
  6. 前記出力手段は、前記第1受信手段により受信した要求に含まれる識別情報に基づき読み込まれる印刷ジョブに対応して前記ジョブ状況情報が保持されている場合、そのジョブ状況情報に基づいて印刷ジョブを再出力することを特徴とする請求項に記載のサーバ装置。
  7. 印刷装置と通信可能なサーバ装置であって、
    印刷指示に応じて印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段と、
    印刷装置から識別情報を含む要求を受信する第1受信手段と、
    前記第1受信手段により受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、
    前記出力手段により印刷ジョブを出力している間、前記印刷装置に対して、予め定められた時間間隔で印刷ジョブの出力中であることを報知する報知手段と、を備えることを特徴とするサーバ装置。
  8. 前記第1受信手段で受信した要求に含まれる出力先情報を前記印刷ジョブの出力先に設定する出力先設定手段を更に備えることを特徴とする請求項1乃至のいずれか1項に記載のサーバ装置。
  9. 情報処理装置と印刷装置が通信可能な印刷システムであって、
    前記情報処理装置は、
    印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段とを備え、
    前記印刷装置は、
    前記情報処理装置へ識別情報を含む要求を発行する発行手段を備え、
    前記情報処理装置は、
    前記印刷装置から前記要求を受信する第1受信手段と、
    前記第1受信手段により受信した前記要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と
    前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信手段と、
    前記第2受信手段により受信した前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記印刷ジョブをキャンセルするジョブ制御手段と、を備えることを特徴とする印刷システム。
  10. 情報処理装置と印刷装置が通信可能な印刷システムであって、
    前記情報処理装置は、
    印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段とを備え、
    前記印刷装置は、
    前記情報処理装置へ識別情報を含む要求を発行する発行手段を備え、
    前記情報処理装置は、
    前記印刷装置から前記要求を受信する第1受信手段と、
    前記第1受信手段により受信した前記要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、
    前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信手段と、
    前記印刷装置とは異なる別の印刷装置から前記特定の識別情報を含む要求を受信した場合であって、前記通知が正常状態を示す場合は、前記印刷装置と前記別の印刷装置による分散印刷を実行し、前記通知が異常状態を示す場合は前記別の印刷装置による代行印刷を実行するジョブ制御手段と、を備えることを特徴とする印刷システム。
  11. 情報処理装置と印刷装置が通信可能な印刷システムであって、
    前記情報処理装置は、
    印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段とを備え、
    前記印刷装置は、
    前記情報処理装置へ識別情報を含む要求を発行する発行手段を備え、
    前記情報処理装置は、
    前記印刷装置から前記要求を受信する第1受信手段と、
    前記第1受信手段により受信した前記要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、
    前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信手段と、
    前記特定の識別情報に関連付けられた印刷ジョブの印刷を実行中に、前記印刷装置から前記特定の識別情報を含む要求を再度受信した場合であって、前記通知が正常状態を示す場合に前記特定の識別情報に関連付けられた印刷ジョブの実行を一時停止するジョブ制御手段と、を備えることを特徴とする印刷システム。
  12. 情報処理装置と印刷装置が通信可能な印刷システムであって、
    前記情報処理装置は、
    印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段とを備え、
    前記印刷装置は、
    前記情報処理装置へ識別情報を含む要求を発行する発行手段を備え、
    前記情報処理装置は、
    前記印刷装置から前記要求を受信する第1受信手段と、
    前記第1受信手段により受信した前記要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、
    前記印刷装置において前記識別情報を入力できる状態であるか否かを示す通知を受信する第2受信手段と、
    前記第2受信手段で受信した前記通知が前記識別情報を入力できない状態であることを示す場合に、前記特定の識別情報に関連した印刷ジョブの実行を停止、またはキャンセルするジョブ制御手段と、を備えることを特徴とする印刷システム。
  13. 情報処理装置と印刷装置が通信可能な印刷システムであって、
    前記情報処理装置は、
    印刷ジョブを生成するジョブ生成手段と、
    前記ジョブ生成手段で生成された印刷ジョブを特定の識別情報に関連付けて保持する保持手段とを備え、
    前記印刷装置は、
    前記情報処理装置へ識別情報を含む要求を発行する発行手段を備え、
    前記情報処理装置は、
    前記印刷装置から前記要求を受信する第1受信手段と、
    前記第1受信手段により受信した前記要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持手段から読み出し、読み出された前記印刷ジョブを前記印刷装置へ出力する出力手段と、
    前記出力手段により印刷ジョブを出力している間、前記印刷装置に対して、予め定められた時間間隔で印刷ジョブの出力中であることを報知する報知手段と、を備えることを特徴とする印刷システム。
  14. 印刷装置と通信可能なサーバ装置によるジョブ制御方法であって、
    ジョブ生成手段が、印刷指示に応じて印刷ジョブを生成するジョブ生成工程と、
    保持手段が、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    第1受信手段が、印刷装置から識別情報を含む要求を受信する第1受信工程と、
    出力手段が、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、該読み出された前記印刷ジョブを前記印刷装置へ出力する出力工程と、
    第2受信手段が、前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信工程と、
    ジョブ制御手段が、前記第2受信工程で受信した前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記印刷ジョブをキャンセルするジョブ制御工程と、を有することを特徴とするジョブ制御方法。
  15. 印刷装置と通信可能なサーバ装置によるジョブ制御方法であって、
    ジョブ生成手段が、印刷指示に応じて印刷ジョブを生成するジョブ生成工程と、
    保持手段が、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    第1受信手段が、印刷装置から識別情報を含む要求を受信する第1受信工程と、
    出力手段が、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、該読み出された前記印刷ジョブを前記印刷装置へ出力する出力工程と、
    第2受信手段が、前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信工程と、
    前記印刷装置とは異なる別の印刷装置から前記特定の識別情報を含む要求を受信した場合であって、前記通知が正常状態を示す場合は、ジョブ制御手段が、前記印刷装置と前記別の印刷装置による分散印刷を実行し、前記通知が異常状態を示す場合は前記ジョブ制御手段が前記別の印刷装置による代行印刷を実行するジョブ制御工程と、を有することを特徴とするジョブ制御方法。
  16. 印刷装置と通信可能なサーバ装置によるジョブ制御方法であって、
    ジョブ生成手段が、印刷指示に応じて印刷ジョブを生成するジョブ生成工程と、
    保持手段が、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    第1受信手段が、印刷装置から識別情報を含む要求を受信する第1受信工程と、
    出力手段が、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、該読み出された前記印刷ジョブを前記印刷装置へ出力する出力工程と、
    第2受信手段が、前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信工程と、
    前記特定の識別情報に関連付けられた印刷ジョブの印刷を実行中に、前記印刷装置から前記特定の識別情報を含む要求を再度受信した場合であって、前記通知が正常状態を示す場合に、ジョブ制御手段が、前記特定の識別情報に関連付けられた印刷ジョブの実行を一時停止するジョブ制御工程と、を有することを特徴とするジョブ制御方法。
  17. 印刷装置と通信可能なサーバ装置によるジョブ制御方法であって、
    ジョブ生成手段が、印刷指示に応じて印刷ジョブを生成するジョブ生成工程と、
    保持手段が、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    第1受信手段が、印刷装置から識別情報を含む要求を受信する第1受信工程と、
    出力手段が、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、該読み出された前記印刷ジョブを前記印刷装置へ出力する出力工程と、
    第2受信手段が、前記印刷装置において前記識別情報を入力できる状態であるか否かを示す通知を受信する第2受信工程と、
    前記第2受信工程で受信した前記通知が前記識別情報を入力できない状態であることを示す場合に、ジョブ制御手段が、前記特定の識別情報に関連した印刷ジョブの実行を停止、またはキャンセルするジョブ制御工程と、を有することを特徴とするジョブ制御方法。
  18. 第3受信手段が、実行中の印刷ジョブの進行状況の通知を受信する第3受信工程と、
    保持制御手段が、前記第3受信工程で受信された進行状況の通知に基づくジョブ状況情報を前記実行中の印刷ジョブに対応付けて前記保持部に保持させる保持制御工程とを更に備えることを特徴とする請求項14乃至17のいずれか1項に記載のジョブ制御方法。
  19. 前記出力工程では、前記第1受信工程により受信した要求に含まれる識別情報に基づき読み込まれる印刷ジョブに対応して前記ジョブ状況情報が保持されている場合、そのジョブ状況情報に基づいて印刷ジョブを再出力することを特徴とする請求項18に記載のジョブ制御方法。
  20. 印刷装置と通信可能なサーバ装置によるジョブ制御方法であって、
    ジョブ生成手段が、印刷指示に応じて印刷ジョブを生成するジョブ生成工程と、
    保持手段が、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    第1受信手段が、印刷装置から識別情報を含む要求を受信する第1受信工程と、
    出力手段が、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、該読み出された前記印刷ジョブを前記印刷装置へ出力する出力工程と、
    報知手段が、前記出力工程により印刷ジョブを出力している間、前記印刷装置に対して、予め定められた時間間隔で印刷ジョブの出力中であることを報知する報知工程と、を有することを特徴とするジョブ制御方法。
  21. 出力先設定手段が、前記第1受信工程で受信した要求に含まれる出力先情報を前記印刷ジョブの出力先に設定する出力先設定工程を更に有することを特徴とする請求項14乃至20のいずれか1項に記載のジョブ制御方法。
  22. 情報処理装置と印刷装置が通信可能な印刷システムによるジョブ制御方法であって、
    前記情報処理装置において、印刷ジョブを生成するジョブ生成工程と、
    前記情報処理装置において、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    前記印刷装置において、前記情報処理装置へ識別情報を含む要求を発行する発行工程と、
    前記情報処理装置において、前記印刷装置から前記要求を受信する第1受信工程と、
    前記情報処理装置において、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、読み出された前記印刷ジョブを前記情報処理装置から前記印刷装置へ出力する出力工程と
    前記情報処理装置において、前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信工程と、
    前記情報処理装置において、前記第2受信工程で受信した前記通知が異常状態を示す場合、前記特定の識別情報により関連付けられている前記印刷ジョブをキャンセルするジョブ制御工程と、を有することを特徴とするジョブ制御方法。
  23. 情報処理装置と印刷装置が通信可能な印刷システムによるジョブ制御方法であって、
    前記情報処理装置において、印刷ジョブを生成するジョブ生成工程と、
    前記情報処理装置において、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    前記印刷装置において、前記情報処理装置へ識別情報を含む要求を発行する発行工程と、
    前記情報処理装置において、前記印刷装置から前記要求を受信する第1受信工程と、
    前記情報処理装置において、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、読み出された前記印刷ジョブを前記情報処理装置から前記印刷装置へ出力する出力工程と、
    前記情報処理装置において、前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信工程と、
    前記印刷装置とは異なる別の印刷装置から前記特定の識別情報を含む要求を受信した場合であって、前記通知が正常状態を示す場合は、前記情報処理装置において、前記印刷装置と前記別の印刷装置による分散印刷を実行し、前記通知が異常状態を示す場合は、前記別の印刷装置による代行印刷を実行するジョブ制御工程と、を有することを特徴とするジョブ制御方法。
  24. 情報処理装置と印刷装置が通信可能な印刷システムによるジョブ制御方法であって、
    前記情報処理装置において、印刷ジョブを生成するジョブ生成工程と、
    前記情報処理装置において、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    前記印刷装置において、前記情報処理装置へ識別情報を含む要求を発行する発行工程と、
    前記情報処理装置において、前記印刷装置から前記要求を受信する第1受信工程と、
    前記情報処理装置において、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、読み出された前記印刷ジョブを前記情報処理装置から前記印刷装置へ出力する出力工程と、
    前記情報処理装置において、前記印刷装置から、該印刷装置が印刷の実行が可能な正常状態か、印刷の実行ができない異常状態かを示す通知を受信する第2受信工程と、
    前記特定の識別情報に関連付けられた印刷ジョブの印刷を実行中に、前記印刷装置から前記特定の識別情報を含む要求を再度受信した場合であって、前記通知が正常状態を示す場合に、前記情報処理装置において、前記特定の識別情報に関連付けられた印刷ジョブの実行を一時停止するジョブ制御工程と、を有することを特徴とするジョブ制御方法。
  25. 情報処理装置と印刷装置が通信可能な印刷システムによるジョブ制御方法であって、
    前記情報処理装置において、印刷ジョブを生成するジョブ生成工程と、
    前記情報処理装置において、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    前記印刷装置において、前記情報処理装置へ識別情報を含む要求を発行する発行工程と、
    前記情報処理装置において、前記印刷装置から前記要求を受信する第1受信工程と、
    前記情報処理装置において、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、読み出された前記印刷ジョブを前記情報処理装置から前記印刷装置へ出力する出力工程と、
    前記情報処理装置において、前記印刷装置において前記識別情報を入力できる状態であるか否かを示す通知を受信する第2受信工程と、
    前記第2受信工程で受信した前記通知が前記識別情報を入力できない状態であることを示す場合に、前記情報処理装置において、前記特定の識別情報に関連した印刷ジョブの実行を停止、またはキャンセルするジョブ制御工程と、を有することを特徴とするジョブ制御方法。
  26. 情報処理装置と印刷装置が通信可能な印刷システムによるジョブ制御方法であって、
    前記情報処理装置において、印刷ジョブを生成するジョブ生成工程と、
    前記情報処理装置において、前記ジョブ生成工程で生成された印刷ジョブを特定の識別情報に関連付けて保持部に保持する保持工程と、
    前記印刷装置において、前記情報処理装置へ識別情報を含む要求を発行する発行工程と、
    前記情報処理装置において、前記印刷装置から前記要求を受信する第1受信工程と、
    前記情報処理装置において、前記第1受信工程で受信した要求に含まれる識別情報が前記特定の識別情報であった場合に、前記特定の識別情報に関連付けられている前記印刷ジョブを前記保持部から読み出し、読み出された前記印刷ジョブを前記情報処理装置から前記印刷装置へ出力する出力工程と、
    前記情報処理装置において、前記出力工程により印刷ジョブを出力している間、前記印刷装置に対して、予め定められた時間間隔で印刷ジョブの出力中であることを報知する報知工程と、を有することを特徴とするジョブ制御方法。
  27. 請求項14乃至26のいずれか1項に記載されたジョブ制御方法をコンピュータに実行させるためのコンピュータプログラム。
  28. 請求項14乃至26のいずれか1項に記載されたジョブ制御方法をコンピュータに実行させるためのコンピュータプログラムを格納したことを特徴とする記憶媒体。
JP2006305977A 2005-12-28 2006-11-10 印刷システム、サーバ装置及びジョブ制御方法 Expired - Fee Related JP4869031B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006305977A JP4869031B2 (ja) 2005-12-28 2006-11-10 印刷システム、サーバ装置及びジョブ制御方法
US11/610,575 US20070146778A1 (en) 2005-12-28 2006-12-14 Print system, server system, and job control method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005380163 2005-12-28
JP2005380163 2005-12-28
JP2006305977A JP4869031B2 (ja) 2005-12-28 2006-11-10 印刷システム、サーバ装置及びジョブ制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011196490A Division JP2011253568A (ja) 2005-12-28 2011-09-08 印刷システム、サーバ装置及びジョブ制御方法

Publications (3)

Publication Number Publication Date
JP2007200284A JP2007200284A (ja) 2007-08-09
JP2007200284A5 JP2007200284A5 (ja) 2009-12-24
JP4869031B2 true JP4869031B2 (ja) 2012-02-01

Family

ID=38193304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006305977A Expired - Fee Related JP4869031B2 (ja) 2005-12-28 2006-11-10 印刷システム、サーバ装置及びジョブ制御方法

Country Status (2)

Country Link
US (1) US20070146778A1 (ja)
JP (1) JP4869031B2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4197188B2 (ja) * 2006-12-28 2008-12-17 キヤノンマーケティングジャパン株式会社 印刷管理サーバ、印刷システム、印刷管理サーバの制御方法、印刷システムの制御方法、およびプログラム
JP2008293266A (ja) * 2007-05-24 2008-12-04 Konica Minolta Business Technologies Inc 画像処理システム
JP4916401B2 (ja) * 2007-08-28 2012-04-11 キヤノン株式会社 ジョブ投入依頼装置、ジョブ投入依頼方法、及びコンピュータプログラム
JP5003365B2 (ja) * 2007-09-07 2012-08-15 富士ゼロックス株式会社 印刷システム、印刷プログラム
JP2009075707A (ja) * 2007-09-19 2009-04-09 Canon Inc 情報処理装置、情報処理装置の機器情報管理方法、プログラム
JP5178112B2 (ja) * 2007-09-26 2013-04-10 キヤノン株式会社 画像処理装置及び仮予約に係る制御方法
JP4690449B2 (ja) * 2007-12-26 2011-06-01 キヤノンItソリューションズ株式会社 印刷制御システム、印刷制御サーバ、画像形成装置と、その処理方法及びプログラム
US20090303522A1 (en) * 2008-06-10 2009-12-10 Konsella Shane R Systems and methods for selectively printing using a networked printer
JP2009303008A (ja) 2008-06-16 2009-12-24 Konica Minolta Business Technologies Inc プリントシステム、画像形成装置、プルプリント方法およびプルプリントプログラム
JP5173759B2 (ja) * 2008-11-20 2013-04-03 キヤノン株式会社 画像形成装置、その制御方法及び制御プログラム
JP5203978B2 (ja) 2009-01-06 2013-06-05 キヤノン株式会社 プリンタ、クライアント端末及びそれらの制御方法、プログラム
US9542139B2 (en) * 2009-01-13 2017-01-10 Canon Europa N.V. Network printing system having a print server and a logon server
JP5292120B2 (ja) * 2009-01-30 2013-09-18 京セラドキュメントソリューションズ株式会社 印刷システム及び印刷プログラム
EP2216713A1 (en) * 2009-02-09 2010-08-11 Canon Europa N.V. Improvements relating to roaming printing
JP2010277524A (ja) 2009-06-01 2010-12-09 Ricoh Co Ltd 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP5614017B2 (ja) 2009-09-14 2014-10-29 株式会社リコー 画像形成装置、印刷ジョブ実行方法、プログラム、記憶媒体
JP5768336B2 (ja) * 2009-09-15 2015-08-26 株式会社リコー 印刷装置および印刷システム
JP5441646B2 (ja) * 2009-12-02 2014-03-12 キヤノン株式会社 印刷装置、印刷方法、及び印刷プログラム
JP2011129054A (ja) 2009-12-21 2011-06-30 Ricoh Co Ltd 印刷ジョブ管理装置、印刷ジョブ管理システム、印刷ジョブ管理方法、及び印刷ジョブ管理プログラム
JP5538916B2 (ja) * 2010-01-15 2014-07-02 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP2011192250A (ja) * 2010-02-22 2011-09-29 Canon Inc クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法
JP4979791B2 (ja) * 2010-04-26 2012-07-18 シャープ株式会社 印刷システム
JP2012048457A (ja) * 2010-08-26 2012-03-08 Canon Inc 印刷サーバ装置、印刷装置、情報処理方法及びプログラム
JP5680926B2 (ja) * 2010-09-30 2015-03-04 キヤノン株式会社 プリントシステム、印刷方法、プリントサーバ及びその制御方法、並びにプログラム
JP5618773B2 (ja) * 2010-11-11 2014-11-05 キヤノン株式会社 画像形成システムと画像形成装置及び画像形成装置における方法
JP2012155401A (ja) * 2011-01-24 2012-08-16 Canon Inc 印刷システム、印刷装置、印刷システムの制御方法、印刷装置の制御方法、プログラム
JP2012181694A (ja) * 2011-03-01 2012-09-20 Canon Inc 情報処理装置、プリントシステム、制御方法、及び、プログラム
JP5885410B2 (ja) * 2011-06-29 2016-03-15 キヤノン株式会社 プルプリントシステム、プリントサーバおよびその制御方法、並びにプログラム
JP5909896B2 (ja) 2011-07-04 2016-04-27 セイコーエプソン株式会社 印刷装置、印刷システム、及び印刷方法
JP5834661B2 (ja) 2011-09-13 2015-12-24 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法
US8953192B2 (en) * 2011-10-17 2015-02-10 Google Inc. Roving printing in a cloud-based print service using a mobile device
JP5843691B2 (ja) * 2012-05-11 2016-01-13 キヤノン株式会社 情報処理装置、印刷システム、情報処理装置の制御方法、およびコンピュータプログラム
JP6098396B2 (ja) * 2013-06-28 2017-03-22 ブラザー工業株式会社 端末装置とプリンタ
JP6070466B2 (ja) 2013-07-31 2017-02-01 ブラザー工業株式会社 端末装置とプリンタ
JP6255778B2 (ja) * 2013-07-31 2018-01-10 ブラザー工業株式会社 端末装置とプリンタ
JP6225586B2 (ja) 2013-09-13 2017-11-08 株式会社リコー 出力システム、端末装置、プログラム及び出力方法
JP6303404B2 (ja) * 2013-10-31 2018-04-04 株式会社リコー 出力システム、端末装置、プログラム及び出力方法
US20150138585A1 (en) * 2013-11-19 2015-05-21 Toshiba Tec Kabushiki Kaisha Printing management system, printing management method, and image forming apparatus
JP5989631B2 (ja) * 2013-11-29 2016-09-07 京セラドキュメントソリューションズ株式会社 画像形成システム、画像形成方法、及び制御プログラム
JP6249749B2 (ja) * 2013-12-06 2017-12-20 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
US9667815B2 (en) 2015-06-22 2017-05-30 Ricoh Company, Ltd. Information processing system, information processing device, and information processing method
US20180039463A1 (en) * 2016-08-08 2018-02-08 Xerox Corporation Systems and methods for scheduling print jobs
US10025544B1 (en) * 2017-03-22 2018-07-17 Kabushiki Kaisha Toshiba System and method of print job scheduling using machine learning
JP2021121896A (ja) * 2020-01-31 2021-08-26 キヤノン株式会社 情報処理装置及びプログラム
US20230087856A1 (en) * 2020-06-09 2023-03-23 Hewlett-Packard Development Company, L.P. Pull-print servers
JP2022102673A (ja) * 2020-12-25 2022-07-07 ブラザー工業株式会社 画像処理装置及び画像処理装置のためのコンピュータプログラム
JP2022147547A (ja) * 2021-03-23 2022-10-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3624525B2 (ja) * 1996-03-14 2005-03-02 富士ゼロックス株式会社 プリンタ制御装置及び印刷システム
US6115132A (en) * 1996-12-27 2000-09-05 Canon Kabushiki Kaisha Printing system that transmits job information independently of print data
JP2000020272A (ja) * 1998-06-29 2000-01-21 Nec Software Chugoku Ltd 印刷制御方法および印刷制御装置
JP4136086B2 (ja) * 1998-06-30 2008-08-20 富士通株式会社 プリンタ制御装置および印刷システム
US6151464A (en) * 1998-12-17 2000-11-21 Sharp Kabushiki Kaisha Image output processing apparatus
US7177037B2 (en) * 2000-04-17 2007-02-13 International Business Machines Corporation Method and apparatus for processing print jobs identifying undefined print queues
JP3877944B2 (ja) * 2000-08-03 2007-02-07 シャープ株式会社 画像出力装置制御システム
US6748471B1 (en) * 2000-10-16 2004-06-08 Electronics For Imaging, Inc. Methods and apparatus for requesting and receiving a print job via a printer polling device associated with a printer
JP3706823B2 (ja) * 2001-09-14 2005-10-19 キヤノン株式会社 印刷制御方法及び印刷制御装置及びコンピュータが実行可能な印刷データ処理を行う印刷制御プログラム並びにコンピュータが読み出し可能な記憶媒体
JP2003131842A (ja) * 2001-10-23 2003-05-09 Canon Inc 画像形成システム
JP2003345864A (ja) * 2002-05-24 2003-12-05 Canon Inc 情報処理装置および印刷装置およびサーバ装置およびジョブ処理方法およびコンピュータが読み取り可能な記憶媒体およびコンピュータが実行可能なプログラム
SE525748C2 (sv) * 2002-10-28 2005-04-19 Devlabs Ab Förfarande för direkta utskrifter i nätverk
US6846056B2 (en) * 2002-12-17 2005-01-25 Hewlett-Packard Development Company, L.P. Optimizing printing parameters for a print medium
US7528974B2 (en) * 2003-02-28 2009-05-05 Electronics For Imaging, Inc. Methods and apparatus for providing universal print services and asynchronous message services
US20050024664A1 (en) * 2003-07-30 2005-02-03 Schmidt William Randolph Printer formatter with print server
JP2005352584A (ja) * 2004-06-08 2005-12-22 Canon Inc 印刷装置
US20060001898A1 (en) * 2004-07-02 2006-01-05 Konica Minolta Business Technologies, Inc. Image printing apparatus and display device and job processing method therefor
US7869079B2 (en) * 2004-09-20 2011-01-11 Electronics For Imaging, Inc. Methods and apparatus for print job submission
JP2006134292A (ja) * 2004-10-07 2006-05-25 Seiko Epson Corp 認証出力システム、デバイス利用装置、ネットワークデバイス、出力データ管理プログラム、出力制御プログラムおよび出力システム、並びに認証出力方法および出力方法
JP4419931B2 (ja) * 2004-10-22 2010-02-24 セイコーエプソン株式会社 出力システム、ネットワークデバイス、出力データ管理装置、出力プログラムおよび出力データ管理プログラム、並びに出力方法
US20080123130A1 (en) * 2005-01-05 2008-05-29 Akira Matsumoto Distributed Printing System and Distributed Printing Control Device

Also Published As

Publication number Publication date
JP2007200284A (ja) 2007-08-09
US20070146778A1 (en) 2007-06-28

Similar Documents

Publication Publication Date Title
JP4869031B2 (ja) 印刷システム、サーバ装置及びジョブ制御方法
JP4018622B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム並びに記憶媒体
JP5460200B2 (ja) 印刷制御装置、印刷制御方法、及びコンピュータプログラム
JP2011253568A (ja) 印刷システム、サーバ装置及びジョブ制御方法
US8804162B2 (en) Information processing apparatus, printing system, monitoring method, program, and storage medium
US20060268304A1 (en) Print control program, method of controlling printing apparatus, and print control unit
JP3854963B2 (ja) 情報処理装置、印刷システム、負荷分散印刷方法、及び制御プログラム
JP3774702B2 (ja) 印刷制御プログラム及び情報処理装置
JP4971778B2 (ja) 印刷管理装置、印刷管理方法、及びコンピュータプログラム
JP5100195B2 (ja) 情報処理装置及びジョブ管理方法
JP3927949B2 (ja) 情報処理装置、負荷分散印刷方法、プログラム、及び記憶媒体
JP4298738B2 (ja) クライアントコンピュータ及び情報処理方法
JP2006209309A (ja) 印刷システム
JP2009037488A (ja) 印刷ジョブの制御方法及びその印刷システムと情報処理装置と印刷装置
JP2008097226A (ja) 情報処理装置及び情報処理方法
JP2006209410A (ja) 印刷システム
JP2007025970A (ja) プルプリントシステム
JP2008107921A (ja) プルプリントサーバとその制御方法
JP2005209014A (ja) ジョブ管理装置、方法、制御プログラム
JP2008077355A (ja) 情報処理装置及びプリントシステム並びに印刷ジョブの転送制御方法
JP4618778B2 (ja) 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム
JP2007004680A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP4564626B2 (ja) 印刷制御装置、印刷制御装置の制御方法及び記録媒体
JP4401640B2 (ja) プリンタ管理方法、情報処理装置、プログラム及び記憶媒体
JP2013111799A (ja) 印刷装置及びその制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091106

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110908

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

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

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

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees