(57)【要約】【課題】  複数のプリンタの印刷機能に関する印刷設定を各プリンタ毎に或いは複数のプリンタをメンバとするグループとしてユーザに設定させるためのユーザインタフェース画面において、有効にならない印刷設定をユーザに選択不可能とし、ユーザがより容易に印刷設定を行う。【解決手段】  複数のプリンタの印刷機能に関する印刷設定を各プリンタ毎に或いは複数のプリンタをメンバとするグループとしてユーザに設定させるためのユーザインタフェース画面を表示し、印刷システムの環境に応じて、有効でない印刷設定をユーザが設定できないようにユーザインタフェース画面を制御する。【選択図】      図２１
2005174121.tif 000002
【特許請求の範囲】
【請求項１】
複数のプリンタとプリントサーバ装置とコンピュータとから構成される印刷システムにおける印刷設定方法であって、
複数のプリンタの印刷機能に関する印刷設定を各プリンタ毎に或いは複数のプリンタをメンバとするグループとしてユーザに設定させるためのユーザインタフェース画面を制御する画面制御工程を有し、
前記画面制御工程では、印刷システムの環境に応じて、有効でない印刷設定をユーザが設定できないようにユーザインタフェース画面を制御することを特徴とする印刷設定方法。
【請求項２】
前記画面制御工程では、前記ユーザインタフェース画面を制御して前記有効でない印刷設定をユーザが設定できないようにグレーアウト表示又は非表示とすることを特徴とする請求項１に記載の印刷設定方法。
【請求項３】
前記複数のプリンタに対応するプリンタドライバの能力を問い合わせる能力問合せ工程と、
前記プリントサーバ装置の環境を収集する環境情報収集工程とを更に有し、
前記画面制御工程では、前記能力問合せ工程による前記プリンタドライバの各能力と、前記環境情報収集工程による前記プリントサーバ装置の環境とに応じて、設定可能な印刷設定の項目を決定し、前記ユーザインタフェース画面の表示を制御することを特徴とする請求項１に記載の印刷設定方法。
【請求項４】
前記プリントサーバ装置の環境は、少なくともオペレーティングシステムのバージョン情報、或いはプリンタドライバのバージョン情報であることを特徴とする請求項３に記載の印刷設定方法。
【請求項５】
前記環境情報収集工程は、プリントサーバ装置上でプリントサーバ装置の環境を収集するサーバ環境情報収集工程と、ネットワーク又はメモリを通じてクライアント装置上でプリントサーバ装置の環境を受け取るプリント環境情報受信工程とを含むことを特徴とする請求項３に記載の印刷設定方法。
【請求項６】
印刷データを生成するサーバ装置と通信名可能なコンピュータと、プリンタと通信可能なサーバ装置とからなる印刷システムにおける印刷設定方法であって、
前記サーバ装置とコンピュータとにおける環境の互換性に応じた機能項目を反映させた表示を印刷設定画面に行わせる画面制御工程を有することを特徴とする印刷設定方法。
【請求項７】
複数のプリンタとプリントサーバ装置とコンピュータとから構成される印刷システムにおけるコンピュータであって、
複数のプリンタの印刷機能に関する印刷設定を各プリンタ毎に或いは複数のプリンタをメンバとするグループとしてユーザに設定させるためのユーザインタフェース画面を制御する画面制御手段を有し、
前記画面制御手段は、印刷システムの環境に応じて、有効でない印刷設定をユーザが設定できないようにユーザインタフェース画面を制御することを特徴とするコンピュータ。
【請求項８】
印刷データを生成するサーバ装置と通信名可能なコンピュータと、プリンタと通信可能なサーバ装置とからなる印刷システムにおけるコンピュータであって、
前記サーバ装置とコンピュータとにおける環境の互換性に応じた機能項目を反映させた表示を印刷設定画面に行わせる画面制御手段を有することを特徴とするコンピュータ。
【請求項９】
コンピュータに請求項１乃至６の何れかに記載の印刷設定方法を実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプリンタとプリントサーバ装置とコンピュータとから構成される印刷システムにおける印刷設定技術に関する。
【背景技術】
【０００２】
従来、ウィンドウズ(登録商標）プリンティングシステムなどにおいて、ネットワーク上に通信可能に接続される情報処理装置に設定されたプリンタを共有設定することが知られており、共有設定を施すように自装置からネットワークを介して指示を行うと、プリンタドライバやポート情報などを自動的に自装置にインストールさせるような技術が知られている。
【０００３】
一方、近年、ネットワーク機器が一般に利用され、ネットワーク上に多数のパーソナルコンピュータ（以下、ＰＣ）やプリンタも接続できるように構成されている。このようなネットワーク環境において、印刷を行う際に、ページ数の多いドキュメント或いは部数の多いドキュメントについては、印刷時間の短縮を図るために、一旦印刷ジョブをスプールし、複数のプリンタに頁毎或いは部数毎に分散して出力するシステム（分散印刷システム）が知られている。更に、１つのドキュメント内のカラーページはカラープリンタへ分散し、モノクロページはモノクロプリンタへ分散して出力するシステム（カラーモノクロ分散システム）、１つのドキュメントを複数のプリンタで同時に印刷する出力システム（同報印刷システム）、或いはプリンタがエラーとなった際に別のプリンタに自動的に出力するシステム（自動代行印刷システム）が知られている。
【０００４】
また、これらの複数のデバイスに対して分散印刷させる際に、それぞれのデバイスに対応したプリンタドライバ（メンバプリンタドライバ）を取りまとめた代表となるプリンタドライバ（グループプリンタドライバ）に対して印刷指示を行う技術が知られている（特許文献１）。
【特許文献１】特開2003-162388号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、グループプリンタドライバに対して関連付けられている複数のプリンタデバイスに対応したプリンタドライバの設定は、実際に印刷動作が行われるプリントサーバの環境に依存して設定可能か否かが決定するため、例えばグループプリンタドライバ及びグループプリンタドライバに対して関連付けられている複数のプリンタデバイスに対応したプリンタドライバの設定を行うＰＣとプリントサーバとでオペレーティングシステム（ＯＳ）が異なっていると、ユーザが設定したにもかかわらず実際には設定が有効にならない設定項目が生じてしまっていた。
【課題を解決するための手段】
【０００６】
本発明は、複数のプリンタとプリントサーバ装置とコンピュータとから構成される印刷システムにおける印刷設定方法であって、複数のプリンタの印刷機能に関する印刷設定を各プリンタ毎に或いは複数のプリンタをメンバとするグループとしてユーザに設定させるためのユーザインタフェース画面を制御する画面制御工程を有し、前記画面制御工程では、印刷システムの環境に応じて、有効でない印刷設定をユーザが設定できないようにユーザインタフェース画面を制御することを特徴とする。
【０００７】
また、本発明は、印刷データを生成するサーバと通信名可能なコンピュータと、プリンタと通信可能なサーバとからなる印刷システムにおける印刷設定方法であって、前記サーバとコンピュータとにおける環境の互換性に応じた機能項目を反映させた表示を印刷設定画面に行わせる画面制御工程を有することを特徴とする印刷設定方法。
【０００８】
また本発明は、複数のプリンタとプリントサーバ装置とコンピュータとから構成される印刷システムにおけるコンピュータであって、複数のプリンタの印刷機能に関する印刷設定を各プリンタ毎に或いは複数のプリンタをメンバとするグループとしてユーザに設定させるためのユーザインタフェース画面を制御する画面制御手段を有し、前記画面制御手段は、印刷システムの環境に応じて、有効でない印刷設定をユーザが設定できないようにユーザインタフェース画面を制御することを特徴とする。
【０００９】
また、本発明は、印刷データを生成するサーバと通信名可能なコンピュータと、プリンタと通信可能なサーバとからなる印刷システムにおけるコンピュータであって、前記サーバとコンピュータとにおける環境の互換性に応じた機能項目を反映させた表示を印刷設定画面に行わせる画面制御手段を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、サーバとクライアントコンピュータとの間におけるＯＳの種類やプリンタドライバのバージョンの差異などの印刷システムでの環境の差異によって生じる不都合を未然に防いだ印刷環境をユーザに提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１２】
図１は、本実施形態における情報処理システムの構成を示すブロック図である。図１において、１０２、１０３、１０４はそれぞれ情報処理装置であり、クライアント・サーバシステムのクライアントとして機能する。各クライアントは、イーサネット（登録商標）などのネットワークケーブルによってネットワーク１０６に接続され、アプリケーションプログラム等の各種プログラムを実行可能である。尚、本システムにおけるクライアントは、パーソナルコンピュータであり、１台又は複数台が接続されているものとする。また各クライアントのことを「クライアントＰＣ」とも称す。
【００１３】
また、クライアントＰＣは、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。尚、プリンタドライバは複数のプリンタドライバをサポートするものとする。
【００１４】
１０１は情報処理装置であり、クライアント・サーバシステムのサーバとして機能する。また、サーバ１０１はネットワークケーブルによってネットワーク１０６に接続され、ネットワーク１０６上のクライアントで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。尚、このサーバ１０１はネットワーク１０６に接続されている複数のプリンタを管理するプリントサーバとしても機能する。
【００１５】
本実施形態のクライアントＰＣ１０２〜１０４及びプリントサーバ１０１は、一般的な情報処理装置であり、クライアントＰＣとプリントサーバにはそれぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。また、プリントサーバ１０１はクライアントＰＣ１０２〜１０４の機能を同時に持つこともできる。
【００１６】
本実施形態におけるプリントサーバ１０１は、更に各クライアントＰＣ１０２、１０３、１０４から印刷要求が出された印字データを含む印刷ジョブを格納して印刷する機能、又はクライアントＰＣ１０２、１０３、１０４から印字データを含まないジョブ情報のみ受け取り、クライアントＰＣ１０２、１０３、１０４の印刷順序を管理し、印刷順序になったクライアントＰＣに対して印字データを含む印刷ジョブの送信許可を通知する機能、或いは後述するネットワークプリンタのステータスや印刷ジョブの各種情報などを取得し、クライアントＰＣ１０２、１０３、１０４に通知する機能などを有する。
【００１７】
１０５は印刷装置であるネットワークプリンタであり、ネットワークインタフェース（不図示）を介してネットワーク１０６と接続され、クライアントＰＣから送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換し、１ページ毎に印刷する。１０６はネットワークであり、サーバ１０１、クライントＰＣ１０２、１０３、１０４、ネットワークプリンタ１０５等を接続している。
【００１８】
図２は、本実施形態における情報処理装置の構成を示すブロック図である。尚、上述した情報処理装置であるプリントサーバ１０１、クライントＰＣ１０２、１０３、１０４も同様或いは同等のハードウェア構成とする。よって、クライアントとサーバの構成を示すブロック図として説明する。
【００１９】
図２において、２００は情報処理装置の制御手段であるＣＰＵであり、後述するハードディスク（ＨＤ）に格納されているアプリケーションプログラム、プリンタドライバプログラム、オペレーティングシステム（ＯＳ）やネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２０】
２０１は記憶手段であるＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２１】
２０３は記録媒体読み込み手段としてのフレキシブルディスク（ＦＤ）ドライブであり、ＦＤドライブ２０３を通じて記録媒体としてのＦＤ２０４に記録されたプログラム等を本コンピュータシステムにロードすることができる。尚、記録媒体はＦＤだけに限らず、例えばＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。また、ＦＤからのロードに関しては図５を参照して更に後述する。
【００２２】
２０４は記録媒体であるフレキシブルディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記録媒体である。２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。
【００２３】
尚、スプール手段であるスプーラはここに確保される。スプール手段は、クライアントＰＣではクライアントスプーラのことであり、プリントサーバ１０１ではサーバスプーラのことである。また、プリントサーバ１０１では、各クライアントＰＣから受けたジョブ情報を格納し、順序制御を行うための各種テーブルもこの外部記憶手段に生成されて格納される。
【００２４】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントＰＣに対して、或いはオペレータや管理者がプリントサーバ１０１に対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００２５】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００２６】
２０８はシステムバスであり、クライアントＰＣやプリントサーバである情報処理装置内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、このインタフェース２０９を介して外部装置とのデータのやり取りを行う。
【００２７】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上述のネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ、実行可能となった状態のメモリマップである。
【００２８】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラム及び関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしても良い。
【００２９】
また、このネットワークプリンタ制御プログラムを記録した媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであっても良い。更に、このネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶させておき、メモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００３０】
また、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【００３１】
また、このネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。この印刷制御プログラムは、クライアントＰＣにおいて印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含み、プリントサーバ１０１において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。
【００３２】
また、このような制御を行う印刷制御プログラムは、クライアントＰＣにインストールされるモジュールと、プリントサーバ１０１にインストールされるモジュールとを別々に分けても良いし、一つの印刷制御プログラムが、実行される環境によりクライアントＰＣ用として機能したり、プリントサーバ用として機能するようにしても良い。或いは一台のコンピュータに、クライアントＰＣ用の機能を持つモジュールとプリントサーバ用として機能するモジュールを一緒にインストールし、同時に、或いは時分割で擬似的に平行動作させる構成も可能である。
【００３３】
３０１は基本Ｉ／Ｏプログラムであり、情報処理装置の電源がＯＮされたときに、ＨＤ２０５からＯＳをＲＡＭ２０２に読み込み、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００３４】
３０２はＯＳであり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００がプリンタ制御プログラムを実行する領域が確保されている。
【００３５】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４００はＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例ではクライアントＰＣ、サーバ共に同様の構成をとっている。
【００３６】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４の関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムや関連データを格納している。
【００３７】
次に、本実施形態における情報処理装置にインストールされるプリンタドライバが扱う汎用印刷ファイルの構成について説明する。ここで、本実施形態では、複数のプリンタを１台のプリンタとして仮想的に束ねるプリンタをグループプリンタ、束ねられるプリンタをメンバプリンタと呼ぶ。また、対応するプリンタドライバをそれぞれグループプリンタドライバ、メンバプリンタドライバと呼ぶ。
【００３８】
図６は、本実施形態における汎用印刷ファイルの一構成例を示す図である。尚、本実施形態で使用される汎用印刷ファイルは、各クライアントＰＣの印刷アプリケーションから後述するグループプリンタドライバに印刷指示をした過程で生成され、印刷指示部６−ａと、ドキュメントの内容を格納するドキュメントデータ部６−ｂとから構成される。
【００３９】
まず、印刷指示部６−ａはドキュメントの情報と印刷指示を記述した部分である。またドキュメントデータ部６−ｂはアプリケーションのドキュメントのデータを汎用的な形式のデータに変換したものであり、プリンタ言語に依存しないデータフォーマットとなっている。
【００４０】
図６に示すように、印刷指示部６−ａは、ヘッダ部、ページ情報部、印刷体裁指示部、出力方法指定部、グループプリンタドライバ設定情報部、メンバプリンタ数、メンバプリンタドライバ名、メンバプリンタドライバ設定情報部などから構成されている。
【００４１】
ヘッダ部は、本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。ページ情報部は、ドキュメントデータ部６−ｂのドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。印刷体裁指示部は、印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報（Ｎ−ＵＰや製本印刷など）、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。
【００４２】
出力方法指定部は、出力方法として、分散印刷、カラーモノクロ分散印刷、代行印刷、同報印刷などの情報を格納する部分である。グループプリンタドライバ設定情報部は、後述するグループプリンタドライバのユーザインタフェース（ＵＩ）の設定情報を格納する部分である。メンバプリンタ数はグループプリンタドライバが関連付けているメンバプリンタの数を格納する部分である。メンバプリンタドライバ名は、メンバプリンタのプリンタドライバ名を格納する部分である。
【００４３】
メンバプリンタドライバ設定情報部は、メンバプリンタのドライバＵＩの設定情報として、例えばＤＥＶＭＯＤＥ情報を格納する部分である。
【００４４】
このメンバプリンタドライバ名とメンバプリンタドライバ設定情報部は、上述のメンバプリンタ数に格納された数だけの格納エリアを持っている。
【００４５】
尚、上述したファイルは、印刷指示部６−ａとドキュメントデータ部６−ｂとが異なるファイルであってもかまわない。その場合、印刷指示部６−ａは印刷指示書ファイルとして、ドキュメントデータ部６−ｂはドキュメントデータファイルとしてそれぞれ存在し、これらを一つのアーカイブ形式でまとめて同様に一つのファイルのように扱うことも可能である。
【００４６】
次に、図７、図８を用いて本実施形態におけるグループプリンタドライバによって表示される印刷設定用のＵＩについて説明する。
【００４７】
図７は、本実施形態におけるグループプリンタドライバのＵＩの一例を示す図であり、ページ設定のシートを示す画面である。この例では、原稿サイズ、出力用紙サイズ、部数、印刷の向き、ページレイアウトなどの設定情報が上述した図６に示すページ情報部或いは印刷体裁指示部に記述される。
【００４８】
図８は、本実施形態におけるグループプリンタドライバのＵＩの一例を示す図であり、出力方法のシートを示す画面である。図８において、８０１は割合分散、カラーモノクロ分散、同報、自動代行などの出力方法を選択し、指定するコンボボックスである。８０２はメンバプリンタの登録を行うためのＵＩを開くボタンである。尚、ここで開かれるＵＩについては後述する。
【００４９】
８０３はメンバプリンタを登録した後に、そのメンバプリンタの一覧を表示するリストボックスである。この一覧表示の内容は上述の８０１で指定した出力方法に従って、その表示内容も変更される。この中で、８０７はメンバプリンタを出力対象のプリンタより、一時的にはずしたり、追加したりするチェックボックスである。このチェックボックスにチェックがあれば、そのメンバプリンタを対象プリンタとみなし、チェックがなければ、そのメンバプリンタを一時的に対象プリンタからはずすことを意味している。即ち、上述の８０２のボタンを押下することによって表示されるＵＩ上で登録したメンバプリンタに対し、改めてこのチェックボックスで、選択された対象メンバプリンタを一時的に対象外にすることが可能となる。
【００５０】
また、８０６はデバイス情報表示欄であり、予め設定してあるメンバプリンタの情報をメンバプリンタドライバの名称と共に表示している。８０４は出力方法の詳細指定を行うためのＵＩを開くボタンである。この詳細設定の内容は上述の８０１で指定した出力方法に従って、その表示内容も変更される。
【００５１】
８０５はメンバプリンタドライバのＵＩを開くボタンである。対象となるメンバプリンタは上述した８０３の一覧の中から選択することで行う。即ち、現在８０３上で選択されているメンバプリンタに対するメンバプリンタドライバＵＩを開くことが可能である。
【００５２】
また、メンバプリンタのＵＩを開く際の表示制御については後述する。
【００５３】
この例のように、ＵＩを開くことにより、出力方法である割合分散、カラー／白黒分散、同報、自動代行が選択でき、それぞれに対してメンバプリンタドライバの指定及び設定を行うことにより、１つのプリンタドライバで複数の印刷指示が可能となる。
【００５４】
次に、図９乃至図１２を用いてＤＯＭＳ（Document Output Management Service：文書出力管理サービス）共有プリンタのセットアップについて説明する。
【００５５】
図９は、サーバにおけるグループプリンタドライバ、メンバプリンタドライバのセットアップを示すフローチャートである。まず、ステップＳ９０１において、セットアップを開始する。ここで言うセットアップとは、モジュールのインストール及びサーバ側の各種設定を含めた処理のことであり、モジュールインストール後、各種設定を行ってもかまわない。次に、ステップＳ９０２において、構成モジュールをインストールする。この構成モジュールとは後述する本システムにおいてサーバに必要な各種モジュールである。
【００５６】
次に、ステップＳ９０３において、プリンタポートを設定する。詳細は後述するが、システムはここで設定するプリンタポートを介して印刷ジョブを受け取り、所望の動作を実現する。そして、ステップＳ９０４において、メンバプリンタの設定を行う。ここでは、メンバプリンタとなりうるプリンタドライバを選択し、各プリンタドライバの接続ポートを上述のステップＳ９０３で設定したプリンタポートに対応させる。
【００５７】
次に、ステップＳ９０５において、グループプリンタの設定を行う。この設定処理は、グループプリンタの出力方法、ステップＳ９０４で設定したメンバプリンタより、各グループプリンタのメンバプリンタの指定及びグループプリンタドライバの接続ポートを上述したステップＳ９０３で設定したプリンタポートに対応させる。
【００５８】
そして、ステップＳ９０６において、設定内容をプリンタ管理情報として登録し、この処理を終了する。プリンタ管理情報については更に後述する。
【００５９】
次に、クライアントＰＣ側における共有プリンタのインストール及び設定方法について説明する。
【００６０】
図１０は、クライアントＰＣでの共有プリンタのインストールを示すフローチャートである。まず、ステップＳ１００１において、セットアップを開始する。ここで言うセットアップとは、モジュールのインストール及びクライアントＰＣ側の各種設定を含めた処理のことであり、モジュールインストール後、各種設定を行ってもかまわない。次に、ステップＳ１００２において、構成モジュールをインストールする。この構成モジュールとは後述する本システムにおいてクライアントＰＣに必要な各種モジュールである。
【００６１】
次に、ステップＳ１００３において、上述した図９で設定したサーバをネットワーク上から探索する。そして、ステップＳ１００４において、探索したサーバより、共有設定先のサーバを選択する。即ち、ステップＳ１００４で複数のサーバが探索された場合、それらの中から１つを選択する。尚、この際に、クライアントはサーバのＯＳ及びＯＳの種類（種類及びバージョンの差異も含む）を取得するものとする。
【００６２】
次に、ステップＳ１００５において、ステップＳ１００４で選択したサーバ側にインストールされているプリンタドライバのうち共有可能なプリンタドライバを調査する。尚、共有可能か否かは、本システムが備えている機能により実現することが可能である。また、ここでは上述のステップＳ９０６でサーバに登録されたプリンタ管理情報を読み込み、サーバに登録されたグループプリンタドライバとメンバプリンタドライバの関係及び情報を取得する。このプリンタ管理情報については後述する。また、この情報の取得の際に、各メンバプリンタドライバのバージョン情報も取得するものとする。
【００６３】
次に、ステップＳ１００６において、ステップＳ１００５で調査した共有可能なプリンタドライバから共有設定したいグループプリンタドライバを選択する。選択が終了すると、ステップＳ１００７へ進み、ステップＳ１００６で指定したグループプリンタドライバを共有プリンタドライバとしてインストールする。そして、ステップＳ１００８において、メンバプリンタドライバをインストールする。
【００６４】
ここでは、ステップＳ１００６で指定した各グループプリンタドライバにおけるメンバプリンタを、上述のステップＳ１００５で調査したグループプリンタそのメンバプリンタの関係情報より、自動的に調査してインストールする。即ち、グループプリンタドライバを指定し、共有インストール指示を行うと、関連したメンバプリンタドライバも自動的にインストールすることができる。
【００６５】
また、１つのメンバプリンタが複数のグループプリンタのメンバになっている場合には、メンバプリンタドライバの共有インストールを１つだけ行えば良い。更に、追加インストールに際して、既に共有インストールされているメンバプリンタドライバは改めてインストールさせないようにしても良い。
【００６６】
図１１は、クライアントＰＣに共有インストールを行う際のセットアップ画面の一例を示す図である。図１１に示すように、プリンタの一覧にリストアップされているプリンタはサーバ上で共有設定されたプリンタの一覧で、“分散くん１号”はグループプリンタを表し、“Printer-A”〜“Printer-D”の４つのプリンタは“分散くん１号”のメンバプリンタを表している。図１０の説明を補足すると、ステップＳ１００６でグループプリンタドライバである“分散くん１号”を選択すると、そのメンバプリンタである“Printer-A”〜“Printer-D”のプリンタドライバも自動的にクライアントＰＣに共有インストールされる。
【００６７】
次に、図１２を用いて図９に示すステップＳ９０６において登録するプリンタ管理情報について説明する。
【００６８】
図１２は、本実施形態におけるプリンタ管理情報テーブルの構成の一例を示す図である。図１２に示すように、プリンタ管理情報として、登録されたグループプリンタの数及び各グループプリンタの情報を保持している。各グループプリンタ情報としては、グループプリンタ名、共有設定されているか否か、ポート情報、及び分散印刷や同胞印刷などの出力方法や出力方法に必要な情報を設定情報として保持している。また、メンバプリンタの情報としてメンバプリンタ数及びそれぞれのメンバプリンタ名を保持している。図１２に示す例では、グループプリンタ数が２で、まずグループプリンタ名１のグループプリンタはメンバプリンタが３つあり、それぞれのメンバプリンタ名はＡ，Ｂ，Ｃである。次に、グループプリンタ名２では、対応しているメンバプリンタが３つあり、それぞれのメンバプリンタ名はＡ，Ｂ，Ｄであることを表している。
【００６９】
また、メンバプリンタの管理情報として、総メンバプリンタ数と各メンバプリンタ情報を保持している。各メンバプリンタ情報としては、メンバプリンタ名、共有設定されているか否か、及びポート情報や出力方法に応じた情報を保持している。図１２に示す例では、メンバプリンタの総数は４であり、メンバプリンタと名としてＡ，Ｂ，Ｃ，Ｄを保持している様子を示している。また、グループプリンタとメンバプリンタとの関連はグループプリンタの管理情報として保持しているメンバプリンタのメンバプリンタ名によって管理され、関連付けられている。この管理情報は図９に示すステップＳ９０６においてサーバにファイル或いはメモリ上にテーブル形式で保存、管理され、上述のステップＳ１００５でクライアントＰＣ側から参照可能となっているものである。
【００７０】
従って、ステップＳ１００８では、この管理情報よりグループプリンタに属するメンバプリンタが自動的に判断され、共有インストールすることが可能となる。また、この管理情報はクライアントＰＣ側からの登録変更が可能であっても良い。
【００７１】
次に、プリンタを複数台使用して上述した分散、同報、代行といった印刷処理を行う、印刷ジョブ制御システムについて説明する。
【００７２】
図１３は、アプリケーションから発行された印刷ジョブが本実施形態の印刷ジョブ制御システムにおいてどのように処理されるかを示す図である。図１３に示すように、本実施形態では、印刷システムはクライアントとサーバとから構成されている。サーバ側はＯＳによって提供される印刷システムと印刷ジョブ制御システムとで構成され、クライアントはサーバ上のプリンタドライバの共有によって関連付けられている。
【００７３】
まず、この共有について説明すると、クライアント上のグループプリンタドライバ２３０１及びメンバプリンタドライバ２３０２−１、２３０２−２は、ＯＳによって提供される印刷システムの枠組みの中で、サーバ上のグループプリンタドライバ６０３、スプーラ６０４、メンバプリンタドライバであるＰＤＬドライバ６０２が共有プリンタドライバとして設定されている。図中ではグループプリンタドライバの共有設定の関係を破線双方向矢印、２３−ｄで示している。また、メンバプリンタ同士の共有設定については、ＰＤＬドライバ２３０２−１とＰＤＬドライバ６０２の共有プリンタの関係を破線２３−ｅで示している。同様に、ＰＤＬドライバ２３０２−２とＰＤＬドライバ６０２については破線２３−ｆで示している。
【００７４】
上述したように、いずれの場合も共有プリンタはＯＳによって提供される印刷システム枠組みの中で設定されており、ＯＳによって提供される印刷システム共有プリンタ機能を備えている。
【００７５】
次に、印刷ジョブの流れについて説明する。通常、ユーザがクライアントＰＣで印刷の指示を行うと、アプリケーションプログラムが一連の描画命令を生成し、その描画命令はプリンタドライバを経てＯＳのスプーラに渡される。そして、ＯＳのスプーラは、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタデバイスに送信させる手順をとる。
【００７６】
本実施形態では、ユーザは予め印刷ジョブ制御システム用のポートモニタ６２１（以降、ジョブ制御ポートモニタと略記）を指定して印刷を指示する。クライアント上のアプリケーションプログラムは一連の描画命令を生成する。この描画命令を受け取ったグループプリンタドライバ２３０１では、汎用形式のドキュメントデータを生成し、図１３に示す矢印２３−ｂのルートでＯＳのスプーラ２３０３へ出力する。
【００７７】
上述したように、クライアントＰＣ側のグループプリンタドライバ２３０１とサーバ側のグループプリンタドライバ６０３とはＯＳによって提供される印刷システムの中で共有設定されているため、スプーラ２３０３に送られたジョブは、図１３に示す矢印２３−ｃのルートでサーバ側のスプーラ６０４に送られる。
【００７８】
一方、サーバ側のスプーラ６０４は、受け取った印刷データをポートモニタではなく、ジョブ制御ポートモニタ６２１にプリントジョブデータとして送信する。このジョブ制御ポートモニタ６２１はプリントジョブデータをプリンタデバイス６５０に送信するのではなく、印刷ジョブ制御システム用プリントサービス６２２（以降、本実施形態ではジョブ制御プリントサービスと略記する）に送信する。ジョブ制御プリントサービス６２２は、プリントジョブデータに対して後述するような印刷ジョブ制御処理を行う。
【００７９】
印刷ジョブ制御システム用のプリントマネージャ６２３（以降、本実施形態ではジョブ制御プリントマネージャと略記する）は、ユーザがジョブ制御プリントサービス６２２の内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのＵＩを提供するプログラムである。
【００８０】
また、ジョブ制御プリントマネージャ６２３は、ジョブ制御プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ）を介してジョブ制御プリントサービス６２２と情報・指示をやり取りする。
【００８１】
印刷ジョブ制御システム用のサーバ６３０（以降、本実施形態ではジョブ制御サーバと略記する）は、サーバ上のジョブ制御プリントサービス６２２がプリンタデバイス６５０にプリントジョブデータを送信するタイミングを集中制御（スケジューリング）する。
【００８２】
印刷ジョブ制御システム用のマネージメントコンソール６３３（以降、本実施形態ではジョブ制御マネージメントコンソールと略記する）は、ジョブ制御サーバ６３０が有するソフトウェアがアクセスするためのＡＰＩを介してジョブ制御サーバ６３０と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【００８３】
また、ジョブ制御サーバ６３０はデバイス情報コントロールモジュール６３１を用いて各プリンタデバイス６５０と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。また、入手した情報はクライアント側のジョブ制御プリントサービス６２２に渡すことができる。
【００８４】
ここで、ジョブ制御プリントサービス６２２は前述した汎用形式のドキュメントデータに基づき、そのプリントジョブに対して汎用印刷ファイルを生成する。そして、その汎用印刷ファイルに基づいてデスプーラ７０１が描画コマンド（ｃ）を生成し、続いてＰＤＬドライバ６０２がその描画コマンドをプリンタデバイス６５０が解釈可能なＰＤＬファイルにする。
【００８５】
図１３に示す例では、ジョブ制御プリントサービス６２２が、プリントジョブに対して分散印刷などプリントジョブを二つに分けるジョブ制御を行う例で、２つのメンバジョブが生成された例を２つの矢印（ｃ）で示している。
【００８６】
次に、ＰＤＬドライバ６０２で生成されたＰＤＬファイルはＯＳのスプーラ６０４及びジョブ制御ポートモニタ６２１を経て（ｄ）、再びジョブ制御プリントサービス６２２に渡される（ｅ）。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の指示に従ってＰＤＬのプリントジョブデータをプリンタデバイス６５０に送信する（ｆ）。
【００８７】
このように、ジョブ制御プリントサービス６２２は、生成した汎用印刷ファイルの中の印刷指示書の指示に従って、一つの汎用印刷ファイルを複数のプリントジョブに論理的に分割してそれぞれ別のプリンタデバイスに送信したり、一度送信したプリントジョブデータを別のプリンタデバイスに送信し直したりする。図１３に示す（ｃ）〜（ｆ）は、そのような場合のプリントジョブデータの経路である。
【００８８】
次に、ＯＳが提供する印刷システムと、印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要を更に詳しく説明する。
【００８９】
図１３に示すように、印刷ジョブ制御システム７００は印刷ジョブ制御システムの範囲を示し、管理している出力ポート（Output Port）７１１はジョブ制御プリントサービス６２２のプロキシ出力ポート（Proxy Output Port）７１２と関連付けて管理している。本実施形態では、実際のプリントジョブデータはプロキシ出力ポート７１２に保持される。そして、ジョブ制御サーバ６３０は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス６２２に対して印刷ジョブの送信指示のみを行う。その指示に応じてジョブ制御プリントサービス６２２はプリントジョブデータをデバイス６５０に送信する。
【００９０】
この処理において本実施形態では、ジョブ制御サーバ６３０は印刷ジョブ制御システム７００として、ジョブ制御プリントサービス６２２と同じサーバ上にインストールされて存在するが、ジョブ制御サーバ６３０を印刷ジョブ制御システムとして別の装置上にインストールし、サーバの如く動作させることも可能である。この場合、実際のジョブ制御サーバ６３０が管理しているOutputPort７１１はそれぞれのジョブ制御プリントサービス６２２のプロキシ出力ポート（Proxy Output Port）７１２と関連付けられ、一つのポートに関連づけられた各装置上のプロキシ出力ポート全てを統一的に管理することとなる。
【００９１】
次に、印刷ジョブ制御システム７００が代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合の処理を説明する。
【００９２】
まず、印刷ジョブ制御システム７００が代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合には、上述したように、ユーザ又はアプリケーションはグループプリンタドライバ２３０１が割り当てられたプリンタに印刷ジョブを発行しなければならない。次に、ジョブ制御プリントサービス６２２はグループプリンタドライバ２３０１で処理されたジョブデータをジョブ制御ポートモニタ６２１を介して汎用形式のドキュメントデータ及び印刷指示情報の一連のジョブデータとして受け取る。図１３に示すLogicalPort７１０は、このジョブの受け入れ口である。
【００９３】
次に、ジョブ制御プリントサービス６２２はLogicalPort７１０で受け取ったパケット化されたデータジョブを受け取り、汎用印刷ファイル生成部７０２に渡す。この汎用印刷ファイル生成部７０２は前述した、受け取ったデータジョブを汎用印刷ファイル７０３の形式に生成し尚し、汎用印刷ファイル７０３として書き出す。
【００９４】
次に、デスプーラ７０１がこの汎用印刷ファイル７０３を読み込み、ＰＤＬドライバが割り当てられた別のプリンタにジョブ（メンバジョブ）を発行して印刷を行わせる。この時、デスプーラ７０１は前述した図６で説明した汎用印刷ファイルの印刷指示部６−ａを解釈する。そして、ドキュメントデータ部６−ｂのドキュメントデータを加工してＯＳの描画インタフェース、この場合、Microsoft社のＯＳであるWindows（登録商標）シリーズのＧＤＩ（Graphic Device Interface）に変換し、各プリンタドライバに対して印刷指示を行い、印刷ジョブを発行する。
【００９５】
例えば、印刷指示部６−ａの印刷体裁指定部に２−ＵＰの指示が記録されていた場合、用紙１枚に２ページ分のドキュメントデータを縮小レイアウトする。また、分散印刷或いは同報印刷の場合には、それらの設定に応じて印刷指示部６−ａに記述されている複数のメンバプリンタにジョブを発行する。代行印刷の場合は、代行する条件が満たされた時に、自動代行では事前の設定時に、手動代行ではユーザの操作に応じてメンバジョブを発行する。図１３では上述した通り、分散印刷などにおけるメンバジョブを２つに分けて発行している様子を示している。
【００９６】
また、デスプーラ７０１は各メンバプリンタにジョブを発行する際に、メンバプリンタドライバに対応する印刷指示として、各メンバプリンタのＤＥＶＭＯＤＥを作成する必要があるが、このＤＥＶＭＯＤＥは印刷指示部６−ａに記載された内容を適宜各メンバプリンタのＤＥＶＭＯＤＥに反映させて生成する。
【００９７】
このようにして、ジョブ制御プリントサービス６２２はＰＤＬドライバ６０２によってレンダリングされた、それぞれのメンバジョブのＰＤＬデータをジョブ制御ポートモニタ６２１を介して受け取り、受け取ったジョブに関する情報をサーバ側に知らせ、ジョブデータは自身のプロキシ出力キュー（Proxy Output Port）７１２で一時保持する。その後、ジョブ制御サーバ６３０からの送信指示を受けた後に、プリントデバイス６５０に送信する。
【００９８】
次に、グループプリンタドライバ２３０１によって表示されるプリンタ情報の取得方法について説明する。
【００９９】
図１３に示す印刷ジョブ制御システム７００内のプリンタ情報管理部７０４は、セットアップ時にユーザが入力したプリンタ情報及びジョブ制御サーバ６３０からデバイス状態を取得し、管理するものである。また、印刷ジョブ制御システム７００が動作するサーバ上のＯＳ及びそのバージョン情報、また実際に印刷ジョブを生成する各メンバプリンタのプリンタドライババージョンの各情報についての情報も保持している。
【０１００】
また、プリンタ情報管理部７０４で管理されている情報はプリンタ情報管理部２３０４としてクライアント内にも存在する。そして、プリンタ情報管理部２３０４はサーバ内のプリンタ情報管理部７０４と通信することが可能である。実線２３−ｊはその関係を示すものである。
【０１０１】
グループプリンタドライバ２３０１はプリンタ情報の取得のために、クライアント内のプリンタ情報管理部２３０４のＡＰＩをコールして取得する。一方、ＡＰＩコールされたプリンタ情報管理部２３０４は、サーバ上のプリンタ情報管理部７０４に２３−ｊの経路で問い合わせ、プリンタ情報を取得し、グループプリンタドライバに返す。
【０１０２】
尚、プリンタ情報のアップデートは、グループプリンタドライバ２３０１の指示により動的にプリンタ情報管理部２３０４がジョブ制御サーバ６３０に問い合わせて最新の情報を取得しても良いし、プリンタ情報管理部２３０４がジョブ制御サーバ６３０からの通知を受けて自動的にアップデートする方法でも良い。
【０１０３】
ここで、本実施形態における共通設定領域と拡張設定領域とから構成される記憶領域を有するプリンタドライバを持つプリンタを複数台使用し、分散、同報、代行といった印刷処理を行う印刷ジョブ制御システム７００のためのプリンタドライバのＵＩ制御について説明する。
【０１０４】
図１４は、グループプリンタドライバのＵＩ制御を示すフローチャートである。まず、クライアントにおいてアプリケーションからグループプリンタドライバ２３０１へのＵＩ表示要求があると、ステップＳ１４０１へ処理を進め、印刷ジョブ制御システム７００のＡＰＩによりグループプリンタドライバを構成するメンバプリンタドライバの識別ＩＤを問い合わせ、全てのメンバプリンタドライバの識別ＩＤを獲得する。また同様に、サーバのＯＳ、ＯＳバージョン及び各メンバプリンタのドライババージョンの各情報についても取得する。また、自クライアント装置のＯＳ、ＯＳバージョン及びサーバ上の各メンバプリンタドライバのプリンタドライババージョンは自装置内部から取得すれば良い。
【０１０５】
次に、ステップＳ１４０２において、グループプリンタドライバに対して登録されている各メンバプリンタドライバの識別ＩＤよりメンバプリンタドライバの能力を収得する。つまり、グループプリンタを構成する全てのメンバプリンタドライバに対して、ドライバ機能の収得がドライバ設定情報の拡張領域の部分まで可能、かつドライバＵＩ制御が可能な“機能制御可能なドライバ”か、又はそれ以外の“機能制御不可なドライバ”かを読み出す。また同時に、サーバのＯＳ／ＯＳバージョン及びサーバ上の各メンバプリンタドライバのプリンタドライババージョンと、クライアントのＯＳ／ＯＳバージョン及びクライアント上の各メンバプリンタドライバのプリンタドライババージョンとを比較し、プリンタドライバの設定詳細を納めたＤＥＶＭＯＤＥがサーバ／クライアントで互換性があるかないかを調査する。そして、このステップＳ１４０２の処理により、サーバとクライアントとの間におけるＯＳの種類やプリンタドライバのバージョンの差異などの印刷システムでの環境の差異によって生じる不都合を未然に防ぐことができる。
【０１０６】
尚、サーバのＯＳ、ＯＳバージョン及びサーバ上の各メンバプリンタドライバのプリンタドライババージョンはステップＳ１４０２の前に通信回線を介してサーバから取得するようにしても良いし、上に説明したステップＳ１００４及びステップＳ１００５において取得したサーバのＯＳ、ＯＳバージョン及びサーバ上の各メンバプリンタドライバのプリンタドライババージョンを利用するようにしても良い。
【０１０７】
通常、クライアント／サーバとも同一ＯＳ、かつサーバの全てのメンバプリンタドライバのプリンタドライババージョンの方がクライアントの各メンバプリンタドライバのプリンタドライババージョンより新しい場合に互換性があると判断できる。
【０１０８】
一方、サーバとクライアントとの間でＯＳが異なる場合には互換性がないものとする。また、サーバにおける何れかのプリンタドライババージョンのほうがクライアントにおける何れかのプリンタドライババージョンよりも低い場合に互換性がないと判断できる。互換性がない場合には、クライアントからは制限された印刷設定を施した印刷データをサーバに転送することになる。
【０１０９】
また、以下の説明において、互換性があるということは、サーバの各メンバプリンタドライバのバージョンがクライアントにおける各メンバプリンタドライバのバージョンよりも全て新しい場合で、クライアントからサーバに対して所定の処理の指示を行なう場合に、自由な指示を行なうことができるということを意味する。
【０１１０】
次に、ステップＳ１４０３において、ステップＳ１４０２で読み出した機能制御可否の情報とサーバ及びクライアント間のドライバ互換性とにより、メンバプリンタの構成を判定する。ここで、“機能制御可能なドライバ”のみで構成されている場合はステップＳ１４０４へ、それ以外の構成ではステップＳ１４０５へ進む。
【０１１１】
図１５は、本実施形態におけるメンバプリンタの構成と、設定可能項目の対応を示す図である。図１６は、共通設定項目・拡張設定項目と各設定項目の対応を示す図である。
【０１１２】
尚、本実施形態では、共通設定項目は共通設定領域に存在する項目、また拡張設定項目は拡張設定領域に存在する項目として分類し規定しているが、印刷ジョブ制御システムを運用するＯＳの違いによっては設定項目の分類が異なる場合や設定可能項目に変更がある場合もあるが、このＵＩ制御が有効なのは言うまでもない。
【０１１３】
ここで、図１４に戻り、ステップＳ１４０４では、メンバプリンタが“機能制御可能なドライバ”のみで構成されている場合のＵＩ表示を行う。
【０１１４】
図１８は、ステップＳ１４０４の詳細を示すフローチャートである。まず、ステップＳ１８０１において、各メンバプリンタドライバの個々の共通設定項目に関する能力を問い合わせて、機能のコンフリクト処理を行い、その結果に基づきグループプリンタドライバＵＩで表示する項目の選択を行う。
【０１１５】
尚、機能のコンフリクト処理とは、グループプリンタの対象となる各メンバプリンタドライバに対して各設定項目（機能）の有・無をチェックし、対象となるメンバープリンタドライバ全てに機能がある場合に、グループプリンタドライバＵＩでその機能を設定可能項目として扱い、また１台でも機能がないものがあれば、その項目については、設定不可項目として扱う処理である。
【０１１６】
ここで、図１７に示す具体例を用いて上述のＵＩ制御について説明する。図１７に示す例では、プリンタドライバＡはグループプリンタドライバを表し、プリンタドライバＢ、Ｃ、Ｄはグループプリンタドライバを構成するメンバプリンタドライバをそれぞれ表し、図中の“あり”、“なし”は各メンバプリンタドライバが製本印刷機能、ステイプル印刷機能、パンチ機能をサポートしているか否かを示したものである。
【０１１７】
まず、製本印刷機能に着目すると、メンバプリンタドライバＢ、Ｄには製本印刷機能があるが、メンバプリンタドライバＣにはその機能がないため、グループプリンタドライバＡの製本印刷機能は“なし”となる。次に、ステイプル機能は、メンバプリンタドライバＢ、Ｃ、Ｄの全てに機能があるため、グループプリンタドライバＡのステイプル機能は、“あり”となる。また同様に、パンチ機能は、メンバプリンタドライバＢ、Ｃ、Ｄの全てに機能がないため、グループプリンタドライバＡのパンチ機能は、“なし”となる。
【０１１８】
次に、ステップＳ１８０２において、上述のステップＳ１４０２で示したサーバ及びクライアント間のプリンタドライバ互換性のチェックを行なう。そしてこのチェック結果に基づき、各メンバプリンタドライバのどのような項目（機能）に関して拡張設定項目のコンフリクト処理を行うかを判定する。そして、ステップＳ１８０３又はステップＳ１８０５において、ステップＳ１８０２の結果に基づき決定された機能の拡張設定項目におけるコンフリクト処理を各メンバプリンタドライバ間で行なう。尚、ステップＳ１８０２で、サーバ及びクライアント間のドライバ互換性無しと判断された場合は、拡張設定項目のうち常時設定可能項目のみが対象となり、その他の拡張設定項目は、機能が無いと見なされる。
【０１１９】
図１６に、拡張設定項目における常時設定可能項目（機能）と、ドライバ非互換時設定不可能項目（機能）との関係が図示されている。
【０１２０】
次に、ステップＳ１８０４又はステップＳ１８０６では、上述のコンフリクトの結果、複数のメンバプリンタドライバのうち何れかにおいて機能のないものについては、ＵＩ上で設定が行えないよう、項目をグレーアウト表示するか、もしくは非表示といったＵＩ制御を行い、機能がある項目についてはＵＩ制御を行わない。
【０１２１】
図２１は、ＵＩ制御で設定項目をグレーアウト表示した一例を示す図である。図２１において、設定項目の両面印刷、製本印刷のダイアログボックスがＵＩ制御を施した部分である。尚、表示制御としてはグレーアウト表示制御に限定されるものではなく、非表示ととするような制御でも適用可能である。
【０１２２】
また、ステップＳ１８０４又はステップＳ１８０６では、ユーザの指定により、例えば「製本印刷」が指定された時のパンチや、ステイプルの指定といった、機能上ありえない組み合わせに関しては設定できないようにＵＩ制御を行い、設定項目に矛盾が発生しないようにするものとする。
【０１２３】
次に、ステップＳ１８０７において、グループプリンタドライバＵＩ上に設定項目がない項目をメンバプリンタのＵＩを開き詳細に設定させる場合、グループプリンタドライバＵＩ上で設定対象のメンバプリンタを指定する。そして、ステップＳ１８０８において、ステップＳ１８０７で指定したメンバプリンタドライバＵＩを開き、詳細設定を行う。
【０１２４】
尚、ステップＳ１８０７及びステップＳ１８０８は、サーバ／クライアント間で設定に互換性がある場合しか意味のない設定であるため、サーバ及びクライアント間でドライバ互換性がない場合はステップＳ１８０６の段階でメンバプリンタを指定し開くことができないように表示される。
【０１２５】
また、メンバプリンタドライバＵＩを開いた場合に、グループプリンタドライバで設定可能な項目についても設定可能となり、同一機能が両者に設定された場合に処理が２重にかかってしまうため、次に示すＵＩ制御を施して表示を行う。
（１）メンバプリンタが“機能制御可能なドライバ”である場合、グループプリンタドライバＵＩ上の設定項目と競合する項目については、メンバプリンタドライバＵＩでの設定が行えないように、項目をグレーアウト表示、もしくは非表示としてＵＩ制御する。
（２）メンバプリンタが“機能制御不可なドライバ”である場合、共通設定項目についてはメンバプリンタドライバで設定された設定でＵＩ表示する。ＵＩ表示後、メンバプリンタドライバＵＩ上でその項目について変更がなされた場合、メンバプリンタドライバＵＩを閉じるときにグループプリンタドライバで設定された設定項目の情報を対応するメンバプリンタドライバの共通設定項目に上書きし、メンバプリンタドライバＵＩ上での設定変更を許さない。
【０１２６】
また、上書き処理を行う際に、メンバプリンタドライバＵＩ上での設定変更が無効であるといった警告表示を行うことも可能である。
【０１２７】
尚、このステップでは、対象となるメンバプリンタ全て“機能制御可能なドライバ”であるため、上記（１）のＵＩ制御が行われる。
【０１２８】
次に、図１４に示すステップＳ１４０５におけるメンバプリンタが機能制御不可な場合のＵＩ表示の詳細な処理について説明する。
【０１２９】
図１９は、ステップＳ１４０５の詳細な処理を示すフローチャートである。ここでは、メンバプリンタドライバの構成がステップＳ１４０４の場合と異なり、“機能制御可能なドライバ”と“機能制御不可能なドライバ”との混合となっている場合である。従って、グループプリンタドライバＵＩで設定可能な項目は、共通に設定情報の読み書きが可能な基本設定項目に限定される。
【０１３０】
まず、ステップＳ１９０１において、上述したステップＳ１８０１と同様に、各メンバプリンタドライバの個々の共通設定項目に関する能力を問い合わせ、機能のコンフリクト処理を行い、その結果に基づき、グループプリンタドライバＵＩで表示する項目の選択を行う。次に、ステップＳ１９０２において、上述したステップＳ１４０３で示したプリンタドライバ互換性のチェック結果に基づき、各メンバプリンタドライバのＵＩ表示を可能とするかを判定する。
【０１３１】
そして、ステップＳ１９０３又はステップＳ１９０４において、ステップＳ１９０１で行ったＵＩコンフリクト処理の結果に基づき、グループプリンタドライバＵＩ表示を行う。尚、コンフリクト処理の結果、機能のないもの及び拡張設定項目については、ＵＩ上で設定が行えないように項目をグレーアウト表示もしくは非表示とする。
【０１３２】
次に、ステップＳ１９０５において、設定不可であった、拡張設定項目及び各メンバプリンタが持つ固有の設定項目をメンバプリンタのＵＩを開き、詳細設定を行う。ここでは、グループプリンタドライバＵＩ上で設定対象のメンバプリンタを指定する。ステップＳ１９０６では、ステップＳ１９０５で指定したメンバプリンタドライバＵＩを開き、詳細設定を行う。
【０１３３】
ステップＳ１９０５及びステップＳ１９０６は、サーバ／クライアント間で設定に互換性がある場合しか意味のない設定であるため、サーバ及びクライアント間でドライバ互換性がない場合は、ステップＳ１９０４の段階でメンバプリンタを指定し開くことができないように表示する。
【０１３４】
図２０は、ステップＳ１９０６の詳細な処理を示すフローチャートである。ステップＳ２００１において、メンバプリンタドライバの種別判定を行う。ここで、対象ドライバが“機能制御可能なドライバ”であればステップＳ２００２へ進み、それ以外であれば２００３へ進む。
【０１３５】
ステップＳ２００２では、ステップＳ１８０８において説明した（１）の規則に則してメンバプリンタドライバの共通設定項目ＵＩの制御を行う。具体的には、共通設定項目に対してＵＩのグレーアウト制御等を施したＵＩ表示を行い、詳細設定を行う。
【０１３６】
また、ステップＳ２００３では、ステップＳ１８０８において説明した（２）の規則に則してメンバプリンタドライバの共通設定項目ＵＩの制御を行う。このステップを施したＵＩ表示を行い、詳細設定を行う。
【０１３７】
ここで、図１４に戻り、ステップＳ１４０６において、設定終了か否かを判定し、設定終了でなければステップＳ１４１１へ進み、メンバプリンタの構成から再設定する場合にはステップＳ１４０２へ、構成はそのままであればステップＳ１４０３へ戻る。また、グループプリンタドライバＵＩ上で全ての設定が終了し、設定終了ボタンがクリックされるとステップＳ１４０７へ進む。
【０１３８】
このステップＳ１４０７では、グループプリンタで設定した項目が、各メンバプリンタドライバの設定項目として矛盾がないか否かをチェックする。例えば、
プリンタＡでは、Ａ４用紙にステイプル可能な位置は用紙左上のみ
プリンタＢでは、Ａ４用紙にステイプル可能な位置は用紙左下のみ
といったように、プリンタにはデバイスのもつ機能に密接に関連した項目がある。
【０１３９】
このステップＳ１４０７では、各メンバプリンタに設定機能上ありえない組み合わせについてのコンフリクトチェックの他に、各メンバプリンタドライバに対して、グループプリンタドライバＵＩ上で設定した項目が、各メンバプリンタドライバの設定項目として反映可能か否かを、メンバプリンタドライバを対象にチェックする。
【０１４０】
次に、ステップＳ１４０８において、ステップＳ１４０７でのコンフリクトチェックの結果を判定し、グループプリンタドライバＵＩ上で設定した設定項目が、全てのメンバプリンタで妥当であった場合には、このグループプリンタドライバＵＩの表示を終了する。また、設定項目にコンフリクトが発生する項目があると判定した場合にはステップＳ１４０９へ進み、「グループプリンタドライバＵＩ上で設定項目を再設定するか、もしくは、現状の設定項目で印刷処理を行うか」といったメッセージと共に、再設定ボタン及び強行ボタンをＵＩ表示する。そして、ステップＳ１４１０において、再設定ボタンか強行ボタンのどちらが押されたかを判定する。ここで、再設定ボタンが押された場合にはステップＳ１４１１へ進み、メンバプリンタの構成から再設定する場合にはステップＳ１４０２へ、構成はそのままであればステップＳ１４０３へ戻る。また、強行ボタンが押された場合には、このグループプリンタドライバＵＩの表示を終了する。
【０１４１】
次に、上述したＵＩで設定された情報の記録と図６に示した汎用印刷ファイルとの関係について説明する。
【０１４２】
本実施形態においては、上述したＵＩで設定された情報について、グループプリンタドライバのドライバ設定情報（ＤＥＶＭＯＤＥ）は共通領域、拡張領域共に、図６を用いて説明した汎用印刷ファイル内の印刷体裁指示部に記録される。また、各メンバプリンタのドライバ設定情報（ＤＥＶＭＯＤＥ）は、共通領域、拡張領域共に、汎用印刷ファイル内のメンバプリンタのメンバプリンタドライバ情報設定部に記録される。
【０１４３】
その後、汎用印刷ファイルは上述した印刷ジョブ制御システムを使った印刷処理に利用され、本実施形態における印刷を行うことが可能となる。
【０１４４】
尚、本実施形態においてはグループプリンタドライバにおける表示制御を説明してきたが、本発明はこれに限定されるものではなく、例えば所定のプリントデバイスに印刷出力を行なわせるための単独プリンタドライバのユーザインタフェースに適用することも可能である。
【０１４５】
即ち、サーバとクライアントとの間のＯＳの種類やプリントドライバのバージョンなどの環境の互換性に応じた最適な機能項目を選択し、選択された機能項目を設定可能な機能項目として単独プリンタドライバのＵＩ表示に反映させることにより、印刷データを生成するサーバと通信名可能なクライアントコンピュータと、プリンタと通信可能なサーバとからなる印刷システムにおけるクライアントコンピュータにおいてサーバとクライアントコンピュータにおけるＯＳの種類やプリンタドライバのバージョンなどの環境の互換性に応じた最適な機能項目を選択し、該選択された機能項目を反映させた表示を印刷設定画面に行わせることが実現される。
【０１４６】
以上説明したように、本実施形態によれば、一つの仮想的な画像入出力装置に束ねられた複数の画像入出力装置に対して印刷ジョブを制御する印刷処理システムにおいて、１つの仮想的なプリンタ（グループプリンタ）が共有プリンタとして設定され、サーバ上で設定された各メンバのプリンタ情報を、クライアント側で取得し表示することが可能である場合に、実際には有効にならない印刷設定をユーザに選択不可能とし、より容易にグループプリンタドライバ及びメンバプリンタドライバの設定を行えるようにＵＩの制御を行うことが可能となる。
【０１４７】
また、本実施形態によれば、サーバとクライアントとの間におけるＯＳの種類やプリンタドライバのバージョンの差異などの印刷システムでの環境の差異によって生じる不都合を未然に防いだ印刷環境をユーザに提供することができる。
【０１４８】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インタフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【０１４９】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１５０】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１５１】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１５２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５３】
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１５４】
【図１】本実施形態における情報処理システムの構成を示すブロック図である。
【図２】本実施形態における情報処理装置の構成を示すブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４の関係を示す図である。
【図６】本実施形態における汎用印刷ファイルの一構成例を示す図である。
【図７】本実施形態におけるグループプリンタドライバのＵＩの一例を示す図であり、ページ設定のシートを示す画面である。
【図８】本実施形態におけるグループプリンタドライバのＵＩの一例を示す図であり、出力方法のシートを示す画面である。
【図９】サーバにおけるグループプリンタドライバ、メンバプリンタドライバのセットアップを示すフローチャートである。
【図１０】クライアントＰＣでの共有プリンタのインストールを示すフローチャートである。
【図１１】クライアントＰＣに共有インストールを行う際のセットアップ画面の一例を示す図である。
【図１２】本実施形態におけるプリンタ管理情報テーブルの構成の一例を示す図である。
【図１３】アプリケーションから発行された印刷ジョブが本実施形態の印刷ジョブ制御システムにおいてどのように処理されるかを示す図である。
【図１４】グループプリンタドライバのＵＩ制御を示すフローチャートである。
【図１５】本実施形態におけるメンバプリンタの構成と、設定可能項目の対応を示す図である。
【図１６】共通設定項目・拡張設定項目と各設定項目の対応を示す図である。
【図１７】各メンバプリンタドライバの機能の有無によりグループプリンタドライバの機能の有無を決定する方法を説明するための図である。
【図１８】ステップＳ１４０４の詳細を示すフローチャートである。
【図１９】ステップＳ１４０５の詳細な処理を示すフローチャートである。
【図２０】ステップＳ１９０６の詳細な処理を示すフローチャートである。
【図２１】ＵＩ制御で設定項目をグレーアウト表示した一例を示す図である。
【符号の説明】
【０１５５】
１０１  サーバ
１０２  クライアント
１０３  クライアント
１０４  クライアント
１０５  ネットワークプリンタ
１０６  ネットワーク
２００  ＣＰＵ
２０１  ＲＯＭ
２０２  ＲＡＭ
２０３  ＦＤドライブ
２０４  フレキシブルディスク（ＦＤ）
２０５  ハードディスク（ＨＤ）
２０６  キーボード
２０７  ディスプレイ
２０８  システムバス
２０９  インタフェース
【図１】
2005174121.tif 000003
【図２】
2005174121.tif 000004
【図３】
2005174121.tif 000005
【図４】
2005174121.tif 000006
【図５】
2005174121.tif 000007
【図６】
2005174121.tif 000008
【図７】
2005174121.tif 000009
【図８】
2005174121.tif 000010
【図９】
2005174121.tif 000011
【図１０】
2005174121.tif 000012
【図１１】
2005174121.tif 000013
【図１２】
2005174121.tif 000014
【図１３】
2005174121.tif 000015
【図１４】
2005174121.tif 000016
【図１５】
2005174121.tif 000017
【図１６】
2005174121.tif 000018
【図１７】
2005174121.tif 000019
【図１８】
2005174121.tif 000020
【図１９】
2005174121.tif 000021
【図２０】
2005174121.tif 000022
【図２１】
2005174121.tif 000023