(57)【要約】【課題】  データ処理装置、プリント出力制御方法、プログラムおよび記録媒体を提供すること。【解決手段】データ処理装置１１０は、ネットワーク１３０を介して出力するべき情報を取得し、取得した情報から出力要求元識別値を抽出する手段と、出力要求元識別値に紐付けられた出力先を選択する手段と、出力先で、デフォルト出力先を書換える手段と、出力先に対応したリモートドライバを呼出して出力先に適合したフォーマットの出力データに変換し、出力先に送付する手段とを含む仮想プリンタドライバ２３０は、出力データを送付した後、出力先の出力ステータスを監視し、出力エラーが発生した場合、データ処理装置１１０の監視手段に対し、出力エラーの発生を通知するＳＮＭＰモジュール２５０とを含んでいる。【選択図】図２
2010271988.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して出力先プリンタを選択するデータ処理装置であって、前記データ処理装置は、
前記ネットワークを介して出力するべき情報を取得し、取得した情報から出力要求元識別値を抽出する手段と、
前記出力要求元識別値に紐付けられた出力先を選択する手段と、
前記出力先で、デフォルト出力先を書換える手段と、
前記出力先に対応したリモートドライバを呼出して前記出力先に適合したフォーマットの出力データに変換し、前記出力先に送付する手段と、
前記出力データを送付した後、前記出力先の出力ステータスを監視し、出力エラーが発生した場合、前記データ処理装置の監視手段に対し、前記出力エラーの発生を通知する手段と
を含むデータ処理装置。
【請求項２】
前記出力先を選択する手段は、前記取得した情報の内容に応じて、前記出力先を選択する、請求項１に記載のデータ処理装置。
【請求項３】
前記出力先に送付する手段は、前記出力先を選択する手段が選択した前記出力先に適合したフォーマットとして前記出力データを変換する、請求項１または２に記載のデータ処理装置。
【請求項４】
前記出力要求元識別値に紐付けられた出力先が複数設定されている場合に、前記出力先を前記ネットワークを介した指令に応じて決定する、請求項１〜３のいずれか１項に記載のデータ処理装置。
【請求項５】
前記データ処理装置は、前記出力データを、ビットマップフォーマットとされた中間ファイルを使用して生成する、請求項１〜４のいずれか１項に記載のデータ処理装置。
【請求項６】
ネットワーク接続された出力先プリンタをデータ処理装置が選択するプリント出力制御方法であって、前記データ処理装置が、
前記ネットワークを介して出力するべき情報を取得し、取得した情報から出力要求元識別値を抽出するステップと、
前記出力要求元識別値に紐付けられた出力先を選択するステップと、
前記出力先で、デフォルト出力先を書換えるステップと、
前記出力先に対応したリモートドライバを呼出して前記出力先に適合したフォーマットの出力データに変換し、前記出力先に送付するステップと、
前記出力データを送付した後、前記出力先の出力ステータスを監視し、出力エラーが発生した場合、前記データ処理装置の監視手段に対し、前記出力エラーの発生を通知するステップと
を実行するプリント出力制御方法。
【請求項７】
前記出力先を選択するステップは、前記取得した情報の内容に応じて、前記出力先を選択するステップを含む、請求項６に記載のプリント出力制御方法。
【請求項８】
前記出力先に送付するステップは、前記出力先を選択するステップで選択された前記出力先に適合したフォーマットとして前記出力データを変換する、請求項６または７に記載のプリント出力制御方法。
【請求項９】
前記出力先を選択するステップは、前記出力要求元識別値に紐付けられた出力先が複数設定されている場合に、前記出力先を前記ネットワークを介した指令に応じて決定する、請求項６〜８のいずれか１項に記載のプリント出力制御方法。
【請求項１０】
前記出力先に送付するステップは、前記出力データを、ビットマップフォーマットとされた中間ファイルを使用して生成するステップを含む、請求項６〜９のいずれか１項に記載のプリント出力制御方法。
【請求項１１】
請求項１〜５のいずれか１項に記載の手段として情報処理装置を機能させるための情報処理装置実行可能なプログラム。
【請求項１２】
請求項１１に記載の装置実行可能なプログラムを記録した装置可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリント出力管理技術に関し、より詳細には、印刷要求を行った情報処理装置に関連付けて印刷出力先を制御する、データ処理装置、プリント出力制御方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
コンピュータの性能向上およびネットワーク技術の普及により、オフィス環境に設置された情報処理装置は、ネットワークに接続され、インターネット、ＳＡＮ(Storage Area Network)、サーバ、ネットワークプリンタなどにアクセスして各種の処理を行うことが多い。情報処理装置がネットワークに接続されていることは、上述したように、情報処理装置のアクセス能力を拡張するという利点を提供する。その一方で、情報処理装置がアクセスできる範囲が広がることから生じる問題もある。例えば、企業、病院、検査機関、官公庁など、個人情報や、機密情報を取り扱う情報処理装置では、文書ファイルを印刷する際、出力するプリンタを情報のレベルに対応して、出力するべきデータを動的に振り分けることが必要とされる場合も多い。
【０００３】
このような環境下、従来の情報処理装置では、印刷出力を指令する際のプリンタダイアログには、例えばＵＰｎＰやＢｏｎｊｏｕｒなどのプラグアンドプレイ技術の進歩により、ネットワーク上に接続され、情報処理装置が複数のアクセス可能なプリンタが選択可能となるように表示される。このため、プリント出力先を、特定の出力目的で切換えるなどの処理が必要な場合、従来のプリンタ選択方式では、出力先プリンタの指定を間違えて印刷出力を指令する場合も発生することが想定される。
【０００４】
そして、情報処理装置およびプリンタの印刷処理能力が向上するにつれ、印刷データへの変換処理も高速化し、一旦印刷出力を指令すると、その後にキャンセル指令を行ってもプリンタキューに残されているデータを除き、誤った出力先プリンタにおいて出力されてしまう。このため、個人情報や高度の機密性を要する文書ファイルを扱うユーザにあっては、上述した出力先プリンタの指定ミスは、重大な問題を生じさせることも想定される。このような不都合を解消するために、クライアントコンピュータ（以下、単にクライアントとして参照する。）のプリントダイアログに対してネットワーク上で利用可能なプリンタを全部表示させないように設定することもできる。
【０００５】
しかしながら、この方式では、複数の異なるベンダから提供されるプリンタを含んで構築されることが多いプリンタネットワークで統一的なプリント出力制御ができず、またクライアントについて個別的な設定が必要になることも想定され効率的な方法ということができない。
【０００６】
これまでも文書ファイルの出力先管理については、種々知られており、例えば、特開２００３−１４０８６７号公報（特許文献１）には、プリンタの電源オフ、用紙無しなどのプリンタのステータスに対応して出力するプリンタを自動振分けする技術が提案されている。
【０００７】
特許文献１に記載されたシステムは、プリンタのステータスに応答して他のプリンタへと出力先を切換えることで、無駄のないプリント出力を実行させることができる。しかしながら、特許文献１に記載されたシステムは、プリンタのステータスに応じて自動的に出力先プリンタを切換えるものであり、特定の情報処理装置やユーザが利用することができる出力先を管理するものではない。
【０００８】
さらに、プリンタのステータスに応答して他のプリンタを選択するだけでは、クライアントから誤ったプリンタに対して出力指令を発行してもプリンタがエラー状態となっていない場合、印刷出力は行われてしまい、プリント出力を制御するものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
すなわち、従来のシステムでは、プリンタのステータスに応じて、出力先プリンタを選択することや、ユーザがどのプリンタに出力するかを印刷前にユーザが指定することは可能とするが、その一方で、ユーザが出力先を間違えたまま印刷指令を行うと、文書ファイルが、意図しない出力先プリンタに出力されてしまい、個人情報や機密情報が漏洩してしまうという問題があった。また、従来のシステムでは、情報処理装置にアクセスするユーザに関連付けて出力先プリンタを指定し、誤った出力先プリンタが選択されたままでも情報処理装置やユーザに対して設定された出力先プリンタへと確実に出力を行い、機密性の高い文書ファイルの意図しない情報漏洩を防止することが必要とされていた。
【００１０】
さらに、ユーザが出力先のデフォルト設定がどのような状態なのかを気にすることなく、情報処理装置やユーザに固有の出力先プリンタへと出力を行うことが業務効率を向上しながら情報漏洩の可能性を最低化させる点で必要とされていた。また、複数ベンダからのプリンタが混在している場合でもプログラムの大きな修正や統合などを行うことなく、さらにファットクライアントに加えシンクライアントに対しても効率的にプリント出力制御を行うことが必要とされていた。
【００１１】
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、本発明は、ユーザが情報処理装置のプリンタ出力設定に関わらず、情報処理装置や情報処理装置にアクセスするユーザに関連付けて出力先プリンタとして設定された出力先に対して出力を可能とする情報処理装置、ネットワークプリントシステム、プリント出力制御方法、プログラムおよび記録媒体を提供することを目的とする。さらに、本発明では、複数のベンダからのプリンタが混在している環境においてもベンダの異同にかかわらず、出力先プリンタを制御することが可能な情報処理装置、ネットワークプリントシステム、プリント出力制御方法、プログラムおよび記録媒体を提供することを目的する。
【課題を解決するための手段】
【００１２】
本発明では、ネットワークを介して出力先プリンタを選択するデータ処理装置は、仮想プリンタドライバを含んで構成され、仮想プリンタドライバは、
前記ネットワークを介して出力するべき情報を取得し、取得した情報から出力要求元識別値を抽出する手段と、
前記出力要求元識別値に紐付けられた出力先を選択する手段と、
前記出力先で、デフォルト出力先を書換える手段と、
前記出力先に対応したリモートドライバを呼出して前記出力先に適合したフォーマットの出力データに変換し、前記出力先に送付する手段と、
前記出力データを送付した後、前記出力先の出力ステータスを監視し、出力エラーが発生した場合、前記データ処理装置の監視手段に対し、前記出力エラーの発生を通知する手段と
を含んでいて、文書ファイルの出力要求元の識別値に対応付けられたプリンタを選択して出力データを送付し、プリント出力を実行する。
【００１３】
そして、前記出力先を選択する手段は、前記取得した情報の内容に応じて、前記出力先を選択し、ラベル印刷、帳票印刷などに対応付けられたプリンタを適宜選択し、出力を行う。また、前記出力先に送付する手段は、前記出力先を選択する手段が選択した前記出力先に適合したフォーマットとして前記出力データを変換することで、印刷の目的に適合したプリンタを選択し、プリント出力する。
【００１４】
さらに、前記出力要求元識別値に紐付けられた出力先が複数設定されている場合に、前記出力先を前記ネットワークを介した指令に応じて決定することで、最適なプリンタの選択にも対応可能とする。そして、前記データ処理装置は、前記出力データを、ビットマップフォーマットとされた中間ファイルを使用して生成するので、ファットクライアントおよびシンクライアントのいずれに対しても、またこれらが混在している場合にも、プリント出力制御を可能とする。
【図面の簡単な説明】
【００１５】
【図１】本発明のデータ処理装置１１０を含むプリンタネットワーク１００の実施形態を示した図。
【図２】本実施形態のデータ処理装置１１０の機能ブロック２００を示した図。
【図３】本実施形態のデータ処理装置１１０が実行する処理のフローチャート。
【図４】図３に引き続く本実施形態のデータ処理装置１１０が実行する処理のフローチャート。
【図５】本実施形態で、発送先制御部２３８が管理する対応付けテーブルの実施形態を示した図。
【図６】本実施形態のステップＳ４０４の監視処理の詳細なフローチャート。
【図７】本実施形態で、出力データ発送部２３６が実行する処理のフローチャートを示した図。
【図８】本実施形態のプリンタネットワーク８００の第２の実施形態を示した図。
【図９】本実施形態のデータ処理サーバ８２０が実行する発送先制御処理のフローチャート。
【図１０】他の実施形態のデータ処理装置１０００の機能ブロック図。
【図１１】本実施形態のデータ処理装置１１０のプリンタ選択ダイアログ１１００の実施形態を示した図。
【図１２】本発明で、クライアント１１２〜１１８がシンクライアントとして実装される場合に表示される印刷設定ダイアログを示した図。
【発明を実施するための形態】
【００１６】
以下、本発明を実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本発明のデータ処理装置１１０を含むプリンタネットワーク１００の実施形態を示す。プリンタネットワーク１００は、オフィスなどに配置される複数のクライアント１１２、１１４、１１６、１１８が、ネットワーク１３０に接続されて構成されている。ネットワーク１３０には、データ処理装置１１０の他、プリンタサーバ１２０および例示的な実施形態では、ＭＦＰ１２２、レーザプリンタ１２４、１２６、インクジェットプリンタ１２８などのリモートプリンタが接続されている。本実施形態では、上述したＭＦＰ１２２、ページプリンタ１２４〜１２８を、以下、リモートプリンタとして総称する。
【００１７】
データ処理装置１１０は、図１に示す実施形態では、クライアント１１２〜１１８と、プリンタサーバ１２０との間で、印刷要求および印刷要求に対応する印刷データを取得し、クライアント１１２〜１１８に割当てられたリモートプリンタを判断し、当該クライアントに割当てられたリモートプリンタに宛てて、印刷データに対応するＲＡＷデータを作成する。作成されたＲＡＷデータは、例えばＰＤＬ(Page Description Language)コマンドの追加処理などが行われて出力データとされ、プリンタサーバ１２０を介して指定されたリモートプリンタ１２２〜１２８に送付される。リモートプリンタ１２２〜１２８は、クライアント１１２〜１１８に対応したリモートプリンタが印刷処理を実行する。
【００１８】
なお、本実施形態ではクライアント１１２〜１１８に対してリモートプリンタを割当てる際には、クライアントのハードウェア上の識別値、例えばＩＰアドレス、ＭＡＣアドレス(Media Access Control Address)、クライアントに付されたコンピュータ名、またはユーザのログイン名などを使用することができ、本実施形態では、これらの値を総じて、出力要求元識別値として参照する。また、本発明の好ましい実施形態では、クライアント１１２、１１４、１１６は、ＩＣカードリーダを備え、クライアント１１２、１１４、１１６の利用者を識別して利用者ごとに割当てたリモートプリンタに文書の印刷を可能としている。
【００１９】
データ処理装置１１０は、好ましい実施形態では、サーバ装置として実装され、シングルコア、マルチコアのＣＰＵ、ＲＯＭ、実行空間を提供するＲＡＭ、ハードディスク装置などを含み、Ｗｉｎｄｏｗｓ（登録商標）２００Ｘサーバ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、Ｓｏｌａｒｉｓ（登録商標）などのオペレーティングシステム（ＯＳ）による制御の下、印刷データの出力先を制御する。また、データ処理装置１１０と、クライアント１１２〜１１８の間は、ＲＤＰなどの適切な遠隔接続プロトコルを使用してトランザクションが可能とされている。
【００２０】
クライアント１１２〜１１８と、リモートプリンタ１２２〜１２８の割当てについては種々の態様が考えられる。例えば、特定の実施形態では、クライアントまたはユーザを固有に識別する出力要求元識別値ごとに出力先にリモートプリンタを割当てることができる。また、他の実施形態では、クライアントグループまたはユーザグループを設定し、これらのグループ単位で特定のリモートプリンタを割当てる態様も採用することができる。図１に示した実施形態では、クライアント１１２−リモートプリンタ１２２とが拠点１４０を構成し、各クライアントとプリンタとが対応付けられて拠点１５０、１６０を構成する。クライアントは拠点１４０〜１６０に複数存在することもでき、リモートプリンタについても各拠点に複数存在していてもよい。
【００２１】
プリンタサーバ１２０は、各リモートプリンタを管理しており、クライアント１１２〜１１８からの印刷要求を受領して、各クライアント１１２〜１１８に割当てられたリモートプリンタ１２２〜１２８に対して印刷データを送付し、印刷ジョブを実行させている。プリンタサーバ１２０についても好ましい実施形態では、サーバ装置として実装することができ、ハードウェア構成およびＯＳ構成については、データ処理装置１１０と同様の構成とすることができる。なお、プリンタサーバ１２０は、必ずしもサーバ装置として実装される必要はなく、パーソナルコンピュータに、プリンタサーバアプリケーションを実装して構成することもできる。
【００２２】
クライアント１１２〜１１８は、それぞれ同様の構成を有しており、ファットクライアント装置、例えば、それぞれがアプリケーションプログラムを実装し、各種処理を完結する、パーソナルコンピュータまたはワークステーションなどから構成することができる。ファットクライアントとしてクライアント１１２〜１１８を実装する場合、各クライアント１１２〜１１８は、シングルコア、マルチコアのＣＰＵを搭載し、ＲＡＭ、ＲＯＭ、ハードディスク装置、ネットワークインタフェースカード（ＮＩＣ）を含み、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、Ｍａｃ  ＯＳ（登録商標）などの適切なＯＳの下で、各リモートプリンタ１２２〜１２８へと印刷処理を依頼している。
【００２３】
ファットクライアントとして実装されるクライアント１１２〜１１８は、ハードディスク装置などからアプリケーションプログラムおよびデータをＲＡＭに読込んで、ＣＰＵがアプリケーションプログラムを実行させることにより、文書、イメージ、マルチメディアまたはこれらが複合的に組合わされた電子的データとして印刷対象とする文書ファイルを生成している。
【００２４】
また、他の実施形態では、クライアント１１２〜１１８は、いわゆるシンクライアントとして実装することができる。シンクライアントは、ネットワーク接続モジュール、ユーザ認証機能、セッション生成モジュールなど、専らデータ処理装置１１０に対してサービス要求を発行し、処理結果を受領して印刷出力を依頼する機能のみを実装する。クライアント１１２〜１１８がシンクライアントとして実装される場合では、クライアント１１２〜１１８は、アプリケーションにより処理を完了した場合、データ処理装置１１０に対して印刷要求を発行する。
【００２５】
データ処理装置１１０は、シンクライアントの要求に対応して作成した印刷データを、仮想プリンタドライバに渡し、印刷処理を実行させる。なお、仮想プリンタドライバについてより詳細に後述する。
【００２６】
リモートプリンタ１２２〜１２８は、図１に示した実施形態では、リモートプリンタ１２４〜１２６は、ネットワークインタフェースカード（ＮＩＣ）を実装し、プリンタサーバ１２０からの印刷データを、ネットワーク１３０を介して受領し、印刷ジョブを実行する。なお、ＭＦＰ１２２は、ネットワークボードでネットワーク１３０に接続されたリモートプリンタとして実装することもできるし、プリント機能の他、プリンタサーバの機能を含んで実装することができる。
【００２７】
ネットワーク１３０は、１０００Ｂａｓｅ−ＴＸなどのイーサネット（登録商標）、光ネットワーク、ＩＥＥＥ８０２．１１などの規格の無線ネットワークを含んで構成することができ、フレームまたはＴＰＣ／ＩＰプロトコルに基づくパケット通信によって、相互通信を行う。ネットワーク１３０は、ＬＡＮの他、ＶＰＮ(Virtual Private Network)などによるセキュア環境下でインターネットなどの広域ネットワークを含んで構成されていてもよい。
【００２８】
図１に示した実施形態では、例えば、クライアント１１２は、リモートプリンタ１２２に出力先が割当てられ、クライアント１１４、１１６は、リモートプリンタ１２４に割当てられており、クライアント１１６については、さらにリモートプリンタ１２６にも割当てられている。クライアント１１６に関してリモートプリンタ１２４と、１２６のいずれかを出力先として選択するかは、印刷するべき文書ファイルの内容や印刷物の用途などにより選択される。これらのプリンタ割当ては、それぞれブロック１４０、１５０、１６０として示されている。
【００２９】
図２は、本実施形態のデータ処理装置１１０の機能ブロック２００である。なお、図２に示すように、データ処理装置１１０は、複数の機能手段を含んで構成され、これらの機能手段は、ＲＡＭなどにプログラムを読込んで、ＣＰＵがプログラムを実行することによりコンピュータ上に実現されている。
【００３０】
図２に示すように、データ処理装置１１０は、ネットワークインタフェース部２１０と、アプリケーション実行部２２０とを含んで構成されている。図２に示した実施形態では、データ処理装置１１０は、シンクライアントネットワークインタフェース２１０は、ネットワーク１３０を介してＴＣＰ／ＩＰプロトコルなどに基づくデータを受領し、アプリケーション実行部２２０の処理結果をネットワーク１３０を介して外部出力する。アプリケーション実行部２２０は、受領した処理要求およびデータを使用してクライアント１１２〜１１８の指令に対応する処理を実行し、実行結果を作成する。アプリケーション実行部２２０は、クライアント１１２〜１１８からの印刷要求に応答して、実行結果から印刷データを作成し、指定したリモートプリンタから印刷出力させる。
【００３１】
データ処理装置１１０は、さらに仮想プリンタドライバ２３０と、リモートプリンタの機種固有データを作成するため、リモートプリンタ１２２〜１２８に対応したリモートドライバ２４０〜２４６とを含んでいる。仮想プリンタドライバ２３０は、アプリケーション実行部２２０からの呼出しを受領すると起動され、印刷要求を発行したクライアント１１２〜１１８、ユーザ名、または印刷データ自体が含む特定の情報、例えば、価格表、診療レセプト、発注伝票などのテキスト、イメージデータなどから出力要求元識別値を取得し、出力要求元識別値に割当てられたリモートプリンタを識別する。その後、仮想ドライバは、識別されたリモートプリンタ１２２〜１２８に対応するリモートドライバ２４０〜２４６を呼出して、出力させるべきリモートプリンタの機種固有のＲＡＷデータを作成させる。
【００３２】
リモートドライバ２４０〜２４６は、プリンタサーバ１２０からデータ処理装置１１０にダウンロードされ、仮想プリンタドライバ２３０によって呼出されて、ＲＡＷデータの作成を実行する。作成されたＲＡＷデータには、適宜、ＰＤＬコマンドなどページ制御言語コマンドまたはプリンタ制御言語コマンドが追加されて出力データが生成される。生成された出力データは、リモートドライバ２４０〜２４６のスプーラおよびポートモニタを介してプリンタサーバ１２０に送付され、ネットワーク１３０を介して指定されたリモートプリンタに送付され、印刷ジョブの後、指定されたリモートプリンタにおいて、印刷出力が実行される。
【００３３】
上述した処理を実行するため、本実施形態では、仮想プリンタドライバ２３０は、中間ファイル作成部２３２と、中間ファイル管理部２３４と、出力データ発送部２３６とを含んで実装される。中間ファイル作成部２３２は、アプリケーション実行部２２０が作成した実行結果を処理し、出力要求元識別値を、実行結果から分離した後、テキストデータおよびイメージデータから、ページイメージを、ビットマップ、ＧＩＦ、ＴＩＦＦ、ＪＰＥＧ、ＪＰＥＧ２０００、汎用性および画像忠実性などの観点から、ビットマップなどのフォーマットとして、ページイメージの中間ファイルを作成する。作成した中間ファイルは、出力要求元識別値に対応付けて中間ファイル管理部２３４に格納される。一方、中間ファイル作成部２３２は、受領した実行結果全部について、中間ファイルを作成するまで処理を反復する。
【００３４】
中間ファイルの作成が終了した後、各中間ファイルには、固有のファイル名が生成されて、印刷要求を発行した出力要求元識別値とともにジョブ情報として統合され、中間ファイル管理部２３４に格納される。ジョブ情報は、作成したページイメージのファイル名、出力要求元識別値、およびジョブ情報などを参照させるリストファイルとして構成することができる。中間ファイル作成部２３２は、中間ファイルの作成が終了すると、出力データ発送部２３６に対して、作成したジョブ情報のファイル名などのジョブ情報を送付し、中間ファイル管理部２３４が管理する中間ファイルおよび出力要求元識別値の読み取りを可能とする。
【００３５】
また、出力データ発送部２３６は、ジョブ情報を参照して中間ファイル管理部２３４にアクセスし、中間ファイルおよび出力要求元識別値を読込んだ後、発送先制御部２３８に対して出力要求元識別値を送付し、当該出力要求元識別値に割当てられたリモートプリンタを、対応付けテーブルをルックアップして検索させる。発送先制御部２３８は、対応付けテーブルを参照して、リモートプリンタを指定するための構成情報を検索した後、出力要求元識別値に対応するプリンタ構成情報を、出力先プリンタ情報として取得する。発送先制御部２３８は、その後、出力データ発送部２３６の発送先を指定するデータの記述位置を検索し、検索された記述位置の発送先を、検索された出力要求元識別値に割当てられた出力先プリンタ情報で書換えることで、発送先を更新する。
【００３６】
出力データ発送部２３６は、発送先制御部２３８により発送先の更新が終了するまでその処理をサスペンドしており、発送先の更新が終了した後、対応するリモートドライバ２４０〜２４６のいずれかを呼出して、中間ファイルからのＲＡＷデータの作成、ＰＤＬコマンドの追加処理を実行させ、スプーラ、ポートモニタを介してネットワーク１３０を介してプリンタサーバ１２０に発送する。プリンタサーバ１２０は、受領した出力データに関連付けられたリモートプリンタに出力データを送付し、印刷ジョブを実行させ、クライアントに割当てられたリモートプリンタから印刷物の作成を可能とする。上述した発送制御部２３８は、既存のプリンタネットワークシステムへの追加を容易にするため、プラグインプログラムとして実装することができる。
【００３７】
なお、図２に示した仮想プリンタドライバ２３０の実装構成は、例示的な実施形態であり、本実施形態の仮想プリンタドライバ２３０の機能を提供することができる限り、図２に示すモジュール構成に限定されるものではない。また、仮想プリンタドライバ２３０の出力データ発送部２３６および発送先制御部２３８については、プラグインプログラムとして提供することもでき、既存のプリンタドライバの追加機能として最小のプログラム資源の修正でデータ処理装置１１０上に実装させることができる。
【００３８】
また、図２には、監視モジュール２５０が、ＳＮＭＰプロトコルを利用して実装されており、図２に示した実施形態では、プリンタサーバ１２０の管理するリモートプリンタのステータスの監視を実行する。監視モジュール２５０は、プリンタのステータスが出力エラーとなった場合に通知を受領し、クライアント１１２〜１１８、プリンタサーバ１２０、または管理者端末にエラーを通知することができる。
【００３９】
図３は、本実施形態のデータ処理装置１１０が実行する処理のフローチャートである。図３に示す処理は、ステップＳ３００から開始し、ステップＳ３０１で、仮想プリンタドライバ２３０が選択され、各種設定を登録する。なお、この登録は、データ処理装置１１０の管理者などが専用のＧＵＩ(Graphical User Interface)を介して行われる。なお、図２に示した実施形態の場合、実行結果は、データ処理装置１１０がクライアント１１２〜１１８の要求に対応して作成し、仮想プリンタドライバ２３０に渡す。ステップＳ３０２で、仮想プリンタドライバ２３０は、文書ファイルを出力するジョブをクライアント１１２〜１１８から受領し、中間ファイルの作成を開始する。
【００４０】
ステップＳ３０３では、受領した文書ファイルについて全部をページイメージである中間ファイルに変換したか否かに基づいて中間ファイルの作成が終了したか否かを判断する。ステップＳ３０３の判断で、中間ファイルの作成が終了していないと判断された場合（ｎｏ）、ステップＳ３０６で、中間ファイル作成部２３２にデータを戻し、中間ファイルの作成を継続させ、ステップＳ３０３で、中間ファイルの作成が終了した（ｙｅｓ）と判断されるまで処理を反復させる。
【００４１】
一方、ステップＳ３０３で中間ファイルの作成が終了したと判断された場合（ｙｅｓ）、ステップＳ３０４で、作成した中間ファイルに固有のファイル名を付して、要求発行元のクライアントまたはユーザの出力要求元識別値、およびジョブ情報とともに、中間ファイル作成部２３２が管理する中間ファイル管理部２３４に送付し格納させる。そして、格納した各情報を参照させるためのジョブ情報を作成し、バッファリングする。その後、ステップＳ３０４では、中間ファイルおよび出力要求発行元識別値の読み取りを可能とするため出力データ発送部２３６にジョブ情報を通知する。
【００４２】
ステップＳ３０５では、発送先制御部２３８は、出力データ発送部２３６から印刷要求元の出力要求元識別値を取得して、対応付けテーブルからリモートプリンタを固有に指定するローカルプリンタ名を取得する。そして、取得したローカルプリンタ名を、リモートプリンタのネットワーク１３０での構成情報を登録するプリンタ情報リストから検索し、ローカルプリンタ名が一致した構成情報を、出力先プリンタ情報として取得する。出力先プリンタ情報を取得した後、制御をポイントＡから図４の処理に渡す。
【００４３】
図４は、本実施形態のデータ処理装置１１０が実行する図３に後続する処理のフローチャートを示す。ステップＳ４００では、図３のポイントＡから制御を渡され、対応する出力先プリンタ情報が対応付けテーブルに登録されているか否かを判断する。ステップＳ４００の判断の結果、対応付けテーブルに登録されていると判断された場合（ｙｅｓ）、制御をステップＳ４０１に渡す。ステップＳ４０１では、データ処理装置１１０に出力先プリンタのリモートドライバが存在するか否かを、ジョブ情報が含むリモートプリンタの情報および出力要求元識別値を参照して検索する。
【００４４】
ステップＳ４０１の検索の結果、出力先プリンタに対応するリモートドライバが存在すると判断した場合（ｙｅｓ）、ステップＳ４０２で、情報が存在している場合、発送先制御部２３８は、出力データ発送部２３６の発送先を、出力先プリンタ情報で書換え、ステップＳ４０３で、出力データ発送部２３６の処理を再開させ、出力先プリンタに対応するリモートドライバを呼出して、中間ファイルからＲＡＷデータを作成し、さらにＰＤＬコマンド追加の処理を実行させ、スプーラ、ポートモニタを介して作成された出力データを、指定されたリモートプリンタに送付して印刷ジョブを実行させる。
【００４５】
また、ステップＳ４００で、対応する出力先プリンタ情報が登録されていないと判断した場合（ｎｏ）、ステップＳ４０６で、ネットワーク１３０に対して出力先とするべきプリンタのＩＰアドレス、ローカルプリンタ名などを送付し、プリンタ情報を取得し、出力先プリンタ情報を書換え、ステップＳ４０４被制御を渡し、作成したＲＡＷデータを出力先のプリンタに送付する。ステップＳ４０６では、例えば、ＵＰｎＰ、Ｂｏｎｊｏｕｒなどの機能を利用することができる。ただし、本実施形態では、出力先プリンタの問合わせを発行するのが出力要求元からの印刷指令を受領したことを契機とする。
【００４６】
さらに、ステップＳ４０１で、出力先プリンタのリモートドライバが存在しないと判断された場合（ｎｏ）ステップＳ４０５で、出力先プリンタのリモートドライバを、ＵＰｎＰやＢｏｎｊｏｕｒなどのプロトコルをクライアントからの印刷要求に応答して実行し、出力先プリンタに問合わせインストールする。このため、プリンタネットワークにおいて随時的にプリンタ構成が変わっても、データ処理装置１１０に出力先プリンタが正しく設定されている限り、出力先の変更や追加に柔軟に対応でき、印刷出力の確実性やシステム安定性を向上させることができる。
【００４７】
文書ファイルの印刷物は、本実施形態にしたがい、指定されたリモートプリンタから出力される。しかしながら、本実施形態では、印刷を要求したユーザは、本来的にはどのプリンタから出力されるのかを意識せずに印刷指令を発行する。このため、ユーザは、直接印刷状態のステータス通知を受けても対応することができない場合もある。このため、本実施形態では、ステップＳ４０４で、データ処理装置１１０は、ＲＡＷデータを送付したプリンタのステータスをＳＮＭＰプロトコルを使用してモニタする。モニタの結果、出力先として指定されたプリンタが印刷に失敗したとデータ処理装置１１０が判断した場合、例えば、当該プリンタを管理するプリンタサーバ１２０や管理者端末などに対して通知を送付し、当該印刷に失敗したことを通知して、当該障害ステータスの復旧を促す。
【００４８】
なお、プリンタサーバ１２０または管理者端末は、サービスアプリケーションとしてＳＮＭＰマネージャを実装し、ＳＮＭＰクライアントとして登録されるデータ処理装置１１０からの通知を、モニタする監視手段として機能する。また、ユーザがステータスの通知を受領したステータスに対応することが想定できる場合では、クライアント１１２〜１１８が監視手段となってもよい。なお、この目的のため、プリンタ１２２〜１２８、データ処理装置１１０は、ＭＩＢなどを使用して自機の状態を公開し、プリンタサーバ１２０や管理者端末に対する印刷状態の通知を可能とする。本実施形態を使用することで、印刷出力先のプリンタがどのベンダから提供されるものであっても、データ処理装置１１０は、プリンタネットワークを管理するプリンタサーバ１２０や管理者端末に対してプリンタのステータスを通知することが可能となり、プリンタネットワークのベンダ多様化に柔軟に対応することができる。
【００４９】
図５は、本実施形態で、発送先制御部２３８が管理する対応付けテーブル５００の実施形態を示す。対応付けテーブル５００Ａは、クライアント１１２〜１１８の出力要求元識別値として、クライアントが入力するＩＰアドレスやＩＣカードなどから読み取ったユーザ名を使用し、ＩＰアドレスまたはユーザ名と、当該ユーザ名について割当てるべきプリンタのローカルプリンタ名とを対応付けて登録する。なお、ＩＰアドレスは、対応付けテーブル５００Ａに示すような単独の値ではなく、特定のグループなどに対応付けることができるように、サブネットマスクなどで指定されたＩＰアドレス範囲とすることができる。
【００５０】
対応付けテーブル５００Ｂは、出力要求元識別値として、ユーザ名を使用し、リモートプリンタを固有に識別するためのプリンタ名を、ローカルプリンタＡなどとして、対応付けて登録している。なお、ユーザ名に対応付けて出力先を管理する実施形態では、ユーザがアクセスしているクライアントにかかわらず、ユーザに対応して出力先プリンタを固定することができ、この際、ユーザは、端末が変更してもクライアントに対してプリンタ設定の変更を入力せずとも確実に設定された出力先に送付できるので、操作性および文書ドキュメントのセキュリティ確保の面で効率化を可能とする。図５に示した対応付けテーブル５００は、データ処理装置１１０の管理者が、適切なデータベースを使用して入力することができる。
【００５１】
また、本実施形態では、特定のＩＰアドレスが割り当てられたクライアントおよびユーザ名などを連結し、同一のユーザでも異なるクライアントで作業する場合には、異なる出力先プリンタに出力させる構成とすることもできる。
【００５２】
対応付けテーブル５００Ｃは、出力先の紐付けを行う際に、ユーザといった出力要求元識別値に加え、出力内容を組み合わせて制御するために使用する実施形態である。対応付けテーブル５００Ｃでは、さらにユーザに対して複数のネットワークプリンタが割り当てられていて、それぞれプリンタ名としてローカルプリンタＣおよびローカルプリンタＤとされている。
【００５３】
出力内容は、例えば帳票印刷や、ラベル印刷ではプリンタ機能も異なり、また帳票印刷であってもフォーマットや出力機能が異なるため、これらの相違に基づいて出力先を制御するために利用される。なお、出力内容は、ジョブ情報としてクライアントから渡されることもできるし、データ処理装置が、ジョブ情報の文書ファイルの内容を使用して判断することができる。また、複数のリモートプリンタが割り当てられている場合には、登録上位のプリンタ名をデフォルト設定として選択可能にクライアント１１２〜１１８に問合わせおよび追加選択を可能とすることができる。
【００５４】
図６は、図４で示したステップＳ４０４の出力先プリンタのステータスを監視する処理の詳細なフローチャートである。図６に示した処理は、ステップＳ６００で、図４のステップＳ４０３から制御を渡されて開始する。ステップＳ６０１では、ＲＡＷデータを作成し、ＰＤＬコマンドなどの追加を行った後、ＲＡＷデータを含む印刷出力指令を発行する。ステップＳ６０２では、出力先プリンタのステータスは正常か否かを判断する。ステップＳ６０２の判断でステータスが正常であると判断した場合（ｙｅｓ）、ステップＳ６０３で、出力先プリンタから印刷完了通知を受領したか否かを判断する。
【００５５】
印刷が完了していない場合（ｎｏ）、処理をステップＳ６０２に戻し、印刷完了の通知を受領するまで出力先プリンタのステータスを検査し、印刷完了まで、出力先プリンタのステータスを監視する。なお、データ処理装置１１０の当該処理は、データ処理装置１１０がＳＮＭＰマスタとして機能し、出力先プリンタがＳＮＭＰスレーブとして機能することにより直接検査することができ、ステータス変化については、trapコマンドを利用し、ステータス状態については、出力先プリンタがＭＩＢを使用して公開することによりデータ処理装置１１０が取得する。
【００５６】
一方、ステップＳ６０２で、出力先プリンタのステータスが異常であると判断された場合（ｎｏ）、ステップＳ６０５でデータ処理装置１１０は、プリンタサーバ１２０または管理者端末に通知を行い、プリンタサーバ１２０または管理者端末にエラーダイアログを表示させる。出力先プリンタのステータスの異常を検出すると、データ処理装置１１０は、仮想プリンタドライバ２３０のステータス異常として識別し、プリンタサーバ１２０または管理者端末にtrapコマンドを送付する。
【００５７】
プリンタサーバ１２０または管理者端末は、ＳＮＭＰマネージャサービスを起動しており、当該trapコマンドを受領すると、データ処理装置１１０のＭＩＢを検査し、仮想プリンタドライバの障害内容を取得して対応するエラーダイアログをそのデスクトップ画面に表示し、ステップＳ６０６でエラー対策の方法を表示するテキスト画面などをエラーダイアログに表示させる。その後処理を、ステップＳ６０２に戻し、ステータスが正常となるまで、文書ファイルの残りのデータを保持し、印刷の完了を保証する。
【００５８】
出力先プリンタのステータスが正常となり、ステップＳ６０３で、印刷するべきデータが終了することによりデータ処理装置１１０が印刷完了の通知を受領すると、ステップＳ６０４で、印刷完了ダイアログをクライアントのデスクトップ画面上に表示し、ステップＳ６０７で、ステータスチェックを完了する。
【００５９】
図７は、本実施形態で、出力データ発送部２３６が実行する処理のフローチャートを示す。発送先制御部２３８は、出力データ発送部２３６から印刷要求の発行元の出力要求元識別値の通知を受領すると、対応付けテーブル５００をルックアップして出力先プリンタ情報を取得する。その後、発送先制御部２３８は、出力データ発送部２３６が作成した、例えばＧＤＩインスタンスのリモートプリンタ情報の記述されている領域を検出し、取得した出力先プリンタ情報で書換え、書換終了を出力データ発送部２３６に通知する。
【００６０】
当該通知を受領して出力データ発送部２３６は、書換えられた値を使用してリモートドライバ２４０〜２４６のいずれかに対応するリモートドライバを呼び出し、中間ファイルのＲＡＷデータへの変換処理を実行させるとともに必要なＰＤＬコマンドの追加を実行し、スプーラ・ポートモニタを呼出して指定されたリモートプリンタへと印刷データを送付することで、出力先制御を実行する。以下、さらに詳細に出力データ発送部２３６の処理について説明する。
【００６１】
図７の処理は、出力データ発送部２３６が実行する処理であり、処理は、仮想プリンタドライバ２３０が呼出された時点であるステップＳ７００から開始し、ステップＳ７０１で、中間ファイル作成部２３２から、中間ファイルのジョブ情報を受領する。ジョブ情報には、作成された中間ファイルに固有のファイル名およびクライアントまたはユーザを特定する印刷要求元識別値、ジョブ識別値などの読出しを可能とする情報が含まれる。ステップＳ７０２では、中間ファイル管理部２３４から、格納情報を参照して中間ファイルおよび出力要求元識別値を読出し、読出した各情報のうち、出力要求元識別値を発送先制御部２３８に送付する。
【００６２】
この段階では、デフォルト設定の出力先プリンタ情報は、直接対応する実プリンタを管理しない仮想プリンタドライバに予め設定されたダミープリンタの値が設定されており、仮想プリンタドライバ２３０は、データ処理装置１１０からの呼出しを受ける、発送先制御部２３８による発送先の書換え終了の通知を受領するまでwaitする。書換え完了は、プロセス間通信を使用して行うことができる。このため仮想プリンタドライバ２３０は、出力するべきプリンタが設定されるまで当該プリントセッションを持続させる。
【００６３】
仮想プリンタドライバ２３０がデフォルト設定のダミープリンタに対応した特定のプリントインスタンスを生成する場合に使用するＤＥＶＭＯＤＥ構造体は、接続されているリモートプリンタの最上位機種に対応する設定が使用され、接続されているリモートプリンタの最上位機種から下位機種に対応することが可能とされている。この際、当該下位機種が保有していない機能や設定については、リモートプリンタのプリンタ情報を参照しながら設定をスキップして、機種固有のＲＡＷデータの作成およびＰＤＬコマンドの追加を実行する。
【００６４】
ステップＳ７０３で、出力データ発送部２３６は、出力要求元識別値に対応するリモートプリンタのジョブ情報で出力先プリンタ情報が書換えられると、書換えられたリモートドライバを呼出してＲＡＷデータおよびＰＤＬコマンドなどを含む出力データを作成する。なお、この際には、ＰＤＬコマンドの追加処理も実行することができる。その後、ステップＳ７０４では、作成した出力データをスプーラおよびポートモニタに渡し、対応するリモートプリンタに宛てて作成した出力データを送付しステップＳ７０５で処理を終了する。
【００６５】
図８は、本実施形態のプリンタネットワーク８００の第２の実施形態を示す。プリンタネットワーク８００は、ネットワーク８８０に接続されたアプリケーションサーバ８１０を含んで構成されている。アプリケーションサーバ８１０は、ネットワーク８８０に接続された複数のクライアント８１２〜８１８からのアプリケーションサービス要求を専ら処理し、処理結果を要求元のクライアントに返す処理を行う。
【００６６】
クライアント８１２〜８１８は、図８の実施形態では、シンクライアントとして構成することもできるがファットクライアントとして実装することもでき、特に限定されるものではない。例えば、図８に示したアプリケーションサーバ８１０は、業務サーバまたはウェブ・サーバとして実装することもできる。アプリケーションサーバ８１０は、アプリケーションにより処理を完了した場合、図１のクライアント１１２〜１１８からの印刷要求を受領する。
【００６７】
アプリケーションサーバ８１０は、印刷要求を受領すると、アプリケーションサーバの実行結果を、例えば、ＦＴＰプロトコル、ＨＴＴＰプロトコル、ソケットなどのネットワーク通信などを使用してデータ処理サーバ８２０に送付する。データ処理サーバ８２０は、本実施形態のデータ処理装置の機能を実装しており、データ処理サーバ８２０は、アプリケーションサーバ８１０から、実行結果および印刷要求を発行したクライアントのユーザ名を受領すると、プリントセッションを生成する。
【００６８】
プリントセッションを生成した時点で、アプリケーションサーバ８１０は、ユーザ名をキーとして対応付けられた出力先プリンタ名を取得すると、データ処理サーバ８２０に応答として返す。識別値は、図５に示したように、ＩＰアドレスやユーザ名とすることができる。
【００６９】
ネットワーク８８０には、プリンタサーバ８７０が接続されていて、第１の実施形態と同様に、接続されたリモートプリンタ８１２ａ、８１４ａ、８１６ａ、８１８ａの制御および管理を実行する。なお、図８で説明する実施形態では、クライアント８１２〜８１８が、それぞれリモートプリンタ８１２ａ〜８１８ａに出力を行うように制御されていて、各クライアントと、リモートプリンタとは、それぞれ専用の出力サイト、例えば、カルテ出力、診療レセプト出力、調薬指示出力などを独立して構成していて、特定のユーザからの文書ファイルの出力が、特定のローカルプリンタにより出力される構成となっている。
【００７０】
なお、発送先制御部８３８の他の実施形態では、ログイン名をアプリケーションサーバ８１０に送付するのではなく、生成したプリントセッションのセッションＩＤをアプリケーションサーバに送付し、当該プリントセッションを要求したクライアントまたはログイン名をセッションＩＤをキーとして検索させ、応用として、ＩＰアドレス、ユーザ名などを取得することができる。
【００７１】
図８に示したデータ処理サーバ８２０は、本実施形態のデータ処理装置１１０として機能するが、図２に示したデータ処理装置１１０に比較して、アプリケーション実行部２２０がアプリケーションサーバ８１０として分離された構成とされている点で、発送先制御部８３８の機能を除き、概ね同様な機能を有する。
【００７２】
データ処理サーバ８２０は、アプリケーションサーバ８１０から印刷要求および実行結果を受領し、印刷要求に含まれるユーザのログイン名を抽出する。その後、仮想プリンタドライバ８３０を呼出して、実行結果から中間ファイルとしてページイメージを作成する。中間ファイルの作成終了後、固有のファイル名およびログイン名を中間ファイル管理部８３４に格納する。その後、中間ファイル作成部８３２は、中間ファイルのファイル名およびログイン名などを含むジョブ情報を、出力データ発送部８３６に送付する。
【００７３】
出力データ発送部８３６は、ファイル名およびログイン名を含むジョブ情報を受領すると、発送先制御部８３８に対してログイン名を通知する。発送先制御部８３８は、図８の実施形態では、ログイン名を受領すると、アプリケーションサーバ８１０の、セッション管理モジュール（Session Management Module: ＳＭＭ）８６０に対して問い合わせを発行し、当該ログイン名で識別されるクライアント８１２〜８１８のＩＰアドレス、ＭＡＣアドレス、印刷データが含む情報またはコンピュータ名などを取得する。なお、本実施形態では、この目的のために専用のセッション管理モジュールを実装するのではなく、例えば、ＦＴＰプロトコルやＳＮＭＰプロトコルを使用して、現在当該セッション名で指定されるジョブ内容を、例えばダウンロードファイルやＭＩＢなどにコピーし、データ処理装置８２０に対して公開する形式として実装することができる。
【００７４】
その後、発送先制御部８３８は、取得した出力要求元識別値を参照し、対応付けテーブル５００Ａ〜５００Ｃのいずれかまたは複数を使用してリモートプリンタ名を決定し、さらに対応付けテーブル５００を参照して出力先プリンタ情報を取得する。その後、発送先制御部８３８は、出力データ発送部８３６がその時点で管理するデフォルト設定の出力先プリンタ情報を、取得した出力先プリンタ情報で書換え、書換終了を出力データ発送部８３６に通知する。出力データ発送部８３６は、当該通知を受領した後、指定するリモートドライバ８４０〜８４６のいずれか呼び出して中間ファイルからＲＡＷデータを作成し、ＰＤＬコマンドの追加処理を実行させ、スプーラ・ポートモニタを介してプリンタサーバ８７０に出力データを送付し、指定したリモートプリンタでの出力を可能としている。
【００７５】
また、図８には、監視モジュール８５０が実装されていてプリンタサーバ８７０の管理するリモートプリンタのステータスの監視を実行している、監視モジュール８５０は、ＳＮＭＰモジュールとして実装され、プリンタのステータスが出力エラーとなった場合に通知を受領し、クライアント８１２〜８１８、プリンタサーバ８７０、または管理者端末にエラーを通知することができる。
【００７６】
図９は、本実施形態のデータ処理サーバ８２０が実行する発送先制御処理のフローチャートを示す。図９の処理は、ステップＳ９００でアプリケーションサーバ８１０からの接続要求を受領した時点から開始し、ステップＳ９０１でアプリケーションサーバからシンクライアントの印刷要求を受領する。ステップＳ９０２で、印刷要求に含まれるログイン名などを使用して出力要求元識別値を、アプリケーションサーバに問合わせて取得し、ステップＳ９０３で、出力要求元識別値に対応付けられたＩＰアドレスまたはＭＡＣアドレスなどの出力要求元識別値を取得する。
【００７７】
その後、ステップＳ９０４で、取得した出力要求元識別値をキーとして、対応付けテーブル５００をルックアップして出力先プリンタ情報を取得する。その後、取得した出力先プリンタ情報で、出力データ発送部８３６の出力先プリンタ情報を書換え、書換えが終了した段階で、出力データ発送部８３６に通知する。そして、ステップＳ９０５では、リモートドライバが作成したＲＡＷデータに対してＰＤＬコマンドなどを追加し、スプーラ・ポートモニタを介してプリンタサーバ８７０に出力データを送付した後、ローカルドライバによる出力を行わせ、ステップＳ９０６で処理を終了し、以後の印刷要求を待機する。
【００７８】
図１０は、本実施形態のデータ処理装置１０００の他の実施形態の機能ブロック図である。図１０に示したデータ処理装置１０００は、図２および図８に示した仮想プリンタドライバ２３０、８３０が、仮想プリンタドライバ１０４０および印刷実行部１０５０に機能的に分離されていることを除き、他の機能は、図２および図８で説明した実施形態と共通する。このため、仮想プリンタドライバ１０４０および印刷実行部１０５０の機能について詳細に説明する。
【００７９】
図１０の実施形態では、仮想プリンタドライバ１０４０は、中間ファイル作成部１０４２と、中間ファイル管理部１０４４とを含む構成とされていて、専ら中間ファイルおよびジョブ情報を作成し、ジョブ情報を印刷実行部１０５０に送付する。印刷実行部１０５０は、出力データ発送部１０４６と、発送先制御部１０４８とを含んで構成される。出力データ発送部１０４６は、中間ファイル管理部１０４４から中間ファイルを、ジョブ情報にしたがって抽出する。発送先制御部１０４８は、印刷要求が含む出力要求元識別値を取得して発送先を選択する。また、データ処理装置１０１０がアプリケーション実行部を含まず、他の情報処理装置として独立した構成とされている実施形態では、遠隔的に設置されたアプリケーションサーバが含むセッション管理モジュール（ＳＭＭ）に出力要求元識別値を問合わせ、発送先を選択する。
【００８０】
その後、発送先制御部１０４８は、出力データ発送部１０４６がその時点で管理するデフォルト設定の出力先プリンタ情報を、取得した出力先プリンタ情報で書換え、書換終了を出力データ発送部１０４６に通知する。出力データ発送部１０４６は、当該通知を受領した後、指定するリモートドライバ１０６０〜１０６６のいずれか呼び出して中間ファイルからＲＡＷデータを作成し、ＰＤＬコマンドの追加処理を実行させ、スプーラ・ポートモニタを介してプリンタサーバ１０７０に出力データを送付し、指定したリモートプリンタ１０８０での出力を可能としている。
【００８１】
図１０に示した実施形態では、複数のクライアントが仮想プリンタドライバ１０４０に対して大量の印刷ジョブを送付した場合、仮に特定のリモートドライバがエラーで停止しても、他のジョブは影響を受ける可能性を低減でき、プリンタネットワークシステムのロバスト性を向上させることができる。
【００８２】
図１１は、本実施形態のデータ処理装置１１０のプリンタ選択ダイアログ１１００の実施形態を示す。図１１に示されるように、本実施形態のデータ処理装置１１０は、仮想プリンタドライバのみをインストールしているだけで、出力先の制御が可能となる。このため、ユーザは、プリンタ選択ダイアログ１１００に表示された複数のプリンタから出力を選択するべきプリンタを選択するという煩雑な操作無しに、クライアントまたはユーザ名またはクライアントおよびユーザ名の組み合わせに対応したプリンタを選択し、確実な出力が可能とされる。
【００８３】
図１１に示した実施形態では、データ処理装置１１０は、プリンタ選択ダイアログ１１１０にプリンタエージェント１１１０として仮想プリンタドライバがインストールされているのが示されている。プリンタエージェント１１１０は、クライアントからの出力要求の内容を解析し、自己が管理する対応付けテーブル５００を参照して、データ処理装置１１０が登録するリモートドライバを選択して起動することで、出力先の選択を実行する。
【００８４】
なお、クライアント１１２〜１１８がファットクライアントとして実装されている場合には、クライアント１１２〜１１８は、ＵＰｎＰなどのプロトコルに対応して各種プリンタからのプリンタドライバの他、仮想プリンタドライバもリモートドライバとしてインストールする。このため、クライアントは仮想プリンタドライバ２３０の他、他のプリンタドライバも選択する可能性がある。このとき、クライアント１１２〜１１８側では、例えば中間ファイルフォーマットとしてデータ処理装置１１０に文書ファイルを送付する設定としておくことで、データ処理装置１１０で、出力先に適合したＲＡＷデータを作成し、各出力先に送付することができる。このため、本実施形態では、データ処理装置１１０の仮想プリンタドライバに加えられる負荷を軽減でき、処理効率を向上させることができるという効果も得られる。
【００８５】
しかしながら、クライアント１１２〜１１８から送付された出力要求が送付されるとデータ処理装置１１０側では、仮想プリンタドライバ２３０が最初に呼出されて出力先の指定が行われるので、クライアント１１２〜１１８にアクセスするユーザが異なる印刷出力設定を使用する場合でも、気にすることなく、ユーザが出力しなければならない出力先への出力が可能となる。
【００８６】
また、クライアント１１２〜１１８がシンクライアントとして実装される場合には、クライアント１１２〜１１８は、データ処理装置１１０に対して印刷要求を発行するだけですみ、クライアント端末、ユーザ名またはクライアント端末とユーザ名などの組み合わせに応じた出力先選択が可能となる。
【００８７】
図１２は、本発明で、クライアント１１２〜１１８がシンクライアントとして実装される場合に表示される印刷設定ダイアログを示す。図１２に示されるように、クライアント１１２〜１１８に表示される印刷設定ダイアログ１２００には、印刷のフォーマットおよび印刷枚数および印刷プレビューなどが表示されるシンプルな構成とされ、ユーザは、データ処理装置１１０が、クライアント端末やユーザ名などに基づいて指定される出力先プリンタを自動的に判断し、予め設定された出力先プリンタへと出力することができる。
【００８８】
また、データ処理装置１１０は、クライアント１１２〜１１８に代わってＵＰｎＰやＢｏｎｊｏｕｒなどのプラグアンドプレイプロトコルなどを利用して、ネットワークに接続される複数のベンダのプリンタのドライバをリモートドライバとして取得し、クライアント１１２〜１１８の印刷出力を制御するので、プリンタネットワークに対するプリンタの追加や複数ベンダのプリンタが混在するプリンタネットワークにかかわらず、最小の印刷指令の操作により、設定した出力先に文書ファイルの出力を可能とする。
【００８９】
以上説明したように、本発明によれば、パーソナルコンピュータやシンクライアントが複数の画像形成装置にアクセスすることが可能な現在のネットワークプリント環境で、ネットワークを介して接続されるクライアントコンピュータが常時同一のプリンタから出力することを可能とし、出力業務ごとの管理を効率化し、さらに情報セキュリティの向上を可能とする、データ処理装置、プリンタネットワークシステム、データ処理方法、プログラムおよび記憶媒体が提供できる。また、本発明によれば、アプリケーションサーバに対するアプリケーションモジュールの追加を行うことなく、最小のコストで、出力先を制御することが可能なデータ処理装置、プリンタネットワークシステム、データ処理方法、プログラムおよび記憶媒体が提供できる。
【００９０】
さらに、本発明によれば、シンクライアントに対して印刷するべきリモートプリンタのプリンタドライバの追加実装を排除して、より柔軟なネットワーク構成に対応しつつ、印刷出力の出力先管理を可能とする、データ処理装置、プリンタネットワークシステム、データ処理方法、プログラムおよび記憶媒体が提供できる。
【００９１】
本実施形態の上記機能は、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【００９２】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００９３】
１００…プリンタネットワーク、１１０…データ処理装置、１１２〜１１８…クライアントコンピュータ、１２０…プリンタサーバ、１２２〜１２８…リモートプリンタ（ＭＦＰ、ページプリンタ）、１３０…ネットワーク、１４０〜１６０…拠点、２００…機能ブロック（データ処理装置）、２１０…ネットワークインタフェース部、２２０…アプリケーション実行部、２３０…仮想プリンタドライバ、２３２…中間ファイル作成部、２３４…中間ファイル管理部、２３６…出力データ発送部、２３８…発送先制御部、２４０〜２４６…リモートドライバ
【先行技術文献】
【特許文献】
【００９４】
【特許文献１】特開２００３−１４０８６７号公報
【図１】
2010271988.tif 000003
【図２】
2010271988.tif 000004
【図３】
2010271988.tif 000005
【図４】
2010271988.tif 000006
【図５】
2010271988.tif 000007
【図６】
2010271988.tif 000008
【図７】
2010271988.tif 000009
【図８】
2010271988.tif 000010
【図９】
2010271988.tif 000011
【図１０】
2010271988.tif 000012
【図１１】
2010271988.tif 000013
【図１２】
2010271988.tif 000014