(57)【要約】【課題】過去に処理を要求したことのある設定データを新たに取得したときに、再度の処理の要求を省く。【解決手段】印刷に用いる複数の項目のそれぞれに対する設定を含む第１設定データを取得する第１取得部１１１と、第１設定データに基づいて、禁止された設定の組合せを含まない第２設定データを取得するための処理を禁則処理部１２０に要求する要求部１１２Ａと、禁則処理部１２０から第２設定データを取得する第２取得部１１３と、禁則処理部１２０による処理の結果を記憶する記憶部４００と、を有し、要求部１１２Ａは、記憶部４００に記憶された結果に基づいて、第１取得部１１１が取得した第１設定データについて、処理をまだ要求していないと判定する場合に該処理を要求する情報処理装置１０Ａ、を提供する。【選択図】図３
2020154707.tif 000002
【特許請求の範囲】
【請求項１】
印刷に用いる複数の項目のそれぞれに対する設定を含む第１設定データを取得する第１取得部と、
前記第１設定データに基づいて、禁止された設定の組合せを含まない第２設定データを取得するための処理を処理装置に要求する要求部と、
前記処理装置から前記第２設定データを取得する第２取得部と、
前記処理装置による前記処理の結果を記憶する記憶部と、
を有し、
前記要求部は、前記記憶部に記憶された前記結果に基づいて、前記第１取得部が取得した前記第１設定データについて、前記処理をまだ要求していないと判定する場合に該処理を要求する
ことを特徴とする情報処理装置。
【請求項２】
前記記憶部は、前記第２設定データを識別する識別情報を記憶し、
前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されていない場合に、前記処理を要求する、
請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、前記第２設定データを識別する識別情報を記憶し、
前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されている場合に、前記処理を要求しない、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記記憶部は、前記第１設定データを識別する識別情報に、前記第２設定データを対応付けて記憶し、
前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されている場合に、該第１設定データを、該識別情報に対応付けて記憶されている前記第２設定データに修正する、
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記記憶部は、前記第１設定データを識別する識別情報に、前記第２設定データを対応付けて記憶し、
前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されていない場合に、前記処理を要求する、
請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記処理は、前記第１設定データが前記組合せを含む場合には該第１設定データを修正した前記第２設定データを供給し、該第１設定データが前記組合せを含まない場合には該第１設定データを前記第２設定データとして供給する処理であり、
前記記憶部は、前記処理により前記第１設定データが修正されなかった場合に、前記第２設定データを記憶せずに、該第１設定データを識別する識別情報を記憶し、
前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されていて、かつ、該識別情報に対応付けて前記第２設定データが記憶されていない場合に、該第１設定データを修正せずに前記第２設定データとして扱う、
請求項４又は５に記載の情報処理装置。
【請求項７】
前記第１設定データを、決められた規則に沿って変化させた第３設定データを生成する生成部、を有し、
前記要求部は、前記第３設定データに基づいて前記第２設定データを取得するための前記処理を前記処理装置に要求する、
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１設定データを、決められた規則に沿って変化させた第３設定データを生成する生成部、を有し、
前記要求部は、前記第３設定データに基づいて前記第２設定データを取得するための前記処理を前記処理装置に要求し、
前記記憶部は、前記第３設定データを識別する識別情報に、該第３設定データに基づく前記第２設定データを対応付けて記憶する、
請求項４から６のいずれか１項に記載の情報処理装置。
【請求項９】
前記要求部は、前記処理装置が、前記第１設定データに基づいて前記処理を実行していない期間に、前記第３設定データに基づいて該処理装置に前記処理を要求する、
請求項７又は８に記載の情報処理装置。
【請求項１０】
前記記憶部は、記憶された順に前記識別情報を削除する、
請求項２から６のいずれか１項に記載の情報処理装置。
【請求項１１】
記憶部を有するコンピュータを、
印刷に用いる複数の項目のそれぞれに対する設定を含む第１設定データを取得する第１取得部と、
前記第１設定データに基づいて、禁止された設定の組合せを含まない第２設定データを取得するための処理を処理装置に要求する要求部と、
前記処理装置から前記第２設定データを取得する第２取得部と、
前記処理装置による前記処理の結果を前記記憶部に記憶させる記憶制御部、
として機能させるとともに、
前記要求部が、前記記憶部に記憶された前記結果に基づいて、前記第１取得部が取得した前記第１設定データについて、前記処理をまだ要求していないと判定する場合に該処理を要求する
ように前記コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及びプログラムに関する。
【背景技術】
【０００２】
プリンタドライバはＯＳ上で動作して、アプリケーションから取得した指示にしたがって印刷を行う。この指示には、PrintTicket等と呼ばれる、印刷に用いる複数の項目のそれぞれに対する設定を含む設定データが含まれている。設定データには、禁止された設定の組合せが含まれている場合がある。そこでアプリケーションは、設定データに基づいて上記組合せを含まない設定データを取得するための処理（禁則処理と呼ばれる）をプリンタドライバに要求する。しかし、この禁則処理は一回の印刷実行時に複数回呼び出される場合があるため、処理時間が長くなることがあった。このような不具合を解消するための技術が従来、種々提案されており、その一例としては特許文献１に開示の技術及び特許文献２に開示の技術が挙げられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１８０７５０号公報
【特許文献２】特許５３３６８１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１又は特許文献２に開示の技術では、一回の印刷実行時に少なくとも一回は禁則処理が呼び出されることがある。
本発明の目的の一つは、過去に処理を要求したことのある設定データを新たに取得したときに、再度の処理の要求を省くことである。
【課題を解決するための手段】
【０００５】
請求項１に係る発明は、印刷に用いる複数の項目のそれぞれに対する設定を含む第１設定データを取得する第１取得部と、前記第１設定データに基づいて、禁止された設定の組合せを含まない第２設定データを取得するための処理を処理装置に要求する要求部と、前記処理装置から前記第２設定データを取得する第２取得部と、前記処理装置による前記処理の結果を記憶する記憶部と、を有し、前記要求部は、前記記憶部に記憶された前記結果に基づいて、前記第１取得部が取得した前記第１設定データについて、前記処理をまだ要求していないと判定する場合に該処理を要求することを特徴とする情報処理装置、を提供する。
請求項２に係る発明は、請求項１に記載の情報処理装置において、前記記憶部は、前記第２設定データを識別する識別情報を記憶し、前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されていない場合に、前記処理を要求する、情報処理装置を提供する。
請求項３に係る発明は、請求項１又は２に記載の情報処理装置において、前記記憶部は、前記第２設定データを識別する識別情報を記憶し、前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されている場合に、前記処理を要求しない、情報処理装置を提供する。
請求項４に係る発明は、請求項１から３のいずれか１項に記載の情報処理装置において、前記記憶部は、前記第１設定データを識別する識別情報に、前記第２設定データを対応付けて記憶し、前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されている場合に、該第１設定データを、該識別情報に対応付けて記憶されている前記第２設定データに修正する、情報処理装置を提供する。
請求項５に係る発明は、請求項１から４のいずれか１項に記載の情報処理装置において、前記記憶部は、前記第１設定データを識別する識別情報に、前記第２設定データを対応付けて記憶し、前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されていない場合に、前記処理を要求する、情報処理装置を提供する。
請求項６に係る発明は、請求項４又は５に記載の情報処理装置において、前記処理は、前記第１設定データが前記組合せを含む場合には該第１設定データを修正した前記第２設定データを供給し、該第１設定データが前記組合せを含まない場合には該第１設定データを前記第２設定データとして供給する処理であり、前記記憶部は、前記処理により前記第１設定データが修正されなかった場合に、前記第２設定データを記憶せずに、該第１設定データを識別する識別情報を記憶し、前記要求部は、前記第１設定データを識別する識別情報が前記記憶部に記憶されていて、かつ、該識別情報に対応付けて前記第２設定データが記憶されていない場合に、該第１設定データを修正せずに前記第２設定データとして扱う、情報処理装置を提供する。
請求項７に係る発明は、請求項１から３のいずれか１項に記載の情報処理装置において、前記第１設定データを、決められた規則に沿って変化させた第３設定データを生成する生成部、を有し、前記要求部は、前記第３設定データに基づいて前記第２設定データを取得するための前記処理を前記処理装置に要求する、情報処理装置を提供する。
請求項８に係る発明は、請求項４から６のいずれか１項に記載の情報処理装置において、前記第１設定データを、決められた規則に沿って変化させた第３設定データを生成する生成部、を有し、前記要求部は、前記第３設定データに基づいて前記第２設定データを取得するための前記処理を前記処理装置に要求し、前記記憶部は、前記第３設定データを識別する識別情報に、該第３設定データに基づく前記第２設定データを対応付けて記憶する、情報処理装置を提供する。
請求項９に係る発明は、請求項７又は８に記載の情報処理装置において、前記要求部は、前記処理装置が、前記第１設定データに基づいて前記処理を実行していない期間に、前記第３設定データに基づいて該処理装置に前記処理を要求する、情報処理装置を提供する。
請求項１０に係る発明は、請求項２から６のいずれか１項に記載の情報処理装置において、前記記憶部は、記憶された順に前記識別情報を削除する、情報処理装置を提供する。
請求項１１に係る発明は、記憶部を有するコンピュータを、印刷に用いる複数の項目のそれぞれに対する設定を含む第１設定データを取得する第１取得部と、前記第１設定データに基づいて、禁止された設定の組合せを含まない第２設定データを取得するための処理を処理装置に要求する要求部と、前記処理装置から前記第２設定データを取得する第２取得部と、前記処理装置による前記処理の結果を前記記憶部に記憶させる記憶制御部、として機能させるとともに、前記要求部が、前記記憶部に記憶された前記結果に基づいて、前記第１取得部が取得した前記第１設定データについて、前記処理をまだ要求していないと判定する場合に該処理を要求するように前記コンピュータを機能させるためのプログラム、を提供する。
【発明の効果】
【０００６】
請求項１、１１に係る発明によれば、過去に処理を要求したことのある第１設定データを新たに取得したときには、再度の処理の要求は省かれる。
請求項２に係る発明によれば、第２設定データを識別する識別情報を記憶する記憶部に、新たに取得した第１設定データを識別する識別情報が記憶されていない場合に、当該第１設定データについての処理が実行される。
請求項３に係る発明によれば、第２設定データを識別する識別情報を記憶する記憶部に、新たに取得した第１設定データを識別する識別情報が記憶されている場合に、当該第１設定データについての処理が省かれる。
請求項４に係る発明によれば、第１設定データを識別する識別情報に対応付けて第２設定データを記憶する記憶部に、新たに取得した第１設定データを識別する識別情報が記憶されている場合には、該新たな第１設定データについての処理を処理装置に要求することなく、当該新たな第１設定データは、当該新たな第１設定データを識別する該識別情報に対応付けて記憶部に記憶されている第２設定データに修正される。
請求項５に係る発明によれば、第１設定データを識別する識別情報に対応付けて第２設定データを記憶する記憶部に、新たに取得した第１設定データを識別する識別情報が記憶されてない場合には、該新たに取得した第１設定データについての処理が処理装置に要求される。
請求項６に係る発明によれば、第１設定データを識別する識別情報が記憶部に記憶されていて、かつ、該識別情報に対応付けて第２設定データが記憶されていない場合に、該第１設定データは、修正されることなく第２設定データとして扱われる。
請求項７に係る発明によれば、決められた規則に沿って第１設定データを変化させた第３設定データに基づいて、第２設定データを取得するための処理が処理装置に要求される。
請求項８に係る発明によれば、決められた規則に沿って第１設定データを変化させた第３設定データを識別する識別情報に対応付けて、該第３設定データに基づく第２設定データが記憶部に記憶される。
請求項９に係る発明によれば、第１設定データに基づく処理を行っていない期間に、第３設定データに基づいて処理装置に処理が要求される。
請求項１０に係る発明によれば、記憶部に記憶された識別子は、記憶された順に記憶部から削除される。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１実施形態の情報処理装置１０Ａを含む画像形成システム１の構成例を示すブロック図である。
【図２】情報処理装置１０Ａのハードウェア構成例を示すブロック図である。
【図３】プリンタドライバにしたがってＣＰＵ１００が実現する機能を説明するための機能ブロック図である。
【図４】本実施形態における設定データの構造を示す図である。
【図５】情報処理装置１０Ａにて実行される禁則制御処理の流れを示すフローチャートである。
【図６】本発明の第２実施形態の情報処理装置１０ＢにおいてプリンタドライバにしたがってＣＰＵ１００が実現する機能を説明するための機能ブロック図である。
【図７】情報処理装置１０Ｂにて実行される禁則制御処理の流れを示すフローチャートである。
【図８】本発明の第３実施形態の情報処理装置１０ＣにおいてプリンタドライバにしたがってＣＰＵ１００が実現する機能を説明するための機能ブロック図である。
【図９】情報処理装置１０Ｃにて実行される第３設定データについての禁則制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００８】
＜第１実施形態＞
図１は、本発明の第１実施形態の情報処理装置１０Ａを含む画像形成システム１の構成例を示すブロック図である。図１に示すように、画像形成システム１は、情報処理装置１０Ａ、画像形成装置２０、表示装置３０及び入力装置４０、を含む。画像形成装置２０及び入力装置４０の各々は例えばＵＳＢ（Universal Serial Bus）ケーブル等を介して情報処理装置１０Ａに接続されており、表示装置３０は例えばディスプレイケーブル等を介して情報処理装置１０Ａに接続されている。図１では詳細な図示を省略したが、画像形成システム１には、図１に示す各装置の他に、スキャナ等の画像読取装置、及びＬＡＮ（Local Area Network）や電話回線等の通信網を介して他の装置と通信する通信装置が含まれてもよい。
【０００９】
情報処理装置１０Ａは、例えばパーソナルコンピュータである。本実施形態の情報処理装置１０Ａは、文書を表すデータを利用者の操作に応じて生成し、当該データを画像形成装置２０に与えて当該文書を印刷用紙等の媒体に印刷させる装置である。
【００１０】
画像形成装置２０は、例えばレーザプリンタである。画像形成装置２０は、情報処理装置１０Ａから与えられるデータにしたがって文書の画像を媒体上に形成する。表示装置３０は、例えば液晶ディスプレイである。表示装置３０は、情報処理装置１０Ａによる制御の下、各種画像を表示する。入力装置４０は、各種入力操作を画像形成システム１の利用者に行わせるための装置である。入力装置４０の具体例としては、マウス等のポインティングデバイスとキーボードが挙げられる。画像形成装置２０、表示装置３０及び入力装置４０については従来のものと特段に変わるとことはないため、詳細な説明を省略し、以下では、情報処理装置１０Ａを中心に説明する。
【００１１】
図２は、情報処理装置１０Ａのハードウェア構成例を示すブロック図である。図２に示すように、情報処理装置１０Ａは、ＣＰＵ（Central Processing Unit）１００、インタフェース部２００、ＲＡＭ（Random Access Memory）３００、記憶部４００、及びこれら構成要素間のデータ授受を仲介するバス５００を有する。
【００１２】
ＣＰＵ１００は、記憶部４００に記憶されている各種プログラムを実行することにより情報処理装置１０Ａの制御中枢として機能する。ＣＰＵ１００が各種プログラムにしたがって実行する処理の詳細については後に明らかにする。インタフェース部２００は、画像形成装置２０、表示装置３０、及び入力装置４０の各々を情報処理装置１０Ａに接続するためのインタフェースの集合体である。インタフェース部２００に含まれるインタフェースの具体例としてはＵＳＢインタフェース等のシリアルインタフェースやパラレルインタフェース、Ｄ−Ｓｕｂ１５ピンコネクタ等のディスプレイインタフェースが挙げられる。
【００１３】
ＲＡＭ３００は、各種プログラムを実行する際のワークエリアとしてＣＰＵ１００によって利用される。記憶部４００は、例えばハードディスクドライブである。記憶部４００には、各種プログラムと各種データとが記憶されている。記憶部４００に記憶されているプログラムの具体例としては、ＯＳ（Operating System）をＣＰＵ１００に実現させるためのＯＳプログラム、文書作成プログラム等のアプリケーションプログラム、及び各種ドライバが挙げられる。ドライバとは、情報処理装置１０Ａに接続される他の装置を制御するためのプログラムである。図２では、記憶部４００に記憶されている各種ドライバの一例として、画像形成装置２０を制御するためのプリンタドライバが図示されている。
【００１４】
記憶部４００に記憶されているデータの具体例としては、レジストリが挙げられる。レジストリとは、ＯＳにて使用される設定に関する情報を格納するデータベースである。レジストリに格納される情報の具体例としては、ＯＳのバージョン等のＯＳに関する基本情報、アプリケーションの設定に関する情報、ファイル拡張子とアプリケーションプログラムの関連付けを示す情報等が挙げられる。
【００１５】
ＣＰＵ１００は、情報処理装置１０Ａの電源（図２では図示略）の投入を契機としてＯＳプログラムを記憶部４００からＲＡＭ３００に読み出し、当該ＯＳプログラムの実行を開始する。ＯＳプログラムにしたがって作動し、ＯＳを実現している状態のＣＰＵ１００は、各種ドライバを記憶部４００からＲＡＭ３００に読み出し、その実行を開始する。また、ＯＳを実現している状態のＣＰＵ１００は、入力装置４０を介して与えられる指示に応じてアプリケーションプログラムを記憶部４００からＲＡＭ３００に読み出して実行し、文書作成アプリケーション等のアプリケーションを実現する。
【００１６】
プリンタドライバにしたがって作動しているＣＰＵ１００は、アプリケーションから直接或いはＯＳ経由で印刷に関する指示を受け取り、この指示にしたがって画像形成装置２０の制御を行う。この指示には、PrintTicket等と呼ばれる、印刷に用いる複数の項目のそれぞれに対する設定を含む設定データが含まれている。設定データに含まれる複数の設定の具体例としては、印刷する部数、媒体の両面に印刷するのか片面に印刷するか、原稿の向き、用紙サイズ、印刷時刻を示す印刷時刻情報等が挙げられる。
【００１７】
設定データには、禁止された設定の組合せが含まれている場合がある。禁止された設定の組合せとは、印刷の設定のうち、共存が禁止されている２以上の設定が含まれていることをいう。例えば、画像形成装置２０の仕様上、写真用紙への印刷は片面印刷のみに限られる場合に、写真用紙への両面印刷を指示する設定データは、禁止された設定の組合せを含む設定データに該当する。禁止された設定の組合せを含む設定データについては、禁止のパターンごとに修正の規則が定められている。アプリケーションプログラムにしたがって作動しているＣＰＵ１００は、上記組合せを含まない設定データを取得するための禁則処理をプリンタドライバに要求する。禁則とは、禁止すべき事柄を定めた規則のことをいい、禁則処理とは、禁止された設定の組合せを含む設定データを修正することをいう。
【００１８】
本実施形態においてプリンタドライバにしたがってＣＰＵ１００は、図３に示すように、禁則処理を実行する禁則処理部１２０と、禁則処理の実行を制御する禁則制御部１１０Ａとして機能する。上記禁則処理をＪａｖａＳｃｒｉｐｔ（登録商標）により実現することがＯＳの使用において定められている場合、プリンタドライバには、禁則処理を実現するＪａｖａＳｃｒｉｐｔ（登録商標）、すなわちＣＰＵ１００を禁則処理部１２０として機能させるＪａｖａＳｃｒｉｐｔ（登録商標）と、禁則制御部１１０ＡをＣＰＵ１００に実現させるＥＸＥやＤＬＬ等の実行形式ファイルとが含まれている。禁則処理部１２０については従来のものと特段に変わるとことはないため、詳細な説明を省略し、以下では禁則制御部１１０Ａを中心に説明する。なお、本実施形態において、禁則処理部１２０と禁則制御部１１０Ａとは、いずれも共通のＣＰＵ１００で実行されるが、禁則処理部１２０は、禁則制御部１１０Ａを実行する情報処理装置と異なる処理装置によって実行されてもよい。この場合、禁則処理部１２０を実行する処理装置は、禁則制御部１１０Ａを実行する情報処理装置と通信可能であればよい。
【００１９】
禁則制御部１１０Ａは、図３に示すように、第１取得部１１１、要求部１１２Ａ、第２取得部１１３、及び記憶制御部１１４Ａを含む。これら各部の役割は次の通りである。
【００２０】
第１取得部１１１は、アプリケーション又はＯＳから与えられる設定データを取得する。前述したように、設定データには、印刷に用いる複数の項目のそれぞれに対する設定が含まれている。第１取得部１１１により取得される設定データには、禁止された設定の組合せが含まれている場合がある。
【００２１】
要求部１１２Ａは、第１取得部１１１により取得された設定データに基づいて、禁止された設定の組合せを含まない設定データを取得するための禁則処理を禁則処理部１２０に要求する。詳細については後述するが、本実施形態では、禁則処理部１２０による処理の結果が記憶部４００に記憶される。要求部１１２Ａは、記憶部４００に記憶された結果に基づいて、第１取得部１１１により取得された設定データについて、禁則処理部１２０に対して禁則処理を要求済みであるか否かを判定し、要求していないと判定する場合に禁則処理を禁則処理部１２０に要求する。
【００２２】
第２取得部１１３は、禁則処理部１２０からその処理結果である設定データを取得する。第２取得部１１３により取得される設定データは、禁則処理部１２０による処理を経た設定データ、すなわち禁止された設定の組合せを含まない設定データである点が第１取得部１１１により取得される設定データと異なる。以下では、第１取得部１１１により取得される設定データのことを「第１設定データ」と呼び、第２取得部１１３により取得される設定データのことを「第２設定データ」と呼ぶ場合がある。
【００２３】
記憶制御部１１４Ａは、記憶部４００からのデータの読み出し、及び記憶部４００へのデータの書き込みを行う。より詳細に説明すると、記憶制御部１１４Ａは、第２設定データを識別する識別情報を記憶部４００のレジストリに記憶させるとともに、レジストリに記憶されている識別情報の読み出しを行う。本実施形態では、上記識別情報として、設定データを予め定められたハッシュ関数に入力して得られるハッシュ値が用いられる。
【００２４】
より詳細に説明すると、本実施形態では、設定データを構成する複数のデータは、図４に示すように、識別情報の算出対象とする領域のデータと、識別情報の算出対象としない領域のデータとに予め分類されている。例えば、印刷する部数、媒体の両面に印刷するのか片面に印刷するか、原稿の向き、及び用紙サイズの各々を示すデータは、識別情報の算出対象とする領域のデータであり、印刷時刻情報は識別情報の算出対象としない領域のデータである。詳細については後述するが、本実施形態では第１設定データから算出される識別情報に基づいて当該第１設定データについての禁則処理を省くか否かが判断されるが、印刷時刻が何時であっても上記判断を行う必要があるため、印刷時刻情報は識別情報の算出対象としない領域のデータに分類されている。
【００２５】
上記識別情報は、設定データのうち識別情報の算出対象とする領域のデータをハッシュ関数に入力することで得られるデータである。前述したように第２設定データは、禁則処理部１２０による禁則処理を経た設定データであり、禁止された設定の組合せを全く含まない設定データである。このため、記憶部４００のレジスタには、禁止された設定の組合せを全く含まない設定データを識別する識別情報が記憶される。
【００２６】
本実施形態における要求部１１２Ａは、第１設定データについて前述の識別情報を算出し、当該算出した識別情報と同じ識別情報が記憶部４００のレジストリに記憶されていない場合に、当該第１設定データについての禁則処理を禁則処理部１２０に要求していないと判定し、禁則処理部１２０に対して処理を要求する。換言すれば、要求部１１２Ａは、第１設定データを識別する識別情報と同じ識別情報が記憶部４００のレジストリに記憶されている場合には、当該第１設定データについて禁則処理部１２０に処理を要求済みと判定し、禁則処理部１２０に対して処理を要求しない。第１設定データの識別情報と同じ識別情報がレジストリに記憶されているということは、当該第１設定データは、過去に禁則処理を要求した結果得られた、禁止された設定の組合せを全く含まない設定データ、と一致し、改めて禁則処理を要求する必要はない、ということだからである。
【００２７】
図５は、禁則制御部１１０Ａにより実行される禁則制御処理の流れを示すフローチャートである。禁則制御部１１０Ａは、第１取得部１１１により第１設定データを取得する（ステップＳＡ１１０）。次いで、禁則制御部１１０Ａは、ステップＳＡ１１０にて取得した第１設定データのうち、識別情報の算出対象とする領域のデータをハッシュ関数に入力して識別情報Ｖｂを算出する（ステップＳＡ１２０）。そして、禁則制御部１１０Ａは、記憶部４００のレジストリに記憶されている識別情報Ｖｃを、記憶制御部１１４Ａを介して参照し（ステップＳＡ１３０）、識別情報Ｖｂと識別情報Ｖｃとが同じであるか否かを要求部１１２Ａに判定させる（ステップＳＡ１４０）。
【００２８】
ステップＳＡ１４０の判定結果が“Ｙｅｓ”である場合には、禁則制御部１１０Ａは、本禁則制御処理を終了し、ステップＳＡ１１０にて取得した第１設定データを、禁則処理済の設定データとして、当該設定データの供給元（すなわち、アプリケーション又はＯＳ）に返却する。このようにしてアプリケーション等に返却された設定データの表す印刷設定は、印刷プロパティ等に反映される。これに対してステップＳＡ１４０の判定結果が“Ｎｏ”である場合には、禁則制御部１１０Ａは、ステップＳＡ１５０以降の処理を実行する。
【００２９】
ステップＳＡ１５０では、禁則制御部１１０Ａは、ステップＳＡ１１０にて取得した第１設定データを要求部１１２Ａにより禁則処理部１２０に与え、禁則処理を要求する。ステップＳＡ１５０に後続するステップＳＡ１６０では、禁則制御部１１０Ａは、禁則処理部１２０から返却される禁則処理済みの設定データ（すなわち、第２設定データ）を第２取得部１１３により取得する。ステップＳＡ１７０では、禁則制御部１１０Ａは、ステップＳＡ１６０にて取得した第２設定データのうちの識別情報の算出対象の領域に基づいて識別情報Ｖｄを算出する。そして、ステップＳＡ１８０では、禁則制御部１１０Ａは、ステップＳＡ１７０にて算出した識別情報Ｖｄを記憶制御部１１４Ａにより記憶部４００のレジストリに記憶させ、本禁則処理を終了する。以降、禁則制御部１１０Ａは、ステップＳＡ１６０にて取得した第２設定データを、禁則処理済の設定データとして、第１設定データの供給元に返却する。
【００３０】
以上説明したように、本実施形態の情報処理装置１０Ａによれば、過去に要求した禁則処理の結果得られた設定データと同じ設定データが新たに取得されたときには、再度の禁則処理の要求が省かれる。
【００３１】
＜第２実施形態＞
次いで、本発明の第２実施形態の情報処理装置１０Ｂについて説明する。
情報処理装置１０Ｂのハードウェア構成は、前掲図２に示した情報処理装置１０Ａのハードウェア構成と同一であるため、詳細な説明は省略する。本実施形態では、第１実施形態におけるプリンタドライバとは異なるプリンタドライバが情報処理装置１０Ｂの記憶部４００に記憶されている。図６は、情報処理装置１０ＢのＣＰＵ１００が、当該情報処理装置１０Ｂの記憶部４００に記憶されているプリンタドライバにしたがって実現する機能を説明するための機能ブロック図である。図６では、前掲図３におけるものと共通の構成要素には共通の符号が付されている。図６と前掲図３とを比較すれば明らかなように、情報処理装置１０Ｂの機能構成は、禁則制御部１１０Ａに代えて禁則制御部１１０Ｂを設けた点が情報処理装置１０Ａの機能構成と異なる。そして、禁則制御部１１０Ｂは、以下の２つの点が禁則制御部１１０Ａと異なる。第１に、要求部１１２Ａに代えて要求部１１２Ｂを設けた点である。第２に、記憶制御部１１４Ａに代えて記憶制御部１１４Ｂを設けた点である。以下、第１実施形態との相違点である要求部１１２Ａ、及び記憶制御部１１４Ｂを中心に説明する。
【００３２】
記憶制御部１１４Ｂは、第１設定データから生成される識別情報に、当該第１設定データを禁則処理部１２０に与えて得られた第２設定データを対応付けて記憶部４００のレジストリに記憶させる点が記憶制御部１１４Ａと異なる。つまり、情報処理装置１０Ｂにおける記憶部４００は、第１設定データを識別する識別情報に、当該第１設定データに禁則処理を施して得られた第２設定データを対応付けて記憶する。
【００３３】
要求部１１２Ｂは、第１設定データから算出される識別情報が記憶部４００のレジストに記憶されていない場合に、当該第１設定データについての処理を要求する。そして、要求部１１２Ｂは、第１取得部１１１により取得された第１設定データを識別する識別情報が記憶部４００のレジストリに記憶されている場合には、該第１設定データを、該識別情報に対応付けて記憶されている第２設定データに修正して、当該第１設定データの供給元へ返却する。
【００３４】
図７は、禁則制御部１１０Ｂにより実行される禁則制御処理の流れを示すフローチャートである。図７では、図５における処理と同じ処理には同じ符号が付されている。図７と図５とを対比すれば明らかなように、本実施形態における禁則制御処理は、ステップＳＡ１７０、及びステップＳＡ１８０の処理に代えてステップＳＢ１８０の処理を設けた点が、第１実施形態における禁則制御処理と異なる。
【００３５】
ステップＳＢ１８０では、禁則制御部１１０Ｂは、ステップＳＡ１２０にて算出した識別情報Ｖｂと、ステップＳＡ１６０にて取得した第２設定データと記憶制御部１１４Ｂに与え、両者を対応付けて記憶部４００のレジストリに記憶させる。
【００３６】
本実施形態の情報処理装置１０Ｂによれば、第１設定データを識別する識別情報に対応付けて第２設定データが記憶部４００のレジストリに記憶され、新たに取得した第１設定データを識別する識別情報が記憶部４００のレジストリに記憶されている場合には、該新たな第１設定データについての処理を禁則処理部１２０に要求することなく、当該新たな第１設定データは、当該新たな第１設定データを識別する該識別情報に対応付けて記憶部に記憶されている第２設定データに修正されて、その供給元へ返却される。このため、本実施形態の情報処理装置１０Ｂによれば、「過去に処理したときの入力」と同じ設定データを渡された場合には，再度の禁則処理の要求が省かれる。第１実施形態の情報処理装置１０Ａによれば、過去に実行した禁則処理の結果得られた設定データと同じ設定データが渡されてきたときに、当該設定データについての禁則処理が省かれた。これに対して、本実施形態の情報処理装置１０Ｂによれば、「過去に処理したときの入力」と同じ設定データを渡された場合に，当該設定データについての禁則処理が省かれる。
【００３７】
以上本発明の第２実施形態について説明したが、この第２実施形態を以下のように変形してもよい。まず、禁則処理部１２０における処理を次のように変形する。すなわち、禁則処理部１２０は、禁則制御部１１０Ｂから受け取った設定データが禁止された組合せを含む場合には、該設定データを修正した設定データを禁則制御部１１０Ｂへ供給する。また、禁則処理部１２０は、禁則制御部１１０Ｂから受け取った設定データが禁止された組合せを含まない場合には当該設定データを禁則制御部１１０Ｂへ供給する。
【００３８】
そして、記憶制御部１１４Ｂ及び要求部１１２Ｂの処理を次のように変形する。記憶制御部１１４Ｂは、禁則処理部１２０にて設定データが修正されなかった場合には当該設定データを記憶部４００のレジストリに記憶させず、該設定データを識別する識別情報のみを記憶部４００のレジストリに記憶させる。一方、要求部１１２Ｂは、第１設定データを識別する識別情報が記憶部４００のレジストリに記憶されていて、かつ、該識別情報に対応付けて設定データが記憶されていない場合に、該設定データを修正せずに第２設定データとして扱う。このように変形することで、第１設定データを識別する識別情報が記憶部４００のレジストリに記憶されていて、かつ、該識別情報に対応付けて第２設定データが記憶されていない場合には、該第１設定データは、修正されることなく、第２設定データとして扱われるようになる。
【００３９】
＜第３実施形態＞
次いで、本発明の第３実施形態の情報処理装置１０Ｃについて説明する。
情報処理装置１０Ｃのハードウェア構成も、前掲図２に示した情報処理装置１０Ａのハードウェア構成と同一であるため、詳細な説明は省略する。本実施形態においても、第１実施形態におけるプリンタドライバとは異なるプリンタドライバが情報処理装置１０Ｃの記憶部４００に記憶されている。図８は、情報処理装置１０ＣのＣＰＵ１００が情報処理装置１０Ｃの記憶部４００に記憶されているプリンタドライバにしたがって実現する機能を説明するための機能ブロック図である。図８においても、前掲図３におけるものと共通の構成要素には共通の符号が付されている。図８と前掲図３とを比較すれば明らかなように、情報処理装置１０Ｃの機能構成は、禁則制御部１１０Ａに代えて禁則制御部１１０Ｃを設けた点が情報処理装置１０Ａの機能構成と異なる。そして、禁則制御部１１０Ｃは、生成部１１５を有する点と、要求部１１２Ａに代えて要求部１１２Ｃを設けた点とが禁則制御部１１０Ａと異なる。以下、第１実施形態との相違点である生成部１１５を中心に説明する。
【００４０】
生成部１１５は、第１設定データを、決められた規則に沿って変化させた第３設定データを生成する。本実施形態の情報処理装置１０Ｃの記憶部４００には、例えば「原稿サイズ＝Ｂ４」「原稿の向き＝よこ方向」「ホチキス＝中とじ１箇所」等の利用頻度の高い印刷設定データをリスト形式でＮ（Ｎは２以上の自然数）個格納した設定リストが予め格納されている。生成部１１５は、第１設定データにおける設定項目の一部を、設定リストに含まれるＮ個の設定データの各々における設定項目で置き換えることで、Ｎ個の第３設定データを生成する。
【００４１】
要求部１１２Ｃは、第１実施形態における要求部１１２Ａと同じ処理を実行することに加えて、生成部１１５により生成された第３設定データに基づいて、第２設定データを取得するための処理を禁則処理部１２０に要求する点が、要求部１１２Ａと異なる。なお、第３設定データについての禁則処理は、禁則処理部１２０が第１設定データについての禁則処理を実行していない期間に要求されることが好ましい。具体的には、第１設定データに関する印刷ジョブの実行開始後或いは完了後に、当該第１設定データから生成した第３設定データについての禁則処理の要求を要求部１１２Ｃに行わせるようにすればよい。
【００４２】
図９は、禁則制御部１１０Ｃにより実行される禁則制御処理のうち、第３設定データについての禁則制御処理の流れを示すフローチャートである。なお、禁則制御部１１０Ｃにより実行される禁則制御処理のうち、第３設定データについての禁則制御処理の流れは、第１実施形態における禁則制御処理の流れと同一であるため、詳細な説明を省略する。
【００４３】
図９に示すように、禁則制御部１１０Ｃは、まず、カウンタｎに初期値として１を設定する（ステップＳＣ１１０）。次いで、禁則制御部１１０Ｃは、ｎがＮ（設定リストに格納されている設定データの数）以下であるか否かを判定し（ステップＳＣ１２０）、その判定結果が“Ｎｏ”である場合には、第３設定データについての禁則制御処理を終了する。ステップＳＣ１２０の判定結果が“Ｙｅｓ”である場合には、禁則制御部１１０ＣはステップＳＣ１３０以降の処理を実行する。
【００４４】
ステップＳＣ１３０では、禁則制御部１１０Ｃは、設定リストのｎ番目の設定データを参照する。ステップＳＣ１４０では、禁則制御部１１０Ｃは、設定リストのｎ番目の設定データにしたがって第１設定データを生成部１１５に変形させて第３設定データを生成させる。
【００４５】
次いで、禁則制御部１１０Ｃは、ステップＳＣ１４０にて生成させた第３設定データのうち、識別情報の算出対象とする領域のデータをハッシュ関数に入力して識別情報Ｖｂを算出する（ステップＳＣ１４２）。そして、禁則制御部１１０Ｃは、記憶部４００のレジストリに記憶されている識別情報Ｖｃを、記憶制御部１１４Ａを介して参照し（ステップＳＣ１４４）、識別情報Ｖｂと識別情報Ｖｃとが同じであるか否かを要求部１１２Ｃに判定させる（ステップＳＣ１４６）。
【００４６】
ステップＳＣ１４６の判定結果が“Ｙｅｓ”である場合には、禁則制御部１１０Ｃは、後述するステップＳＣ１９０に処理を進める。これに対してステップＳＣ１４６の判定結果が“Ｎｏ”である場合には、禁則制御部１１０Ｃは、ステップＳＣ１５０以降の処理を実行する。
【００４７】
ステップＳＣ１５０では、禁則制御部１１０Ｃは、第３設定データについての禁則処理を要求部１１２Ｃに要求させる。ステップＳＣ１５０に後続するステップＳＣ１６０では、禁則制御部１１０Ｃは、禁則処理部１２０から返却される禁則処理済みの第２設定データを第２取得部１１３により取得する。ステップＳＣ１７０では、禁則制御部１１０Ｃは、ステップＳＣ１６０にて取得した第２設定データのうちの識別情報の算出対象の領域に基づいて識別情報Ｖｄを算出する。そして、ステップＳＣ１８０では、禁則制御部１１０Ｃは、ステップＳＣ１７０にて算出した識別情報Ｖｄを記憶制御部１１４Ａにより記憶部４００のレジストリに記憶させ、ステップＳＣ１９０に処理を進める。
【００４８】
ステップＳＣ１９０では、禁則制御部１１０Ｃは、カウンタｎに１を加算して、ステップＳＣ１２０の処理を再度実行する。
【００４９】
本実施形態の情報処理装置１０Ｃによれば、禁則処理済ではない第１設定データに禁則処理を施して得られた第２設定データの識別情報に加え、当該第１設定データを予め定められた規則に沿って変化させた第３設定データに禁則処理を施して得られる第２設定データの識別情報が記憶部４００のレジストリに記憶される。このため、本実施形態の情報処理装置１０Ｃによれば、禁則処理済みの設定データを増やし，「印刷時に初めて禁則処理を実行する」場面が減少する。
【００５０】
以上に説明した第３実施形態では、第１取得部１１１、要求部１１２Ｃ、第２取得部１１３、記憶制御部１１４Ａ、及び生成部１１５を組合せて情報処理装置１０Ｃを構成した。しかし、要求部１１２Ｃには、要求部１１２Ｂと同じ処理を実行させることに加えて、第３設定データに基づいて第２設定データを取得するための処理を禁則処理部１２０に要求させ、当該要求部１１２Ｃ、第１取得部１１１、第２取得部１１３、記憶制御部１１４Ｂ、及び生成部１１５を組合せて情報処理装置１０Ｃを構成してもよい。この場合、記憶制御部１１４Ｂには、上記第２実施形態における処理に加えて、第３設定データを識別する識別情報に、該第３設定データに禁則処理を施して得られた第２設定データを対応付けて記憶部４００のレジストリに記憶させる処理を実行させるようにすればよい。
【００５１】
＜変形例＞
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の変形例は、組合されてもよい。
【００５２】
＜１＞上記各実施形態では、設定データを識別する識別情報として、ハッシュ値を用いたが、この識別情報は、ハッシュ値の他に、設定データのチェックサム、設定データに正規化（空白及び改行文字の削除等）、連長圧縮、エントロピー符号化等を施して得られるデータ、或いは設定データの単なるデッドコピー（完全複製データ）であってもよい。設定データのデッドコピーを識別情報として用いる場合には、第１実施形態においては、第２設定データがレジストリに記憶され、第２実施形態においては、第１設定データに対応付けて当該第１設定データに禁則処理を施して得られた第２設定データがレジストリに記憶される。要は、識別情報は設定データを識別できる情報であれば、どのようなデータであってもよい。
【００５３】
＜２＞レジストリに記憶された識別情報を、記憶された順にレジストリから削除する処理を記憶制御部１１４Ａ及び１１４Ｂの各々に行わせてもよい。記憶順が古い識別情報に対応する設定データほど、再度禁則処理を要求される可能性は低いと考えられ、この態様によれば、レジストリの容量が節約される。また、記憶部４００は、識別情報とともに該識別情報を削除する順位を記憶し、該順位に沿って識別情報のそれぞれを削除してもよい。この場合、要求部１１２Ａ、１１２Ｂ及び１１２Ｃの各々には、第１設定データを識別する識別情報が記憶部に記憶されている場合に、該識別情報を削除する順位を下げ、該識別情報が削除され難くする処理を実行させるようにすればよい。
【００５４】
＜３＞設定データに、当該設定データを識別する識別情報を記憶する領域を設け、禁則処理を完了したことを契機として当該領域に、禁則処理済の識別情報に基づいて算出される識別情報を書き込むようにしてもよい。このように識別情報を含む設定データの場合、利用者が印刷設定を試行錯誤しつつ設定する過程で、禁則処理済の設定内容に応じた識別情報がそのまま残る。識別情報を含む設定データを受け取った場合には、まず、当該設定データに基づいて算出した識別情報と当該設定データに含まれている識別情報とを比較し、両者が一致する場合にはレジストリに記憶されている識別情報との比較を省略するようにしてもよい。なお、設定データは印刷ジョブ毎に生成され、その生成段階では設定データの各領域は０で初期化されている。ハッシュ関数により０が算出されることは極めて稀であるから、設定データに、当該設定データを識別する識別情報を記憶する領域を設けたとしても、特段の問題が生じることはない。
【００５５】
＜４＞上記第１実施形態では、禁則制御部１１０Ａと禁則処理部１２０とを情報処理装置１０ＡのＣＰＵに実現させたが、各々を別箇のコンピュータに実現させてもよい。すなわち、禁則制御部１１０Ａを有するコンピュータに、禁則処理部１２０を有する他のコンピュータを接続して情報処理装置１０Ａを構成してもよい。情報処理装置１０Ｂ及び情報処理装置１０Ｃについても同様である。禁則処理部１２０を実現する情報処理装置１０Ａ又は他のコンピュータは、いずれも第１設定データに基づいて、禁止された設定の組合せを含まない第２設定データを取得するための処理を実行する処理装置である。
【００５６】
＜５＞上記第１実施形態における第１取得部１１１、要求部１１２Ａ、第２取得部１１３及び記憶制御部１１４Ａはソフトウェアモジュールであったが、ＡＳＩＣ等のハードウェアモジュールであってもよい、また、上記第１実施形態では、記憶部４００にデータを記憶させる記憶制御部１１４Ａと記憶部４００とが別箇であったが、両者を一体にし、禁則処理を行う処理装置による処理の結果を記憶する記憶部としてもよい。また、処理装置による処理の結果を記憶する記憶部と、第１取得部１１１と、要求部１１２Ａと、第２取得部１１３と、を組合せて構成した情報処理装置を単体で製造又は販売してもよい。第２実施形態の情報処理装置１０Ｂ及び第３実施形態の情報処理装置１０Ｃについても同様である。要は、印刷に用いる複数の項目のそれぞれに対する設定を含む第１設定データを取得する第１取得部と、第１設定データに基づいて、禁止された設定の組合せを含まない第２設定データを取得するための処理を処理装置に要求する要求部と、処理装置から第２設定データを取得する第２取得部と、処理装置による処理の結果を記憶する記憶部と、を有し、要求部は、記憶部に記憶された結果に基づいて、第１取得部が取得した第１設定データについて、処理をまだ要求していないと判定する場合に該処理を要求する情報処理装置、が提供されればよい。
【００５７】
＜６＞上記第１実施形態では、情報処理装置１０Ａを、第１取得部１１１、要求部１１２Ａ、第２取得部１１３及び記憶制御部１１４Ａとして機能させるプリンタドライバが情報処理装置１０Ａの記憶部４００に予め記憶されていた。しかし、記憶部を有するコンピュータを、第１取得部１１１、要求部１１２Ａ、第２取得部１１３及び記憶制御部１１４Ａとして機能させるプログラムを単体で製造又は販売してもよい。なお、上記プログラムの配布態様の具体例としては、フラッシュＲＯＭ（Read Only Memory）等のコンピュータ読み取り可能な記録媒体に書き込んで配布する態様や、インターネット等の電気通信回線経由のダウンロードにより配布する態様が挙げられる。第２実施形態或いは第３実施形態におけるプリンタドライバについても同様に、プログラムを単体で製造又は販売してもよい。また、上記各実施形態では、プリンタドライバへの本発明の適用例を説明したが、禁則処理を要求するアプリケーションプログラムに本発明を適用してもよい。
【符号の説明】
【００５８】
１…画像形成システム、１０Ａ，１０Ｂ，１０Ｃ…情報処理装置、２０…画像形成装置、３０…表示装置、４０…入力装置、１００…ＣＰＵ、１１０Ａ、１１０Ｂ、１１０Ｃ…禁則制御部、１１１…第１取得部、１１２Ａ、１１２Ｂ、１１２Ｃ…要求部、１１３…第２取得部、１１４Ａ、１１４Ｂ…記憶制御部、１２０…禁則処理部、２００…インタフェース部、３００…ＲＡＭ、４００…記憶部、５００…バス。
【図１】
2020154707.tif 000003
【図２】
2020154707.tif 000004
【図３】
2020154707.tif 000005
【図４】
2020154707.tif 000006
【図５】
2020154707.tif 000007
【図６】
2020154707.tif 000008
【図７】
2020154707.tif 000009
【図８】
2020154707.tif 000010
【図９】
2020154707.tif 000011