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