(57)【特許請求の範囲】
【請求項１】
印刷装置と、第１の情報処理装置と、描画対象データを生成する第２の情報処理装置とがネットワークを介して接続された印刷制御システムであって、
前記第１の情報処理装置は、
第１のプロセッサーと、前記第１のプロセッサーにより実行されるプリンタードライバーを格納する第１の記憶装置と、を備え、
前記第１の情報処理装置における前記プリンタードライバーは、
当該プリンタードライバーの機能に関する機能情報と、前記プリンタードライバーのバージョンに関するバージョン情報とを有する構成部と、
描画対象データと、前記機能情報に従って設定された印刷設定に基づいてレンダリング処理を行う描画部と、を有し、
前記第２の情報処理装置は、
第２のプロセッサーと、前記第２のプロセッサーにより実行されるプリンタードライバーを格納する第２の記憶装置と、を備え、
前記第２の情報処理装置における前記プリンタードライバーは、
当該プリンタードライバーの機能に関する機能情報と、前記プリンタードライバーのバージョンに関するバージョン情報とを有する構成部と、
描画対象データと、前記機能情報に従って設定された印刷設定に基づいてレンダリング処理を行う描画部と、を有し、
Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記第２のプロセッサーは、前記第１の情報処理装置から前記プリンタードライバーの前記構成部をダウンロードし、前記第２の情報処理装置の前記プリンタードライバーにおける前記構成部を更新し、
前記第２の情報処理装置における前記描画部は、更新された前記構成部とのバージョンの不一致を検出する差分検出部を備えることを特徴とする印刷処理システム。
【請求項２】
前記第１の情報処理装置における前記構成部は、バージョンの変更に伴い変更された機能についてレンダリング処理を行うための差分モジュールをさらに有することを特徴とする請求項１に記載された印刷処理システム。
【請求項３】
前記第２の情報処理装置における前記描画部は、前記印刷設定により指定された機能を実行するための前記差分モジュールを前記構成部より抽出する差分取得部をさらに有することを特徴とする請求項２に記載された印刷処理システム。
【請求項４】
前記差分モジュールは、レンダリング処理を行うプログラムファイルをバイナリ化したデータであり、
前記第２の情報処理装置における前記描画部は、前記差分モジュールを前記第２のプロセッサーが実行可能な実行可能ファイルに変換する実ファイル化部をさらに有することを特徴とする請求項３に記載された印刷処理システム。
【請求項５】
前記第２の情報処理装置における前記描画部は、前記印刷設定により指定された機能が実行できないことを警告する警告表示部をさらに有することを特徴とする請求項１に記載された印刷処理システム。
【請求項６】
他の情報処理装置と通信可能な情報処理装置であって、
プロセッサーと、当該プロセッサーにより実行されるプリンタードライバーを格納する記憶装置と、を備え、
前記プリンタードライバーは、
当該プリンタードライバーの機能に関する機能情報と、前記プリンタードライバーのバージョンに関するバージョン情報と、バージョンの変更に伴い変更された機能についてレンダリング処理を行うための差分モジュールとを有する構成部と、
描画対象データと、前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部と、を備え、
Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記プロセッサーは、前記構成部を前記他の情報処理装置に送信することを特徴とする情報処理装置。
【請求項７】
他の情報処理装置と通信可能な情報処理装置であって、
プロセッサーと、当該プロセッサーにより実行されるプリンタードライバーを格納する記憶装置と、を備え、
前記プリンタードライバーは、
当該プリンタードライバーの機能に関する機能情報と、前記プリンタードライバーのバージョンに関するバージョン情報とを有する構成部と、
描画対象データと、前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部と、を備え、
Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記プロセッサーは、前記他の情報処理装置から前記プリンタードライバーの前記構成部をダウンロードし、前記プリンタードライバーにおける前記構成部を更新し、
前記描画部は、更新された前記構成部とのバージョンの不一致を検出する差分検出部を備えることを特徴とする情報処理装置。
【請求項８】
情報処理装置に所定の処理を実行させるためのコンピュータープログラムにおいて、
前記情報処理装置を、
当該コンピュータープログラムの機能に関する機能情報と前記コンピュータープログラムのバージョンに関するバージョン情報とバージョンの変更に伴い変更された機能についてレンダリング処理を行うための差分モジュールとを有する構成部、
描画対象データと前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部、
として機能させ、
Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記情報処理装置は、前記構成部の機能を実現するためのファイルを他の情報処理装置に送信することを特徴とするコンピュータープログラム。
【請求項９】
情報処理装置に所定の処理を実行させるためのコンピュータープログラムにおいて、
前記情報処理装置を、
当該コンピュータープログラムの機能に関する機能情報と前記コンピュータープログラムのバージョンに関するバージョン情報とを有する構成部、
描画対象データと前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部、
として機能させ、
Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記情報処理装置は、前記構成部の機能を実現するためのファイルを、他の情報処理装置からダウンロードして更新し、
前記描画部は、更新した前記構成部とのバージョンの不一致を検出する差分検出部としての機能をさらに備えることを特徴とするコンピュータープログラム。
【請求項１０】
情報処理装置に所定の処理を実行させるためのコンピュータープログラムにおいて、
前記情報処理装置がサーバーである場合には、当該情報処理装置を、
当該コンピュータープログラムの機能に関する機能情報と、前記コンピュータープログラムのバージョンに関するバージョン情報と、バージョンの変更に伴い変更された機能についてレンダリング処理を行うための差分モジュールとを有する構成部、
描画対象データと前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部、
として機能させるものであり、
Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記情報処理装置は、前記構成部の機能を実現するためのファイルをクライアントに送信することを特徴とするコンピュータープログラム。
【請求項１１】
情報処理装置に所定の処理を実行させるためのコンピュータープログラムにおいて、
前記情報処理装置がクライアントである場合には、当該情報処理装置を、
当該コンピュータープログラムの機能に関する機能情報と前記コンピュータープログラムのバージョンに関するバージョン情報とを有する構成部、
描画対象データと前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部、
として機能させるものであり、
Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記情報処理装置は、前記構成部の機能を実現するためのファイルを、サーバーからダウンロードして更新し、
前記描画部は、更新した前記構成部とのバージョンの不一致を検出する差分検出部としての機能をさらに備えることを特徴とするコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御システム、情報処理装置及びコンピュータープログラムに関する。
【背景技術】
【０００２】
従来より、パーソナルコンピューター（以下「ＰＣ」という）や各種デバイスのネットワーク化が進められており、複数のクライアントがプリンターを共有して使用する形態が提案されている。また、オフィスといった大規模な環境下では、ネットワークに制御用の情報処理装置であるプリントサーバーを設置し、このプリントサーバーにより各クライアントからの印刷ジョブを管理する方法が知られている。
【０００３】
このようなネットワーク環境においては、マイクロソフト社のＷＩＮＤＯＷＳ（登録商標）が提供するＰｏｉｎｔ＆Ｐｒｉｎｔ（ポイントアンドプリント）により、プリンタードライバーをクライアントに送信する手法が利用されている。このＰｏｉｎｔ＆Ｐｒｉｎｔでは、プリントサーバーに対して、プリントサーバーが共有するプリンターのプリンタードライバーが予めインストールされている。クライアントでは、プリントサーバーが共有するプリンターを指定することで、プリンタードライバーが当該プリントサーバーからクライアントに自動的にダウンロードされる。この方法によれば、個々のクライアントにてプリンタードライバーのインストールメディアを用意したり、プリンターのＩＰアドレスを予め調べたりする手間が必要なく、共有プリンターを容易に使用することができる。
【０００４】
プリンタードライバーは、通常、構成部と、ユーザーインターフェース部（ＵＩ部）と、描画部とで構成されている。構成部は、プリンタードライバーの機能に関する情報（機能情報）を含んでおり、ＵＩ部を通じて設定される印刷設定と、アプリケーションプログラムから印刷要求がなされた描画対象データとを描画部に出力する。ＵＩ部は、構成部が有する機能情報に従って印刷設定を行うために、ユーザーが入力操作を行うダイアログを生成する。描画部は、印刷設定に従って描画対象データをプリンターが印刷可能な形式（印刷データ）に変換する（レンダリング処理）。
【０００５】
Ｗｉｎｄｏｗｓ８では、Ｖ４と呼ばれる新しい仕様のプリンタードライバーが導入されている。Ｖ４プリンタードライバーのＰｏｉｎｔ＆Ｐｒｉｎｔには、ＣＳＲ（Client Side Rendering）と、ＳＳＲ（Server Side Rendering）との二つの動作方式が存在する。なお、以下の説明において、プリンタードライバーが「同じ」とは、プリンタードライバーのモデルが同じことを指し、同一モデルのプリンタードライバーであればそのバージョンが相違するものであっても、プリンタードライバーは同じとなる。
【０００６】
ＣＳＲは、クライアント側でレンダリング処理を行う動作方式であり、サーバーからクライアントにプリンタードライバーがダウンロードされる時点で、サーバーにインストールされているプリンタードライバーと同じプリンタードライバーが既にクライアントにインストールされている場合に動作する方式である。このＣＳＲの動作方式では、クライアントは、サーバーからプリンタードライバーの構成部をダウンロードし、この構成部の情報（機能情報）に従って印刷設定の設定を行う。描画対象データは印刷設定とともにクライアント側の描画部に出力され、当該クライアント側の描画部が、描画対象データと印刷設定とに基づいてレンダリング処理を行う。
【０００７】
一方、ＳＳＲは、サーバー側でレンダリング処理を行う動作方式であり、サーバーからクライアントにプリンタードライバーがダウンロードされる時点で、サーバーにインストールされているプリンタードライバーと同じプリンタードライバーがクライアントにインストールされていない場合に動作する方式である。このＳＳＲの動作方式では、クライアントは、サーバーからプリンタードライバーの構成部をダウンロードし、この構成部の情報（機能情報）に従って印刷設定の設定を行う。描画対象データは印刷設定とともにサーバー側に送信され、サーバー側の描画部が、描画対象データと印刷設定とに基づいてレンダリング処理を行う。
【０００８】
このように、Ｖ４プリンタードライバーのＰｏｉｎｔ＆Ｐｒｉｎｔでは、クライアントにサーバーと同じプリンタードライバーが存在する場合には、ＣＳＲで動作する仕様となっている。
【０００９】
なお、例えば特許文献１には、ドライバーインストール部と、プラグインインストール部とを備えるドライバインストーラーが開示されている。ここで、ドライバーインストール部は、プリンタードライバーの動作に必要なファイルをまとめたプリンタドライバパッケージを読み込んで、必要なファイルをプリンタードライバーとしてインストールする。プラグインインストール部は、必要なファイルがインストールされたプリンタードライバーに、機能を追加するためのプラグイン情報ファイルとプラグインファイルとをまとめたプラグインパッケージを読み込んで、プラグイン情報ファイルとプラグインファイルとを登録する。このドライバインストーラーによれば、プラグインに変更が入った際、プラグインパッケージのみ追加登録できるので、プリンタードライバーの再構築が不要になり、ソフトウェア開発のコストの削減に繋がる。
【００１０】
また、例えば特許文献２には、装置ドライバが開示されている。具体的には、画像処理ジョブが開始されると、拡張可能な装置ドライバは、ターゲット画像処理装置に問い合わせをし、機能セットを識別する。その後、装置ドライバはローカルでサポートされる機能セット内の機能を識別する。そして、装置ドライバは、遠隔サーバー装置へ問い合わせを行い、ローカルでサポートされていない機能セット内の機能を装置ドライバでサポートすることを可能とする１以上のプラグインを識別する。その後、装置ドライバは、このプラグインをダウンロードし、記憶をする。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１４−８５７４９号公報
【特許文献２】特開２０１０−９８７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
プリンタードライバーでは、機能の追加や不具合の修正等の観点からプログラムの追加・修正を行うバージョンアップが行われる。このため、サーバー側のプリンタードライバーのバージョンと、クライアント側のプリンタードライバーのバージョンとが一致しないことがある。
【００１３】
クライアントにインストールされるプリンタードライバーは、通常、Ｐｏｉｎｔ＆Ｐｒｉｎｔによって提供されるため、このようなバージョンの相違が起こることは少ない。しかしながら、クライアントの中には、Ｐｏｉｎｔ＆Ｐｒｉｎｔを利用する前に、プリンタードライバーが既にインストールされているものもある。例えば、ユーザー自らプリンタードライバーをインストールするといった如くである。このようなケースでは、クライアントとサーバーとでバージョンの相違が起こりえる。例えば、サーバー側のプリンタードライバーは、バージョン１に対して新たな機能が追加されたバージョン２であるが、クライアント側のプリンタードライバーのバージョンはバージョン１のままであるといった如くである。
【００１４】
バージョンが異なってもプリンタードライバー同士が同じであるため、ＣＳＲで動作する。このため、クライアントはサーバーからバージョン２の構成部をダウンロードし、構成部がダウンロードしたバージョン２のもので更新されることとなる。この場合、クライアントのプリンタードライバーでは更新された構成部（バージョン２）を利用するため、印刷設定の際には新たな機能を設定することができる。しかしながら、描画部はバージョン１のままであるため、バージョン２に対応する新たな機能についてのレンダリング処理を行うことができない。このため、印刷設定通りの出力を得ることができないという問題がある。
【００１５】
本発明はかかる事情に鑑みてなされたものであり、その目的は、プリンタードライバーのバージョンの不一致に起因する不都合を抑制することができる情報処理システム、情報処理装置及びコンピュータープログラムを提供することである。
【課題を解決するための手段】
【００１６】
かかる課題を解決するために、第１の発明は、印刷装置と、第１の情報処理装置と、描画対象データを生成する第２の情報処理装置とがネットワークを介して接続された印刷制御システムを提供する。ここで、前記第１の情報処理装置は、第１のプロセッサーと、前記第１のプロセッサーにより実行されるプリンタードライバーを格納する第１の記憶装置と、を備える。前記第１の情報処理装置における前記プリンタードライバーは、当該プリンタードライバーの機能に関する機能情報と、前記プリンタードライバーのバージョンに関するバージョン情報とを有する構成部と、描画対象データと、前記機能情報に従って設定された印刷設定に基づいてレンダリング処理を行う描画部と、を有する。前記第２の情報処理装置は、第２のプロセッサーと、前記第２のプロセッサーにより実行されるプリンタードライバーを格納する第２の記憶装置と、を備える。前記第２の情報処理装置における前記プリンタードライバーは、当該プリンタードライバーの機能に関する機能情報と、前記プリンタードライバーのバージョンに関するバージョン情報とを有する構成部と、描画対象データと、前記機能情報に従って設定された印刷設定に基づいてレンダリング処理を行う描画部と、を有する。この場合、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記第２のプロセッサーは、前記第１の情報処理装置から前記プリンタードライバーの前記構成部をダウンロードし、前記第２の情報処理装置の前記プリンタードライバーにおける前記構成部を更新する。そして、前記第２の情報処理装置における前記描画部は、更新された前記構成部とのバージョンの不一致を検出する差分検出部を備える。
【００１７】
ここで、第１の発明において、前記第１の情報処理装置における前記構成部は、バージョンの変更に伴い変更された機能についてレンダリング処理を行うための差分モジュールをさらに有することが好ましい。
【００１８】
また、第１の発明において、前記第２の情報処理装置における前記描画部は、前記印刷設定により指定された機能を実行するための前記差分モジュールを前記構成部より抽出する差分取得部をさらに有することが好ましい。
【００１９】
また、第１の発明において、差分モジュールは、レンダリング処理を行うプログラムファイルをバイナリ化したデータであり、第２の情報処理装置における前記描画部は、前記差分モジュールを前記第２のプロセッサーが実行可能な実行可能ファイルに変換する実ファイル化部をさらに有することが好ましい。
【００２０】
また、第１の発明において、前記第２の情報処理装置における前記描画部は、前記印刷設定により指定された機能が実行できないことを警告する警告表示部をさらに有することが好ましい。
【００２１】
また、第２の発明は、他の情報処理装置と通信可能な情報処理装置であって、プロセッサーと、当該プロセッサーにより実行されるプリンタードライバーを格納する記憶装置と、を備える情報処理装置を提供する。このプリンタードライバーは、当該プリンタードライバーの機能に関する機能情報と、前記プリンタードライバーのバージョンに関するバージョン情報と、バージョンの変更に伴い変更された機能についてレンダリング処理を行うための差分モジュールとを有する構成部と、描画対象データと、前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部と、を備える。ここで、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記プロセッサーは、前記構成部を前記他の情報処理装置に送信する。
【００２２】
また、第３の発明は、他の情報処理装置と通信可能な情報処理装置であって、プロセッサーと、当該プロセッサーにより実行されるプリンタードライバーを格納する記憶装置と、を備える情報処理装置を提供する。このプリンタードライバーは、当該プリンタードライバーの機能に関する機能情報と、前記プリンタードライバーのバージョンに関するバージョン情報とを有する構成部と、描画対象データと、前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部と、を備える。ここで、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記プロセッサーは、前記他の情報処理装置から前記プリンタードライバーの前記構成部をダウンロードし、前記プリンタードライバーにおける前記構成部を更新する。そして、前記描画部は、更新された前記構成部とのバージョンの不一致を検出する差分検出部を備える。
【００２３】
また、第４の発明の一の側面は、情報処理装置に所定の処理を実行させるためのコンピュータープログラムを提供する。このコンピュータープログラムは、情報処理装置を、当該コンピュータープログラムの機能に関する機能情報と前記コンピュータープログラムのバージョンに関するバージョン情報とバージョンの変更に伴い変更された機能についてレンダリング処理を行うための差分モジュールとを有する構成部、描画対象データと前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部、として機能させる。そして、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記情報処理装置は、前記構成部の機能を実現するためのファイルを他の情報処理装置に送信する。
【００２５】
また、第４の発明の別の側面は、情報処理装置に所定の処理を実行させるためのコンピュータープログラムを提供する。このコンピュータープログラムは、情報処理装置を、当該コンピュータープログラムの機能に関する機能情報と前記コンピュータープログラムのバージョンに関するバージョン情報とを有する構成部、描画対象データと前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部、として機能させる。そして、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記情報処理装置は、前記構成部の機能を実現するためのファイルを、他の情報処理装置からダウンロードして更新し、前記描画部は、更新した前記構成部とのバージョンの不一致を検出する差分検出部としての機能をさらに備える。
【００２６】
また、第５の発明は、情報処理装置に所定の処理を実行させるためのコンピュータープログラムを提供する。このコンピュータープログラムは、前記情報処理装置がサーバーである場合には、当該情報処理装置を、当該コンピュータープログラムの機能に関する機能情報と前記コンピュータープログラムのバージョンに関するバージョン情報と、バージョンの変更に伴い変更された機能についてレンダリング処理を行うための差分モジュールとを有する構成部、描画対象データと前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部、として機能させる。ここで、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記情報処理装置は、前記構成部の機能を実現するためのファイルをクライアントに送信する。
【００２７】
また、第６の発明は、情報処理装置に所定の処理を実行させるためのコンピュータープログラムを提供する。このコンピュータープログラムは、前記情報処理装置がクライアントである場合には、当該情報処理装置を、当該コンピュータープログラムの機能に関する機能情報と前記コンピュータープログラムのバージョンに関するバージョン情報とを有する構成部、描画対象データと前記機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部、として機能させる。ここで、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、前記情報処理装置は、前記構成部の機能を実現するためのファイルを、サーバーからダウンロードして更新する。そして、前記描画部は、更新した前記構成部とのバージョンの不一致を検出する差分検出部としての機能をさらに備える。
【発明の効果】
【００２８】
本発明によれば、描画部が、構成部とのバージョンの不一致を検出する差分検出部を備えている。そのため、プリンタードライバーのバージョンが相違し、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより更新された構成部のバージョンが描画部のそれと一致しないことを適切に把握ことができる。このため、バージョンの不一致に応じて適切な処理を行うことができるので、ユーザーが意図しない出力物が生成されるといった事態を抑制することができる。
【図面の簡単な説明】
【００２９】
【図１】印刷制御システムの構成を示す説明図
【図２】プリントサーバーの構成を示すブロック図
【図３】クライアントＰＣの構成を示すブロック図
【図４】印刷制御システムの構成を示すブロック図
【図５】情報定義部の詳細な構成を示すブロック図
【図６】第１の実施形態に係る印刷制御システムにおけるプリント処理を示すフローチャート
【図７】プリント処理に係る印刷制御システムの動作を模式的に示す説明図
【図８】第２の実施形態に係る印刷制御システムの構成を模式的に示す説明図
【図９】情報定義部の詳細な構成を示すブロック図
【図１０】第２の実施形態に係る印刷制御システムにおけるプリント処理を示すフローチャート
【図１１】警告表示の一例を示す説明図
【発明を実施するための形態】
【００３０】
（第１の実施形態）
図１は、本実施形態に係る印刷制御システムの構成を示す説明図である。本実施形態に係る印刷制御システムは、プリントサーバー１と、クライアントＰＣ２と、プリンター３とで構成されている。プリントサーバー１と、クライアントＰＣ２と、プリンター３とは、ＬＡＮ（Local Area Network）などのネットワーク５に接続されて、互いに通信可能に構成されている。なお、本実施形態では、プリントサーバー１と、クライアントＰＣ２と、プリンター３とがそれぞれ一つずつ設けられているが、プリントサーバー１、クライアントＰＣ２、プリンター３がそれぞれ一つ以上存在する構成であってもよい。また、ネットワーク５は、インターネットなどの外部ネットワークを含む構成であってもよい。
【００３１】
図２は、プリントサーバー１の構成を示すブロック図である。プリントサーバー１は、ＣＰＵ１ａ、ＲＯＭ１ｂ、ＲＡＭ１ｃ、記憶装置１ｄ、表示装置１ｅ、入力装置１ｆ、ネットワークＩ／Ｆ部１ｇなどを備え、これらはバス１ｈを介して相互に接続されている（第１の情報処理装置）。
【００３２】
ＣＰＵ１ａは、ＯＳ（Operating System）プログラムをベースとし、その上で、ミドルウェアやアプリケーションプログラムなどを実行する（第１のプロセッサー）。ＲＯＭ１ｂは、ＣＰＵ１ａが実行する各種プログラムを、当該ＣＰＵ１ａが読み取り可能なプログラムコードの形態で格納する。また、ＲＯＭ１ｂは、プログラムの実行に必要となるデータを記憶する。ＲＡＭ１ｃは、作業用の記憶領域となるメモリである。ＲＯＭ１ｂ及び記憶装置１ｄに格納されたプログラム及びデータは、ＣＰＵ１ａにより読み出されると、ＲＡＭ１ｃ上に展開される。そして、ＣＰＵ１ａは、ＲＡＭ１ｃ上に展開したプログラム及びデータに基づいて、各種の処理を行う。
【００３３】
記憶装置１ｄは、例えばＨＤＤ（Hard Disk Drive）からなる補助記憶装置であり、クライアントＰＣ２から送信されてきた印刷ジョブを一時的に格納したり、その他各種のアプリケーションプログラムやデータ等を格納したりしている。また、記憶装置１ｄには、コンピュータープログラムであるプリンタードライバー１０も格納される（第１の記憶装置）。表示装置１ｅは、ＣＲＴや液晶表示装置等からなり、各種のメッセージや、ユーザーに入力操作を促すダイアログ等を表示する。入力装置１ｆは、キーボードやマウス等からなり、ユーザーによる入力操作に用いられる。ネットワークＩ／Ｆ部１ｇは、クライアントＰＣ２やプリンター３等の外部機器との間で、ネットワーク５を介して、データの送受信を行う通信手段である。
【００３４】
このプリントサーバー１は、オペレーティングシステムとして、例えばＷＩＮＤＯＷＳを搭載している。プリントサーバー１には、ネットワーク５上のプリンター３に対応するプリンタードライバーがインストールされ、当該プリンター３を共有している。このプリントサーバー１は、ＷＩＮＤＯＷＳのＰｏｉｎｔ＆Ｐｒｉｎｔ機能により、プリンタードライバーをクライアントＰＣ２に展開することができる。プリントサーバー１は、クライアントＰＣ２から送信される印刷ジョブを受信すると、必要に応じてレンダリング処理した上でプリンター３に送信し、そのプリンター３により印刷を行わせる。
【００３５】
図３は、クライアントＰＣ２の構成を示すブロック図である。クライアントＰＣ２は、ＣＰＵ２ａ、ＲＯＭ２ｂ、ＲＡＭ２ｃ、記憶装置２ｄ、表示装置２ｅ、入力装置２ｆ、ネットワークＩ／Ｆ部２ｇなどを備え、これらはバス２ｈを介して相互に接続されている（第２の情報処理装置）。
【００３６】
ＣＰＵ２ａは、ＯＳ（Operating System）プログラムをベースとし、その上で、ミドルウェアやアプリケーションプログラムなどを実行する（第２のプロセッサー）。ＲＯＭ２ｂは、ＣＰＵ２ａが実行する各種プログラムを、当該ＣＰＵ２ａが読み取り可能なプログラムコードの形態で格納する。また、ＲＯＭ２ｂは、プログラムの実行に必要となるデータを記憶する。ＲＡＭ２ｃは、作業用の記憶領域となるメモリである。ＲＯＭ２ｂ及び記憶装置２ｄに格納されたプログラム及びデータは、ＣＰＵ２ａにより読み出されると、ＲＡＭ２ｃ上に展開される。そして、ＣＰＵ２ａは、ＲＡＭ２ｃ上に展開したプログラム及びデータに基づいて、各種の処理を行う。
【００３７】
記憶装置２ｄは、例えばＨＤＤ（Hard Disk Drive）からなる補助記憶装置であり、各種のアプリケーションプログラムやデータ等を格納している。また、記憶装置２ｄには、プリンタードライバーも格納される（第２の記憶装置）。表示装置２ｅは、ＣＲＴや液晶表示装置等からなり、各種のメッセージや、ユーザーに入力操作を促すダイアログ等を表示する。入力装置２ｆは、キーボードやマウス等からなり、ユーザーによる入力操作に用いられる。ネットワークＩ／Ｆ部２ｇは、プリントサーバー１やプリンター３等の外部機器との間で、ネットワーク５を介して、データの送受信を行う通信手段である。
【００３８】
このクライアントＰＣ２は、オペレーティングシステムとして、例えばＷＩＮＤＯＷＳを搭載している。クライアントＰＣ２には、オペレーティングシステム上で動作するアプリケーションプログラムがインストールされている。また、クライアントＰＣ２には、ＷＩＮＤＯＷＳのＰｏｉｎｔ＆Ｐｒｉｎｔにより、プリンター３に対応するプリンタードライバー１０がプリントサーバー１から提供され、インストールされる。なお、プリンタードライバー１０のインストール方法としては、Ｐｏｉｎｔ＆Ｐｒｉｎｔを用いずに、予めインストールすることも可能である。
【００３９】
アプリケーションプログラムにより、その作成した文書に対して印刷要求がなされると、プリンタードライバー１０が印刷ジョブを作成する。そして、クライアントＰＣ２は、プリントサーバー１又はプリンター３に印刷ジョブを送信する。
【００４０】
プリンター３は、クライアントＰＣ２又はプリントサーバー１から印刷ジョブを取得し、その印刷ジョブを実行することによって印刷出力を行う。すなわち、プリンター３は、印刷ジョブを受信すると、その印刷ジョブに基づいて用紙などに画像形成を行うことによって印刷出力を行う画像形成装置である。なお、プリンター３は、印刷出力を行うプリント機能のみを備えた装置であってもよいし、プリント機能の他にスキャン機能やコピー機能などを備えた複合機として構成される装置であってもよい。
【００４１】
図４は、本実施形態に係るプリンタードライバー１０の基本構成（機能構成）を示すブロック図である。プリンタードライバー１０は、プリントサーバー１及びクライアントＰＣ２のそれぞれにインストールされており、その構成は基本的に同じである。プリンタードライバー１０に関するファイルの追加・削除は、オペレーティングシステムが管理しており、プリンタードライバー１０のインストール及びアンインストールを介して行われる。インストールされたプリンタードライバー１０は、ＷＩＮＤＯＷＳのシステムフォルダーに格納され、システムフォルダーには、オペレーティングシステム上でプリンタードライバーとして動作するファイルが格納される。
【００４２】
プリンタードライバー１０は、構成部１１と、ユーザーインターフェース部（ＵＩ部）１２と、描画部１３と、を有している。ＣＰＵ１ａ，２ａは、プリンタードライバー１０を実行することにより、構成部１１、ＵＩ部１２、描画部１３に示す格納を実現する。
【００４３】
構成部１１は、種々の情報を定義する情報定義部１１０を備えている。図５は、情報定義部１１０の詳細な機能構成を示すブロック図である。情報定義部１１０は、機能定義部１１０ａ、バージョン定義部１１０ｂ、差分モジュール部１１０ｃとで構成されている。
【００４４】
機能定義部１１０ａは、機能情報、すなわち、プリンタードライバー１０の機能に関する情報を有するデータである。プリンタードライバー１０の機能としては、例えば、ウォーターマーク（WaterMark）機能や、オーバーレイ（Overlay）機能が挙げられる。ここで、ウォーターマーク機能は、所定のスタンプを背景画像として印刷する機能である。オーバーレイ機能は、予め設定されたフォームと、実際に印刷する描画対象データ（印刷原稿）とを重ね合わせて印刷する機能である。この機能定義部１１０ａにより、このプリンタードライバー１０がどのような機能に対応可能かを認識することができる。
【００４５】
バージョン定義部１１０ｂは、バージョン情報、すなわち、プリンタードライバー１０のバージョンに関する情報を有するデータである。このバージョン定義部１１１ｂにより、このプリンタードライバー１０のバージョンを認識することができる。
【００４６】
差分モジュール部１１０ｃは、差分モジュールを有するデータである。差分モジュールは、プリンタードライバー１０のバージョンが変更された際に、これにともない変更された機能についてレンダリング処理を行うためのデータである。バージョンの変更は、例えば、バージョンアップであり、差分モジュールは、バージョンアップにより追加された機能についてレンダリング処理を行うためのデータである。
【００４７】
差分モジュールは、レンダリング処理を行うプログラムファイルをバイナリ化したデータである。例えば差分モジュールは、テキストデータであり、ＤＬＬ（Dynamic Link Library）ファイルのバイナリデータをＢａｓｅ６４に変換したもので記述することができる。
【００４８】
例えば、プリンタードライバー１０のバージョンが、バージョン１、バージョン２の順番でバージョンアップしている場合には、バージョン１からバージョン２へのバージョンアップにより追加された機能に関する差分モジュールが、差分モジュール部１１０ｃに記憶されている。
【００４９】
同様に、プリンタードライバー１０のバージョンが、バージョン１、バージョン２、バージョン３の順番でバージョンアップしている場合には、バージョン２からバージョン３へのバージョンアップにより追加された機能に関する差分モジュールのみならず、バージョン１からバージョン３までのバージョンアップにより追加された機能に関する差分モジュールも、差分モジュール部１１０ｃに記憶されている。
【００５０】
このように、差分モジュール部１１０ｃには、過去にリリースされたバージョンとの間に生じる機能の差を埋めるための全ての差分モジュールが用意されている。また、差分モジュール部１１０ｃには、追加された機能毎に、差分モジュールが用意されている。
【００５１】
また、構成部１１は、描画対象データ（印刷原稿）と、ＵＩ部１２を通じて設定される設定情報とを描画部１３に出力する。描画対象データは、アプリケーションプログラムにより生成されて印刷対象となるデータであり、当該アプリケーションプログラムからの印刷要求に応じて取得される。
【００５２】
ＵＩ部１２は、構成部１１の機能定義部１１０ａに基づいて、プリンタードライバー１０の機能が反映された印刷設定をユーザーが設定するためのダイアログを生成して表示装置に表示させるユーザーインターフェースである。ＵＩ部１２によるダイアログ生成は、オペレーティングシステムのグラフィカル・ユーザー・インターフェイスを用いて行われる。ダイアログを通じたユーザー操作により印刷設定が設定されると、ＵＩ部１２は、その印刷設定を設定情報として記憶する。
【００５３】
描画部１３は、レンダリング処理を行うものである。描画部１３は、差分検出部１３０と、差分取得部１３１と、実ファイル化部１３２と、描画処理部１３３とを有している。また、描画部１３には、当該描画部１３をなすファイルとしてインストールされたプリンタードライバー１０のバージョン情報が関連付けられている。
【００５４】
差分検出部１３０は、構成部１１のバージョン定義部１１０ｂを参照し、当該構成部１１とのバージョンの不一致、すなわち、構成部１１のバージョンと描画部１３のバージョンとの不一致を検出する。
【００５５】
差分取得部１３１は、構成部１１の差分モジュール部１１０ｃを検索し、必要な差分モジュールを抽出する。
【００５６】
実ファイル化部１３２は、差分取得部１３１により取得された差分モジュールをＣＰＵ１ａ，２ａが実行可能な実行可能ファイルに変換する。変換されたファイルは、描画処理部１３３に組み込まれ、描画処理部１３３の一部として新たな機能を実行する。
【００５７】
描画処理部１３３は、構成部１１から描画対象データ及び設定情報を受信すると、設定情報（印刷設定）に従い、描画対象データをプリンター３のＰＤＬ（ページ記述言語）等の印刷データに変換する（レンダリング処理）。また、実ファイル化部１３２から出力された実行可能ファイルは、描画処理部１３３の一部に組み込まれ、新たな機能を実現する際に利用される。
【００５８】
このプリンタードライバー１０は、Ｖ４プリンタードライバーであり、ＷＩＮＤＯＷＳのＰｏｉｎｔ＆Ｐｒｉｎｔでは、以下の２方式で動作する。
【００５９】
具体的には、プリントサーバー１のプリンタードライバー１０と、クライアントＰＣ２のプリンタードライバー１０とが同じである場合には、ＣＳＲで動作する。この場合、クライアントＰＣ２のＣＰＵ２ａは、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、プリントサーバー１からプリンタードライバー１０の構成部１１をダウンロードし、構成部１１を更新する。ＣＰＵ２ａは、ＵＩ部１２を機能させ、更新した構成部１１の機能定義部１１０ａ（機能情報）に従って印刷設定の設定を行う。ＣＰＵ２ａは、描画部１３を機能させ、描画対象データと印刷設定とに基づいてレンダリング処理を行う。レンダリング処理により作成された印刷データを含む情報は、印刷ジョブとしてプリンター３に送信される。
【００６０】
一方、プリントサーバー１のプリンタードライバー１０と、クライアントＰＣ２のプリンタードライバー１０とが同じでない場合には、ＳＳＲで動作する。この場合、クライアントＰＣ２のＣＰＵ２ａは、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、プリントサーバー１からプリンタードライバー１０の構成部１１をダウンロードする。ＣＰＵ２ａは、ＵＩ部１２を機能させ、ダウンロードした構成部１１の機能定義部１１０ａ（機能情報）に従って印刷設定の設定を行う。ＣＰＵ２ａは、描画対象データと印刷設定とを含む情報をプリントサーバー１側に送信する。プリントサーバー１のＣＰＵ１ａは、そのプリンタードライバー１０の描画部１３を機能させ、描画対象データと印刷設定とに基づいてレンダリング処理を行う。レンダリング処理により作成された印刷データを含む情報は、印刷ジョブとしてプリンター３に送信される。
【００６１】
図６は、第１の実施形態に係る印刷制御システムにおける印刷処理を示すフローチャートである。図６のフローチャートに示す処理は、アプリケーションプログラムからの印刷要求に応じてＣＰＵ２ａが各種の処理を実行することにより、実現される。また、図７は、印刷処理に係る印刷制御システムの動作を模式的に示す説明図である。
【００６２】
ここで、印刷制御システムにおいて、クライアントＰＣ２のプリンタードライバー１０と、プリントサーバー１のプリンタードライバー１０とはモデルが同一であり、ＣＳＲで動作する。また、クライアントＰＣ２のプリンタードライバー１０のバージョンと、プリントサーバー１のプリンタードライバー１０のバージョンとは相違しているものとする。このような現象は、クライアントＰＣ２に対するプリンタードライバー１０の初期的なインストールを、Ｐｏｉｎｔ＆Ｐｒｉｎｔ以外の方法、例えばユーザー自らが行うことによって起こりえる。以下、説明の便宜上、クライアントＰＣ２にインストールされているプリンタードライバー１０のバージョンを「バージョン１」とし、プリントサーバー１にインストールされているバージョンを「バージョン２」とする。このバージョン２は、バージョン１と比べて新たな機能が追加されている。
【００６３】
まず、ステップＳ１０において、ＣＰＵ２ａは、プリンタードライバー１０を実行する。
【００６４】
ステップＳ１１において、ＣＰＵ２ａは、プリントサーバー１からそのプリンタードライバー１０の構成部１１をダウンロードする。プリントサーバー１とクライアントＰＣ２とではプリンタードライバー１０のバージョンが異なり、クライアントＰＣ２のプリンタードライバー１０内の構成部１１（バージョン１）は、プリントサーバー１からダウンロードした構成部１１（バージョン２）により更新される。したがって、図７に示すように、クライアントＰＣ２では、構成部１１はバージョン２に更新されるものの、描画部１１はバージョン１のままとなる。
【００６５】
ステップＳ１２乃至ステップＳ２１の処理では、ＣＰＵ２ａは、プリンタードライバー１０の各機能（構成部１１、ＵＩ部１２、描画部１３）を実現し、以下に示す処理を行う。
【００６６】
具体的には、ステップＳ１２において、ＵＩ部１２は、印刷設定を行う。具体的には、構成部１１の情報定義部１１０から機能定義部１１０ａを読み込む。そして、ＵＩ部１２は、読み込んだ機能定義部１１０ａに基づいて印刷設定に関する所定のダイアログを表示装置２ｅに表示するとともに、ユーザーの操作入力を受け付け、これにより、印刷設定の設定を行う。印刷設定に関する情報は設定情報としてＵＩ部１２に記憶される。上述したように、構成部１１はバージョン２に更新されているため、この印刷設定は、バージョンアップに伴い新たに追加された機能も対応している。
【００６７】
ステップＳ１３において、構成部１１は、ＵＩ部１２から設定情報を取得すると、アプリケーションプログラムから取得した描画対象データとともに描画部１３に送信する。
【００６８】
ステップＳ１４において、描画部１３（差分検出部１３０）は、構成部１１の情報定義部１１０からバージョン定義部１１０ｂを読み込み、当該構成部１１とのバージョンの差を検出する。
【００６９】
ステップＳ１５において、描画部１３（差分検出部１３０）は、構成部１１のバージョンと、描画部１３のバージョンとが一致しているか否かを判断する。構成部１１のバージョンと描画部１３のバージョンとが一致している場合には、ステップＳ１５において肯定判定され、後述するステップＳ２１に進む。一方、構成部１１のバージョンと描画部１３のバージョンとが一致していない場合には、ステップＳ１５において否定判定され、ステップＳ１６に進む。
【００７０】
ステップＳ１６において、描画部１３（描画処理部１３３）は、設定情報（印刷設定）を参照し、現状のバージョン（バージョン１）の描画部１３で処理を行うことができない機能（以下「処理不可能機能」という）が設定されているか否かを判断する。バージョン２で新たに追加された機能については、バージョン１の描画部１３では処理を行うことができない。そのため、バージョン２固有の機能が印刷設定に含まれている場合には、処理不可能機能が設定されていることとなる。一方で、バージョン１の機能のみが印刷設定に含まれている場合には、処理不可能機能が設定されていないこととなる。
【００７１】
処理不可能機能が設定されている場合には、ステップＳ１６において肯定判定され、ステップＳ１７に進む。一方、処理不可能機能が設定されていない場合には、ステップＳ１６において否定判定され、ステップＳ２１に進む。
【００７２】
ステップＳ１７において、描画部１３（描画処理部１３３）は、処理不能機能に対応した実行可能ファイルが描画部１３に存在するか否かを判断する。処理不能機能に対応した実行可能ファイルが描画部１３に既に組み込まれている場合には、ステップＳ１７で肯定判定され、後述するステップＳ２０に進む。一方、処理不能機能に対応した実行可能ファイルが描画部１３に未だ組み込まれていない場合には、ステップＳ１７で否定判定され、ステップＳ１８に進む。
【００７３】
ステップＳ１８において、描画部１３（差分取得部１３１）は、構成部１１の情報定義部１１０を検索し、差分モジュール部１１０ｃから処理不能機能に対応した差分モジュールを抽出する。
【００７４】
ステップＳ１９において、描画部１３（実ファイル化部１３２）は、差分取得部１３１により取得された差分モジュールを変換し、実行可能ファイルを作成する。作成された実行可能ファイルは、描画処理部１３３に出力され、これに組み込まれる。組み込まれた実行可能ファイルは、描画処理部１３３の一部として新たな機能を実行する。
【００７５】
ステップＳ２０において、描画部１３（描画処理部１３３）は、当該描画部１３に組み込まれた実行可能ファイルにて、処理不能機能を処理する。
【００７６】
ステップＳ２１において、描画部１３（描画処理部１３３）は、印刷ジョブを生成する。具体的には、描画部１３は、印刷設定に従い、描画対象データをプリンター３のＰＤＬ（ページ記述言語）等の印刷データに変換し、印刷ジョブを生成する。生成した印刷ジョブは、プリンター３に送信される。そして、本処理を終了する（ＥＮＤ）。
【００７７】
このように本実施形態において、印刷制御システムは、プリントサーバー１と、クライアントＰＣ２とから構成されている。プリントサーバー１は、ＣＰＵ１ａと、ＣＰＵ１ａにより実行されるプリンタードライバー１０を格納する記憶装置１ｄと、を備えている。このプリントサーバー１のプリンタードライバー１０は、その機能に関する機能情報とそのバージョンに関するバージョン情報とを有する構成部１１と、印刷を要求された描画対象データと機能情報に従って設定された印刷設定とに基づいてレンダリング処理を行う描画部１３と、を備えている。一方、クライアントＰＣ２は、ＣＰＵ２ａと、ＣＰＵ２ａにより実行されるプリンタードライバー１０を格納する記憶装置１ｄと、を備えている。このクライアントＰＣ２のプリンタードライバー１０は、その機能に関する機能情報とそのバージョンに関するバージョン情報とを有する構成部１１と、描画対象データと機能情報に従って設定された印刷設定に基づいてレンダリング処理を行う描画部１３と、を備えている。そして、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより、クライアントＰＣ２は、プリントサーバー１におけるプリンタードライバー１０の構成部１１をダウンロードして、クライアントＰＣ２におけるプリンタードライバー１０の構成部１１を更新する。このクライアントＰＣ２において、描画部１３は、更新された構成部１１とのバージョンの不一致を検出する差分検出部１３０を備えている。
【００７８】
この構成によれば、描画部１３が、構成部１１とのバージョンの不一致を検出する差分検出部１３０を備えている。そのため、クライアントＰＣ２と、プリントサーバー１との間でプリンタードライバー１０のバージョンが相違し、Ｐｏｉｎｔ＆Ｐｒｉｎｔにより更新された構成部１１のバージョンが描画部１３のそれと一致しないことをクライアントＰＣ２側で適切に把握することができる。このため、クライアントＰＣ２では、この不一致に応じて適切な処理を行うことができるので、ユーザーが意図しない出力物が生成されるといった事態を抑制することができる。
【００７９】
また、本実施形態において、プリントサーバー１における構成部１１は、バージョンの変更に伴い変更された機能についてレンダリング処理を行うための差分モジュールをさらに有している。
【００８０】
この構成によれば、クライアントＰＣ２がプリントサーバー１から構成部１１をダウンロードすることで、プリントサーバー１のプリンタードライバー１０がバージョンアップしても、クライアントＰＣ２に対してバージョンアップに対応した差分モジュールを提供することができる。これにより、クライアントＰＣ２で、そのプリンタードライバー１０のバージョンアップを行うことなく、バージョンアップに対応した新たな機能のレンダリング処理を行うことができる。
【００８１】
また、本実施形態において、クライアントＰＣ２における描画部１３は、印刷設定により指定された機能を実行するための差分モジュールを構成部１３より抽出する差分取得部１３１をさらに有している。
【００８２】
この構成によれば、印刷に必要となる差分モジュールを適切に抽出することができる。これにより、クライアントＰＣ２で、そのプリンタードライバー１０のバージョンアップを行うことなく、バージョンアップに対応した新たな機能のレンダリング処理を有効に行うことができる。
【００８３】
また、本実施形態において、クライアントＰＣ２における描画部１３は、差分モジュールをＣＰＵ２ａが実行可能な実行可能ファイルに変換する実ファイル化部１３２をさらに有している。
【００８４】
差分モジュールは、レンダリング処理を行うプログラムファイルをバイナリ化したデータであるため、実ファイル化部１３２を備えることで、当該差分モジュールが実行可能ファイルに変化され、その機能を実現することができる。これにより、クライアントＰＣ２で、バージョンアップに対応した新たな機能のレンダリング処理を行うことができる。これにより、クライアントＰＣ２で、そのプリンタードライバー１０のバージョンアップを行うことなく、バージョンアップに対応した新たな機能のレンダリング処理を行うことができる。
【００８５】
（第２の実施形態）
図８は、第２の実施形態に係る印刷制御システムの構成（機能構成）を模式的に示す説明図である。この第２の実施形態に係る印刷制御システムが、第１の実施形態のそれと相違する点は、プリンタードライバー１０の構成部１１及び描画部１３の構成である。第１の実施形態と重複する内容については説明を省略することとし、以下、相違点を中心に説明を行う。
【００８６】
本実施形態において、プリンタードライバー１０の構成部１１は、種々の情報を定義する情報定義部１１１を備えている。この情報定義部１１１は、第１の実施形態とは相違し、図９に示すように、機能定義部１１１ａ及びバージョン定義部１１１ｂのみで構成されている。すなわち、第２の実施形態に係る情報定義部１１１では、差分モジュール部１１０ｃが省略されている。もっとも、第２の実施形態に係る構成部１１は、情報定義部１１１に代えて、第１の実施形態に示す情報定義部１１０を備えるものでもよい。
【００８７】
一方、描画部１３は、差分検出部１３０と、描画処理部１３３と、警告表示部１３４とを有している。
【００８８】
差分検出部１３０は、構成部１１のバージョン定義部１１０ｂを参照し、当該構成部１１とのバージョンの差、すなわち、構成部１１のバージョンと描画部１３のバージョンとの不一致を検出する。
【００８９】
描画処理部１３３は、構成部１１から描画対象データ及び設定情報を受信すると、設定情報（印刷設定）に従い、描画対象データをプリンター３のＰＤＬ（ページ記述言語）等の印刷データに変換する（レンダリング処理）。
【００９０】
警告表示部１３４は、前記印刷設定により指定された機能が実行できないことを警告するものである。
【００９１】
図１０は、第２の実施形態に係る印刷制御システムにおける印刷処理を示すフローチャートである。クライアントＰＣ２は、アプリケーションプログラムからの印刷要求に応じてＣＰＵ２ａが各種の処理を実行することにより、図１０のフローチャートに示す処理を実現する。
【００９２】
ここで、本説明の前提として、クライアントＰＣ２のプリンタードライバー１０と、プリントサーバー１のプリンタードライバー１０とはモデルが同一であり、ＣＳＲで動作する。また、クライアントＰＣ２のプリンタードライバー１０のバージョンと、プリントサーバー１のプリンタードライバー１０とのバージョンが相違しているものとする。以下、説明の便宜上、クライアントＰＣ２にインストルールされているプリンタードライバー１０のバージョンを「バージョン１」とし、プリントサーバー１にインストールされているバージョンを「バージョン２」とする。このバージョン２は、バージョン１と比べて新たな機能が追加されている。
【００９３】
まず、ステップＳ３０からステップＳ３４までの各処理は、第１の実施形態に示すステップＳ１０からステップＳ１４までの各処理と対応している。
【００９４】
ステップＳ３５において、描画部１３（差分検出部１３０）は、構成部１１のバージョンと、描画部１３のバージョンとが一致しているか否かを判断する。構成部１１のバージョンと描画部１３のバージョンとが一致している場合には、ステップＳ３５において肯定判定され、後述するステップＳ３９に進む。一方、構成部１１のバージョンと描画部１３のバージョンとが一致していない場合には、ステップＳ３５において否定判定され、ステップＳ３６に進む。
【００９５】
ステップＳ３６において、描画部１３（描画処理部１３３）は、設定情報（印刷設定）を参照し、処理不可能機能が設定されているか否かを判断する。処理不可能機能が印刷設定に設定されている場合には、ステップＳ３６において肯定判定され、ステップＳ３７に進む。一方、処理不可能機能が設定されていない場合には、ステップＳ３６において否定判定され、ステップＳ３９に進む。
【００９６】
ステップＳ３７において、描画部１３（警告表示部１３４）は、警告表示を行う。具体的には、描画部１３（警告表示部１３４）は、処理できない機能が設定されていること、さらには、印刷を中止するかそれともそのまま継続させるかを選択させる情報を表示装置２ｅに表示する。ここで、図１１を警告表示の一例を示す説明図である。
【００９７】
ステップＳ３８において、描画部１３（描画処理部１３３）は、ユーザーからの操作入力を参照し、そのまま印刷を継続するか否かを判断する。印刷を継続する場合には、ステップＳ３８において肯定判定され、ステップＳ３９に進む。一方、印刷を継続しない場合には、ステップＳ３８において否定判定され、本処理を終了する（ＥＮＤ）。
【００９８】
ステップＳ３９において、描画部１３（描画処理部１３３）は、印刷ジョブを生成する。具体的には、描画部１３は、設定情報（印刷設定）に従い、描画対象データをプリンター３のＰＤＬ（ページ記述言語）等の印刷データに変換し（レンダリング処理）、印刷ジョブを生成する。生成した印刷ジョブは、プリンター３に送信される。そして、本処理を終了する（ＥＮＤ）。
【００９９】
このように本実施形態によれば、クライアントＰＣ２の描画部１３は、前記印刷設定により指定された機能が実行できないことを警告する警告表示部１３４を有している。
【０１００】
この構成によれば、プリントサーバー１のバージョアップにともなう機能を描画部１３が実行できないことを、ユーザーが適切に把握することできる。これにより、印刷設定が可能であるにも拘わらず、当該印刷設定通りの出力を得ることができないという不都合を、ユーザーが事前に把握でき、ユーザーフレンドリーなシステムを提供することができる。
【０１０１】
以上、本発明の実施形態にかかるプリントサーバー及びクライアントを含む情報処理装置について説明したが、本発明は上述した実施形態に限定されることなく、その発明の範囲内において種々の変形が可能であることはいうまでもない。
【０１０２】
例えば、プリンタードライバー１０のバージョンは、そのリリース時期に応じて、「１」や、「１．０．０」といった数字等で表される識別子である。しかしながら、本実施形態では、バージョンとは、描画部１３では適切に処理できない機能の不一致を検出するための情報であり、一般的な意味でのバージョンの他に、このような機能を果たす情報を広く含むものとする。
【０１０３】
また、上述した実施形態では、プリンタードライバー１０は、プリントサーバー１として動作しているか、それともクライアントＰＣ２として動作しているかを認識せずに、動作している。しかしながら、プリンタードライバー１０が、サーバーとして動作しているか、クライアントとして動作しているかを認識し、それに応じて動作を切り替えることもできる。プリンタードライバー１０が、プリントサーバー１として動作しているか、それともクライアントＰＣ２として動作しているかを認識することは、レジストリに含まれる情報を参照することで行うことができる。
【０１０４】
レジストリは、オペレーティングシステムで用いられている設定情報のデータベースである。このレジストリには、インストールされたプリンタードライバー１０の情報や、プリンタードライバー１０で利用する設定情報が格納される。ＷＩＮＤＯＷＳのＰｏｉｎｔ＆Ｐｒｉｎｔ機能では、このレジストリに格納された情報も、プリントサーバー１とクライアントＰＣ２との間で授受される。
【０１０５】
具体的には、クライアントＰＣ２のレジストリには、プリンタードライバー１０を提供したプリントサーバー１を識別するための識別情報が含まれている。そのため、プリンタードライバー１０は、レジストリにプリントサーバー１の識別情報が含まれる場合は、自身がクライアントＰＣ２として動作していると認識し、上述の処理を行う。また、プリンタードライバー１０は、レジストリにプリントサーバー１の識別情報が含まれない場合は自身がプリントサーバー１として動作していると認識する。
【０１０６】
また、サーバー及びクライアントである情報処理装置に各機能を実行させるコンピュータープログラム（プリンタードライバー）、及びこのコンピュータープログラムを記憶してコンピューター読取可能な情報記憶媒体も本発明の一部として機能する。
【符号の説明】
【０１０７】
１      プリントサーバー
１ａ    ＣＰＵ
１ｂ    ＲＯＭ
１ｃ    ＲＡＭ
１ｄ    記憶装置
１ｅ    表示装置
１ｆ    入力装置
１ｇ    ネットワークＩ／Ｆ部
１ｈ    バス
２      クライアントＰＣ
２ａ    ＣＰＵ
２ｂ    ＲＯＭ
２ｃ    ＲＡＭ
２ｄ    記憶装置
２ｅ    表示装置
２ｆ    入力装置
２ｇ    ネットワークＩ／Ｆ部
２ｈ    バス
３      プリンター
１０      プリンタードライバー
１１      構成部
１１０      情報定義部
１１０ａ    機能定義部
１１０ｂ    バージョン定義部
１１０ｃ    差分モジュール部
１２      ＵＩ部
１３      描画部
１３０      差分検出部
１３１      差分取得部
１３２      実ファイル化部
１３３      描画処理部
１３４      警告表示部
【図１】
0006375817.tif 000002
【図２】
0006375817.tif 000003
【図３】
0006375817.tif 000004
【図４】
0006375817.tif 000005
【図５】
0006375817.tif 000006
【図６】
0006375817.tif 000007
【図７】
0006375817.tif 000008
【図８】
0006375817.tif 000009
【図９】
0006375817.tif 000010
【図１０】
0006375817.tif 000011
【図１１】
0006375817.tif 000012