(57)【要約】【課題】本発明は、ネットワーク上の全てのプリンタの機能を最大限活用することを可能にする新規なデータ処理装置を提供することを目的とする。【解決手段】  データ処理装置は、クライアントに表示された印刷ダイアログは、ネットワーク上の全てのプリンタが実行可能な全ての印刷条件を指定可能に表示する。データ処理装置は、ユーザからの印刷要求に応答して、印刷ポリシーに則って定義された対応付けテーブルに基づき暫定的な発送先プリンタを決定するとともに、当該プリンタがユーザによって指定された全ての印刷条件を実行することができるか否かを判断する。実行できないと判断した場合には、指定された全ての印刷条件を実行することができる代替プリンタを検索する。データ処理装置は、所定の変更ルールに抵触しない場合にのみ、発送先を暫定的に決定したプリンタから代替プリンタに変更する。【選択図】図２
2013061904.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して複数のクライアントおよび複数のリモートプリンタに接続され、アプリケーション実行部から受領したジョブデータに基づいて印刷ジョブを実行するデータ処理装置であって、該データ処理装置は、
前記ジョブデータごとに作業空間を生成して、該ジョブデータに含まれるイメージデータを描画データにイメージ変換する仮想プリンタドライバと、
前記ジョブデータごとにプライベートインスタンスとして生成される発送処理部を含み、
前記発送処理部は、
複数のリモートプリンタの機能に対応する全ての印刷条件を指定可能に表示する印刷条件設定用ＵＩを生成して、前記クライアントに表示させるＵＩ表示部と、
印刷要求元識別情報に紐付けられたリモートプリンタを出力データの暫定的な発送先として決定する発送先制御部と、
前記暫定的な発送先が前記印刷条件設定用ＵＩを介して指定された全ての印刷条件を実行することができるか否かを判断し、実行できないと判断した場合には、前記複数のリモートプリンタの中から前記指定された全ての印刷条件を実行することができる代替のリモートプリンタを検出し、該代替のリモートプリンタを前記発送先制御部に通知する発送先調整部と
を含み、
前記発送先制御部は、前記発送先調整部から通知されたリモートプリンタを発送先として確定する、
データ処理装置。
【請求項２】
前記発送先調整部は、
前記代替のリモートプリンタを発送先とすることが予め定義された変更ルールに抵触するか否かを判断し、該変更ルールに抵触しないと判断した場合にのみ、該代替のリモートプリンタを前記発送先制御部に通知する、
請求項１に記載のデータ処理装置。
【請求項３】
前記発送先調整部は、
前記代替のリモートプリンタを発送先とすることが前記変更ルールに抵触すると判断した場合には、暫定的な発送先として決定された前記リモートプリンタを前記発送先制御部に通知する、
請求項２に記載のデータ処理装置。
【請求項４】
前記変更ルールは、
代替の発送先として割り当てることが許容されるリモートプリンタ、
代替の発送先を割り当てることが許容されるユーザ、
代替の発送先を割り当てることが許容されるクライアント、
代替の発送先に変更することが許容される印刷条件、
代替の発送先に変更することが許容される印刷文書の文書名、
代替の発送先に変更することが許容されない印刷文書の文字列、
のうちの少なくとも一つを定義する、
請求項２または３に記載のデータ処理装置。
【請求項５】
ネットワークを介して複数のクライアントおよび複数のリモートプリンタに接続され、アプリケーション実行部から受領したジョブデータに基づいて印刷ジョブを実行するデータ処理装置を、
前記ジョブデータごとに作業空間を生成して、該ジョブデータに含まれるイメージデータを描画データにイメージ変換する仮想プリンタドライバと、
前記ジョブデータごとにプライベートインスタンスとして生成される発送処理手段
として機能させ、前記発送処理手段が、
複数のリモートプリンタの機能に対応する全ての印刷条件を指定可能に表示する印刷条件設定用ＵＩを生成して、前記クライアントに表示させるＵＩ表示手段と、
印刷要求元識別情報に紐付けられたリモートプリンタを出力データの暫定的な発送先として決定する発送先制御手段と、
前記暫定的な発送先が前記印刷条件設定用ＵＩを介して指定された全ての印刷条件を実行することができるか否かを判断し、実行できないと判断した場合には、前記複数のリモートプリンタの中から前記指定された全ての印刷条件を実行することができる代替のリモートプリンタを検出し、該代替のリモートプリンタを前記発送先制御手段に通知する発送先調整手段と
を含み、
前記発送先制御手段は、前記発送先調整手段から通知されたリモートプリンタを発送先として確定する、
を含む、コンピュータ実行可能なプログラム。
【請求項６】
前記発送先調整手段は、
前記代替のリモートプリンタを発送先とすることが予め定義された変更ルールに抵触するか否かを判断し、該変更ルールに抵触しないと判断した場合にのみ、該代替のリモートプリンタを前記発送先制御手段に通知する、
請求項５に記載のプログラム。
【請求項７】
前記発送先調整手段は、
前記代替のリモートプリンタを発送先とすることが前記変更ルールに抵触すると判断した場合には、暫定的な発送先として決定された前記リモートプリンタを前記発送先制御手段に通知する、
請求項６に記載のプログラム。
【請求項８】
前記変更ルールは、
代替の発送先として割り当てることが許容されるリモートプリンタ、
代替の発送先を割り当てることが許容されるユーザ、
代替の発送先を割り当てることが許容されるクライアント、
代替の発送先に変更することが許容される印刷条件、
代替の発送先に変更することが許容される印刷文書の文書名、
代替の発送先に変更することが許容されない印刷文書の文字列、
のうちの少なくとも一つを定義する、
請求項６または７に記載のプログラム。
【請求項９】
請求項５〜８のいずれか一項に記載されたプログラムを記録したコンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷出力のためのデータ処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザがアプリケーションから仮想プリンタドライバを選択して印刷を実行する際に、振り分けのためのルールが記載された設定ファイルの情報に基づいて印刷先のプリンタを自動的に選択する印刷システムが知られている。この点につき、特開２０１１−８５８２号公報（特許文献１）は、印刷要求元の属性に応じて印刷先を自動的に決定する印刷システムを開示する。
【０００３】
しかし、従来の印刷先自動振り分けシステムにおいては、ネットワーク上のどのプリンタが出力先に選ばれても問題が生じないように、印刷ダイアログ上で指定できる印刷条件をネットワーク上の全てのプリンタが共通して備える基本機能に限定していたため、各プリンタの機能を十分に活用しきれていなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、上記従来技術における課題に鑑みてなされたものであり、本発明は、ネットワーク上の全てのプリンタの機能を最大限活用することを可能にする新規なデータ処理装置、プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明者は、ネットワーク上の全てのプリンタの機能を最大限活用することを可能にする新規なデータ処理装置につき鋭意検討した結果、ネットワークを介して複数のクライアントおよび複数のリモートプリンタに接続され、アプリケーション実行部から受領したジョブデータに基づいて印刷ジョブを実行するデータ処理装置であって、該データ処理装置は、前記ジョブデータごとに作業空間を生成して、該ジョブデータに含まれるイメージデータを描画データにイメージ変換する仮想プリンタドライバと、前記ジョブデータごとにプライベートインスタンスとして生成される発送処理部を含み、前記発送処理部は、複数のリモートプリンタの機能に対応する全ての印刷条件を指定可能に表示する印刷条件設定用ＵＩを生成して、前記クライアントに表示させるＵＩ表示部と、印刷要求元識別情報に紐付けられたリモートプリンタを出力データの暫定的な発送先として決定する発送先制御部と、前記暫定的な発送先が前記印刷条件設定用ＵＩを介して指定された全ての印刷条件を実行することができるか否かを判断し、実行できないと判断した場合には、前記複数のリモートプリンタの中から前記指定された全ての印刷条件を実行することができる代替のリモートプリンタを検出し、該代替のリモートプリンタを前記発送先制御部に通知する発送先調整部とを含み、前記発送先制御部は、前記発送先調整部から通知されたリモートプリンタを発送先として確定するデータ処理装置の構成に想到し、本発明に至ったのである。
【図面の簡単な説明】
【０００６】
【図１】本実施形態のネットワークプリントシステムを示す図。
【図２】本実施形態のデータ処理装置の機能ブロック図。
【図３】本実施形態における発送管理テーブルを示す図。
【図４】本実施形態における対応付けテーブルを示す図。
【図５】本実施形態のデータ処理装置が実行する処理のフローチャートを示す図。
【図６】本実施形態における印プリンタ情報管理テーブルを示す図。
【図７】本実施形態における変更ルール定義ファイルを示す図。
【発明を実施するための形態】
【０００７】
以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜、その説明を省略するものとする。
【０００８】
図１は、本発明の実施形態であるデータ処理装置１１０を含んで構成されるネットワークプリントシステム１００を示す。ネットワークプリントシステム１００は、データ処理装置１１０と、パーソナルコンピュータとして参照される複数のクライアント１１２と、複数のリモートプリンタ１２２とを含んで構成され、各装置がＬＡＮやＶＰＮなどとして参照されるネットワーク１３０を介して相互に接続されている。
【０００９】
本実施形態のデータ処理装置１１０は、好ましくは、サーバ装置として実装され、シングルコア、マルチコアのＣＰＵ、ＲＯＭ、実行空間を提供するＲＡＭ、ハードディスク装置などを含み、Ｗｉｎｄｏｗｓ（登録商標）２００Ｘサーバ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、Ｓｏｌａｒｉｓ（登録商標）などのＯＳによる制御の下、印刷データの印刷先を制御する。また、データ処理装置１１０とクライアント１１２の間は、ＲＤＰ（Remote Desktop Protocol）などの適切な遠隔接続プロトコルを使用してトランザクションが可能とされている。
【００１０】
各クライアント１１２は、クライアント・サーバ環境においては、それぞれがアプリケーションプログラムを実装し、各種処理を完結するファットクライアントとして実装される。また、クライアント１１２をシンクライアントとして実装することもできる。この場合、クライアント１１２は、専ら、アプリケーションを搭載するデータ処理装置１１０に対してサービス要求を発行し、処理結果を受領し、処理結果の印刷要求をデータ処理装置１１０に対して発行する機能のみを実装する。
【００１１】
本実施形態のデータ処理装置１１０は、クライアント１１２からの印刷要求および印刷データを受領すると、印刷先となるリモートプリンタ１２２を決定し、当該印刷データに対応するＲＡＷデータを作成した後、これに、ＰＤＬ（Page Description Language）コマンドの追加処理などを行って出力データを生成して決定した印刷先に宛てて送信する。
【００１２】
図２は、本実施形態のデータ処理装置１１０の機能ブロック図を示す。図２に示すように、データ処理装置１１０は、データ処理部２１０と、アプリケーション実行部２１２とを含んで構成される。なお、図２は、シンクライアント環境におけるデータ処理装置１１０を例示しており、データ処理部２１０とアプリケーション実行部２１２とが一体化してデータ処理装置１１０を構成しているが、クライアント１１２がファットクライアントとして実装される場合には、クライアント１１２が、図２に示すアプリケーション実行部２１２の機能を保有するように構成してもよく、ネットワークプリントシステム１００内に別途ターミナルサーバを設ける場合には、図２に示す破線をネットワーク境界として、左手側の機能部２１２をターミナルサーバとして実装してアプリケーション実行部２１２を実装し、データ処理装置１１０は、データ処理部２１０のみを含むプリンタサーバとして実装してもよい。
【００１３】
さらに、データ処理装置１１０は、図２に示した各機能部が適切な単位でネットワーク上に分散配置されたネットワークシステムとして構成することもできる。その他、想定されるどのような装置構成も本発明の作用・効果を奏する限り、本発明の範囲に含まれる。
【００１４】
アプリケーション実行部２１２は、アプリケーション２１４と、印刷要求元通知部２１６とを含んで構成されており、ネットワーク１３０を介してクライアント１１２の印刷要求を受領して処理を実行する。実行結果は、アプリケーション２１４によるプリント指令イベントの発生に応答して、ＧＤＩ（Graphical Device Interface）などのＡＰＩコールを経てプリントジョブ（以下、単にジョブとして参照する。）とした後、ジョブデータをデータ処理部２１０に送付する。
【００１５】
ここで、クライアント１１２の印刷要求は、ユーザが、印刷条件設定用ＵＩ（以下、印刷ダイアログとして参照する）を介して所望の印刷条件を設定し、印刷実行を決定することに応答してアプリケーション２１４に送付される。以下、後述する発送処理部２４０のＵＩ表示部２４８が生成する印刷ダイアログについて説明する。
【００１６】
本実施形態のネットワークプリントシステム１００においては、ネットワーク１３０上に接続される各プリンタ１２２は、全てが同じ機種・スペックではなく、あるプリンタが備える機能を他のプリンタが備えないといったことが前提となる。
【００１７】
この点につき、本実施形態におけるＵＩ表示部２４８は、ネットワーク１３０上に接続される各プリンタ１２２の機能に対応する全ての印刷条件を指定できるような印刷ダイアログを生成する。すなわち、ネットワーク１３０上に接続されているプリンタ１２２が共通して有する基本的な機能（DEVMODE構造体のPublic領域に定義される)に加え、ベンダーごとに定義される拡張機能(DEVMODE構造体のPrivate領域に定義される)についても、選択できるような印刷ダイアログを生成する。
【００１８】
理解の容易のために具体例をもって説明する。仮に、ネットワーク上にプリンタＡ、プリンタＢ、プリンタＣという３台のプリンタが接続されており、プリンタＡが基本機能Ｘに加えてＡ１という拡張機能を有し、プリンタＢが基本機能Ｘに加えてＢ１、Ｂ２という拡張機能を有し、プリンタＣが基本機能Ｘに加えてＣ１という拡張機能を有しているとする。この場合、ＵＩ表示部２４８は、基本機能Ｘに加え、Ａ１、Ｂ１、Ｂ２、Ｃ１という拡張機能を全て選択できるような印刷ダイアログを生成する。以下、このＵＩ表示部２４８が生成するこの印刷ダイアログを「共通印刷ダイアログ」として参照する。
【００１９】
ユーザは、クライアント１１２に表示された共通印刷ダイアログを介して所望の印刷条件を設定し、印刷実行を指示すると、これに応答して、アプリケーション実行部２１２は、ジョブデータをデータ処理部２１０に送付する。
【００２０】
アプリケーション２１４は、クライアント１１２からの印刷要求を受領すると、データ処理部２１０に対して、新たなジョブが開始したことを通知する。
【００２１】
印刷要求元通知部２１６は、印刷要求元の識別情報（以下、印刷要求元識別情報として参照する）をクライアント１１２から受領し、データ処理部２１０の発送処理部２４０が含む後述するＵＩ表示部２４８に対して、当該印刷要求元識別情報およびプロセスＩＤを送付する。ここで、印刷要求元識別情報とは、印刷要求元であるクライアントまたはユーザを一意に識別できる情報であればよく、印刷要求元であるクライアントのクライアントＩＤ、当該クライアントにログインしているユーザのユーザＩＤあるいは当該クライアントのＩＰアドレスやＭＡＣアドレスなどとすることができる。
【００２２】
データ処理部２１０は、仮想プリンタドライバ２１８と、アプリケーション２１４から送付されたジョブデータをスプールファイルとして格納するためのジョブ格納部２２６と、イメージ処理部２３６と、印刷要求元に応じて印刷先を決定するとともに、当該印刷先に対応するリモートドライバ２５０Ａ〜２５０Ｃに印刷出力すべきデータを送付するための発送処理部２４０とを含んでいる。
【００２３】
仮想プリンタドライバ２１８は、仮想プリント管理部２２０と、ジョブ情報データ抽出部２２２と、仮想描画部２２４とを含んで構成されている。仮想プリンタドライバ２１８は、アプリケーション２１４からジョブデータを受領すると、仮想プリント管理部２２０を呼出し、当該ジョブデータを、アプリケーション２１４がジョブを仮想プリンタドライバ２１８に依頼した時点で生成されたプロセスＩＤと関連付けてジョブ格納部２２６に格納する。
【００２４】
本実施形態におけるジョブデータは、イメージデータとジョブ情報データを含んで構成される。イメージデータは、ビットマップ、ＪＰＥＧ、ＧＩＦなどの低次イメージフォーマットデータ、描画コードを含むＥＭＦ、Ｐｏｓｔｓｃｒｉｐｔ（登録商標）、ＰＤＦ、ＸＰＳなどの高次イメージフォーマットデータとして参照することができる。一方、ジョブ情報データは、先述した印刷要求元識別情報（クライアントＩＤ、ユーザＩＤ、ＩＰアドレスなど）、印刷設定情報、印刷対象の文書名などから構成される印刷情報を含む。
【００２５】
ここで、印刷設定情報とは、ユーザが共通印刷ダイアログを介して設定する各種印刷設定（カラー／モノクロ、片面／両面、倍率、用紙サイズ、Ｎｉｎ１、解像度、省コストモード等）に係る情報をいう。
【００２６】
仮想プリント管理部２２０は、仮想描画部２２４とジョブ情報データ抽出部２２２を呼出す。呼び出された仮想描画部２２４は、ジョブ格納部２２６からジョブデータが含むイメージデータ２３４をジョブ毎に処理するために、作業空間２３０ａ〜２３０ｃを確保し、それぞれにジョブ毎のイメージデータ２３４を移動する。
【００２７】
一方、呼び出されたジョブ情報データ抽出部２２２は、ジョブ格納部２２６に格納されたジョブデータからジョブ情報データを抽出して作業空間２３０に格納する。以上、仮想プリンタドライバ２１８の基本構成とこれがジョブ毎に展開する作業空間２３０ａ〜２３０ｃについて説明してきたが、続いて、発送処理部２４０について、以下説明する。
【００２８】
仮想プリンタドライバ２１８は、アプリケーション実行部２１２からジョブデータを受領すると、当該ジョブのための発送処理部２４０としてプライベートインスタンス２４０ａ〜２４０ｃを生成する。プライベートインスタンス２４０ａ〜２４０ｃは、データ発送部２４１と、発送先制御部２４２と、対応付けテーブル２４３と、前出したＵＩ表示部２４８を含み、さらに、発送先調整部２４４と、プリンタ情報管理テーブル２４５と、変更ルール定義ファイル２４６と含んで構成される。
【００２９】
データ発送部２４１は画像処理モジュールとして実装されるイメージ処理部２３６に対して、自身のジョブに対応する作業空間２３０のイメージデータ２３４を取得させ、当該作業空間２３０内のジョブ情報データ２３２に含まれる印刷情報に基づいて、ページ割り当て、面付けなどの処理を実行させる。その後、データ発送部２４１は、発送先制御部２４２が後述した手順で決定した印刷先リモートプリンタ１２２に対応するリモートドライバ２５０Ａ〜２５０Ｃに対して、当該作業空間２３０内のイメージデータ２３４の印刷指令を発行する。
【００３０】
なお、データ発送部２４１は、図３に例示する発送管理テーブル３００を管理する。発送管理テーブル３００は、アプリケーション２１４がジョブを仮想プリンタドライバ２１８に依頼した時点で生成されたプロセスＩＤと、発送先制御部２４２が後述した手順で決定した発送先プリンタＩＤと、ジョブ情報データ２３２に含まれる印刷情報とが対応付けて登録されている。印刷情報には、印刷要求元識別情報（印刷要求元のユーザＩＤ、印刷要求元クライアントのクライアントＩＤ、ＩＰアドレス等）、印刷設定情報、文書名、ジョブ情報等が含まれる。
【００３１】
データ発送部２４１から印刷指令を受けた出力先のリモートドライバ２５０Ａ〜２５０Ｃは、当該、ポートモニタなどへとＲＡＷ形式の出力データを送付し、決定された出力先に印刷出力させる。その後、出力先から印刷完了の通知を受けてジョブ毎に生成された発送処理部２４０のインスタンスは終了する。
【００３２】
以上、説明したように、本実施形態のデータ処理部２１０においては、仮想プリンタドライバ２１８と発送処理部２４０が分担してジョブ単位で処理を実行するために、作業空間２３０ａ〜２３０ｃは、仮想プリンタドライバ２１８および発送処理部２４０の両方からアクセス可能な記憶領域として、ジョブ毎に独立したスプール空間を構成する。
【００３３】
次に、発送処理部２４０が出力データの発送先を自動的に決定する処理について説明する。
【００３４】
発送処理部２４０の発送先制御部２４２は、図４に示す対応付けテーブル２４３を管理する。対応付けテーブル２４３は、印刷要求元識別情報（図４の場合は、ユーザＩＤ）と、印刷設定（モノクロ／カラー）と、発送先とすべきリモートプリンタ１２２のプリンタＩＤとを紐付けて管理している。
【００３５】
対応付けテーブル２４３は、データ処理装置１１０の管理者がユーザの属性（職務、役職、勤務エリアなど）に基づき、印刷ポリシーに則って作成する。図４に示す例においては、「User0001」は、モノクロ印刷設定のみが許容され、「Printer0005」が常に割り当てられる一方で、「User0003」は、モノクロ印刷設定のときは「Printer0012」が割り当てられ、カラー印刷設定のときは「Printer0025」が割り当てられるように定義されている。なお、これらはあくまで例示であり、印刷要求元識別情報をクライアントＩＤやＩＰアドレスとすることもでき、あるいは、ユーザＩＤとクライアントＩＤの組み合わせを印刷要求元識別情報としてもよい。
【００３６】
発送先制御部２４２は、出力データの発送先を決定するにあたり、ジョブ情報データ２３２の印刷情報に含まれる印刷要求元識別情報（図４の場合は、ユーザＩＤ）をキーとして対応付けテーブル２４３を参照し、印刷要求元識別情報に紐付けられたプリンタＩＤを持つリモートプリンタ１２２を出力データの発送先として暫定的に決定する。以下、この段階で決定されるリモートプリンタ１２２を暫定プリンタとして参照する。
【００３７】
このとき、発送先制御部２４２が決定した暫定プリンタが、ユーザが選択した印刷条件に対応する全ての機能を備えている場合には問題は生じない。しかしながら、前出の共通印刷ダイアログが各ベンダーの拡張機能を網羅的に設定できるように構成されているため、発送先制御部２４２が決定した暫定プリンタがユーザの選択した印刷条件の全てに対応できないケースが発生しうる。
【００３８】
この点につき、発送先制御部２４２は、発送先調整部２４４に対して、暫定プリンタが、ユーザによって指定された全ての印刷条件を実行することができるか否かを問い合わせる。発送先調整部２４４は、発送先制御部２４２からの問い合わせを受け、暫定プリンタが、ユーザによって指定された全ての印刷条件を実行することができるか否かを判断し、実行可能でないと判断した場合は、ユーザが指定した全ての印刷条件を実行可能な代替プリンタを変更先として発送先制御部２４２に通知する。以下、発送先調整部２４４が実行する処理について、図５に基づいて説明する。
【００３９】
図５は、発送先調整部２４４が実行する処理を示したフローチャートである。発送先制御部２４２は、対応付けテーブル２４３に基づいて暫定プリンタを決定した後、暫定プリンタのプリンタＩＤとジョブ情報データ２３２の印刷情報を送付して発送先調整部２４４に問い合わせる。この印刷情報には、先述したように、印刷要求元識別情報（クライアントＩＤ、ユーザＩＤ、ＩＰアドレスなど）および印刷設定情報（カラー／モノクロ、片面／両面、倍率、用紙サイズ、Ｎｉｎ１、解像度、省コストモード等の印刷条件）が含まれる。発送先調整部２４４は、暫定プリンタのプリンタＩＤおよび印刷に係る印刷設定情報を受領する（ステップ１０１）。
【００４０】
次に、発送先調整部２４４は、ステップ１０２において、暫定プリンタが、ユーザによって指定された全ての印刷条件を実行可能か否か（すなわち、暫定プリンタが、ユーザの印刷設定に対応する機能を有しているか否か）を確認する。具体的には、発送先制御部２４２から受領した暫定プリンタのプリンタＩＤをキーとしてプリンタ情報管理テーブル２４５を検索する。
【００４１】
図６は、プリンタ情報管理テーブル２４５を例示する。プリンタ情報管理テーブル２４５においては、ネットワーク１３０に接続された全てのリモートプリンタ１２２のプリンタＩＤと、各リモートプリンタ１２２が有する機能が紐づけて管理されている。発送先調整部２４４は、暫定プリンタのプリンタＩＤをキーとしてプリンタ情報管理テーブル２４５を検索し、暫定プリンタのプリンタＩＤに紐づけられた全機能を検出した上で、当該機能（すなわち、設定可能な印刷条件）と印刷情報に含まれる印刷設定情報（印刷条件）を対比し、暫定プリンタの機能が設定された全ての印刷条件に対応しているか否かを判断する。
【００４２】
その結果、設定された全ての印刷条件に対応していると判断された場合には（ステップ１０３、Ｙｅｓ）、ステップ１０４に進み、発送先を暫定プリンタに確定する旨を発送先制御部２４２に通知し、処理を終了する。一方、暫定プリンタの機能が設定された全ての印刷条件に対応していない判断された場合は（ステップ１０３、Ｎｏ）、ステップ１０５に進む。
【００４３】
ステップ１０５において、発送先調整部２４４は、発送先制御部２４２から受領した印刷情報に含まれる印刷設定情報（印刷条件）をキーとしてプリンタ情報管理テーブル２４５を検索し、設定された印刷条件に対応する機能を全て有するプリンタ（以下、代替候補プリンタとして参照する）を検索する。
【００４４】
その結果、代替候補プリンタが検出されなかった場合は（ステップ１０６、Ｎｏ）、ステップ１０４に進み、発送先を暫定プリンタに確定する旨を発送先制御部２４２に通知し、処理を終了する。一方、代替候補プリンタが検出された場合は（ステップ１０３、Ｙｅｓ）、ステップ１０７に進む。
【００４５】
上述した手順によって、ユーザの印刷設定に対応しうる代替候補プリンタを検出することはできる。しかしながら、発送先制御部２４２が決定した発送先（暫定プリンタ）は、無条件に変更されるべきではない。なぜなら、そもそも、暫定プリンタは、管理者が定義する印刷ポリシーに則って選択されたものであるところ、代替候補プリンタの機種によっては、発送先を変更することが印刷ポリシーに抵触する虞があるからである。したがって、発送先の変更は、管理者の定義した印刷ポリシーを遵守できる限度内で行われるように配慮する必要がある。
【００４６】
例えば、カラー印刷を禁止されたユーザからの印刷要求を受けて発送先制御部２４２が決定した暫定プリンタ（モノクロプリンタ）について、ユーザが共通印刷ダイアログを介してカラー印刷を設定した場合、発送先調整部２４４は、ネットワーク１３０上に存在するカラープリンタを代替候補プリンタとして検出するであろう。このとき、発送先を無条件に代替候補プリンタ（カラープリンタ）に変更したのでは、印刷ポリシーを有形無実化することになるので、このような変更は認められるべきではない。
【００４７】
一方、同じく、カラー印刷を禁止されたユーザからの印刷要求を受けて発送先制御部２４２が決定した暫定プリンタ（モノクロプリンタ）がトナーセーブモードを備えておらず、ユーザが共通印刷ダイアログを介してトナーセーブモードを設定した場合、ネットワーク１３０上にトナーセーブモードを備える別のモノクロプリンタが存在するのであれば、このモノクロプリンタに発送先を変更することは、管理者の定義した印刷ポリシーに実質的に抵触するものはなく、ユーザの利便性に鑑みれば、このような変更は許容されてしかるべきである。
【００４８】
この点につき、発送先調整部２４４は、予め定義された変更ルール定義ファイルを参照して、ステップ１０５で検出された代替候補プリンタおよび印刷情報の内容に対して変更ルールを適用する（ステップ１０７）。
【００４９】
図７は、変更ルール定義ファイル２４６を例示する。変更ルール定義ファイルは、複数のルールから構成され、各ルールは、「Key」と「Value」の組み合わせで定義される。なお、図７は、６つのルールから構成される変更ルール定義ファイル２４６を例示したが、本実施形態は、ルールの数を限定するものではない。
【００５０】
変更ルール定義ファイル２４６においては、ルールの適用順位（優先順位）が定められており、発送先調整部２４４は、定められた適用順位に従って、代替候補プリンタおよび印刷条件に対して変更ルールを適用する。
【００５１】
ルール１は、「Key」として「代替の発送先として割り当てられることが許容されるプリンタ」を定義し、「Value」として、許容されるプリンタのプリンタＩＤを格納している。
【００５２】
ルール２は、「Key」として「代替の発送先を割り当てることが許容されるユーザ」を定義し、「Value」として、許容されるユーザのユーザＩＤを格納している。
【００５３】
ルール３は、「Key」として「代替の発送先を割り当てることが許容されるクライアント」を定義し、「Value」として、許容されるクライアンのクライアントＩＤを格納している。
【００５４】
ルール４は、「Key」として「代替の発送先に変更することが許容される印刷条件」を定義し、「Value」として、許容される印刷条件群を格納している。
【００５５】
ルール５は、「Key」として「代替の発送先に変更することが許容される印刷文書の文書名」を定義し、「Value」として、許容される文書名を格納している。
【００５６】
ルール６は、「Key」として「代替の発送先に変更することが許容されない印刷文書の文字列」を定義し、「Value」として、許容されない文字列を格納している。
【００５７】
発送先調整部２４４は、ステップ１０５において検出された代替候補プリンタのプリンタＩＤ、印刷情報に含まれる印刷要求元識別情報（ユーザＩＤ、クライアントＩＤ）および文書名について、ルール１〜ルール５を適用し、ルールを満たすか否かを判断する。また、ルール６については、発送先調整部２４４が作業空間２３０にアクセスし、テキストを保持する形式のイメージデータ（ＥＭＦ、ＰＤＦ、ＰｏｓｔＳｃｒｉｐｔ（登録商標）など）を解析することによって、印刷文書が定義された文字列を含むか否かを判断する。
【００５８】
なお、ステップ１０７においては、上述した６つのルールが図７に示す適用順位に従って適用され、いずれかのルールが満たされない時点で、変更ルールに抵触すると判断し（ステップ１０８、Ｎｏ）、ステップ１０４に進む。ステップ１０４においては、暫定プリンタのプリンタＩＤを発送先制御部２４２に通知し、処理を終了する。
【００５９】
一方、ルール１〜ルール６を全て満たした場合は、変更ルールに抵触しないと判断し（ステップ１０８、Ｙｅｓ）、ステップ１０９に進む。ステップ１０９においては、検出された代替候補プリンタのプリンタＩＤを発送先制御部２４２に通知し、処理を終了する。
【００６０】
発送先制御部２４２は、発送先調整部２４４からの通知を受領すると、当該通知に含まれるプリンタＩＤ（暫定プリンタのプリンタＩＤまたは代替候補プリンタのプリンタＩＤ）と、プロセスＩＤおよびジョブ情報データ２３２とをデータ発送部２４１に通知する。
【００６１】
発送先制御部２４２からの通知に応答して、データ発送部２４１は、イメージ処理部２３６に対して、自身のジョブに対応する作業空間２３０のイメージデータ２３４を取得させ、当該作業空間２３０内のジョブ情報データ２３２に含まれる印刷情報に基づいて、ページ割り当て、面付けなどの処理を実行させる。その後、データ発送部２４１は、発送先制御部２４２から通知された発送先のプリンタＩＤ（暫定プリンタＩＤまたは代替候補プリンタＩＤ）を有するリモートプリンタ１２２を特定し、当該リモートプリンタ１２２に対応するリモートドライバ２５０Ａ〜２５０Ｃに対して、当該作業空間２３０内のイメージデータ２３４の印刷指令を発行する。
【００６２】
以上、説明したように、本実施形態によれば、ネットワーク上のプリンタの機能を、管理者の定義した印刷ポリシーを遵守できる限度内で最大限に活用することが可能になる。
【００６３】
本実施形態の上記機能は、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【００６４】
以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００６５】
１００  ネットワークプリントシステム
１１０  データ処理装置
１１２  クライアント
１２２  リモートプリンタ
１３０  ネットワーク
２１０  データ処理部
２１２  アプリケーション実行部
２１４  アプリケーション
２１６  印刷要求元通知部
２１８  仮想プリンタドライバ
２２０  仮想プリント管理部
２２２  ジョブ情報データ抽出部
２２４  仮想描画部
２２６  ジョブ格納部
２３０  作業空間
２３２  ジョブ情報データ
２３４  イメージデータ
２３６  イメージ処理部
２４０  発送処理部
２４１  データ発送部
２４２  発送先制御部
２４３  対応付けテーブル
２４４  発送先調整部
２４５  プリンタ情報管理テーブル
２４６  変更ルール定義ファイル
２４８  ＵＩ表示部
２５０  リモートドライバ
３００  発送管理テーブル
【先行技術文献】
【特許文献】
【００６６】
【特許文献１】特開２０１１−８５８２号公報
【図１】
2013061904.tif 000003
【図２】
2013061904.tif 000004
【図３】
2013061904.tif 000005
【図４】
2013061904.tif 000006
【図５】
2013061904.tif 000007
【図６】
2013061904.tif 000008
【図７】
2013061904.tif 000009