図1は、本発明の実施の形態で一般的に利用される主要なハードウェアコンポーネントを示すブロック図である。開示されるシステム及び方法はコンピュータ装置102及び画像形成装置120を用いて使用されてもよい。コンピュータ装置102は本技術分野において既知のものであり市販されている。コンピュータ装置102内で一般的に利用される主要なハードウェアコンポーネントは図1に示されている。コンピュータ装置102は一般的には入力要素若しくは装置104及び/又は出力要素若しくは装置106と電子通信可能なプロセッサ103を含む。該プロセッサ103は該プロセッサ103と電子通信可能な入力装置104及び/又は出力装置106、即ち電気信号の形態で入力及び/又は出力可能な装置に操作可能に接続されている。前記装置102の実施の形態には、同一の物理的構造、又は個々のハウジング若しくは構造内に入力装置104、出力装置106及びプロセッサ103が含まれてもよい。
コンピュータ装置102にはメモリ108も含まれてもよい。該メモリ108は前記プロセッサ103とは別の構成要素であってもよく、またプロセッサ103と同一の部分に含まれるオンボードメモリ108であってもよい。例えば、マイクロコントローラは多くの場合かなりのオンボードメモリを含む。
プロセッサ103はまた通信インタフェース110と電子通信可能である。該通信インタフェース110は他の装置102と通信するために使用してもよい。従って、様々な装置102の通信インタフェース110は、互いに通信し、コンピュータ装置102間で信号又はメッセージを送信すべく構成されてもよい。
コンピュータ装置102には他の通信ポート112が含まれてもよい。また、他の構成要素114もコンピュータ装置102内に含まれていてもよい。
当業者は当然、本発明の実施の形態で使用され得る多種の装置を十分に理解するであろう。コンピュータ装置102はマイクロコントローラのようなワンチップコンピュータ、コントローラのようなワンボード型のコンピュータ、IBM−PC準拠のコンピュータのような標準的なデスクトップコンピュータ、携帯情報端末(PDA)、ユニックスベースのワークステーション等であってもよい。従って、図1のブロック図はコンピュータ装置102の標準的な構成要素を図示することのみを意図したものであって、本発明に開示される実施の形態の範囲を限定することを意図したものではない。
コンピュータ装置102は画像形成装置120と電子通信可能である。画像形成装置には、これらに限定されるものではないが、物理的なプリンタ、多機能周辺装置、プリンタプール、プリンタ群、ファクシミリ装置、プロッタ、スキャナ、ロジカルデバイス、コンピュータモニタ、ファイル、電子白板、文書サーバ等が含まれる。画像形成装置は当業者に既知のものである。
上述の画像形成装置120に関する定義に照らしてみると、本発明に使用されている画像形成ジョブという用語は、画像形成装置へ送信されて画像を画像形成装置120で印刷させたり、画像形成させたり、取込ませたり、送信させたりする如何なる命令又は命令セットとしても広く定義される。従って、画像形成ジョブという用語には、これらに限定されるものではないが、ファクシミリを送信するためのファクシミリ命令又はジョブ、ファイルに印刷するための印刷ジョブ、グラフィカルユーザインタフェースにおける特定のウィンドウに印刷するための印刷ジョブ、スキャナから画像を取込むためのスキャンジョブ、物理的なプリンタに印刷するための印刷ジョブ等が含まれる。
印刷/スキャン/ファクシミリ/文書サブシステムを介して、印刷ジョブがコンピュータ装置102からデジタル画像形成装置120へ印刷された場合、又はスキャンジョブがデジタル画像形成装置120からコンピュータ装置102へ取込まれた場合、又はファクシミリジョブがデジタル画像形成装置120から/へ送信されたり、文書ジョブが文書サーバへ/から送信/検索されたりした場合、受信側におけるジョブの完了前にエラーが発生しても、該エラーの報告が送信者へ返されず、送信者が修正動作を行う機会が得られない可能性がある。本発明のシステム及び方法によりエラーの報告が送信者に返され得る手段が提供され、また実施の形態により送信者が修正動作を行う機会が提供される。
従来、マイクロソフトウィンドウズ(登録商標)系のオペレーティングシステムにより例示されるようなコンピュータシステムにおける印刷サブシステムは、画像を用紙上に印刷する処理の全てではなく一部のみを周辺装置において監視する。例えばマイクロソフトウィンドウズ系のオペレーティングシステムにおいて、ユーザは一般的に、関連するアプリケーションにおいて文書を開き「ファイル」→「印刷」を選択することにより文書を印刷する。アプリケーションは続いて文書データを装置独立フォーマット(即ちGDI:グラフィックス装置インタフェース)に変換し、選択されたプリンタに関連するプリンタドライバへ装置独立データを送出する。プリンタドライバは続いて前記装置独立データを印刷装置と互換性のある装置依存フォーマット(例えばPCL、Postscript)へ変換(即ち描画)する。前記装置依存データ(即ち印刷データ)は続いて前記印刷スプーラにスプールされ、該印刷スプーラは後に印刷装置へデスプールすべく前記印刷データを記憶装置内に置く。
印刷データのスプール及びデスプール処理は、一般的に別個の処理である。この方法において、印刷データがスプーラによりスプールされた後に、プリンタドライバは印刷データがプリンタで印刷されるのを待つことなく制御をユーザのアプリケーションへ戻すことができる。印刷データのスプールが完了する前にエラーが発生した場合、エラーはドライバ/アプリケーションへ伝播して返され、ユーザはもし有れば修正動作を行うことができる。
印刷スプーラは続いて、即座に、又は遅延して、前記印刷ジョブを印刷プロセッサへデスプールする。印刷ジョブがジャーナルデータ(例えばEMF:高機能メタファイルフォーマット)である場合、印刷プロセッサは前記印刷データを対応するプリンタドライバに再生し、ジャーナルデータを描画し描画印刷ジョブを印刷スプーラへ再度スプールする。そうでない場合、印刷プロセッサは描画された印刷データを対応する印刷装置へデスプールする。幾つかの印刷サブシステムにおいて、標準の動作と同様に印刷ジョブに関連する独自の動作を行うために、カスタマイズされた印刷プロセッサを使用してもよい。
印刷データをスプーラから印刷プロセッサへデスプールする際、又は印刷プロセッサが印刷データを印刷装置へデスプールする際、又は印刷プロセッサがジャーナルデータを対応するプリンタドライバに再生する際にエラーが発生した場合、該エラーの報告は印刷スプーラへ返される。
印刷プロトコル(例えばLPR)に依存して、印刷ジョブが印刷装置上でラスタ画像処理(RIP)されるまでポートマネージャは制御を印刷プロセッサへ戻さなくてもよい。RIPはラスタ画像処理又はラスタ画像プロセッサを意味する。RIPは、画像データ(例えばPDL)を取り出し、それを印刷用のビットマップに変換する処理である。印刷プロセッサは続いて制御を印刷スプーラへ戻し、印刷ジョブが順調に完了したことを印刷スプーラへ知らせ、スプーラは予定されていた印刷ジョブ及び関連するリソース(例えばスプールファイル)を削除する。RIP処理中にエラーが発生した場合、該エラーは印刷プロトコル及び印刷プロセッサを介して印刷スプーラへ伝播して返される。
エラーの報告が印刷スプーラへ返された場合、印刷スプーラはユーザに通知し、もし有れば修正動作を行うことができる。例えば、印刷データ送信中に印刷装置との接続が時間切れとなった場合、スプーラはユーザに通知し、再試行を行うか否かをユーザに問う。行うべきであれば、印刷ジョブは再度印刷スプーラによりデスプールされる。他のエラーにより、スプーラはスプールデータ及びその他の関連するジョブ予定情報を保存し、後の再試行の時点、例えばシステム再起動後にユーザに入力を指示する。
幾つかのカスタム印刷プロセッサが印刷スプーラの代わりに修正動作を行ってもよい。この印刷プロセッサは、例えば印刷ジョブを、同一のプリンタプールの一部である別の利用可能な互換性のあるプリンタへ自動的に移してもよい(例えば、Sharp EZ Cluster(登録商標))。
マイクロソフトウィンドウズ印刷サブシステムによる従来の監視及びジョブ回復の方法は後述する点で未だ不充分である。印刷ジョブがRIP処理され印刷された後に発生するエラー、例えば紙詰まりはより効果的な方法で処理され得る。
印刷ジョブが印刷サーバ(即ちネットワーク印刷)から印刷装置へデスプールされた後にエラーが発生した場合に支援するための改良が加えられてもよい。印刷ジョブが印刷サーバ上の印刷待ち行列にデスプールされる共用の印刷環境において、印刷サーバはローカル印刷プロセッサから印刷装置とみなされる。従って、印刷ジョブが順調に印刷サーバの待ち行列に入れられた場合、印刷ジョブの報告は順調に印刷されたとしてローカル印刷プロセッサ/スプーラへ返される。印刷ジョブが印刷サーバから印刷装置へデスプールされた後にデスプール又はRIPエラーのようなエラーが発生した場合、エラーの報告は印刷サーバ上の印刷プロセッサ/スプーラへ返される。印刷サーバスプーラは続いて修正動作を行う必要があるが、その報告はユーザ(クライアント)へ割込みのために返されなくてもよい。
エラー処理システムは、印刷ジョブが印刷装置における内部行列から印刷のために抜かれた後に発生するエラー用に変更されてもよい。これは、ジョブを内部記憶装置に記憶することによりプリンタの待ち行列に並列のジョブを入れることのできるプリンタに適用する。内部待ち行列/記憶装置は内部印刷サーバ/スプーラとして作動する。従って、ジョブが順調にプリンタの待ち行列に入れられた場合、印刷ジョブの報告は順調に印刷されたとしてローカル印刷プロセッサ/スプーラへ返される。待ち行列から抜かれる間、又はRIPの間にエラーが発生した場合、エラーの報告は内部サーバ/スプーラへ返される。プリンタは続いて、もし有れば修正動作を行う必要があるが、その報告はユーザ(クライアント)へ割込みのために返されなくてもよい。
ローカルクライアントのネットワークアドレスは印刷ジョブ内に組み込まれてもよく、監視処理はクライアント装置上においてバックグラウンドで作動してもよい。プリンタが印刷ジョブを順調に出力した場合、又はエラーを検出した場合、ジョブの状態を知らせるメッセージが印刷ジョブ内に組み込まれたネットワークアドレスから得られ、ローカルクライアント装置の監視装置へ返信される(例えば、Sharp Status Monitor(登録商標))。
ローカルクライアントのネットワークアドレス又はジョブ特定情報は印刷ジョブ内に組み込まれてもよく、装置を用いて文書特定SNMP(シンプルネットワーク管理プロトコル)トラップを監視及び登録する監視処理が作動していてもよい。プリンタが印刷ジョブを順調に出力した場合、又はエラーを検出した場合、ジョブの状態を知らせるSNMP文書特定メッセージは、特定されたジョブ/事象用のトラップを登録したローカルクライアント装置上の監視装置へ返信される。
別の実施の形態において、印刷ジョブを開始させるユーザの電子メールアドレスは印刷ジョブ内に組み込まれる。プリンタが印刷ジョブを順調に出力した場合、又はエラーを検出した場合、電子メールメッセージはユーザへ返信される。この方法は幾つかの利点を欠く。例えば、メッセージはリアルタイムのものではない。ユーザは電子メールサーバをポーリングする必要もある。更に、電子メールは印刷スプーラ/サブシステムと統合されない。印刷スプーラは修正動作を行うことができないかもしれない。また、印刷ジョブはスプーラにより既に削除されている。ユーザは、もし有れば修正動作を手動で行わなければならない可能性が高い。
カスタム印刷スプーラを使用してもよい。カスタム印刷スプーラは、印刷ジョブが印刷装置へデスプールされた後に該印刷ジョブの状態について印刷装置と通信するために使用されてもよい。通信には二つの方法を使用してもよい。第一の方法では、印刷スプーラがSNMPを使用して印刷装置を周期的にポーリングする。プリンタはSNMPジョブMIB(管理情報ベース)拡張を支持するとみなされる。各ポーリングの間、印刷スプーラはデスプールされたジョブに関連するジョブMIBのOID(オブジェクト識別子)値の問合せを印刷装置に対して行う。
通信のための別の方法を使用して、カスタム印刷スプーラはジョブMIB事象に反応するために印刷装置を用いてSNMPトラップを登録してもよい。ジョブが完了した場合、又は紙詰まりにおけるように状態が変化した場合、印刷装置はカスタムスプーラへメッセージを返信する。
印刷/スキャン/ファクシミリ/文書サブシステムを介して、印刷ジョブがコンピュータ装置からデジタル画像形成装置へ印刷された場合、又はスキャンジョブがデジタル画像形成装置からコンピュータ装置へ取込まれた場合、又はファクシミリジョブがデジタル画像形成装置から/へ送信されたり、文書ジョブが文書サーバへ/から送信/検索されたりした場合、ジョブ(例えば印刷ジョブからの出力)の物理的な完了はジョブソースにおいて把握されなくてもよい。
従来、マイクロソフトウィンドウズ系のオペレーティングシステムにより例示されるようなコンピュータシステム上の印刷サブシステムは、印刷装置へ完全にデスプールされていないスプールジョブに関してのみ報告を行う。例えば、ユーザがプリンタへ3つの印刷ジョブを送信した場合、ユーザにはローカル印刷モニタを介して以下のように示される。例えば、第1ジョブがクライアントからプリンタへデスプールされている時、「ジョブ1 印刷中」、「ジョブ2 スプール」、「ジョブ3 スプール」と示さ、第1ジョブが完全にデスプールされ、第2ジョブがプリンタへデスプールされている時、「ジョブ2 印刷中」、「ジョブ3 スプール」と示さ、第2ジョブが完全にデスプールされ、第3ジョブがプリンタへデスプールされている時、「ジョブ3 印刷中」と示される。
このタイプの監視システムは、特定の状況においては欠点として捉えられる可能性のある一又は複数の特徴を有している。例えば、プリンタが(例えば完全にRIP処理されたか或いは内部待ち行列内にあるか、又は手動リリース用のホールド待ち行列内にある)印刷ジョブの受領を確認した後にエラーが発生した場合、モニタへ事象の報告がなされた記録は一般的にない。また、プリンタ実行可能ファイル(例えば必要に応じてポストスクリプト等)の直接送信のような、印刷スプーラを介してスプールされない印刷ジョブの監視は通常行われない。
ローカルクライアントのネットワークアドレスを印刷ジョブ内に組み込み、クライアント装置上においてバックグラウンドで監視処理を実行することが可能である。プリンタが印刷ジョブを順調に出力した場合、又はエラーを検出した場合、ジョブの状態を知らせるメッセージが、印刷ジョブ内に組み込まれたネットワークアドレスから得られ、ローカルクライアント装置上の監視装置へ返信されてもよい。この方法により最終の用紙が出力されるまで現在の印刷ジョブの状態の報告が、割込み及び再開を含めて印刷ジョブライフサイクルの間中ユーザへ返されることが可能となるが、この方法は幾つかの特徴を有する。クライアントのIPアドレスは印刷ジョブ内に組み込まれている。IPアドレスの組み込みを把握しない方法により印刷ジョブが送信された場合、通知は受信されない。このような方法には、第三者ドライバ、プリンタ実行可能ファイルの直接送信、直接印刷ユーティリティ及び複合ジョブビルドが含まれる。最後に、ジョブ課金サーバのように通知の受信が予期される装置が複数ある場合にジョブ完了通知の複数コピーを送信する方法は無い。
上述の方法はSNMPトラップの使用を含むように変更されてもよい。ローカルクライアントのネットワークアドレス又はジョブ特定情報が印刷ジョブ内に組み込まれており、何れが装置を用いて文書特定SNMPトラップを登録するかを監視する監視処理が実行される。プリンタが印刷ジョブを順調に出力した場合、又はエラーを検出した場合、ジョブの状態を知らせるSNMP文書特定メッセージが、特定のジョブ又は事象のトラップを登録したローカルクライアント装置上の監視装置へ返信される。前記方法は、ページ又はその他の下位ジョブ完了通知に対する課金情報を送信する課金サーバの第2ネットワークアドレス、及びスキャン画像データのような印刷ジョブ内にマージする他のデータソースのアドレスを目的とした、印刷データ内に組み込まれた複数の発信コマンドをまた挿入してもよい。この方法は幾つかの特徴を有している。ローカルクライアントは装置にSNMPトラップを登録可能である必要がある。クライアントのIPアドレスは印刷ジョブ内に組み込まれる必要がある。最後に、IPアドレスの組み込みを把握しない方法により印刷ジョブが送信された場合、通知は受信されない。このような方法には、第三者ドライバ、プリンタ実行可能ファイルの直接印刷、直接印刷ユーティリティ及び複合ジョブビルドが含まれる。
自動通信でプリンタから状態及び情報を返すために電子メールを使用してもよい。印刷ジョブを開始するユーザの電子メールアドレスは印刷ジョブ内に組み込まれてもよい。プリンタが印刷ジョブを順調に出力した場合、又はエラーを検出した場合、電子メールメッセージがユーザに返信される。この電子メール方法には幾つかの特徴がある。メッセージはリアルタイムのものではない。ユーザは電子メールサーバをポーリングする必要がある。また、ユーザの電子メールアドレスは印刷ジョブ内に組み込まれる必要がある。電子メールアドレスの組み込みを把握しない方法により印刷ジョブが送信された場合、通知は受信されない。このような方法には、第三者ドライバ、プリンタ実行可能ファイルの直接送信、直接印刷ユーティリティ及び複合ジョブビルドが含まれる。ジョブ課金サーバのように通知の受信が予期される装置が複数ある場合にジョブ完了通知の複数コピーを送信する方法は、ここに述べた単純な方法には含まれなかった。
別の方法において、ジョブ完了通知は課金サーバのような複数の宛先へ送信されてもよい。この方法において、第2ジョブ完了モニタは印刷サーバ上で作動し、印刷ジョブはクライアントの組み込まれたIPアドレスをサーバのIPアドレスに変更すべく印刷サーバ上で修正される。プリンタからのジョブ完了通知は続いて印刷サーバ上のジョブモニタへ送信される。サーバ上のジョブ完了モニタは続いて、クライアントを含む複数の宛先へ通知のコピーを送信する。この方法により、クライアントのIPアドレスは尚印刷ジョブ内に組み込まれている。IPアドレスの組み込みを把握しない方法により印刷ジョブが送信された場合、印刷サーバはジョブ通知をクライアントへ伝えることができない。このような方法には、第三者ドライバ、プリンタ実行可能ファイルの直接送信、直接印刷ユーティリティ及び複合ジョブビルドが含まれる。
暗示IPアドレス発見を介したジョブ完了通知のためのシステム及び方法を開示する。これらのシステム及び方法においてはクライアント及び/又はユーザのネットワークアドレスを印刷ジョブ内に組み込む必要がない。暗示アドレスは、クライアントが送信する印刷データパケットの中に含まれるクライアントのIPアドレス又はサーバの送信する印刷データパケットの中に含まれるIPアドレスであり、パケットに含まれる暗示アドレスを、印刷データを受信する多機能周辺装置(MFP)又はプリントサーバが発見する。例えばピアツーピア印刷によれば、MFPが印刷ジョブデータパケットの送信に関連するIPアドレスからクライアントIPアドレスを抽出してもよい。ネットワーク印刷によれば、MFPはサーバIPアドレスを抽出し、サーバへ通知を送信してもよい。サーバは続いて登録された各クライアントへメッセージをユニキャストしてもよい。
通知のコピーを受信する第三者用のMFP及び/又は印刷サーバ内にネットワークアドレスを入力する必要は無い。ネットワーク印刷に関して、第三者はサーバにクライアントとして登録してもよい。サーバは続いてメッセージのユニキャストコピーを第三者クライアントへ送信する。
本発明のシステム及び方法は印刷ジョブ内にIPアドレスを組み込む既存の解決策に適合したものでもよい。クライアントIPアドレスが印刷ジョブ内に組み込まれている場合、クライアントを検索するサーバの試みは無効となる。更に、ジョブ通知を無効にするコマンドが組み込まれている場合もまた、この方法は無効となる。
本発明に参照された、印刷、スキャン、ファクシミリ、複写及び文書管理のような多機能周辺装置(MFP)により行われるジョブは画像形成ジョブと呼ばれる。また、MFP又はコンピュータ装置のような画像形成ジョブを送受信する参照された装置は画像形成装置と呼ばれる。典型的な実施の形態を例示するために印刷ジョブ及び印刷装置が使用されているが、他の種類の画像形成ジョブ及び画像形成装置が本発明に開示される実施の形態の実施に使用されてもよい。
画像形成装置又はサーバへ画像形成ジョブを構築及びデスプールする参照されたコンピュータ装置はクライアントコンピュータ装置(即ちクライアント)と呼ばれる。本発明において、複数のクライアントコンピュータ装置からデスプールされた画像形成ジョブを受信することにより共用画像形成装置を主として管理し画像形成ジョブを画像形成装置へ再度デスプールする参照されたコンピュータ装置はサーバコンピュータ装置(即ちサーバ)と呼ばれる。
開示されている実施の形態は画像形成ジョブがどのように開始されるかに依存せず作動する。例えば、印刷ジョブは、該印刷ジョブを印刷スプーラへスプールするプリンタドライバを使用してアプリケーションにより開始されてもよい。更に一例として、印刷ジョブは、印刷ジョブチケットを生成し文書データ及びジョブチケットを直接プリンタへデスプールするユーティリティを使用して直接印刷により開始されてもよい。
開示されている実施の形態はジョブ完了状態を得るためにクライアントコンピュータ装置と画像形成装置との間で使用されるプロトコルにも依存せず作動する。プロトコルは、例えばTCP/IPに関し専用のプロトコルであってもよい。様々な実施の形態を例示するためにTCP/IPに関しシャープの専用NJR(通知ジョブリターン)プロトコルが使用されているが、他のプロトコルを使用してもよい。
図2は画像形成ジョブを画像形成装置204へ送信する印刷サーバ202を使用するシステムの一般的なブロック図である。クライアントコンピュータ装置206は画像形成ジョブを印刷サーバ202へ送信する。クライアントコンピュータ装置は印刷タスクを操作する印刷サブシステム208と画像形成ジョブの状態を監視するモニタ210とを有している。印刷サーバ202もまた印刷サブシステム212を有している。サーバモニタ214は印刷サーバ202上で作動し、画像形成装置204へ送信される画像形成ジョブを監視する。図2は印刷サーバ202を使用するネットワーク印刷を示す。
図3は印刷サーバを有していないピアツーピア印刷のブロック図である。印刷サブシステム308は画像形成ジョブを画像形成装置304へ送信する。状態メッセージはここに開示されるようにモニタ310へ送信される。
図4はコンピュータシステムにより使用されている画像形成装置へ送信される画像形成ジョブを監視する方法の流れ図である。画像形成ジョブが画像形成装置へ送信される(S402)。画像形成ジョブは画像形成装置において受信される(S404)。画像形成ジョブから暗示ネットワークアドレスが発見される(S406)。画像形成ジョブは画像形成装置において開始される(S408)。状態メッセージは発見されたネットワークアドレスへ返信される(S410)。状態メッセージが受信された場合、クライアントコンピュータ装置からの画像形成ジョブの発信が確認されてもよい(S412)。
図5は印刷サーバが利用されているネットワーク印刷環境において使用されている画像形成装置へ送信される画像形成ジョブを監視する方法の流れ図である。まず印刷サーバが特定されてもよい(S502)。クライアントは画像形成ジョブに関する通知を受信すべく印刷サーバに登録してもよい(S504)。画像形成ジョブは印刷サーバへ送信され(S506)、印刷サーバは順に画像形成ジョブを画像形成装置へ送信する(S508)。画像形成ジョブから暗示ネットワークアドレスが発見される(S510)。状態メッセージは発見されたネットワークアドレスへ返信される(S512)。状態メッセージが印刷サーバにおいて受信された場合(S514)、画像形成ジョブの発信を判断するために検査が行われてもよい(S516)。状態メッセージは印刷サーバからクライアントコンピュータ装置へ送信されてもよい(S518)。
図4及び図5は種々の構成及び実施の形態において実施され得る一般的な流れ図である。図6乃至図13は典型的な実施として行われている種々の実施の形態及び種々のステップを示す。
図6は印刷サーバ発見の際の、システムの実施の形態を示すブロック図である。図6の実施の形態において、ジョブ完了監視処理602は、一又は複数のクライアントコンピュータ装置604及び一又は複数の印刷サーバ上で作動する。各クライアント604上の本発明でモニタ602と呼ばれるジョブ完了監視処理602はクライアントのインストールされたネットワークプリンタと関連した印刷サーバを検索する。例えばマイクロソフト系のオペレーティングシステムにおいて、クライアントモニタ602はローカルスプーラ606に問合せを行い、ネットワーク接続されている(即ち印刷サーバを介して接続されている)全てのインストールされたプリンタを列挙する。
列挙された各プリンタに対して、クライアントモニタ602はローカルスプーラ606から、列挙された各プリンタに対するPRINTER_INFO_2構造のような対応するプリンタ情報を得てもよい。各プリンタに対して得られた情報の一部には、プリンタの関連する印刷サーバ及び印刷待ち行列名が含まれるであろう。印刷サーバ及び待ち行列名は例えば、\\<サーバ>\<共用プリンタ名>として表されてもよい。この例において、<サーバ>は印刷サーバに関連するDNS又はWINS名であり、<共用プリンタ名>は印刷サーバにより設定されクライアントへ送出される待ち行列名である。
特定された各印刷サーバ、例えば<サーバ>に対して、クライアントモニタ602は印刷サーバのネットワークアドレスを判断する。好ましい実施の形態において、<サーバ>のDNS名はローカルスプーラ606から得られたプリンタ情報において特定されており、ネットワークアドレスはDNS名サーバ608からサーバのDNS名のDNS検査により得られる。
クライアントモニタ602は検索された印刷サーバ及び対応するネットワークアドレス(即ち静的)をデータベース610内に保存してもよい。モニタ602はデータベース610(即ち動的)における情報を連続的に更新してもよく、また特定の事象(即ちキャッシュ)に対応して情報を更新してもよい。
モニタ602により行われ得る種々のタスクがモニタ602内の処理として示され上述されてきた。モニタ602はプリンタ発見612を行い、インストールされたネットワークプリンタのリストを用意してもよい。モニタ602は続いて印刷サーバ特定614及びアドレス発見616を行ってもよい。得られた情報はデータベース610内に記憶されてもよい。図示のようにDNSサーバ608にはアドレス発見616の際に要求に対応するDNS処理618が含まれる。
図7はネットワーク印刷で使用される実施の形態のブロック図であり、印刷サーバに登録したクライアントを示す。二つのクライアント702が図示され、二つの印刷サーバ704が図示されている。図示のように、各クライアント702にはモニタ706が含まれている。各印刷サーバ704には情報を記憶するサーバモニタ708及びデータベース710が含まれる。クライアントモニタ706は、該クライアントモニタ706により検索された各印刷サーバ704上のサーバモニタ708に登録する処理を行う。或る実施の形態において、検索された印刷サーバ704はクライアント702が印刷サーバ704として有するインストールされたネットワークプリンタである。登録には、これらに限定されるものではないが、以下の情報(a)クライアント702上のインストールされた各ネットワークプリンタの<共用プリンタ名>、(b)クライアント名(例えばDNS)及び(c)クライアントのネットワークアドレス(例えばIP又はMACアドレス)の送信が含まれていてもよい。
図7に示されている実施の形態において、クライアントモニタ706は、サーバモニタ708が監視するサーバ704上のポート及びサーバのネットワークアドレス(例えばIPアドレス)に対するネットワーク接続機構(例えばTCP/IP)を使用してサーバモニタ708に接続してもよい。同様にサーバモニタ708は、サーバモニタ708が監視しているポートに届くメッセージを監視及び処理している。クライアントモニタ706は続いてメッセージとしての登録を、データプロトコルを使用してサーバモニタ708へ送信する。これに対応して、サーバモニタ708は状況に応じてメッセージの受信(即ちハンドシェイク)及び登録要求の成功/失敗状態を確認する。サーバモニタ708は例えばファイル、レジストリ又はデータベースにクライアント登録情報を記憶する。
複数のクライアント、複数の印刷サーバ環境において、各クライアントモニタ706は複数のサーバモニタ708に登録を行い、各サーバモニタ708は複数のクライアントモニタ706登録を有してもよい。
図8は、一又は複数の印刷サーバ804に登録した第三者装置又はシステム802を示す実施の形態のブロック図である。課金サーバ802のような第三者モニタ806もまた一又は複数の印刷サーバモニタ808に登録してもよい。登録には、これらに限定されるものではないが、以下の情報(a)第三者名(例えばDNS)、(b)第三者ネットワークアドレス(例えばIP又はMACアドレス)、(c)印刷サーバ上のネットワークプリンタのゼロ又はそれ以上の共有プリンタ名及び(d)ゼロ又はそれ以上のクライアント名及び/又はネットワークアドレスの送信が含まれてもよい。
図9はジョブ完了通知が暗示クライアントIPアドレスを介してクライアント902へ送信されるピアツーピア印刷の実施の形態のブロック図である。この実施の形態において、クライアントコンピュータ装置902はその印刷サブシステム912を使用して、印刷サーバを回避して印刷ジョブを画像形成装置904(即ちピアツーピア印刷)へ直接デスプールする。この実施の形態において、画像形成装置904(図9においてプリンタとして示されている)はクライアント902と画像形成装置904との間にデスプールされた送信パケットからクライアント902のネットワークアドレスを得る。画像形成装置904は続いて、抽出されたネットワークアドレスを介してクライアントコンピュータ装置902上のジョブモニタ906へジョブ完了通知を直接送信する。
画像形成装置904は事象毎に一又は複数のジョブ完了通知を送信してもよい。これらの事象には、これらに限定されるものではないが、以下の事象が含まれていてもよい。1.装置にスプールされているジョブ(例えば印刷/ファクシミリ)、2.装置からスプールされているジョブ(例えばスキャン)、3.装置上でスプールされるジョブ(例えば待ち行列内)、4.装置で保留中のジョブ(例えばサーバ/クライアントからの対話式プル印刷/ファクシミリ)、5.保留状態のジョブ(例えばスプールされているがユーザ対話を待機している)、6.装置上で処理されているジョブ(例えば印刷/ファクシミリ/スキャン)、7.割込み状態のジョブ(例えば用紙切れ、ユーザ介入要求)、8.取消されたジョブ(例えばユーザ/装置取消し)、9.問題を有して完了されたジョブ(例えば要求された重複ジョブ上の単一出力)及び10.問題なく完了されたジョブ(例えば要求されたように画像形成された)。
ジョブ完了通知には画像形成ジョブを特定するための追加情報が含まれてもよく、追加情報には、これらに限定されるものではないが、以下の情報が含まれてもよい。1.クライアント発信名(例えば画像形成ジョブから抽出される)、2.ユーザ発信名(例えば画像形成ジョブから抽出される)、3.画像形成ジョブ名(例えばスプーラ又は画像形成ジョブから抽出される)、4.インストールされた画像形成装置発信名(例えば画像形成ジョブから抽出される)及び5.名称、型及びネットワークアドレスのような印刷装置の識別情報。
ジョブ完了通知を受信すると、クライアントモニタ906は、ジョブ完了通知がクライアント902から出ている画像形成ジョブのためのものであることを確認する。ジョブ完了通知が確認できなかった場合、通知は無視されてもよい。そうでない場合、ジョブ完了通知は処理される。或る例において、クライアントモニタ906はジョブ完了通知の内容に従って、クライアントコンピュータ装置902上でユーザにメッセージをフォーマット及び表示してもよい。
プリンタ904は本技術分野で既知のものである。印刷ファームウェア908及びマーキングエンジン910という、プリンタ904の二つの構成要素が図示されている。印刷ファームウェア908は画像形成ジョブを処理する際に作動する。プリンタ904におけるマーキングエンジン910により印刷されて、印刷された文書又は用紙をもたらす。
図10は、ジョブ完了通知が暗示サーバIPアドレスを介してサーバエコーによりクライアントへ送信されるネットワーク印刷(印刷サーバに対するクライアント)の実施の形態のブロック図である。この実施の形態において、クライアントコンピュータ装置1002aの印刷サブシステム1012aは印刷ジョブを印刷サーバ1005へデスプールする。印刷サーバ1005は続いて、即座に、又は遅延して、その印刷サブシステム1014を使用して印刷ジョブを画像形成装置1004へデスプールする。この実施の形態において画像形成装置1004は、サーバ1005と画像形成装置1004との間にデスプールされた送信パケットからサーバ1005のネットワークアドレスを得る。画像形成装置1004は続いて抽出されたネットワークアドレスを介してジョブ完了通知(より一般的には状態メッセージと呼ばれる)をサーバコンピュータ装置1005上のジョブモニタ1016へ送信する。
ジョブ完了通知を受信すると、サーバモニタ1016はジョブ完了通知を検査してクライアント発信を判断する。サーバモニタ1016がクライアント発信を特定できる場合、サーバモニタ1016はジョブ完了通知をクライアントモニタ1006へ転送する。
サーバモニタ1016がクライアント発信を判断できない場合、サーバモニタ1016はジョブ完了通知を検査して関連する共有プリンタを特定する。例えば、画像形成装置1004からの送信パケットのネットワークアドレスが抽出され、突合せを行うために各共有プリンタポートのネットワークアドレスと比較される。サーバ1005がジョブ完了通知に関連する共有プリンタを特定できない場合、ジョブ完了通知は無視される。そうでない場合、サーバ1005は関連する共有プリンタ用のサーバモニタ1016に登録された全てのクライアントモニタ1006を特定し、ジョブ完了通知を各クライアント1002へ転送する。
サーバモニタ1016は転送されたジョブ完了通知に追加情報を加えてもよく、追加情報には、これらに限定されるものではないが、以下の情報が含まれていてもよい。1.印刷サーバ名、2.印刷サーバ上の共有プリンタ名(例えば印刷待ち行列)及び3.印刷サーバのネットワークアドレス。転送されたジョブ完了通知を受信すると、クライアントモニタ(単数又は複数)1006は上述の動作を行う。
図11は、ジョブ完了通知が暗示サーバIPアドレスを介してサーバエコーにより第三者システム1120へ送信されるネットワーク印刷(印刷サーバに対するクライアント)の実施の形態のブロック図である。この実施の形態において、サーバモニタ1116は関連する共有プリンタ用のサーバモニタ1116に登録した全ての第三者モニタ1124を特定し、ジョブ完了通知を各第三者モニタ1124へ転送する。第三者モニタ1124は例えば課金サーバ1120の一部であってもよい。
次に図12を参照して、クライアントモニタ1206のネットワークアドレスを印刷ジョブ内に組み込む既存のシステムと通信を行う実施の形態が示されている。この場合、画像形成装置1204は印刷ジョブ内に組み込まれたネットワークアドレスと送信パケットからの抽出されたネットワークアドレスとを比較するであろう。この二つのネットワークアドレスが同一(即ちピアツーピア印刷)である場合、画像形成装置1204はその既存の機能を行う。シャープ社製のSMON(登録商標)製品の場合、画像形成装置1204はシャープのNJRプロトコルを使用してジョブ完了通知を印刷ジョブ内に組み込まれたネットワークアドレスへ送信するであろう。
前記ネットワークアドレスが同一でない(例えばネットワーク印刷)場合、画像形成装置1204はその既存の機能と、状況に応じてジョブ完了通知のコピーを印刷サーバ1205上のサーバモニタ1216へ送信する追加機能とを行う。コピーされたジョブ完了通知にはまた以下の動作を達成する追加情報が含まれていてもよい。1.ジョブ完了通知が重複していることを特定する。及び2.オリジナルジョブ完了通知の宛先(例えば名称及びネットワークアドレス)を特定する。
ジョブ完了通知を受信すると、サーバモニタ1216はジョブ完了通知を検査して通知が重複しているか否かを判断する。通知が重複している場合、サーバ1205はジョブ完了通知を検査して前述のようにクライアント発信を判断する。サーバモニタ1216は続いてクライアント発信をオリジナルジョブ完了通知の宛先と比較する。この二つが同一である場合、重複ジョブ完了通知は転送されない。そうでない場合、重複ジョブ完了通知はクライアントモニタ1206へ転送される。
次に図13を参照して、前記実施の形態における別の場合において、サーバモニタ1316は関連する共有プリンタ用のサーバモニタ1316に登録した全ての第三者モニタを特定し、重複ジョブ完了通知を各第三者モニタへ転送する。
この実施の形態における別の場合において、画像形成装置1304にジョブ完了通知をクライアントコンピュータ装置1302へ送信しないよう指示する非通知コマンドが印刷ジョブ内に組み込まれてもよい。この場合、画像形成装置1304はジョブ完了通知をクライアント1302へ送信しないというその既存の機能を行ってもよい。
画像形成装置1304には、非通知ジョブ完了通知をサーバモニタ1316へ送信するというような追加機能が含まれてもよい。この場合、画像形成装置1304はもし有れば印刷ジョブ内に組み込まれたネットワークアドレスと送信パケットからの抽出されたネットワークアドレスとを比較するであろう。この二つのネットワークアドレスが同一(即ちピアツーピア印刷)である場合、画像形成装置1304は追加動作を行わないであろう。そうでない場合、画像形成装置1304は前述のように非通知ジョブ完了通知をサーバモニタ1316へ送信する。非通知ジョブ完了通知には、通知がクライアントへ転送されるべきではないという追加情報(限定されるものではない)が含まれていてもよい。
ジョブ完了通知を受信すると、サーバモニタ1316はジョブ完了通知を検査して通知が非通知であるか否かを判断する。通知が非通知である場合、ジョブ完了通知はクライアント発信へ転送されない。しかしながらサーバモニタ1316は状況に応じて重複ジョブ完了通知を登録された第三者モニタへ送信してもよい。
本システム及び方法が多くの異なる実施の形態において実施され得ることは当業者に十分に理解されるであろう。他の実施の形態には、これらに限定されるものではないが、アップルマッキントッシュオペレーティングシステム、リナックスオペレーティングシステム、システムVユニックスオペレーティングシステム、BSDユニックスオペレーティングシステム、OSFユニックスオペレーティングシステム、サンソラリスオペレーティングシステム、HP/UXオペレーティングシステム並びにIBMメインフレームMVS、AS/400及びOS/390オペレーティングシステムのスプール及びデスプールサブシステムが含まれる。
プリンタによる使用が例示されたが、本システム及び方法が他の実施の形態に適用され得ることは十分に理解されるであろう。本システム及び方法は例えばファクシミリ、スキャン及び文書操作に適用してもよい。
情報及び信号を、様々な異なる技術及び技法のうち何れを用いて表してもよいことは当業者に理解されるであろう。例えば、上述の記載を通して表されているデータ、命令、コマンド、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁波、磁界若しくは磁粉、光学フィールド若しくは光学粒子、又はこれらの何れかの組合せにより表されてもよい。
更に、本発明に開示される実施の形態に関連して記載されている様々な例示的な論理ブロック、モジュール、回路及びアルゴリズムステップが電子ハードウェア、コンピュータソフトウェア、又はその組合せとして実施され得ることは当業者に十分に理解されるであろう。ハードウェア及びソフトウェアの互換性を明らかに例示するため、様々な例示的なコンポーネント、ブロック、モジュール、回路及びステップが一般的に夫々の機能性に関して上述されている。上述の機能性がハードウェア及びソフトウェアのうち何れとして実施されるかは、システム全体に与えられた特定のアプリケーションと設計とによる制限に依存する。当業者は上述の機能性を特定のアプリケーション毎に様々な方法で実施してもよいが、このような実施の際の決定は本発明の範囲からの逸脱を引き起こすものとみなされるべきではない。
本発明に開示される実施の形態に関連して記載されている様々な例示的な論理ブロック、モジュール及び回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラム可能ゲートアレイ信号(FPGA)若しくは他のプログラム可能な論理回路、離散的ゲート若しくはトランジスタ論理、離散的ハードウェアコンポーネント、又は本発明に開示された機能を行うべく構成された何れかの組合せにより実施又は実行されてもよい。汎用プロセッサはマイクロプロセッサでもよいが、別の方法では、従来のプロセッサ、コントローラ、マイクロコントローラ又はステートマシンであってもよい。プロセッサはまた、コンピュータ装置の組合せ、例えばDSP及びマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連動した一又は複数のマイクロプロセッサ、又はその他の上述の構成として実施されてもよい。
本発明に開示される実施の形態に関連して記載されている方法又はアルゴリズムのステップは、ハードウェア、プロセッサにより実行されるソフトウェアモジュール、又はこれらの組合せ内に直接組み込まれてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、又は本技術分野で知られているその他の記憶媒体の形態に常駐してもよい。典型的な記憶媒体は、プロセッサが該記憶媒体に対して情報の読取り及び書込みを行えるようにプロセッサに連結される。別の方法では、記憶媒体はプロセッサと一体であってもよい。プロセッサ及び記憶媒体はASICに常駐してもよい。ASICはユーザ端末内に常駐してもよい。別の方法では、プロセッサ及び記憶媒体はユーザ端末内の離散的コンポーネントとして常駐してもよい。
本発明に開示される方法は、記載された方法を達成するための一又は複数のステップ又は動作を備える。方法ステップ及び/又は動作は、本発明の範囲から逸脱することなく互いに置き換わってもよい。即ち、ステップ又は動作の特定の順序が実施の形態の正常な動作に必要とされない限り、特定のステップ及び/又は動作の順序及び/又は使用は本発明の範囲から逸脱することなく変更してもよい。
本発明の特定の実施の形態及びアプリケーションが例示され記載されてきたが、本発明が本発明に開示される厳密な構成及び要素に限定されないことは理解されるべきである。当業者に明らかであろう様々な修正、変更及び変化は、本発明の精神及び範囲から逸脱することなく、本発明に開示される本発明の方法及びシステムの配置、動作及び詳細に加えられてもよい。