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