データ処理システム、印刷制御方法、プログラムおよび記録媒体
【課題】 自動振り分けを行うシステムにおいて、ユーザ端末で出力先やエラー情報を表示できるシステムや方法を提供する。
【解決手段】 このシステムは、サーバコンポーネント40とクライアントコンポーネント30から構成される。サーバコンポーネント40は、アプリケーション50からの印刷要求から中間データを生成する仮想プリンタドライバ41と、その中間データを設定ファイルと照合し、出力先のプリンタ52を決定する出力先決定部43と、出力先を通知する振り分け制御部44と、通知された出力先に従って、画像データをプリンタ52の1つへ送信する振り分け部45とを含む。クライアントコンポーネント30は、クライアントコンピュータの画面上に出力先を表示させる振り分け先情報受信部33と、出力先のジョブ処理状況を監視し、その状況を通知する印刷ジョブ監視部34と、通知された状況を画面上に表示させる印刷ジョブ監視制御部32とを含む。
【解決手段】 このシステムは、サーバコンポーネント40とクライアントコンポーネント30から構成される。サーバコンポーネント40は、アプリケーション50からの印刷要求から中間データを生成する仮想プリンタドライバ41と、その中間データを設定ファイルと照合し、出力先のプリンタ52を決定する出力先決定部43と、出力先を通知する振り分け制御部44と、通知された出力先に従って、画像データをプリンタ52の1つへ送信する振り分け部45とを含む。クライアントコンポーネント30は、クライアントコンピュータの画面上に出力先を表示させる振り分け先情報受信部33と、出力先のジョブ処理状況を監視し、その状況を通知する印刷ジョブ監視部34と、通知された状況を画面上に表示させる印刷ジョブ監視制御部32とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、出力データを各出力先へ自動振り分けするデータ処理システム、印刷制御方法、その方法を実現するためのコンピュータ可読なプログラムおよび記録媒体に関する。
【背景技術】
【0002】
ネットワーク技術の普及により、複数のPCやプリンタをネットワークに接続してネットワーク環境を構築し、プリンタを共有することができるようにされている。このプリンタを共有するために、複数のPCから同時に印刷要求が送信されても、これを適切に処理し、プリンタが順序良く印刷を実行するように印刷処理を管理するためのプリンタサーバが設けられている。
【0003】
各PCは、文書等を作成するためのアプリケーションを実装するが、そのアプリケーションにより作成されたデータを印刷出力する際、プリンタが使用する形式へ変換する必要があり、この変換するソフトウェアとしてプリンタドライバが用いられる。従来において、このプリンタドライバは、CD−ROM等の記録媒体に格納され、ユーザが手動で各PCにインストールしていた。
【0004】
近年では、ユーザが手動でプリンタドライバをインストールしなくても、ネットワークプリンタへの接続を作成し、そのネットワークプリンタで印刷できるようにするポイントアンドプリント機能が提供されるようになってきている。
【0005】
ポイントアンドプリントでは、ユーザが使用するPCとプリンタサーバとの間の接続を、その種類に応じて、リモートプロシージャコール(RPC)接続またはサーバメッセージブロック(SMB)接続のいずれかにより実行する。接続を確立すると、クライアントとサーバの種類に応じて、RPC接続またはSMB接続が作成され、プリンタサーバから必要なファイルや構成情報が自動的にPCへダウンロードされる。
【0006】
RPC接続により接続されたPCが、プリンタサーバにより管理されるプリンタで印刷を行う場合、PCは、印刷ジョブをローカル環境でレンダリングを行わず、その印刷ジョブを拡張メタファイル(EMF)形式でプリンタサーバへ送り、プリンタサーバでプリンタが使用する形式へ変換する。
【0007】
これに対し、SMB接続により接続されたPCが、プリンタサーバにより管理されるプリンタで印刷を行う場合、プリンタサーバからPCへプリンタドライバがダウンロードされ、印刷ジョブ全体をローカル環境でレンダリングし、プリンタが使用する形式(RAW形式)のデータをプリンタサーバへ送信する。この形式のデータは、直接印刷することができることから、プリンタサーバでの処理がほとんど必要とされない。
【0008】
ところで、ネットワークに接続されたPCでは、印刷出力を指令する際のプリンタダイアログに、UPnPやBonjour等のプラグアンドプレイ技術の進歩により、ネットワーク上に接続され、このPCがアクセス可能な複数のプリンタが選択可能に表示される。このため、ユーザは、この表示されたプリンタの中で使用したいプリンタをクリックする等して選択し、印刷出力を指令することにより、そのプリンタで印刷することができる。
【0009】
このような選択方式では、出力先プリンタの指定を間違えて指令する場合が想定される。近年のPC、プリンタサーバおよびプリンタの印刷処理能力の向上に伴い、プリンタが使用する形式への変換が高速化しており、一旦印刷出力を指令すると、その後にキャンセル指令を行ったとしても、プリンタキューに残されているデータを除き、誤った出力先プリンタで出力されてしまうことがありうる。個人情報や高度な機密性を有する文書ファイルを扱うユーザにとっては、このような誤った出力先を指令すると、重大な問題を生じさせることになる。
【0010】
そこで、情報処理装置のプリンタ出力設定にかかわらず、情報処理装置やその情報処理装置にアクセスするユーザに関連付けて出力先プリンタとして設定された出力先に対して出力を可能にする情報処理装置、ネットワークプリントシステムが提案されている(例えば、特許文献1参照)。
【0011】
この情報処理装置は、仮想プリンタドライバを含んで構成され、仮想プリンタドライバが、ネットワークを介して出力するべき情報を取得し、取得した情報から出力要求元識別値を抽出し、その識別値に紐付けられた出力先を選択して、出力先でデフォルト出力先を書き換える。そして、出力先に対応したリモートドライバを呼び出し、その出力先に適合したフォーマットの出力データへ変換し、その出力先へ送付する。送付した後は、出力先の出力ステータスを監視し、出力エラーが発生した場合、出力エラーの発生を通知する。
【発明の概要】
【発明が解決しようとする課題】
【0012】
従来の上記情報処理装置は、出力先を選択し、書き換えることから、出力先を決定する機能を有し、その決定された出力先に基づき出力データを振り分けることから、自動振り分けする機能を有し、出力ステータスを監視し、エラーが発生した場合にその旨を通知することから、印刷ジョブを監視する機能を有している。このため、この装置は、仮想プリンタドライバが、リモートドライバを呼び出してRAWデータを作成させ、コマンドを追加して出力データを生成させた後、出力先を決定する機能により、出力先のリモートプリンタを決定し、振り分けする機能により、決定された出力先のリモートプリンタを管理するプリンタサーバへ出力データを送付して、リモートプリンタにより印刷出力を実行させ、印刷ジョブを監視する機能により、リモートプリンタの印刷ジョブの状態を監視するものとされている。
【0013】
このような従来の構成では、ネットワークに接続された情報処理装置が出力先を決定し、その出力先に基づきデータを出力し、その後、出力先の印刷ジョブ状態を監視してエラーが発生した場合にエラーを通知することから、ユーザが使用する端末の画面上に、エラーの発生を表示させることはできる。しかしながら、情報処理装置においてレンダリングを行っている間は、振り分けする機能や印刷ジョブを監視する機能を起動させることはできない。このため、レンダリングや振り分けする機能を起動している間は、エラー情報をユーザ端末の画面上に表示させることはできない。また、どのプリンタに出力されるのかを通知する機能を有しないため、出力先をその画面上に表示させることもできない。
【0014】
また、ポイントアンドプリント機能を利用してユーザ端末にプリンタドライバをインストールし、そのプリンタドライバを利用して描画処理を行った場合、情報処理装置の仮想プリンタドライバで描画処理を行わないことから当該仮想プリンタドライバが振り分けする機能を起動させることができず、適切に自動振り分けを行うことはできない。
【0015】
そこで、どのプリンタで出力しているかを表示させることができ、どのような内容のエラーが発生したのかを随時クライアント側で知ることができるシステムや、その方法の提供が望まれていた。また、クライアント−サーバシステムのサーバ側の負荷を軽減したいときに、クライアント側で描画処理を行う場合であっても、自動振り分けを実現することができるシステムや、その方法の提供も望まれていた。
【課題を解決するための手段】
【0016】
本発明は、上記課題に鑑み、クライアントコンピュータからの印刷指示を受けてアプリケーション実行手段が出力した印刷要求を受信し、ネットワークに接続される印刷装置を選択して印刷を実行させるデータ処理システムが提供される。このシステムは、サーバコンポーネントと、クライアントコンポーネントとから構成される。
【0017】
サーバコンポーネントは、その印刷要求を受信し、印刷要求に含まれる文書データから各ページの画像データを生成し、印刷要求から印刷設定情報およびクライアントコンピュータのシステム情報を抽出し、画像データと印刷設定情報とシステム情報とから構成される中間データを生成する仮想プリンタドライバ手段と、印刷設定情報およびシステム情報の少なくとも1つの情報と各印刷装置とを対応付けた設定ファイルを保持し、生成された中間データに含まれる印刷設定情報およびシステム情報と設定ファイルとを照合し、出力先となる印刷装置を決定する出力先決定手段と、決定された出力先と中間データを構成する画像データとを取得し、出力先を通知するとともに画像データを出力する振り分け制御手段と、通知された出力先に従って、出力された画像データを、印刷装置の1つへ送信する振り分け手段とを含む。
【0018】
クライアントコンポーネントは、決定された出力先の情報を振り分け手段から受信して、クライアントコンピュータの画面上に表示させる振り分け先情報受信手段と、出力先の印刷装置のジョブ処理状況を監視し、当該ジョブ処理状況を通知する印刷ジョブ監視手段と、印刷ジョブ監視手段を起動し、当該印刷ジョブ監視手段が通知したジョブ処理状況をクライアントコンピュータの画面上に表示させる印刷ジョブ監視制御手段とを含む。
【0019】
このように、2つのコンポーネントに分けることで、それぞれの手段を別個に起動させることができ、サーバコンポーネントでレンダリングを行っている間であっても、クライアントコンポーネントで印刷ジョブの監視を実行し、エラーが発生した場合にはエラー情報を画面上に表示させることができ、また、出力先の情報も、受信してすぐに画面上に表示させることができる。1つの例では、ユーザが使用するクライアントコンピュータにクライアントコンポーネントを実装し、プリンタサーバにサーバコンポーネントを実装することができる。
【0020】
仮想プリンタドライバ手段は、クライアントコンポーネントに実装することもでき、この場合、クライアントコンポーネントは、生成された中間データを振り分け制御手段へ転送する中間データ中継手段をさらに含む構成とされる。これにより、クライアント側で描画処理を行う場合であっても、描画処理済みデータを転送して自動振り分けを実現することができる。
【0021】
印刷ジョブ監視制御手段は、印刷が終了した旨とともに、出力先の情報をクライアントコンピュータの画面上に表示させることができる。これにより、ユーザは、どの印刷装置で出力されたのかをクライアント上で知ることができる。
【0022】
また、印刷ジョブ監視手段は、ジョブ処理中に印刷装置でエラーが発生した場合に、当該印刷装置からエラー情報を取得し、印刷ジョブ監視制御手段へ当該エラー情報を通知し、印刷ジョブ監視制御手段は、エラー情報をクライアントコンピュータの画面上に表示させることができる。これにより、出力先の印刷装置でどのようなエラーが発生したかを知ることができる。
【0023】
出力先決定手段は、上記のようにして照合した結果、該当する出力先が得られない場合、振り分け先情報受信手段にその旨を通知し、振り分け先情報受信手段が、クライアントコンピュータの画面上に出力先の印刷装置を選択させる選択画面を表示させることができる。また、ユーザによる印刷装置の選択に応答して、振り分け先情報受信手段は、印刷ジョブ監視制御手段に選択された印刷装置の情報を送り、印刷ジョブ監視手段に選択された印刷装置を監視させるとともに、出力先決定手段にその情報を送って、選択された印刷装置を出力先となる印刷装置として決定することができる。これにより、出力先が得られない場合であっても、ユーザが印刷装置を選択し、その選択した印刷装置により印刷を行い、その印刷装置のジョブ処理状況をクライアントコンピュータで監視することができる。
【0024】
出力先決定手段は、印刷中止の指示を受け付けたことに応答して、振り分け制御手段を介して振り分け先情報受信手段に印刷中止を通知し、振り分け先情報受信手段がクライアントコンピュータの画面上に印刷を中止した旨を表示させる。仮想プリンタドライバ手段がサーバコンポーネントに実装される場合は振り分け制御手段が、クライアントコンポーネントに実装される場合は振り分け先情報受信手段が、当該仮想プリンタドライバ手段に印刷を中止したことを通知して、前記中間データを削除する。クライアントコンピュータの画面上に印刷が中止されたことを表示することで、実際に中止されたことを確認することができ、また、不要になった中間データを削除することで、メモリ使用量を削減することができる。
【0025】
上記では、出力先決定手段は、印刷設定情報については書き換えることなく、決定した出力先の情報のみを振り分け制御手段へ通知するが、印刷設定情報を設定ファイルの内容に書き換えて、出力先の情報とともに通知することも可能である。このため、設定ファイルの内容で書き換えられた印刷設定情報に基づき、印刷を実行することができる。
【0026】
本発明では、上記のデータ処理システムのほか、このデータ処理システムにより実行される印刷制御方法、その方法を実行するためのコンピュータ可読なプログラム、このプログラムを記録した記録媒体も提供することができる。
【図面の簡単な説明】
【0027】
【図1】本発明のデータ処理装置を含むプリンタネットワークの実施形態を示した図。
【図2】本発明のデータ処理装置の1つの構成例を示した機能ブロック図。
【図3】データ処理装置の別の構成例を示した機能ブロック図。
【図4】図2に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図5】図2に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図6】図2に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図7】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図8】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図9】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図10】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図11】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図12】出力先決定部で使用される設定ファイルの構成を例示した図。
【図13】クライアントコンピュータの画面上に表示された振り分け結果を例示した図。
【図14】画面上に表示されたエラー情報を例示した図。
【図15】画面上に表示されたプリンタ選択ダイアログを例示した図。
【図16】画面上に表示されたキャンセルダイアログを例示した図。
【発明を実施するための形態】
【0028】
図1は、本発明のデータ処理システムを含むプリンタネットワークの実施形態を示した図である。プリンタネットワーク10は、オフィス等に配置される複数のクライアントコンピュータ11〜14がネットワーク15に接続されて構成されている。また、ネットワーク15には、サーバコンピュータ16が接続され、各クライアントコンピュータ11〜14からの印刷要求を処理するように構成されている。ネットワーク15には、さらに、MFP(Multi Function Peripheral)17、レーザプリンタ18、19、インクジェットプリンタ20等がリモートプリンタとして接続されている。
【0029】
クライアントコンピュータ11〜14およびサーバコンピュータ16は、それぞれが、シングルコア、マルチコアのCPU、ROM、実行空間を提供するRAM、ハードディスク装置、ネットワーク15に接続するためのネットワークインタフェース(NIC)等を含み、Windows(登録商標)といったオペレーティングシステム(OS)による制御の下、各種処理を実行する。クライアントコンピュータ11〜14は、そのほか、入力装置としてキーボードやマウスを備え、表示装置として液晶ディスプレイを備える。
【0030】
クライアントコンピュータ11〜14は、それぞれがアプリケーションプログラムを実装し、各種処理を完結するパーソナルコンピュータやワークステーション等から構成することができる。クライアントコンピュータ11〜14は、ハードディスク装置等からアプリケーションプログラムやデータをRAMに読み込み、CPUがそのアプリケーションプログラムを実行することにより、文書、イメージ、マルチメディア、これらが複合的に組み合わされた電子的データとして印刷対象とする文書ファイルを生成し、各リモートプリンタへと印刷処理を依頼することができる。ここでは、クライアントコンピュータ11〜14がアプリケーションプログラムを実装し、文書ファイルを生成する構成としているが、サービス要求を発行して、別途設けられるアプリケーションサーバ等に実行させ、処理結果を受領して印刷出力を依頼する機能のみを実装する、いわゆるシンクライアントとして構成されていてもよい。
【0031】
ネットワーク15は、1000Base−TX等のイーサネット(登録商標)、光ネットワーク、IEEE802.11等の規格の無線ネットワークを含んで構成することができ、フレームまたはTCP/IPプロトコルに基づくパケット通信によって、相互通信を行うことができる。ネットワーク15は、LAN(Local Area Network)、VPN(Virtual Private Network)等によるセキュア環境下でインターネット等の広域ネットワークを含んで構成されてもよい。
【0032】
サーバコンピュータ16は、クライアントコンピュータ11〜14からの印刷要求を受領し、各種条件に応じて、適切な出力先とするリモートプリンタを決定し、印刷データを自動振り分けする処理を行う。サーバコンピュータ16は、リモートプリンタを管理するプリンタサーバの機能を有し、リモートプリンタが解釈可能なコマンドを生成するプリンタドライバを実装し、当該コマンドを決定されたリモートプリンタへ出力し、印刷を実行させる。ここではサーバコンピュータ16がプリンタサーバの機能を有する構成としたが、プリンタサーバを別途設けてもよい。
【0033】
クライアントコンピュータ11〜14は、ポイントアンドプリント機能によりサーバコンピュータ16との間の接続を確立する。これらの間の接続は、上述したRPC接続やSMB接続により確立することができる。これらは、クライアントコンピュータ11〜14からサーバコンピュータ16へ要求メッセージ等を送信し、サーバコンピュータ16が応答を返すことにより確立することができ、クライアントコンピュータにおいて、例えばファイル名を指定して実行することにより、また、同一のワーキンググループあるいは同一のドメインに含まれるコンピュータを一覧するNet Viewコマンドを使用して、接続を確立することができる。なお、クライアントコンピュータ11〜14とサーバコンピュータ16との間は、RDP(Remote Desktop Protocol)等の適切な遠隔接続プロトコルを使用して通信を行うことができる。
【0034】
ユーザは、クライアントコンピュータ11〜14の1つを利用し、それに実装されているアプリケーションプログラムを使用して文書を作成することができ、その作成した文書を印刷したい場合、アプリケーションプログラムを起動して印刷設定を行い、印刷設定情報と文書データとを含めて印刷要求を作成する。ここで、印刷設定情報としては、例えば、用紙の種類、用紙のサイズ、用紙の向き、枚数、フォント、カラーまたはモノクロ印刷、印刷倍率、両面印刷の有無、集約印刷の有無、行数、列数、フォントサイズ等が挙げられる。
【0035】
実際には、アプリケーションプログラムを実行するCPUが、アプリケーション実行手段として機能し、この手段が、上記の文書データおよび印刷設定情報、さらには、クライアントコンピュータ11〜14のIPアドレス、MACアドレス、そのクライアントコンピュータに付されたコンピュータ名、サービスを利用する際にユーザが入力するユーザ名等のシステム情報を含めて印刷要求を作成し、その印刷要求を、後述するサーバ側でレンダリングを行う場合はサーバコンピュータ16へ送信する。クライアント側でレンダリングを行う場合は、クライアントコンピュータ11〜14が備える、後述する仮想プリンタドライバへ送る。
【0036】
クライアントコンピュータ11〜14は、アプリケーションプログラムのほか、仮想プリンタドライバやその他の必要な機能を有するように構成される。これらの機能は、クライアントコンポーネントとして実装され、出力先がどのリモートプリンタであるかという情報の通知を受領し、また、各リモートプリンタとの間で通信を行い、各リモートプリンタのジョブ処理状況を監視して、その出力先の情報およびどのようなエラーが発生したかという情報をクライアントコンピュータ11〜14の画面上に表示させることを可能にする。また、クライアントコンピュータ11〜14でレンダリングを行う場合、クランアントコンポーネントは、レンダリングした文書をページ単位で切り出し、それを中間画像とし、その中間画像の画像データを、印刷設定情報およびシステム情報とともに中間データとしてサーバコンピュータ16へ転送する。
【0037】
サーバコンピュータ16は、プリンタサーバの機能のほか、仮想プリンタドライバやその他の必要な機能を有するように構成される。この仮想プリンタドライバおよび必要な機能は、サーバコンポーネントとして実装され、文書データを受領した場合にレンダリングを行い、中間画像の画像データを生成し、受領した印刷設定情報およびシステム情報から出力先を決定し、その出力先へ画像データを送信する。ここでは、サーバコンピュータ16がプリンタサーバの機能を有することから、プリンタが解釈可能なコマンドを生成し、そのコマンドを画像データに追加して出力先のプリンタへ出力する。
【0038】
サーバコンピュータ16は、クライアントコンピュータ11〜14でレンダリングを行い、中間データを転送する場合、サーバコンポーネントでレンダリングを行うことなく、転送された中間データを受け取り、その中間データから出力先を決定し、その出力先へ画像データを送信する。サーバコンポーネントは、クライアントコンピュータ11〜14の画面上に出力先を表示させるために、決定した出力先の情報をクライアントコンポーネントへ送信する。
【0039】
本発明のデータ処理装置は、上記のクライアントコンポーネントと、上記のサーバコンポーネントとから構成されるものであり、これらの機能は、クライアントコンピュータ11〜14およびサーバコンピュータ16が備えるRAM等にプログラムを読み込み、CPUがそのプログラムを実行することにより、各コンピュータ上に各機能手段として実現される。
【0040】
リモートプリンタは、ネットワークインタフェース(NIC)を実装し、サーバコンピュータ16から受け取ったコマンドを、ネットワーク15を介して受信し、印刷ジョブを実行する。なお、MFP17は、ネットワークボードでネットワーク15に接続されたリモートプリンタとして実装することもできるし、プリント機能するほか、プリンタサーバの機能を含んで実装することも可能である。
【0041】
クライアントコンピュータ11〜14につき、どのリモートプリンタを出力先として選択するかは、印刷枚数等の印刷設定情報や、ユーザ名やIPアドレスといったシステム情報により選択することができ、これらの情報を以下に説明する設定ファイルとしてサーバコンポーネントが保持し、照合時に使用することができる。
【0042】
図2は、データ処理システムの1つの構成例を示した機能ブロック図である。データ処理システムは、クライアントコンポーネントと、サーバコンポーネントとから構成され、クライアントコンポーネントがクライアントコンピュータ11〜14に、サーバコンポーネントがサーバコンピュータ16にそれぞれ実装される。この図2は、ポイントアンドプリント機能を利用し、RPC接続を行って印刷を実行するシステムの構成例を示した図である。以下、クライアントコンピュータ11〜14のうち、ユーザが使用するものをクライアントコンピュータ11として説明を行う。
【0043】
このデータ処理システムは、クライアントコンポーネント30に、仮想プリンタドライバ31、印刷ジョブ監視制御部32、振り分け先情報受信部33、複数の印刷ジョブ監視部34を含み、サーバコンポーネント40に、仮想プリンタドライバ41、中間データ保存部42、出力先決定部43、振り分け制御部44、複数の振り分け部45を含んで構成されている。ここでは、各部として説明しているが、これらは各手段として機能するものである。
【0044】
図2には、データ処理システムには含まれないアプリケーション実行手段としてのアプリケーション50、各々が複数の振り分け部45の各々に対応した複数のプリントキュー51、各々が各プリントキュー51に対応した複数のプリンタ52が示されている。アプリケーション50は、クライアントコンピュータ11に実装されていてもよいし、上述したアプリケーションサーバに実装されるものであってもよい。
【0045】
上述した従来の情報処理装置では、仮想プリンタドライバ、出力先決定部、振り分け部、印刷ジョブ監視部から構成されていたが、ポイントアンドプリント機能を使用した印刷では、仮想プリンタドライバによる処理が、従来の仮想プリンタドライバによる処理とは異なることから、従来の構成ではポイントアンドプリント機能を使用することができない。このため、本発明のように、2つのコンポーネントに分け、各コンポーネントをクライアントコンピュータ11およびサーバコンピュータ16にそれぞれ実装して、ポイントアンドプリント機能の使用を実現する。
【0046】
図2に示す構成を採用するデータ処理システムで行われる処理は、サーバサイドレンダリングと呼ばれ、Windows(登録商標)のポイントアンドプリント機能を使用した際の印刷方式の1つである。この印刷方式は、プリンタドライバの描画処理をポイントアンドプリント機能におけるサーバ上で行う方式である。このサーバサイドレンダリング時は、プリンタドライバ、ここでは仮想プリンタドライバによる描画処理がサーバ上で行われ、振り分け部が提供する振り分け機能や、印刷ジョブ監視部が提供する印刷ジョブ監視機能を1つの端末やサーバの中で起動することができなくなることから、本発明では、これらを分け、それぞれを別の装置に実装する。これにより、クライアントコンピュータ11では、アプリケーション50からの印刷要求のタイミングで仮想プリンタドライバ31が印刷ジョブ監視制御部32および振り分け先情報受信部33を起動し、サーバコンピュータ16上で行われる描画処理や振り分け処理に対し、正しく出力先の情報を受信したり、プリンタの監視を行うことができるように準備しておくことができる。
【0047】
このデータ処理システムにおける処理は、アプリケーション50から印刷要求が送られると、OSによってクライアントコンポーネント30の仮想プリンタドライバ31が起動され、全体の処理が開始される。
【0048】
サーバコンポーネント40の仮想プリンタドライバ41は、クライアントコンポーネント30の仮想プリンタドライバ31の処理が終了したことを受けて、サーバコンピュータ16に実装されるOSによって起動される。
【0049】
クライアントコンポーネント30およびサーバコンポーネント40には、それぞれ仮想プリンタドライバ31、41が設けられるが、それぞれで動作が異なる。クライアントコンポーネント30の仮想プリンタドライバ31は、クライアントコンピュータ11に実装されるOSによって起動された後、印刷ジョブ監視制御部32と振り分け先情報受信部33が起動していない場合には、それらを起動する。これに対し、サーバコンポーネント40の仮想プリンタドライバ41は、印刷要求に含まれる文書データから各ページの画像データである中間画像の画像データを生成し、印刷要求に含まれる印刷設定情報およびシステム情報とともに中間データを構成して出力する。
【0050】
すなわち、サーバコンポーネント40の仮想プリンタドライバ41は、従来の装置の仮想プリンタドライバと同様、アプリケーション50から印刷要求があった文書をページ単位で中間画像の画像データとして中間データ保存部42に保存し、文書名や印刷設定を印刷設定情報として中間データ保存部42に保存し、この処理を実行させているユーザの情報としてユーザ名や、使用しているクライアントコンピュータの端末名(ホスト名)、IPアドレス、MACアドレス等をシステム情報として、同じく中間データ保存部42に保存する。また、この仮想プリンタドライバ41は、振り分け制御部44に対し、振り分け指示を行い、この振り分け制御部44が起動していない場合には起動させる。
【0051】
振り分け制御部44は、仮想プリンタドライバ41が出力した中間データを転送するために、複数の振り分け部45を起動させ、所望の振り分け部45に対して中間データの保存場所を通知する。また、振り分け制御部44は、出力先を決定するために、出力先決定部43を呼び出し、出力先決定部43が返信した出力先のアドレスを所望の振り分け部45に送る。
【0052】
出力先決定部43は、仮想プリンタドライバ41が生成した中間データの印刷設定情報およびシステム情報と、予め設定しておいた情報とを照合し、条件に合致する出力先を決定して振り分け制御部44に返信する。例えば、予めユーザ名「Taro」から指示された印刷はプリンタAから出力する、という設定をしておいた場合、印刷時、出力先決定部43は、振り分け制御部44から呼び出され、呼び出された出力先決定部43がシステム情報内を確認して、どのユーザから印刷されたのかを判断し、事前に設定しておいた条件と照らし合わせ、出力先であるプリンタ52に対応したプリントキュー51のアドレスを振り分け制御部44に返信する。
【0053】
複数の振り分け部45は、振り分け制御部44により起動され、仮想プリンタドライバ41が生成した中間データの中間画像の画像データを、印刷設定情報の印刷設定に従って、振り分け制御部44から通知された出力先に出力する。また、出力先から、実際に印刷しているプリンタの情報、例えばIPアドレス等を取得し、振り分け先情報受信部33にその情報を送る。
【0054】
振り分け先情報受信部33は、サーバコンポーネント40にある振り分け部45から出力先の情報を受信する。そして、振り分け先情報受信部33は、受信した出力先の情報を印刷ジョブ監視制御部32に送る。
【0055】
印刷ジョブ監視制御部32は、仮想プリンタドライバ31によって起動され、振り分け先情報受信部33から中間画像の出力先の情報を受け取る。印刷ジョブ監視制御部32は、出力先のプリンタ52を監視する印刷ジョブ監視部34を起動させ、出力先のプリンタ52の情報を印刷ジョブ監視部34に送る。
【0056】
印刷ジョブ監視部34は、印刷ジョブ監視制御部32によって起動され、印刷ジョブ監視制御部32からの通知を受けて、監視すべき出力先のプリンタ52を特定する。印刷ジョブ監視部34は、監視すべきプリンタ52からプリンタ52のジョブ処理状況としてステータス情報を取得し、エラーが発生した場合、ユーザが使用するクライアントコンピュータ11の画面上にプリンタ52から取得したエラーの内容をエラー情報として表示させる。また、印刷ジョブ監視部34は、エラーなく印刷ジョブを終了し、ユーザがアプリケーション50上で印刷要求した文書がプリンタ52から出力されると、印刷が完了した旨のメッセージと、出力したプリンタ52の情報とをクライアントコンピュータ11の画面上に表示させる。
【0057】
ここまで、サーバサイドレンダリングを行うシステムについて説明してきたが、ポイントアンドプリント機能を使用した印刷方式には、クライアントサイドレンダリングと呼ばれるものも存在する。このクライアントサイドレンダリングとは、Windows Vista(登録商標)以降のWindows(登録商標)のOSで採用されているポイントアンドプリント機能を使用した印刷方式の1つで、プリンタドライバの描画処理をプリントアンドポイント機能におけるクライアント上で行う方式である。このクライアントサイドレンダリングを行うシステムでは、プリンタドライバ、ここでは仮想プリンタドライバの描画処理がクライアントコンピュータ11上の仮想プリンタドライバ31で行われることから、サーバコンピュータ16にある振り分け部45を起動させることができない。このため、この装置では、新たに中間データを転送するための手段が必要とされる。
【0058】
図3は、クライアントサイドレンダリングを行うデータ処理システムの構成例を示した図である。この図3に示すデータ処理システムも、図2に示すサーバサイドレンダリングを行うシステムと同様の、クライアントコンポーネント30とサーバコンポーネント40とから構成され、クライアントコンポーネント30に、仮想プリンタドライバ31、印刷ジョブ監視制御部32、振り分け先情報受信部33、複数の印刷ジョブ監視部34を含み、サーバコンポーネント40に、仮想プリンタドライバ41、出力先決定部43、振り分け制御部44、複数の振り分け部45を含んで構成されるが、中間データ保存部がクライアントコンポーネント30に中間データ保存部35として含まれ、このクライアントコンポーネント30に、中間データ中継部36をさらに備えている。
【0059】
この構成では、仮想プリンタドライバ31により描画処理を行い、中間画像の画像データ、印刷設定情報およびシステム情報を含む中間データを中間データ保存部35へ保存する。そして、中間データ保存部35へ保存された中間データを、中間データ中継部36が、サーバコンポーネント40の振り分け制御部44が起動されたことを検知して、その振り分け制御部44へ転送する。
【0060】
中間データ中継部36による中間データの転送は、これまでに知られたいかなる方法でも使用して行うことができる。例えば、FTP(File Transfer Protocol)やSMB(Server Message Block)といったプロトコルを使用して、また、特定のポートでソケットを開いて通信を行うことにより実現することができる。
【0061】
これまでに説明してきたサーバサイドレンダリングおよびクライアントサイドレンダリングにおける処理の流れを、図4〜図11に示すフローチャート図を参照しながら詳細に説明する。まず、図4〜図6を参照して、サーバサイドレンダリングにおける処理について説明する。なお、図4〜図6に示す処理は、図中のポイントOおよびPにより処理フローが連結されていることに留意されたい。
【0062】
ユーザは、自己が使用するクライアントコンピュータ11上でアプリケーション50のアイコンをダブルクリックする等して開く。アプリケーション50を使用して印刷対象の文書を作成することもできるが、予め作成しておいた文書を読み出し、表示させることもできる。このようにしてクライアントコンピュータ11の画面上に表示された文書について、ユーザは、アプリケーション50を通して印刷指示する。具体的には、印刷ボタンを押下する等して印刷指示を行う。このとき、用紙サイズや部数といった印刷設定も行われる。これにより、データ処理システムは、図4のステップ400から処理を開始する。
【0063】
ステップ405で、クライアントコンピュータ11に実装されるクライアントコンポーネント30の仮想プリンタドライバ31は、アプリケーション50からの印刷指示を受けたOSによって起動される。起動された仮想プリンタドライバ31は、ステップ410で、印刷ジョブ監視制御部32が起動しているかを判断し、起動していない場合、ステップ415へ進み、印刷ジョブ監視制御部32を起動させる。なお、既に起動している場合は、仮想プリンタドライバ31は特に何も行わず、ステップ420へ進む。
【0064】
次に、ステップ420で、仮想プリンタドライバ31は、振り分け先情報受信部33が起動しているかを判断し、起動していない場合、ステップ425へ進み、振り分け先情報受信部33を起動させる。この場合も、既に起動しているとき、仮想プリンタドライバ31は何も行わず、ステップ430へ進む。
【0065】
仮想プリンタドライバ31による処理が終了した後、アプリケーション50から印刷指示が印刷要求として、サーバコンピュータ16に実装されるOSへ送られ、そのOSは、ステップ430で、サーバコンポーネント40の仮想プリンタドライバ41を起動し、その仮想プリンタドライバ41へ印刷要求を送り、その仮想プリンタドライバ41に処理を実行させる。仮想プリンタドライバ41は、印刷要求から中間データを生成し、中間データを出力し、中間データ保存部42に保存する。
【0066】
仮想プリンタドライバ41は、上記中間データを出力する処理のほか、ステップ435で、振り分け制御部44が起動しているかを判断し、起動されていない場合、ステップ440で起動させる。既に起動されている場合は、特に何も行わず、ステップ445へ進む。
【0067】
振り分け制御部44は、起動されると、ステップ445で、出力先決定部43を起動させ、出力先決定部43が、ステップ450で、中間データ保存部42に保存された中間データを基に、出力先を決定し、振り分け制御部44にその決定した出力先の情報を返信する。ここからが、具体的な自動振り分けを行う処理である。
【0068】
図5を参照して、振り分け制御部44は、ステップ500で、上記の出力先決定部43のほか、振り分け部45も起動させる。なお、振り分け制御部44は、決定された出力先に従って、所望の振り分け部45を起動させることができる。起動された振り分け部45は、ステップ505で、振り分け制御部44から出力先の情報と中間データとを渡され、中間データに含まれる中間画像の画像データを、順次、出力先のプリンタ52に対応するプリントキュー51へ振り分ける。プリントキュー51は、出力先のプリンタ52に対応するプリンタドライバを保持しており、ステップ510で、そのプリンタドライバを使用して、中間画像の画像データをそのプリンタ52が解釈可能なコマンドへ変換し、プリンタ52へ出力する。プリンタ52は、ステップ515で、プリントキュー51から出力されたコマンドを受け付けると、そのコマンドを基に紙面上に印字し、印刷出力を行う。この印刷出力が終了したところで、ステップ520へ進み、振り分け処理を終了する。
【0069】
次に、振り分け処理中の印刷ジョブの監視であるが、図5に示すステップ500で振り分け制御部44によって起動された振り分け部45は、図6に示すステップ600で、上記の振り分け処理を行う際、振り分け先情報受信部33に出力先の情報を送り、振り分け先情報受信部33が、ステップ605で、出力先の情報を印刷ジョブ監視制御部32へ送る。印刷ジョブ監視制御部32は、この情報の送付を受けて、ステップ610で、印刷ジョブ監視部34を起動させ、出力先の情報を送る。
【0070】
印刷ジョブ監視部34は、ステップ615で、出力先の情報を基にプリンタ52を特定し、そのプリンタ52との間で通信を確立する。そして、印刷ジョブ監視部34は、印刷ジョブが終了するまで、すなわちプリンタ52において文書が印字されて出力されるまで、そのプリンタ52の状態を監視し、エラーが発生した場合、それを検知し、エラー情報をプリンタ52から取得してクライアントコンピュータ11の画面上にダイアログ表示させ、ステップ620で、この処理を終了する。また、エラーが発生することなく印刷ジョブを終了した場合、どのプリンタ52に出力したかという情報を、クライアントコンピュータ11の画面上にダイアログ表示させ、ステップ620で、この処理を終了する。
【0071】
なお、中間データを中間データ保存部42から削除するタイミングは、プリントキュー51へ出力した後であれば、いかなるタイミングであってもよい。また、プリンタ52上で何らかのエラーが発生した場合、この中間データを使用して代行印刷を行うことが可能であるので、代行印刷するプリントキュー51へ出力するまで保存しておくことも可能である。
【0072】
次に、図7〜図11を参照して、クライアントサイドレンダリングにおける処理について説明する。図7〜図11に示す処理は、図中のポイントQ、R、Sにより処理フローが連結されていることに留意されたい。図4に示すサーバサイドレンダリングの処理と同様、ユーザがアプリケーション50を開き、そのアプリケーション50を通して文書の印刷指示を行う。
【0073】
クライアントコンピュータ11上のOSが印刷指示を受け付けると、図7のステップ700から処理を開始し、ステップ705で、OSが仮想プリンタドライバ31を起動させ、起動した仮想プリンタドライバ31が、ステップ710で、印刷ジョブ監視制御部32が起動しているかを判断する。仮想プリンタドライバ31は、起動していない場合にステップ715で起動させ、既に起動されている場合は何も行わず、ステップ720へ進む。仮想プリンタドライバ31は、ステップ720で、振り分け先情報受信部33が起動しているかを判断し、起動していない場合にステップ725で起動させる。既に起動している場合は何も行わず、ステップ730へ進む。
【0074】
上記のサーバサイドレンダリングとは異なり、クライアントコンピュータ11上の仮想プリンタドライバ31は、アプリケーション50から印刷要求を受け取り、ステップ730で、描画処理を行い、中間データを生成して中間データ保存部35に保存する。
【0075】
上記の中間データ保存部35へ中間データを保存し、仮想プリンタドライバ31による処理が終了したところで、サーバコンピュータ16上のOSへ印刷指示が送られ、印刷指示を受けたOSは、仮想プリンタドライバ41を起動させる。仮想プリンタドライバ41は、図8に示すステップ800で、振り分け制御部44が起動しているかを判断する。起動していない場合はステップ805で起動させ、既に起動している場合は何も行わず、図9に示す次のステップへ進む。
【0076】
このようにしてクライアントコンピュータ11およびサーバコンピュータ16の自動振り分けを行う準備が完了したところで、中間データ中継部36が、図9のステップ900において、中間データ保存部35に保存された中間データを取り出し、振り分け制御部44へ転送する。この転送処理は、クライアントコンポーネント30の中間データ保存部35に中間データを保存し、サーバコンポーネント40の仮想プリンタドライバ41を起動させ、振り分け制御部44を起動させた後に行われる。
【0077】
振り分け制御部44は、ステップ905で、中間データを受け取り、ステップ910で、出力先決定部43を起動させる。そして、振り分け制御部44は、出力先決定部43へ中間データを送り、出力先決定部43が、ステップ915において、受け取った中間データを基に出力先を決定し、出力先の情報を振り分け制御部44へ返信する。
【0078】
振り分け制御部44は、図10に示すステップ1000において、決定された出力先から所望の振り分け部45も起動させ、ステップ1005で、起動された振り分け部45が、中間画像の画像データを出力先決定部43から受け取った出力先の情報に基づき振り分ける。振り分け部45は、中間データに含まれる中間画像の画像データを、出力先のプリンタ52に対応するプリントキュー51に振り分ける。
【0079】
プリントキュー51は、ステップ1010で、振り分けられた中間画像の画像データを、プリンタ52に対応するプリンタドライバを使用して、そのプリンタ52が解釈可能なコマンドへ変換し、プリンタ52へ出力する。プリンタ52は、ステップ1015で、そのコマンドを受け取ると、そのコマンドを基に紙面上に印字して印刷出力する。この印刷出力が完了したところで、ステップ1020へ進み、処理を終了する。
【0080】
この振り分け処理中、印刷ジョブを監視するため、振り分け部45は、図11に示すステップ1100において、振り分け先情報受信部33に、振り分け制御部44から受け取った出力先の情報を送る。振り分け先情報受信部33は、ステップ1105で、その出力先の情報を印刷ジョブ監視制御部32に送る。そして、ステップ1110で、印刷ジョブ監視制御部32が、その情報から出力先のプリンタ52を特定し、監視すべき印刷ジョブ監視部34を起動させる。起動した印刷ジョブ監視部34は、ステップ1115で、プリンタ52との間の通信を確立し、プリンタ52を監視する。
【0081】
プリンタ52においてエラーが発生し、印刷ジョブ監視部34がそのエラーを検知すると、プリンタ52からそのエラー情報を取得し、クライアントコンピュータ11の画面上にダイアログ表示させ、ステップ1120で処理を終了する。一方、エラーが発生することなく印刷ジョブが終了した場合は、振り分け先情報受信部33は、振り分け部45から受け取った出力先の情報を、クライアントコンピュータ11の画面上にダイアログ表示させ、ステップ1120で処理を終了する。
【0082】
この場合の中間データを中間データ保存部35から削除するタイミングも、中間データをプリントキュー51へ出力した後であればいかなる時であってもよい。なお、プリンタ52上で何かエラーが発生した場合、この中間データを使用して代行印刷してもよく、この場合には代行印刷するプリンタ52に対応するプリントキュー51へ出力された後に削除することができる。
【0083】
出力先決定部43は、出力先を決定するために中間データと予め設定しておいた情報とを参照することができるが、この予め設定しておく情報は、図12に示すような情報とすることができる。出力先を決定するにあたり、図12に示す設定ファイルの[Mode]セクションを参照し、どのモードで出力先を決定するかを判断する。
【0084】
図12に示す例では、[Mode]セクションに、ユーザ名、ホスト名、IPアドレス、キーワード、カラーモード、コピーという6つの設定があり、ユーザ名が1とされ、その他が0とされているため、ユーザ名によって出力先を決定するように設定されている。したがって、出力先決定部43は、中間データに含まれるシステム情報の中のユーザ名を参照し、どのユーザ名で印刷が実行されているかを判断する。
【0085】
出力先決定部43は、システム情報の中に「Taro」というユーザ名がある場合、この「Taro」で印刷が実行されていると判断し、ユーザ名によって出力先を決定するべく、図12に示す設定ファイルの中の[UserName]セクション内の「Taro」を探し出し、「PrinterA」という名前のプリンタ52を出力先として決定する。そして、この出力先の情報を、振り分け制御部44へ送る。
【0086】
上記ではユーザ名によって出力先を決定したが、印刷指示をしたクライアントコンピュータ11の端末名(ホスト名)やそのIPアドレス、画像情報に含まれるテキストや画像、カラーかモノクロか、印刷部数等を、システム情報と照合し、出力先を決定したり、印刷設定を、例えばカラーからモノクロへ強制的に書き換えて出力することも可能である。また、出力先を決定するためのモードは、ユーザ名のみといったように1つに限定されるものではなく、ユーザ名とホスト名といったように2つ以上組み合わせ、これら2つをシステム情報と照合して出力先を決定することもできる。なお、この場合、異なる2つ以上の出力先が決定されることがあるが、予め設定した優先順位や、出力先のジョブ処理状況等に応じて、1つの出力先を決定することができる。
【0087】
印刷ジョブ監視部34は、印刷ジョブが終了するまで、すなわち文書がプリンタ52で紙面上に印字され出力されるまで監視するが、正常に印字され出力されると、図13に示すような振り分け結果ダイアログを、ユーザが使用するクライアントコンピュータ11の画面上に表示させる。この図13では、中間データに含まれる印刷情報からジョブ名が取得され、ダイアログ内にその取得したジョブ名「Job001」と、出力先である「プリンタA」とを表示している。
【0088】
また、印刷ジョブ監視部34は、エラーが発生した場合にそのエラー情報も表示し、例えば、図14に示すようなエラー情報をエラーダイアログとして表示させる。この図14では、出力先である「プリンタA」において「紙詰まり」というエラーが発生したことを、エラー情報として表示している。このエラー情報は、プリンタ52との間で通信を行うことで取得することができるが、具体的には、SNMP(Simple Network Management Protocol)を使用して参照するMIB(Management Information Base)情報をプリンタ52から取得し、取得した情報の中の対応する文字列、ここでは「紙詰まり」をテンプレートに挿入して文章を構成し、表示させることができる。
【0089】
ダイアログは、印刷ジョブ監視部34のみならず、振り分け先情報受信部33もクライアントコンピュータ11の画面上に表示させることができる。出力先決定部43は、中間データと予め設定しておいた設定ファイルとを照合して出力先を決定するが、条件に該当する出力先が得られない場合や、設定ファイルがない等の予期しない事態が発生した場合に、例えば、振り分け先情報受信部33に通知し、図15に示すようなプリンタ選択ダイアログをクライアントコンピュータ11の画面上に表示させることができる。
【0090】
図15では、リモートプリンタが選択され、「PrinterA」、「PrinterB」、「PrinterC」の3つが選択可能にされている。ユーザが3つのうちの1つを選択し、「OK」ボタンを押下すると、振り分け先情報受信部33がその選択した出力先の情報を印刷ジョブ監視制御部32へ送り、出力先決定部43にも送り、出力先決定部43は、そのユーザが選択した出力先を、決定した出力先として振り分け制御部44へ通知する。
【0091】
このようにプリンタ52を選択し、そのプリンタ52で出力させることも可能であるが、印刷を中止したい場合もある。印刷を中止したい場合、図15に示す「キャンセル」ボタンを押下する。すると、出力先決定部43は、これを検出し、振り分け先情報受信部33へ印刷を中止する旨を通知し、振り分け先情報受信部33が、図16に示すような印刷がキャンセルされた旨のダイアログをクライアントコンピュータ11の画面上に表示させる。
【0092】
このように、2つのコンポーネントに分け、各コンポーネントを2つの装置に実装させることで、一方がレンダリングを行っている間に、他方で印刷ジョブ監視部や振り分け先情報受信部を起動させることができるため、サーバ上での描画や振り分け処理に対し、正しい出力先を表示させることができ、エラー情報も即時に表示させることができる。また、クライアント側で描画処理を行った場合でも、振り分け処理を実行することができる。
【0093】
また、設定ファイルに該当する出力先がない場合のユーザ選択ダイアログを表示させることができるため、別途プリンタを指定し、各種の印刷設定を行い、印刷指示するといった動作を行うことなく、プリンタを選択するのみで、印刷を実行することができる。このユーザ選択ダイアログでは、キャンセルボタンを押下することで、印刷を中止することができ、その旨を表示させることができるので、無駄な印刷を防止することができる。
【0094】
これまで本発明を、データ処理システム、そのデータ処理システムにより実行される印刷制御方法として上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、本発明は、上記のデータ処理システムおよび印刷制御方法のみならず、その方法を実行するためのコンピュータ可読なプログラムや、そのプログラムが記録された記録媒体も提供することができ、当然にして、データ処理システムを構成するクライアント側およびサーバ側のコンピュータも提供することができるものである。
【符号の説明】
【0095】
10…プリンタネットワーク、11〜14…クライアントコンピュータ、15…ネットワーク、16…サーバコンピュータ、17…MFP、18、19…レーザプリンタ、20…インクジェットプリンタ、30…クライアントコンポーネント、31…仮想プリンタドライバ、32…印刷ジョブ監視制御部、33…振り分け先情報受信部、34…印刷ジョブ監視部、35…中間データ保存部、36…中間データ中継部、40…サーバコンポーネント、41…仮想プリンタドライバ、42…中間データ保存部、43…出力先決定部、44…振り分け制御部、45…振り分け部、50…アプリケーション、51…プリントキュー、52…プリンタ
【先行技術文献】
【特許文献】
【0096】
【特許文献1】特開2010−271988号公報
【技術分野】
【0001】
本発明は、出力データを各出力先へ自動振り分けするデータ処理システム、印刷制御方法、その方法を実現するためのコンピュータ可読なプログラムおよび記録媒体に関する。
【背景技術】
【0002】
ネットワーク技術の普及により、複数のPCやプリンタをネットワークに接続してネットワーク環境を構築し、プリンタを共有することができるようにされている。このプリンタを共有するために、複数のPCから同時に印刷要求が送信されても、これを適切に処理し、プリンタが順序良く印刷を実行するように印刷処理を管理するためのプリンタサーバが設けられている。
【0003】
各PCは、文書等を作成するためのアプリケーションを実装するが、そのアプリケーションにより作成されたデータを印刷出力する際、プリンタが使用する形式へ変換する必要があり、この変換するソフトウェアとしてプリンタドライバが用いられる。従来において、このプリンタドライバは、CD−ROM等の記録媒体に格納され、ユーザが手動で各PCにインストールしていた。
【0004】
近年では、ユーザが手動でプリンタドライバをインストールしなくても、ネットワークプリンタへの接続を作成し、そのネットワークプリンタで印刷できるようにするポイントアンドプリント機能が提供されるようになってきている。
【0005】
ポイントアンドプリントでは、ユーザが使用するPCとプリンタサーバとの間の接続を、その種類に応じて、リモートプロシージャコール(RPC)接続またはサーバメッセージブロック(SMB)接続のいずれかにより実行する。接続を確立すると、クライアントとサーバの種類に応じて、RPC接続またはSMB接続が作成され、プリンタサーバから必要なファイルや構成情報が自動的にPCへダウンロードされる。
【0006】
RPC接続により接続されたPCが、プリンタサーバにより管理されるプリンタで印刷を行う場合、PCは、印刷ジョブをローカル環境でレンダリングを行わず、その印刷ジョブを拡張メタファイル(EMF)形式でプリンタサーバへ送り、プリンタサーバでプリンタが使用する形式へ変換する。
【0007】
これに対し、SMB接続により接続されたPCが、プリンタサーバにより管理されるプリンタで印刷を行う場合、プリンタサーバからPCへプリンタドライバがダウンロードされ、印刷ジョブ全体をローカル環境でレンダリングし、プリンタが使用する形式(RAW形式)のデータをプリンタサーバへ送信する。この形式のデータは、直接印刷することができることから、プリンタサーバでの処理がほとんど必要とされない。
【0008】
ところで、ネットワークに接続されたPCでは、印刷出力を指令する際のプリンタダイアログに、UPnPやBonjour等のプラグアンドプレイ技術の進歩により、ネットワーク上に接続され、このPCがアクセス可能な複数のプリンタが選択可能に表示される。このため、ユーザは、この表示されたプリンタの中で使用したいプリンタをクリックする等して選択し、印刷出力を指令することにより、そのプリンタで印刷することができる。
【0009】
このような選択方式では、出力先プリンタの指定を間違えて指令する場合が想定される。近年のPC、プリンタサーバおよびプリンタの印刷処理能力の向上に伴い、プリンタが使用する形式への変換が高速化しており、一旦印刷出力を指令すると、その後にキャンセル指令を行ったとしても、プリンタキューに残されているデータを除き、誤った出力先プリンタで出力されてしまうことがありうる。個人情報や高度な機密性を有する文書ファイルを扱うユーザにとっては、このような誤った出力先を指令すると、重大な問題を生じさせることになる。
【0010】
そこで、情報処理装置のプリンタ出力設定にかかわらず、情報処理装置やその情報処理装置にアクセスするユーザに関連付けて出力先プリンタとして設定された出力先に対して出力を可能にする情報処理装置、ネットワークプリントシステムが提案されている(例えば、特許文献1参照)。
【0011】
この情報処理装置は、仮想プリンタドライバを含んで構成され、仮想プリンタドライバが、ネットワークを介して出力するべき情報を取得し、取得した情報から出力要求元識別値を抽出し、その識別値に紐付けられた出力先を選択して、出力先でデフォルト出力先を書き換える。そして、出力先に対応したリモートドライバを呼び出し、その出力先に適合したフォーマットの出力データへ変換し、その出力先へ送付する。送付した後は、出力先の出力ステータスを監視し、出力エラーが発生した場合、出力エラーの発生を通知する。
【発明の概要】
【発明が解決しようとする課題】
【0012】
従来の上記情報処理装置は、出力先を選択し、書き換えることから、出力先を決定する機能を有し、その決定された出力先に基づき出力データを振り分けることから、自動振り分けする機能を有し、出力ステータスを監視し、エラーが発生した場合にその旨を通知することから、印刷ジョブを監視する機能を有している。このため、この装置は、仮想プリンタドライバが、リモートドライバを呼び出してRAWデータを作成させ、コマンドを追加して出力データを生成させた後、出力先を決定する機能により、出力先のリモートプリンタを決定し、振り分けする機能により、決定された出力先のリモートプリンタを管理するプリンタサーバへ出力データを送付して、リモートプリンタにより印刷出力を実行させ、印刷ジョブを監視する機能により、リモートプリンタの印刷ジョブの状態を監視するものとされている。
【0013】
このような従来の構成では、ネットワークに接続された情報処理装置が出力先を決定し、その出力先に基づきデータを出力し、その後、出力先の印刷ジョブ状態を監視してエラーが発生した場合にエラーを通知することから、ユーザが使用する端末の画面上に、エラーの発生を表示させることはできる。しかしながら、情報処理装置においてレンダリングを行っている間は、振り分けする機能や印刷ジョブを監視する機能を起動させることはできない。このため、レンダリングや振り分けする機能を起動している間は、エラー情報をユーザ端末の画面上に表示させることはできない。また、どのプリンタに出力されるのかを通知する機能を有しないため、出力先をその画面上に表示させることもできない。
【0014】
また、ポイントアンドプリント機能を利用してユーザ端末にプリンタドライバをインストールし、そのプリンタドライバを利用して描画処理を行った場合、情報処理装置の仮想プリンタドライバで描画処理を行わないことから当該仮想プリンタドライバが振り分けする機能を起動させることができず、適切に自動振り分けを行うことはできない。
【0015】
そこで、どのプリンタで出力しているかを表示させることができ、どのような内容のエラーが発生したのかを随時クライアント側で知ることができるシステムや、その方法の提供が望まれていた。また、クライアント−サーバシステムのサーバ側の負荷を軽減したいときに、クライアント側で描画処理を行う場合であっても、自動振り分けを実現することができるシステムや、その方法の提供も望まれていた。
【課題を解決するための手段】
【0016】
本発明は、上記課題に鑑み、クライアントコンピュータからの印刷指示を受けてアプリケーション実行手段が出力した印刷要求を受信し、ネットワークに接続される印刷装置を選択して印刷を実行させるデータ処理システムが提供される。このシステムは、サーバコンポーネントと、クライアントコンポーネントとから構成される。
【0017】
サーバコンポーネントは、その印刷要求を受信し、印刷要求に含まれる文書データから各ページの画像データを生成し、印刷要求から印刷設定情報およびクライアントコンピュータのシステム情報を抽出し、画像データと印刷設定情報とシステム情報とから構成される中間データを生成する仮想プリンタドライバ手段と、印刷設定情報およびシステム情報の少なくとも1つの情報と各印刷装置とを対応付けた設定ファイルを保持し、生成された中間データに含まれる印刷設定情報およびシステム情報と設定ファイルとを照合し、出力先となる印刷装置を決定する出力先決定手段と、決定された出力先と中間データを構成する画像データとを取得し、出力先を通知するとともに画像データを出力する振り分け制御手段と、通知された出力先に従って、出力された画像データを、印刷装置の1つへ送信する振り分け手段とを含む。
【0018】
クライアントコンポーネントは、決定された出力先の情報を振り分け手段から受信して、クライアントコンピュータの画面上に表示させる振り分け先情報受信手段と、出力先の印刷装置のジョブ処理状況を監視し、当該ジョブ処理状況を通知する印刷ジョブ監視手段と、印刷ジョブ監視手段を起動し、当該印刷ジョブ監視手段が通知したジョブ処理状況をクライアントコンピュータの画面上に表示させる印刷ジョブ監視制御手段とを含む。
【0019】
このように、2つのコンポーネントに分けることで、それぞれの手段を別個に起動させることができ、サーバコンポーネントでレンダリングを行っている間であっても、クライアントコンポーネントで印刷ジョブの監視を実行し、エラーが発生した場合にはエラー情報を画面上に表示させることができ、また、出力先の情報も、受信してすぐに画面上に表示させることができる。1つの例では、ユーザが使用するクライアントコンピュータにクライアントコンポーネントを実装し、プリンタサーバにサーバコンポーネントを実装することができる。
【0020】
仮想プリンタドライバ手段は、クライアントコンポーネントに実装することもでき、この場合、クライアントコンポーネントは、生成された中間データを振り分け制御手段へ転送する中間データ中継手段をさらに含む構成とされる。これにより、クライアント側で描画処理を行う場合であっても、描画処理済みデータを転送して自動振り分けを実現することができる。
【0021】
印刷ジョブ監視制御手段は、印刷が終了した旨とともに、出力先の情報をクライアントコンピュータの画面上に表示させることができる。これにより、ユーザは、どの印刷装置で出力されたのかをクライアント上で知ることができる。
【0022】
また、印刷ジョブ監視手段は、ジョブ処理中に印刷装置でエラーが発生した場合に、当該印刷装置からエラー情報を取得し、印刷ジョブ監視制御手段へ当該エラー情報を通知し、印刷ジョブ監視制御手段は、エラー情報をクライアントコンピュータの画面上に表示させることができる。これにより、出力先の印刷装置でどのようなエラーが発生したかを知ることができる。
【0023】
出力先決定手段は、上記のようにして照合した結果、該当する出力先が得られない場合、振り分け先情報受信手段にその旨を通知し、振り分け先情報受信手段が、クライアントコンピュータの画面上に出力先の印刷装置を選択させる選択画面を表示させることができる。また、ユーザによる印刷装置の選択に応答して、振り分け先情報受信手段は、印刷ジョブ監視制御手段に選択された印刷装置の情報を送り、印刷ジョブ監視手段に選択された印刷装置を監視させるとともに、出力先決定手段にその情報を送って、選択された印刷装置を出力先となる印刷装置として決定することができる。これにより、出力先が得られない場合であっても、ユーザが印刷装置を選択し、その選択した印刷装置により印刷を行い、その印刷装置のジョブ処理状況をクライアントコンピュータで監視することができる。
【0024】
出力先決定手段は、印刷中止の指示を受け付けたことに応答して、振り分け制御手段を介して振り分け先情報受信手段に印刷中止を通知し、振り分け先情報受信手段がクライアントコンピュータの画面上に印刷を中止した旨を表示させる。仮想プリンタドライバ手段がサーバコンポーネントに実装される場合は振り分け制御手段が、クライアントコンポーネントに実装される場合は振り分け先情報受信手段が、当該仮想プリンタドライバ手段に印刷を中止したことを通知して、前記中間データを削除する。クライアントコンピュータの画面上に印刷が中止されたことを表示することで、実際に中止されたことを確認することができ、また、不要になった中間データを削除することで、メモリ使用量を削減することができる。
【0025】
上記では、出力先決定手段は、印刷設定情報については書き換えることなく、決定した出力先の情報のみを振り分け制御手段へ通知するが、印刷設定情報を設定ファイルの内容に書き換えて、出力先の情報とともに通知することも可能である。このため、設定ファイルの内容で書き換えられた印刷設定情報に基づき、印刷を実行することができる。
【0026】
本発明では、上記のデータ処理システムのほか、このデータ処理システムにより実行される印刷制御方法、その方法を実行するためのコンピュータ可読なプログラム、このプログラムを記録した記録媒体も提供することができる。
【図面の簡単な説明】
【0027】
【図1】本発明のデータ処理装置を含むプリンタネットワークの実施形態を示した図。
【図2】本発明のデータ処理装置の1つの構成例を示した機能ブロック図。
【図3】データ処理装置の別の構成例を示した機能ブロック図。
【図4】図2に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図5】図2に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図6】図2に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図7】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図8】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図9】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図10】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図11】図3に示すデータ処理装置で行われる処理の流れを示したフローチャート図。
【図12】出力先決定部で使用される設定ファイルの構成を例示した図。
【図13】クライアントコンピュータの画面上に表示された振り分け結果を例示した図。
【図14】画面上に表示されたエラー情報を例示した図。
【図15】画面上に表示されたプリンタ選択ダイアログを例示した図。
【図16】画面上に表示されたキャンセルダイアログを例示した図。
【発明を実施するための形態】
【0028】
図1は、本発明のデータ処理システムを含むプリンタネットワークの実施形態を示した図である。プリンタネットワーク10は、オフィス等に配置される複数のクライアントコンピュータ11〜14がネットワーク15に接続されて構成されている。また、ネットワーク15には、サーバコンピュータ16が接続され、各クライアントコンピュータ11〜14からの印刷要求を処理するように構成されている。ネットワーク15には、さらに、MFP(Multi Function Peripheral)17、レーザプリンタ18、19、インクジェットプリンタ20等がリモートプリンタとして接続されている。
【0029】
クライアントコンピュータ11〜14およびサーバコンピュータ16は、それぞれが、シングルコア、マルチコアのCPU、ROM、実行空間を提供するRAM、ハードディスク装置、ネットワーク15に接続するためのネットワークインタフェース(NIC)等を含み、Windows(登録商標)といったオペレーティングシステム(OS)による制御の下、各種処理を実行する。クライアントコンピュータ11〜14は、そのほか、入力装置としてキーボードやマウスを備え、表示装置として液晶ディスプレイを備える。
【0030】
クライアントコンピュータ11〜14は、それぞれがアプリケーションプログラムを実装し、各種処理を完結するパーソナルコンピュータやワークステーション等から構成することができる。クライアントコンピュータ11〜14は、ハードディスク装置等からアプリケーションプログラムやデータをRAMに読み込み、CPUがそのアプリケーションプログラムを実行することにより、文書、イメージ、マルチメディア、これらが複合的に組み合わされた電子的データとして印刷対象とする文書ファイルを生成し、各リモートプリンタへと印刷処理を依頼することができる。ここでは、クライアントコンピュータ11〜14がアプリケーションプログラムを実装し、文書ファイルを生成する構成としているが、サービス要求を発行して、別途設けられるアプリケーションサーバ等に実行させ、処理結果を受領して印刷出力を依頼する機能のみを実装する、いわゆるシンクライアントとして構成されていてもよい。
【0031】
ネットワーク15は、1000Base−TX等のイーサネット(登録商標)、光ネットワーク、IEEE802.11等の規格の無線ネットワークを含んで構成することができ、フレームまたはTCP/IPプロトコルに基づくパケット通信によって、相互通信を行うことができる。ネットワーク15は、LAN(Local Area Network)、VPN(Virtual Private Network)等によるセキュア環境下でインターネット等の広域ネットワークを含んで構成されてもよい。
【0032】
サーバコンピュータ16は、クライアントコンピュータ11〜14からの印刷要求を受領し、各種条件に応じて、適切な出力先とするリモートプリンタを決定し、印刷データを自動振り分けする処理を行う。サーバコンピュータ16は、リモートプリンタを管理するプリンタサーバの機能を有し、リモートプリンタが解釈可能なコマンドを生成するプリンタドライバを実装し、当該コマンドを決定されたリモートプリンタへ出力し、印刷を実行させる。ここではサーバコンピュータ16がプリンタサーバの機能を有する構成としたが、プリンタサーバを別途設けてもよい。
【0033】
クライアントコンピュータ11〜14は、ポイントアンドプリント機能によりサーバコンピュータ16との間の接続を確立する。これらの間の接続は、上述したRPC接続やSMB接続により確立することができる。これらは、クライアントコンピュータ11〜14からサーバコンピュータ16へ要求メッセージ等を送信し、サーバコンピュータ16が応答を返すことにより確立することができ、クライアントコンピュータにおいて、例えばファイル名を指定して実行することにより、また、同一のワーキンググループあるいは同一のドメインに含まれるコンピュータを一覧するNet Viewコマンドを使用して、接続を確立することができる。なお、クライアントコンピュータ11〜14とサーバコンピュータ16との間は、RDP(Remote Desktop Protocol)等の適切な遠隔接続プロトコルを使用して通信を行うことができる。
【0034】
ユーザは、クライアントコンピュータ11〜14の1つを利用し、それに実装されているアプリケーションプログラムを使用して文書を作成することができ、その作成した文書を印刷したい場合、アプリケーションプログラムを起動して印刷設定を行い、印刷設定情報と文書データとを含めて印刷要求を作成する。ここで、印刷設定情報としては、例えば、用紙の種類、用紙のサイズ、用紙の向き、枚数、フォント、カラーまたはモノクロ印刷、印刷倍率、両面印刷の有無、集約印刷の有無、行数、列数、フォントサイズ等が挙げられる。
【0035】
実際には、アプリケーションプログラムを実行するCPUが、アプリケーション実行手段として機能し、この手段が、上記の文書データおよび印刷設定情報、さらには、クライアントコンピュータ11〜14のIPアドレス、MACアドレス、そのクライアントコンピュータに付されたコンピュータ名、サービスを利用する際にユーザが入力するユーザ名等のシステム情報を含めて印刷要求を作成し、その印刷要求を、後述するサーバ側でレンダリングを行う場合はサーバコンピュータ16へ送信する。クライアント側でレンダリングを行う場合は、クライアントコンピュータ11〜14が備える、後述する仮想プリンタドライバへ送る。
【0036】
クライアントコンピュータ11〜14は、アプリケーションプログラムのほか、仮想プリンタドライバやその他の必要な機能を有するように構成される。これらの機能は、クライアントコンポーネントとして実装され、出力先がどのリモートプリンタであるかという情報の通知を受領し、また、各リモートプリンタとの間で通信を行い、各リモートプリンタのジョブ処理状況を監視して、その出力先の情報およびどのようなエラーが発生したかという情報をクライアントコンピュータ11〜14の画面上に表示させることを可能にする。また、クライアントコンピュータ11〜14でレンダリングを行う場合、クランアントコンポーネントは、レンダリングした文書をページ単位で切り出し、それを中間画像とし、その中間画像の画像データを、印刷設定情報およびシステム情報とともに中間データとしてサーバコンピュータ16へ転送する。
【0037】
サーバコンピュータ16は、プリンタサーバの機能のほか、仮想プリンタドライバやその他の必要な機能を有するように構成される。この仮想プリンタドライバおよび必要な機能は、サーバコンポーネントとして実装され、文書データを受領した場合にレンダリングを行い、中間画像の画像データを生成し、受領した印刷設定情報およびシステム情報から出力先を決定し、その出力先へ画像データを送信する。ここでは、サーバコンピュータ16がプリンタサーバの機能を有することから、プリンタが解釈可能なコマンドを生成し、そのコマンドを画像データに追加して出力先のプリンタへ出力する。
【0038】
サーバコンピュータ16は、クライアントコンピュータ11〜14でレンダリングを行い、中間データを転送する場合、サーバコンポーネントでレンダリングを行うことなく、転送された中間データを受け取り、その中間データから出力先を決定し、その出力先へ画像データを送信する。サーバコンポーネントは、クライアントコンピュータ11〜14の画面上に出力先を表示させるために、決定した出力先の情報をクライアントコンポーネントへ送信する。
【0039】
本発明のデータ処理装置は、上記のクライアントコンポーネントと、上記のサーバコンポーネントとから構成されるものであり、これらの機能は、クライアントコンピュータ11〜14およびサーバコンピュータ16が備えるRAM等にプログラムを読み込み、CPUがそのプログラムを実行することにより、各コンピュータ上に各機能手段として実現される。
【0040】
リモートプリンタは、ネットワークインタフェース(NIC)を実装し、サーバコンピュータ16から受け取ったコマンドを、ネットワーク15を介して受信し、印刷ジョブを実行する。なお、MFP17は、ネットワークボードでネットワーク15に接続されたリモートプリンタとして実装することもできるし、プリント機能するほか、プリンタサーバの機能を含んで実装することも可能である。
【0041】
クライアントコンピュータ11〜14につき、どのリモートプリンタを出力先として選択するかは、印刷枚数等の印刷設定情報や、ユーザ名やIPアドレスといったシステム情報により選択することができ、これらの情報を以下に説明する設定ファイルとしてサーバコンポーネントが保持し、照合時に使用することができる。
【0042】
図2は、データ処理システムの1つの構成例を示した機能ブロック図である。データ処理システムは、クライアントコンポーネントと、サーバコンポーネントとから構成され、クライアントコンポーネントがクライアントコンピュータ11〜14に、サーバコンポーネントがサーバコンピュータ16にそれぞれ実装される。この図2は、ポイントアンドプリント機能を利用し、RPC接続を行って印刷を実行するシステムの構成例を示した図である。以下、クライアントコンピュータ11〜14のうち、ユーザが使用するものをクライアントコンピュータ11として説明を行う。
【0043】
このデータ処理システムは、クライアントコンポーネント30に、仮想プリンタドライバ31、印刷ジョブ監視制御部32、振り分け先情報受信部33、複数の印刷ジョブ監視部34を含み、サーバコンポーネント40に、仮想プリンタドライバ41、中間データ保存部42、出力先決定部43、振り分け制御部44、複数の振り分け部45を含んで構成されている。ここでは、各部として説明しているが、これらは各手段として機能するものである。
【0044】
図2には、データ処理システムには含まれないアプリケーション実行手段としてのアプリケーション50、各々が複数の振り分け部45の各々に対応した複数のプリントキュー51、各々が各プリントキュー51に対応した複数のプリンタ52が示されている。アプリケーション50は、クライアントコンピュータ11に実装されていてもよいし、上述したアプリケーションサーバに実装されるものであってもよい。
【0045】
上述した従来の情報処理装置では、仮想プリンタドライバ、出力先決定部、振り分け部、印刷ジョブ監視部から構成されていたが、ポイントアンドプリント機能を使用した印刷では、仮想プリンタドライバによる処理が、従来の仮想プリンタドライバによる処理とは異なることから、従来の構成ではポイントアンドプリント機能を使用することができない。このため、本発明のように、2つのコンポーネントに分け、各コンポーネントをクライアントコンピュータ11およびサーバコンピュータ16にそれぞれ実装して、ポイントアンドプリント機能の使用を実現する。
【0046】
図2に示す構成を採用するデータ処理システムで行われる処理は、サーバサイドレンダリングと呼ばれ、Windows(登録商標)のポイントアンドプリント機能を使用した際の印刷方式の1つである。この印刷方式は、プリンタドライバの描画処理をポイントアンドプリント機能におけるサーバ上で行う方式である。このサーバサイドレンダリング時は、プリンタドライバ、ここでは仮想プリンタドライバによる描画処理がサーバ上で行われ、振り分け部が提供する振り分け機能や、印刷ジョブ監視部が提供する印刷ジョブ監視機能を1つの端末やサーバの中で起動することができなくなることから、本発明では、これらを分け、それぞれを別の装置に実装する。これにより、クライアントコンピュータ11では、アプリケーション50からの印刷要求のタイミングで仮想プリンタドライバ31が印刷ジョブ監視制御部32および振り分け先情報受信部33を起動し、サーバコンピュータ16上で行われる描画処理や振り分け処理に対し、正しく出力先の情報を受信したり、プリンタの監視を行うことができるように準備しておくことができる。
【0047】
このデータ処理システムにおける処理は、アプリケーション50から印刷要求が送られると、OSによってクライアントコンポーネント30の仮想プリンタドライバ31が起動され、全体の処理が開始される。
【0048】
サーバコンポーネント40の仮想プリンタドライバ41は、クライアントコンポーネント30の仮想プリンタドライバ31の処理が終了したことを受けて、サーバコンピュータ16に実装されるOSによって起動される。
【0049】
クライアントコンポーネント30およびサーバコンポーネント40には、それぞれ仮想プリンタドライバ31、41が設けられるが、それぞれで動作が異なる。クライアントコンポーネント30の仮想プリンタドライバ31は、クライアントコンピュータ11に実装されるOSによって起動された後、印刷ジョブ監視制御部32と振り分け先情報受信部33が起動していない場合には、それらを起動する。これに対し、サーバコンポーネント40の仮想プリンタドライバ41は、印刷要求に含まれる文書データから各ページの画像データである中間画像の画像データを生成し、印刷要求に含まれる印刷設定情報およびシステム情報とともに中間データを構成して出力する。
【0050】
すなわち、サーバコンポーネント40の仮想プリンタドライバ41は、従来の装置の仮想プリンタドライバと同様、アプリケーション50から印刷要求があった文書をページ単位で中間画像の画像データとして中間データ保存部42に保存し、文書名や印刷設定を印刷設定情報として中間データ保存部42に保存し、この処理を実行させているユーザの情報としてユーザ名や、使用しているクライアントコンピュータの端末名(ホスト名)、IPアドレス、MACアドレス等をシステム情報として、同じく中間データ保存部42に保存する。また、この仮想プリンタドライバ41は、振り分け制御部44に対し、振り分け指示を行い、この振り分け制御部44が起動していない場合には起動させる。
【0051】
振り分け制御部44は、仮想プリンタドライバ41が出力した中間データを転送するために、複数の振り分け部45を起動させ、所望の振り分け部45に対して中間データの保存場所を通知する。また、振り分け制御部44は、出力先を決定するために、出力先決定部43を呼び出し、出力先決定部43が返信した出力先のアドレスを所望の振り分け部45に送る。
【0052】
出力先決定部43は、仮想プリンタドライバ41が生成した中間データの印刷設定情報およびシステム情報と、予め設定しておいた情報とを照合し、条件に合致する出力先を決定して振り分け制御部44に返信する。例えば、予めユーザ名「Taro」から指示された印刷はプリンタAから出力する、という設定をしておいた場合、印刷時、出力先決定部43は、振り分け制御部44から呼び出され、呼び出された出力先決定部43がシステム情報内を確認して、どのユーザから印刷されたのかを判断し、事前に設定しておいた条件と照らし合わせ、出力先であるプリンタ52に対応したプリントキュー51のアドレスを振り分け制御部44に返信する。
【0053】
複数の振り分け部45は、振り分け制御部44により起動され、仮想プリンタドライバ41が生成した中間データの中間画像の画像データを、印刷設定情報の印刷設定に従って、振り分け制御部44から通知された出力先に出力する。また、出力先から、実際に印刷しているプリンタの情報、例えばIPアドレス等を取得し、振り分け先情報受信部33にその情報を送る。
【0054】
振り分け先情報受信部33は、サーバコンポーネント40にある振り分け部45から出力先の情報を受信する。そして、振り分け先情報受信部33は、受信した出力先の情報を印刷ジョブ監視制御部32に送る。
【0055】
印刷ジョブ監視制御部32は、仮想プリンタドライバ31によって起動され、振り分け先情報受信部33から中間画像の出力先の情報を受け取る。印刷ジョブ監視制御部32は、出力先のプリンタ52を監視する印刷ジョブ監視部34を起動させ、出力先のプリンタ52の情報を印刷ジョブ監視部34に送る。
【0056】
印刷ジョブ監視部34は、印刷ジョブ監視制御部32によって起動され、印刷ジョブ監視制御部32からの通知を受けて、監視すべき出力先のプリンタ52を特定する。印刷ジョブ監視部34は、監視すべきプリンタ52からプリンタ52のジョブ処理状況としてステータス情報を取得し、エラーが発生した場合、ユーザが使用するクライアントコンピュータ11の画面上にプリンタ52から取得したエラーの内容をエラー情報として表示させる。また、印刷ジョブ監視部34は、エラーなく印刷ジョブを終了し、ユーザがアプリケーション50上で印刷要求した文書がプリンタ52から出力されると、印刷が完了した旨のメッセージと、出力したプリンタ52の情報とをクライアントコンピュータ11の画面上に表示させる。
【0057】
ここまで、サーバサイドレンダリングを行うシステムについて説明してきたが、ポイントアンドプリント機能を使用した印刷方式には、クライアントサイドレンダリングと呼ばれるものも存在する。このクライアントサイドレンダリングとは、Windows Vista(登録商標)以降のWindows(登録商標)のOSで採用されているポイントアンドプリント機能を使用した印刷方式の1つで、プリンタドライバの描画処理をプリントアンドポイント機能におけるクライアント上で行う方式である。このクライアントサイドレンダリングを行うシステムでは、プリンタドライバ、ここでは仮想プリンタドライバの描画処理がクライアントコンピュータ11上の仮想プリンタドライバ31で行われることから、サーバコンピュータ16にある振り分け部45を起動させることができない。このため、この装置では、新たに中間データを転送するための手段が必要とされる。
【0058】
図3は、クライアントサイドレンダリングを行うデータ処理システムの構成例を示した図である。この図3に示すデータ処理システムも、図2に示すサーバサイドレンダリングを行うシステムと同様の、クライアントコンポーネント30とサーバコンポーネント40とから構成され、クライアントコンポーネント30に、仮想プリンタドライバ31、印刷ジョブ監視制御部32、振り分け先情報受信部33、複数の印刷ジョブ監視部34を含み、サーバコンポーネント40に、仮想プリンタドライバ41、出力先決定部43、振り分け制御部44、複数の振り分け部45を含んで構成されるが、中間データ保存部がクライアントコンポーネント30に中間データ保存部35として含まれ、このクライアントコンポーネント30に、中間データ中継部36をさらに備えている。
【0059】
この構成では、仮想プリンタドライバ31により描画処理を行い、中間画像の画像データ、印刷設定情報およびシステム情報を含む中間データを中間データ保存部35へ保存する。そして、中間データ保存部35へ保存された中間データを、中間データ中継部36が、サーバコンポーネント40の振り分け制御部44が起動されたことを検知して、その振り分け制御部44へ転送する。
【0060】
中間データ中継部36による中間データの転送は、これまでに知られたいかなる方法でも使用して行うことができる。例えば、FTP(File Transfer Protocol)やSMB(Server Message Block)といったプロトコルを使用して、また、特定のポートでソケットを開いて通信を行うことにより実現することができる。
【0061】
これまでに説明してきたサーバサイドレンダリングおよびクライアントサイドレンダリングにおける処理の流れを、図4〜図11に示すフローチャート図を参照しながら詳細に説明する。まず、図4〜図6を参照して、サーバサイドレンダリングにおける処理について説明する。なお、図4〜図6に示す処理は、図中のポイントOおよびPにより処理フローが連結されていることに留意されたい。
【0062】
ユーザは、自己が使用するクライアントコンピュータ11上でアプリケーション50のアイコンをダブルクリックする等して開く。アプリケーション50を使用して印刷対象の文書を作成することもできるが、予め作成しておいた文書を読み出し、表示させることもできる。このようにしてクライアントコンピュータ11の画面上に表示された文書について、ユーザは、アプリケーション50を通して印刷指示する。具体的には、印刷ボタンを押下する等して印刷指示を行う。このとき、用紙サイズや部数といった印刷設定も行われる。これにより、データ処理システムは、図4のステップ400から処理を開始する。
【0063】
ステップ405で、クライアントコンピュータ11に実装されるクライアントコンポーネント30の仮想プリンタドライバ31は、アプリケーション50からの印刷指示を受けたOSによって起動される。起動された仮想プリンタドライバ31は、ステップ410で、印刷ジョブ監視制御部32が起動しているかを判断し、起動していない場合、ステップ415へ進み、印刷ジョブ監視制御部32を起動させる。なお、既に起動している場合は、仮想プリンタドライバ31は特に何も行わず、ステップ420へ進む。
【0064】
次に、ステップ420で、仮想プリンタドライバ31は、振り分け先情報受信部33が起動しているかを判断し、起動していない場合、ステップ425へ進み、振り分け先情報受信部33を起動させる。この場合も、既に起動しているとき、仮想プリンタドライバ31は何も行わず、ステップ430へ進む。
【0065】
仮想プリンタドライバ31による処理が終了した後、アプリケーション50から印刷指示が印刷要求として、サーバコンピュータ16に実装されるOSへ送られ、そのOSは、ステップ430で、サーバコンポーネント40の仮想プリンタドライバ41を起動し、その仮想プリンタドライバ41へ印刷要求を送り、その仮想プリンタドライバ41に処理を実行させる。仮想プリンタドライバ41は、印刷要求から中間データを生成し、中間データを出力し、中間データ保存部42に保存する。
【0066】
仮想プリンタドライバ41は、上記中間データを出力する処理のほか、ステップ435で、振り分け制御部44が起動しているかを判断し、起動されていない場合、ステップ440で起動させる。既に起動されている場合は、特に何も行わず、ステップ445へ進む。
【0067】
振り分け制御部44は、起動されると、ステップ445で、出力先決定部43を起動させ、出力先決定部43が、ステップ450で、中間データ保存部42に保存された中間データを基に、出力先を決定し、振り分け制御部44にその決定した出力先の情報を返信する。ここからが、具体的な自動振り分けを行う処理である。
【0068】
図5を参照して、振り分け制御部44は、ステップ500で、上記の出力先決定部43のほか、振り分け部45も起動させる。なお、振り分け制御部44は、決定された出力先に従って、所望の振り分け部45を起動させることができる。起動された振り分け部45は、ステップ505で、振り分け制御部44から出力先の情報と中間データとを渡され、中間データに含まれる中間画像の画像データを、順次、出力先のプリンタ52に対応するプリントキュー51へ振り分ける。プリントキュー51は、出力先のプリンタ52に対応するプリンタドライバを保持しており、ステップ510で、そのプリンタドライバを使用して、中間画像の画像データをそのプリンタ52が解釈可能なコマンドへ変換し、プリンタ52へ出力する。プリンタ52は、ステップ515で、プリントキュー51から出力されたコマンドを受け付けると、そのコマンドを基に紙面上に印字し、印刷出力を行う。この印刷出力が終了したところで、ステップ520へ進み、振り分け処理を終了する。
【0069】
次に、振り分け処理中の印刷ジョブの監視であるが、図5に示すステップ500で振り分け制御部44によって起動された振り分け部45は、図6に示すステップ600で、上記の振り分け処理を行う際、振り分け先情報受信部33に出力先の情報を送り、振り分け先情報受信部33が、ステップ605で、出力先の情報を印刷ジョブ監視制御部32へ送る。印刷ジョブ監視制御部32は、この情報の送付を受けて、ステップ610で、印刷ジョブ監視部34を起動させ、出力先の情報を送る。
【0070】
印刷ジョブ監視部34は、ステップ615で、出力先の情報を基にプリンタ52を特定し、そのプリンタ52との間で通信を確立する。そして、印刷ジョブ監視部34は、印刷ジョブが終了するまで、すなわちプリンタ52において文書が印字されて出力されるまで、そのプリンタ52の状態を監視し、エラーが発生した場合、それを検知し、エラー情報をプリンタ52から取得してクライアントコンピュータ11の画面上にダイアログ表示させ、ステップ620で、この処理を終了する。また、エラーが発生することなく印刷ジョブを終了した場合、どのプリンタ52に出力したかという情報を、クライアントコンピュータ11の画面上にダイアログ表示させ、ステップ620で、この処理を終了する。
【0071】
なお、中間データを中間データ保存部42から削除するタイミングは、プリントキュー51へ出力した後であれば、いかなるタイミングであってもよい。また、プリンタ52上で何らかのエラーが発生した場合、この中間データを使用して代行印刷を行うことが可能であるので、代行印刷するプリントキュー51へ出力するまで保存しておくことも可能である。
【0072】
次に、図7〜図11を参照して、クライアントサイドレンダリングにおける処理について説明する。図7〜図11に示す処理は、図中のポイントQ、R、Sにより処理フローが連結されていることに留意されたい。図4に示すサーバサイドレンダリングの処理と同様、ユーザがアプリケーション50を開き、そのアプリケーション50を通して文書の印刷指示を行う。
【0073】
クライアントコンピュータ11上のOSが印刷指示を受け付けると、図7のステップ700から処理を開始し、ステップ705で、OSが仮想プリンタドライバ31を起動させ、起動した仮想プリンタドライバ31が、ステップ710で、印刷ジョブ監視制御部32が起動しているかを判断する。仮想プリンタドライバ31は、起動していない場合にステップ715で起動させ、既に起動されている場合は何も行わず、ステップ720へ進む。仮想プリンタドライバ31は、ステップ720で、振り分け先情報受信部33が起動しているかを判断し、起動していない場合にステップ725で起動させる。既に起動している場合は何も行わず、ステップ730へ進む。
【0074】
上記のサーバサイドレンダリングとは異なり、クライアントコンピュータ11上の仮想プリンタドライバ31は、アプリケーション50から印刷要求を受け取り、ステップ730で、描画処理を行い、中間データを生成して中間データ保存部35に保存する。
【0075】
上記の中間データ保存部35へ中間データを保存し、仮想プリンタドライバ31による処理が終了したところで、サーバコンピュータ16上のOSへ印刷指示が送られ、印刷指示を受けたOSは、仮想プリンタドライバ41を起動させる。仮想プリンタドライバ41は、図8に示すステップ800で、振り分け制御部44が起動しているかを判断する。起動していない場合はステップ805で起動させ、既に起動している場合は何も行わず、図9に示す次のステップへ進む。
【0076】
このようにしてクライアントコンピュータ11およびサーバコンピュータ16の自動振り分けを行う準備が完了したところで、中間データ中継部36が、図9のステップ900において、中間データ保存部35に保存された中間データを取り出し、振り分け制御部44へ転送する。この転送処理は、クライアントコンポーネント30の中間データ保存部35に中間データを保存し、サーバコンポーネント40の仮想プリンタドライバ41を起動させ、振り分け制御部44を起動させた後に行われる。
【0077】
振り分け制御部44は、ステップ905で、中間データを受け取り、ステップ910で、出力先決定部43を起動させる。そして、振り分け制御部44は、出力先決定部43へ中間データを送り、出力先決定部43が、ステップ915において、受け取った中間データを基に出力先を決定し、出力先の情報を振り分け制御部44へ返信する。
【0078】
振り分け制御部44は、図10に示すステップ1000において、決定された出力先から所望の振り分け部45も起動させ、ステップ1005で、起動された振り分け部45が、中間画像の画像データを出力先決定部43から受け取った出力先の情報に基づき振り分ける。振り分け部45は、中間データに含まれる中間画像の画像データを、出力先のプリンタ52に対応するプリントキュー51に振り分ける。
【0079】
プリントキュー51は、ステップ1010で、振り分けられた中間画像の画像データを、プリンタ52に対応するプリンタドライバを使用して、そのプリンタ52が解釈可能なコマンドへ変換し、プリンタ52へ出力する。プリンタ52は、ステップ1015で、そのコマンドを受け取ると、そのコマンドを基に紙面上に印字して印刷出力する。この印刷出力が完了したところで、ステップ1020へ進み、処理を終了する。
【0080】
この振り分け処理中、印刷ジョブを監視するため、振り分け部45は、図11に示すステップ1100において、振り分け先情報受信部33に、振り分け制御部44から受け取った出力先の情報を送る。振り分け先情報受信部33は、ステップ1105で、その出力先の情報を印刷ジョブ監視制御部32に送る。そして、ステップ1110で、印刷ジョブ監視制御部32が、その情報から出力先のプリンタ52を特定し、監視すべき印刷ジョブ監視部34を起動させる。起動した印刷ジョブ監視部34は、ステップ1115で、プリンタ52との間の通信を確立し、プリンタ52を監視する。
【0081】
プリンタ52においてエラーが発生し、印刷ジョブ監視部34がそのエラーを検知すると、プリンタ52からそのエラー情報を取得し、クライアントコンピュータ11の画面上にダイアログ表示させ、ステップ1120で処理を終了する。一方、エラーが発生することなく印刷ジョブが終了した場合は、振り分け先情報受信部33は、振り分け部45から受け取った出力先の情報を、クライアントコンピュータ11の画面上にダイアログ表示させ、ステップ1120で処理を終了する。
【0082】
この場合の中間データを中間データ保存部35から削除するタイミングも、中間データをプリントキュー51へ出力した後であればいかなる時であってもよい。なお、プリンタ52上で何かエラーが発生した場合、この中間データを使用して代行印刷してもよく、この場合には代行印刷するプリンタ52に対応するプリントキュー51へ出力された後に削除することができる。
【0083】
出力先決定部43は、出力先を決定するために中間データと予め設定しておいた情報とを参照することができるが、この予め設定しておく情報は、図12に示すような情報とすることができる。出力先を決定するにあたり、図12に示す設定ファイルの[Mode]セクションを参照し、どのモードで出力先を決定するかを判断する。
【0084】
図12に示す例では、[Mode]セクションに、ユーザ名、ホスト名、IPアドレス、キーワード、カラーモード、コピーという6つの設定があり、ユーザ名が1とされ、その他が0とされているため、ユーザ名によって出力先を決定するように設定されている。したがって、出力先決定部43は、中間データに含まれるシステム情報の中のユーザ名を参照し、どのユーザ名で印刷が実行されているかを判断する。
【0085】
出力先決定部43は、システム情報の中に「Taro」というユーザ名がある場合、この「Taro」で印刷が実行されていると判断し、ユーザ名によって出力先を決定するべく、図12に示す設定ファイルの中の[UserName]セクション内の「Taro」を探し出し、「PrinterA」という名前のプリンタ52を出力先として決定する。そして、この出力先の情報を、振り分け制御部44へ送る。
【0086】
上記ではユーザ名によって出力先を決定したが、印刷指示をしたクライアントコンピュータ11の端末名(ホスト名)やそのIPアドレス、画像情報に含まれるテキストや画像、カラーかモノクロか、印刷部数等を、システム情報と照合し、出力先を決定したり、印刷設定を、例えばカラーからモノクロへ強制的に書き換えて出力することも可能である。また、出力先を決定するためのモードは、ユーザ名のみといったように1つに限定されるものではなく、ユーザ名とホスト名といったように2つ以上組み合わせ、これら2つをシステム情報と照合して出力先を決定することもできる。なお、この場合、異なる2つ以上の出力先が決定されることがあるが、予め設定した優先順位や、出力先のジョブ処理状況等に応じて、1つの出力先を決定することができる。
【0087】
印刷ジョブ監視部34は、印刷ジョブが終了するまで、すなわち文書がプリンタ52で紙面上に印字され出力されるまで監視するが、正常に印字され出力されると、図13に示すような振り分け結果ダイアログを、ユーザが使用するクライアントコンピュータ11の画面上に表示させる。この図13では、中間データに含まれる印刷情報からジョブ名が取得され、ダイアログ内にその取得したジョブ名「Job001」と、出力先である「プリンタA」とを表示している。
【0088】
また、印刷ジョブ監視部34は、エラーが発生した場合にそのエラー情報も表示し、例えば、図14に示すようなエラー情報をエラーダイアログとして表示させる。この図14では、出力先である「プリンタA」において「紙詰まり」というエラーが発生したことを、エラー情報として表示している。このエラー情報は、プリンタ52との間で通信を行うことで取得することができるが、具体的には、SNMP(Simple Network Management Protocol)を使用して参照するMIB(Management Information Base)情報をプリンタ52から取得し、取得した情報の中の対応する文字列、ここでは「紙詰まり」をテンプレートに挿入して文章を構成し、表示させることができる。
【0089】
ダイアログは、印刷ジョブ監視部34のみならず、振り分け先情報受信部33もクライアントコンピュータ11の画面上に表示させることができる。出力先決定部43は、中間データと予め設定しておいた設定ファイルとを照合して出力先を決定するが、条件に該当する出力先が得られない場合や、設定ファイルがない等の予期しない事態が発生した場合に、例えば、振り分け先情報受信部33に通知し、図15に示すようなプリンタ選択ダイアログをクライアントコンピュータ11の画面上に表示させることができる。
【0090】
図15では、リモートプリンタが選択され、「PrinterA」、「PrinterB」、「PrinterC」の3つが選択可能にされている。ユーザが3つのうちの1つを選択し、「OK」ボタンを押下すると、振り分け先情報受信部33がその選択した出力先の情報を印刷ジョブ監視制御部32へ送り、出力先決定部43にも送り、出力先決定部43は、そのユーザが選択した出力先を、決定した出力先として振り分け制御部44へ通知する。
【0091】
このようにプリンタ52を選択し、そのプリンタ52で出力させることも可能であるが、印刷を中止したい場合もある。印刷を中止したい場合、図15に示す「キャンセル」ボタンを押下する。すると、出力先決定部43は、これを検出し、振り分け先情報受信部33へ印刷を中止する旨を通知し、振り分け先情報受信部33が、図16に示すような印刷がキャンセルされた旨のダイアログをクライアントコンピュータ11の画面上に表示させる。
【0092】
このように、2つのコンポーネントに分け、各コンポーネントを2つの装置に実装させることで、一方がレンダリングを行っている間に、他方で印刷ジョブ監視部や振り分け先情報受信部を起動させることができるため、サーバ上での描画や振り分け処理に対し、正しい出力先を表示させることができ、エラー情報も即時に表示させることができる。また、クライアント側で描画処理を行った場合でも、振り分け処理を実行することができる。
【0093】
また、設定ファイルに該当する出力先がない場合のユーザ選択ダイアログを表示させることができるため、別途プリンタを指定し、各種の印刷設定を行い、印刷指示するといった動作を行うことなく、プリンタを選択するのみで、印刷を実行することができる。このユーザ選択ダイアログでは、キャンセルボタンを押下することで、印刷を中止することができ、その旨を表示させることができるので、無駄な印刷を防止することができる。
【0094】
これまで本発明を、データ処理システム、そのデータ処理システムにより実行される印刷制御方法として上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、本発明は、上記のデータ処理システムおよび印刷制御方法のみならず、その方法を実行するためのコンピュータ可読なプログラムや、そのプログラムが記録された記録媒体も提供することができ、当然にして、データ処理システムを構成するクライアント側およびサーバ側のコンピュータも提供することができるものである。
【符号の説明】
【0095】
10…プリンタネットワーク、11〜14…クライアントコンピュータ、15…ネットワーク、16…サーバコンピュータ、17…MFP、18、19…レーザプリンタ、20…インクジェットプリンタ、30…クライアントコンポーネント、31…仮想プリンタドライバ、32…印刷ジョブ監視制御部、33…振り分け先情報受信部、34…印刷ジョブ監視部、35…中間データ保存部、36…中間データ中継部、40…サーバコンポーネント、41…仮想プリンタドライバ、42…中間データ保存部、43…出力先決定部、44…振り分け制御部、45…振り分け部、50…アプリケーション、51…プリントキュー、52…プリンタ
【先行技術文献】
【特許文献】
【0096】
【特許文献1】特開2010−271988号公報
【特許請求の範囲】
【請求項1】
クライアントコンピュータからの印刷指示を受けてアプリケーション実行手段が出力した印刷要求を受信し、ネットワークに接続される印刷装置を選択して印刷を実行させるデータ処理システムであって、前記システムは、サーバコンポーネントと、クライアントコンポーネントとから構成され、
前記サーバコンポーネントは、
前記印刷要求に含まれる文書データから各ページの画像データを生成し、前記印刷要求から印刷設定情報および前記クライアントコンピュータのシステム情報を抽出し、前記画像データと前記印刷設定情報と前記システム情報とから構成される中間データを生成する仮想プリンタドライバ手段と、
前記印刷設定情報および前記システム情報の少なくとも1つの情報と各前記印刷装置とを対応付けた設定ファイルを保持し、生成された前記中間データの前記印刷設定情報および前記システム情報と前記設定ファイルとを照合し、出力先となる前記印刷装置を決定する出力先決定手段と、
決定された出力先と前記中間データを構成する前記画像データとを取得し、前記出力先を通知するとともに前記画像データを出力する振り分け制御手段と、
通知された前記出力先に従って、出力された前記画像データを、前記印刷装置の1つへ送信する振り分け手段とを含み、
前記クライアントコンポーネントは、
決定された前記出力先の情報を前記振り分け制御手段から受信して、前記クライアントコンピュータの画面上に表示させる振り分け先情報受信手段と、
前記出力先の印刷装置のジョブ処理状況を監視し、当該ジョブ処理状況を通知する印刷ジョブ監視手段と、
前記印刷ジョブ監視手段を起動し、当該印刷ジョブ監視手段が通知した前記ジョブ処理状況を前記クライアントコンピュータの画面上に表示させる印刷ジョブ監視制御手段とを含む、データ処理システム。
【請求項2】
前記仮想プリンタドライバ手段は、前記クライアントコンポーネントに実装され、前記クライアントコンポーネントは、生成された前記中間データを前記振り分け制御手段へ転送する中間データ中継手段をさらに含む、請求項1に記載のデータ処理システム。
【請求項3】
前記印刷ジョブ監視制御手段は、前記印刷が終了した旨とともに、前記出力先の情報を前記画面上に表示させる、請求項1または2に記載のデータ処理システム。
【請求項4】
前記印刷ジョブ監視手段は、ジョブ処理中に前記印刷装置でエラーが発生した場合に、当該印刷装置からエラー情報を取得し、前記印刷ジョブ監視制御手段へ当該エラー情報を送り、前記印刷ジョブ監視制御手段は、前記エラー情報を前記画面上に表示させる、請求項1〜3のいずれか1項に記載のデータ処理システム。
【請求項5】
前記出力先決定手段は、照合した結果、該当する前記出力先が得られない場合、前記振り分け先情報受信手段に通知し、前記振り分け先情報受信手段が、前記画面上に前記出力先の印刷装置を選択させる選択画面を表示させる、請求項1〜4のいずれか1項に記載のデータ処理システム。
【請求項6】
前記印刷装置の選択に応答して、前記振り分け先情報受信手段は、前記印刷ジョブ監視制御手段に通知して前記印刷ジョブ監視手段に選択された前記印刷装置を監視させるとともに、前記出力先決定手段に通知し、選択された前記印刷装置を出力先となる印刷装置として決定する、請求項5に記載のデータ処理システム。
【請求項7】
前記出力先決定手段は、印刷中止の指示を受け付けたことに応答して、前記振り分け制御手段を介して前記振り分け先情報受信手段に印刷中止を通知し、前記振り分け先情報受信手段が前記画面上に印刷を中止した旨を表示させ、前記仮想プリンタドライバ手段が前記サーバコンポーネントに実装される場合は前記振り分け制御手段が、前記クライアントコンポーネントに実装される場合は前記振り分け先情報受信手段が、当該仮想プリンタドライバ手段に印刷を中止したことを通知して前記中間データを削除する、請求項5に記載のデータ処理システム。
【請求項8】
前記出力先決定手段は、前記印刷設定情報を前記設定ファイルの内容に書き換えて、前記出力先の情報とともに前記振り分け制御手段に送付する、請求項1〜6のいずれか1項に記載のデータ処理システム。
【請求項9】
クライアントコンピュータからの印刷指示を受けてアプリケーション実行手段が出力した印刷要求を受信し、ネットワークに接続される印刷装置を選択して印刷を実行させる印刷制御方法であって、当該方法は、サーバコンポーネントとクライアントコンポーネントとから構成されるデータ処理システムにより実行され、前記サーバコンポーネントが、
前記印刷要求に含まれる文書データから各ページの画像データを生成し、前記印刷要求から印刷設定情報および前記クライアントコンピュータのシステム情報を抽出し、前記画像データと前記印刷設定情報と前記システム情報とから構成される中間データを生成するステップと、
前記印刷設定情報および前記システム情報の少なくとも1つの情報と各前記印刷装置とを対応付けた設定ファイルを用い、生成された前記中間データの前記印刷設定情報および前記システム情報と照合し、出力先となる前記印刷装置を決定するステップと、
決定された前記出力先と前記中間データを構成する前記画像データとを取得し、前記出力先を通知するとともに前記画像データを出力するステップと、
通知された前記出力先に従って、出力された前記画像データを、前記印刷装置の1つへ送信するステップとを実行し、
前記クライアントコンポーネントが、
決定された前記出力先の情報を受信して、前記クライアントコンピュータの画面上に表示させるステップと、
前記出力先の印刷装置のジョブ処理状況を監視し、当該ジョブ処理状況を通知するステップと、
通知された前記ジョブ処理状況を前記画面上に表示させるステップとを実行する、印刷制御方法。
【請求項10】
前記クライアントコンポーネントが、前記中間データを生成するステップを実行し、
前記印刷制御方法は、さらに、前記クライアントコンポーネントが、生成された前記中間データを前記サーバコンポーネントへ転送するステップを含む、請求項9に記載の印刷制御方法。
【請求項11】
前記ジョブ処理状況を前記画面上に表示させるステップは、ジョブ処理中に前記印刷装置でエラーが発生した場合に、当該印刷装置からエラー情報を取得し、前記エラー情報を前記画面上に表示させるステップを含む、請求項9または10に記載の印刷制御方法。
【請求項12】
照合した結果、該当する前記出力先が得られない場合、前記画面上に前記出力先の印刷装置を選択させる選択画面を表示させるステップを含む、請求項9〜11のいずれか1項に記載の印刷制御方法。
【請求項13】
前記決定するステップでは、前記印刷装置の選択に応答して、選択された前記印刷装置を監視させるとともに、選択された前記印刷装置を出力先となる印刷装置として決定する、請求項12に記載の印刷制御方法。
【請求項14】
印刷中止の指示を受け付けたことに応答して、前記画面上に印刷を中止した旨を表示させ、前記中間データを削除するステップを含む、請求項12に記載の印刷制御方法。
【請求項15】
前記印刷設定情報を前記設定ファイルの内容に書き換えて、前記出力先の情報とともに送付するステップを含む、請求項9〜13のいずれか1項に記載の印刷制御方法。
【請求項16】
請求項9〜15のいずれか1項に記載の印刷制御方法を実行するためのコンピュータ可読なプログラム。
【請求項17】
請求項16に記載のプログラムが記録された記録媒体。
【請求項1】
クライアントコンピュータからの印刷指示を受けてアプリケーション実行手段が出力した印刷要求を受信し、ネットワークに接続される印刷装置を選択して印刷を実行させるデータ処理システムであって、前記システムは、サーバコンポーネントと、クライアントコンポーネントとから構成され、
前記サーバコンポーネントは、
前記印刷要求に含まれる文書データから各ページの画像データを生成し、前記印刷要求から印刷設定情報および前記クライアントコンピュータのシステム情報を抽出し、前記画像データと前記印刷設定情報と前記システム情報とから構成される中間データを生成する仮想プリンタドライバ手段と、
前記印刷設定情報および前記システム情報の少なくとも1つの情報と各前記印刷装置とを対応付けた設定ファイルを保持し、生成された前記中間データの前記印刷設定情報および前記システム情報と前記設定ファイルとを照合し、出力先となる前記印刷装置を決定する出力先決定手段と、
決定された出力先と前記中間データを構成する前記画像データとを取得し、前記出力先を通知するとともに前記画像データを出力する振り分け制御手段と、
通知された前記出力先に従って、出力された前記画像データを、前記印刷装置の1つへ送信する振り分け手段とを含み、
前記クライアントコンポーネントは、
決定された前記出力先の情報を前記振り分け制御手段から受信して、前記クライアントコンピュータの画面上に表示させる振り分け先情報受信手段と、
前記出力先の印刷装置のジョブ処理状況を監視し、当該ジョブ処理状況を通知する印刷ジョブ監視手段と、
前記印刷ジョブ監視手段を起動し、当該印刷ジョブ監視手段が通知した前記ジョブ処理状況を前記クライアントコンピュータの画面上に表示させる印刷ジョブ監視制御手段とを含む、データ処理システム。
【請求項2】
前記仮想プリンタドライバ手段は、前記クライアントコンポーネントに実装され、前記クライアントコンポーネントは、生成された前記中間データを前記振り分け制御手段へ転送する中間データ中継手段をさらに含む、請求項1に記載のデータ処理システム。
【請求項3】
前記印刷ジョブ監視制御手段は、前記印刷が終了した旨とともに、前記出力先の情報を前記画面上に表示させる、請求項1または2に記載のデータ処理システム。
【請求項4】
前記印刷ジョブ監視手段は、ジョブ処理中に前記印刷装置でエラーが発生した場合に、当該印刷装置からエラー情報を取得し、前記印刷ジョブ監視制御手段へ当該エラー情報を送り、前記印刷ジョブ監視制御手段は、前記エラー情報を前記画面上に表示させる、請求項1〜3のいずれか1項に記載のデータ処理システム。
【請求項5】
前記出力先決定手段は、照合した結果、該当する前記出力先が得られない場合、前記振り分け先情報受信手段に通知し、前記振り分け先情報受信手段が、前記画面上に前記出力先の印刷装置を選択させる選択画面を表示させる、請求項1〜4のいずれか1項に記載のデータ処理システム。
【請求項6】
前記印刷装置の選択に応答して、前記振り分け先情報受信手段は、前記印刷ジョブ監視制御手段に通知して前記印刷ジョブ監視手段に選択された前記印刷装置を監視させるとともに、前記出力先決定手段に通知し、選択された前記印刷装置を出力先となる印刷装置として決定する、請求項5に記載のデータ処理システム。
【請求項7】
前記出力先決定手段は、印刷中止の指示を受け付けたことに応答して、前記振り分け制御手段を介して前記振り分け先情報受信手段に印刷中止を通知し、前記振り分け先情報受信手段が前記画面上に印刷を中止した旨を表示させ、前記仮想プリンタドライバ手段が前記サーバコンポーネントに実装される場合は前記振り分け制御手段が、前記クライアントコンポーネントに実装される場合は前記振り分け先情報受信手段が、当該仮想プリンタドライバ手段に印刷を中止したことを通知して前記中間データを削除する、請求項5に記載のデータ処理システム。
【請求項8】
前記出力先決定手段は、前記印刷設定情報を前記設定ファイルの内容に書き換えて、前記出力先の情報とともに前記振り分け制御手段に送付する、請求項1〜6のいずれか1項に記載のデータ処理システム。
【請求項9】
クライアントコンピュータからの印刷指示を受けてアプリケーション実行手段が出力した印刷要求を受信し、ネットワークに接続される印刷装置を選択して印刷を実行させる印刷制御方法であって、当該方法は、サーバコンポーネントとクライアントコンポーネントとから構成されるデータ処理システムにより実行され、前記サーバコンポーネントが、
前記印刷要求に含まれる文書データから各ページの画像データを生成し、前記印刷要求から印刷設定情報および前記クライアントコンピュータのシステム情報を抽出し、前記画像データと前記印刷設定情報と前記システム情報とから構成される中間データを生成するステップと、
前記印刷設定情報および前記システム情報の少なくとも1つの情報と各前記印刷装置とを対応付けた設定ファイルを用い、生成された前記中間データの前記印刷設定情報および前記システム情報と照合し、出力先となる前記印刷装置を決定するステップと、
決定された前記出力先と前記中間データを構成する前記画像データとを取得し、前記出力先を通知するとともに前記画像データを出力するステップと、
通知された前記出力先に従って、出力された前記画像データを、前記印刷装置の1つへ送信するステップとを実行し、
前記クライアントコンポーネントが、
決定された前記出力先の情報を受信して、前記クライアントコンピュータの画面上に表示させるステップと、
前記出力先の印刷装置のジョブ処理状況を監視し、当該ジョブ処理状況を通知するステップと、
通知された前記ジョブ処理状況を前記画面上に表示させるステップとを実行する、印刷制御方法。
【請求項10】
前記クライアントコンポーネントが、前記中間データを生成するステップを実行し、
前記印刷制御方法は、さらに、前記クライアントコンポーネントが、生成された前記中間データを前記サーバコンポーネントへ転送するステップを含む、請求項9に記載の印刷制御方法。
【請求項11】
前記ジョブ処理状況を前記画面上に表示させるステップは、ジョブ処理中に前記印刷装置でエラーが発生した場合に、当該印刷装置からエラー情報を取得し、前記エラー情報を前記画面上に表示させるステップを含む、請求項9または10に記載の印刷制御方法。
【請求項12】
照合した結果、該当する前記出力先が得られない場合、前記画面上に前記出力先の印刷装置を選択させる選択画面を表示させるステップを含む、請求項9〜11のいずれか1項に記載の印刷制御方法。
【請求項13】
前記決定するステップでは、前記印刷装置の選択に応答して、選択された前記印刷装置を監視させるとともに、選択された前記印刷装置を出力先となる印刷装置として決定する、請求項12に記載の印刷制御方法。
【請求項14】
印刷中止の指示を受け付けたことに応答して、前記画面上に印刷を中止した旨を表示させ、前記中間データを削除するステップを含む、請求項12に記載の印刷制御方法。
【請求項15】
前記印刷設定情報を前記設定ファイルの内容に書き換えて、前記出力先の情報とともに送付するステップを含む、請求項9〜13のいずれか1項に記載の印刷制御方法。
【請求項16】
請求項9〜15のいずれか1項に記載の印刷制御方法を実行するためのコンピュータ可読なプログラム。
【請求項17】
請求項16に記載のプログラムが記録された記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−194621(P2012−194621A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−56177(P2011−56177)
【出願日】平成23年3月15日(2011.3.15)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願日】平成23年3月15日(2011.3.15)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]