(57)【要約】【課題】  複数の情報処理装置においてユーザが実行を指示したジョブを取り扱う場合に、その取り扱いの条件を、容易かつ柔軟に変更できるようにする。【解決手段】  プリンタドライバの形式を備え、上記プリンタドライバが用いる設定データの形式で、１以上の条件毎に該条件が満たされた場合に実行すべき処理を示す条件情報を含む設定データを記憶するダミードライバ２１０に対し、上記設定データの送信を要求して上記設定データを取得し（Ｓ１５，Ｓ１６）、実行要求を受け付けたジョブが上記取得手順で取得した設定データに含まれる条件情報が示す条件に該当するか否か判断し（Ｓ１７）、該当すると判断した場合に（Ｓ１８のＹ）、上記実行要求を受け付けたジョブに対してその条件と対応する処理を実行した後（Ｓ１９，Ｓ２０）、そのジョブの実行をプリンタドライバ２２０に要求するようにした（Ｓ２４，Ｓ２５）。【選択図】        図３
2015176529.tif 000002
【特許請求の範囲】
【請求項１】
プリンタを制御するためのプリンタドライバの形式を備え、前記プリンタドライバが前記プリンタの制御に用いる設定データの形式で、１以上の条件毎に該条件が満たされた場合に実行すべき処理を示す条件情報を記憶し、前記設定データの送信を要求された場合に前記条件情報を要求元に送信するダミープリンタドライバ手段と、
ジョブの実行要求を受け付ける受付手段と、
前記ダミープリンタドライバ手段に前記設定データの送信を要求し、それに応じて送信される前記条件情報を取得する取得手段と、
前記受付手段が実行要求を受け付けたジョブが前記取得手段の取得した条件情報が示す条件に該当するか否か判断する判断手段と、
前記判断手段が条件に該当すると判断した場合に、前記実行要求を受け付けたジョブに対して該条件と対応する処理を実行する処理手段と、
前記処理手段による処理後のジョブの実行を適当なジョブ実行手段に要求する要求手段とを備えることを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記条件情報における条件は、前記ジョブの実行を要求したユーザに関する条件を含むことを特徴とする情報処理システム。
【請求項３】
請求項１又は２に記載の情報処理システムであって、
前記条件情報における条件は、前記ジョブの実行を要求した装置に関する条件を含むことを特徴とする情報処理システム。
【請求項４】
請求項１乃至３のいずれか一項に記載の情報処理システムであって、
前記条件情報における条件は、前記ジョブに含まれる設定又は前記ジョブの識別情報に関する条件を含むことを特徴とする情報処理システム。
【請求項５】
請求項１乃至４のいずれか一項に記載の情報処理システムであって、
前記ジョブは画像形成ジョブであって、
前記条件情報における条件は、前記画像形成ジョブに従い画像形成すべき文書に含まれる情報に関する条件を含むことを特徴とする情報処理システム。
【請求項６】
請求項１乃至５のいずれか一項に記載の情報処理システムであって、
前記プリンタドライバとしての前記ダミードライバ手段についてプロパティの編集指示を受け付ける手段と、
前記受け付けた編集指示に従い前記条件情報を編集する手段を備えることを特徴とする情報処理システム。
【請求項７】
請求項６に記載の情報処理システムであって、
前記条件情報の編集を指示したユーザの認証が成功した場合に、前記条件情報を編集することを特徴とする情報処理システム。
【請求項８】
請求項７に記載の情報処理システムであって、
前記ユーザの認証に加え、前記ユーザが前記プロパティの編集指示に用いた装置の認証も成功した場合に、前記条件情報を編集することを特徴とする情報処理システム。
【請求項９】
請求項１乃至８のいずれか一項に記載の情報処理システムであって、
前記条件情報が暗号化されていることを特徴とする情報処理システム。
【請求項１０】
請求項１乃至９のいずれか一項に記載の情報処理システムであって、
前記設定データは、DEVMODE構造体あるいはPrintTicketであって、
前記条件情報は、前記設定データのプライベート領域に記述されていることを特徴とする情報処理システム。
【請求項１１】
プリンタを制御するためのプリンタドライバの形式を備え、前記プリンタドライバが前記プリンタの制御に用いる設定データの形式で、１以上の条件毎に該条件が満たされた場合に実行すべき処理を示す条件情報を記憶し、前記設定データの送信を要求された場合に前記条件情報を要求元に送信するダミープリンタドライバ手段を備えることを特徴とする情報処理装置。
【請求項１２】
請求項１１に記載の情報処理装置であって、
前記条件情報における条件は、外部装置が取り扱うジョブに関する条件であり、前記実行すべき処理は、該ジョブに対して実行すべき処理であることを特徴とする情報処理装置。
【請求項１３】
請求項１２に記載の情報処理装置であって、
前記条件情報における条件は、前記ジョブの実行を要求したユーザに関する条件を含むことを特徴とする情報処理装置。
【請求項１４】
請求項１２又は１３に記載の情報処理装置であって、
前記条件情報における条件は、前記ジョブの実行を要求した装置に関する条件を含むことを特徴とする情報処理装置。
【請求項１５】
請求項１２乃至１４のいずれか一項に記載の情報処理装置であって、
前記条件情報における条件は、前記ジョブに含まれる設定又は前記ジョブの識別情報に関する条件を含むことを特徴とする情報処理装置。
【請求項１６】
請求項１２乃至１５のいずれか一項に記載の情報処理装置であって、
前記ジョブは画像形成ジョブであって、
前記条件情報における条件は、前記画像形成ジョブに従い画像形成すべき文書に含まれる情報に関する条件を含むことを特徴とする情報処理装置。
【請求項１７】
請求項１１乃至１６のいずれか一項に記載の情報処理装置であって、
前記プリンタドライバとしての前記ダミードライバ手段についてプロパティの編集指示を受け付ける手段と、
前記受け付けた編集指示に従い前記条件情報を編集する手段を備えることを特徴とする情報処理装置。
【請求項１８】
請求項１７に記載の情報処理装置であって、
前記条件情報の編集を指示したユーザの認証が成功した場合に、前記条件情報を編集することを特徴とする情報処理装置。
【請求項１９】
請求項１８に記載の情報処理装置であって、
前記ユーザの認証に加え、前記ユーザが前記プロパティの編集指示に用いた装置の認証も成功した場合に、前記条件情報を編集することを特徴とする情報処理装置。
【請求項２０】
請求項１１乃至１９のいずれか一項に記載の情報処理装置であって、
前記条件情報が暗号化されていることを特徴とする情報処理装置。
【請求項２１】
請求項１１乃至２０のいずれか一項に記載の情報処理装置であって、
前記設定データは、DEVMODE構造体あるいはPrintTicketであって、
前記条件情報は、前記設定データのプライベート領域に記載されていることを特徴とする情報処理装置。
【請求項２２】
ジョブの実行要求を受け付ける受付手順と、
プリンタを制御するためのプリンタドライバの形式を備え、前記プリンタドライバが前記プリンタの制御に用いる設定データの形式で、１以上の条件毎に該条件が満たされた場合に実行すべき処理を示す条件情報を記憶し、前記設定データの送信を要求された場合に前記条件情報を要求元に送信するダミープリンタドライバ手段に対し、前記設定データの送信を要求し、それに応じて送信される前記条件情報を取得する取得手順と、
前記受付手順で実行要求を受け付けたジョブが前記取得手順で取得した条件情報が示す条件に該当するか否か判断する判断手順と、
前記判断手順で条件に該当すると判断した場合に、前記実行要求を受け付けたジョブに対して該条件と対応する処理を実行する処理手順と、
前記処理手順による処理後のジョブの実行を適当なジョブ実行手段に要求する要求手順とを備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理システム、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
近年のオフィス環境においては、ＭＦＰ(Multi-Function  Peripheral：デジタル複合機)やレーザプリンタ、プリントサーバなどがネットワークに接続され、複数の出力装置が利用可能とされていることが多くなっている。
そして、このような環境下において、複数のベンダからのプリンタが混在している環境においても、ベンダの異同にかかわらず、端末、印刷等に関する情報に対して定義される条件に則って、ユーザが指示した出力先のみならず出力内容を変更および決定して、決定された出力先の画像形成装置に出力を実行させるための技術として、特許文献１に記載のデータ処理装置が提案されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１に記載の技術においては、出力先の選択および出力内容の変更を条件付ける規則にしたがって、例えば、あるユーザはカラープリンタへ出力、あるユーザはモノクロプリンタへ出力という条件付けはできた。また、あるユーザの出力内容に強制的に電子透かしを埋め込み、あるユーザの出力内容には電子透かしの埋め込みを免除するという条件付けも可能だった。
【０００４】
しかし、出力先や出力内容の変更及び決定を行うための条件を、その変更及び決定を行うデータ処理装置が保持していたため、条件を変更したい場合には、データ処理装置１台毎に、変更後の条件を設定する必要があった。しかし、この方式では、条件の設定が面倒であるし、電子透かしのように、セキュリティに関係する設定については、条件付けの規則を分散管理することは、管理上好ましくないという問題もあった。
このような問題は、データ処理装置が扱う出力内容が、画像形成出力以外の任意のジョブである場合にも、同様に発生するものである。
【０００５】
この発明は、このような問題を解決し、複数の情報処理装置においてユーザが実行を指示したジョブを取り扱う場合に、その取り扱いの条件を、容易かつ柔軟に変更できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、この発明の情報処理システムは、プリンタを制御するためのプリンタドライバの形式を備え、上記プリンタドライバが上記プリンタの制御に用いる設定データの形式で、１以上の条件毎に該条件が満たされた場合に実行すべき処理を示す条件情報を記憶し、上記設定データの送信を要求された場合に上記条件情報を要求元に送信するダミープリンタドライバ手段と、ジョブの実行要求を受け付ける受付手段と、上記ダミープリンタドライバ手段に上記設定データの送信を要求し、それに応じて送信される上記条件情報を取得する取得手段と、上記受付手段が実行要求を受け付けたジョブが上記取得手段の取得した条件情報が示す条件に該当するか否か判断する判断手段と、上記判断手段が条件に該当すると判断した場合に、上記実行要求を受け付けたジョブに対して該条件と対応する処理を実行する処理手段と、上記処理手段による処理後のジョブの実行を適当なジョブ実行手段に要求する要求手段とを設けたものである。
【発明の効果】
【０００７】
上記構成によれば、複数の情報処理装置においてユーザが実行を指示したジョブを取り扱う場合に、その取り扱いの条件を、容易かつ柔軟に変更可能とすることができる。
【図面の簡単な説明】
【０００８】
【図１】この発明を適用する環境におけるＰＣとプリンタとの関係の一例を示す図である。
【図２】図１に示したプリントサーバのハードウェア構成を示す図である。
【図３】図１に示したＰＣ及びプリントサーバが備える、プリンタに印刷ジョブの実行を指示するための機能の構成を示す図である。
【図４】プリントサーバが備える機能の構成を、より詳細に示す図である。
【図５】ＤＥＶＭＯＤＥ記憶部に記憶させるＤＥＶＭＯＤＥ構造体の例を示す図である。
【図６】図４に示したＵＩ部が提供するＵＩ画面の例を示す図である。
【図７】ＰＣが、アプリケーションの出力した印刷ジョブの実行要求に従ってプリンタドライバに印刷の実行を要求する際の各部の動作シーケンスの例を示す図である。
【発明を実施するための形態】
【０００９】
以下、この発明を実施するための形態について、具体的に説明する。
なおここでは、この発明を、ＰＣ（パーソナルコンピュータ）に、プリンタに実行させる画像形成ジョブに関する処理を行わせる場合に適用した実施形態について説明するが、この発明がこれに限られないことは、後述の通りである。
【００１０】
図１に、この発明を適用する環境におけるＰＣとプリンタとの関係の一例を示す。
図１に示す環境において、複数のＰＣ１０（１０ａ〜１０ｃ）はそれぞれ、ネットワーク４０を介して、プリントサーバ２０及び複数のプリンタ３０（３０ａ〜３０ｃ）と接続される。
【００１１】
これらのうちプリントサーバ２０は、この発明の情報処理装置の実施形態であり、プリンタ３０を制御するためのプリンタドライバに加え、ＰＣ１０ａ〜ＰＣ１０ｃに対し、ジョブの取り扱いに関する情報を提供するためのダミープリンタドライバを備える。このダミープリンタドライバについては後に詳述する。また、任意のＰＣ１０とプリントサーバ２０とにより構成されるシステムが、この発明の情報処理システムの実施形態である。
【００１２】
また、プリンタ３０は、互いに異なる機種であっても、同じ機種のものが複数含まれていてもよい。また、ネットワーク４０は、有線無線を問わず、任意の規格のものを使用可能である。また、プリンタ３０の全部又は一部が、ネットワーク４０を介さずにプリントサーバ２０のローカルのプリンタポートに接続されていても構わない。
【００１３】
いずれにせよ、ＰＣ１０ａ〜１０ｃはそれぞれ、後述のジョブ振り分け部１００の機能により、プリントサーバ２０が備える後述のプリンタドライバ２２０に対して、画像形成（ここでは印刷とする）の実行を指示する。プリントサーバ２０は、その指示に応じて、プリンタドライバ２２０の機能により、プリンタ３０に対して印刷の実行を指示する。プリンタ３０は、その指示に従って、印刷を実行する。
【００１４】
また、ＰＣ１０ａ〜１０ｃはそれぞれ、ジョブ振り分け部１００の機能により、アプリケーションから受け付けたジョブ実行要求に係る印刷ジョブについて、そのジョブをどのプリンタ３０に実行させるかを選択し、そのプリンタと対応するプリンタドライバ２２０に、必要なデータを供給してプリンタ３０への印刷実行指示を行わせる。この際に、ダミードライバ２１０から、そのジョブの取り扱いに関する情報を取得し、その情報に従ってジョブを取り扱う。これらの機能の詳細については後に説明する。
【００１５】
ＰＣ１０ａ〜ＰＣ１０ｃは、同じ機種であることは必須ではないが、この実施形態において特徴的な機能については装置間で特に差がないので、以後の説明においては、１台を代表してその機能について説明する。
なお、プリンタ３０は、印刷以外の機能を兼ね備えた画像処理装置であってもよい。例えば、プリンタ３０を、スキャン、コピー、ファクシミリ通信、文書蓄積等の機能を備えたＭＦＰとして構成することが考えられる。
【００１６】
次に、図２に、プリントサーバ２０のハードウェア構成を示す。
プリントサーバ２０は、ハードウェアとしては一般的なコンピュータでよい。すなわち、プリントサーバ２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ＨＤＤ（ハードディスクドライブ）２４、通信Ｉ／Ｆ（インタフェース）２５、表示部２６、及び操作部２７を備え、それらをシステムバス２８により接続した構成としている。
【００１７】
そして、ＣＰＵ２１が、ＲＡＭ２３をワークエリアとしてＲＯＭ２２又はＨＤＤ２４に記憶されたプログラムを実行することにより、プリントサーバ２０全体を制御し、プリンタ３０の制御やジョブの取り扱いに関する情報の提供等の後述する各種機能を実現する。
ＨＤＤ２４は、不揮発性記憶媒体（記憶手段）であり、ＣＰＵ２１が実行する各種プログラムや後述する各種データを格納している。
通信Ｉ／Ｆ２５は、ＰＣ１０やプリンタ３０をはじめとする外部装置と通信するためのインタフェースである。使用する通信規格は、有線、無線を問わず、任意でよい。
【００１８】
表示部２６は、ディスプレイ等の、オペレータに情報を提示するための表示手段である。
操作部２７は、キーボード、マウス、タッチパネル等の、オペレータから操作を受け付けるための操作手段である。
なお、表示部２６や操作部２７が外付けであったり、ネットワーク４０を介してＰＣ１０等の外部の端末装置から操作を受け付けることができるようにしたりしてもよい。
ＰＣ１０についても、ハードウェアとしては、プリントサーバ２０と同様な一般的なコンピュータを用いることができる。
【００１９】
次に、図３に、ＰＣ１０及びプリントサーバ２０が備える、プリンタ３０に印刷ジョブの実行を指示するための機能の構成を示す。
図３に示すように、ＰＣ１０は、ジョブ振り分け部１００と、アプリケーション１５０とを備える。
このうちジョブ振り分け部１００は、アプリケーション１５０から受信した印刷ジョブの実行要求を処理し、複数のプリンタ３０ａ〜３０ｃのいずれかに実行させるべく、プリントサーバ２０にそのジョブの実行要求を送信する機能を備える。
【００２０】
より具体的には、ジョブ振り分け部１００は、アプリケーション１５０から受信した印刷ジョブの実行要求に基づき、複数のプリンタ３０ａ〜３０ｃのいずれを印刷に使用するかを、出力先選択部１３２により選択する。
そして、印刷ジョブの実行要求に基づき、その選択したプリンタ３０に印刷を実行させるための、プリントサーバ２０が備えるプリンタドライバ２２０（２２０ａ〜２２０ｃのいずれか）が扱える形式のイメージデータ及び印刷設定データを生成し、これをそのプリンタドライバ２２０に渡す。
そして、プリンタドライバ２２０がその受け取ったイメージデータ及び印刷設定データに基づきプリンタ３０を制御して印刷を実行させる。
【００２１】
このことにより、アプリケーション１５０が出力した印刷ジョブの実行要求に基づき、自動的に適切なプリンタを選択し、そのプリンタに印刷を実行させることができる。プリンタの選択の基準は、ユーザ名、クライアント名、アドレス情報、印刷設定の内容、文書のページ数、機密ワードの有無など、種々の情報を用いて定めることができる。
【００２２】
なお、アプリケーション１５０は、アプリケーションソフトウェアにより実現される機能であり、ユーザの操作に従って文書を編集又は操作する機能を備える。このアプリケーション１５０が実現する機能としては、ワードプロセッサ、画像作成・編集・加工、表計算等が考えられる。
【００２３】
ジョブ振り分け部１００の機能構成についてより具体的に説明すると、ジョブ振り分け部１００は、仮想ドライバ１１０、出力データ生成部１３１、出力先選択部１３２、電子透かし埋込判断部１３３、電子透かし埋込処理部１３４、およびデータ発送部１３５を備える。
【００２４】
これらのうち仮想ドライバ１１０は、Ｕｎｉｄｒｖ（Microsoft  Universal  Printer  Driver  Library）ベースのｍｉｎｉドライバであり、ＰｕｂｌｉｃのＤＥＶＭＯＤＥ相当の印刷設定が可能なプリンタドライバである。そして、仮想ドライバ１１０は、アプリケーション１５０からの印刷ジョブ実行要求を受け付ける受付手段として機能する。さらに、印刷ジョブ実行要求と共に受け取った印刷ジョブのデータであるＥＭＦ（Enhanced  Metafile）スプールファイルから、印刷内容を示すＥＭＦデータを抽出し、中間ファイル１２０に、ＥＭＦデータ（描画イメージ）１２１として保存する機能を備える。また、仮想ドライバ１１０は、印刷ジョブ実行要求と共に受信した印刷設定（これも印刷ジョブのデータの一部である）を、中間ファイル１２０にジョブ情報（設定データ）１２２として保存する機能も備える。なお、ジョブ情報１２２はシステム情報も含む。
【００２５】
また、仮想ドライバ１１０は、印刷ジョブ実行要求を受け取ると、出力データ生成部１３１を起動する。この出力データ生成部１３１は、中間ファイル１２０に保存されたＥＭＦデータ１２１及びジョブ情報１２２を取得し、これらに基づいて、印刷ジョブを実行させるプリンタと対応するイメージデータ及び印刷設定データを生成する機能を備える。
【００２６】
この生成にあたり、出力データ生成部１３１は、出力先選択部１３２に、ＥＭＦデータ１２１及びジョブ情報１２２の中からプリンタの選択に必要な情報を渡し、ＥＭＦデータ１２１及びジョブ情報１２２に係る印刷ジョブを実行するプリンタを選択させる。この選択の基準が種々考えられることは、上述の通りである。
また、出力データ生成部１３１は、任意のプラグインを起動し、ＥＭＦデータ１２１及び／又はジョブ情報の加工を行うこともできる。電子透かし埋込判断部１３３及び電子透かし埋込処理部１３４がこのプラグインに該当する。
【００２７】
電子透かし埋込判断部１３３は、出力データ生成部１３１から、印刷ジョブの実行を指示したユーザの識別情報であるユーザ名を取得し、そのユーザ名に基づき、今回の印刷ジョブに係るＥＭＦデータ１２１に電子透かしを埋め込むか否か判断する。その判断基準は、ダミードライバ２１０から取得する。
【００２８】
詳細は後述するが、ダミードライバ２１０は、プリントサーバ２０が備える機能であり、プリンタドライバとしてのインタフェースを備える。そして、印刷に使用する設定を記述するためのＤＥＶＭＯＤＥ構造体のデータを記憶しており、他の装置あるいはプロセスからのＤＥＶＭＯＤＥ送信要求に応じて、要求元にＤＥＶＭＯＤＥ構造体のデータを送信する。このとき用いるＤＥＶＭＯＤＥ送信要求は、一般的なプリンタドライバ（ＧＤＩ（Graphics  Device  Interface）ドライバ）に対してＤＥＶＭＯＤＥ構造体の送信を要求するためのものと同じでよい。
【００２９】
ダミードライバ２１０は、図５に示すように、このＤＥＶＭＯＤＥ構造体のうち、ドライバの制作者が任意に項目を追加できるプライベート領域（Private  DEVMODE）５２０に、ユーザ名毎に、電子透かし埋込要否を示す条件情報（「０」が否、「１」が要）を含んでいる。
【００３０】
電子透かし埋込判断部１３３は、ダミードライバ２１０からＤＥＶＭＯＤＥ構造体を取得する取得手段の機能を備える。さらに、そこに含まれている条件情報と、出力データ生成部１３１から取得したユーザ名とを照らし合わせて、電子透かしの埋込要否を判断する判断手段の機能も備える。例えばユーザ名が「UserA」であれば埋込要、「UserB」であれば埋込不要である。「Guest」の条件は、ユーザ名が未登録ユーザを示す「Guest」の場合の他、リスト中のいずれとも一致しない場合にも用いる。
そして、電子透かし埋込判断部１３３は、埋込要否の判断結果を出力データ生成部１３１に返す。
【００３１】
電子透かし埋込処理部１３４は、出力データ生成部１３１からの要求に応じて、ＥＭＦデータ１２１に対して電子透かしを埋め込む機能を備える。電子透かしの内容は、固定であってもよいし、出力データ生成部１３１から受け取ったパラメータやＥＭＦデータ１２１の内容等に応じて可変であってもよい。
【００３２】
出力データ生成部１３１は、電子透かし埋込判断部１３３から埋込要の判断結果を受け取った場合に、電子透かし埋込処理部１３４にＥＭＦデータ１２１を渡し、電子透かしの埋込を要求する機能を備える。これらの出力データ生成部１３１及び電子透かし埋込処理部１３４の機能は、処理手段の機能に該当する。
【００３３】
また、出力データ生成部１３１は、以上のプリンタの選択とＥＭＦデータ１２１に対する必要な加工が終了した後、加工後のデータに基づき、選択したプリンタ３０と対応するプリンタドライバ２２０が扱える形式のイメージデータ及び印刷設定データを生成し、データ発送部１３５に渡す機能も備える。
データ発送部１３５は、出力先選択部１３２が選択したプリンタドライバ２２０に対し、出力データ生成部１３１から渡されたイメージデータ及び印刷設定データを送信し、それらに基づく印刷ジョブの実行を要求する要求手段の機能を備える。
【００３４】
以上により、ＰＣ１０は、アプリケーション１５０が出力した印刷ジョブの実行要求に対し、少なくとも、ダミードライバ２１０から提供される条件に従った処理を施した後で、適当なプリンタ３０にその処理後のジョブを実行させることができる。図３の例では、「処理」は、電子透かしの埋め込みであるが、同様な手法で他の処理を施すことももちろん可能である。
【００３５】
次に、図４に、プリントサーバ２０が備える機能の構成を、より詳細に示す。
プリントサーバ２０は、図３にも示したように、ダミードライバ２１０と、プリンタドライバ２２０（図４には１つを代表して示した）とを備える。
このうちプリンタドライバ２２０は、プリンタ３０を制御するための公知のプリンタドライバプログラムにより実現される機能を備える。これは、プリンタ３０を制御してジョブを実行させるジョブ実行手段としての機能である。
【００３６】
具体的には、プリンタドライバ２２０は、ＤＥＶＭＯＤＥ記憶部２２１、ＤＥＶＭＯＤＥ送信部２２２、ＵＩ部２２３、描画部２２５を備える。
これらのうちＤＥＶＭＯＤＥ記憶部２２１は、制御対象のプリンタ３０における印刷に使用する設定を記述した設定であるＤＥＶＭＯＤＥ構造体を記憶する機能を備える。
ＤＥＶＭＯＤＥ送信部２２２は、外部からのＤＥＶＭＯＤＥ送信要求に応じて、要求元にＤＥＶＭＯＤＥ構造体のデータを送信する機能を備える。
【００３７】
ＵＩ部２２３は、外部からの要求に応じて、印刷に使用する設定を編集するためのＵＩ（ユーザインタフェース）を提供する機能を備える。なお、この編集の際の初期値としては、ＤＥＶＭＯＤＥ記憶部２２１に記憶されているＤＥＶＭＯＤＥ構造体のデータを用いることができる。編集結果をＤＥＶＭＯＤＥ構造体のデータとしてＤＥＶＭＯＤＥ記憶部２２１に記憶させることもできる。
描画部２２５は、外部からの印刷ジョブ実行要求に応じて、制御対象のプリンタ３０に印刷を実行させるためのジョブデータを生成して送信、プリンタ３０に印刷ジョブを実行させる機能を備える。
【００３８】
ダミードライバ２１０は、外部からの要求の受付についてプリンタドライバ２２０と同じ形式を持つダミープリンタドライバ手段であるが、プリンタ３０を制御する機能は備えない。すなわち、プリントサーバ２０のＯＳ（オペレーティングシステム）からは、プリンタを制御するためのプリンタドライバとして認識されるが、実際にプリンタ３０を制御することはない（ただし制御する機能を持つことも妨げられない）。
【００３９】
ダミードライバ２１０は、プリンタドライバ２２０のＤＥＶＭＯＤＥ記憶部２２１、ＤＥＶＭＯＤＥ送信部２２２、ＵＩ部２２３と同様な機能のＤＥＶＭＯＤＥ記憶部２１１、ＤＥＶＭＯＤＥ送信部２１２、ＵＩ部２１３を備える。
ただし、ダミードライバ２１０はプリンタを制御することがないので、ＤＥＶＭＯＤＥ記憶部２１１に記憶させるＤＥＶＭＯＤＥ構造体には、印刷に使用する設定を記述したものである必要はない。しかし、その形式は、プリンタドライバ２２０においてＤＥＶＭＯＤＥ構造体として機能させるための規格を満たすものである。
【００４０】
図５に、ＤＥＶＭＯＤＥ記憶部２１１に記憶させるＤＥＶＭＯＤＥ構造体５００の例を示す。
ＤＥＶＭＯＤＥ構造体５００のうちパブリック領域（Public  DEVMODE）５１０は、規格により形式が決まっているので、その形式に従ってデータを記述する。ダミードライバ２１０のＤＥＶＭＯＤＥ構造体５００において、パブリック領域５１０のデータは利用しないため、規格に従ってさえいれば、内容は意味のないデータで構わない。
【００４１】
一方、プライベート領域（Private  DEVMODE）５２０は、プリンタドライバのベンダが自由に項目を追加できる領域である。そこで、この領域に、出力データ生成部１３１におけるジョブ実行要求の処理の際に参照させる情報を記述する。ここでは、１以上の条件毎に、該条件が満たされた場合に実行すべき処理を示す条件情報５２１を記述している。
【００４２】
図５の例では、ユーザ名毎に、ジョブの実行要求を行ったユーザがそのユーザ名のユーザである場合に電子透かしを埋め込むか否かを示す「埋込要否」の情報を記述している。ユーザ名が、「ジョブの実行要求を行ったユーザがそのユーザ名のユーザである」という条件を示す。埋込要否が、「要（１）」であれば、「電子透かしを埋め込む」という処理を示し、「不要（０）」であれば、「電子透かしを埋め込まない（何もしない）」という処理を示す。
【００４３】
もちろん、これら以外にも種々の条件や処理を記載可能である。ジョブの実行を要求したユーザに関する条件だけでなく、ジョブの実行を要求した装置（ＰＣ１０など）やアプリケーション（アプリケーション１５０など）に関する条件も記載可能である。ジョブに含まれる設定（ジョブ情報１２２など）や、ジョブの識別情報（ジョブ名、ジョブＩＤなど）に関する条件も記載可能である。印刷ジョブに従い印刷すべき文書（ＥＭＦデータ１２１など）に含まれる情報に関する条件も記載可能である。文書に含まれる情報としては、特定のキーワードやプロパティ情報、ページ数等が考えられる。
【００４４】
また、処理についても、電子透かしだけでなく、スタンプの埋め込み、ヘッダやフッタの設定等、他の処理であってもよい。印刷すべき文書の内容（ＥＭＦデータ１２１）に対する処理だけでなく、印刷設定データに対する処理であってもよい。両面印刷、集約印刷、あるいは親展印刷の強制設定等である。さらに、出力先選択部１３２による出力先の選択に対する処理であってもよい。その選択基準自体を、ＤＥＶＭＯＤＥ構造体５００に記述し、出力先選択部１３２に参照させることも考えられる。
【００４５】
図４の説明に戻ると、ＤＥＶＭＯＤＥ送信部２１２は、通常のプリンタドライバに対するのと同じ方法でＤＥＶＭＯＤＥ構造体の送信を要求されると、その要求元に対し、ＤＥＶＭＯＤＥ構造体５００を返す。従って、要求元は、通常のプリンタドライバに対するのと同じ方法でＤＥＶＭＯＤＥ構造体の送信を要求するだけで、プライベート領域５２０に記述されている条件情報５２１を取得することができる。そして、この条件情報５２１に基づき印刷ジョブに対する処理を実行することができる。
【００４６】
ＵＩ部２１３は、外部からの要求に応じて、ＤＥＶＭＯＤＥ記憶部２１１に記憶されているＤＥＶＭＯＤＥ構造体５００のデータを編集するためのＵＩを提供する機能を備える。ＵＩ部２２３が印刷に使用する設定を編集するためのＵＩを提供する場合と同じ手法でＵＩを提供すればよい。ＰＣ１０からプリントサーバ２０にアクセスし、ダミードライバ２１０あるいはこれと形式的に対応付けられたプリンタのプロパティ編集を要求した場合に、ＰＣ１０に対しＵＩ画面のデータを送信する等である。そして、このＵＩ画面にて受け付けたプロパティの編集指示に従い、条件情報を編集する等である。
【００４７】
図６に、ＵＩ部２１３が提供するＵＩ画面の例を示す。
図６に示す設定編集画面６００は、ＤＥＶＭＯＤＥ構造体５００のうちプライベート領域５２０のデータの編集操作を受け付けるための画面である。規格上の要請によりパブリック領域５１０のデータを受け付けるための画面も用意しなければならない場合には、特段操作を受け付けることのないダミーの画面を別途用意すればよい。
【００４８】
この設定編集画面６００は、図５に示したプライベート領域５２０のデータ構造に合わせ、ユーザ名表示部６０１にユーザ名の一覧を表示し、免除設定部６０２において、各ユーザについて電子透かしの埋め込みが必要か否かの設定を受け付けるものである。チェックボックスにチェックを入れることにより不要（免除）を、チェックを外すことにより要（免除なし）を設定することができる。
これ以外に、ユーザ名を追加できるようにしてももちろん構わない。
【００４９】
ＯＫボタン６０３は、免除設定部６０２においてした設定を確定させ、ＤＥＶＭＯＤＥ構造体５００のデータをそれに従って書き換えることを指示するためのボタンである。キャンセルボタン６０４は、免除設定部６０２においてした設定をキャンセルし、ＤＥＶＭＯＤＥ構造体５００を書き換えずに設定編集画面６００を閉じることを指示するためのボタンである。
【００５０】
このＵＩ部２１３の機能により、ユーザは、プリンタドライバ２２０において印刷に使用する設定を編集する場合と同様な操作により、出力データ生成部１３１におけるジョブ実行要求の処理に関する設定を変更することができる。ダミードライバ２１０へは、全てのＰＣ１０の出力データ生成部１３１から共通してアクセスさせることが可能であるから、このようにすれば、簡単な操作により、全てのＰＣ１０について一律かつ確実に設定を変更できると言える。
【００５１】
認証部２１４は、ＵＩ部２１３が設定編集画面６００を提供する際、すなわち、ＤＥＶＭＯＤＥ構造体５００のデータの編集操作を受け付ける際に、編集の要求元を認証する機能を備える。この認証は、ユーザにパスワード等の認証情報を入力させ、ユーザを認証するものが考えられる。あるいは、要求元の装置に電子証明書等の認証情報を送信させ、装置を認証するものも考えられる。これらを組み合わせてもよい。
【００５２】
いずれにせよ、ＤＥＶＭＯＤＥ構造体５００のデータは、多くのＰＣ１０が共通に用いるものであり、電子透かしなど、セキュリティに関連する設定の情報も含み得ることから、誰にでも編集できることは好ましくない。また、内容の参照すらされないことが好ましい。従って、認証部２１４による要求元の認証が成功した場合に限り、ＵＩ部２１３が設定編集画面６００を提供するようにすることが好ましい。
【００５３】
プリンタドライバ２２０の描画部２２５と対応する描画部２１５は、ダミードライバ２１０には不要である。ダミードライバ２１０はプリンタの制御を行わないためである。しかし、プリンタドライバとしての形式を持つために必要であれば、形式的に描画部２２５を設けてもよい。
【００５４】
次に、図７に、ＰＣ１０が、アプリケーション１５０の出力した印刷ジョブの実行要求に従ってプリンタドライバ２２０に印刷の実行を要求する際の各部の動作シーケンスの例を示す。
ユーザがアプリケーション１５０において印刷する文書を指定して印刷設定を行い、印刷の実行を指示すると、アプリケーション１５０は、その文書の画像を印刷内容とし、受け付けた印刷設定の情報を含むＥＭＦスプールファイルを生成する。そして、このＥＭＦスプールファイルを含む印刷実行要求を仮想ドライバ１１０に渡す（Ｓ１１）。
【００５５】
この要求を受けた仮想ドライバ１１０は、受け取ったＥＭＦスプールファイルからＥＭＦデータ及び設定データを取り出して中間ファイル１２０に保存し、印刷ジョブを生成する（Ｓ１２）。この処理が受付手順の処理である。また、印刷実行要求には、印刷を指示したユーザやアプリの識別情報も含まれ、仮想ドライバ１１０は、これらの識別情報も、設定データに含めて、あるいは設定データと対応付けて中間ファイル１２０に保存する。
【００５６】
次に、仮想ドライバ１１０は、出力データ生成部１３１を起動すると共に、出力データ生成部１３１に処理させる印刷ジョブ（ステップＳ１２で生成した印刷ジョブ）の情報を渡す（Ｓ１３）。
出力データ生成部１３１は、処理を指示された印刷ジョブの内容を示す中間ファイル１２０から、印刷を指示したユーザの識別情報であるユーザ名を読み出す。そして、電子透かし埋込判断部１３３に対し、ユーザ名を渡し、今回処理する印刷ジョブに電子透かしを埋め込む必要があるか否かの判断を要求する（Ｓ１４）。
【００５７】
電子透かし埋込判断部１３３は、この要求を受けると、プリンタドライバ２２０が備えるダミードライバ２１０に対し、ＤＥＶＭＯＤＥ構造体５００の送信を要求する（Ｓ１５）。ダミードライバ２１０の位置は、電子透かし埋込判断部１３３と対応付けて予め設定しておく。
ダミードライバ２１０においては、ＤＥＶＭＯＤＥ送信部２１２がステップＳ１５の要求を受け付け、ＤＥＶＭＯＤＥ記憶部２１１からＤＥＶＭＯＤＥ構造体５００を読み出して要求元に送信する（Ｓ１６）。これらのステップＳ１５及びＳ１６における電子透かし埋込判断部の処理が、取得手順の処理に該当する。
【００５８】
電子透かし埋込判断部１３３は、受け取ったＤＥＶＭＯＤＥ構造体５００中のプライベート領域５２０に記述されている条件情報５２１を取得し、ステップＳ１４で受け取ったユーザ名が当てはまる条件を探す。そして、その条件と対応する処理内容（電子透かしを埋め込むか否か）から、電子透かしの埋め込み要否を判断し、その判断結果を出力データ生成部１３１に応答する（Ｓ１７）。この処理が、判断手順の処理に該当する。
【００５９】
出力データ生成部１３１は、その結果が埋込要であれば（Ｓ１８のＹ）、電子透かし埋込処理部１３４に印刷画像データ（ＥＭＦデータ１２１）を渡し、電子透かしの埋め込みを要求する（Ｓ１９）。電子透かし埋込処理部１３４は、この要求に応じて印刷画像データに電子透かしのデータを埋め込み、その実行結果を出力データ生成部１３１に返す（Ｓ２０）。これらのステップＳ１８乃至Ｓ２０の処理が、処理手順の処理に該当する。
ステップＳ１７での判断結果が埋込否であれば（Ｓ１８のＮ）、ステップＳ１９及びＳ２０は実行しない。
【００６０】
出力データ生成部１３１は次に、出力先選択部１３２に対し、今回処理する印刷ジョブの出力先とするプリンタドライバ２２０（印刷を実行させるプリンタ３０と対応する）を選択するよう要求する（Ｓ２１）。このとき、選択に必要な情報も提供する。出力先選択部１３２は、この要求に応じて、図３の説明で述べた適宜な基準により、出力先を選択し、その結果を出力データ生成部１３１に返す（Ｓ２２）。
【００６１】
出力データ生成部１３１は、この選択結果を受け取ると、必要に応じて電子透かしの埋め込み（条件情報５２１に従った処理）を行った後のＥＭＦデータ１２１とジョブ情報１２２とに基づき、出力先のプリンタドライバ２２０が扱える形式のイメージデータ及び印刷設定データを含む印刷ジョブを生成する（Ｓ２３）。そして、その印刷ジョブの出力要求を、出力先の指定と共にデータ発送部１３５に渡す（Ｓ２４）。
【００６２】
データ発送部１３５は、出力要求に応じて、出力先のプリンタドライバ２２０に対し、印刷ジョブを送信してその実行を要求する（Ｓ２５）。これらのステップＳ２４及びＳ２５の処理が、要求手順の処理に該当する。
図示は省略したが、プリンタドライバ２２０は、印刷ジョブを受け取ると、プリンタ３０を制御してその印刷ジョブに係る印刷を実行させる。
【００６３】
以上の手順により、ＰＣ１０は、アプリケーション１５０の出力した印刷ジョブの実行要求に対し、条件情報５２１に規定される条件に従った処理（加工）を行った後で、適当なプリンタ３０にその印刷ジョブを実行させることができる。
また、複数のＰＣ１０において随時同様にジョブを実行する場合であっても、参照先のダミードライバ２１０を共通のものとすれば、共通の条件情報５２１に基づき処理を行うことができる。すなわち、ＰＣ毎に条件情報５２１を設定する必要がなく、条件情報５２１を１箇所で管理することができる。
【００６４】
また、ＰＣ１０は、条件情報５２１を、既存のプリンタドライバから設定データを取得する際に用いるものと同じ手順でプリントサーバ２０から取得できる。従って、条件情報５２１に規定される条件に従った処理を行う機能（電子透かし埋込判断部１３３及び電子透かし埋込処理部１３４など）を設けるに際し、極めて少ない工数で、条件情報５２１を参照する機能を用意することができる。
【００６５】
条件情報５２１のプリントサーバ２０への登録は、プリンタドライバのインストールと同じ手順で行えるため、登録機能を設ける工数が少なく済み、登録作業も容易である。また、条件情報５２１の編集も、プリンタドライバにおける設定データの編集と同様に行えることから、編集機能を設ける工数が少なく済み、編集作業も容易である。
【００６６】
以上説明してきた実施形態におけるジョブ振り分け部１００において扱った電子透かしは、例えば、ＣＡＤ（Computer  Aided  Design）アプリなどで作成した製図に対して埋め込んでしまうと、印刷結果が意図しない結果になってしまうという問題が発生する。セキュリティ上、すべての印刷物に強制的に電子透かしを埋め込むことで、印刷物のトレーサビリティが確保されるが、特定の印刷物の可読性を確保するために、ユーザ単位で電子透かしを免除できることが好ましい。ただし、ＰＣごとに電子透かしを免除できるようにするには、電子透かしを条件付ける規則をインストールする必要があり手間である。また、そのような条件付け規則を分散して管理することはセキュリティ上好ましくない。
【００６７】
その点、本実施形態を利用すればユーザ単位の電子透かし埋め込み処理に関して複数のＰＣに対する統一した制御が可能になり、管理上も楽になる。その上、既存のプリンタドライバの技術を使うため、特別なサーバも用意する必要もサーバ用の通信回線も必要ない。
【００６８】
以上で実施形態の説明を終了するが、この発明において、各部の具体的な構成、装置の数、処理の手順、取り扱うデータの構成及び形式等は、実施形態で説明したものに限るものではない。
例えば、上述した実施形態では、ダミードライバ２１０がＧＤＩ（Graphics  Device  Interface）プリンタを制御するためのプリンタドライバの形式であったため、条件情報５２１をＤＥＶＭＯＤＥ構造体５００内に記述した。しかし、ダミードライバ２１０は、ＸＰＳ（XML  Paper  Specification）プリンタを制御するためのプリンタドライバ（ＸＰＳドライバ）の形式であってもよい。
【００６９】
この場合、条件情報５２１は、このＸＰＳドライバにおいて印刷設定を示すデータであるPrintTicketに記述すればよい。PrintTicketにも、プリンタドライバのベンダが任意にデータ項目を追加できるプライベート領域があるので、そこに記述することができる。
ただし、PrintTicketはファイル形式であるため、ユーザがPrintTicketのファイルそのものを開き、テキストとして確認し、設定を変更される可能性がある。それに対して、ＤＥＶＭＯＤＥ構造体の情報は決められた印刷プロセスの中以外で使用・変更ができないため、ユーザにＤＥＶＭＯＤＥ自体を直接操作され、変更されてしまう可能性が低い。そのため、ＤＥＶＭＯＤＥ構造体を使用する構成とすることで、システムの秘匿性が確保される。例えば、電子透かしの強制を、ユーザに勝手に解除されないようにすることができる。
【００７０】
また、条件情報５２１をＤＥＶＭＯＤＥ構造体５００等に記述する場合、暗号化して記述してもよい。この場合、条件情報５２１を利用する電子透かし埋込判断部１３３等に、暗号を復号かする機能を設けておく。ＤＥＶＭＯＤＥ構造体５００は、容易に参照され得るデータであるが、このように条件情報５２１を暗号化しておけば、正当な権限のない者に条件の内容を知られることを防止できる。
【００７１】
また、上述した実施形態では、ダミードライバ２１０とプリンタドライバ２２０とを同じプリントサーバ２０が備える例について説明したが、これらを別々の装置が備えていてもよい。複数のプリンタドライバ２２０ａ〜２２０ｃを、別々の装置が備えていてもよい。プリンタドライバ２２０ａ〜２２０ｃについては、その全部又は一部をＰＣ１０が備えていてもよい。これらのいずれの構成であっても、ダミードライバ２１０が、複数のＰＣ１０からＤＥＶＭＯＤＥ構造体５００の取得要求を受け付け可能な位置に設けられていれば、上述した実施形態の効果は発揮される。
条件情報５２１に記載する事項が図５に示したものに限られないことは、上述の通りである。
【００７２】
また、ジョブ振り分け部１００により処理するジョブの実行要求も、画像形成ジョブの実行要求には限られない。任意のデバイスに対する任意のジョブの実行要求でよい。
また、上述した実施形態では、ダミードライバ２１０がプリンタドライバの形式である例について説明したが、プリンタ以外のデバイスを制御するためのデバイスドライバの形式とすることも妨げられない。ダミードライバ２１０は、ジョブ振り分け部１００が扱うジョブの実行に用いるデバイスドライバの形式としておくとよい。ジョブの実行の際と、条件情報５２１の取得の際とで、共通のインタフェースを用いてドライバにアクセスでき、システムの設計工数を低減できるためである。
ただし、ダミードライバ２１０を、ＤＥＶＭＯＤＥ構造体を扱うプリンタドライバの形式とすることにより、上述したような、ユーザにＤＥＶＭＯＤＥ自体を直接操作され、変更されてしまう可能性が低いことによりシステムの秘匿性が確保される効果が得られる。
【００７３】
また、上述した実施形態におけるＰＣ１０及びプリントサーバ２０、さらにはプリンタ３０等のジョブを実行するデバイスの機能は、複数の情報処理装置に任意に分配して設け、それらの装置が協働して同様な機能を実現するようにしてもよい。
また、以上説明してきた実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であるとは勿論である。
【符号の説明】
【００７４】
１０：ＰＣ、２０：プリントサーバ、２１：ＣＰＵ、２２：ＲＯＭ、２３：ＲＡＭ、２４：ＨＤＤ、２５：通信Ｉ／Ｆ、２６：表示部、２７：操作部、２８：システムバス、３０：プリンタ、４０：ネットワーク、１００：ジョブ振り分け部、１１０：仮想ドライバ、１２０：中間ファイル、１２１：ＥＭＦデータ、１２２：ジョブ情報、１３１：出力データ生成部、１３２：出力先選択部、１３３：電子透かし埋込判断部、１３４：電子透かし埋込処理部、１５０：アプリケーション、２１０：ダミードライバ、２２０：プリンタドライバ
【先行技術文献】
【特許文献】
【００７５】
【特許文献１】特開２０１１−２８８１号公報
【図１】
2015176529.tif 000003
【図２】
2015176529.tif 000004
【図３】
2015176529.tif 000005
【図４】
2015176529.tif 000006
【図５】
2015176529.tif 000007
【図６】
2015176529.tif 000008
【図７】
2015176529.tif 000009