(57)【要約】【課題】プリンタドライバなどのソフトウェアを追加したときに、当該ソフトウェアと連携するソフトウェアの設定処理の負担を軽減する。【解決手段】コンピュータを、アプリケーションが指定可能な設定情報を記憶する第１記憶領域から、設定情報を読み出す読出部と、設定情報をアプリケーションがアクセスする第２記憶領域に書き込む書込部と、第２記憶領域から読み出した設定情報に基づいてアプリケーションが指定した設定に従って、描画データを変換した描画コマンドを生成する描画処理部、として機能させるためのプログラムである。【選択図】図７
2015176532.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
アプリケーションが指定可能な設定情報を記憶する第１記憶領域から、前記設定情報を読み出す読出部と、
前記設定情報を前記アプリケーションがアクセスする第２記憶領域に書き込む書込部と、
前記第２記憶領域から読み出した前記設定情報に基づいて前記アプリケーションが指定した設定に従って、描画データを変換した描画コマンドを生成する描画処理部、
として機能させるためのプログラム。
【請求項２】
前記読出部は、前記プログラムのインストール時に、前記設定情報を読み出す、
請求項１に記載のプログラム。
【請求項３】
前記読出部は、外部装置のプリンタドライバと前記プログラムとの間で情報を共有する共有部が情報を読み書きする領域である前記第１記憶領域から、前記設定情報を読み出す、
請求項１に記載のプログラム。
【請求項４】
前記書込部は、レジストリの領域である前記第２記憶領域に前記設定情報を書き込む、
請求項１に記載のプログラム。
【請求項５】
前記書込部は、読み出された前記設定情報を変更した設定情報を前記第２記憶領域に書き込む、
請求項１に記載のプログラム。
【請求項６】
前記書込部は、ＤＥＶＭＯＤＥまたはプリントチケットの形式に変更された設定情報を前記第２記憶領域に書き込む、
請求項５に記載のプログラム。
【請求項７】
前記第１記憶領域は、前記アプリケーションによって作成された前記設定情報を記憶する、
請求項１に記載のプログラム。
【請求項８】
前記第１記憶領域は、前記アプリケーションと異なるアプリケーションによって作成された前記設定情報を記憶する、
請求項１に記載のプログラム。
【請求項９】
アプリケーションが指定可能な設定情報を記憶する第１記憶領域から、前記設定情報を読み出す読出部と、
前記設定情報を前記アプリケーションがアクセスする第２記憶領域に書き込む書込部と、
前記第２記憶領域から読み出した前記設定情報に基づいて前記アプリケーションが指定した設定に従って、描画データを変換した描画コマンドを生成する描画処理部と、
を備える情報処理装置。
【請求項１０】
プログラムと画像処理装置とを備える情報処理システムであって、
前記プログラムは、コンピュータを、
アプリケーションが指定可能な設定情報を記憶する第１記憶領域から、前記設定情報を読み出す読出部と、
前記設定情報を前記アプリケーションがアクセスする第２記憶領域に書き込む書込部と、
前記第２記憶領域から読み出した前記設定情報に基づいて前記アプリケーションが指定した設定に従って、描画データを変換した描画コマンドを生成する描画処理部、
として機能させ、
前記画像処理装置は、
前記描画コマンドに従い画像処理を行う画像処理部を備える、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置および情報処理システムに関する。
【背景技術】
【０００２】
顧客ごとにカスタマイズすることが多い箇所をテキストなどの変更しやすいフォーマットで記述し、デプロイ時にそのファイルに対してカスタマイズを行い、実行時にカスタマイズ部を読み出して動作するプリンタドライバが知られている。これにより、動的に顧客に最適な機能を提供することができる。
【０００３】
また、ドライバパッケージ内のファイルとは別にカスタマイズ情報を記載したファイルを作成して所定の位置に配置し、論理プリンタの初期化時に、配置されたカスタマイズファイルを読み出し、その情報を用いてカスタマイズを行う技術が知られている。これにより、例えばカスタマイズによってプリンタドライバのライセンス認証が壊されるような状況を回避できる。
【０００４】
プリンタベンダが、プリンタドライバと連携するアプリケーション（例えば文書管理ソフト）を提供する場合がある。このようなアプリケーションは、プリンタベンダから同様に提供されるプリンタドライバと連携して機能を提供する。例えば文書管理ソフトでは、印刷時に直接プリンタに送信せず、いくつかの文書の印刷をまとめて送信するジョブバインダー（JobBinder）機能、および、ファクシミリの送信機能等が提供されている。
【０００５】
複数のドライバごとに、どのような印刷設定にするかを設定できる文書管理ソフトも存在する。例えば、インストールされているドライバのうち、ベンダが提供するプリンタドライバのみを設定可能とする手法が知られている。また、インストールされているプリンタドライバのうち、利用できるドライバのみを選択可能に表示する手法が知られている。
【０００６】
このように、プリンタドライバと連携するアプリケーションとして、アプリケーション内で各ドライバに対して動作を変えたり、個々に動作を設定したりすることができるアプリケーションが知られている。
【０００７】
特許文献１では、ドライバを利用するアプリケーションとドライバとの組み合わせによって適切な印刷設定で印刷を行うために、ドライバが利用しているアプリケーションを判断してそのアプリケーションに紐付いた印刷設定に変更する技術が提案されている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の方法では、新しいドライバを追加した場合は、アプリケーションは、追加されたドライバと連携するために、そのドライバに対してどのように動作するか設定する必要があった。すなわち、ドライバインストール後、アプリケーションに対して別途ドライバ用の設定を行わなければならないという問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、プリンタドライバなどのソフトウェアを追加したときに、当該ソフトウェアと連携するソフトウェアの設定処理の負担を軽減することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、コンピュータを、アプリケーションが指定可能な設定情報を記憶する第１記憶領域から、前記設定情報を読み出す読出部と、前記設定情報を前記アプリケーションがアクセスする第２記憶領域に書き込む書込部と、前記第２記憶領域から読み出した前記設定情報に基づいて前記アプリケーションが指定した設定に従って、描画データを変換した描画コマンドを生成する描画処理部、として機能させるためのプログラムである。
【発明の効果】
【００１１】
本発明によれば、プリンタドライバなどのソフトウェアを追加したときに、当該ソフトウェアと連携するソフトウェアの設定処理の負担を軽減するという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１の実施形態の情報処理システムの構成例を示す図である。
【図２】図２は、クライアントＰＣおよびサーバＰＣのハードウェア構成例を示す図である。
【図３】図３は、プリンタのハードウェア構成例を示す図である。
【図４】図４は、アプリケーションがドライバの設定を保持する構成の一例を示す図である。
【図５】図５は、第１の実施形態のクライアントＰＣの構成例を示す図である。
【図６】図６は、サーバ・クライアント環境である情報処理システムに適用する場合の構成例を示す図である。
【図７】図７は、ドライバの構成例を示すブロック図である。
【図８】図８は、インストール時の設定情報の保存およびインストール後の設定情報の利用について説明する図である。
【図９】図９は、第１の実施形態のドライバに対する設定処理の一例を示すシーケンス図である。
【図１０】図１０は、第２の実施形態のドライバの構成例を示すブロック図である。
【図１１】図１１は、ランゲージモニタを利用してサーバ・クライアントで設定情報を同期する構成の一例を説明する図である。
【図１２】図１２は、第２の実施形態におけるサーバ・クライアント間での設定情報の同期処理の一例を示すシーケンス図である。
【図１３】図１３は、第２記憶領域に記憶される設定情報の具体例について説明する図である。
【図１４】図１４は、設定情報を変更して記憶する場合の例を示す図である。
【図１５】図１５は、変形例２の構成例を説明する図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明にかかるプログラム、情報処理装置および情報処理システムの一実施形態を詳細に説明する。
【００１４】
上記のように、例えばプリンタドライバと連携する文書管理ソフトが、プリンタドライバを用いて印刷するときに指定可能な印刷設定を設定する技術が知られている。設定としては、例えば、ドライバの印刷設定を制限するための設定、および、アプリケーション（文書管理ソフト）が持つ機能の設定などが挙げられる。前者の例としては、両面印刷の使用可／不可などがある。後者の例としては、ジョブバインダー機能利用時に使用するドライバの選択および選択されるドライバに対する設定などがある。
【００１５】
従来の方法では、プリンタドライバのインストールとは別に、アプリケーションに対してこのような設定を行う必要があった。特に、ポイントアンドプリント（Point&Print）のように、サーバに対して多数のクライアントが接続し、サーバにインストールされているプリンタドライバを利用する環境では、サーバに一つプリンタドライバを追加しただけでも、サーバに接続する全クライアントにインストールされている文書管理ソフトに対して追加したプリンタドライバに対する設定を行う必要がある。従って、サーバに接続するクライアントが多ければ、その分作業負担が膨大になる。
【００１６】
また、従来の方法では、文書管理ソフトの設定はクライアント側で個々に行う必要がある。言い換えると、例えばクライアント側のユーザが、文書管理ソフトの設定を個々に変更することが可能となる。このため、サーバ管理者が各クライアントで動作する文書管理ソフトに対して統一した設定を行いたい場合であっても、統一した設定を必ずしも強制することができなかった。
【００１７】
以下の実施形態では、プリンタドライバと連携するアプリケーションがプリンタドライバを使用するために用いる設定情報（設定ファイルなど）を予め定められた場所（第１記憶領域）に保存する。プリンタドライバは、例えばインストール時に、保存された設定ファイルを読み出し、読み出した設定ファイルに従い予め定められた場所（第２記憶領域）に設定情報を保存する。プリンタドライバと連携するアプリケーションは、プリンタドライバが保存した設定情報を読み出し、読み出した設定情報に従いプリンタドライバと連携してユーザに機能を提供する。これにより、例えばプリンタドライバを追加した後に、アプリケーションを改めて設定することなく、追加したプリンタドライバをアプリケーションが使用可能となる。
【００１８】
また、ポイントアンドプリントのようなサーバ・クライアント環境では、サーバにインストールされたプリンタドライバが保存した設定情報をクライアントと同期させる。これにより、サーバ・クライアント環境であっても、スタンドアロン環境と同様に、クライアントにインストールされている文書管理ソフトが、サーバで追加されたプリンタドライバを利用可能となる。
【００１９】
このように、スタンドアロン環境およびサーバ・クライアント環境に依らず、プリンタドライバが追加されたときに、追加されたドライバに対する設定をアプリケーションに対して行わなくても、追加されたドライバをアプリケーションが意図した設定で使用可能となる。
【００２０】
（第１の実施形態）
図１は、第１の実施形態の情報処理システムの構成例を示す図である。本実施形態の情報処理システムは、クライアントＰＣ１００と、プリンタ２０と、サーバＰＣ２００と、がネットワークを介して接続された構成となっている。なお、スタンドアロン環境の場合は、サーバＰＣ２００を備えなくてもよい。図１は、ポイントアンドプリントなどを適用できるサーバ・クライアント環境の一例である。
【００２１】
ネットワークは、インターネット、イントラネットなどの任意のネットワーク形態を適用できる。またネットワークは有線ネットワークであってもよいし、無線ネットワークであってもよい。なお、図１では、クライアントＰＣ１００、プリンタ２０、および、サーバＰＣ２００をそれぞれ１つ記載しているが、情報処理システムは各装置を２以上備えていてもよい。
【００２２】
クライアントＰＣ１００およびサーバＰＣ２００は、ポイントアンドプリントなどのプリンタ共有システムにおけるクライアントおよびサーバにそれぞれ相当する情報処理装置である。プリンタ２０は、画像処理を実行する画像処理装置の一例である。画像処理装置はプリンタ２０に限られるものではない。例えば、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能などを有する複合機を画像処理装置に適用してもよい。
【００２３】
図２は、クライアントＰＣ１００およびサーバＰＣ２００のハードウェア構成例を示す図である。クライアントＰＣ１００およびサーバＰＣ２００は、一般的なＰＣと同様のハードウェア構成とすることができる。以下、このようなＰＣの構成例を説明する。
【００２４】
本実施形態のＰＣは、ＣＰＵ（Central  Processing  Unit）５０と、ＲＡＭ（Random  Access  Memory）５１と、ＲＯＭ（Read  Only  Memory）５２と、ＨＤＤ（Hard  Disk  Drive）５３と、Ｉ／Ｆ５４と、がバス６０を介して接続されている。また、Ｉ／Ｆ５４には、ＬＣＤ（Liquid  Crystal  Display）５５と、操作部５６とが接続されている。
【００２５】
ＣＰＵ５０は、ＰＣ全体の動作を制御する。ＲＡＭ５１は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、例えばＣＰＵ５０が情報を処理する際の作業領域として用いられる。ＲＯＭ５２は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ５３は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（オペレーティングシステム）、各種の制御プログラム、および、アプリケーションプログラム等が格納されている。
【００２６】
Ｉ／Ｆ５４は、バス６０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ５５は、ユーザがＰＣの状態を確認するための視覚的ユーザインタフェースである。操作部５６は、キーボードやマウス等の、ユーザがＰＣに情報を入力するためのユーザインタフェースである。液晶タッチパネルなどのように、ＬＣＤ５５と操作部５６とを一体化して構成してもよい。
【００２７】
図３は、プリンタ２０のハードウェア構成例を示す図である。プリンタ２０は、コントローラ４１０とエンジン部４６０とをＰＣＩ（Peripheral  Component  Interface）バスで接続した構成となる。
【００２８】
コントローラ４１０は、プリンタ２０全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。
【００２９】
エンジン部４６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、例えば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部４６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００３０】
コントローラ４１０は、ＣＰＵ４１１と、ノースブリッジ（ＮＢ）４１３と、システムメモリ（ＭＥＭ−Ｐ）４１２と、サウスブリッジ（ＳＢ）４１４と、ローカルメモリ（ＭＥＭ−Ｃ）４１７と、ＡＳＩＣ（Application  Specific  Integrated  Circuit）４１６と、ハードディスクドライブ（ＨＤＤ）４０３とを有し、ＮＢ４１３とＡＳＩＣ４１６との間をＡＧＰ（Accelerated  Graphics  Port）バス４１５で接続した構成となる。
【００３１】
また、ＭＥＭ−Ｐ４１２は、ＲＯＭ４１２ａと、ＲＡＭ４１２ｂと、をさらに有する。
【００３２】
ＣＰＵ４１１は、プリンタ２０の全体制御を行うものであり、ＮＢ４１３、ＭＥＭ−Ｐ４１２およびＳＢ４１４を含むチップセットを有し、このチップセットを介して他の機器と接続される。
【００３３】
ＮＢ４１３は、ＣＰＵ４１１とＭＥＭ−Ｐ４１２、ＳＢ４１４、ＡＧＰバス４１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ４１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００３４】
ＭＥＭ−Ｐ４１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ４１２ａとＲＡＭ４１２ｂとを含む。
【００３５】
ＲＯＭ４１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリである。ＲＡＭ４１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００３６】
ＳＢ４１４は、ＮＢ４１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。ＳＢ４１４は、ＰＣＩバスを介してＮＢ４１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００３７】
ＡＳＩＣ４１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated  Circuit）であり、ＡＧＰバス４１５、ＰＣＩバス、ＨＤＤ４０３およびＭＥＭ−Ｃ４１７をそれぞれ接続するブリッジの役割を有する。
【００３８】
ＡＳＩＣ４１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ４１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ４１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などを行う複数のＤＭＡＣ（Direct  Memory  Access  Controller）と、エンジン部４６０との間でＰＣＩバスを介したデータ転送を行うＰＣＩユニットとを含む。
【００３９】
ＡＳＩＣ４１６には、ＰＣＩバスを介してＦＣＵ（Facsimile  Control  Unit）４３０、ＵＳＢ（Universal  Serial  Bus）４４０、ＩＥＥＥ１３９４（the  Institute  of  Electrical  and  Electronics  Engineers  1394）インタフェース４５０が接続される。操作表示部４２０はＡＳＩＣ４１６に直接接続されている。
【００４０】
ＭＥＭ−Ｃ４１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。
【００４１】
ＨＤＤ４０３は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームを蓄積するためのストレージである。ＨＤＤ４０３は、プリンタ２０で実行されるアプリケーションのライセンスファイルを保存する。
【００４２】
ＡＧＰバス４１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインタフェースであり、ＭＥＭ−Ｐ４１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
【００４３】
図４は、アプリケーションがドライバの設定を保持する構成の一例を示す図である。図４に示すように、ＰＣ１０（情報処理装置の例）は、アプリケーション１１と、ドライバ１２ａ、１２ｂと、を備えている。なお、アプリケーション１１やドライバ１２ａ、１２ｂの個数はそれぞれ１および２に限られるものではない。
【００４４】
アプリケーション１１は、ドライバ１２ａ、１２ｂと連携して動作する。アプリケーション１１は、自身の設定（表示画面サイズ、機能表示オプション等）、および、利用するドライバ（ドライバ１２ａ、１２ｂ）についての設定（印刷用紙サイズ、アプリケーション固有機能（例：ジョブバインダー機能））をドライバ毎に保持する。アプリケーション１１は、保持するドライバ毎の設定情報に従い、ユーザに対して機能を提供する。ドライバ１２ａ、１２ｂは、各ドライバが持つ機能についての設定情報を保持する。
【００４５】
このような構成では、新たなドライバが追加された場合、追加されたドライバの設定を、その都度、アプリケーション１１に対して追加する必要が生じる。
【００４６】
図５は、第１の実施形態のクライアントＰＣ１００の構成例を示す図である。図５に示すように、クライアントＰＣ１００は、アプリケーション１１０と、ドライバ１２０ａ（ドライバＡ）と、ドライバ１２０ｂ（ドライバＢ）と、を備えている。ドライバ１２０ａ、１２０ｂを区別する必要がない場合は、単にドライバ１２０という場合がある。図５は、後述する処理により、アプリケーション１１０およびドライバ１２０のインストールが完了した後の状態の例を示している。
【００４７】
アプリケーション１１０は、自身の設定（表示画面サイズ、機能表示オプション等）のみを保持する。ドライバ１２０ａ、１２０ｂは、各ドライバが持つ機能についての設定情報、および、アプリケーション１１０が利用する各ドライバについての設定（印刷用紙サイズ、アプリケーション固有機能（例：ジョブバインダー機能））を保持する。
【００４８】
アプリケーション１１０は、保持するドライバ毎の設定情報を、個々のドライバが持つアプリケーション用の設定を参照することで、ユーザに対してドライバ毎の機能を提供する。
【００４９】
図６は、サーバ・クライアント環境である情報処理システムに適用する場合の構成例を示す図である。図６に示すように、情報処理システムは、サーバＰＣ２００と、クライアントＰＣ１００−１、１００−２と、を備えている。クライアントＰＣ１００−１、１００−２は同様の構成を備えるため、区別する必要がない場合は単にクライアントＰＣ１００という場合がある。
【００５０】
サーバＰＣ２００には、１以上のプリンタドライバ（図ではドライバ１２０ａ、１２０ｂの２つ）がインストールされる。クライアントＰＣ１００には、アプリケーション１１０がインストールされる。クライアントＰＣ１００は、サーバＰＣ２００にインストールされているドライバ１２０ａ、１２０ｂをインストールして利用する。
【００５１】
アプリケーション１１０は、クライアントＰＣ１００にインストールされた個々のドライバが持つアプリケーション１１０用の設定を参照することで、ユーザに対してドライバ毎の機能を提供する。
【００５２】
このような構成により、サーバＰＣ２００で設定されたドライバの設定情報が各クライアントＰＣ１００に適用される。このため、各クライアントＰＣ１００のアプリケーション１１０に対して統一した設定を行うことができる。
【００５３】
図７は、ドライバ１２０の構成例を示すブロック図である。図７に示すように、ドライバ１２０は、読出部２２１と、書込部２２２と、描画処理部２２３と、を備えている。
【００５４】
読出部２２１は、連携して動作するアプリケーション１１０が指定可能な設定情報を記憶する記憶領域（第１記憶領域）から、当該設定情報を読み出す。第１記憶領域は、アプリケーション１１０とドライバ１２０との間で予め定められた記憶領域であれば、どのような記憶領域であってもよい。例えば、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）を用いる場合であれば、「ProgramData」フォルダを第１記憶領域として用いてもよい。
【００５５】
設定情報は、例えばドライバ１２０が第１記憶領域を参照する前（例えばインストール前）までに第１記憶領域に記憶されていればよい。例えば、アプリケーション１１０が設定情報を第１記憶領域に記憶する機能を備え、この機能により設定情報を第１記憶領域に記憶させてもよい。
【００５６】
書込部２２２は、第１記憶領域から設定情報を読み出し、読み出した設定情報を、アプリケーション１１０がアクセスする記憶領域（第２記憶領域）に書き込む。第２記憶領域は、アプリケーション１１０とドライバ１２０との間で予め定められた記憶領域であれば、どのような記憶領域であってもよい。例えば、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）を用いる場合であれば、レジストリの「PrinterDriverData」キーに対応する記憶領域を第２記憶領域として用いてもよい。「PrinterDriverData」は、プリンタドライバの設定情報を保存するためのレジストリ領域としてＯＳから提供される。
【００５７】
描画処理部２２３は、ＤＤＩコールで渡される描画データをプリンタ２０が処理できる形式の言語で記述される情報（描画コマンド）に変換するレンダリング処理を実行する。描画処理部２２３は、例えば、第２記憶領域から読み出した設定情報に基づいてアプリケーション１１０が指定した設定に従って、アプリケーション１１０から印刷が指示された描画データを変換した描画コマンドを生成する。
【００５８】
プリンタ２０は、送信された描画コマンドに従い印刷を実行する。プリンタ２０は、ドライバ１２０が送信した描画コマンドに従い、印刷に必要な画像処理を行う画像処理部（図示せず）などを備えている。
【００５９】
なお、図７の構成は一例であり、ドライバ１２０はその他の機能を実現する構成部を備えていてもよい。例えば、ドライバ１２０に関する表示処理を制御する表示制御部（後述の図１０では例えばＵＩモジュール１０１１に相当）を備えていてもよい。
【００６０】
図８は、インストール時の設定情報の保存およびインストール後の設定情報の利用について説明する図である。
【００６１】
インストール時は、以下の（１）〜（３）の処理が実行される。
（１）アプリケーション１１０は、ドライバ１２０に保存させるためのカスタマイズファイル１３１を予め定められた記憶領域（例：「ProgramData」フォルダ）に作成する。
（２）ドライバ１２０は、インストール時に、予め定められた記憶領域にカスタマイズファイル１３１が記憶されている場合、このカスタマイズファイル１３１を読み出す。
（３）ドライバ１２０は、読み出したカスタマイズファイル１３１の内容に従い予め定められた記憶領域１３２（例：レジストリの「PrinterDriverData」）に設定情報を保存する。
【００６２】
インストール後は、以下の（４）、（５）の処理が実行される。
（４）アプリケーション１１０は、ドライバ１２０が予め定められた記憶領域に保存した設定情報を読み出す。
（５）アプリケーション１１０は、読み出した設定情報を利用してユーザに機能を提供する。
【００６３】
図９は、第１の実施形態のドライバ１２０に対する設定処理の一例を示すシーケンス図である。図９は、アプリケーション１１０がカスタマイズデータを作成し、ドライバ１２０がカスタマイズデータを元にレジストリ（「PrinterDriverData」）に情報を保存する例である。
【００６４】
システム管理者７０１は、アプリケーション１１０を利用し、新規に追加するドライバ１２０についてのカスタマイズデータを作成する（ステップＳ１０１）。アプリケーション１１０は、システム管理者７０１の指示に応じてカスタマイズデータを作成し、作成したカスタマイズデータを予め定められた記憶領域（例えば「ProgramData」フォルダ）に記憶する（ステップＳ１０２）。ステップＳ１０２までの処理は、追加するドライバ１２０をインストールする前までに実行されればよい。
【００６５】
システム管理者７０１（ステップＳ１０１でカスタマイズデータの作成を指示するシステム管理者と同じでなくてもよい）は、クライアントＰＣ１００に対する新たなドライバ１２０のインストールを開始する（ステップＳ１０３）。
【００６６】
ＯＳ７０２は、インストールが指定されたドライバ１２０のドライバインストールパッケージの内容を所定のシステム領域にコピーする（ステップＳ１０４）。ＯＳ７０２は、論理プリンタを作成する（ステップＳ１０５）。ＯＳ７０２は、ドライバ１２０の初期化を行う（ステップＳ１０６）。ＯＳ７０２は、論理プリンタの初期化を開始する（ステップＳ１０７）。
【００６７】
ドライバ１２０は、ＯＳ７０２から論理プリンタの初期化を指示されると、プリンタドライバの設定情報を保存するための記憶領域（例えばレジストリの「PrinterDriverData」）の設定、および、カスタマイズを開始する（ステップＳ１０８）。ドライバ１２０（読出部２２１）は、ステップＳ１０２で記憶されたカスタマイズデータを読み出す（ステップＳ１０９）。ドライバ１２０（書込部２２２）は、読み出したカスタマイズデータの情報を元に、予め定められた記憶領域である「PrinterDriverData」７０３に設定情報を書き込む（ステップＳ１１０）。
【００６８】
この際、ドライバ１２０は、カスタマイズデータの内容を確認し、カスタマイズデータの正当性を検証してもよい。例えば、ドライバ１２０は、カスタマイズ内容がドライバ自身が利用する設定と重複していないかの判定、および、カスタマイズデータのフォーマットが不正であるか否かの判定などを実行してもよい。この場合ドライバ１２０は、正しいカスタマイズデータであった場合に、カスタマイズデータに基づく設定情報を保存する。
【００６９】
カスタマイズデータに、ドライバ１２０で指定可能な印刷設定の指定、および、印刷設定の変更の指定などが記載されている場合は、ドライバ１２０（書込部２２２）は、指定内容に従って変更した印刷設定を設定情報として保存する。変更後の設定情報の形式はどのような形式であってもよいが、例えば、ＤＥＶＭＯＤＥの形式、および、プリントチケットの形式とすることができる。
【００７０】
アプリケーション１１０は、ドライバ１２０と連携する機能を利用する際に、ステップＳ１１０でドライバ１２０が保存した設定情報を読み出す（ステップＳ１１１）。アプリケーション１１０は、読み出した設定情報を参照してユーザに機能を提供する（ステップＳ１１２）。
【００７１】
（変形例１）
ポイントアンドプリントのようなサーバ・クライアント環境の場合は、ＯＳによるレジストリの同期機能により、第２記憶領域（例えば「PrinterDriverData」）に設定情報を記憶するように構成してもよい。例えば、レジストリの「PrinterDriverData」に記憶される設定情報は、サーバＰＣ２００にインストールされているプリンタドライバをポイントアンドプリントによりクライアントにインストールする場合に、ＯＳによりサーバＰＣ２００およびクライアントＰＣ１００で同期される。
【００７２】
そこで、「PrinterDriverData」に、クライアントＰＣ１００のドライバ１２０にも適用する設定情報を保存しておく。これにより、サーバＰＣ２００にインストールされているドライバ１２０の設定情報を、ポイントアンドプリントで連携するクライアントＰＣ１００に適用することができる。なお、通常のポイントアンドプリントでは、プリンタドライバで使用するための設定情報は引き継がれるが、アプリケーション１１０で使用するための設定情報は引き継がれない。本変形例のように構成すれば、アプリケーション１１０で使用するための設定情報を引き継ぐことが可能となる。
【００７３】
（第２の実施形態）
第２の実施形態では、複数の装置間で情報を共有する共有部が情報を読み書きする領域を、設定情報を記憶する領域（第１記憶領域）として用いる例を説明する。例えば、Ｗｉｎｄｏｗｓの印刷アーキテクチャでは、ランゲージモニタ（LanguageMonitor）と呼ばれる機能が提供される。ランゲージモニタは、スプーラのプリントプロセッサ（PrintProcessor）から送信されたデータを受け取り、ポートモニタ（PortMonitor）にデータを送信するモジュールである。ランゲージモニタは、Ｗｉｎｄｏｗｓの印刷アーキテクチャの中の１モジュールである。ＯＳ標準のランゲージモニタが存在するため、ベンダが固有のランゲージモニタを開発しない場合は、ＯＳ標準のランゲージモニタが動作する。
【００７４】
ランゲージモニタを利用してサーバ・クライアント間で情報を同期するために使用する関数（インタフェース）が存在する。例えば、「SendRecvBidiDataFromPort（）」という関数を利用することにより、ランゲージモニタの呼び出し元となるモジュールは、ランゲージモニタに対して設定情報の同期を指示することが可能となる。ランゲージモニタは、呼び出し元のモジュールから受け取ったキーに対応して動作する。例えば、モジュールは、同期する設定情報および同期の対象となるドライバ名称などをキーとして渡すことで、設定情報を同期することができる。ベンダは決められたインタフェースに合わせてランゲージモニタを開発することにより、ランゲージモニタに独自の機能を追加することができる。
【００７５】
本実施形態では、ランゲージモニタ（共有部の一例）が情報の同期のために読み書きする領域を、第１記憶領域として利用する。
【００７６】
図１０は、第２の実施形態のドライバ１２０−２の構成例を示すブロック図である。図１０は、ランゲージモニタを利用してサーバ・クライアントで設定情報を同期するドライバの構成例を示す。
【００７７】
図１０に示すように、本実施形態のドライバ１２０−２は、ＵＩモジュール１０１１と、描画モジュール１０１２と、設定管理モジュール１０１３と、ランゲージモニタ１０１４と、を備えている。
【００７８】
ＵＩモジュール１０１１は、ドライバ１２０−２に関する表示処理を制御する。例えばＵＩモジュール１０１１は、制御対象のプリンタ２０に固有の設定を受け付けるためのＧＵＩ（グラフィカルユーザインタフェース）を提供する。
【００７９】
描画モジュール１０１２は、描画データに関する処理を制御する。例えば描画モジュール１０１２は、上述の描画処理部２２３と同様の機能を備える。
【００８０】
設定管理モジュール１０１３は、設定情報の読み出し、および、書き込みを制御する。例えば、設定管理モジュール１０１３は、上述の読出部２２１および書込部２２２と同様の機能を備える。
【００８１】
ランゲージモニタ１０１４は、上述のＷｉｎｄｏｗｓの印刷アーキテクチャのランゲージモニタと同様の機能を備える。例えばランゲージモニタ１０１４は、サーバ・クライアント間で情報を共有する機能を備える。
【００８２】
図１１は、ランゲージモニタを利用してサーバ・クライアントで設定情報を同期する構成の一例を説明する図である。
【００８３】
この構成では、以下のように設定情報が設定（同期）される。
（１）サーバＰＣ２００−２の設定管理モジュール１０１３は、サーバＰＣ２００−２に保存されているアプリケーション１１０が利用する設定情報２３２を読み出し、ランゲージモニタ１０１４の管理する記憶領域に書き込む。
（２）クライアントＰＣ１００−２のアプリケーション１１０は、クライアントＰＣ１００−２の設定管理モジュール１０１３に対して、設定情報の取得（更新）を要求する。
（３）クライアントＰＣ１００−２の設定管理モジュール１０１３は、ランゲージモニタ１０１４に書き込まれた設定情報を取得する。
（４）クライアントＰＣ１００−２の設定管理モジュール１０１３は、取得した設定情報を記憶領域１３２（第２記憶領域）に書き込む。記憶領域１３２は、例えばレジストリの「PrinterDriverData」キーに対応する記憶領域である。
【００８４】
図１２は、第２の実施形態におけるサーバ・クライアント間での設定情報の同期処理の一例を示すシーケンス図である。なお、サーバＰＣ２００−２のドライバ１２０−２には、アプリケーション１１０が利用するカスタマイズファイルが既に適用されているものとする。カスタマイズの内容については、予め定められた記憶領域（図１１の例では設定情報２３２）に例えば設定ファイルとして保存されているものとする。
【００８５】
サーバＰＣ２００−２は、印刷開始時などのタイミングで、サーバＰＣ２００−２に保存されている設定ファイルを取得する。例えば、サーバＰＣ２００−２のＯＳ（Ｗｉｎｄｏｗｓ）が備えるＧＤＩ１１０１がＤｒｖＥｎａｂｌｅＰＤＥＶ関数を実行したときに（ステップＳ２０１）、サーバＰＣ２００−２の描画モジュール１０１２は、設定ファイルの反映処理を開始する（ステップＳ２０２）。設定管理モジュール１０１３は、事前に記憶されている設定情報（図１１では設定情報２３２）を読み出す（ステップＳ２０３）。設定管理モジュール１０１３は、読み出した設定ファイルの内容を、例えば、「SendRecvBidiDataFromPort（）」関数を用いてランゲージモニタ１０１４に書き出す（ステップＳ２０４）。
【００８６】
クライアントＰＣ１００−２のアプリケーション１１０は、利用する設定ファイルの更新処理を開始する（ステップＳ２０５）。例えば、アプリケーション１１０は、起動のタイミング、または、ユーザにより更新が指定されたタイミングなどに、更新処理を開始する。アプリケーション１１０は、例えば「SendRecvBidiDataFromPort（）」関数を用いて、ランゲージモニタ１０１４に対して自身が利用する設定ファイルの更新を指示する（ステップＳ２０６）。
【００８７】
ランゲージモニタ１０１４は、クライアントＰＣ１００−２の設定管理モジュール１０１３に対して設定ファイルの出力を指示する（ステップＳ２０７）。設定管理モジュール１０１３は、ランゲージモニタ１０１４から渡された設定ファイルをもとに、アプリケーション１１０が利用する設定情報を予め定められた記憶領域（第２記憶領域）に書き込む（ステップＳ２０８）。
【００８８】
これにより、アプリケーション１１０は、書き込まれた設定情報に従いユーザに機能を提供することが可能となる。
【００８９】
次に、第１および第２の実施形態に適用しうるカスタマイズファイルおよび設定情報の具体例について説明する。
【００９０】
カスタマイズファイルは、例えば、以下のような形式の設定情報を含む。この設定情報は、ジョブバインダー機能の利用を許可（on）する場合の例である。
“setteing＿data”：
｛
“Jobbinder＿setting”：［“on”，“REG＿SZ”］
｝
【００９１】
図１３は、第２記憶領域に記憶される設定情報の具体例について説明する図である。図１３は、上記カスタマイズファイルを元に生成された設定情報１２０１をレジストリ（「PrinterDriverData」）に保存する場合の例である。
【００９２】
ここで、カスタマイズファイル中の“setting＿data”などの設定情報の名称（設定名）は、アプリケーション１１０独自の設定名を指定することが可能である。ドライバ（ドライバ１２０、１２０−２）は、利用しない設定名の設定情報については、カスタマイズファイルに記憶されていたとしても、レジストリに書き込まなくてもよい。これにより、アプリケーション１１０が新規で設定情報を追加する場合に、ドライバが追加された設定情報に対応していなくても問題は生じない。
【００９３】
上記のカスタマイズファイルの形式は、ＪＳＯＮフォーマットに準拠した例であるが、形式はこれに限られるものではなく、任意の形式を適用できる。例えば、ＸＭＬ（Extensible  Markup  Language）、ＹＡＭＬ、および、その他の独自形式のカスタマイズファイルを利用することも可能である。
【００９４】
設定情報は、カスタマイズファイルに記憶されている設定情報をそのままレジストリ等の第２記憶領域に記憶してもよいし、アプリケーション１１０が利用する形式の設定情報に変更した設定情報を記憶してもよい。図１４は、設定情報を変更して記憶する場合の例を示す図である。図１４は、カスタマイズファイルで指定された印刷設定（設定情報の一例）を反映させた設定情報を、第２記憶領域としての設定ファイルに保存する例を示す。
【００９５】
図１４の“print＿setteing”という設定名の印刷設定は、カスタマイズファイルに記憶されている設定情報を表す。この印刷設定は、"for＿meetingdocument"という設定名で、両面長編綴じ（Duplex:LongEdge）、ステープル:左２つ（Staple:2atLeft）という設定が指定された例である。
【００９６】
このカスタマイズファイルを元に生成された設定情報が、図１４の下部に示されている。この例では、レジストリではなく設定ファイルに設定情報が記憶される。設定ファイルの形式は、図１４のようにＸＭＬ形式に限られるものではなく、どのような形式であってもよい。
【００９７】
ドライバは、“print＿setteing”という設定名の設定情報がカスタマイズファイルに記憶されている場合、この設定情報の下位の情報を元に、印刷設定を変更する。そして、変更した印刷設定を、指定された設定名で設定ファイルに保存する。
【００９８】
アプリケーション１１０は、設定ファイルに書き込まれた印刷設定を利用して印刷することができる。
【００９９】
（変形例２）
上記実施形態では、ドライバと連携するアプリケーションがカスタマイズファイルを作成していたが、カスタマイズファイルの作成元は、ドライバと連携するアプリケーションに限られない。本変形例では、ドライバと連携するアプリケーションと異なるアプリケーションがカスタマイズファイルを作成する。
【０１００】
図１５は、変形例２の構成例を説明する図である。図１５に示すように、本変形例では、アプリケーション１１０ａ〜１１０ｃとは異なるアプリケーションである作成ツール１４０１が用いられる。作成ツール１４０１は、サポートするアプリケーション１１０の設定管理モジュール１１１を参照し、利用可能な設定情報について収集する。
【０１０１】
設定管理モジュール１１１は、アプリケーション１１０で利用可能な設定情報を管理（記憶）する。作成ツール１４０１は、収集した設定情報を元に、ユーザ（システム管理者）にカスタマイズの設定およびカスタマイズファイルの作成機能を提供する。
【０１０２】
なお、本実施形態の情報処理装置で実行されるプログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０１０３】
本実施形態の情報処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成してもよい。
【０１０４】
さらに、本実施形態の情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１０５】
本実施形態の情報処理装置で実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１０６】
２０  プリンタ
１００  クライアントＰＣ
１１０  アプリケーション
１１１  設定管理モジュール
１２０  ドライバ
１３１  カスタマイズファイル
１３２  記憶領域
２００  サーバＰＣ
２２１  読出部
２２２  書込部
２２３  描画処理部
１０１１  ＵＩモジュール
１０１２  描画モジュール
１０１３  設定管理モジュール
１０１４  ランゲージモニタ
【先行技術文献】
【特許文献】
【０１０７】
【特許文献１】特開２００３−０５８３７８号公報
【図１】
2015176532.tif 000003
【図２】
2015176532.tif 000004
【図３】
2015176532.tif 000005
【図４】
2015176532.tif 000006
【図５】
2015176532.tif 000007
【図６】
2015176532.tif 000008
【図７】
2015176532.tif 000009
【図８】
2015176532.tif 000010
【図９】
2015176532.tif 000011
【図１０】
2015176532.tif 000012
【図１１】
2015176532.tif 000013
【図１２】
2015176532.tif 000014
【図１３】
2015176532.tif 000015
【図１４】
2015176532.tif 000016
【図１５】
2015176532.tif 000017