(57)【要約】【課題】      サーバおよびクライアントのどちらのスプーラに保持された画像を記録するのかをユーザが選択できるプリントサーバシステムを提供する。【解決手段】  各クライアント１２、１４、１５に設けられた第１の画像記憶手段に当該クライアントから記録を要求された画像を記憶し、印刷装置１８を管理するサーバ１６に設けられた第２の画像記憶手段に全てのクライアントから記録を要求された画像を記憶する。そして、実際に記録動作を行う際には、どちらの画像記憶手段に記憶された画像を記憶装置に送信するのかを画面表示に従ってユーザが指定する。【選択図】  図１
2008181529.tif 000002
【特許請求の範囲】
【請求項１】
印刷順序を管理するサーバ装置と印刷装置とネットワークを介して通信が可能なクライアントとしての情報処理装置であって、
印刷要求された印刷ジョブの画像データを記憶する画像記憶手段と、
前記サーバ装置で管理している印刷ジョブのリストを取得するリスト取得手段と、
前記取得された印刷ジョブのリストに基づいて、プレビューすべき印刷ジョブを指定する指定手段と、
前記指定された印刷ジョブの画像データが前記画像記憶手段に記憶されている場合は、前記画像記憶手段から当該画像データを読み出し、前記指定された印刷ジョブの画像データが前記サーバ装置に記憶されている場合は、前記サーバ装置から当該画像データをダウンロードする画像取得手段と、
前記画像取得手段により取得された画像データに基づいてプレビュー画像を表示させるよう制御する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記指定手段は、ユーザインタフェース画面を表示させることによりユーザに指定させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記画像データは、中間データからなるＥＭＦファイルであることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御手段は、取得されたＥＭＦファイルをＯＳの描画手段に対して実行させることにより、プレビュー画像を表示させるよう制御することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
印刷順序を管理するサーバ装置と印刷装置とネットワークを介して通信が可能なクライアントとしての情報処理装置の印刷管理方法であって、
印刷要求された印刷ジョブの画像データを画像記憶手段に記憶する画像記憶工程と、
前記サーバ装置で管理している印刷ジョブのリストを取得するリスト取得工程と、
前記取得された印刷ジョブのリストに基づいて、プレビューすべき印刷ジョブを指定する指定工程と、
前記指定された印刷ジョブの画像データが前記画像記憶手段に記憶されている場合は、前記画像記憶手段から当該画像データを読み出し、前記指定された印刷ジョブの画像データが前記サーバ装置に記憶されている場合は、前記サーバ装置から当該画像データをダウンロードする画像取得工程と、
前記画像取得工程において取得された画像データに基づいてプレビュー画像を表示させるよう制御する制御工程と、
を備えることを特徴とする情報処理装置の印刷管理方法。
【請求項６】
前記指定工程は、ユーザインタフェース画面を表示させることによりユーザに指定させることを特徴とする請求項５に記載の情報処理装置の印刷管理方法。
【請求項７】
前記画像データは、中間データからなるＥＭＦファイルであることを特徴とする請求項５または６に記載の情報処理装置の印刷管理方法。
【請求項８】
前記制御工程は、取得されたＥＭＦファイルをＯＳの描画手段に対して実行させることにより、プレビュー画像を表示させるよう制御することを特徴とする請求項７に記載の情報処理装置の印刷管理方法。
【請求項９】
請求項５乃至８のいずれか１項に記載の情報処理装置の印刷管理方法をコンピュータに実行させるプログラムを記憶した記憶媒体。
【請求項１０】
外部装置と通信するクライアントとしての情報処理装置であって、
印刷されるべきデータを記憶する記憶手段と、
印刷されるべきデータの名称を含む画面を表示する表示手段と、
前記外部装置から印刷されるべきデータを取得する取得手段と、
前記表示手段によって表示された画面を用いてプレビューすべきデータを指定する指定手段と、
前記指定手段により指定された印刷されるべきデータが前記記憶手段に記憶されている場合、当該記憶手段に記憶されている印刷されるべきデータに基づくプレビュー画像を表示し、一方、前記指定手段により指定された印刷されるべきデータが前記外部装置に記憶されている場合、前記取得手段により当該外部装置から取得された印刷されるべきデータに基づくプレビュー画像を表示する表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項１１】
記憶手段と、表示手段と、取得手段と、指定手段と、表示制御手段とを備え、外部装置とネットワークを介して通信可能なクライアントとしての情報処理装置における印刷管理方法であって、
前記記憶手段が、印刷されるべきデータを記憶する記憶工程と、
前記表示手段が、印刷されるべきデータの名称を含む画面を表示する表示工程と、
前記取得手段が、前記外部装置から印刷されるべきデータを取得する取得工程と、
前記指定手段が、前記表示工程によって表示された画面を用いてプレビューすべきデータを指定する指定工程と、
前記表示制御手段が、前記指定工程により指定された印刷されるべきデータが前記記憶工程に記憶されている場合、当該記憶工程に記憶されている印刷されるべきデータに基づくプレビュー画像を表示し、一方、前記指定工程により指定された印刷されるべきデータが前記外部装置に記憶されている場合、前記取得工程により当該外部装置から取得された印刷されるべきデータに基づくプレビュー画像を表示する表示制御工程と、
を備えることを特徴とする印刷管理方法。
【請求項１２】
請求項１１に記載の情報処理装置における印刷管理方法をコンピュータに実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントサーバ装置、クライアントとしての情報処理装置、これら装置の印刷管理方法および記憶媒体に関し、詳細には、印刷装置が実行する記録ジョブの監視を行うサーバ装置と記録依頼を行うクライアントからなるプリントサーバシステムにおける印刷ジョブの管理に関するものである。
【背景技術】
【０００２】
従来のプリントシステムにおいては、クライアントから印刷依頼される印刷ジョブがプリントサーバに格納され、プリントサーバが印刷ジョブの順序管理を行い、出力先のプリンタを監視して、プリンタで印刷出力が可能な場合は印刷順序に応じて印刷ジョブを該プリンタに出力して印刷ジョブをクリアしている。
【０００３】
また、近年考えられているプリントシステムは、ネットワーク及びプリントサーバの負荷を減らすために、クライアントからプリントサーバへは印刷ジョブの印刷依頼だけを送信し、印刷ジョブの実態はクライアントに保持しておき、プリントサーバで印刷依頼を受け取ると印刷ジョブの順序管理を行い、プリンタで印刷出力が可能であると認識された場合にクライアントに対して印刷許可を通知し、クライアントがプリンタに直接印刷ジョブを出力して印刷ジョブをクリアする仕組みが考えられている。
【０００４】
このように、印刷ジョブの順序管理を行うサーバと印刷依頼を行うクライアントのどちらかが印刷ジョブの実態である記録画像を保持（スプール）するように構成されているのが一般的である。この場合、サーバが記録画像を持つように構成する（サーバスプール）と、クライアントがダウンした際にも、印刷ジョブが保証され、プリンタの状態を集中管理できるなどの長所がある。一方、クライアントが記録画像を持つ構成（クライアントスプール）では、記録画像の伝送経路がクライアントからプリンタだけとなり、ＬＡＮのビジー状態が発生しにくいという長所がある。
【０００５】
上記のようなシステムでは、サーバまたはクライアントでスプールしている対象は、印刷ジョブの記録画像であり、実際にプリンタに出力される印刷データだけである。また、プリンタに印刷データが出力された後は、サーバまたはクライアントのスプールデータは消去（クリア）されてしまい、再利用等は考えられていない。
【０００６】
また、サーバにスプールされている印刷ジョブの一覧をクライアントで取得してジョブ情報（ドキュメント名、オーナー名、印刷依頼時刻）を表示することは可能であるが、サーバにスプールされている印刷ジョブのジョブ情報の内容が少ないために、実際のどのような印刷出力を得るための印刷ジョブであるのかを知ることはできない。
【０００７】
上述の従来技術として、例えば、以下の特許文献１に示されるものがある。
【特許文献１】特開平７−３２５６９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のプリントシステムにおいては、クライアントから印刷依頼される印刷ジョブがプリントサーバに格納され、プリントサーバが印刷ジョブの順序管理を行い、出力先のプリンタを監視して、プリンタで印刷出力が可能な場合は印刷順序に応じて印刷ジョブを該プリンタに出力して印刷ジョブをクリアしている。
【０００９】
また、近年考えられているプリントシステムは、ネットワーク及びプリントサーバの負荷を減らすために、クライアントからプリントサーバへは印刷ジョブの印刷依頼だけを送信し、印刷ジョブの実態はクライアントに保持しておき、プリントサーバで印刷依頼を受け取ると印刷ジョブの順序管理を行い、プリンタで印刷出力が可能であると認識された場合にクライアントに対して印刷許可を通知し、クライアントがプリンタに直接印刷ジョブを出力して印刷ジョブをクリアする仕組みが考えられている。
【００１０】
このように、印刷ジョブの順序管理を行うサーバと印刷依頼を行うクライアントのどちらかが印刷ジョブの実態である記録画像を保持（スプール）するように構成されているのが一般的である。この場合、サーバが記録画像を持つように構成する（サーバスプール）と、クライアントがダウンした際にも、印刷ジョブが保証され、プリンタの状態を集中管理できるなどの長所がある。一方、クライアントが記録画像を持つ構成（クライアントスプール）では、記録画像の伝送経路がクライアントからプリンタだけとなり、ＬＡＮのビジー状態が発生しにくいという長所がある。
【００１１】
上記のようなシステムでは、サーバまたはクライアントでスプールしている対象は、印刷ジョブの記録画像であり、実際にプリンタに出力される印刷データだけである。また、プリンタに印刷データが出力された後は、サーバまたはクライアントのスプールデータは消去（クリア）されてしまい、再利用等は考えられていない。
【００１２】
また、サーバにスプールされている印刷ジョブの一覧をクライアントで取得してジョブ情報（ドキュメント名、オーナー名、印刷依頼時刻）を表示することは可能であるが、サーバにスプールされている印刷ジョブのジョブ情報の内容が少ないために、実際のどのような印刷出力を得るための印刷ジョブであるのかを知ることはできない。
【課題を解決するための手段】
【００１３】
上記目的を達成する本発明にかかる情報処理装置は、印刷順序を管理するサーバ装置と印刷装置とネットワークを介して通信が可能なクライアントとしての情報処理装置であって、
印刷要求された印刷ジョブの画像データを記憶する画像記憶手段と、
前記サーバ装置で管理している印刷ジョブのリストを取得するリスト取得手段と、
前記取得された印刷ジョブのリストに基づいて、プレビューすべき印刷ジョブを指定する指定手段と、
前記指定された印刷ジョブの画像データが前記画像記憶手段に記憶されている場合は、前記画像記憶手段から当該画像データを読み出し、前記指定された印刷ジョブの画像データが前記サーバ装置に記憶されている場合は、前記サーバ装置から当該画像データをダウンロードする画像取得手段と、
前記画像取得手段により取得された画像データに基づいてプレビュー画像を表示させるよう制御する制御手段と、
を備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ネットワークの構成や稼働状況に応じてどちらの画像記憶手段から記録画像を送信するのかを、ユーザの指定や、クライアントでの所定の条件に応じた自動的な判断によって決定されるので、効率的かつ柔軟なシステムとすることができるという効果がある。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１６】
図１は、本発明のプリントサーバシステムの第１の実施形態の構成を示すブロック図である。図１において、１１は、ＴＣＰ／ＩＰ等のプロトコルによりパソコン、ワークステーション、プリンタなどを接続することが可能なＬＡＮ(local area network)である。１２はパソコン、ワークステーションなどの記録要求を行うクライアント端末である。１３はクライアント端末に付属しているハードディスク等のメモリ装置である。１４、および１５は、１２と同様なクライアント端末であり、これらはハードディスク等のメモリ装置を備えていなくてもよい。
【００１７】
１６はサーバ装置であり１２、１４、１５のクライアント端末がプリント出力要求を行った際に、要求があったことを記憶する手段を有している。１７は１６に付属のハードディスク等のメモリ装置である。１８は１２、１４、１５の各クライアント端末が出力要求した画像を記録出力するプリンタである。
【００１８】
図２は、図１のクライアント端末１２、１４、１５およびサーバ１６それぞれの内部構成を示すブロック図である。２１は各部を接続するシステムバスである。２２は、ＲＯＭやその他の記憶手段に格納されている各種プログラムに基づいてシステムを制御するＣＰＵである。２３は、２２で実行させる制御コード（プリンタドライバ及び印刷制御プログラムを含む）が書き込まれているＲＯＭ、２４はＣＰＵ２２のワークエリア等に用いられるＲＡＭである。
【００１９】
２５は画像管理部であり、クライアント端末ではサーバに対して出力要求を行った場合にＯＳから取得するＥＭＦファイル（中間ファイル）とプリンタドライバにより生成される印刷データとが蓄えられ、サーバではサーバスプーラを使用する場合に各クライアントからの出力要求画像（印刷データとＥＭＦファイル）が蓄えられる。この画像管理部２５が、記録画像を保持するスプーラとして働く部分であり、本実施形態ではこのように各クライアント端末およびサーバがそれぞれ画像管理部を備えている。
【００２０】
２６はジョブ管理部であり、クライアントではサーバから定期的に更新された情報を格納し、サーバでは各クライアントからの印刷要求に応じてジョブ情報が追加され、印刷順序を管理し、プリンタによる印刷出力後に消去される情報を管理する。また、ジョブ管理部２６は、ＬＡＮ１１を介して管理下の複数のプリンタの状況を管理しており、プリンタで印刷出力が可能であると判断した場合に、画像管理部２５でスプールされている印刷ジョブをプリンタに送信したり、印刷の順番の印刷ジョブを依頼したクライアントに印刷データのプリンタへの送信許可を示す送信許可情報の生成等を行う。
【００２１】
２７はユーザによるキーオペレーションを行わせるためのキー入力部である。
【００２２】
２８はジョブ管理の内容等の種々の情報をユーザに表示するＣＲＴ等の表示部である。２９は記録媒体への記録を行う記録部である。２１０はサーバ、クライアント、プリンタとの通信を行う回線制御部であり、ＬＡＮのプロトコルを制御する。
【００２３】
図３は、本実施形態のプリントサーバシステムにおいて、クライアントから画像の記録を要求された際のシーケンスの例を示す図である。この図は、クライアント１２、サーバ１６およびプリンタ１８の各装置で、上側から下側に向かって順次処理が行われることを示している。図中の矢印は、情報が送信されることを示し、枠で囲った部分は各装置での処理を示している。
【００２４】
始めにオペレータの指示により印刷が選択されることにより以下のシーケンス処理が行われる。オペレータの指示により印刷が選択されると、アプリケーションはＯＳの描画手段に対して描画データであるＧＤＩ関数（Graphical Device Interface）を出力する。ＯＳの描画手段は、Ｗｉｎｄｏｗｓ(登録商標) OS（米国マイクロソフトの登録商標）では、Win32APIに相当する。ＯＳの描画手段はアプリケーションから受け取ったＧＤＩ関数に基づいてＤＤＩ関数（Device Driver Interface）を生成してＥＭＦファイルとして出力する。プリンタドライバはＤＤＩ関数を印刷データに変換してプリント用スプーラにスプールしておく。印刷データがすべて生成されると、サーバスプーラの場合はサーバに出力し、クライアントスプールの場合は画像管理部２５に格納しておく。
【００２５】
印刷データが生成されるとクライアント１２は、サーバ１６に対して印刷要求情報を送信する（３０１）。印刷要求情報は、印刷ジョブのドキュメント名、オーナー名、出力先プリンタのポート番号等からなるジョブ情報であり、実際に描画される印刷データは含まれない。サーバ１６は管理しているジョブ情報を追加して、印刷順序を更新し（３０２）確認のメッセージ（印刷要求確認）をクライアント１２へ送る（３０３）。
【００２６】
後で詳述するが、クライアント１２からの印刷要求情報およびサーバが管理するジョブ情報には、プリンタ１８へ画像情報をクライアント１２から送信するか、またはサーバ１６から送信するかを示すデータも含まれている。ここでは、クライアント１２から記録画像データをプリンタ１８へ送信する場合について説明する。
【００２７】
次にクライアント１２は、プリンタドライバにより生成された印刷データ及びＯＳから取得した中間データ（ＥＭＦファイル）をクライアント内の仮想スプーラとして働く画像管理部２５に保存する（３０４）。
【００２８】
サーバ１６は出力先のプリンタ１８の状態を管理し（３０５）する。各クライアントからの印刷要求を整理し、プリンタで出力が可能と状態管理されまで、決められた順序でジョブを実行するよう制御する（３０６）。
【００２９】
印刷要求情報を送信したクライアント１２に印刷順序が回ってくると、プリンタに対して印刷データを送信してよいことを示す送信許可情報をサーバ１６がクライアント１２に対して送信される（３０７）。それに対してクライアント１２は、送信許可情報の確認応答である許可確認情報をサーバ１６に返し（３０８）、印刷データをプリンタに送信する（３０９）。
【００３０】
プリンタ１８は、印刷データを受信すると記録画像の出力を行い（３１０）、送信された印刷データを全て印刷出力すると、プリンタ１８のネットワークボードにより出力終了のメッセージを印刷データ送信元であるクライアント１２に送信する（３１１）。クライアント１２はこのメッセージの受信に対して確認応答メッセージをプリンタ１８に返す（３１２）。
【００３１】
ここでは、プリンタ１８からクライアント１２へ出力終了メッセージが送信され、このメッセージの受信によってクライアント１２がプリンタ１８の記録動作の終了を知るようにしているが、これ以外にも、クライアント１２が３０９で記録画像を送信した後、クライアントがプリンタにポーリングすることによりプリンタ１８の状態を常に監視して、記録動作の終了を知るようにすることもできる。このようにすると、プリンタ１８からのメッセージ３１１およびそれに対する応答メッセージ３１２は不要となる。
【００３２】
その後クライアント１２は、サーバ１６に対して記録終了のメッセージを送り（３１３）、サーバ１６はこれを受信すると管理しているジョブ情報を削除する（３１４）。また、クライアント１２は画像管理部２５で管理している印刷データを消去する（３１５）。そして、この時点でサーバ１６はこのジョブに対する記録履歴を登録する（３１６）。印刷データやジョブ情報は、このタイミングで消去せずに、ステータスを出力終了としてしばらくの間保持していてもよい。
【００３３】
サーバ１６はクライアント１２へ記録終了確認のメッセージを送信し（３１７）、クライアント１２は、このメッセージを受けるとユーザに対して印刷終了通知の表示を行う（３１８）。
【００３４】
上記のシーケンスは、クライアントスプールを行う場合の処理について説明したものである。サーバスプールを行う場合は、印刷データ及びＥＭＦファイルの保存（３０４）はサーバ１６で行なわれることになり、クライアント１２は印刷要求の確認がサーバ１６から通知されると、印刷データ及びＥＭＦファイルをサーバ１６に送信する。サーバ１６はクライアント１２から受信した印刷データ及びＥＭＦファイルをジョブ情報と関係づけて画像管理部２５に格納する。そして、送信許可（３０７）及び送信許可確認（３０８）の処理を行わず、印刷データの送信（３０９）は、サーバ１６からプリンタ１８に対して行われる。プリンタ１８のネットワークボードは出力終了通知（３１１）を印刷データ送信元のサーバ１６に対して行い、出力応答（３１２）もまた、サーバ１６からプリンタ１８に対して行われる。そして、記録が終了した旨を通知する記録終了通知（３１３）はサーバ１６からクライアント１２に対して行われ、ジョブ情報の消去（３１４）と同時に、印刷データの削除（３１５）もまたサーバで行われる。
【００３５】
図４は、図３に示したシーケンスおよびその後の補足により説明したクライアントスプール及びサーバスプールを行う際の、サーバ１６の処理を示すフローチャートである。このフローチャートにおいて、Ｒｅｔｕｒｎと示されている処理は、ステップＳ４１へ戻ることを意味している。
【００３６】
サーバ１６は動作を開始すると、ステップＳ４１に進み、各クライアントまたはプリンタ１８からのコマンドを待つ。コマンドを受信すると、ステップＳ４２へ進み、サーバ１６は、受信したコマンドが印刷要求情報であるか否かを判断する。
【００３７】
受信したコマンドが印刷要求情報でなければステップＳ４３へ進み、クライアントからの記録終了メッセージ（クライアントスプール時）またはプリンタからの出力終了メッセージ（サーバスプール時）であると判断された場合は、処理をステップＳ４５へ進める。ここで、プリンタからの出力終了メッセージは、この処理の前に行われたステップＳ４１０のプリント出力に対する結果を示すメッセージである。ステップＳ４５において、サーバ１６は、出力終了したジョブ情報の消去を行い、サーバスプールの場合はさらにステップＳ４６で印刷データ及びＥＭＦファイルの消去を行う。ステップＳ４６１では、サーバ１６は、記録終了した記録ジョブの履歴をログとして登録する。プリンタ１８へ記録画像をどの端末から送信したかを示すデータもログデータに格納されて登録される。
【００３８】
ステップＳ４７において、サーバ１６は、出力終了したプリンタで次に印刷を行う印刷ジョブを決定するジョブスケジューリングを実行する。ジョブが決定されると、クライアントスプールの場合はステップＳ４８で、サーバ１６は、そのジョブを登録したクライアントへ印刷データをプリンタに送信することが可能なことを示す送信許可情報を送信する。ステップＳ４９では、サーバ１６は、ステップＳ４８で送った送信許可情報に対する応答が返ってくるまでのタイムアウトを監視する。
【００３９】
ステップＳ４８においてサーバスプールの場合、もしくは、ステップＳ４９において送信許可情報に対する応答が規定時間内に受信されない場合は、ステップＳ４１０へ進み、印刷要求を送信したクライアントがダウンしたと判定し、サーバ自身のスプール領域である画像管理部２５で保持する印刷データを直接プリンタへ送信する。送信が終了するとステップＳ４１１で、プリンタの記録が完全に終了したのを待つ。
【００４０】
一方、ステップＳ４９でタイムアウトせずに送信許可情報に対する応答メッセージである送信確認情報を受信すれば、クライアントからの記録終了コマンドを受信するステップＳ４１２へ進む。
【００４１】
またステップＳ４２で受信したコマンドが印刷要求コマンドと判定されると、ステップＳ４１４へ進み、サーバ１６は、印刷データが受け入れ（スプール）可能であるかを判定し、受け入れ可能である場合にはステップＳ４１５へ進み、ジョブを新規追加する。ジョブの新規追加の処理として、サーバ１６は、クライアントから印刷データ及びＥＭＦファイルを受信して画像管理部２５に格納し、ジョブ管理部でジョブ情報を管理させる。そして印刷要求確認通知を記録要求コマンドを送信したクライアントへ返信する。
【００４２】
ステップＳ４１４で画像管理部２５の容量がフルで印刷データ及びＥＭＦファイルのスプールが不可能であると判断された場合には、ステップＳ４１７へ進み、印刷要求情報に対して、印刷データのスプールが不可能であることを示すＮＧメッセージを送信する。なお、ジョブ情報による印刷順序の管理等には支障がないため、クライアントはクライアントスプール処理を行うことにより印刷を続行することになる。よって、ステップＳ４１７では、サーバ１６は、クライアントからの印刷要求情報に従ってジョブ管理部２６により印刷順序の管理を行う。
【００４３】
以上述べたように本実施形態ではスプーラとして働く画像管理部２５をサーバ１６と各クライアントで持つシステムとしているので、ステップＳ４９からＳ４１１へ続く処理に関して説明したように、印刷要求情報を送信したクライアントがダウンした場合でも、サーバ１６がプリンタ１８に対して直接記録画像を送信して記録を実行させ、記録動作が終了したことの確認まで正常に行えるようにしている。
【００４４】
また、これとは逆に、サーバがダウンしているときやサーバの画像管理部２５がメモリフルの場合に、クライアントが自分のスプーラから記録画像を出力させることも、もちろん可能である。
【００４５】
上記説明では、クライアントとサーバの両方の画像管理部２５に印刷データをスプールし、状況に応じてプリンタへの印刷データの送信を相互に補って送信する例を示した。次に、ユーザによりいずれのスプーラを使用するのか指定させて印刷処理する仕組みを説明する。
【００４６】
図５は、記録画像をクライアントおよびサーバのどちらからプリンタへ送信するかをユーザに選択させる画面の表示例である。この画面は、プリンタのポートを設定する際に用いるＯＳにおけるプリンタ登録画面である。
【００４７】
この図では、プリンタに送信する印刷データをサーバでスプールさせる場合を示している。このように、ユーザは稼働状況や使用方法に合わせて、記録画像をクライアントおよびサーバのどちらからプリンタに送信するかを指定することができる。
【００４８】
このようプリンタドライバにおけるプリンタポートの登録時にプリンタへの印刷データ出力をする際にどちらのスプール機能を使用するかを選択できるので、以後の処理ではクライアント及びサーバは、選択された出力先のポートの判断によりいずれのスプール機能が優先使用されるかを判断できる。
【００４９】
また、図５のようなユーザ選択は、印刷指定時にプリンタドライバのプロパティ画面を開いてジョブ毎に設定してもよい。
【００５０】
図６は、サーバ１６のジョブ管理部２６で管理しているジョブのリストをクライアントが取得した際に、クライアントの表示部に表示される表示画面の例を示す図である。ここではＣＲＴ等の画面で登録されたジョブを表示している。この図では、プリンタのキューとして３つの文書が積まれている。表示されている情報として、文書名、記録依頼時刻、クライアント名、文書作成日、記録データがあり、この記録データは記録画像をサーバとクライアントのどちらからプリンタへ送信するかを示している。例えば、「文書１．ｄｏｃ」は、クライアントから記録画像がプリンタに送信されることを示している。またこの図では、マウスなどのポインティングデバイスで文書１が選択された場合を示し、選択されているジョブに対応する各種情報の文字がイタリック体となり強調されている。
【００５１】
図７は、図６に示したジョブが終了した時点での履歴を表わす記録ログの例を示す図である。ログはこの図のようにＣＲＴに表示してもよいし、記録媒体に出力しても良い。ここでの表示項目は図６と同様である。
【００５２】
上記説明した図６及び図７のユーザインタフェース画面は、本印刷制御システムで使用されるクライアント１２のユーティリティソフトウェアによってサーバ１６からジョブリストや印刷ログを取得してクライアント１２のＣＲＴに表示されることになる。このユーティリティソフトウェアは、各クライアントのＲＯＭ（図示省略した外部メモリであってもよい）にプログラムとして格納されており、当該プログラムをＲＡＭ２４に読み出してＣＰＵ２２によって実行することにより、上記処理が実現される。
【００５３】
上記で説明した処理は、本実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、本発明の目的が達成される。
【００５４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、本実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５６】
図８は、本実施形態の機能を実現する記憶媒体に格納される工程の例を示す図である。ここでは、記憶媒体内にはサーバおよびクライアント両方に必要な工程を全て含め、サーバまたはクライアントのどちらで動作するかに対応して、必要な工程のみを実施するように構成している。
【００５７】
また、サーバ１６には、これらの工程に加え、先に説明した（図４に示す）フローチャートに対応するプログラムコードが格納されることになる。
【００５８】
以上説明したように第１の実施形態のプリントサーバシステムによれば、以下のような効果がある。
【００５９】
（１）サーバとクライアント両方でスプーラを持つシステムでどちらのスプーラから記録データをプリンタに送信するのかを、使用方法や稼働状況等を考慮してシステムにとって効率の良い方をユーザが簡単に選択することができる。
【００６０】
（２）どちらのスプーラからのデータをプリンタに送信しているのかを、ＣＲＴ等によって外部に表示することができる。
【００６１】
（３）プリンタの記録ログを残すことができるので、プリンタの稼働状況や使用方法を分析してより効率的なシステムとすることが可能となる。
【００６２】
以上説明したように本発明の第１の実施形態は、クライアントとサーバの両方のスプール機能を使用し、プリンタに印刷データを送信するスプール元としていずれを用いるかを指定させており、指定されたスプール元がダウン等の異状時に限り、残りの装置から印刷データを送信することにより印刷を保証するものである。
【００６３】
以下、本発明のプリントサーバシステムの第２の実施形態について図を参照して説明する。
【００６４】
本発明の第２の実施形態のプリントサーバシステムは、サーバまたはクライアントのどちらか一方のスプール機能だけを選択的に使用できるようにすることを目的としている。
【００６５】
本実施形態のプリントサーバシステムの構成は、図１および図２に示した第１の実施形態と同様であり、基本的動作も図３および図４に示したのとほぼ同様である。図４との違いについてのみ説明する。
【００６６】
サーバ１６はステップＳ４２で印刷要求情報をクライアントより受信すると、印刷要求情報の出力先のポート情報もしくはスプール指定を確認する。スプール指定がある場合は、スプール指定情報がクライアントであるかサーバであるかを確認する。スプール指定情報がクライアントスプールである場合はステップＳ４１５に進み、スプール指定情報がサーバスプールである場合は印刷データ及びＥＭＦファイルをクライアントから受信してステップＳ４１５に処理を進める。
【００６７】
また、スプール指定情報がない場合は、出力先のポートを確認し、サーバにおいて予め設定されているポート情報を確認する。クライアントから指定された出力先のポートに対応するポート情報がクライアントスプール指定になっている場合は、印刷データ等の実際に描画されるべきデータはクライアントの画像管理部がスプールしているので、クライアントからは印刷要求情報に含まれるジョブ情報のみを受け取りステップＳ４１５に処理を進める。一方クライアントから指定された出力先のポートに対応するポート情報がサーバスプール指定になっている場合は、印刷データ等の実際に描画されるべきデータはサーバの画像管理部がスプールすることになるため、クライアントから印刷データ及びＥＭＦファイルを受け取りステップＳ４１５に処理を進める。
【００６８】
またサーバスプール指定となっている場合は、ステップＳ４８においてサーバからプリンタに対して印刷データの送信を行い、プリンタでプリント出力させる。クライアントにおけるタイムアウト等の処理は行わなくなる。
【００６９】
次に、本実施形態でサーバまたはクライアントのどちらか一方のスプール機能だけを選択的に使用する例について説明する。
【００７０】
始めに、ユーザが選択によってどちらのスプール機能を使用するかを指定する場合について説明する。この場合には、図９に示すような画面をＣＲＴに表示し、どちらのスプール機能を使用するかをユーザに選択させる。図示した例ではサーバのスプール機能だけを使用する設定となっている。この画面は、プリンタのポートを設定する際に用いるＯＳにおけるプリンタ登録画面である。このようにプリンタ登録時に設定した内容は同時にサーバ１６に対して送信され、サーバのＲＡＭにプリンタのポート情報として登録される。
【００７１】
また、図９のようないずれのスプール機能を使用するかを選択するユーザインタフェース画面は、印刷指定時にプリンタドライバのプロパティ画面においてユーザがジョブ毎に選択してもよい。
【００７２】
いずれか一方でスプールを行うようにすると、上述のようにそれぞれ長所および短所があるが、このようにどちらのスプール機能を使用するかをユーザが選択できるようにすることにより、記録保証を優先する場合にはサーバのスプール機能を使用し、ＬＡＮのビジー状態解除を優先する場合にはクライアントのスプール機能を使用するなど、稼働状況やユーザの使用方法にあったシステムとすることができる。
【００７３】
以上説明したように本発明の第２の実施形態は、クライアントとサーバのいずれかのスプール機能を使用するかをユーザに指定させており、指定されたスプール機能のみを使用して印刷処理を行うものである。
【００７４】
以下、本発明のプリントサーバシステムの第３の実施形態について図を参照して説明する。
【００７５】
本発明の第３の実施形態のプリントサーバシステムは、第２の実施形態と同様にサーバとクライアントのいずれか一方のスプール機能を使用するが、いずれのスプール機能を使用するかをクライアントで自動的に判断するものである。
【００７６】
図１０は、システムが画像管理部２５の状態に応じて、一方のスプール機能を自動的に使用不可にする場合の動作例を示すフローチャートである。このフローチャートは、クライアントにおいてサーバへ印刷要求を発行する場合の動作を示している。
【００７７】
最初にステップＳ１０１で、クライアントが、サーバに対して印刷要求情報（図３の３０１）を送信するとステップＳ１０２に進み、サーバからの確認メッセージである印刷要求確認情報（図３の３０３）の受信を待つ。サーバからの確認メッセージを受信すると、ステップＳ１０３へ進み、プリンタドライバにおいて記録する画像である印刷データを作成する。また、同時にＯＳにより生成される中間データであるＥＭＦファイルを取得しておく。記録データが作成されると、ステップＳ１０４へ進み、クライアントは、クライアントのスプーラとして働く画像管理部２５のメモリ残量が十分であるか否かを判定する。
【００７８】
ここでメモリ残量が記録画像を記憶するのに十分でない（メモリニアフル）と判定されると、ステップＳ１０５へ進み、クライアントのＣＰＵ２２は、ＲＡＭ２４に格納されているメモリニアフルを示すフラグNearflagをＯＮにして、クライアントのスプーラには記憶しない。そしてステップＳ１０９に進み、クライアントはサーバに対してサーバスプール機能を使用することを示すスプール指定情報とともに印刷データ及びＥＭＦファイルを送信する。サーバではクライアントから受信した印刷データ及びＥＭＦファイルを印刷要求情報と関連付けて画像管理部２５にスプールしておく。
【００７９】
一方、メモリ残量が十分であると判定されると、ステップＳ１０７へ進み、クライアントのＣＰＵ２２は、NearflagをＯＦＦにして、クライアントのスプーラである画像管理部２５に記録画像である印刷データとＥＭＦファイルとを記憶する（図３の３０４）。メモリニアフルの判定に使用するしきい値は、あらかじめ決められた値でもよいし、ユーザにより設定された値でもよい。
【００８０】
クライアントもしくはサーバにおいて印刷データ及びＥＭＦファイルのスプールが終了するとステップＳ１１０に進む。
【００８１】
ステップＳ１１０では、クライアントは、サーバから記録順序が回ってきたことを示す記録開始のメッセージである送信許可情報（図３の３０７）の受信を待つ。記録開始メッセージを受信すると、ステップＳ１１０でNearflagを参照し、ＯＮであればステップＳ１１２へ進み、記録開始に対する応答メッセージにスプールなしのパラメータをセットし、サーバに通知する。このメッセージを受信したサーバは、図４に示したステップＳ４１０の処理と同様に、サーバのスプーラを使用してプリント出力を得る。また、サーバにおいてすでにクライアントがメモリフルで印刷データ及びＥＭＦファイルのスプールがサーバの画像管理部においてのみスプールされていると認識している場合は、クライアントに対して送信許可を出さずに、サーバがプリンタに印刷データの送信を行い、印刷終了通知のみを行ってもよい。
【００８２】
ステップＳ１１１でNearflagがＯＦＦであればステップＳ１１３へ進み、応答メッセージである許可確認情報（図３の３０８）をサーバに送出し、ステップＳ１１４で記録画像である印刷データをクライアントから直接プリンタに送る（図３の３０９）。ステップＳ１１５では印刷ジョブのすべての印刷データをプリンタに送信したかを判断し、すべての印刷データの送信が終了すると、ステップＳ１１６において、プリンタからの出力終了メッセージ（図３の３１１）を待つ。このメッセージの受信後、つまりプリンタで印刷出力が終了すると（ステップＳ１１７）、ステップＳ１１８において、クライアントは、サーバに記録が終了した旨を伝える（図３の３１３）。サーバから記録終了を受け付けた旨の通知を受けると、クライアントは画像管理部２５に格納されている印刷データ及びＥＭＦファイルを削除する。
【００８３】
以上述べたように、本発明の第３の実施形態では、メモリがニアフルであるか否かによってクライアント内のスプーラを使用するか否かが自動的に決定される。クライアントだけでなく、サーバでも同様にスプーラの起動を自動的に設定できるようにしてもよい。またここでは、画像管理部のメモリ残量を例に取り説明したが、これ以外にも装置の設定や使用しているアプリケーション等によってスプーラを使用するか否かを決定するようにしてもよい。
【００８４】
上記で説明したように本発明の第３の実施形態は、クライアントとサーバの両方のスプール機能を使用可能な状態にしておき、クライアントのシステムにおいて自動的にいずれのスプール機能を使用させるかを判断させ、より適したスプール機能を使用するものである。
【００８５】
以下、本発明のプリントサーバシステムの第４の実施形態について図を参照して説明する。
【００８６】
本発明の第４の実施形態のプリントサーバシステムは、サーバまたはクライアントのスプール機能のどちらからも記録すべきドキュメントの内容をクライアントでプレビューできるようにすることを目的としている。
【００８７】
本実施形態のプリントサーバシステムの構成は、図１および図２に示した第１の実施形態と同様である。
【００８８】
以下、本実施形態のプリントサーバシステムで、サーバまたはクライアントにスプールされている記録画像をプレビューする場合について説明する。
【００８９】
図１１は、サーバで管理している記録ジョブを表示しているマネージャーの表示画面の例である。このユーザインタフェース画面は前述したクライアントのユーティリティソフトウェアによって表示制御され、サーバにアクセスしてジョブリスト情報を取得することにより、サーバで管理されている印刷ジョブの一覧表示を行っている。ここでは、クライアントから記録画像のプレビューを指示する場合の例を示す。画面に表示されている情報は、サーバが管理している情報であり、プリンタのキューに３つの文書が積まれている。図中のクライアント名に示されている番号が表わしているように、別のクライアントが記録指示したものも含んでいる。
【００９０】
この画面では、マウスカーソルで文書１が選択されており、この状態からプレビュー機能を起動させることが可能である。プレビュー機能とは、この表示画面に、記録する文書の概略を表示させるものである。
【００９１】
図１２は、クライアント側で、プレビュー機能が起動された際の動作を示すフローチャートである。上述したクライアントのユーティリティソフトウェアがネットワークを介してサーバと通信し、サーバから取得されるジョブリストに基づいて図１１のユーザインタフェース画面をクライアントの表示部に表示させる。このユーザインタフェース画面において、ユーザがジョブを選択してＯＫボタン１１０１をマウス等のポインティングデバイスによりクリックすることにより本処理は実行される。
【００９２】
まず、ステップＳ１２１で、クライアントは、図１１のユーザインタフェース画面で選択されたジョブの印刷データ及びＥＭＦファイルが当該クライアントの画像管理部に存在するか否かを判定する。クライアントによりクライアントの画像管理部に印刷データ及びＥＭＦファイルが存在しないと判断された場合にはステップＳ１２２へ進む。ステップＳ１２２において、クライアントは、サーバからＥＭＦファイルをダウンロードして画像管理部に格納する。そしてステップＳ１２３で、クライアントは、クライアントの画像管理部のＥＭＦファイルを読み出し、ＯＳで提供されている描画手段であるWin32APIにＥＭＦファイルを渡す。そしてWin32APIにＥＭＦファイルの表示出力を実行させ、表示部にプレビュー画像を表示する。
【００９３】
このように、サーバとクライアントの両方にスプーラが存在する場合、プレビュー起動時に画像が指定されたクライアント内部に存在すれば、サーバから記録画像をダウンロードするのに要する時間を省略することが可能となる。
【００９４】
本第２〜第４の実施形態でも第１の実施形態と同様に、機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行するように構成してもよい。
【００９５】
図１３は、第２〜第４の実施形態の機能を実現する記憶媒体に格納される工程の例を示す図である。ここでは、記憶媒体内にはサーバおよびクライアント両方に必要な工程を全て含め、サーバまたはクライアントのどちらで動作するかに対応して、必要な工程のみを実施するように構成している。
【００９６】
以上説明したように第２〜第４の実施形態のプリントサーバシステムによれば、以下のような効果がある。
【００９７】
（１）サーバとクライアントの両方にスプーラを備えているので、一方に障害が発生しても記録の保証ができる。
【００９８】
（２）サーバとクライアントで各々スプールを行うか否かをユーザが設定できるので、ユーザの要求に応じた使い勝手の良いシステムとすることができる。
【００９９】
（３）サーバとクライアントの両方にスプーラを備えている状態で、各クライアントでメモリフルなどの異常を検出した時に、自らのスプール機能を使用しないように自動的に設定して、メモリフルなどの障害発生時にもユーザの手を煩わすことなく適するスプール機能を使用するような対応が可能となる。
【０１００】
（４）スプール機能を使用する際に印刷データだけでなく中間ファイル（Ｗｉｎｄｏｗｓ(登録商標) OSにおけるＥＭＦファイル）を保存しておくことにより、各クライアントのＯＳの機能を用いるためプレビュー表示することが容易になり、更に、各クライアントでジョブのプレビュー機能を行う際に、自端末で中間ファイルをスプールしていればサーバからのダウンロードが不要となり、ＬＡＮのトラフィックを減らして、ＬＡＮの効率的な運用が可能となる。
【図面の簡単な説明】
【０１０１】
【図１】本発明のプリントサーバシステムの構成を示す図である。
【図２】図１のサーバおよびクライアント各々の内部構成を示す図である。
【図３】クライアントから画像の記録を要求された際のサーバのシーケンスを示す図である。
【図４】図３に示したシーケンスに対応するサーバの処理を示すフローチャートである。
【図５】記録画像をクライアントおよびサーバのどちらからプリンタへ送信するかを選択する画面の表示例である。
【図６】サーバが管理しているジョブの表示画面の例を示す図である。
【図７】ジョブが終了した時点での履歴を表わす記録ログの例を示す図である。
【図８】第１の実施形態を実現する記憶媒体に格納される工程の例を示す図である。
【図９】ユーザがどちらのスプール機能を使用するかを指定する表示画面の例である。
【図１０】システムが一方のスプール機能を自動的に使用不可にする動作のフローチャートである。
【図１１】サーバで管理している記録ジョブの表示画面の例である。
【図１２】プレビュー機能が起動された際の動作を示すフローチャートである。
【図１３】第２の実施形態を実現する記憶媒体に格納される工程の例を示す図である。
【符号の説明】
【０１０２】
１１  ＬＡＮ
１２，１４，１５  クライアント
１３，１７  ハードディスク
１６  サーバ
１８  プリンタ
【図１】
2008181529.tif 000003
【図２】
2008181529.tif 000004
【図３】
2008181529.tif 000005
【図４】
2008181529.tif 000006
【図５】
2008181529.tif 000007
【図６】
2008181529.tif 000008
【図７】
2008181529.tif 000009
【図８】
2008181529.tif 000010
【図９】
2008181529.tif 000011
【図１０】
2008181529.tif 000012
【図１１】
2008181529.tif 000013
【図１２】
2008181529.tif 000014
【図１３】
2008181529.tif 000015