(57)【要約】【課題】  印刷環境の設定状態を把握して、適切な印刷を実行する。【解決手段】  サーバ装置を介して印刷装置に印刷を実行させる場合において、印刷ジョブをサーバ装置へ送信し、サーバ装置または印刷装置に設定されている印刷設定を取得する場合、当該印刷設定に関する設定ジョブを、サーバ装置へ送信する。印刷ジョブまたは設定ジョブの送信に応じて、サーバ装置から、当該印刷ジョブに基づく印刷装置による印刷のステータスまたは当該設定ジョブに対応する印刷設定を、印刷装置のステータスとして取得する。取得したステータスに基づき、サーバ装置の印刷環境を判定する。【特許請求の範囲】
【請求項１】
印刷装置を制御するサーバ装置とネットワークを介して接続される情報処理装置であって、
前記サーバ装置を介して前記印刷装置に印刷を実行させる場合において、印刷ジョブを前記サーバ装置へ送信し、前記サーバ装置または前記印刷装置に設定されている印刷設定を取得する場合、当該印刷設定に関する設定ジョブを、前記サーバ装置へ送信するジョブ送信手段と、
前記ジョブ送信手段による前記印刷ジョブまたは前記設定ジョブの送信に応じて、前記サーバ装置から、当該印刷ジョブに基づく前記印刷装置による印刷のステータスまたは当該設定ジョブに対応する印刷設定を、前記印刷装置のステータスとして取得する取得手段と、
前記取得手段で取得したステータスに基づき、前記サーバ装置の印刷環境を判定する判定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記印刷設定に関する設定ジョブは、前記印刷設定の設定を要求するジョブであり、
前記取得手段は、前記サーバ装置が前記ジョブ送信手段により送信された設定ジョブを受信することによって前記サーバ装置が設定する前記印刷環境の設定状態を、前記サーバ装置から前記印刷装置のステータスとして取得する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷設定に関する設定ジョブは、前記印刷設定を取得するジョブであり、
前記取得手段は、前記サーバ装置が前記設定ジョブを受信することによって前記サーバ装置が取得する前記印刷設定を、前記サーバ装置から取得する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
印刷装置を制御するサーバ装置として機能する情報処理装置であって、
前記印刷装置に印刷を実行させるための印刷ジョブ、または前記サーバ装置または前記印刷装置に設定されている印刷設定に関する設定ジョブを、クライアント装置から受信する受信手段と、
前記受信手段により前記印刷ジョブが受信された場合、前記印刷装置に印刷を実行させる印刷制御手段と、
前記受信手段による前記印刷ジョブまたは前記設定ジョブの受信に応じて、前記印刷制御手段による前記印刷装置の印刷に対するステータスまたは前記設定ジョブに対応する印刷設定を前記印刷装置のステータスとして前記クライアント装置へ送信する送信手段と
を備えることを特徴とする情報処理装置。
【請求項５】
前記印刷設定に関する設定ジョブは、前記印刷設定の設定を要求するジョブであり、
前記受信手段による前記設定ジョブの受信に応じて、前記印刷設定を設定する設定手段を更に備え、
前記送信手段は、前記設定手段で設定した印刷設定を前記印刷装置に対するステータスとして格納する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記印刷設定に関する設定ジョブは、前記印刷設定を取得するジョブであり、
前記受信手段による前記設定ジョブの受信に応じて、前記印刷装置から設定状態を取得する取得手段を更に備え、
前記送信手段は、前記取得手段で取得した設定状態を、前記印刷装置に対するステータスとして送信する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記送信手段は、前記印刷装置から前記設定状態を取得できない場合、前記設定手段で設定した設定を、前記印刷装置に対するステータスとして送信する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記印刷設定は、前記サーバ装置で動作するプリンタドライバの印刷処理の設定状態、及び前記プリンタドライバによって制御する前記印刷装置の設定状態の少なくとも一方を含む
ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
表示装置に、前記設定ジョブに対応する印刷設定に基づく表示を実行させる表示制御手段を更に備える
ことを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記印刷環境は、ＣＵＰＳ（Ｃｏｍｍｏｎ    ＵＮＩＸ  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）による印刷制御システムで実現される
ことを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
印刷装置を制御するサーバ装置とネットワークを介して接続される情報処理装置における情報処理方法であって、
前記サーバ装置を介して前記印刷装置に印刷を実行させる場合において、印刷ジョブを前記サーバ装置へ送信し、前記サーバ装置または前記印刷装置に設定されている印刷設定を取得する場合、当該印刷設定に関する設定ジョブを、前記サーバ装置へ送信するジョブ送信工程と、
前記ジョブ送信工程による前記印刷ジョブまたは前記設定ジョブの送信に応じて、前記サーバ装置から、当該印刷ジョブに基づく前記印刷装置による印刷のステータスまたは当該設定ジョブに対応する印刷設定を、前記印刷装置のステータスとして取得する取得工程と、
前記取得工程で取得したステータスに基づき、前記サーバ装置の印刷環境を判定する判定工程と
を備えることを特徴とする情報処理方法。
【請求項１２】
印刷装置を制御するサーバ装置として機能する情報処理装置における情報処理方法であって、
前記印刷装置に印刷を実行させるための印刷ジョブ、または前記サーバ装置または前記印刷装置に設定されている印刷設定に関する設定ジョブを、クライアント装置から受信する受信工程と、
前記受信工程により前記印刷ジョブが受信された場合、前記印刷装置に印刷を実行させる印刷制御工程と、
前記受信工程による前記印刷ジョブまたは前記設定ジョブの受信に応じて、前記印刷制御工程による前記印刷装置の印刷に対するステータスまたは前記設定ジョブに対応する印刷設定を前記印刷装置のステータスとして前記クライアント装置へ送信する送信工程と
を備えることを特徴とする情報処理方法。
【請求項１３】
コンピュータを、請求項１乃至１０のいずれか１項に記載の情報処理装置の各手段として機能させるための、または請求項１１または１２に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置を制御するサーバ装置、また、そのサーバ装置とネットワークを介して接続される情報処理装置に関するものである。
【背景技術】
【０００２】
従来、複数台のパーソナルコンピュータ（以下、ＰＣと称す）とプリンタによって構成されるクライアントサーバ印刷システムにおいて、クライアントＰＣからサーバＰＣに印刷設定状態を問い合わせ、クライアントＰＣ上にサーバＰＣの印刷設定状態を表示する技術が存在する（特許文献１）。この技術では、クライアントＰＣがサーバＰＣに印刷設定状態を問い合わせ、サーバＰＣがクライアントＰＣからの問い合わせに応じて印刷設定状態をクライアントＰＣに通知する。そして、クライアントＰＣがサーバＰＣから通知された印刷設定状態を画面上に表示するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３４３１５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、クライアントＰＣとサーバＰＣとの間で印刷設定状態を直接やり取りする構成が用意されている必要がある。そのため、このような構成が用意されていないクライアントサーバ印刷システムでは、クライアントＰＣからサーバＰＣの印刷設定状態を取得して表示することができない場合がある。
【０００５】
本発明は上記の課題を解決するためになされたものであり、印刷環境の設定状態を把握して、適切な印刷を実行することができる情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
印刷装置を制御するサーバ装置とネットワークを介して接続される情報処理装置であって、
前記サーバ装置を介して前記印刷装置に印刷を実行させる場合において、印刷ジョブを前記サーバ装置へ送信し、前記サーバ装置または前記印刷装置に設定されている印刷設定を取得する場合、当該印刷設定に関する設定ジョブを、前記サーバ装置へ送信するジョブ送信手段と、
前記ジョブ送信手段による前記印刷ジョブまたは前記設定ジョブの送信に応じて、前記サーバ装置から、当該印刷ジョブに基づく前記印刷装置による印刷のステータスまたは当該設定ジョブに対応する印刷設定を、前記印刷装置のステータスとして取得する取得手段と、
前記取得手段で取得したステータスに基づき、前記サーバ装置の印刷環境を判定する判定手段と
を備える。
【発明の効果】
【０００７】
本発明によれば、印刷環境の設定状態を把握して、適切な印刷を実行することができる。
【図面の簡単な説明】
【０００８】
【図１】印刷システムの全体構成を示す図である。
【図２】ユーティリティの操作ウインドウを示す図である。
【図３】ユーティリティの処理中のダイアログを示す図である。
【図４】ジョブ表示部のウインドウを示す図である。
【図５】ジョブ表示部のウインドウを示す図である。
【図６】ジョブ表示部のウインドウを示す図である。
【図７】ユーティリティの特殊設定処理を示すフローチャートである。
【図８】ユーティリティフィルタの特殊設定処理を示すフローチャートである。
【図９】ユーティリティの特殊設定取得処理を示すフローチャートである。
【図１０】ユーティリティフィルタの特殊設定取得処理を示すフローチャートである。
【図１１】ユーティリティのカートリッジ設定処理を示すフローチャートである。
【図１２】ユーティリティフィルタのカートリッジ設定処理を示すフローチャートである。
【図１３】ユーティリティのカートリッジ設定取得処理を示すフローチャートである。
【図１４】ユーティリティフィルタのカートリッジ設定取得処理を示すフローチャートである。
【図１５】印刷フィルタの印刷処理を示すフローチャートである。
【図１６】印刷フィルタの出力データ生成処理を示すフローチャートである。
【図１７】ＰＰＤファイルの一部分を示す図である。
【図１８】ユーティリティフィルタの特殊設定取得処理を示すフローチャートである。
【図１９】ユーティリティフィルタのカートリッジ設定取得処理を示すフローチャートである。
【図２０】印刷設定制御部の印刷設定ダイアログを示す図である。
【図２１】ジョブ表示部のウインドウを示す図である。
【図２２】印刷設定制御部のカセット装着状態取得処理を示すフローチャートである。
【図２３】ユーティリティフィルタのカセット装着状態取得処理を示すフローチャートである。
【図２４】ＰＰＤファイルのカセット装着状態に関する記述部分を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１０】
＜実施形態１＞
図１は本実施形態のクライアントサーバ印刷システムの全体構成を示す図である。
【００１１】
クライアントサーバ印刷システムは、サーバ装置であるサーバＰＣ１、クライアント装置であるクライアントＰＣ２及びＰＣ３、印刷装置であるプリンタ４によって構成される。サーバＰＣ１とクライアントＰＣ２及びＰＣ３はネットワーク１０に接続され、相互に通信（情報の送受信）可能である。ここでは、ネットワークとしてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を想定しているが、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であっても構わない。また、ネットワークの接続形態として有線無線を問わず、これらが混在していても構わない。サーバＰＣ１には、通信インタフェース２０を介してプリンタ４が接続され、サーバＰＣ１はプリンタ４の制御を実行する。ここでは、通信インタフェースとしてＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を想定している。
【００１２】
サーバＰＣ１とクライアントＰＣ２及びＰＣ３の各ＰＣはパーソナルコンピュータであり、例えば、ＯＳとしてＭａｃ  ＯＳ（登録商標）  Ｘが各ＰＣにおいて動作する。図１には示していないが、ＰＣの資源、例えば、ＰＣ内の各構成要素はＯＳにより管理されている。ここで、ＰＣは一般的な情報処理装置が備えるハードウェア構成を有している。
【００１３】
具体的には、ＰＣは、ＣＰＵ、ＲＯＭ、ハードディスク、ＲＡＭ、各種デバイスコントローラを備える。ＣＰＵは、ＲＯＭのプログラム用ＲＯＭに記憶された、或いはハードディスクからＲＡＭにロードされたＯＳや印刷アプリケーション等のプログラムを実行する。後述する各フローチャートの処理はこのプログラムの実行により実現できる。また、ＲＡＭは、ＣＰＵの主メモリ、ワークエリア等の記憶領域としても機能する。また、ＰＣはキーボード、ディスプレイ、各種データを記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）等の記憶媒体におけるデータアクセスを制御するディスクコントローラ（ＤＫＣ）等のコントローラも備える。また、ＰＣは、ＰＣ間（例えば、クライアントＰＣ２及びＰＣ３とサーバＰＣ１）のネットワークを介した信号の交換や接続されたプリンタとの信号の交換を制御する通信制御部等の制御部も備える。
【００１４】
サーバＰＣ１は、ジョブ管理部５１、印刷キュー５２、ジョブ表示部５３、ＰＰＤ（ＰｏｓｔＳｃｒｉｐｔ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイル５４、ステータス格納部５５、印刷フィルタ５６、ユーティリティフィルタ５７、ネットワーク制御部５８、及びＵＳＢ制御部５９によって構成される。
【００１５】
クライアントＰＣ２は、ＲＯＭに格納されＣＰＵにより実行されるプログラムモジュールとして、各種の機能を備える。その機能には、ジョブ管理部６１、印刷キュー６２、ジョブ表示部６３、ＰＰＤファイル６４、ステータス格納部６５、印刷アプリケーション６６、印刷設定制御部６７、ユーティリティアプリケーション６８（以下、ユーティリティ６８と略称する）、及びネットワーク制御部６９が含まれる。クライアントＰＣ３は、クライアントＰＣ２と同様の構成である。本実施形態では、ネットワークに２台のクライアントＰＣ２及びＰＣ３が接続されていることを想定しているが、３台以上のクライアントＰＣが接続されていても構わない。
【００１６】
プリンタ４もクライアントＰＣ２と同様に、ＲＯＭ内に各種の機能に対応するプログラムモジュールが格納されており、その機能には、ＵＳＢ制御部７１、動作制御部７２、及び印刷部７３が含まれる。本実施形態では、ＯＳの印刷制御システムとして、例えば、Ｍａｃ  ＯＳ  Ｘに含まれるＣＵＰＳ（Ｃｏｍｍｏｎ  ＵＮＩＸ（登録商標）  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）があり、サーバＰＣ１とクライアントＰＣ２及びＰＣ３それぞれのジョブ管理部、印刷キュー、ＰＰＤファイル、ステータス格納部はＣＵＰＳが制御する。
【００１７】
本実施形態では、クライアントＰＣがＣＵＰＳにより印刷ジョブをサーバＰＣに送信する。また、詳細は後述するが、本実施形態では、サーバＰＣまたはプリンタにおける印刷設定状態をクライアントＰＣが取得するためのジョブを、ＣＵＰＳがサーバＰＣに送信する。ＣＵＰＳがこのようなジョブを送信する場合、クライアントＰＣ、サーバＰＣはそれぞれ、印刷ジョブと同様の処理を行うことで、ジョブの送信、受信を行うことができる。即ち、クライアントＰＣは、ＣＵＰＳによるジョブ送信とは異なる処理を行わなくても、サーバＰＣに印刷設定の設定要求や、印刷設定状態の取得を行うことができる。
【００１８】
以下、サーバＰＣとクライアントＰＣとの間の動作の一例として、サーバＰＣ１とクライアントＰＣ２との間の動作について説明する。以下に説明する動作は、サーバＰＣ１とクライアントＰＣ３との間でも実現でき、それ以外のクライアントＰＣとの間でも実現できる。
【００１９】
サーバＰＣ１のＰＰＤファイル５４には、印刷装置であるプリンタ４で利用可能な機能及び情報である印刷環境情報が記述されていて、これには、例えば、プリンタ４で使用可能な記録媒体である用紙の用紙サイズや用紙種類、また、それらの初期値がある。また、ＰＰＤファイル５４には各種プリンタの動作状態に対応した表示用メッセージも記述されている。例えば、クライアントＰＣ２からサーバＰＣ１に接続されているプリンタ４を使用するために、クライアントＰＣ２でプリンタ４を選択して登録すると、ＯＳによってサーバＰＣ１のＰＰＤファイル５４に記述されている内容がクライアントＰＣ２のＰＰＤファイル６４にコピーされる。
【００２０】
クライアントＰＣ２において、ユーザが印刷アプリケーション６６で作成した印刷データを印刷しようとすると、印刷設定制御部６７は、ＰＰＤファイル６４に記述されている用紙サイズや用紙種類の印刷環境情報をジョブ管理部６１に問い合わせて取得し、ユーザにこれらの印刷設定を促す。そして、ユーザがこれらの印刷設定を行って印刷を要求すると、その要求は印刷ジョブとしてジョブ管理部６１に投入される。ジョブ管理部６１は、印刷ジョブを印刷キューで管理しており、順次取り出して処理する。ジョブ管理部６１は、印刷キュー６２から印刷ジョブを取り出すと、ネットワーク制御部６９を経てサーバＰＣ１のジョブ管理部５１に送信する。
【００２１】
しかしながら、例えば、ネットワーク上のクライアントＰＣ２からサーバＰＣ１のプリンタドライバやプリンタ４における設定が変更された場合、仮にＰＰＤファイル５４にその更新後の印刷設定が格納されたとしても、その印刷設定状態をクライアントＰＣ２が取得できない場合がある。例えば、ＰＰＤファイル５４の最新情報を取得するためには、サーバＰＣ１、クライアントＰＣ２において、ＰＰＤファイル５４の内容を直接通信するための、印刷ジョブに関する情報を通信するための構成とは別の構成が必要な場合がある。
【００２２】
よって、そのような構成を有さないＯＳで構成された印刷システムの場合、仮に、クライアントＰＣ２がプリンタ４を登録したときの印刷設定状態を当該クライアントＰＣ２が取得できたとしても、その登録後にサーバＰＣ１のプリンタドライバやプリンタにおいて新たに追加または変更された設定をクライアントＰＣが取得できない場合がある。
【００２３】
そこで、本実施形態では、サーバＰＣ１がクライアントＰＣ２から設定取得ジョブを受信した場合、ＰＰＤファイル５４の印刷設定状態をステータス格納部５５にコピーし、ステータス格納部５５に格納された印刷設定状態をクライアントＰＣ２に通知する。
【００２４】
詳細は後述するが、サーバＰＣ１がクライアントＰＣ２から印刷ジョブを受信し、プリンタ４に印刷を実行させた場合、ステータス格納部５５にはプリンタ４において印刷が完了したことを示す印刷完了情報が格納される。そして、その印刷完了情報がクライアントＰＣ２に通知される。
【００２５】
本実施形態では、上記のように、クライアントＰＣ２が設定取得ジョブの発行を行い、サーバＰＣ１がステータス格納部５５に格納されている印刷設定状態をクライアントＰＣ２に通知する。そのため、上記印刷完了情報のクライアントＰＣ２への通知と同様の構成により、ＰＰＤファイル５４内の最新の印刷設定状態をクライアントＰＣ２に通知することができる。また、クライアントＰＣ２も、印刷ジョブの発行と同様にジョブ発行処理を行い、設定取得ジョブをサーバＰＣ１に通知することで、最新の印刷設定状態を取得することができる。そのため、最新の印刷設定状態を取得するための、ジョブ発行とは異なる処理を行わなくても、最新の印刷設定状態を取得することができる。
【００２６】
尚、本実施形態における印刷設定状態は、プリンタ４に印刷ジョブが投入されたときに自動的に電源をオンにする自動電源オン設定の有効／無効の状態、また、プリンタ４が所定時間使用されない場合に電源を切る自動電源オフの有効／無効の状態を含む。また、プリンタ４において印刷に使用するインクカートリッジの設定、また、印刷に使用するインクを節約するためのインク節約設定のオン／オフ、等の設定状態を含む。
【００２７】
以上の処理の詳細については後述する。
【００２８】
サーバＰＣ１では、ジョブ管理部５１がネットワーク制御部５８を介してクライアントＰＣ２からの印刷ジョブ、設定ジョブ、または設定取得ジョブを受信する。ジョブ管理部５１は、クライアントＰＣ２から送信された印刷ジョブ、設定ジョブ、または設定取得ジョブを印刷キュー５２で管理し、順次取り出して処理する。ジョブ管理部５１は、印刷キュー５２から印刷ジョブを取り出すと印刷フィルタ５６に送信する。プリンタドライバとして機能する印刷フィルタ５６は、印刷データを生成してＵＳＢ制御部５９を経てプリンタ４に送信する。その後、印刷フィルタ５６は、印刷処理が完了するまでプリンタ４の動作状態を監視する。この間、印刷フィルタ５６は、ＵＳＢ制御部５９を経てプリンタ４からステータスを取得し、解析した結果をプリンタ４の動作状態としてステータス格納部５５に定期的に格納する。ステータス格納部５５には複数のステータスを格納可能であり、印刷フィルタ５６は、プリンタ４の動作状態を複数格納できる。
【００２９】
ステータス格納部５５への格納はジョブ管理部５１を介して行われ、印刷フィルタ５６がプリンタ４の動作状態の格納をジョブ管理部５１に要求すると、ジョブ管理部５１が格納する。また、既に格納されているプリンタ４の動作状態を削除することも可能であり、印刷フィルタ５６が既に格納されているプリンタ４の動作状態の削除をジョブ管理部５１に要求すると、ジョブ管理部５１が削除する。ジョブ表示部５３は、ジョブ管理部５１を介してステータス格納部５５に格納されているステータスを取得し、プリンタ４の動作状態に対応する表示用メッセージをＰＰＤファイル５４から取得してジョブ表示部５３に表示する。また、ジョブ表示部５３は、印刷キュー５２で管理されている印刷ジョブをジョブ管理部５１から取得し、印刷キュー５２で管理中のジョブの一覧としてこれらを表示する。
【００３０】
一方、クライアントＰＣ２のジョブ表示部６３も、印刷キュー６２で管理されている印刷ジョブをジョブ管理部６１から取得して表示する。サーバＰＣ１のジョブ管理部５１に送信した印刷ジョブの処理状態は、ＯＳによってクライアントＰＣ２のジョブ管理部６１にも反映されており、サーバＰＣ１のジョブ管理部５１で処理が完了するまでの間はジョブ表示部６３にも表示される。また、サーバＰＣ１のステータス格納部５５に格納されたプリンタ４の動作状態は印刷ジョブが処理されている間、サーバＰＣ１のＯＳによって定期的にクライアントＰＣ２に送信される。そして、クライアントＰＣ２のステータス格納部６５にコピーされる。ジョブ表示部６３は、コピーされたプリンタ４の動作状態をジョブ管理部６１に問い合わせて取得し、対応する表示用メッセージをＰＰＤファイル６４から取得して表示する。
【００３１】
このように、クライアントＰＣ２は、印刷ジョブをサーバＰＣ１に送信して印刷を実行させると、プリンタ４の動作状態（エラー、印刷の進捗や、印刷完了等）を、サーバＰＣ１のステータス格納部５５から取得することができる。本実施形態では、クライアントＰＣ２は、プリンタの動作状態に加え、サーバＰＣ１のプリンタドライバやプリンタにおける印刷設定状態をサーバＰＣ１のステータス格納部５５から取得する。
【００３２】
クライアントＰＣ２のユーティリティ６８では、プリンタ４の動作モードの設定や印刷データの生成モードの設定を行うことができる。ユーザがクライアントＰＣ２のユーティリティ６８でこれらの設定を要求すると、その要求は、プリンタ４に当該設定を行わせるための設定ジョブとしてジョブ管理部６１に投入され、印刷ジョブと同様に処理され、サーバＰＣ１のジョブ管理部６１に送信される。但し、サーバＰＣ１のジョブ管理部５１は、設定ジョブを印刷キュー５２から取り出すとユーティリティフィルタ５７に送信する。
【００３３】
サーバＰＣ１のユーティリティフィルタ５７は、プリンタ４の動作モードを設定するための制御コマンドを生成して、ＵＳＢ制御部５９を経てプリンタ４に送信する。その後、ユーティリティフィルタ５７は送信処理が完了するまでプリンタ４の動作状態を監視する。この間、ユーティリティフィルタ５７は、印刷フィルタ５６と同様にＵＳＢ制御部５９を経てプリンタ４からステータス（印刷設定状態）を取得し、解析した結果をプリンタ４の動作状態としてステータス格納部５５に定期的に格納する。そして、送信処理が完了すると、ユーティリティフィルタ５７は、プリンタ４の動作モードの設定値と印刷データの生成モードの設定値をＰＰＤファイル５４に追記する。但し、サーバＰＣ１のＰＰＤファイル５４に記述されている内容がクライアントＰＣ２のＰＰＤファイル６４にコピーされるのは、クライアントＰＣ２でサーバＰＣ１に接続されたプリンタ４を登録したときのみであり、ここで、サーバＰＣ１のＰＰＤファイル５４に追記した設定値はクライアントＰＣ２のＰＰＤファイル６４に反映されない。
【００３４】
サーバＰＣ１のＰＰＤファイル５４に追記した設定値は、その後、サーバＰＣ１上で動作する印刷フィルタ５６やユーティリティフィルタ５７に参照され、これらフィルタの処理の制御に使用される。
【００３５】
更に、本実施形態において、ユーティリティフィルタ５７は、印刷データの生成モードの設定状態をステータス格納部５５にも格納する。即ち、ステータス格納部５５にはプリンタ４の動作状態だけでなく、プリンタ４の印刷環境の各種設定状態もステータスとして複数格納される。また、ユーティリティフィルタ５７はプリンタ４の動作状態と同様にジョブ管理部５１を介して各種設定状態を格納及び削除できる。
【００３６】
そして、サーバＰＣ１のステータス格納部５５に格納された設定状態は、プリンタ４の動作状態と同様に、ＯＳによってクライアントＰＣ２のステータス格納部６５にコピーされる。但し、設定状態に対応する表示用メッセージをＰＰＤファイル６４に記述していないので、設定状態をステータス格納部６５に格納してもクライアントＰＣ２のジョブ表示部６３及びサーバＰＣ１のジョブ表示部５３には何も表示されない。ステータス格納部６５に格納した設定状態は、その後、クライアントＰＣ２のユーティリティ６８から参照され、サーバＰＣ１の印刷環境の設定状態を表示する画面の制御に使用される。
【００３７】
以上のように、本実施形態では、印刷ジョブの発行と同様に、設定取得ジョブ（ステータス確認ジョブ）を発行し、サーバＰＣ１に送信することで、サーバＰＣ１におけるプリンタドライバやプリンタの設定状態を取得することができる。
【００３８】
よって、クライアントＰＣ２のユーティリティ６８では、プリンタ４の動作モードの設定や印刷データの生成モードの設定の現在の設定状態を確認することもでき、ユーティリティ６８はステータス格納部６５に格納されている設定状態を取得して画面に表示する。
【００３９】
ジョブ発行による、サーバＰＣ１の印刷設定状態の取得処理について更に詳細に説明する。
【００４０】
ユーティリティ６８は、設定状態を表示するとき、設定状態の取得を要求する設定取得ジョブをジョブ管理部６１に投入する。設定取得ジョブは設定ジョブと同様に処理されサーバＰＣ１のジョブ管理部５１に送信される。
【００４１】
サーバＰＣ１のジョブ管理部５１がクライアントＰＣ２から受信した設定取得ジョブをユーティリティフィルタ５７に送信すると、ユーティリティフィルタ５７は、プリンタ４からプリンタ４の動作モードの設定を取得し、解析した結果に基づきプリンタ４の動作モードの設定状態をステータス格納部５５に格納する。ここで、ステータス格納部５５に格納したプリンタ４の動作モードの設定状態と設定ジョブの処理時に格納しておいた印刷データの生成モードの設定状態は、印刷ジョブの処理時と同様に設定取得ジョブを処理している間、ＯＳによって定期的にクライアントＰＣ２のステータス格納部６５にコピーされる。クライアントＰＣ２のユーティリティ６８はコピーされたこれらの設定状態をジョブ管理部６１に問い合わせて取得し、画面に表示する。
【００４２】
プリンタ４は、ＵＳＢ制御部７１を介して印刷データをサーバＰＣ１から受信したり、サーバＰＣ１からのステータスの問い合わせに応じてプリンタ４のステータスを返却したりする。動作制御部７２は、サーバＰＣ１から受信した印刷データに基づき印刷部７３を制御して用紙に印刷する。また、動作制御部７２は、プリンタ４の動作モードを設定する制御コマンドをサーバＰＣ１から受信すると、制御コマンドに基づきプリンタ４の動作モードを設定する。
【００４３】
本実施形態では、このようなクライアントサーバ印刷システムにおいてクライアントＰＣ２とサーバＰＣ１で稼働するＭａｃ  ＯＳ  Ｘの印刷制御システムであるＣＵＰＳと連携して動作する印刷設定制御部、印刷フィルタ、ユーティリティ、ユーティリティフィルタを提供する例を説明する。
【００４４】
図２は、クライアントＰＣ２のユーティリティ６８の操作ウインドウを示す図である。
【００４５】
ユーティリティ６８では、プリンタ４の動作モードの設定として、プリンタ４に印刷ジョブが投入されたときに自動的に電源をオンにする自動電源オン設定とリンタが所定時間使用されない場合に自動的に電源を切る自動電源オフ設定を行うことができる。更に、印刷データの生成モードの設定として、印刷に使用するインクを節約するためのインク節約設定と、印刷に使用するインクカートリッジのカートリッジ設定を行うことができる。これらの設定は、ネットワーク上の２台のクライアントＰＣ２及びＰＣ３のどちらからでも行うことができる。自動電源オン設定は、プリンタ４の電源を自動的にオンする機能の設定である。自動電源オン設定が有効のとき、プリンタ４はサーバＰＣ１から印刷データや制御コマンドを受信すると自動的に起動する。自動電源オフ設定は、プリンタ４の電源を自動的にオフする機能の設定である。自動電源オフ設定が有効のとき、プリンタ４は使用されない状態で所定時間（例えば、３０分）以上経過すると自動的に電源を切る。
【００４６】
インク節約設定は印刷時のインク使用量を減らす機能の設定である。インク節約設定が有効のとき、サーバＰＣ１の印刷フィルタ５６はインク使用量が少なくなるような印刷データを生成する。カートリッジ設定は印刷時に使用するカートリッジを指定する機能の設定である。本実施形態では、プリンタ４としてブラックカートリッジとカラーカートリッジが搭載されたインクジェットプリンタを想定しており、使用するカートリッジとして両方、カラーのみ、ブラックのみの何れかを指定できる。カートリッジ設定に応じて、サーバＰＣ１の印刷フィルタ５６は、指定されたカートリッジを使用する印刷データを生成する。
【００４７】
尚、ユーティリティ６８で設定できる内容は、図２に示す内容に限定されず、プリンタ４の印刷環境や機能に応じて、様々な設定を行うことができることは言うまでもない。例えば、用紙サイズや用紙向き、片面／両面印刷、仕上げ方法等の様々な印刷処理の設定を行うことができる。また、印刷方式としては、インクジェット方式に限定されず、電子写真方式、熱転写方式等の他の印刷方式を採用することができる。
【００４８】
ユーザがユーティリティ６８を起動すると、操作ウインドウ１００が表示される。尚、ユーティリティ６８を起動したときに後述する図９における設定状態の取得処理が実行され、サーバＰＣ１におけるプリンタドライバやプリンタ４において設定されている設定状態が、操作ウインドウ１００における初期値として反映される。
【００４９】
また、ユーザは、クローズボタン１０１により操作ウインドウ１００を閉じてユーティリティ６８を終了できる。また、ユーザは、複数のメニュー項目が登録されているタブメニュー１０２によりユーティリティ６８の操作画面を切り替えることができる。ユーザがタブメニュー１０２の「特殊設定」を選択すると、ユーティリティ６８は特殊設定画面１０３を表示し、ユーザがタブメニュー１０２の「カートリッジ設定」を選択すると、ユーティリティ６８はカートリッジ設定画面１１０を表示する。図４（ａ）は特殊設定画面１０３が表示されている時のユーティリティ６８の操作ウインドウを示している。図４（ｂ）はカートリッジ設定画面１１０が表示されている時のユーティリティ６８の操作ウインドウを示している。
【００５０】
特殊設定画面１０３で、ユーザは、自動電源オン設定、自動電源オフ設定、インク節約設定を行うことができる。ユーザは、自動電源オン設定チェックボックス１０４によりプリンタ４の自動電源オン機能の有効／無効を設定できる。まだ一度も設定していない初期の状態では無効になっている（チェックが外れている）。ユーザは、自動電源オフ設定チェックボックス１０５によりプリンタ４の自動電源オフ機能の有効／無効を設定できる。まだ一度も設定していない初期の状態では無効になっている（チェックが外れている）。ユーザは、インク節約設定チェックボックス１０６によりインク節約機能の有効／無効を設定できる。まだ一度も設定していない初期の状態では無効になっている（チェックが外れている）。
【００５１】
ユーザは、適用ボタン１０７を押下することにより、各種設定チェックボックスのチェック状態に応じて、自動電源オン設定と自動電源オフ設定をサーバＰＣ１に接続されたプリンタ４に適用し、インク節約設定をサーバＰＣ１の印刷処理に適用することができる。適用ボタン１０７を押下すると、ユーティリティ６８は特殊設定ジョブをジョブ管理部６１に投入する。その後、特殊設定ジョブが処理されるまでの間、図３（ａ）に示す設定中ダイアログ２００を表示する。そして、特殊設定ジョブの処理が完了すると、ユーティリティ６８は設定中ダイアログ２００を閉じて、特殊設定画面１０３に戻る。
【００５２】
クライアントＰＣ２のユーティリティ６８は、起動直後、特殊設定画面１０３を表示する。ユーティリティ６８は、特殊設定画面１０３を表示するとき、各種機能の設定チェックボックスをサーバＰＣ１の設定状態にして表示する。このように表示することにより、ネットワーク上の他のクライアントＰＣから各種機能の設定状態が変更されても、ユーティリティ６８は、サーバＰＣ１に接続されたプリンタ４やサーバＰＣ１の印刷環境の現在の設定状態をユーザに示すことができる。
【００５３】
ユーティリティ６８は、特殊設定画面１０３を表示するとき、特殊設定取得ジョブをジョブ管理部６１に投入する。特殊設定取得ジョブを投入すると、サーバＰＣ１のユーティリティフィルタ５７が、サーバＰＣ１の設定状態をステータス格納部５５に格納するので、それらがＯＳによってクライアントＰＣ２のステータス格納部６５にコピーされる。この処理の詳細については後述する。
【００５４】
その後、クライアントＰＣ２のステータス格納部６５に格納されている特殊設定の設定状態を取得するまでの間、図３（ｂ）に示す設定取得中ダイアログ２０１を表示する。そして、特殊設定の設定状態の取得が完了すると、設定取得中ダイアログ２０１を閉じて、取得した設定状態を特殊設定画面１０３の各種設定チェックボックスに反映する。これらの機能がまだ設定されていなければ、サーバＰＣ１に接続されたプリンタ４及びサーバＰＣ１の印刷環境は初期状態で動作するので、ユーティリティ６８は各種設定チェックボックスを初期状態で表示する。
【００５５】
カートリッジ設定画面１１０で、ユーザは、カートリッジ設定を設定できる。ユーザは、カートリッジ設定ポップアップメニュー１１１により印刷時に使用するカートリッジを設定できる。カートリッジ設定ポップアップメニュー１１１の項目には「両方」、「カラーのみ」、「ブラックのみ」があり、これらの何れかを設定できる。「両方」を設定すると、印刷処理時に印刷フィルタ５６はブラックとカラーの両カートリッジを使用して印刷するための印刷データを生成する。「カラーのみ」を設定すると印刷フィルタ５６はカラーカートリッジのみを使用して印刷するための印刷データを生成する。「ブラックのみ」を設定すると印刷フィルタ５６はブラックカートリッジのみを使用して印刷するための印刷データを生成する。まだ一度も設定していない初期状態では「両方」が設定されている。ユーザは、適用ボタン１１２を押下することにより、カートリッジ設定を印刷処理に適用することができる。適用ボタン１１２を押下すると、ユーティリティ６８はカートリッジ設定ジョブをジョブ管理部６１に投入する。その後、カートリッジ設定ジョブが処理されるまでの間、図３（ａ）に示す設定中ダイアログ２００を表示する。そして、カートリッジ設定ジョブの処理が完了すると、ユーティリティ６８は設定中ダイアログ２００を閉じて、カートリッジ設定画面１１０に戻る。
【００５６】
クライアントＰＣ２のユーティリティ６８は、カートリッジ設定画面１１０を表示するとき、カートリッジ設定ポップアップメニュー１１１をサーバＰＣ１の設定状態にして表示する。このように表示することにより、ネットワーク上の他のクライアントＰＣから設定状態が変更されても、ユーティリティ６８はサーバＰＣ１に接続されたプリンタ４やサーバＰＣ１の印刷環境の現在の設定状態をユーザに示すことができる。
【００５７】
ユーティリティ６８は、カートリッジ設定画面１１０を表示するとき、カートリッジ設定取得ジョブをジョブ管理部６１に投入する。カートリッジ設定取得ジョブを投入すると、サーバＰＣ１のユーティリティフィルタ５７が、サーバＰＣ１の設定状態をステータス格納部５５に格納するので、それらがＯＳによってクライアントＰＣ２のステータス格納部６５にコピーされる。この処理の詳細については後述する。その後、クライアントＰＣ２のステータス格納部６５に格納されるカートリッジ設定の設定状態を取得するまでの間、図３（ｂ）に示す設定取得中ダイアログ２０１を表示する。そして、カートリッジ設定の設定状態の取得が完了すると設定取得中ダイアログ２０１を閉じて、取得した設定状態をカートリッジ設定画面１１０上のカートリッジ設定ポップアップメニュー１１１に反映する。カートリッジ設定がまだ設定されていなければ、サーバＰＣ１の印刷環境は初期状態で動作するので、ユーティリティ６８はカートリッジ設定ポップアップメニュー１１１を初期状態で表示する。
【００５８】
図３は、クライアントＰＣ２のユーティリティ６８の処理中のダイアログを示す図である。
【００５９】
ユーティリティ６８は、特殊設定画面１０３やカートリッジ設定画面１１０の各種機能を設定しているとき、図３（ａ）の設定中ダイアログ２００を表示する。各種設定画面上の適用ボタンが押下されると、ユーティリティ６８は設定ジョブをジョブ管理部６１に投入して設定中ダイアログ２００を表示する。そして、投入した設定ジョブの処理が完了すると設定中ダイアログ２００を閉じて各種設定画面に戻る。ユーティリティ６８は、特殊設定画面１０３やカートリッジ設定画面１１０を表示する前に各画面の各種機能のサーバＰＣ１の設定状態を取得している。このとき、図３（ｂ）の設定取得中ダイアログ２０１を表示する。ユーティリティ６８は各種設定画面を表示するとき、設定取得ジョブをジョブ管理部６１に投入して設定取得中ダイアログ２０１を表示する。そして、投入したジョブの処理が完了すると設定取得中ダイアログ２０１を閉じて取得した設定状態または初期値を各設定画面上に反映する。
【００６０】
図４は、クライアントＰＣ２のジョブ表示部６３とサーバＰＣ１のジョブ表示部５３のウインドウを示す図である。
【００６１】
以下では、クライアントＰＣ２のジョブ表示部６３の動作について説明するが、サーバＰＣ１のジョブ表示部５３についても同様の動作が実行される。
【００６２】
ジョブ表示部６３は、ＯＳが制御しており、ユーザがジョブ表示部６３を開くとＯＳはジョブ表示ウインドウ３００を開く。ユーザは、クローズボタン３０１によりジョブ表示ウインドウ３００を閉じることができる。また、ユーザは、削除ボタン３０２により実行中のジョブをキャンセルすることができる。ステータス表示領域３０３にはＰＰＤファイル６４に記述されている各種プリンタ４の動作状態に対応する表示用メッセージが表示される。
【００６３】
ジョブ表示部６３は、ステータス格納部６５に格納されているステータスを取得すると、それらに対応する表示用メッセージをジョブ管理部６１に問い合わせる。ジョブ管理部６１は、問い合わせを受けたステータスに対応する表示用メッセージの記述がＰＰＤファイル６４にあればそれをジョブ表示部６３に返す。一方、ジョブ管理部６１は、対応する表示用メッセージの記述がＰＰＤファイル６４になければ、ないことを示す値をジョブ表示部６３に返す。
【００６４】
ジョブ表示部６３は、ジョブ管理部６１から、対応する表示用メッセージが返されると、それをステータス表示領域３０３に表示する。一方、ジョブ管理部６１から、対応する表示用メッセージがないことを示す値が返されると何も表示しない。本実施形態では、ＰＰＤファイル６４に各種プリンタの動作状態として紙なしエラー状態、インクなしエラー状態、通信エラー状態、その他のエラー状態に対応する表示用メッセージを記述している。よって、これらのエラー状態がステータス格納部６５に格納されると、対応する表示用メッセージがステータス表示領域３０３に表示される。ユーティリティ６８の各種機能の設定状態のステータスがステータス格納部６５に格納されても、ＰＰＤファイル６４には対応する表示用メッセージの記述がないのでステータス表示領域３０３には何も表示されない。ジョブ表示領域３０４には印刷キュー６２で管理されているジョブの一覧が表示される。
【００６５】
特に、図４（ａ）は、ユーティリティ６８が特殊設定画面１０３の設定に伴い特殊設定ジョブを投入したときのジョブ表示ウインドウ３００である。ジョブ表示領域３０４には特殊設定ジョブが処理中の状態として表示され、このときユーティリティ６８が投入したジョブの名称「特殊設定」が表示される。
【００６６】
図４（ｂ）は、特殊設定ジョブを処理中にエラーが発生したときのジョブ表示ウインドウ３００である。ここでは一例として、処理中に通信エラーが発生したときのジョブ表示ウインドウ３００を示している。ステータス表示領域３０３には、ユーティリティフィルタ５７がステータス格納部６５に格納した通信エラー状態に対応した表示用メッセージが表示される。ジョブ表示部６３は、ジョブ管理部６１を介して通信エラー状態に対応した表示用メッセージをＰＰＤファイル６４から取得してステータス表示領域３０３に表示する。
【００６７】
図４（ｃ）はユーティリティ６８が特殊設定画面１０３の表示に伴い特殊設定取得ジョブを投入したときのジョブ表示ウインドウ３００である。ジョブ表示領域３０４には特殊設定取得ジョブが処理中の状態で表示され、このときユーティリティ６８が投入したジョブの名称「特殊設定の取得」が表示される。
【００６８】
図５もジョブ表示部６３のジョブ表示ウインドウ３００を示す図である。
【００６９】
図５（ａ）及び図５（ｂ）は、各々カートリッジ設定ジョブとカートリッジ設定取得ジョブを投入したときのジョブ表示ウインドウ３００である。ジョブ表示領域３０４には各々のジョブが処理中の状態で表示され、このとき各々ユーティリティ６８が投入したジョブの名称「カートリッジ設定」、「カートリッジ設定の取得」が表示される。
【００７０】
図６もジョブ表示部６３のジョブ表示ウインドウ３００を示す図である。
【００７１】
図６（ａ）は印刷アプリケーション６６からの印刷要求に伴い印刷ジョブが投入されたときのジョブ表示ウインドウ３００である。ジョブ表示領域３０４には印刷ジョブが処理中の状態として表示され、このとき印刷アプリケーション６６が投入した印刷ジョブの名称が表示される。
【００７２】
図６（ｂ）は印刷ジョブを処理中にエラーが発生したときのジョブ表示ウインドウ３００である。ここでは一例として、印刷中に用紙なしエラーが発生したときのジョブ表示ウインドウ３００を示している。ステータス表示領域３０３には、印刷フィルタ５６がステータス格納部５５に格納した用紙なしエラー状態に対応した表示用メッセージが表示される。ジョブ表示部６３は、ジョブ管理部６１を介して用紙なしエラー状態に対応した表示用メッセージをＰＰＤファイル６４から取得してステータス表示領域３０３に表示する。
【００７３】
次に図７、図８を用いて、クライアントＰＣ２のユーティリティ６８において設定された特殊設定を、サーバＰＣ１を介してプリンタ４に設定する処理について説明する。
【００７４】
図７はクライアントＰＣ２のユーティリティ６８の特殊設定処理を示すフローチャートである。尚、図７に示すフローチャートに示す処理に対応するプログラムがクライアントＰＣ２のＲＯＭに格納されており、クライアントＰＣ２のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図７に示す処理が実現される。
【００７５】
ユーザが、特殊設定画面１０３で適用ボタン１０７を押下すると、ユーティリティ６８は特殊設定処理を実行する。Ｓ１００で、ユーティリティ６８は、特殊設定処理を開始する。Ｓ１０１で、ユーティリティ６８は、特殊設定ジョブをジョブ管理部６１に投入する。クライアントＰＣ２で投入された特殊設定ジョブは、ＯＳによってサーバＰＣ１のジョブ管理部５１に送信される。Ｓ１０２で、ユーティリティ６８は、自身が投入した特殊設定ジョブの処理状態をジョブ管理部６１に問い合わせて取得する。Ｓ１０３で、ユーティリティ６８は、取得したジョブの処理状態に基づき特殊設定ジョブが完了したか否かを判定する。完了していないと判定する場合（Ｓ１０３でＮＯ）、Ｓ１０２に戻り、ユーティリティ６８は、再度、ジョブの処理状態をジョブ管理部６１から取得する。一方、完了したと判定する場合（Ｓ１０３３でＹＥＳ）、Ｓ１０４に進み、処理を終了する。
【００７６】
図７に示した処理により、ユーザがプリンタ４に設定させる印刷設定（例えば、自動電源オン設定）を、特殊設定ジョブというジョブ形式により、サーバＰＣ１に通知することができる。
【００７７】
図８はサーバＰＣ１のユーティリティフィルタ５７の特殊設定処理を示すフローチャートである。尚、図８に示すフローチャートに示す処理に対応するプログラムがサーバＰＣ１のＲＯＭに格納されており、サーバＰＣ１のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図８に示す処理が実現される。
【００７８】
ネットワーク上の２台のクライアントＰＣ２及びＰＣ３のどちらかのユーティリティ６８が各種機能の特殊設定を行うと、特殊設定ジョブがジョブ管理部６１に投入されてサーバＰＣ１のジョブ管理部５１に送信される。サーバＰＣ１のユーティリティフィルタ５７は、ジョブ管理部５１から特殊設定ジョブが送信されると、この特殊設定処理を実行する。尚、ここでは印刷設定として、自動電源オン設定と、自動電源オフ設定、インク節約設定を例に説明する。
【００７９】
Ｓ２００で、ユーティリティフィルタ５７は、特殊設定処理を開始する。Ｓ２０１で、ユーティリティフィルタ５７は、特殊設定ジョブとともに送信される自動電源オン設定と自動電源オフ設定の設定値に基づき設定制御コマンドを生成する。自動電源設定は、プリンタ自身に設定される内容であり、その設定内容をプリンタに通知する必要がある。そのため、Ｓ２０１で、設定制御コマンドを生成する。
【００８０】
Ｓ２０２で、ユーティリティフィルタ５７は、生成した設定制御コマンドをプリンタ４に送信する。プリンタ４は、この設定制御コマンドを受信すると、自身の動作モードを設定することになる。
【００８１】
Ｓ２０３で、ユーティリティフィルタ５７は、設定制御コマンドの送信状態をジョブ管理部５１から取得する。Ｓ２０４で、ユーティリティフィルタ５７は、設定制御コマンドの送信が完了したか否かを判定する。送信が完了していないと判定する場合（Ｓ２０４でＮＯ）、Ｓ２０５に進む。Ｓ２０５で、ユーティリティフィルタ５７は、プリンタ４からステータスを取得する。そして、Ｓ２０６で、ユーティリティフィルタ５７は、取得したステータスを解析する。Ｓ２０７で、ユーティリティフィルタ５７は、ステータスを解析した結果に基づきステータス格納部５５のプリンタ４の動作状態を更新する。
【００８２】
この更新では、プリンタ４でエラーが発生していなければ、ユーティリティフィルタ５７は、ステータス情報のステータス格納部５５への格納は行わない。プリンタ４でエラーが発生していれば、ユーティリティフィルタ５７は、エラー状態をステータス格納部５５に格納する。また、プリンタ４のエラーが解決されれば、ユーティリティフィルタ５７は、ステータス格納部５５に格納したエラー状態を削除する。ユーティリティフィルタ５７がステータス格納部５５に格納する各種エラー状態は対応する表示用メッセージがＰＰＤファイル５４に記述されているので、図４（ｂ）に示すように、ジョブ表示ウインドウ３００のステータス表示領域３０３に表示される。また、サーバＰＣ１のステータス格納部５５に格納したプリンタ４の動作状態は、ＯＳによってクライアントＰＣ２のステータス格納部６５にコピーされ、クライアントＰＣ２のジョブ表示ウインドウ３００のステータス表示領域３０３にも表示される。
【００８３】
ユーティリティフィルタ５７は、エラー状態を更新すると、Ｓ２０３に戻り、再度、設定制御コマンドの送信状態をジョブ管理部５１から取得する。そして、設定制御コマンドの送信が完了したと判定する場合（Ｓ２０４でＹＥＳ）、Ｓ２０８に進む。
【００８４】
Ｓ２０８で、ユーティリティフィルタ５７は、自動電源オン設定及び自動電源オフ設定を含む自動電源の設定値をＰＰＤファイル５４に追記する。ＰＰＤファイル５４への各種設定値の追記は、ユーティリティフィルタ５７がジョブ管理部５１に機能名称と設定値を通知することによって行われる。ジョブ管理部５１は、この通知を受けて機能名称と設定値をＰＰＤファイル５４に追記する。このとき、既に同じ機能名称の設定値があれば上書きする。ＰＰＤファイル５４の各種設定値の上書きは異なるクライアントＰＣから特殊設定ジョブを送信されたときにも行われる。即ち、ＰＰＤファイル５４に追記される各種設定値は最後に特殊設定ジョブを投入したクライアントＰＣのユーティリティ６８の設定状態に基づくことになる。
【００８５】
Ｓ２０９で、ユーティリティフィルタ５７は、特殊設定ジョブとともに送信されるインク節約設定の設定値に基づきインク節約設定の設定値をＰＰＤファイル５４に追記する。尚、インク節約設定は、プリンタ４に対する設定ではなく、サーバＰＣ１のプリンタドライバにおいて印刷データを作成するときに反映される。そのため、Ｓ２０１〜Ｓ２０７に示したように、プリンタ４への設定コマンドの送信、設定を行わない。
【００８６】
Ｓ２１０で、ユーティリティフィルタ５７は、ステータス格納部５５のインク節約設定の設定状態を更新する。ステータス格納部５５にインク節約設定の設定状態がなければ、ユーティリティフィルタ５７は新たに設定状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にインク節約設定の設定状態があれば、ユーティリティフィルタ５７は、その設定状態を一旦削除してから新たに設定状態をステータス格納部５５に格納する。
【００８７】
尚、ＰＰＤファイル５４に追記される各種設定値と同様にステータス格納部５５への各種設定状態の格納は異なるクライアントＰＣから設定ジョブを送信されたときにも行われる。即ち、ステータス格納部５５に格納される各種設定状態は最後に特殊設定ジョブを投入したクライアントＰＣのユーティリティ６８の設定状態に基づくことになる。よって、あるクライアントＰＣにおいて設定した特殊設定とは異なる設定が、他のクライアントＰＣにより設定され、その設定がＰＰＤファイル５４に格納されていることが起こり得る。
【００８８】
そこで、本実施形態では、ステータス格納部５５に格納されたインク節約設定の設定状態が、図９を用いて後述する処理により、Ｓ２０７で格納したプリンタ４の動作状態と同様にＯＳによってクライアントＰＣ２のステータス格納部６５にコピーされる。但し、ユーティリティフィルタ５７が格納する各種設定状態は、対応する表示用メッセージがＰＰＤファイル５４に記述されていないのでジョブ表示ウインドウ３００のステータス表示領域３０３に表示されることはない。
【００８９】
Ｓ２１１で、ユーティリティフィルタ５７は、ステータス格納部５５のプリンタ４の動作状態を削除する。Ｓ２０７でプリンタ４のエラー状態をステータス格納部５５に格納したままになっていれば、ユーティリティフィルタ５７は削除する。ステータス格納部５５にプリンタ４のエラー状態が格納されていなければ、ユーティリティフィルタ５７は何もしない。その後、Ｓ２１２で、ユーティリティフィルタ５７は、処理を終了する。
【００９０】
以上の図８に示す処理により、サーバＰＣ１は、クライアントＰＣ２から受信した特殊設定ジョブに含まれている設定値に従って、プリンタ４の設定を更新することができる。またその設定値が、プリンタ４の動作状態（エラー等）と同様に、ステータス格納部５５に格納される。
【００９１】
ユーティリティフィルタ５７は、処理終了時、ステータス格納部５５に格納したインク節約設定の設定状態を削除せず、格納したまま終了する。よって、ユーティリティフィルタ５７の処理が終了してもインク節約設定の設定状態はステータス格納部５５に格納されたままになる。この特殊設定処理で、サーバＰＣ１のＰＰＤファイル５４に追記した各種設定値は、クライアントＰＣ２のＰＰＤファイル６４に反映されない。サーバＰＣ１のＰＰＤファイル５４に追記した設定値は、その後、サーバＰＣ１上で動作する印刷フィルタ５６やユーティリティフィルタ５７に参照され、これらフィルタの処理の制御に使用される。
【００９２】
一方、サーバＰＣ１のステータス格納部５５に格納した各種設定状態は、その後、後述する図９に示す処理によりサーバＰＣのＯＳによってクライアントＰＣ２のステータス格納部６５にコピーされる。そして、クライアントＰＣ２のユーティリティ６８は、クライアントＰＣ２のステータス格納部６５から各種設定状態を取得して、特殊設定画面に反映する。この処理の詳細については図９を用いて説明する。
【００９３】
図９はクライアントＰＣ２のユーティリティ６８の特殊設定取得処理を示すフローチャートである。尚、図９に示すフローチャートに示す処理に対応するプログラムがクライアントＰＣ２のＲＯＭに格納されており、クライアントＰＣ２のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図９に示す処理が実現される。
【００９４】
ユーティリティ６８がクライアントＰＣ２のユーザの指示により起動した場合、ユーティリティ６８は、特殊設定画面１０３を表示する前に図９に示す特殊設定取得処理を実行し、取得した設定状態を特殊設定画面１０３の各種設定チェックボックスに反映する。
【００９５】
Ｓ３００で、ユーティリティ６８は、この特殊設定取得処理を開始する。Ｓ３０１で、ユーティリティ６８は、特殊設定取得ジョブをジョブ管理部６１に投入する。Ｓ３００における特殊設定ジョブの投入により、ジョブ管理部６１がサーバＰＣ１に特殊設定ジョブを送信する。すると、後述する図１０のサーバＰＣ１の処理により、サーバＰＣ１のステータス格納部５５に格納されている最新の設定状態が、クライアントＰＣ２のステータス格納部６５にコピーされる。
【００９６】
Ｓ３０２で、ユーティリティ６８は、ジョブ管理部６１を介してステータス格納部６５のステータスを取得する。Ｓ３００における処理により投入された特殊設定ジョブにより図１０の処理が行われた場合、ステータス格納部６５には、サーバＰＣ１のステータス格納部５５の内容がクライアントＰＣ２、サーバＰＣ１のＯＳによりコピーされている。よって、Ｓ３０２では、サーバＰＣ１における最新の印刷設定状態を取得することができる。尚、ステータスの取得は、ユーティリティ６８がジョブ管理部６１に問い合わせ、ジョブ管理部６１がステータス格納部６５のステータスをユーティリティ６８に返すことによって行われる。
【００９７】
Ｓ３０３で、ユーティリティ６８は、取得したステータスに自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態があるか否かを判定する。自動電源の設定状態があると判定する場合（Ｓ３０３でＹＥＳ）、Ｓ３０４に進む。Ｓ３０４で、ユーティリティ６８は、ステータスを解析して自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態を取得して、Ｓ３０５に進む。一方、自動電源の設定状態がないと判定する場合（Ｓ３０３でＮＯ）、そのままＳ３０５に進む。Ｓ３０５で、ユーティリティ６８は、取得したステータスにインク節約設定の設定状態があるか否かを判定する。インク節約の設定状態があると判定する場合（Ｓ３０５でＹＥＳ）、Ｓ３０６に進む。Ｓ３０６で、ユーティリティ６８は、ステータスを解析してインク節約設定の設定状態を取得して、Ｓ３０７に進む。一方、インク節約の設定状態がないと判定する場合（Ｓ３０５でＮＯ）、そのままＳ３０７に進む。
【００９８】
Ｓ３０７で、ユーティリティ６８は、自身が投入した特殊設定取得ジョブの処理状態をジョブ管理部６１に問い合わせて取得する。Ｓ３０８で、ユーティリティ６８は、取得したジョブの処理状態に基づき特殊設定取得ジョブが完了したか否かを判定する。完了していないと判定する場合（Ｓ３０８でＮＯ）、Ｓ３０２に戻り、ユーティリティ６８は、再度、ステータス格納部６５のステータスをジョブ管理部６１から取得する。一方、完了したと判定する場合（Ｓ３０８でＹＥＳ）、Ｓ３０９に進む。
【００９９】
Ｓ３０９で、ユーティリティ６８は、自身の投入した特殊設定取得ジョブの処理が完了するまでに、サーバＰＣ１のステータス格納部６５に格納されている内容がステータス格納部５５にコピーされ、Ｓ３０２においてそのコピーされた内容がＳ３０２においてユーティリティ６８により取得されたか判断する。具体的には、サーバＰＣ１からコピーされた後の自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態を取得したか否かを判定する。自動電源の設定状態を取得していないと判定する場合（Ｓ３０９でＮＯ）、Ｓ３１０に進む。Ｓ３１０で、ユーティリティ６８は、内部に保持する自動電源オン設定及び自動電源オフ設定を含む自動電源の初期設定を取得して、Ｓ３１１に進む。一方、自動電源の設定状態を取得したと判定する場合（Ｓ３０９でＹＥＳ）、そのままＳ３１１に進む。
【０１００】
Ｓ３１１で、ユーティリティ６８は、サーバＰＣ１からコピーされた後のインク節約設定の設定状態を取得したか否かを判定する。設定状態を取得していないと判定する場合（Ｓ３１１でＮＯ）、Ｓ３１２に進む。そして、Ｓ３１２で、ユーティリティ６８は、内部に保持するインク節約設定の初期設定を取得して、Ｓ３１３に進み、処理を終了する。一方、インク節約設定の設定状態を取得したと判定する場合（Ｓ３１１でＹＥＳ）、そのままＳ３１３に進む。
【０１０１】
Ｓ３１３では、Ｓ３０４またはＳ３１０で取得された自動電源の設定状態、またＳ３０６またはＳ３１２で取得されたインク節約の設定状態を、ユーティリティ６８の起動時に表示される特殊設定画面１０３のチェックボックスに反映させる。そして、そのようにチェックボックスに設定状態が反映された特殊設定画面１０３を、クライアントＰＣ２が備える、またはクライアントＰＣ２に接続されている表示装置に表示させる。
【０１０２】
Ｓ３１３の表示制御処理が実行されると、Ｓ３１４において処理を終了する。そして、図９に示す処理が実行されると、図７に示す処理により、特殊設定ジョブの投入による特殊設定処理が可能となる。
【０１０３】
図１０はサーバＰＣ１の特殊設定取得処理を示すフローチャートである。尚、図１０に示すフローチャートに示す処理に対応するプログラムがサーバＰＣ１のＲＯＭに格納されており、サーバＰＣ１のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図１０に示す処理が実現される。
【０１０４】
ネットワーク上の２台のクライアントＰＣ２及びＰＣ３のどちらかのユーティリティ６８が各種機能の設定画面を表示するとき、図９のＳ３０１における処理により特殊設定取得ジョブがジョブ管理部６１に投入されてサーバＰＣ１のジョブ管理部５１に送信される。サーバＰＣ１のユーティリティフィルタ５７は、サーバＰＣ１のジョブ管理部５１から特殊設定取得ジョブが送信されると、この特殊設定取得処理を実行する。
【０１０５】
Ｓ４００で、ユーティリティフィルタ５７は、特殊設定取得処理を開始する。Ｓ４０１で、ユーティリティフィルタ５７は、プリンタ４のステータスを取得できるか否かを判定する。取得できないと判定する場合（Ｓ４０１でＮＯ）、Ｓ４０２に進み、ユーティリティフィルタ５７は、ＰＰＤファイル５４の自動電源オン設定及び自動電源オフ設定を含む自動電源の設定値を検索する。ＰＰＤファイル５４の検索は、ユーティリティフィルタ５７が各種機能名称の設定値をジョブ管理部５１に問い合わせることによって行われる。ジョブ管理部５１は、問い合わせを受けた機能名称の設定値の記述がＰＰＤファイル５４にあれば、その設定値をユーティリティフィルタ５７に返す。一方、ジョブ管理部５１は、設定値の記述がＰＰＤファイル５４になければ、ないことを示す値をユーティリティフィルタ５７に返す。
【０１０６】
Ｓ４０３で、ユーティリティフィルタ５７は、検索結果に基づき、自動電源オン設定及び自動電源オフ設定を含む自動電源の設定値がＰＰＤファイル５４にあるか否かを判定する。自動電源の設定値がないと判定する場合（Ｓ４０３でＮＯ）、Ｓ４０７に進み、ユーティリティフィルタ５７は、処理を終了する。このとき、ステータス格納部５５の自動電源オン設定及び自動電源オフ設定の設定状態は更新されない。
【０１０７】
一方、自動電源の設定値があると判定する場合（Ｓ４０３でＹＥＳ）、Ｓ４０４に進む。Ｓ４０４で、ユーティリティフィルタ５７は、自動電源オン設定及び自動電源オフ設定を含む自動電源の設定値をＰＰＤファイル５４から取得する。ここで、ＰＰＤファイル５４から取得する各種設定値は最後に設定を行ったクライアントＰＣ２のユーティリティ６８の設定状態になる。そして、Ｓ４０６で、ユーティリティフィルタ５７は、ＰＰＤファイル５４から取得した設定値に基づき、ステータス格納部５５の自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態を更新する。ステータス格納部５５にこれらの設定状態がなければ、ユーティリティフィルタ５７は、新たにこれらの設定状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にこれらの設定状態があれば、ユーティリティフィルタ５７は、それらの設定状態を一旦削除してから新たにこれらの設定状態をステータス格納部５５に格納する。
【０１０８】
一方、Ｓ４０１で、ユーティリティフィルタ５７は、プリンタのステータスを取得できると判定する場合（Ｓ４０１でＹＥＳ）、Ｓ４０５に進む。Ｓ４０５で、ユーティリティフィルタ５７は、プリンタ４から自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態を取得して、Ｓ４０６に進む。Ｓ４０６で、ユーティリティフィルタ５７は、プリンタ４から取得した設定状態に基づき、ステータス格納部５５の自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態を更新する。ステータス格納部５５にこれらの設定状態がなければ、ユーティリティフィルタ５７は、新たにこれらの設定状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にこれらの設定状態があれば、ユーティリティフィルタ５７は、それらの設定状態を一旦削除してから新たにこれらの設定状態をステータス格納部５５に格納する。
【０１０９】
そして、Ｓ４０７で、サーバＰＣ１のＯＳは、クライアントＰＣ２のＯＳと連携し、サーバＰＣ１のステータス格納部５５に格納されている設定状態を、当該特殊設定取得ジョブを投入したクライアントＰＣ２のステータス格納部６５にコピーする。コピーされる設定状態には、Ｓ４０６における処理により、自動電源の最新の設定状態と、インク節約の最新の設定状態が含まれる。Ｓ４０７における処理、また、図９のＳ３０２における処理により、サーバＰＣ１において最新の設定状態が、クライアントＰＣ２のユーティリティ６８に通知される。
【０１１０】
Ｓ４０７の処理が実行されるとサーバＰＣ１は、Ｓ４０８において処理を終了する。
【０１１１】
尚、この特殊設定取得処理において、ユーティリティフィルタ５７は、サーバＰＣ１のステータス格納部５５に自動電源オン設定及び自動電源オフ設定を含む自動設定の設定状態を格納するが、インク節約設定の設定状態を格納しない。しかし、既に、特殊設定処理を行っていれば、図８のＳ２１１でユーティリティフィルタ５７によってインク節約設定の設定状態はサーバＰＣ１のステータス格納部５５に格納されている。この設定状態でクライアントＰＣ２から送信された特殊設定取得ジョブがサーバＰＣ１のジョブ管理部５１で処理されると、ＯＳによってサーバＰＣ１のステータス格納部５５のこれらの設定状態がクライアントＰＣ２のステータス格納部６５にコピーされる。よって、クライアントＰＣ２のユーティリティ６８は、クライアントＰＣ２のステータス格納部６５にコピーされる自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態やインク節約設定の設定状態を取得して、特殊設定画面１０３の各種設定チェックボックスに反映できる。
【０１１２】
図１１はクライアントＰＣ２のユーティリティ６８のカートリッジ設定処理を示すフローチャートである。尚、図１１に示すフローチャートに示す処理に対応するプログラムがクライアントＰＣ２のＲＯＭに格納されており、クライアントＰＣ２のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図１１に示す処理が実現される。
【０１１３】
ユーザが、カートリッジ設定画面１１０で、適用ボタン１１２を押下すると、ユーティリティ６８は、このカートリッジ設定処理を実行する。Ｓ５００で、ユーティリティ６８は、このカートリッジ設定処理を開始する。Ｓ５０１で、ユーティリティ６８は、カートリッジ設定ジョブをジョブ管理部６１に投入する。Ｓ５０２で、ユーティリティ６８は、自身が投入したカートリッジ設定ジョブの処理状態をジョブ管理部６１に問い合わせて取得する。Ｓ５０３で、ユーティリティ６８は、取得したジョブの処理状態に基づきカートリッジ設定ジョブが完了したか否かを判定する。完了していないと判定する場合（Ｓ５０３でＮＯ）、Ｓ５０２に戻り、ユーティリティ６８は、再度、ジョブの処理状態をジョブ管理部６１から取得する。一方、完了したと判定する場合（Ｓ５０３でＹＥＳ）、Ｓ５０４に進み、ユーティリティ６８は、処理を終了する。
【０１１４】
図１２はサーバＰＣ１のユーティリティフィルタ５７のカートリッジ設定処理を示すフローチャートである。尚、図１２に示すフローチャートに示す処理に対応するプログラムがサーバＰＣ１のＲＯＭに格納されており、サーバＰＣ１のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図１２に示す処理が実現される。
【０１１５】
ユーティリティフィルタ５７は、サーバＰＣ１のジョブ管理部５１からカートリッジ設定ジョブが送信されると、このカートリッジ設定処理を実行する。Ｓ６００で、ユーティリティフィルタ５７は、このカートリッジ設定処理を開始する。Ｓ６０１で、ユーティリティフィルタ５７は、カートリッジ設定ジョブとともに送られるカートリッジ設定の設定値をＰＰＤファイル５４に追記する。ＰＰＤファイル５４に追記されたカートリッジ設定の設定値は、印刷処理時に印刷フィルタ５６によって参照され、印刷フィルタ５６は設定値に基づき印刷データの生成モードを変更する。この処理の詳細については後述する。
【０１１６】
Ｓ６０２で、ユーティリティフィルタ５７は、ステータス格納部５５のカートリッジ設定の設定状態を更新する。ステータス格納部５５にカートリッジ設定の設定状態がなければ、ユーティリティフィルタ５７は、新たに設定状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にカートリッジ設定の設定状態があれば、ユーティリティフィルタ５７は、その設定状態を一旦削除してから新たに設定状態をステータス格納部５５に格納する。そして、Ｓ６０３に進み、ユーティリティフィルタ５７は、処理を終了する。
【０１１７】
ユーティリティフィルタ５７は、処理終了時、ステータス格納部５５に格納したカートリッジ設定の設定状態を削除せず、格納したまま終了する。よって、ユーティリティフィルタ５７の処理が終了してもカートリッジ設定の設定状態は、ステータス格納部５５に格納されたままになる。このカートリッジ設定処理で、サーバＰＣ１のＰＰＤファイル５４に追記した設定値は、特殊設定処理と同様にクライアントＰＣ２のＰＰＤファイル６４に反映されない。サーバＰＣ１のＰＰＤファイル５４に追記した設定値は、その後、サーバＰＣ１上で動作する印刷フィルタ５６やユーティリティフィルタ５７に参照され、これらフィルタの処理の制御に使用される。一方、サーバＰＣ１のステータス格納部５５に格納した設定状態は、その後、ＯＳによってクライアントＰＣ２のステータス格納部６５にコピーされる。そして、クライアントＰＣ２のユーティリティ６８は、ステータス格納部６５から設定状態を取得して、カートリッジ設定画面１１０に反映する。この処理の詳細については後述する。
【０１１８】
図１３はクライアントＰＣ２のユーティリティ６８のカートリッジ設定取得処理を示すフローチャートである。尚、図１３に示すフローチャートに示す処理に対応するプログラムがクライアントＰＣ２のＲＯＭに格納されており、クライアントＰＣ２のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図１３に示す処理が実現される。
【０１１９】
ユーティリティ６８は、カートリッジ設定画面１１０を表示する前に、このカートリッジ設定取得処理を実行し、取得した設定状態をカートリッジ設定ポップアップメニュー１１１に反映する。Ｓ７００で、ユーティリティ６８は、このカートリッジ設定取得処理を開始する。Ｓ７０１で、ユーティリティ６８は、カートリッジ設定取得ジョブをジョブ管理部６１に投入する。Ｓ７０２で、ユーティリティ６８は、ジョブ管理部６１を介してステータス格納部６５のステータスを取得する。ステータスの取得は、ユーティリティ６８がジョブ管理部６１に問い合わせ、ジョブ管理部６１がステータス格納部６５のステータスをユーティリティ６８に返すことによって行われる。
【０１２０】
Ｓ７０３で、ユーティリティ６８は、取得したステータスにカートリッジ設定の設定状態があるか否かを判定する。設定状態があると判定する場合（Ｓ７０３でＹＥＳ）、Ｓ７０４に進む。Ｓ７０４で、ユーティリティ６８は、ステータスを解析してカートリッジ設定の設定状態を取得し、Ｓ７０５に進む。一方、設定状態がないと判定する場合（Ｓ７０３でＮＯ）、そのままＳ７０５に進む。Ｓ７０５で、ユーティリティ６８は、自身が投入したカートリッジ設定取得ジョブの処理状態をジョブ管理部６１に問い合わせて取得する。
【０１２１】
Ｓ７０６で、ユーティリティ６８は、取得したジョブの処理状態に基づきカートリッジ設定取得ジョブが完了したか否かを判定する。完了していないと判定する場合（Ｓ７０６でＮＯ）、Ｓ７０２に戻り、ユーティリティ６８は、再度、ステータス格納部６５のステータスをジョブ管理部６１から取得する。一方、完了したと判定する場合（Ｓ７０６でＹＥＳ）、Ｓ７０７に進む。
【０１２２】
Ｓ７０７で、ユーティリティ６８は、自身の投入したカートリッジ設定取得ジョブの処理が完了するまでに、サーバＰＣ１のステータス格納部５５からコピーされたカートリッジ設定の最新の設定状態がＳ７０２において取得されたか否かを判定する。設定状態を取得していないと判定する場合（Ｓ７０７でＮＯ）、Ｓ７０８に進む。そして、Ｓ７０８で、ユーティリティ６８は、内部に保持するカートリッジ設定の初期設定を取得して、Ｓ７０９に進み、処理を終了する。一方、設定状態を取得したと判定する場合（Ｓ７０７でＹＥＳ）、Ｓ７０９に進む。
【０１２３】
Ｓ７０９では、Ｓ７０４またはＳ７０８で取得されたカートリッジ設定の設定状態を、カートリッジ設定画面１１０の初期画面の初期設定に反映させる。そして、そのように初期設定に設定状態が反映された特殊設定画面１０３を、クライアントＰＣ２が備える、またはクライアントＰＣ２に接続されている表示装置に表示させる。
【０１２４】
Ｓ７０９における表示制御処理が実行されると、そのままＳ７１０に進み、ユーティリティ６８は、処理を終了する。
【０１２５】
図１４はサーバＰＣ１のカートリッジ設定取得処理を示すフローチャートである。尚、図１４に示すフローチャートに示す処理に対応するプログラムがサーバＰＣ１のＲＯＭに格納されており、サーバＰＣ１のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図１４に示す処理が実現される。
【０１２６】
サーバＰＣ１は、サーバＰＣ１のジョブ管理部５１からカートリッジ設定取得ジョブが送信されると、Ｓ８００で、カートリッジ設定取得処理を開始する。次に、Ｓ８０１で、サーバＰＣ１は、クライアントＰＣ２のＯＳと連携し、サーバＰＣ１のステータス格納部５５に格納されている設定状態を、当該特殊設定取得ジョブを投入したクライアントＰＣ２のステータス格納部６５にコピーする。そして、Ｓ８０２に進み、処理を終了する。
【０１２７】
既にカートリッジ設定処理を行っていれば、図１２のＳ６０２でユーティリティフィルタ５７によってカートリッジ設定の設定状態はサーバＰＣ１のステータス格納部５５に格納されている。この設定状態でクライアントＰＣ２から送信されたカートリッジ設定取得ジョブがサーバＰＣ１のジョブ管理部５１で処理されると、図１４におけるＯＳの処理によってサーバＰＣ１のステータス格納部５５のカートリッジ設定の設定状態がクライアントＰＣ２のステータス格納部６５にコピーされる。よって、クライアントＰＣ２のユーティリティ６８は、ステータス格納部６５にコピーされるカートリッジ設定の設定状態を取得して、カートリッジ設定画面１１０に反映できる。
【０１２８】
図１５はサーバＰＣ１の印刷処理を示すフローチャートである。尚、図１５に示すフローチャートに示す処理に対応するプログラムがサーバＰＣ１のＲＯＭに格納されており、サーバＰＣ１のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図１５に示す処理が実現される。
【０１２９】
印刷フィルタ５６は、サーバＰＣ１のジョブ管理部５１から印刷ジョブが送信されると、この印刷処理を実行する。Ｓ９００で、印刷フィルタ５６は、この印刷処理を開始する。Ｓ９０１で、印刷フィルタ５６は、ＰＰＤファイル５４に追記されたカートリッジ設定やインク節約設定の設定値に基づき出力データ（印刷データ）を生成する。この処理の詳細については後述する。Ｓ９０２で、印刷フィルタ５６は、生成した出力データをプリンタ４に送信する。プリンタ４は出力データを受信すると、印刷を開始する。
【０１３０】
Ｓ９０３で、印刷フィルタ５６は、プリンタ４からステータスを取得する。Ｓ９０４で、印刷フィルタ５６は、取得したステータスを解析する。Ｓ９０５で、印刷フィルタ５６は、ステータスを解析した結果に基づきステータス格納部５５のプリンタ４の動作状態を更新する。プリンタ４でエラーが発生していなければ、印刷フィルタ５６は、ステータスの格納は行わない。プリンタ４でエラーが発生していれば、印刷フィルタ５６は、エラー状態をステータス格納部５５に格納する。また、プリンタ４のエラーが解決されれば、印刷フィルタ５６は、ステータス格納部５５に格納したエラー状態を削除する。ここで、印刷フィルタ５６が格納する各種エラー状態は対応する表示用メッセージがＰＰＤファイル５４に記述されているので、図６（ｂ）に示すように、ジョブ表示ウインドウ３００のステータス表示領域３０３に表示される。
【０１３１】
Ｓ９０６で、サーバＰＣ１のＯＳが、サーバＰＣ１のステータス格納部５５に格納したプリンタ４の動作状態を、クライアントＰＣ２のステータス格納部６５にコピーする。そしてクライアントＰＣ２のジョブ表示ウインドウ３００のステータス表示領域３０３にも表示される。
【０１３２】
Ｓ９０７で、印刷フィルタ５６は、ステータスを解析した結果に基づき印刷が完了したか否かを判定する。印刷が完了していないと判定する場合（Ｓ９０７でＮＯ）、印刷フィルタ５６は、Ｓ９０３に戻り、再度、プリンタ４からステータスを取得して解析する。一方、印刷が完了したと判定する場合（Ｓ９０７でＹＥＳ）、Ｓ９０８に進み、印刷フィルタ５６は、ステータス格納部５５のプリンタ４の動作状態を削除する。Ｓ９０５でプリンタ４のエラー状態をステータス格納部５５に格納したままになっていれば、印刷フィルタ５６は、そのエラー状態を削除する。ステータス格納部５５にプリンタ４のエラー状態が格納されていなければ、印刷フィルタ５６は、削除処理は行わない。その後、サーバＰＣ１は、Ｓ９０９に進み、処理を終了する。
【０１３３】
図１６はサーバＰＣ１の印刷フィルタ５６の出力データ生成処理を示すフローチャートである。尚、図１６に示すフローチャートに示す処理に対応するプログラムがサーバＰＣ１のＲＯＭに格納されており、サーバＰＣ１のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図１６に示す処理が実現される。
【０１３４】
この処理は、図１５のＳ９０１の処理の詳細である。Ｓ１０００で、印刷フィルタ５６は、この出力データ生成処理を開始する。Ｓ１００１で、印刷フィルタ５６は、ＰＰＤファイル５４に追記されたカートリッジ設定の設定値を検索する。ＰＰＤファイル５４の検索は、印刷フィルタ５６が各種機能名称の設定値をジョブ管理部５１に問い合わせることによって行われる。ジョブ管理部５１は、問い合わせを受けた機能名称の設定値の記述がＰＰＤファイル５４にあれば、その設定値を印刷フィルタ５６に返す。一方、ジョブ管理部５１は、設定値がＰＰＤファイル５４になければ、ないことを示す値を印刷フィルタ５６に返す。
【０１３５】
Ｓ１００２で、印刷フィルタ５６は、検索結果に基づき、カートリッジ設定の設定値がＰＰＤファイル５４にあるか否かを判定する。設定値があると判定する場合（Ｓ１００２でＹＥＳ）、Ｓ１００３に進み、印刷フィルタ５６は、カートリッジ設定の設定値をＰＰＤファイル５４から取得する。Ｓ１００４で及びＳ１００６で、印刷フィルタ５６は、カートリッジ設定の設定値を判定する。カートリッジ設定の設定値がブラックであると判定する場合（Ｓ１００４でＹＥＳ）、Ｓ１００５に進み、印刷フィルタ５６は、ブラックカートリッジのみを使用する出力データを生成する。一方、カートリッジ設定の設定値がブラックではないがカラーであると判定する場合（Ｓ１００４でＮＯ、かつＳ１００６でＹＥＳ）、Ｓ１００７で、印刷フィルタ５６は、カラーカートリッジのみを使用する出力データを生成する。更に、カートリッジ設定の設定値がブラックでなく、かつカラーでもないと判定する場合（Ｓ１００４でＮＯ、かつＳ１００６でＮＯ）、Ｓ１００８に進み、印刷フィルタ５６は、ブラックカートリッジとカラーカートリッジの両方を使用する出力データを生成する。
【０１３６】
Ｓ１００２で、カートリッジの設定値がＰＰＤファイル５４にないと判定する場合（Ｓ１００２でＮＯ）、Ｓ１００８に進み、印刷フィルタ５６は、ブラックカートリッジとカラーカートリッジの両方を使用する出力データを生成する。Ｓ１００９で、印刷フィルタ５６は、ＰＰＤファイル５４に追記されたインク節約設定の設定値を検索する。Ｓ１０１０で、印刷フィルタ５６は、検索結果に基づき、インク節約設定の設定値がＰＰＤファイル５４にあるか否かを判定する。インク節約設定の設定値がないと判定する場合（Ｓ１０１０でＮＯ）、Ｓ１０１４に進み、印刷フィルタ５６は、出力データ生成処理を終了する。一方、インク節約設定の設定値があると判定する場合（Ｓ１０１０でＹＥＳ）、Ｓ１０１１に進み、印刷フィルタ５６は、インク節約設定の設定値をＰＰＤファイル５４から取得する。
【０１３７】
Ｓ１０１２で、印刷フィルタ５６は、インク節約設定が有効であるか否かを判定する。インク節約設定が有効であると判定する場合（Ｓ１０１２でＹＥＳ）、Ｓ１０１３に進み、印刷フィルタ５６は、既に、Ｓ１００５、Ｓ１００７、Ｓ１００８の何れかで生成した出力データを、インク使用量が少なくなる出力データに変換する。そして、Ｓ１０１４に進み、印刷フィルタ５６は、出力データ生成処理を終了する。一方、インク節約設定が有効でないと判定する場合（Ｓ１０１２でＮＯ）、Ｓ１０１４に進み、印刷フィルタ５６は、出力データ生成処理を終了する。
【０１３８】
図１７はＰＰＤファイル５４の一部分を示す図であり、ユーティリティフィルタ５７の各種機能の設定状態に関する記述部分と表示用メッセージに関する記述部分を示している。
【０１３９】
文字列４００は、自動電源オン設定に関する記述である。ユーティリティフィルタ５７が自動電源オン設定の設定値をジョブ管理部５１に通知すると、ジョブ管理部５１はＰＰＤファイル５４に文字列４００のように追記する。本実施形態では、ＰＰＤファイル５４に追記する自動電源オン設定の機能名称を「ＡｕｔｏＰｏｗｅｒＯｎ」とし、設定値は無効であれば０、有効であれば１としている。
【０１４０】
文字列４０１は、自動電源オフ設定に関する記述である。ユーティリティフィルタ５７が自動電源オフ設定の設定値をジョブ管理部５１に通知すると、ジョブ管理部５１はＰＰＤファイル５４に文字列４０１のように追記する。本実施形態では、ＰＰＤファイル５４に追記する自動電源オフ設定の機能名称を「ＡｕｔｏＰｏｗｅｒＯｆｆ」とし、設定値は無効であれば０、有効であれば１としている。
【０１４１】
文字列４０２は、インク節約設定に関する記述である。ユーティリティフィルタ５７がインク節約設定の設定値をジョブ管理部５１に通知すると、ジョブ管理部５１はＰＰＤファイル５４に文字列４０２のように追記する。本実施形態では、ＰＰＤファイル５４に追記するインク節約設定の機能名称を「ＩｎｋＳａｖｅＭｏｄｅ」とし、設定値は無効であれば０、有効であれば１としている。
【０１４２】
文字列４０３は、カートリッジ設定に関する記述である。ユーティリティフィルタ５７がカートリッジ設定の設定値をジョブ管理部５１に通知すると、ジョブ管理部５１はＰＰＤファイル５４に文字列４０３のように追記する。本実施形態では、ＰＰＤファイル５４に追記するカートリッジ設定の機能名称を「ＣａｒｔｒｉｄｇｅＳｅｔｔｉｎｇ」とし、設定値は「ブラックのみ」であれば１、「カラーのみ」であれば２、「両方」であれば３としている。ユーティリティフィルタ５７が各種機能名称と設定値をジョブ管理部５１に通知すると、ジョブ管理部５１はＰＰＤファイル５４に図のように追記する。
【０１４３】
一方、印刷フィルタ５６が各種機能名称を用いてジョブ管理部５１に設定値を問い合わせると、ジョブ管理部５１は問い合わせを受けた機能名称の記述があれば、その設定値を印刷フィルタ５６に返す。一方、ジョブ管理部５１は、機能名称の記述がなければ、ないことを示す値を印刷フィルタ５６に返す。
【０１４４】
文字列４０４〜４０７は、各種エラー状態に対応する表示用メッセージに関する記述である。表示用メッセージに関する記述はプリンタ４で使用可能な用紙サイズや用紙種類、またそれらの初期値とともにＰＰＤファイル５４が初期の状態で記述されている。文字列先頭の「ｃｕｐｓＩＰＰＲｅａｓｏｎ」はこの行が表示用メッセージに関する記述であることを示している。本実施形態では、用紙なしエラー状態、インクなしエラー状態、通信エラー状態、その他のエラー状態に対応する表示用メッセージをＰＰＤファイル５４に記述している。
【０１４５】
文字列４０４は、紙なしエラー状態の表示用メッセージに関する記述である。「ｃｏｍ．ｃｉｊ．ｐａｐｅｒ−ｏｕｔ−ｅｒｒｏｒ」は、ユーティリティフィルタ５７または印刷フィルタ５６がステータス格納部５５に格納する紙なしエラー状態を示すステータスであり、「用紙がなくなりました。」は紙なしエラー状態に対応する表示用メッセージである。
【０１４６】
文字列４０５は、インクなしエラー状態の表示用メッセージに関する記述である。「ｃｏｍ．ｃｉｊ．ｉｎｋ−ｏｕｔ−ｅｒｒｏｒ」は、ユーティリティフィルタ５７または印刷フィルタ５６がステータス格納部５５に格納するインクなしエラー状態を示すステータスであり、「インクがなくなりました。」はインクなしエラー状態に対応する表示用メッセージである。
【０１４７】
文字列４０６は、通信エラー状態の表示用メッセージに関する記述である。「ｃｏｍ．ｃｉｊ．ｏｆｆ−ｌｉｎｅ−ｅｒｒｏｒ」は、ユーティリティフィルタ５７または印刷フィルタ５６がステータス格納部５５に格納する通信エラー状態を示すステータスであり、「プリンタと通信できません。」は通信エラー状態に対応する表示用メッセージである。
【０１４８】
文字列４０７は、その他のエラー状態の表示用メッセージに関する記述である。「ｃｏｍ．ｃｉｊ．ｏｔｈｅｒ−ｅｒｒｏｒ」は、ユーティリティフィルタ５７または印刷フィルタ５６がステータス格納部５５に格納するその他のエラー状態を示すステータスであり、「エラーが発生しました。」はその他のエラー状態に対応する表示用メッセージである。
【０１４９】
ユーティリティフィルタ５７や印刷フィルタ５６は、プリンタ４から取得したステータスに基づきこれらのエラー状態を示すステータスをステータス格納部５５に格納する。一方、ジョブ表示部５３は、これらのエラー状態を示すステータスを用いてジョブ管理部５１に対応する表示用メッセージを問い合わせる。ジョブ管理部５１は、問い合わせを受けたエラー状態の表示用メッセージの記述がＰＰＤファイル５４にあれば、それをジョブ表示部５３に返す。一方、エラー状態の表示用メッセージの記述がＰＰＤファイル５４になければ、ないことを示す値をジョブ表示部５３に返す。
【０１５０】
以上説明したように、実施形態１によれば、クライアントＰＣ２で動作するユーティリティ６８は、サーバＰＣ１に接続されたプリンタ４やサーバＰＣ１の印刷処理の設定状態をサーバＰＣ１から取得できる。図９、図１０のように、本実施形態では、その取得において、クライアントＰＣ２が特殊設定取得ジョブをサーバＰＣ１に送信し、サーバＰＣ１はプリンタ４或いはプリンタドライバの設定状態をステータス格納部５５に格納することで、クライアントＰＣ２に設定状態を取得させることができる。
【０１５１】
また、上記のようなクライアントＰＣ２によるジョブの送信、サーバＰＣ１による設定状態のステータス格納部５５への格納は、図１５において説明したように、印刷ジョブの送信による、プリンタ４の動作状態の通知にも用いられる。
【０１５２】
よって、実施形態１によれば、印刷時におけるプリンタの動作状態の通知と共通の構成により、サーバＰＣ１のプリンタドライバ或いはプリンタ４の設定状態を、クライアントＰＣ２に通知することができる。そのため、クライアントＰＣ２とサーバＰＣ１において、プリンタ４の動作状態の通知とは異なる、設定状態の通信のための構成がなくても、当該設定状態を適切に通信することができる。
【０１５３】
よって、ネットワークに複数台のクライアントＰＣ２が接続され、他のクライアントＰＣで動作するユーティリティ６８からこれらの設定が変更されても、ユーティリティ６８は、最後に設定された有効な設定状態をサーバＰＣ１から取得して各種設定画面に反映することができる。
【０１５４】
このように、実施形態１では、サーバ装置の印刷環境の設定状態を、適切なタイミングで、サーバ装置とクライアント装置との間で同期させる。換言すれば、サーバ装置とクライアント装置との間で、印刷環境の設定状態を共有する。
【０１５５】
このような構成により、ユーザは、クライアントＰＣ２において、サーバＰＣ１の印刷環境として、インク切れや用紙切れ等のエラーの有無や、エラーが発生し得る状況を事前に確認することができるので、その状況に適した最適な印刷を実行することができる。
【０１５６】
尚、サーバＰＣ１のＯＳ、クライアントＰＣ２のＯＳによるステータスのコピー処理は、上述した図１０のＳ４０７、図１４のＳ８０１、図１５のＳ９０６のタイミングで行う場合に限らない。例えば、サーバＰＣ１のＯＳがステータス格納部５５に格納された情報をクライアントＰＣ２に定期的に送信してもよい。或いは、サーバＰＣ１のＯＳがステータス格納部５５を監視し、更新があった場合に、クライアントＰＣ２に更新後の内容を通知してもよい。
【０１５７】
また、クライアントＰＣ２による設定取得ジョブの発行は、ユーティリティ６８の起動時に限らず、例えば、ユーティリティ６８の画面に対するユーザの指示があった場合に、設定取得ジョブが発行されてもよい。
【０１５８】
＜実施形態２＞
実施形態１では、サーバＰＣ１のユーティリティフィルタ５７は、ジョブ管理部５１から特殊設定ジョブが送信されるとインク節約設定の設定状態をステータス格納部５５に格納する。また、実施形態１では、サーバＰＣ１のユーティリティフィルタ５７は、ジョブ管理部５１からカートリッジ設定ジョブが送信されるとカートリッジ設定の設定状態をステータス格納部５５に格納する。
【０１５９】
これに対して、実施形態２では、サーバＰＣ１のユーティリティフィルタ５７が、ジョブ管理部５１から特殊設定取得ジョブが送信されたときもインク節約設定の設定状態をステータス格納部５５に格納する構成について説明する。また、実施形態２では、サーバＰＣ１のユーティリティフィルタ５７が、ジョブ管理部５１からカートリッジ設定取得ジョブが送信されたときもカートリッジ設定の設定状態をステータス格納部５５に格納する構成について説明する。
【０１６０】
尚、実施形態２において、印刷システムの全体構成、ユーティリティの操作ウインドウ、処理中のダイアログ、ジョブ表示部のウインドウ、ＰＰＤファイルのユーティリティ設定記述部分については、実施形態１と同様であるので省略する。また、実施形態２において、ユーティリティの特殊設定処理、特殊設定取得処理、カートリッジ設定処理、カートリッジ設定取得処理、ユーティリティフィルタの特殊設定処理、カートリッジ設定処理、印刷フィルタの印刷処理、出力データ生成処理のフローについても実施形態１と同様であるので省略する。
【０１６１】
図１８はサーバＰＣ１の特殊設定取得処理を示すフローチャートである。尚、図１８に示すフローチャートに示す処理に対応するプログラムがサーバＰＣ１のＲＯＭに格納されており、サーバＰＣ１のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図１８に示す処理が実現される。
【０１６２】
ユーティリティフィルタ５７は、サーバＰＣ１のジョブ管理部５１から特殊設定取得ジョブが送信されると、この特殊設定取得処理を実行する。Ｓ２０００で、ユーティリティフィルタ５７は、この特殊設定取得処理を開始する。Ｓ２００１で、ユーティリティフィルタ５７は、プリンタ４のステータスを取得できるか否かを判定する。ステータスを取得できないと判定する場合（Ｓ２００１でＮＯ）、Ｓ２００２に進み、ユーティリティフィルタ５７は、ＰＰＤファイル５４の自動電源オン設定及び自動電源オフ設定を含む自動電源の設定値を検索する。ＰＰＤファイル５４の検索は、ユーティリティフィルタ５７が各種機能名称の設定値をジョブ管理部５１に問い合わせることによって行われる。ジョブ管理部５１は、問い合わせを受けた機能名称の設定値の記述がＰＰＤファイル５４にあれば、その設定値をユーティリティフィルタ５７に返す。一方、ジョブ管理部５１は、その設定値の記述がＰＰＤファイル５４になければ、ないことを示す値をユーティリティフィルタ５７に返す。
【０１６３】
Ｓ２００３で、ユーティリティフィルタ５７は、検索結果に基づき、自動電源オン設定及び自動電源オフ設定を含む自動電源の設定値がＰＰＤファイル５４にあるか否かを判定する。設定値がないと判定する場合（Ｓ２００３でＹＥＳ）、Ｓ２００７に進む。このとき、ステータス格納部５５の自動電源オン設定及び自動電源オフ設定の設定状態は更新されない。
【０１６４】
一方、設定値があると判定する場合（Ｓ２００３でＮＯ）、Ｓ２００４に進む。Ｓ２００４で、ユーティリティフィルタ５７は、自動電源オン設定及び自動電源オフ設定を含む自動電源の設定値をＰＰＤファイル５４から取得して、Ｓ２００６進む。Ｓ２００６で、ユーティリティフィルタ５７は、ＰＰＤファイル５４から取得した設定値に基づき、ステータス格納部５５の自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態を更新する。ステータス格納部５５にこれらの設定状態がなければ、ユーティリティフィルタ５７は、新たにこれらの設定状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にこれらの設定状態があれば、ユーティリティフィルタ５７は、これらの設定状態を一旦削除してから新たにこれらの設定状態をステータス格納部５５に格納する。そして、Ｓ２００７に進む。
【０１６５】
一方、ステータスを取得できると判定する場合（Ｓ２００１でＹＥＳ）、Ｓ２００５に進む。Ｓ２００５で、ユーティリティフィルタ５７は、プリンタ４から自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態を取得して、Ｓ２００６に進む。Ｓ２００６で、ユーティリティフィルタ５７は、プリンタ４から取得した設定状態に基づき、ステータス格納部５５の自動電源オン設定及び自動電源オフ設定を含む自動電源の設定状態を更新する。ステータス格納部５５にこれらの設定状態がなければ、ユーティリティフィルタ５７は、新たにこれらの設定状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にこれらの設定状態があれば、ユーティリティフィルタ５７は、これらの設定状態を一旦削除してから新たにこれらの設定状態をステータス格納部５５に格納する。そして、Ｓ２００７に進む。
【０１６６】
Ｓ２００７で、ユーティリティフィルタ５７は、ＰＰＤファイル５４のインク節約設定の設定値を検索する。Ｓ２００８で、ユーティリティ６８は、検索結果に基づき、インク節約設定の設定値がＰＰＤファイル５４にあるか否かを判定する。設定値がないと判定する場合（Ｓ２００８でＮＯ）、Ｓ２０１１に進み、ユーティリティフィルタ５７は、処理を終了する。このとき、ステータス格納部５５のインク節約設定の設定状態は更新されない。
【０１６７】
一方、設定値があると判定する場合（Ｓ２００８でＹＥＳ）、ユーティリティフィルタ５７は、Ｓ２００９に進む。Ｓ２００９で、ユーティリティフィルタ５７は、インク節約設定の設定値をＰＰＤファイル５４から取得する。Ｓ２０１０で、ユーティリティフィルタ５７は、ＰＰＤファイル５４から取得した設定値に基づき、ステータス格納部５５のインク節約設定の設定状態を更新する。ステータス格納部５５にインク節約設定の設定状態がなければ、ユーティリティフィルタ５７は、新たに設定状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にインク節約設定の設定状態があれば、ユーティリティフィルタ５７は、その設定状態を一旦削除してから新たに設定状態をステータス格納部５５に格納する。
【０１６８】
そして、Ｓ２０１１で、サーバＰＣ１のＯＳは、クライアントＰＣ２のＯＳと連携し、サーバＰＣ１のステータス格納部５５に格納されている設定状態を、当該特殊設定取得ジョブを投入したクライアントＰＣ２のステータス格納部６５にコピーする。コピーされる設定状態には、自動電源の最新の設定状態と、インク節約の最新の設定状態が含まれる。
【０１６９】
Ｓ２０１１の処理が実行されると、サーバＰＣ１は、Ｓ２０１２に進み、ユーティリティフィルタ５７は、処理を終了する。
【０１７０】
実施形態２では、ＰＰＤファイル５４にインク節約設定の設定値があれば、ユーティリティフィルタ５７は、特殊設定処理だけでなく、この特殊設定取得処理でもステータス格納部５５のインク節約設定の設定状態を更新する。よって、クライアントＰＣ２のユーティリティ６８が特殊設定画面１０３を表示するときに特殊設定取得ジョブを投入すると、この特殊設定取得処理においてステータス格納部５５のインク節約設定の設定状態が更新される。
【０１７１】
図１９はサーバＰＣ１のユーティリティフィルタ５７のカートリッジ設定取得処理を示すフローチャートである。尚、図１９に示すフローチャートに示す処理に対応するプログラムがサーバＰＣ１のＲＯＭに格納されており、サーバＰＣ１のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図１８に示す処理が実現される。
【０１７２】
ユーティリティフィルタ５７は、サーバＰＣ１のジョブ管理部５１からカートリッジ設定取得ジョブが送信されると、このカートリッジ設定取得処理を実行する。Ｓ２１００で、ユーティリティフィルタ５７は、カートリッジ設定取得処理を開始する。Ｓ２１０１で、ユーティリティフィルタ５７は、ＰＰＤファイル５４のカートリッジ設定の設定値を検索する。Ｓ２１０２で、ユーティリティ６８は、検索結果に基づき、カートリッジ設定の設定値がＰＰＤファイル５４にあるか否かを判定する。
【０１７３】
設定値がないと判定する場合（Ｓ２１０２でＮＯ）、Ｓ２１０５に進み、ユーティリティフィルタ５７は、処理を終了する。このとき、ステータス格納部５５のカートリッジ設定の設定状態は更新されない。一方、設定値があると判定する場合（Ｓ２１０２でＹＥＳ）、ユーティリティフィルタ５７は、Ｓ２１０３に進む。Ｓ２１０３で、ユーティリティフィルタ５７は、カートリッジ設定の設定値をＰＰＤファイル５４から取得する。Ｓ２１０４で、ユーティリティフィルタ５７は、ＰＰＤファイル５４から取得した設定値に基づき、ステータス格納部５５のカートリッジ設定の設定状態を更新する。ステータス格納部５５にカートリッジ設定の設定状態がなければ、ユーティリティフィルタ５７は、新たに設定状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にカートリッジ設定の設定状態があれば、ユーティリティフィルタ５７は、その設定状態を一旦削除してから新たに設定状態をステータス格納部５５に格納する。
【０１７４】
そして、Ｓ２１０５で、サーバＰＣ１のＯＳは、クライアントＰＣ２のＯＳと連携し、サーバＰＣ１のステータス格納部５５に格納されている設定状態を、当該特殊設定取得ジョブを投入したクライアントＰＣ２のステータス格納部６５にコピーする。
【０１７５】
Ｓ２１０５の処理が実行されると、サーバＰＣ１は、Ｓ２１０６において処理を終了する。
【０１７６】
実施形態２では、ＰＰＤファイル５４にカートリッジ設定の設定値があれば、ユーティリティフィルタ５７は、カートリッジ設定処理だけでなく、このカートリッジ設定取得処理でもステータス格納部５５のカートリッジ設定の設定状態を更新する。よって、クライアントＰＣ２のユーティリティ６８がカートリッジ設定画面１１０を表示するときにカートリッジ設定取得ジョブを投入すると、このカートリッジ設定取得処理においてステータス格納部５５のカートリッジ設定の設定状態が更新される。
【０１７７】
以上説明したように、実施形態２によれば、クライアントＰＣ２で動作するユーティリティ６８がサーバＰＣ１に接続されたプリンタ４やサーバＰＣ１の印刷環境を設定するときだけでなく、これらの設定状態を取得するときにもステータス格納部５５のこれらの設定状態が更新される。よって、設定した後に、これらの設定状態がジョブ管理部５１によって削除されることがあっても、ユーティリティ６８は、各種設定画面を表示するときに設定状態を取得して設定画面に反映することができる。
＜実施形態３＞
実施形態１及び２では、クライアントＰＣ２のユーティリティ６８は、各種設定取得ジョブを投入することにより、サーバＰＣ１に接続されたプリンタ４やサーバＰＣ１の印刷処理の設定状態を取得して画面に表示している。
【０１７８】
これに対して、実施形態３では、クライアントＰＣ２の印刷設定制御部６７が、実施形態１、実施形態２と同様にジョブを投入することにより、サーバＰＣ１に接続されたプリンタ４に印刷を要求するときに指定可能な設定を取得して、印刷設定ダイアログに表示する構成について説明する。
【０１７９】
尚、実施形態３において、印刷システムの全体構成、ジョブ表示部のウインドウについては、実施形態１と同様であるので省略する。
【０１８０】
図２０は、クライアントＰＣ２の印刷設定制御部６７の印刷設定ダイアログ５００を示す図である。
【０１８１】
ユーザがクライアントＰＣ２上の印刷アプリケーション６６で作成したデータを印刷しようとすると、印刷設定制御部６７は、印刷設定ダイアログ５００を表示して、ユーザに各種印刷設定を促す。ユーザは、プリントボタン５０１により印刷ジョブをジョブ管理部６１に投入することができる。また、キャンセルボタン５０２により印刷をキャンセルして印刷設定ダイアログ５００を閉じることができる。
【０１８２】
また、ユーザは、用紙サイズ設定ポップアップメニュー５０３により、印刷時に使用する用紙のサイズを設定できる。用紙サイズ設定ポップアップメニュー５０３の項目には、Ａ４、Ａ５、Ｂ５、Ｌ版、はがきがあり、これらの何れかを設定できる。印刷設定ダイアログ５００を開いたときの初期状態ではＡ４が設定されている。
【０１８３】
また、ユーザは、用紙の種類設定ポップアップメニュー５０４により、印刷時に使用する用紙の種類を設定できる。用紙の種類設定ポップアップメニュー５０４の項目には、普通紙、写真用紙、はがきがあり、これらの何れかを設定できる。印刷設定ダイアログ５００を開いたときの初期状態では普通紙が設定されている。
【０１８４】
また、ユーザは、給紙方法設定ポップアップメニュー５０５により、印刷時に使用する給紙用のカセットを設定できる。本実施形態では、例えば、２段のカセットを装着可能なプリンタ４を想定している。初期状態ではプリンタ４に１段のカセットが装着されており、更にもう１段のカセットを追加して装着可能である。プリンタ４に追加のカセットが装着されていなければ、給紙方法設定ポップアップメニュー５０５の項目はカセット１のみになる。プリンタ４に追加のカセットが装着されていれば、給紙方法設定ポップアップメニューの項目にはカセット１、カセット２があり、これらの何れかを設定できる。プリンタ４に追加のカセットが装着されているか否かに関わらず、印刷設定ダイアログ５００を開いたときの初期状態ではカセット１が設定されている。
【０１８５】
印刷設定制御部６７は、印刷設定ダイアログ５００を表示するとき、給紙方法設定ポップアップメニュー５０５の項目にプリンタ４で現在指定可能な給紙用のカセットを表示することにより、ユーザに現在のカセット装着状態を示す。このとき、印刷設定制御部６７は、カセット装着状態取得ジョブをジョブ管理部６１に投入する。カセット装着状態取得ジョブは、ユーティリティ６８が投入する設定ジョブや設定取得ジョブと同様に処理され、サーバＰＣ１のジョブ管理部５１に送信される。
【０１８６】
サーバＰＣ１のジョブ管理部５１は、カセット装着状態取得ジョブを印刷キュー６２から取り出すとユーティリティフィルタ５７に送信し、その後、ユーティリティフィルタ５７が処理する。この処理の詳細については後述する。
【０１８７】
印刷設定制御部６７は、ジョブ投入後、カセット装着状態の取得が完了すると、取得した装着状態を印刷設定ダイアログ５００上の給紙方法設定ポップアップメニュー５０５の項目に反映する。カセット装着状態を取得できなければ、初期状態としてカセット１のみを給紙方法設定ポップアップメニュー５０５の項目に表示する。
【０１８８】
図２１は印刷設定制御部６７が印刷設定ダイアログ５００の表示に伴い、カセット装着状態取得ジョブを投入したときのジョブ表示ウインドウ３００である。ジョブ表示領域３０４には、カセット装着状態取得ジョブが処理中の状態で表示され、このとき、印刷設定制御部６７が投入したジョブの名称「カセット装着状態の取得」が表示される。
【０１８９】
図２２はクライアントＰＣ２の印刷設定制御部６７のカセット装着状態取得処理を示すフローチャートである。尚、図２２に示すフローチャートに示す処理に対応するプログラムがクライアントＰＣ２のＲＯＭに格納されており、クライアントＰＣ２のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図２２に示す処理が実現される。
【０１９０】
印刷設定制御部６７は、印刷設定ダイアログ５００を表示する前に、このカセット装着状態取得処理を実行し、取得したカセット装着状態を給紙方法設定ポップアップメニュー５０５に反映する。Ｓ３０００で、印刷設定制御部６７は、このカセット装着状態取得処理を開始する。Ｓ３００１で、印刷設定制御部６７は、カセット装着状態取得ジョブをジョブ管理部６１に投入する。Ｓ３００２で、印刷設定制御部６７は、ジョブ管理部６１を介してステータス格納部６５のステータスを取得する。ステータスの取得は、印刷設定制御部６７がジョブ管理部６１に問い合わせ、ジョブ管理部６１がステータス格納部６５のステータスを印刷設定制御部６７に返すことによって行われる。
【０１９１】
Ｓ３００３で、印刷設定制御部６７は、取得したステータスにカセット装着状態があるか否かを判定する。カセット装着状態があると判定する場合（Ｓ３００３でＹＥＳ）、Ｓ３００４に進み、印刷設定制御部６７は、ステータスを解析してカセット装着状態を取得し、Ｓ３００５に進む。一方、カセット装着状態がないと判定する場合（Ｓ３００３でＮＯ）、そのままＳ３００５に進む。Ｓ３００５で、印刷設定制御部６７は、自身が投入したジョブの処理状態をジョブ管理部６１に問い合わせて取得する。Ｓ３００６で、印刷設定制御部６７は、取得したジョブの処理状態に基づきカセット装着状態取得ジョブが完了したか否かを判定する。完了していないと判定する場合（Ｓ３００６でＮＯ）、Ｓ３００２に戻り、印刷設定制御部６７は、再度、ステータス格納部６５のステータスをジョブ管理部６１から取得する。一方、完了したと判定する場合（Ｓ３００６でＹＥＳ）、Ｓ３００７に進む。
【０１９２】
Ｓ３００７で、印刷設定制御部６７は、自身の投入したカセット装着状態取得ジョブの処理が完了するまでに、ＯＳによってコピーされた、サーバＰＣ１における最新のカセット装着状態を取得したか否かを判定する。カセット装着状態を取得していないと判定する場合（Ｓ３００７でＮＯ）、Ｓ３００８に進む。Ｓ３００８で、印刷設定制御部６７は、内部に保持するカセット装着の初期状態を取得して、Ｓ３００９に進み、処理を終了する。一方、カセット装着状態を取得したと判定する場合（Ｓ３００７でＮＯ）、Ｓ３００９に進む。
【０１９３】
Ｓ３００９では、Ｓ３００４またはＳ３００８で取得されたカセット装着状態を、印刷設定ダイアログ５００における「給紙方法」に反映させる。そして、その印刷設定ダイアログを、クライアントＰＣ２が備える、またはクライアントＰＣ２に接続されている表示装置に表示させる。
【０１９４】
Ｓ３００９の表示制御処理が実行されると、Ｓ３０１０において処理を終了する。
【０１９５】
図２３はサーバＰＣ１のカセット装着状態取得処理を示すフローチャートである。尚、図２３に示すフローチャートに示す処理に対応するプログラムがサーバＰＣ１のＲＯＭに格納されており、サーバＰＣ１のＣＰＵがＲＡＭ上でこのプログラムを実行することで、図２３に示す処理が実現される。
【０１９６】
サーバＰＣ１のユーティリティフィルタ５７は、サーバＰＣ１のジョブ管理部５１からカセット装着状態取得ジョブが送信されると、このカセット装着状態取得処理を実行する。Ｓ３１００で、ユーティリティフィルタ５７は、このカセット装着状態取得処理を開始する。Ｓ３１０１で、ユーティリティフィルタ５７は、プリンタ４のステータスを取得できるか否かを判定する。ステータスを取得できないと判定する場合（Ｓ３１０１でＮＯ）、Ｓ３１０２に進み、ユーティリティフィルタ５７は、ＰＰＤファイル５４の各カセット装着状態を検索する。ＰＰＤファイル５４の検索は、ユーティリティフィルタ５７が各カセット名称の装着状態をジョブ管理部５１に問い合わせることによって行われる。ジョブ管理部５１は問い合わせを受けたカセット名称の装着状態の記述がＰＰＤファイル５４にあれば、その装着状態をユーティリティフィルタ５７に返す。一方、ジョブ管理部５１は、装着状態の記述がＰＰＤファイル５４になければ、ないことを示す値をユーティリティフィルタ５７に返す。
【０１９７】
Ｓ３１０３で、ユーティリティフィルタ５７は、検索結果に基づき、カセット装着状態がＰＰＤファイル５４にあるか否かを判定する。カセット装着状態がないと判定する場合（Ｓ３１０３でＮＯ）、Ｓ３１０８に進み、ユーティリティフィルタ５７は、処理を終了する。このとき、ステータス格納部５５のカセット装着状態は更新されない。
【０１９８】
一方、カセット装着状態があると判定する場合（Ｓ３１３０でＹＥＳ）、Ｓ３１０４に進む。Ｓ３１０４で、ユーティリティフィルタ５７は、カセット装着状態をＰＰＤファイル５４から取得する。そして、Ｓ３１０７に進み、ユーティリティフィルタ５７は、ＰＰＤファイル５４から取得した装着状態に基づき、ステータス格納部５５のカセット装着状態を更新する。ステータス格納部５５にカセット装着状態がなければ、ユーティリティフィルタ５７は、新たに装着状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にカセット装着状態があれば、ユーティリティフィルタ５７は、そのカセット装着状態を一旦削除してから新たに装着状態をステータス格納部５５に格納する。
【０１９９】
一方、ステータスを取得できると判定する場合（Ｓ３１０１でＹＥＳ）、Ｓ３１０５に進む。Ｓ３１０５で、ユーティリティフィルタ５７は、プリンタ４からカセット装着状態を取得して、Ｓ３１０６に進む。Ｓ３１０６で、ユーティリティフィルタ５７は、プリンタ４から取得したカセット装着状態に基づき、ＰＰＤファイル５４に各カセット装着状態を追記する。ＰＰＤファイルに追記されたカセット装着状態は、その後、ユーティリティフィルタ５７が、再度、カセット装着状態をＰＰＤファイル５４から取得するときにプリンタ４からステータスを取得できなければ参照され、カセット装着状態として使用される。
【０２００】
Ｓ３１０７で、ユーティリティフィルタ５７は、プリンタ４から取得した装着状態に基づき、ステータス格納部５５のカセット装着状態を更新する。ステータス格納部５５にカセット装着状態がなければ、ユーティリティフィルタ５７は、新たに装着状態をステータス格納部５５に格納する。一方、ステータス格納部５５に既にカセット装着状態があれば、ユーティリティフィルタ５７は、そのカセット装着状態を一旦削除してから新たに装着状態をステータス格納部５５に格納する。
【０２０１】
そして、Ｓ３１０８で、サーバＰＣ１のＯＳは、クライアントＰＣ２のＯＳと連携し、サーバＰＣ１のステータス格納部５５に格納されている設定状態を、当該特殊設定取得ジョブを投入したクライアントＰＣ２のステータス格納部６５にコピーする。
【０２０２】
Ｓ３１０８の処理が実行されるとサーバＰＣ１は、Ｓ３１０９において処理を終了する。
【０２０３】
図２４はＰＰＤファイル５４のカセット装着状態に関する記述部分を示す図である。
【０２０４】
文字列６００は、カセット装着状態に関する記述である。ユーティリティフィルタ５７がカセット装着状態をジョブ管理部５１に通知すると、ジョブ管理部５１はＰＰＤファイル５４に文字列６００のように追記する。本実施形態では、ＰＰＤファイル５４に追記する各カセット名称を「ＰａｐｅｒＦｅｅｄｅｒ１」、「ＰａｐｅｒＦｅｅｄｅｒ２」とし、装着状態であれば「Ｙｅｓ」、未装着状態であれば「Ｎｏ」としている。ユーティリティフィルタ５７が、各カセット名称と装着状態をジョブ管理部５１に通知すると、ジョブ管理部５１はＰＰＤファイル５４に図のように追記する。一方、ユーティリティフィルタ５７が各カセット名称を用いてジョブ管理部５１に装着状態を問い合わせると、ジョブ管理部５１は問い合わせを受けたカセット名称の記述があれば、その装着状態をユーティリティフィルタ５７に返す。一方、ジョブ管理部５１は、カセット名称の記述がなければ、ないことを示す値をユーティリティフィルタ５７に返す。
【０２０５】
以上説明したように、実施形態３によれば、クライアントＰＣ２で動作する印刷設定制御部６７は、サーバＰＣ１に接続されているプリンタ４のカセット装着状態をサーバＰＣ１から取得して印刷設定ダイアログ５００に反映することができる。
【０２０６】
尚、以上の実施形態では、設定状態や動作状態が取得される所定の装置として、印刷装置を例に説明したが、これに限らない。例えば、原稿を読み取るスキャナや、テレビ等の表示装置等、各種の装置に本実施形態の処理を適用することができる。
【０２０７】
尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【０２０８】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
2015125511.tif 000002
【図２】
2015125511.tif 000003
【図３】
2015125511.tif 000004
【図４】
2015125511.tif 000005
【図５】
2015125511.tif 000006
【図６】
2015125511.tif 000007
【図７】
2015125511.tif 000008
【図８】
2015125511.tif 000009
【図９】
2015125511.tif 000010
【図１０】
2015125511.tif 000011
【図１１】
2015125511.tif 000012
【図１２】
2015125511.tif 000013
【図１３】
2015125511.tif 000014
【図１４】
2015125511.tif 000015
【図１５】
2015125511.tif 000016
【図１６】
2015125511.tif 000017
【図１７】
2015125511.tif 000018
【図１８】
2015125511.tif 000019
【図１９】
2015125511.tif 000020
【図２０】
2015125511.tif 000021
【図２１】
2015125511.tif 000022
【図２２】
2015125511.tif 000023
【図２３】
2015125511.tif 000024
【図２４】
2015125511.tif 000025