(57)【特許請求の範囲】
【請求項１】
機能ファイルに含まれる機能情報を処理するために必要な所定のデータがプリンタドライバに含まれるか否かを判定する判定手段と、
前記機能情報を処理するために必要な所定のデータがプリンタドライバに含まれないと判定された場合、前記所定のデータに対応する機能情報を前記機能ファイルから削除する削除手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記削除手段によって前記所定のデータに対応する機能情報が前記機能ファイルから削除された後に、ダミーのジョブを投入するジョブ投入手段をさらに備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ダミーのジョブは、プリンタのメンテナンスジョブであることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、プリンタに接続されたサーバ装置とネットワークを介して接続されていることを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記判定手段は、前記サーバ装置と前記情報処理装置との間で前記プリンタが共有された後に、前記判定を行なうことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記情報処理装置と前記サーバ装置とで動作するオペレーションシステムによって、前記情報処理装置の前記機能ファイルは、前記プリンタが共有されたときの前記サーバ装置の機能ファイルに含まれる機能情報で更新されることを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記情報処理装置と前記サーバ装置とで動作するオペレーションシステムによって、前記情報処理装置の前記プリンタドライバには、前記プリンタが共有されたときのサーバ装置における所定のデータがコピーされないことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記所定のデータはＩＣＣプロファイルであることを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記オペレーションシステムは、Ｍａｃ  ＯＳ（登録商標）Ｘであることを特徴とする請求項６または７に記載の情報処理装置。
【請求項１０】
機能ファイルに含まれる機能情報を処理するために必要な所定のデータがプリンタドライバに含まれるか否かを判定する判定ステップと、
前記機能情報を処理するために必要な所定のデータがプリンタドライバに含まれないと判定された場合、前記所定のデータに対応する機能情報を前記機能ファイルから削除する削除ステップと
を備えることを特徴とする情報処理方法。
【請求項１１】
コンピュータを、請求項１から９のいずれか一項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタを共有する印刷システムで用いる技術に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（以下、ＰＣと称す）は接続されているプリンタをネットワーク上の他のＰＣと共有する機能を備えていることが多い。プリンタに１対１で接続されているＰＣをサーバＰＣと呼ぶ。サーバＰＣとネットワーク接続される一方でプリンタとは直接接続していないＰＣをクライアントＰＣと呼ぶ。プリンタを共有する機能を用いることにより、ネットワーク印刷をサポートしていないプリンタに対しても、ネットワーク上の複数台のクライアントＰＣからサーバＰＣを介してプリンタに印刷を要求できるようになる。サーバＰＣには、接続されているプリンタに対応するプリンタドライバがインストールされている。クライアントＰＣにも同様のプリンタドライバをインストールすることによって、クライアントＰＣのユーザはサーバＰＣに接続されているプリンタを使用可能になる。
【０００３】
このような複数台のＰＣとプリンタによって構成されるクライアントサーバ印刷システムにおいて、サーバＰＣのＰＰＤファイルをクライアントＰＣと共有する技術は一般的である（特許文献１参照）。ＰＰＤファイルは、ＰｏｓｔＳｃｒｉｐｔ Ｐｒｉｎｔｅｒ Ｄｅｓｃｒｉｐｔｉｏｎファイルのことである。ＰＰＤファイルにはプリンタのサポートする機能や初期値等が記述されており、ＰＣに組み込まれたプリンタドライバはＰＰＤファイルの記述に基づき各種機能の設定をユーザに提供する。
【０００４】
サーバＰＣに接続されたプリンタに対してサポートする機能が追加された場合、サーバＰＣは追加される機能の情報をプリンタから取得してサーバＰＣのＰＰＤファイルに追記する。機能の追加として、例えばプリンタがサポートする用紙サイズや用紙種類、印刷用インクの追加などがある。このような追加の機能の情報をサーバＰＣのＰＰＤファイルに追記することにより、サーバＰＣのユーザは、追加でプリンタにサポートされた機能を印刷時に指定することが可能になる。また、追記したＰＰＤファイルをサーバＰＣからクライアントＰＣに提供することにより、クライアントＰＣのユーザも同様にプリンタの追加機能を使用可能になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３７０９６９５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
プリンタに追加された機能によってはＰＰＤファイルに追記するだけでなく、追加機能を使用するために必要なデータをプリンタドライバに組み込む必要があるものがある。しかし、このような更新されたサーバＰＣのＰＰＤファイルがサーバＰＣからクライアントＰＣに提供されると不整合が生じる問題がある。その理由は、クライアントＰＣのプリンタドライバに必要なデータが組み込まれていないからである。以下、具体例をあげて説明する。
【０００７】
例えばＭａｃ  ＯＳ（登録商標）Ｘでは、サーバＰＣに接続されたプリンタをクライアントＰＣと共有すると、サーバＰＣのＰＰＤファイルがクライアントＰＣと共有される。すなわち、サーバＰＣのＰＰＤファイルがクライアントＰＣにコピーされる。このときクライアントＰＣのＰＰＤファイルには最新の追加機能の情報が記載されているが、サーバＰＣのプリンタドライバに組み込まれた追加機能を使用するためのデータはクライアントＰＣのプリンタドライバと共有されない。よって、クライアントＰＣではＰＰＤファイルとプリンタドライバとの間で不整合が生じる。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、機能ファイルに含まれる機能情報を処理するために必要な所定のデータがプリンタドライバに含まれるか否かを判定する判定手段と、前記機能情報を処理するために必要な所定のデータがプリンタドライバに含まれないと判定された場合、前記所定のデータに対応する機能情報を前記機能ファイルから削除する削除手段とを備えることを特徴とする。
【発明の効果】
【０００９】
プリンタを共有する印刷システムにおいて、クライアントＰＣにおけるＰＰＤファイルとクライアントＰＣにおけるプリンタドライバとの間の不整合を解消できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の印刷システムの全体構成を示す図である。
【図２】本実施形態のＰＰＤファイルとプリンタドライバのプロファイル格納部の例を示す図である。
【図３】本実施形態の印刷設定制御部によって表示される印刷設定画面の例を示す図である。
【図４】本実施形態のジョブ表示部によって表示される画面の例を示す図である。
【図５】本実施形態のサーバＰＣのユーティリティの操作画面の例を示す図である。
【図６】本実施形態のプリンタプロファイル情報の構成の例を示す図である。
【図７】本実施形態のプリンタのファームアップデート後の印刷設定画面の例を示す図である。
【図８】本実施形態のユーティリティのプロファイル取得のフローの例を示す図である。
【図９】本実施形態のサーバＰＣにおける、図８の処理の後のＰＰＤファイルとプリンタドライバのプロファイル格納部の例を示す図である。
【図１０】本実施形態のクライアントＰＣにおける、ＰＰＤファイルとプリンタドライバのプロファイル格納部の例を示す図である。
【図１１】本実施形態の不整合状態でクライアントＰＣのジョブ表示部によって表示されるジョブ表示画面の例を示す図である。
【図１２】本実施形態の不整合状態でクライアントＰＣにおいて表示される印刷設定画面例を示す図である。
【図１３】本実施形態のクライアントＰＣのユーティリティの操作画面の例を示す図である。
【図１４】本実施形態のユーティリティによるプロファイル適正化のフローの例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
＜実施形態１＞
図１は本実施形態のクライアントサーバ印刷システムの全体構成を示す図である。クライアントサーバ印刷システムは、クライアントＰＣ１００、サーバＰＣ１２０、プリンタ１４０を含む。クライアントＰＣ１００とサーバＰＣ１２０とはネットワークに接続され、相互に通信可能である。ここではネットワークとしてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を想定しているが、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であっても構わない。また、ネットワークの接続形態として有線無線を問わず、これらが混在していても構わない。サーバＰＣ１２０はプリンタ１４０と接続しており、プリンタ１４０を制御する。ここでは、プリンタ１４０はネットワーク印刷をサポートしておらず、通信インタフェースとしてＵＳＢ（Ｕｎｉｖｅｒｓａｌ Ｓｅｒｉａｌ Ｂｕｓ）を想定している。なお、ここではネットワーク印刷をサポートしていないプリンタを例に挙げているが、ネットワーク印刷をサポートしているものの、ＵＳＢなどの通信インタフェースのみを介して接続されている環境下のプリンタであってもよい。
【００１３】
サーバＰＣ１２０とクライアントＰＣ１００はパーソナルコンピュータであり、ＯＳ（オペレーションシステム）としてＭａｃ  ＯＳ（登録商標）  Ｘを想定している。ＯＳは図１には示していないが、ＰＣの資源、たとえばＰＣ内の各ブロックはＯＳにより管理されている。ここで、ＰＣは一般的な情報処理装置が備えるハードウェア構成を有している。具体的には、ＣＰＵ、ＲＯＭ、ハードディスク、ＲＡＭ，各種デバイスコントローラを備える。ＣＰＵは、プログラム用ＲＯＭに記憶された、或いはハードディスクからＲＡＭにロードされたＯＳやアプリケーション等のプログラムを実行する。後述する各フローチャートの処理はこのプログラムの実行により実現できる。また、ＲＡＭは、ＣＰＵの主メモリ、ワークエリア等としても機能する。また、キーボード、ディスプレイ、各種データを記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）等におけるデータアクセスを制御するディスクコントローラ（ＤＫＣ）等も備える。また、クライアントＰＣとサーバＰＣのネットワークを介した信号の交換や接続されたプリンタとの信号の交換を制御する通信制御部等も備える。
【００１４】
次に、クライアントＰＣ１００のソフトウエア構成を図１を参照して説明する。クライアントＰＣ１００は印刷処理部１０１、印刷キュー１０２、ジョブ表示部１０３、ＰＰＤファイル１０４、アプリケーション１０５、印刷設定制御部１０６、ユーティリティ１０７、プリンタドライバ１０８、ネットワーク制御部１１３を有する。プリンタドライバ１０８は設定画面拡張部１０９、印刷フィルタ１１０、ユーティリティフィルタ１１１、プロファイル格納部１１２を有する。各ブロックの役割や処理などについては後述する。
【００１５】
サーバＰＣ１２０はクライアントＰＣ１００と同様の構成を備えている。すなわち、サーバＰＣ１２０は印刷処理部１２１、印刷キュー１２２、ジョブ表示部１２３、ＰＰＤファイル１２４、アプリケーション１２５、印刷設定制御部１２６、ユーティリティ１２７、プリンタドライバ１２８、ネットワーク制御部１３３を有する。プリンタドライバ１２８は設定画面拡張部１２９、印刷フィルタ１３０、ユーティリティフィルタ１３１、プロファイル格納部１３２を有する。また、サーバＰＣ１２０はさらにＵＳＢ制御部１３４を有する。
【００１６】
サーバＰＣ１２０とクライアントＰＣ１００とはネットワーク制御部１３３、１１３を介して相互に通信可能である。またサーバＰＣ１２０はＵＳＢ制御部１３４を介してプリンタ１４０に接続している。
【００１７】
プリンタ１４０はＵＳＢ制御部１４１、動作制御部１４２、印刷部１４３、プロファイル情報格納部１４４、プロファイル格納部１４５を有する。
【００１８】
本実施形態ではＯＳが各ＰＣの印刷処理部１０１、１２１を制御しており、印刷キュー１０２、１２２、ジョブ表示部１０３、１２３、印刷設定制御部１０６、１２６はＯＳによって提供される。ＯＳによって制御される印刷処理部１０１、１２１はＰＣに接続されているプリンタをネットワーク上の他のＰＣと共有する機能を備えている。この機能を有効にすることにより、あるＰＣ（サーバＰＣ）接続されているプリンタをネットワーク上の他のＰＣ（クライアントＰＣ）からも使用プリンタとして選択することが可能になる。この機能により、プリンタがネットワーク印刷をサポートしていなくても、ユーザはプリンタが接続されているＰＣをサーバＰＣとし、複数台のクライアントＰＣでそのプリンタを利用することが可能になる。
【００１９】
ＯＳによって制御される印刷処理部は、ＰＣ内のローカルにおける印刷システムともいえる。印刷処理部は後述するように各種の制御を行なう。印刷キューは、印刷ジョブをキューイングする処理を行なう。ジョブ表示部はジョブの状態を示すジョブ表示画面をディスプレイに表示する処理を行なう。印刷設定制御部は、アプリケーションが作成したデータを印刷する際の印刷設定を行なう印刷設定画面をディスプレイに表示して、ユーザからの指定に応じた印刷設定を行なう。詳細は後述する。
【００２０】
サーバＰＣ１２０には接続されたプリンタ１４０に対応したプリンタドライバ１２８とＰＰＤファイル１２４とがインストールされている。サーバＰＣ１２０のＰＰＤファイル１２４にはプリンタ１４０がサポートする用紙サイズや用紙種類、またそれらのデフォルト値が記述されている。サーバＰＣ１２０においてユーザがアプリケーション１２５で作成したデータを印刷しようとする。すると、印刷設定制御部１２６は印刷処理部１２１を介してＰＰＤファイル１２４からプリンタ１４０のサポートする用紙サイズと用紙種類を取得して印刷設定画面上に表示し、ユーザに設定を促す。そしてユーザが用紙サイズと用紙種類を指定して印刷を要求すると、その要求は印刷ジョブとしてアプリケーション１２５から印刷処理部１２１に渡される。
【００２１】
印刷処理部１２１は印刷ジョブを印刷キュー１２２で管理しており、順次取り出して処理する。印刷処理部１２１は印刷キュー１２２から印刷ジョブを取り出すと印刷フィルタ１３０に送る。印刷フィルタ１３０はプリンタ１４０に応じた印刷データを生成して、ＵＳＢ制御部１３４を経てプリンタ１４０に送信する。
【００２２】
サーバＰＣ１２０においてユーザはユーティリティ１２７でプリンタのメンテナンスを行うこともできる。ユーティリティ１２７はアプリケーションの一種であり、プリンタのメンテナンスを行なうためのソフトウエアモジュールである。ユーザがユーティリティ１２７でプリンタ１４０のメンテナンスを要求すると、その要求はメンテナンスジョブとして印刷処理部１２１に渡され、印刷ジョブと同様に印刷キュー１２２で管理される。印刷処理部１２１はメンテナンスジョブを印刷キュー１２２から取り出すとユーティリティフィルタ１３１に送る。ユーティリティフィルタ１３１はプリンタ１４０をメンテナンスするための制御コマンドを生成して、ＵＳＢ制御部１３４を経てプリンタ１４０に送信する。
【００２３】
プリンタ１４０はＵＳＢ制御部１４１を介して印刷データや制御コマンドをサーバＰＣ１２０から受信する。動作制御部１４２は、サーバＰＣ１２０から受信した印刷データに基づき印刷部１４３を制御して用紙に印字したり、制御コマンドに基づきプリンタ１４０のメンテナンスを実行したりする。プリンタ１４０のプロファイル格納部１４５にはＰＣから印刷を実行するときの色空間の変換で使用するＩＣＣプロファイルが格納されている。また、プロファイル情報格納部１４４にはプロファイル格納部１４５に格納されているＩＣＣプロファイルの情報（以下、プリンタプロファイル情報と称す）が格納されている。
【００２４】
本実施形態ではプリンタ１４０のファームウェアのアップデートにより、新しいＩＣＣプロファイルがプリンタ１４０のプロファイル格納部１４５に追加されて、プロファイル情報格納部１４４のプリンタプロファイル情報が更新されることを想定している。プリンタ１４０が直接接続されているサーバＰＣ１２０はユーザによるユーティリティ１２７を介した指示によって、プリンタ１４０に追加されたＩＣＣプロファイル（以下、追加ＩＣＣプロファイルと称す）を取得して使用できる。すなわち、サーバＰＣのユーティリティ１２７は、ＵＳＢ制御部１３４を介して直接プリンタ１４０から追加ＩＣＣプロファイルを取得してプリンタドライバ１２８に組み込む。そしてさらにサーバＰＣのユーティリティ１２７は、組み込んだプロファイルの情報をＰＰＤファイル１２４に追記することによって、ＯＳのカラ―マネージメントシステムが追加ＩＣＣプロファイルを色空間の変換の際に使用できるようになる。
【００２５】
クライアントＰＣ１００においてもサーバＰＣ１２０と同様に印刷やメンテナンスを行うことができる。クライアントＰＣ１００にもサーバＰＣ１２０に接続されているプリンタ１４０に対応したプリンタドライバ１０８がインストールされている。ただし、クライアントＰＣ１００の印刷フィルタ１１０とユーティリティフィルタ１１１は動作しない。クライアントＰＣ１００は直接プリンタ１４０と接続されていないからである。また、クライアントＰＣ１００のＰＰＤファイル１０４は、サーバＰＣ１２０に接続されているプリンタ１４０がクライアントＰＣ１００と共有されるとＯＳによってサーバＰＣ１２０のＰＰＤファイル１２４からコピーされる。
【００２６】
すなわち、ＰＰＤファイル１０４は共有が開始された場合に、その時点のサーバＰＣ１２０のＰＰＤファイル１２４がクライアントＰＣ１００のＯＳによってクライアントＰＣ１００にコピーされることになる。また、クライアントＰＣ１００とサーバＰＣ１２０とが共有状態である間はサーバＰＣ１２０のＰＰＤファイル１２４が更新されたとしても、更新後のＰＰＤファイル１２４はＯＳによってクライアントＰＣ１００にコピーされない。つまり、クライアントＰＣ１００においては、サーバＰＣ１２０と共有が開始された時点のままのＰＰＤファイル１０４が使われることになる。なお、本実施例では、クライアントＰＣ１００のＯＳがコピーすると記載したが、サーバＰＣ１２０のＯＳがＰＰＤファイルをコピーして、クライアントＰＣに送信しても良い。
【００２７】
ここで、本実施例の課題が生じる一例について説明する。クライアントＰＣ１００に、サーバＰＣに接続されたプリンタに対応するプリンタドライバがインストールされているとする。しかし、クライアントＰＣ１００では、サーバＰＣに接続されたプリンタに対応するプリントキューは未作成とする。この状況で、サーバＰＣ１２０に接続されたプリンタの機能や用紙の情報が更新された場合、サーバＰＣのプリンタドライバとＰＰＤファイルは、上記プリンタの更新に従って更新される。そして、サーバＰＣのプリンタドライバとＰＰＤファイルが更新された後に、クライアントＰＣにおいて、サーバＰＣに接続されたプリンタに対応するプリントキューが作成された場合、更新後のＰＰＤファイルがクライアントＰＣにコピーされる。一方、既にクライアントＰＣにインストールされているサーバＰＣに接続されたプリンタに対応するプリンタドライバに対しては更新処理が実行されない。その結果、クライアントＰＣにおいて、プリンタドライバとＰＰＤファイルの間で不整合が生じることとなる。不整合の具体例については後述する。
【００２８】
クライアントＰＣ１００においてユーザがアプリケーション１０５で作成したデータを印刷しようとする。すると、印刷設定制御部１０６は印刷処理部１０１を介してクライアントＰＣのＰＰＤファイル１０４からプリンタ１４０のサポートする用紙サイズと用紙種類を取得して印刷設定画面上に表示し、ユーザに設定を促す。そしてユーザが用紙サイズと用紙種類を指定して印刷を要求すると、その要求は印刷ジョブとしてアプリケーション１０５から印刷処理部１０１に渡される。クライアントＰＣの印刷処理部１０１は印刷ジョブを印刷キュー１０２で管理しており、順次取り出して処理する。クライアントＰＣの印刷処理部１０１は印刷キュー１０２から印刷ジョブを取り出すと、その印刷ジョブをネットワーク制御部１１３を経てサーバＰＣの印刷処理部１２１に送る。サーバＰＣ１２０では印刷処理部１２１がネットワーク制御部１３３を介してクライアントＰＣ１００からの印刷ジョブを受け取る。サーバＰＣの印刷処理部１２１はクライアントＰＣ１００から送られた印刷ジョブを印刷キュー１２２で管理しており、順次取り出して処理する。サーバＰＣの印刷処理部１２１は印刷キュー１２２から印刷ジョブを取り出すと印刷フィルタ１３０に送る。印刷フィルタ１３０は印刷データを生成してＵＳＢ制御部１３４を経てプリンタ１４０に送信する。
【００２９】
クライアントＰＣのユーティリティ１０７でユーザがメンテナンスを要求すると、その要求はメンテナンスジョブとしてクライアントＰＣの印刷処理部１０１に渡され、印刷ジョブと同様に処理されサーバＰＣの印刷処理部１２１に送られる。サーバＰＣの印刷処理部１２１はメンテナンスジョブを印刷キュー１２２から取り出すとユーティリティフィルタ１３１に送る。サーバＰＣのユーティリティフィルタ１３１はプリンタのメンテナンスを実行するための制御コマンドを生成して、ＵＳＢ制御部１３４を経てプリンタ１４０に送信する。
【００３０】
クライアントＰＣ１００はプリンタ１４０と直接接続されていないので、クライアントＰＣのユーティリティ１０７はサーバＰＣ１２０のようにＵＳＢ制御部１３４を介してプリンタ１４０からＩＣＣプロファイルを取得できない。その一方で、サーバＰＣがプリンタ１４０から取得した追加ＩＣＣプロファイルの情報がサーバＰＣのＰＰＤファイル１２４に追記されているとする。この状態においてサーバＰＣとクライアントＰＣとがプリンタ１４０の共有の開始をすると、サーバＰＣ１２０からコピーされたクライアントＰＣのＰＰＤファイル１０４にも追加ＩＣＣプロファイルの情報が記載されることになる。しかし、クライアントＰＣのプリンタドライバ１０８には追加ＩＣＣプロファイルは組み込まれておらず、クライアントＰＣのＰＰＤファイル１０４とクライアントＰＣのプリンタドライバ１０８との間で不整合が起こる。なお、不整合の具体例は図１０を用いて後述する。
【００３１】
この不整合に起因してクライアントＰＣのＯＳでは、不整合が生じたことのエラーをジョブ表示部１０３によって表示される画面上でジョブが発生するごとに表示し続けてしまうことになる。このような状況を解消するために、本実施形態ではクライアントＰＣのユーティリティ１０７がクライアントＰＣのプリンタドライバ１０８の構成に合わせてクライアントＰＣのＰＰＤファイル１０４のＩＣＣプロファイルの記述を更新する機能を備えている。これにより、クライアントＰＣのＰＰＤファイル１０４とクライアントＰＣのプリンタドライバ１０８との間で不整合が解消されるので、エラー表示を表示し続けてしまうことを防止することができる。以下、具体的に説明する。
【００３２】
まず、図２〜図９を使ってサーバＰＣ１２０において行なわれる印刷やメンテナンスの実行処理や、プリンタ１４０において追加されたＩＣＣプロファイルの取得について説明する。なお、以下で特に違いを説明をしない場合の処理については、クライアントＰＣ１００でも同様の処理が行なわれる。
【００３３】
図２は、サーバＰＣ１２０にインストールされる初期状態のＰＰＤファイル１２４の記述の一部とプリンタドライバ１２８のプロファイル格納部１３２を示す図である。
【００３４】
図２（ａ）はサーバＰＣ１２０にインストールされる初期状態のＰＰＤファイル１２４の記述の一部であり、プリンタ１４０がサポートする用紙サイズ、用紙種類、印刷時の色空間の変換で使用するプロファイルが記述されている。用紙サイズ記載部分２００にはプリンタのサポートする用紙サイズが記述される。本実施形態のプリンタ１４０はＡ４、レター、２Ｌの用紙サイズをサポートしている。各行は用紙サイズの記述を表すメインＫｅｙ、各用紙サイズを表すオプションＫｅｙ、用紙サイズの表記で構成される。メインＫｅｙは英語表記の情報であれば「＊ＰａｇｅＳｉｚｅ」、日本語表記の情報であれば「＊ｊａ．ＰａｇｅＳｉｚｅ」である。オプションＫｅｙは「Ａ４」、「Ｌｅｔｔｅｒ」、「５ｘ７」である。ＯＳの制御する印刷設定制御部１２６は印刷処理部１２１を介してＰＰＤファイル１２４からメインＫｅｙとオプションＫｅｙにより各用紙サイズの表記を取得して印刷設定画面に表示し、ユーザに用紙サイズの設定を促す。
【００３５】
用紙種類記載部分２０１にはプリンタ１４０がサポートする用紙種類が記述される。本実施形態のプリンタ１４０は普通紙、光沢フォトペーパー、マットフォトペーパーの用紙種類をサポートしている。各行は用紙種類の記述を表すメインＫｅｙ、各用紙種類を表すオプションＫｅｙ、用紙種類の表記で構成される。メインＫｅｙは英語表記の情報であれば「＊ＭｅｄｉａＴｙｐｅ」、日本語表記の情報であれば「＊ｊａ．ＭｅｄｉａＴｙｐｅ」である。オプションＫｅｙは「Ｐｌａｉｎ」、「ＧｌｏｓｓｙＰｈｏｔｏ」、「ＭａｔｔｅＰｈｏｔｏ」である。ＯＳの制御する印刷設定制御部１２６は印刷処理部１２１を介してＰＰＤファイル１２４からメインＫｅｙとオプションＫｅｙにより各用紙種類の表記を取得して印刷設定画面に表示して、ユーザに用紙種類の設定を促す。
【００３６】
プロファイル記載部分２０２にはプリンタドライバ１２８がサポートするプロファイル情報（以下、ドライバプロファイル情報と称す）が記述される。本実施形態のプリンタドライバ１２８は初期状態で用紙種類が光沢フォトペーパーのときに使用可能なＩＣＣプロファイルと、その他の用紙種類のときに使用可能なデフォルトのＩＣＣプロファイルとをサポートしている。各行はＩＣＣプロファイルの記述を表すメインＫｅｙ、カラーモデルＫｅｙ、用紙種類Ｋｅｙ、プロファイル説明、ＩＣＣプロファイルのパスで構成される。光沢フォトペーパーのＩＣＣプロファイルの情報のメインＫｅｙは「＊ｃｕｐｓＩＣＣＰｒｏｆｉｌｅ」、カラーモデルＫｅｙは「ＲＧＢ」、用紙種類Ｋｅｙは光沢フォトペーパーを表す「ＧｌｏｓｓｙＰｈｏｔｏ」となっている。また、プロファイル説明は「Ｇｌｏｓｓｙ  Ｐｈｏｔｏ」となっており、ＩＣＣプロファイルのパスはプリンタドライバのプロファイル格納部１３２における格納先を示す。デフォルトのＩＣＣプロファイルの情報のメインＫｅｙは「＊ｃｕｐｓＩＣＣＰｒｏｆｉｌｅ」、カラーモデルＫｅｙ、用紙種類Ｋｅｙは省略されている。また、プロファイル説明は「Ｄｅｆａｕｌｔ」となっており、ＩＣＣプロファイルのパスはプリンタドライバのプロファイル格納部１３２における格納先を示す。ＯＳの制御する印刷設定制御部１２６は印刷設定画面で設定されている用紙種類に対応するＩＣＣプロファイルをＰＰＤファイル１２４に記述されたプロファイル格納部１３２から取得する。そして、取得したＩＣＣプロファイルＯＳのカラ―マネージメントシステムが行う色空間の変換の出力プロファイルとして設定する。
【００３７】
図２（ｂ）はサーバＰＣ１２０にインストールされるプリンタドライバ１２８のプロファイル格納部１３２の初期状態の構成である。プロファイル格納部１３２はプリンタドライバのインストール時にＰＰＤファイル１２４に記述されたパス「／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／ＩＪＤｒｉｖｅｒ／Ｐｒｏｆｉｌｅｓ」に作成される。本実施形態のプリンタドライバ１２８は初期状態で光沢フォトペーパー用のＩＣＣプロファイルである「ＧｌｏｓｓｙＰｈｏｔｏ．ｉｃｃ」とデフォルトプロファイルである「ＩＪＰｒｉｎｔｅｒ．ｉｃｃ」をプロファイル格納部１３２に保持する。
【００３８】
図３はＯＳの制御する印刷設定制御部１２６によって表示される印刷設定画面を示す図である。ユーザがアプリケーション１２５で作成したデータを印刷しようとすると、ＯＳの制御する印刷設定制御部１２６は印刷設定画面３００をサーバＰＣ１２０のディスプレイに表示して、ユーザに各種印刷設定を促す。ユーザは部数設定テキストフィールド３０１によって印刷部数を指定できる。ユーザはページ設定ラジオボタン３０２によって全ページを印刷するか特定のページを印刷するかを指定できる。特定のページを印刷する場合、ユーザはページ範囲設定テキストフィールド３０３によって印刷するページを指定できる。ユーザは用紙サイズ設定ポップアップメニュー３０４によって印刷する用紙サイズを指定できる。本実施形態では図２（ａ）で説明したように、Ａ４、レター、２Ｌの何れかを指定できる。ユーザは用紙種類設定ポップアップメニュー３０５によって印刷する用紙種類を指定できる。本実施形態では図２（ａ）で説明したように、普通紙、光沢フォトペーパー、マットフォトペーパーの何れかを指定できる。印刷設定制御部１２６は、ユーザによって指定された内容に基づいて印刷設定を行なう。
【００３９】
印刷設定制御部１２６は、用紙種類設定ポップアップメニュー３０５で選択された用紙種類に対応するＩＣＣプロファイルをＰＰＤファイル１２４に記述されたプロファイル格納部１３２から取得する。そしてそのＩＣＣプロファイルをＯＳのカラ―マネージメントシステムが行う色空間の変換の出力プロファイルに設定する。光沢フォトペーパーが選択された場合は、ＰＰＤファイル１２４に記述された情報に基づき光沢フォトペーパー用のＩＣＣプロファイルである「ＧｌｏｓｓｙＰｈｏｔｏ．ｉｃｃ」を設定する。光沢フォトペーパー以外が選択された場合は、デフォルトのＩＣＣプロファイルである「ＩＪＰｒｉｎｔｅｒ．ｉｃｃ」を設定する。印刷設定制御部１２６が出力プロファイルを指定すると印刷実行時にＯＳのカラーマネージメントシステムによって色空間の変換処理が行われる。プリントボタン３０８を押下すると印刷設定制御部１２６はディスプレイに表示している印刷設定画面を閉じる。そして印刷設定制御部１２６は、アプリケーション１２５で作成したデータを図３の画面を用いてユーザによって指定された設定で印刷する要求を、印刷ジョブとして印刷処理部１２１に渡す。キャンセルボタン３０７を押下すると印刷設定制御部１２６はディスプレイに表示している印刷設定画面を閉じて印刷設定をキャンセルする。
【００４０】
また、印刷設定制御部１２６は図３に示す印刷設定画面をディスプレイ上に表示する際にプリンタドライバ１２８に含まれる設定画面拡張部１２９をロードする。設定画面拡張部１２９は、必要に応じて図３に示す印刷設定画面の拡張領域３０６にメッセージを表示する処理を行なう。設定画面拡張部１２９は印刷設定制御部１２６にロードされると、拡張領域３０６に必要に応じてメッセージを表示する。本実施形態では、サーバＰＣのプリンタドライバに含まれる設定画面拡張部１２９が、サーバＰＣ１２０に接続されているプリンタ１４０にＩＣＣプロファイルが追加されていることを検知する例を説明する。設定画面拡張部１２９はサーバＰＣ１２０に接続されているプリンタ１４０にＩＣＣプロファイルが追加されていることを検知すると、拡張領域３０６にＩＣＣプロファイルの取得を促すメッセージを表示する。また、クライアントＰＣのプリンタドライバに含まれる設定画面拡張部１０９がＰＰＤファイルとプリンタドライバとの間で不整合が生じていることを検知すると、不整合の解消を促すメッセージを表示する。詳細については後述する。
【００４１】
図４は、ＯＳの制御するジョブ表示部１２３がディスプレイ上に表示するジョブ表示画面を示す図である。ジョブ表示画面４００のジョブ表示領域４０４には、印刷キュー１２２が保持する印刷ジョブの一覧が表示される。メンテナンスジョブは印刷ジョブとともに印刷キュー１２２に保持されるがジョブ表示領域には表示されない。ユーザは操作部などを介して必要に応じてジョブ表示画面４００をディスプレイに表示することができる。また、ユーザはクローズボタン４０１によってジョブ表示画面４００を閉じることができる。ユーザはジョブ削除ボタン４０２によってジョブ表示領域にて選択したジョブのキャンセルを印刷処理部１０１に要求できる。印刷処理部１０１はキャンセルの要求に応じて、そのジョブを印刷キュー１２２から取り除く。ステータス表示領域４０３には処理中の印刷ジョブの状態が表示される。図４はアプリケーションの一例としてテキスト編集用のアプリケーションであるテキストエディット（登録商標）から文書１の印刷ジョブが渡されたときの画面を示す。ジョブ表示領域４０４では処理中のジョブとして「文書１」の印刷ジョブがハイライト表示され「処理中」と表示される。ステータス表示領域４０３には文書１が印刷中であることを示すメッセージが表示される。
【００４２】
図５は、サーバＰＣのユーティリティ１２７の操作画面５００を示す図である。ユーティリティ１２７はプリンタ１４０のメンテナンスを行なうためのソフトウエアモジュールである。ユーティリティ１２７はプリンタ１４０のメンテナンスとして、プリンタ１４０に装着されたヘッドのクリーニングの指示を行なうことができる。また、ユーティリティ１２７はプリンタ１４０から追加ＩＣＣプロファイルを取得してプリンタドライバ１２８に組み込むとともに、組み込んだプロファイルの情報をＰＰＤファイル１２４に追記することができる。ユーザがユーティリティ１２７を起動すると、ユーティリティ１２７は操作画面５００をディスプレイに表示する。ユーザはクローズボタン５０１により操作画面５００を閉じてユーティリティを終了できる。また、ユーザは画面選択ポップアップメニュー５０２によりユーティリティの操作画面を切り替えることができる。ユーザが画面選択ポップアップメニュー５０２で「クリーニング」を選択するとユーティリティ１２７はクリーニング画面５０３を表示し、ユーザが「プロファイル取得」を選択するとユーティリティ１２７はプロファイル取得画面５１５を表示する。
【００４３】
図５（ａ）はクリーニング画面５０３が表示されている時のユーティリティ１２７の操作画面５００を示す図である。ユーティリティ１２７は起動直後、クリーニング画面を表示する。クリーニング画面５０３における操作によって、ユーザはプリンタ１４０に装着されているヘッドのクリーニングを行うことができる。具体的には、ユーザは実行ボタン５０４を押下することによりプリンタのヘッドをクリーニングの指示を行なうことができる。実行ボタン５０４が押下されるとユーティリティ１２７はクリーニングの実行要求をメンテナンスジョブとして印刷処理部１２１に渡す。
【００４４】
図５（ｂ）はプロファイル取得画面５１５が表示されている時のユーティリティ１２７の操作画面５１０を示す図である。プロファイル取得画面５１５における操作によってユーザはプリンタ１４０から追加ＩＣＣプロファイルを取得してプリンタドライバ１２８に組み込むとともに、組み込んだプロファイルの情報をＰＰＤファイル１２４に追記することができる。具体的には、ユーザが実行ボタン５１６を押下すると、ユーティリティ１２７はＵＳＢ制御部を介して直接プリンタから、プリンタプロファイル情報格納部１４４に格納されているプリンタプロファイル情報を取得する。次にユーティリティ１２７は、印刷処理部１２１を介してＰＰＤファイル１２４からドライバプロファイル情報を取得する。そして、ユーティリティ１２７は、プリンタプロファイル情報とドライバプロファイル情報とを比較してプリンタドライバ１２８のプロファイル格納部１３２に格納されていないＩＣＣプロファイルがプリンタ１４０にあるか否かを判定する。例えば、プリンタ１４０のファームウェアなどのバージョンアップがされた場合などに、ＩＣＣプロファイルを含む各種の機能モジュールが追加される場合がある。そこで、ユーティリティ１２７は、プリンタドライバ１２８のプロファイル格納部１３２に格納されていないＩＣＣプロファイルがプリンタ１４０にあるか否かをユーザの指示に応じて判定する。
【００４５】
プリンタドライバのプロファイル格納部１３２に格納されていないＩＣＣプロファイルがあると判定された場合、ユーティリティ１２７は次の処理を行なう。すなわち、ユーティリティ１２７は、プリンタのプロファイル格納部１４５に格納されている該当するＩＣＣプロファイルを取得してプリンタドライバのプロファイル格納部１３２に格納する。また、格納したＩＣＣプロファイルの情報をＰＰＤファイル１２４に追記する。プリンタ１４０に格納されているＩＣＣプロファイルをプリンタドライバのプロファイル格納部１３２が全て格納していればユーティリティ１２７は何もしない。
【００４６】
図６はプリンタのプリンタプロファイル情報格納部１４４に格納されるプリンタプロファイル情報の詳細を示す図である。プリンタプロファイル情報は、各プロファイルの情報を示すデータを含んでいる。各データは特定の情報にアクセスするためのＫｅｙと情報を格納するＶａｌｕｅによって構成される。格納される各々の情報には固有なＫｅｙが割り当てられ、ユーティリティ１２７はＫｅｙに基づいてＶａｌｕｅを参照することによって必要な情報を取得することができる。
【００４７】
図６（ａ）はプリンタが初期出荷状態のときのプリンタプロファイル情報を示す。本実施形態ではプリンタは初期出荷状態で光沢フォトペーパー用のＩＣＣプロファイルである「ＧｌｏｓｓｙＰｈｏｔｏ．ｉｃｃ」とデフォルトプロファイルである「ＩＪＰｒｉｎｔｅｒ．ｉｃｃ」をプロファイル格納部１４５に格納していることを想定している。プリンタプロファイル情報のプロファイル総数情報にはＫｅｙである「ｎｕｍ」とＶａｌｕｅである「２」が含まれる。プリンタプロファイル情報の１番目のプロファイル情報にはＫｅｙである「１」とＶａｌｕｅである１番目のプロファイル情報が含まれる。１番目のプロファイル情報はＩＣＣプロファイルの対応用紙種類情報とＩＣＣプロファイルの名称情報で構成される。ＩＣＣプロファイルの対応用紙情報にはＫｅｙである「ＭｅｄｉａＴｙｐｅ」とＶａｌｕｅである「Ｄｅｆａｕｌｔ」が含まれる。ＩＣＣプロファイルの名称情報にはＫｅｙである「Ｎａｍｅ」とＶａｌｕｅである「ＩＪＰｒｉｎｔｅｒ．ｉｃｃ」が含まれる。プリンタプロファイル情報の２番目のプロファイル情報にはＫｅｙである「２」とＶａｌｕｅである２番目のプロファイル情報が含まれる。２番目のプロファイル情報も同様にＩＣＣプロファイルの対応用紙種類情報とＩＣＣプロファイルの名称情報で構成され、ＩＣＣプロファイルの対応用紙情報にはＫｅｙである「ＭｅｄｉａＴｙｐｅ」とＶａｌｕｅである「ＧｌｏｓｓｙＰｈｏｔｏ」が含まれる。ＩＣＣプロファイルの名称情報はＫｅｙである「Ｎａｍｅ」とＶａｌｕｅである「ＧｌｏｓｓｙＰｈｏｔｏ．ｉｃｃ」で構成される。
【００４８】
図６（ｂ）はプリンタのファームウェアのアップデート（ファームアップデート）が行われた後のプロファイル情報格納部１４４に格納されているプリンタプロファイル情報を示す。本実施形態ではファームアップデートにより、プリンタ１４０にマットフォトペーパー用のＩＣＣプロファイルである「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」が追加されたとする。ファームアップデートにより、プリンタプロファイル情報のプロファイル総数情報の「Ｖａｌｕｅ」は「３」になる。また、３番目のプロファイル情報が追加される。３番目のプロファイル情報はＫｅｙである「３」とＶａｌｕｅである３番目のプロファイル情報で構成される。３番目のプロファイル情報のＩＣＣプロファイルの対応用紙情報にはＫｅｙである「ＭｅｄｉａＴｙｐｅ」とＶａｌｕｅである「ＭａｔｔｅＰｈｏｔｏ」が含まれる。ＩＣＣプロファイルの名称情報にはＫｅｙである「Ｎａｍｅ」とＶａｌｕｅである「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」が含まれる。
【００４９】
図７はプリンタ１４０のファームアップデートが行われた後に、サーバＰＣ１２０の印刷設定制御部１２６が表示する印刷設定画面を示す図である。前述のように、印刷設定制御部１２６が印刷設定画面を開くときにプリンタドライバの設定画面拡張部１２９をロードする。すると、ロードされた設定画面拡張部１２９はＵＳＢ制御部１３４を介してプリンタ１４０からプリンタプロファイル情報を取得する。次に、設定画面拡張部１２９は印刷処理部１２１を介してＰＰＤファイル１２４からドライバプロファイル情報を取得する。そして、設定画面拡張部１２９はプリンタプロファイル情報に含まれる各ＩＣＣプロファイルをプリンタドライバが保持しているか否かＰＰＤファイル１２４を参照して判定する。保持していないＩＣＣプロファイルがあれば拡張領域３０６にアイコン７１０とメッセージ７１１とを表示する。本実施形態では設定画面拡張部１２９は「ユーティリティでプロファイルを取得できます。」というメッセージを表示して、ユーザにユーティリティ１２７でプロファイルの取得を実行するように促す。これを確認したユーザは、前述の図５（ｂ）に示すようなユーティリティ１２７の画面からプロファイル取得の指示を行い、この指示に応じてユーティリティ１２７がＵＳＢ制御部１３４を介してプリンタ１４０から追加プロファイルを取得する処理を行なう。
【００５０】
図８はサーバＰＣのユーティリティ１２７のプロファイル取得のフローを示す図である。すなわち、図５（ｂ）に示すユーティリティ画面においてユーザによって実行ボタン５１６が押下された場合の処理を示すフローである。なお、図８の処理はユーティリティ１２７によって処理が行なわれることになるが、ハードウェアの観点で見ると、ＲＡＭに読み出されていたユーティリティ１２７のプログラムをサーバＰＣのＣＰＵが実行することによって図８の処理が実現されることになる。
【００５１】
ステップＳ８０１においてユーティリティ１２７は、印刷処理部１２１を介してＰＰＤファイル１２４に含まれるドライバプロファイル情報を取得する。ステップＳ８０２においてユーティリティ１２７は、プリンタ１４０からプリンタプロファイル情報を取得する。ステップＳ８０３においてユーティリティ１２７は、ステップＳ８０２で取得したプリンタプロファイル情報に含まれるプロファイル総数を取得する。
【００５２】
続くステップＳ８０４〜Ｓ８１２でユーティリティ１２７は、プリンタプロファイル情報に含まれる各ＩＣＣプロファイルをプリンタドライバが保持しているか否かを判定する。保持していなければプリンタ１４０からＩＣＣプロファイルを取得してプリンタドライバに組み込むとともに、組み込んだプロファイルの情報をＰＰＤファイル１２４に追記する処理を行なう。以下、具体的な処理を説明する。ステップＳ８０４でユーティリティ１２７は、変数Ｎに初期値として「１」を代入する。ステップＳ８０５でユーティリティ１２７は、プリンタプロファイル情報に含まれるＮ番目のＩＣＣプロファイルの名称を取得する。ステップＳ８０６でユーティリティ１２７は、Ｎ番目のＩＣＣプロファイルの名称と同じＩＣＣプロファイルがドライバプロファイル情報に存在するか否かを確認する。そしてステップＳ８０７に進み、ドライバプロファイル情報にあると判定すると、ステップＳ８１１に進む。
【００５３】
ステップＳ８０７においてドライバプロファイルにないと判定すると、ステップＳ８０８に進み、ユーティリティ１２７は、Ｎ番目のＩＣＣプロファイルをプリンタ１４０から取得する。すなわち、ユーティリティ１２７は、ＵＳＢ制御部１３４を介してプリンタのプロファイル格納部１４５に格納されているＮ番目のＩＣＣプロファイルを取得する。ステップＳ８０９でユーティリティは取得したＩＣＣプロファイルをプリンタドライバのプロファイル格納部１３２に格納する。ステップＳ８１０でユーティリティ１２７は、プリンタプロファイル情報からＮ番目のＩＣＣプロファイルに対応する用紙種類を取得して、ＩＣＣプロファイルの格納先とともにＰＰＤファイル１２４に追記する。
【００５４】
ステップＳ８１１でユーティリティ１２７は、Ｎがプリンタプロファイル情報に含まれるプロファイルの総数より小さいか否かを判定する。総数より小さいと判定するとステップＳ８１２に進み、Ｎを１つインクリメントしてステップＳ８０５に戻り、次のＩＣＣプロファイルをプリンタドライバが保持しているか否かを確認する。Ｎがプロファイルの総数より小さくないと判定すると、プロファイル取得処理を終了する。本実施形態ではファームアップデートによりプリンタにマットフォトペーパー用のＩＣＣプロファイルである「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」が追加された後で、ユーザがユーティリティのプロファイル取得を実行することを想定している。この場合、ステップＳ８０６〜Ｓ８０７でユーティリティ１２７は、マットフォトペーパー用のＩＣＣプロファイルがドライバプロファイル情報にないと判定する。そして、ステップＳ８０８〜Ｓ８１０でユーティリティ１２７はプリンタからマットフォトペーパー用のＩＣＣプロファイルを取得してプリンタドライバのプロファイル格納部１３２に保存する。さらに、保存したプロファイルの情報をＰＰＤファイル１２４に追記する。
【００５５】
図９はサーバＰＣのユーティリティ１２７が、図８に示す処理を行なった結果、すなわち、追加ＩＣＣプロファイルを取得した後のサーバＰＣのＰＰＤファイル１２４の記述の一部とプリンタドライバのプロファイル格納部１３２とを示す図である。
【００５６】
図９（ａ）はサーバＰＣのＰＰＤファイル１２４のプロファイル記載部分である。ユーティリティ１２７におけるプロファイル取得処理を実行したことにより、マットフォトペーパーのＩＣＣプロファイルの情報が追記されている。マットフォトペーパーのＩＣＣプロファイル情報のメインＫｅｙは「＊ｃｕｐｓＩＣＣＰｒｏｆｉｌｅ」、カラーモデルＫｅｙは「ＲＧＢ」、用紙種類Ｋｅｙはマットフォトペーパーを表す「ＭａｔｔｅＰｈｏｔｏ」となっている。また、プロファイル説明は「Ｍａｔｔｅ  Ｐｈｏｔｏ」となっており、ＩＣＣプロファイルのパスはプリンタドライバの格納先を示す。
【００５７】
図９（ｂ）はサーバＰＣのプリンタドライバのプロファイル格納部１３２の構成である。ユーティリティ１２７におけるＩＣＣプロファイル取得処理を実行したことにより、サーバＰＣのプリンタドライバは、プロファイル格納部１３２にマットフォトペーパー用のＩＣＣプロファイルである「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」を保持した状態になる。この状態でユーザが印刷設定画面でマットフォトペーパーを選択して印刷を実行する。すると、ＯＳの制御する印刷設定制御部１２６はサーバＰＣのＰＰＤファイル１２４の記述に基づきマットフォトペーパー用のＩＣＣプロファイルである「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」を色空間の変換の出力プロファイルに指定するようになる。
【００５８】
以上、サーバＰＣからの印刷やメンテナンスの実行、ＩＣＣプロファイルの取得について説明した。この状態でサーバＰＣ１２０に接続されているプリンタ１４０をクライアントＰＣ１００と共有するとクライアントＰＣ１００ではＰＰＤファイル１０４とプリンタドライバ１０８との間で不整合が生じる。すなわち、プリンタ１４０は、初期出荷状態からファームアップデートによりＩＣＣプロファイルが追加されている。そしてサーバＰＣ１２０では、この追加されたＩＣＣプロファイルをプリンタドライバ１２８に組み込みＰＰＤファイル１２４を更新している。このような状態においてプリンタ１４０をクライアントＰＣ１００とサーバＰＣ１２０とで共有した場合に不整合が生じる。なお、クライアント１００におけるＰＰＤファイル１０４とプリンタドライバ１０８との間で生じる不整合の具体例は図１０を用いて説明する。
【００５９】
次に図１０〜図１４を使って、クライアントＰＣ１００での不整合を解消する方法について説明する。
【００６０】
クライアントＰＣ１００にもサーバＰＣ１２０と同様にサーバＰＣに接続されているプリンタに対応したプリンタドライバ１０８がインストールされており、その初期状態は図２（ｂ）に示サーバＰＣと同じである。一方、クライアントＰＣのＰＰＤファイル１０４は共有に伴いサーバＰＣからＰＰＤファイル１２４がコピーされる。図１０はクライアントＰＣのＰＰＤファイル１０４の記述の一部とプリンタドライバのプロファイル格納部１１２を示す図である。詳細には、サーバＰＣにおけるユーティリティ１２７がプロファイル取得を実行した後、サーバＰＣ１２０がプリンタ１４０をクライアントＰＣ１００と共有開始したときのクライアントＰＣのＰＰＤファイル１０４とプロファイル格納部１１２を示す図である。
【００６１】
図１０（ａ）はクライアントＰＣ１００のＰＰＤファイル１０４のプロファイル記載部分である。クライアントＰＣのＰＰＤファイル１０４には、サーバＰＣ１２０とプリンタ１４０を共有したことに応じてＯＳによってサーバＰＣ１２０のＰＰＤファイル１２４に記述されている内容がコピーされる。クライアントＰＣのＰＰＤファイル１０４のプロファイル記載部分にはサーバＰＣで追記されたマットフォトペーパー用のＩＣＣプロファイルである「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」の情報が含まれる。
【００６２】
図１０（ｂ）はクライアントＰＣのプリンタドライバのプロファイル格納部１１２の構成である。クライアントＰＣのプリンタドライバは初期状態のままでプロファイル格納部１１２は光沢フォトペーパー用のＩＣＣプロファイルである「ＧｌｏｓｓｙＰｈｏｔｏ．ｉｃｃ」とデフォルトプロファイルである「ＩＪＰｒｉｎｔｅｒ．ｉｃｃ」とを格納している。しかし、クライアントＰＣのプリンタドライバのプロファイル格納部１１２はクライアントＰＣのＰＰＤファイル１０４に記述されているマットフォト用のＩＣＣプロファイルである「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」を格納していない。よって、クライアントＰＣ１００ではプリンタドライバ１０８とＰＰＤファイル１０４との間で「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」に関する不整合が生じた状態になる。
【００６３】
このようにプリンタドライバ１０８とＰＰＤファイル１０４との間で不整合が生じると、ＯＳがこの不整合を認識してエラーメッセージを表示し続けてしまうことになる。図１１はクライアントＰＣにおいて不整合が生じた状態で、以降で説明するようなユーティリティのプロファイル適正化を行わずに印刷を実行したときのクライアントＰＣのジョブ表示部１０３が表示する画面を示す図である。クライアントＰＣで動作するＯＳはＰＰＤファイル１０４に記述されたマットフォトペーパー用のＩＣＣプロファイル「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」がクライアントＰＣのプリンタドライバのプロファイル格納部１１２にないことを検知する。この結果、ＯＳは、ステータス表示領域にエラーを表示する。このエラーの表示はジョブ表示部１０３がジョブ表示画面を表示する度に図１１に示すようにエラーメッセージが表示されてしまう。従って、例えばマットフォトペーパー用のＩＣＣプロファイル「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」を用いない印刷ジョブの場合でもエラーメッセージが表示されてしまう。
【００６４】
そこで、本実施形態においてはクライアントＰＣのユーティリティ１０７が、後述するプロファイル適正化処理を行うことで、プリンタドライバとＰＰＤファイルとの不整合を解消する例を説明する。
【００６５】
図１２はクライアントＰＣ１００においてプリンタドライバ１０８とＰＰＤファイル１０４との間に不整合が生じた状態で表示される印刷設定画面１２００を示す図である。クライアントＰＣの印刷設定制御部１０６も、サーバＰＣで説明したものと同様に印刷設定画面を開く際にプリンタドライバの設定画面拡張部１０９をロードする。クライアントＰＣの印刷設定制御部１０６が設定画面拡張部１０９をロードすると、クライアントＰＣの設定画面拡張部１０９は、印刷処理部１０１を介してクライアントＰＣのＰＰＤファイル１０４からドライバプロファイル情報を取得する。そしてクライアントＰＣの設定画面拡張部１０９はドライバプロファイル情報に含まれる各ＩＣＣプロファイルがプリンタドライバのプロファイル格納部１１２に格納されているか否かを判定する。格納していなければ、設定画面拡張部１０９は、拡張領域１２１０にアイコン１２０１とメッセージ１２０２を表示する。本実施形態では、クライアントＰＣのユーティリティ１０７は、クライアントＰＣのプリンタドライバの保持するＩＣＣプロファイルに合わせてクライアントＰＣのＰＰＤファイル１０４のプロファイル記載部分を適正化する。詳細については後述する。図１２に示すように、クライアントＰＣの設定画面拡張部１０９は、拡張領域１２１０に「ユーティリティでプロファイルの適正化を行ってください。」とのメッセージ１２０２を表示する。これにより、ユーザにクライアントＰＣのユーティリティ１０７でプロファイルの適正化を実行するように促す。
【００６６】
図１３は、クライアントＰＣのユーティリティ１０７を起動した際の操作画面を示す図である。
【００６７】
クライアントＰＣのユーティリティ１０７でもサーバＰＣと同様にプリンタ１４０のメンテナンスとしてプリンタに装着されているヘッドのクリーニングができる。一方、クライアントＰＣのユーティリティ１０７は、ＵＳＢ制御部を介してプリンタ１４０と接続されていないので、プリンタ１４０から追加ＩＣＣプロファイルを取得できない。このため、クライアントＰＣのユーティリティは画面選択ポップアップメニュー５０２に「プロファイル取得」を表示しない。その代わりにユーティリティ１０７は、「プロファイル適正化」を表示し、ユーザが選択するとクライアントＰＣのＰＰＤファイル１０４とクライアントＰＣのプリンタドライバ１０８との間の不整合を解消するためのプロファイル適正化画面１３０１を表示する。
【００６８】
図１３（ａ）はクリーニング画面が表示されている時のクライアントＰＣのユーティリティ１０７の操作画面を示す図であり、ユーザはサーバＰＣのクリーニング画面と同等の操作ができる。
【００６９】
図１３（ｂ）はプロファイル適正化画面１３０１が表示されている時のクライアントＰＣのユーティリティ１０７の操作画面を示す図である。クライアントＰＣのプロファイル適正化画面１３０１を介してユーザは、クライアントＰＣのＰＰＤファイル１０４のプロファイル記載部分を更新する指示を行なうことができる。すなわち、ユーザは、クライアントＰＣのプリンタドライバのプロファイル格納部１１２に格納されているＩＣＣプロファイルに基づきＰＰＤファイル１０４のプロファイル記載部分を更新する指示をする。具体的には、ユーザによってプロファイル適正化画面１３０１の実行ボタン１３０２が押下されると、クライアントＰＣのユーティリティ１０７は、クライアントＰＣのＰＰＤファイル１０４からドライバプロファイル情報を取得する。そして、ユーティリティ１０７は、クライアントＰＣのＰＰＤファイル１０４に記述されているＩＣＣプロファイルがプリンタドライバのプロファイル格納部１１２に格納されているか否かを判定する。ＩＣＣプロファイルがクライアントＰＣのプリンタドライバ１０８に格納されていなければ、ユーティリティ１０７は、次の処理をする。すなわち、ユーティリティ１０７はクライアントＰＣのＰＰＤファイル１０４のプロファイル記載部分からプリンタドライバ１０８に格納されていないＩＣＣプロファイルに対応するＩＣＣプロファイルの記述を削除する。ユーティリティ１０７は、ＰＰＤファイル１０４に記述されているＩＣＣプロファイルに関する情報に対応する全てのＩＣＣプロファイルがクライアントＰＣのプリンタドライバのプロファイル格納部１１２に格納されていれば、何もしない。
【００７０】
図１４はクライアントＰＣのユーティリティ１０７のプロファイル適正化のフローを示す図である。ユーザによってクライアントＰＣのユーティリティ１０７のプロファイル適正化画面で実行ボタンが押下されるとクライアントＰＣのユーティリティ１０７はプロファイル適正化処理を開始してステップＳ１４０１に進む。なお、図１４の処理はユーティリティ１０７によって処理が行なわれることになる。しかし、ハードウェアの観点で見ると、ＲＡＭに読み出されてたユーティリティ１０７のプログラムをクライアントＰＣのＣＰＵが実行することによって図１４の処理が実現されることになる。
【００７１】
Ｓ１４０１においてクライアントＰＣのユーティリティ１０７は、印刷処理部１０１を介してクライアントＰＣのＰＰＤファイル１０４からドライバプロファイル情報を取得する。ステップＳ１４０２においてクライアントＰＣのユーティリティ１０７は、ステップＳ１４０１で取得したドライバプロファイル情報に含まれるＩＣＣプロファイルの総数を取得する。
【００７２】
ステップＳ１４０３〜Ｓ１４０９でクライアントＰＣのユーティリティは、ドライバプロファイル情報に含まれる各ＩＣＣプロファイルをクライアントＰＣのプリンタドライバが保持しているか否かを判定する。保持していなければクライアントＰＣのＰＰＤファイル１０４の該当するＩＣＣプロファイルの記述を削除する。以下、具体的な処理を説明する。ステップＳ１４０３においてクライアントＰＣのユーティリティ１０７は、変数Ｎに初期値として「１」を代入する。ステップＳ１４０４でクライアントＰＣのユーティリティ１０７は、ドライバプロファイル情報に含まれるＮ番目のＩＣＣプロファイルのパスを取得する。ステップＳ１４０５でユーティリティ１０７は、パスに示された格納先にＩＣＣプロファイルがあるか否かを確認する。なお、Ｓ１４０４では、ＩＣＣプロファイルの有無を確認しているが、ＩＣＣプロファイルに限る必要はない。
そして、ステップＳ１４０６に進み、クライアントＰＣのユーティリティ１０７は、ＩＣＣプロファイルがあると判定すると、ステップＳ１４０８に進む。クライアントＰＣのユーティリティ１０７は、ＩＣＣプロファイルがないと判定すると、Ｓ１４０７に進み、クライアントＰＣのＰＰＤファイル１０４のプロファイル記載部分にあるＮ番目のＩＣＣプロファイルの記述を削除する。つまり、Ｓ１４０５−Ｓ１４０７によって、プリンタドライバ１０８とＰＰＤファイル１０４との間に不整合が生じているか否かが判定される。
ステップＳ１４０８でクライアントＰＣのユーティリティ１０７は、ＮがＩＣＣプロファイルの総数より小さいか否かを判定する。クライアントＰＣのユーティリティ１０７は、総数より小さいと判定するとステップＳ１４０９に進み、Ｎを１つインクリメントしてステップＳ１４０４に戻り、次のＩＣＣプロファイルをクライアントＰＣのプリンタドライバが保持しているか否かを確認する。クライアントＰＣのユーティリティ１０７は、総数より小さくないと判定するとＳ１４１０に進み、ダミーのメンテナンスジョブを印刷処理部１０１に投入する。
【００７３】
ユーティリティ１０７が、クライアントＰＣのＰＰＤファイル１０４とクライアントＰＣのプリンタドライバ１０８との不整合を解消しても、その直後にジョブを実行するとクライアントＰＣのＯＳは、まだ不整合が解消されたことを認識していない。このためクライアントＰＣのＯＳによる制御によってジョブ表示部１０３はステータス表示領域に図１１のようなエラーを表示する。よって、クライアントＰＣのＯＳが不整合の解消を認識するようにするために、クライアントＰＣのユーティリティ１０７はダミーのジョブを投入する。ＯＳの制御するジョブ表示部１０３はメンテナンスジョブを表示しないので、クライアントＰＣのユーティリティ１０７はダミーのジョブとしてメンテナンスジョブを投入する。これにより、ユーザが意図しないところでユーティリティ１０７が投入したジョブが、ジョブ表示部１０３によって表示されることはない。クライアントＰＣのＯＳは、ダミーのジョブの投入後におけるその後のジョブの処理時においては、不整合が生じていないと認識している。従って、不整合を解消した後にダミーのジョブ投入をしておけばその後のジョブの処理時において図１１で説明したようなエラーメッセージを表示してしまうという事態を生じなくさせることができる。
【００７４】
クライアントＰＣの印刷処理部１０１はダミーのメンテナンスジョブを印刷キューから取り出すとネットワーク制御部を介してサーバＰＣの印刷処理部１２１に送る。サーバＰＣの印刷処理部１２１はダミーのメンテナンスジョブをサーバＰＣのユーティリティフィルタ１３１に送る。サーバＰＣのユーティリティフィルタ１３１はダミーのメンテナンスジョブであれば何もせずにすぐに終了する。
【００７５】
ダミーのメンテナンスジョブ自体は、前述のようにクライアントＰＣのジョブ表示部１０３によって表示されることはない。ただし、前述のようにクライアントＰＣのＯＳはメンテナンスジョブを処理するときに不整合の解消をまだ認識しておらず、メンテナンスジョブを処理している間、クライアントＰＣのジョブ表示部によって表示されるジョブ表示面にエラーが一旦は表示される。しかし、サーバＰＣのユーティリティフィルタはダミージョブを受けると何もしないのですぐにジョブが終了してクライアントＰＣのジョブ表示部のエラーはすぐに消える。通常、ジョブ表示部１０３によって表示されるジョブ表示画面はバックグラントで隠れているのでユーザはこのダミージョブの投入に伴い瞬間的に表示されるエラー表示を視認することはない。つまり、ダミージョブを投入することで、結果として、ユーザが意識することなく、ＯＳに不整合が解消したこと（不整合が生じていないこと）を認識させることができる。
【００７６】
ステップＳ１４１1でクライアントＰＣのユーティリティ１０７はダミーのメンテナンスジョブの処理状態を取得する。そしてステップＳ１４１２に進み、クライアントＰＣのユーティリティ１０７はダミーのメンテナンスジョブが完了していれば処理を終了する。クライアントＰＣのユーティリティはダミーのメンテナンスジョブが完了していなければステップＳ１４１１に戻り、ダミーのメンテナンスジョブの完了を待つ。
【００７７】
本実施形態ではサーバＰＣのプリンタドライバにマットフォトペーパー用のＩＣＣプロファイルである「ＭａｔｔｅＰｈｏｔｏ．ｉｃｃ」が組み込まれ、そのＩＣＣプロファイルの情報がサーバＰＣのＰＰＤファイルに追記された状態を想定している。そしてその状態において、さらにユーザがプリンタをサーバＰＣとクライアントＰＣとで共有することを想定している。このときクライアントＰＣ１００でプロファイル適正化を行う。すると、クライアントＰＣのユーティリティ１０７はステップＳ１４０５〜Ｓ１４０６でマットフォトペーパー用のＩＣＣプロファイルがクライアントＰＣのプリンタドライバのプロファイル格納部にないと判定する。そして、ステップＳ１４０７でクライアントＰＣのユーティリティはクライアントＰＣのＰＰＤファイルのプロファイル記載部分のマットフォトペーパー用のＩＣＣプロファイルの記述を削除する。その後、ステップＳ１４１０でダミーのメンテナンスジョブを投入してクライアントＰＣのＯＳに不整合が解消されたことを認識させる。
【００７８】
以上説明してきたように、本実施形態のクライアントサーバ印刷システムによれば、クライアントＰＣで生じるＰＰＤファイルとプリンタドライバの不整合をユーティリティのプロファイル適正化を実行することにより解消することができる。さらにＯＳに不整合が解消したことを認識させて不要なエラーの表示を防ぐことができる。
【００７９】
なお、本実施形態では、Ｓ１４１０においてダミージョブを投入する処理を説明したが、ユーティリティ１０７が、たとえばＳ１４１０−Ｓ１４１２を実行しなくても構わない。その結果、不整合が解消された直後のジョブの処理では図１１のような画面が表示されることになるが、それ以降は図１１が表示されなくなることにより本実施形態の課題を解決しても良い。
【００８０】
＜その他の実施形態＞
本発明の実施形態１ではプリンタのファームウェアアップデートで追加される機能としてＩＣＣプロファイルを例に説明したが、新しい色のインクタンクの追加やオプションの給紙口の追加など、その他の機能モジュールの追加であってもよい。すなわち、ＰＰＤファイルに追加機能を追記するだけでなく、プリンタドライバに追加機能を使用するためのデータを組み込む必要があるのであれば同様の効果を有する。すなわち、ＰＰＤファイルのように所定の機能情報を記述した機能ファイルを利用し、この所定の機能情報を処理するために必要な所定のモジュールをプリンタドライバに組み込む形態であれば同様の効果を有する。
【００８１】
また、本発明の実施形態１の印刷システムは、クライアントＰＣとサーバＰＣおよびサーバＰＣとプリンタが特定のインタフェースで接続された構成をとっている。しかしながら、この例に限られることなく、クライアントＰＣがサーバＰＣを介してプリンタに印刷を要求する構成の印刷システムであれば上述した発明を適用可能であり有効である。
【００８２】
また、実施形態１ではＯＳとしてＭａｃ  ＯＳ（登録商標）Ｘを例に挙げて説明したが、これに限られるものではない。すなわち、プリンタがクライアントＰＣとサーバＰＣとの間で共有された場合に、ＰＰＤファイルがサーバＰＣからクライアントＰＣにコピーされ、かつ、追加ＩＣＣプロファイルはクライアントＰＣに含まれないような処理をするＯＳにも適用することができる。
【００８３】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８４】
１００  クライアントＰＣ
１２０  サーバＰＣ
１４０  プリンタ
１０７、１２７  ユーティリティ
１０４、１２４  ＰＰＤファイル
１０８、１２８  プリンタドライバ
１１２、１３２  プロファイル格納部
１４４  プロファイル情報格納部
１４５  プロファイル格納部
【図１】
0006440573.tif 000002
【図２】
0006440573.tif 000003
【図３】
0006440573.tif 000004
【図４】
0006440573.tif 000005
【図５】
0006440573.tif 000006
【図６】
0006440573.tif 000007
【図７】
0006440573.tif 000008
【図８】
0006440573.tif 000009
【図９】
0006440573.tif 000010
【図１０】
0006440573.tif 000011
【図１１】
0006440573.tif 000012
【図１２】
0006440573.tif 000013
【図１３】
0006440573.tif 000014
【図１４】
0006440573.tif 000015