(57)【特許請求の範囲】
【請求項１】
ネットワーク上の複数の印刷装置に対応する各メンバプリンタが関連付けられ、何れかの印刷装置を用いた印刷処理を行わせる仮想プリンタ及び印刷装置の状態を管理するプリンタ管理方法において、
メンバプリンタに係る情報として、メンバープリンタに対応する印刷装置のエラー或は警告を含む状態情報をネットワークを介して印刷装置から取得する取得ステップと、
仮想プリンタ及び複数のうちの何れかのメンバプリンタを指示する為で且つ前記仮想プリンタ及び複数のメンバプリンタを一覧にしたプリンタリストを管理し表示させるプリンタリスト管理ステップと、
前記プリンタリストより仮想プリンタが選択されたかメンバプリンタが選択されたかを判定する判定ステップと、
前記判定ステップの判定により、仮想プリンタが選択されたと判定した場合には仮想プリンタに関連付けられた各メンバプリンタについて前記取得ステップで取得された状態情報を表示させ、何れかのメンバプリンタが選択されたと判定した場合には選択されたメンバプリンタの前記取得ステップで取得された状態情報を表示させる表示制御ステップとを備え、前記仮想プリンタに関連付けられた各メンバプリンタには前記選択された何れかのメンバプリンタが含まれることを特徴とするプリンタ管理方法。
【請求項２】
前記選択された仮想プリンタの種別を特定する特定ステップと、
前記特定ステップにて特定された仮想プリンタの種別に対応するメンバプリンタの情報を抽出する抽出ステップとを更に備え、前記表示制御ステップは前記抽出ステップにおいて抽出されたメンバプリンタの情報を、前記特定された仮想プリンタの種別に応じたユーザインタフェースであって且つ仮想プリンタの種別によって異なり得るユーザインタフェースに表示させることを特徴とする請求項１に記載のプリンタ管理方法。
【請求項３】
更に、仮想プリンタを構成するメンバプリンタを登録する一次登録ステップと、
前記一次登録ステップより登録された前記メンバプリンタを一時的に追加或は削除する二次登録ステップとを備え、前記表示制御ステップは前記仮想プリンタの前記二次登録ステップを反映したメンバプリンタの情報を表示させることを特徴とする請求項１または２に記載のプリンタ管理方法。
【請求項４】
前記メンバプリンタの状態に応じて前記仮想プリンタの状態を決定し、該決定された状態に対応する状態アイコンを決定する決定ステップを備え、前記表示制御ステップは前記決定ステップにおいて決定された状態アイコンを仮想プリンタの状態として表示させることを特徴とする請求項１から３の何れかに記載のプリンタ管理方法。
【請求項５】
前記メンバプリンタに係る情報はメンバプリンタに対応する印刷装置へのイベント登録に従う前記印刷装置からの通知に基づくものであり、前記プリンタリストより選択された仮想プリンタに関連した複数のメンバプリンタと変更前の仮想プリンタに関連した複数メンバプリンタとの比較に基づき、イベント解除を行う対象となるメンバプリンタを特定し、該特定されたメンバプリンタに対応する印刷装置に対してイベント解除指示を行うイベント解除指示ステップを有することを特徴とする請求項１から４の何れかに記載のプリンタ管理方法。
【請求項６】
前記プリンタリストより選択された仮想プリンタに関連した複数のメンバプリンタと変更前の仮想プリンタに関連した複数メンバプリンタとの比較に基づき特定される新規メンバプリンタに対してイベント登録を行うイベント登録ステップを備えることを特徴とする請求項１から５の何れかに記載のプリンタ管理方法。
【請求項７】
前記プリンタリストより選択された仮想プリンタに関連した複数のメンバプリンタと変更前の仮想プリンタに関連した複数メンバプリンタとの比較に基づき、イベント登録を省略する対象となるメンバプリンタを特定し、該特定されたメンバプリンタ対応する印刷装置に対してイベント登録を省略する省略ステップを有することを特徴とする請求項１から６の何れかに記載のプリンタ管理方法。
【請求項８】
ネットワーク上の複数の印刷装置に対応する各メンバプリンタが関連付けられ、何れかの印刷装置を用いた印刷処理を行わせる仮想プリンタ及び印刷装置の状態を管理する情報処理装置において、
選択された仮想プリンタを認識する認識手段と、
メンバプリンタに係る情報として、メンバープリンタに対応する印刷装置のエラー或は警告を含む状態情報をネットワークを介して印刷装置から取得する取得手段と、
仮想プリンタ及び複数のうちの何れかのメンバプリンタを指示する為で且つ前記仮想プリンタ及び複数のメンバプリンタを一覧にしたプリンタリストを管理し表示させるプリンタリスト管理手段と、
前記プリンタリストより仮想プリンタが選択されたかメンバプリンタが選択されたかを判定する判定手段と、
前記判定手段の判定により、仮想プリンタが選択されたと判定した場合には仮想プリンタに関連付けられた各メンバプリンタについて前記取得手段で取得された状態情報を表示させ、何れかのメンバプリンタが選択されたと判定した場合には選択されたメンバプリンタの前記取得手段により取得された状態情報を表示させる表示制御手段とを備え、前記仮想プリンタに関連付けられた各メンバプリンタには前記選択された何れかのメンバプリンタが含まれることを特徴とする情報処理装置。
【請求項９】
前記選択された仮想プリンタの種別を特定する特定手段と、
前記特定手段によって特定された仮想プリンタの種別に対応するメンバプリンタの情報を抽出する抽出手段とを更に備え、前記表示制御手段は前記抽出手段によって抽出されたメンバプリンタの情報を、前記特定された仮想プリンタの種別に応じたユーザインタフェースであって且つ仮想プリンタの種別によって異なり得るユーザインタフェースに表示させることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
更に、仮想プリンタを構成するメンバプリンタを登録する一次登録手段と、
前記一次登録手段によって登録された前記メンバプリンタを一時的に追加或は削除する二次登録手段とを備え、前記表示制御手段は前記仮想プリンタの前記二次登録手段による追加或は削除を反映したメンバプリンタの情報を表示させることを特徴とする請求項８または９に記載の情報処理装置。
【請求項１１】
前記メンバプリンタの状態に応じて前記仮想プリンタの状態を決定し、該決定された状態に対応する状態アイコンを決定する決定手段を備え、前記表示制御手段は前記決定手段により決定された状態アイコンを仮想プリンタの状態として表示させことを特徴とする請求項８から１０の何れかに記載の情報処理装置。
【請求項１２】
前記メンバプリンタに係る情報はメンバプリンタに対応する印刷装置へのイベント登録に従う前記印刷装置からの通知に基づくものであり、前記プリンタリストより選択された仮想プリンタに関連した複数のメンバプリンタと変更前の仮想プリンタに関連した複数メンバプリンタとの比較に基づき、イベント解除を行う対象となるメンバプリンタを特定し、該特定されたメンバプリンタに対応する印刷装置に対してイベント解除指示を行うイベント解除指示手段を有することを特徴とする請求項８から１１の何れかに記載の情報処理装置。
【請求項１３】
前記プリンタリストより選択された仮想プリンタに関連した複数のメンバプリンタと変更前の仮想プリンタに関連した複数メンバプリンタとの比較に基づき特定される新規メンバプリンタに対してイベント登録を行うイベント登録手段を備えることを特徴とする請求項８から１２の何れかに記載の情報処理装置。
【請求項１４】
前記プリンタリストより選択された仮想プリンタに関連した複数のメンバプリンタと変更前の仮想プリンタに関連した複数メンバプリンタとの比較に基づき、イベント登録を省略する対象となるメンバプリンタを特定し、該特定されたメンバプリンタ対応する印刷装置に対してイベント登録を省略する省略手段を有することを特徴とする請求項８から１３の何れかに記載の情報処理装置。
【請求項１５】
請求項１乃至７の何れかに記載のプリンタ管理方法をコンピュータに実行させる為のプログラム。
【請求項１６】
請求項１乃至７の何れかに記載のプリンタ管理方法をコンピュータに実行させる為のプログラムをコンピュータ可読の形態で記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷装置に係るステータス等の各種情報を管理する仕組みに関する。
【０００２】
【従来の技術】
近年、ネットワーク機器が一般に利用され、ネットワーク上に多数のパソコン（以下、ＰＣ）やプリンターが接続されるようになった。このようなネットワーク環境において、印刷を行う際、ページ数の多いドキュメントあるいは部数の多いドキュメントについては、印刷時間の短縮を図るために、いったん印刷ジョブをスプールし、複数のプリンタに頁ごとあるいは部数ごとに分散して出力するシステム（分散印刷システム）が知られている。例えば、特開２００１−２９０６２３号公報には、所定時間毎に分散印刷の割り振り先である各プリンタの最新の稼働状況をプリンタ毎に設けられた各実プリンタドライバから検出する処理を行い、この検出された各プリンタの最新の稼働状況によってステータスウィンドの更新を行う技術が開示されている。
【０００３】
【特許文献１】
特開２００１−２９０６２３号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の技術によれば、例えば、分散印刷システムに係る複数のプリンタ等のデバイス情報をまとめて監視するような形態はとられていなかった。その為、ユーザは、分散印刷システムに関する情報を管理する場合には予め分散印刷システムを構成するデバイスを覚えておき、各々のデバイスを順次選択し選択したデバイスの情報を得る操作をする等、煩雑な作業を強いられていた。
【０００５】
さらには、仮想プリンタの形態として一種類の形態しか想定されておらず、様々な種別の仮想プリンタが混在するような印刷環境におけるデバイス／ジョブの管理をどのようにして行うかについては改善の余地があった。
【０００６】
本願発明は上記問題点に鑑みてなされたものであり、例えば分散印刷システムなどの、複数のプリンタを利用するような印刷システムに関して、容易にプリンタを管理することができるデバイス管理の仕組みを提供することを目的とする。
【０００７】
さらには、様々な種別の仮想プリンタが混在するような印刷環境におけるデバイス／ジョブの管理を効率よくできる仕組みを提供することを更なる目的とする。
【０００８】
【課題を解決するための手段】
本発明は上記課題を鑑みてなされたものであり、ネットワーク上の複数の印刷装置に対応する各メンバプリンタが関連付けられ、何れかの印刷装置を用いた印刷処理を行わせる仮想プリンタ及び印刷装置の状態を管理するプリンタ管理方法において、メンバプリンタに係る情報として、メンバープリンタに対応する印刷装置のエラー或は警告を含む状態情報をネットワークを介して印刷装置から取得する取得ステップと、仮想プリンタ及び複数のうちの何れかのメンバプリンタを指示する為で且つ前記仮想プリンタ及び複数のメンバプリンタを一覧にしたプリンタリストを管理し表示させるプリンタリスト管理ステップと、前記プリンタリストより仮想プリンタが選択されたかメンバプリンタが選択されたかを判定する判定ステップと、前記判定ステップの判定により、仮想プリンタが選択されたと判定した場合には仮想プリンタに関連付けられた各メンバプリンタについて前記取得ステップで取得された状態情報を表示させ、何れかのメンバプリンタが選択されたと判定した場合には選択されたメンバプリンタの前記取得ステップで取得された状態情報を表示させる表示制御ステップとを備え、前記仮想プリンタに関連付けられた各メンバプリンタには前記選択された何れかのメンバプリンタが含まれることを特徴とする。
【００２０】
【発明の実施の形態】
以下、本発明を適用するのに好適である実施形態について説明を行う。
【００２１】
図１は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、１台、または複数台接続されていることを仮定している。
【００２２】
図１において、１０２、１０３、１０４はクライアントコンピュータ（クライアント）としての情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタドライバをサポートするものとする。また、プリンタとしては印刷装置であるところの、電子写真方式を最小したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等様々な方式のものに適応できることも無論想定される。
【００２３】
１０１は本実施形態のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０６に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０６に接続されている複数のプリンタを管理している。
【００２４】
構成としては、クライアント１０２〜１０４とプリントサーバ１０１は、一般的な情報処理装置であり、クライアントとプリントサーバには、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。
【００２５】
また、プリントサーバ１０１は、一般的な情報処理装置であり、クライアント１０２〜１０４の機能を同時に持つこともできる。
【００２６】
本実施形態におけるプリントサーバ１０１は、さらにクライアントコンピュータ１０２、１０３、１０４から印刷要求が出された印字データを含む印刷ジョブを格納して印刷したり、または、クライアントコンピュータ１０２、１０３、１０４から印字データを含まないジョブ情報のみ受け取り、クライアントコンピュータ１０２、１０３、１０４の印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知したり、ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得し、クライアントコンピュータ１０２、１０３、１０４に通知したりする機能を揃えている。
【００２７】
１０５は印刷制御装置であるネットワークプリンタであり、図示省略したネットワークインタフェースを介してネットワーク１０６と接続されており、クライアントコンピュータから送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換して、１ページ毎に印刷する。１０６はネットワークであり、クライントコンピュータ１０２、１０３、１０４、サーバ１０１、ネットワークプリンタ１０５等と接続している。
【００２８】
図２は、本実施の形態における情報処理装置の構成を説明するブロック図であり、情報処理装置であるクライントコンピュータ１０２、１０３、１０４も同じ構成であり、さらにサーバ１０１も同様あるいは同等のハードウエア構成とする。よって、クライアントとサーバの構成を説明するブロック図として説明する。
【００２９】
図２において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００３０】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００３１】
２０３は記憶媒体読み込み手段としてのフロッピー（Ｒ）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００３２】
２０４は記憶媒体であるフロッピー（Ｒ）ディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００３３】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。さらにスプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【００３４】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００３５】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００３６】
２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。
【００３７】
２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００３８】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００３９】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラムおよび関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００４０】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００４１】
また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００４２】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアントにおいて印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含み、また、プリントサーバにおいて、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本発明の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成も可能である。
【００４３】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００４４】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００４５】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアント、サーバ共、同様の構成をとっている。
【００４６】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。
【００４７】
図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。
【００４８】
次に本実施の形態における、プリンタを複数台使用して、前述の分散、同報、代行といった印刷処理を行う、印刷ジョブ制御システムについて説明する。
【００４９】
なお、本実施の形態では、複数のプリンタを１台のプリンタとして仮想的に束ねるプリンタをグループプリンタ、束ねられるプリンタをメンバプリンタと呼ぶ。また、それに対応するプリンタドライバをそれぞれグループプリンタドライバ、メンバプリンタドライバと呼ぶ。
【００５０】
図６は本システムのクライアントサーバモデルにおいてＭｉｃｒｏＳｏｆｔＷｏｒｄなどの一般的なアプリケーションから発行された印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。図６において、６００はクライアントマシンで、印刷ジョブ制御システムのクライアントモジュールが動作するマシンを指す。
【００５１】
通常、印刷の指示がされるとアプリケーションプログラムは一連の描画命令を生成し、プリンタドライバを経てＷｉｎｄｏｗｓ（Ｒ）Ｓｐｏｏｌｅｒに渡される。Ｗｉｎｄｏｗｓ（Ｒ）Ｓｐｏｏｌｅｒは、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタデバイスに送信させる手順をとる。
【００５２】
本実施の形態では、ユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ６２１（以降、本実施例ではジョブ制御ポートモニタと略記）を指定して印刷を指示する。アプリケーションプログラム６０１は一連の描画命令を生成する。描画命令を受け取ったグループプリンタドライバ６０３では、汎用印刷ファイルを生成し、プリンタデバイスへプリントジョブデータを送信するポートモニタではなく、ジョブ制御ポートモニタ６２１にプリントジョブデータとして送信する。ジョブ制御ポートモニタ６２１はプリントジョブデータをプリンタデバイス６５０に送信するのではなく、印刷ジョブ制御システム用プリントサービス６２２（以降、本実施例ではジョブ制御プリントサービスと略記）に送信する。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の管理するジョブ／デバイスの状態を管理する機能を備える。更に、デバイスとクライアントＰＣがピアツーピア接続環境で互いに動作するような場合には、ジョブ制御プリントサービス６２２はデバイスから通知されるデバイス状態やジョブの状態などの情報を管理したり、また、デバイスに対して所定の命令をする機能も備える。これは、複数のプリンタデバイス６５０のデバイス情報やジョブ情報を管理する機能に相当する。
【００５３】
印刷ジョブ制御システム用プリントマネージャ６２３（以降、本実施例ではジョブ制御プリントマネージャと略記）は、ユーザがジョブ制御プリントサービス６２２内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作しりするためのユーザインタフェース（ＵＩ）を提供するプログラムである。
【００５４】
ジョブ制御プリントマネージャ６２３はジョブ制御プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ）を介して、ジョブ制御プリントサービス６２２と情報の送受信を実行し、主に、ジョブ制御プリントサービス６２２が管理する外部のプリンタデバイスの状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレー満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。
【００５５】
印刷ジョブ制御システム用サーバ６３０（以降、本実施例ではジョブ制御サーバと略記）は、個々のクライアント６００上のジョブ制御プリントサービス６２２がプリンタデバイス６５０にプリントジョブデータを送信するタイミングを集中制御（スケジューリング）している。また、印刷ジョブ制御システム用サーバ６３０はネットワークを介して通信可能な各デバイス（印刷装置）の印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスを監視し、ジョブ制御プリントサービス６２２にイベントを通知する機能を備える。ここで、プリンタステータスの状態変化の監視について、ジョブ制御プリントサービス６２２は直接的に状態の変化の通知（イベント）をプリンタデバイスから取得することもできる。
【００５６】
印刷ジョブ制御システム用マネージメントコンソール６３３（以降、本実施例ではジョブ制御マネージメントコンソールと略記）は、ジョブ制御サーバ６３０が持つソフトウェアがアクセスするためのＡＰＩを介してジョブ制御サーバ６３０と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【００５７】
また、ジョブ制御サーバ６３０はデバイス情報コントロールモジュール６３１を用いて各プリンタデバイス６５０と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報はクライアント６００側のジョブ制御プリントサービス６２２に渡すことができる。
【００５８】
次に本実施の形態におけるグループプリンタドライバ６０３からの印刷について説明する。
【００５９】
グループプリンタドライバ６０３はアプリケーションプログラムが生成した一連の描画コマンドを、プリンタデバイスの種類に依存しない中間フォーマットのファイルである汎用印刷ファイルに変換する。この汎用印刷ファイルの構成については後述する。
【００６０】
この汎用印刷ファイルは前述したようにＷｉｎｄｏｗＳ（Ｒ）スプーラ６０４からジョブ制御ポートモニタ６２１を経て（ａ）、ジョブ制御プリントサービス６２２に導かれる（ｂ）。ジョブ制御プリントサービス６２２はこのプリントジョブに対して行うジョブ制御の種類に応じて、汎用印刷ファイルをもとに描画コマンドを生成し（ｃ）、続いてＰＤＬドライバ６０２がその描画コマンドをプリンタデバイス６５０が解釈可能なＰＤＬファイルにする。図６では、ジョブ制御プリントサービス６２２で、このプリントジョブに対してプリントジョブをふたつに分けるジョブ制御が行われる例で、２つのメンバジョブが生成された例を２つの矢印（ｃ）で示している。ＰＤＬドライバ６０２で生成されたＰＤＬファイルはＷｉｎｄｏｗｓ（Ｒ）スプーラ６０４、ジョブ制御ポートモニタ６２１を経て（ｄ）、再びジョブ制御プリントサービス６２２に渡される（ｅ）。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の指示に従ってＰＤＬのプリントジョブデータをプリンタデバイス６５０に送信する（ｆ）。
【００６１】
ジョブ制御プリントサービス６２２は、汎用印刷ファイル中の印刷指示書の指示にしたがって、一つの汎用印刷ファイルを複数のプリントジョブに論理的に分割してそれぞれ別のプリンタデバイスに送信したり、一度送信したプリントジョブデータを別のプリンタデバイスに送信し直したりする。図Ａ中の（ｃ）（ｄ）（ｅ）（ｆ）はそのような場合のプリントジョブデータの経路を示している。
【００６２】
一方、汎用印刷ファイルをアプリケーションソフトウェアが作成し、そのアプリケーションソフトウェアが直接汎用印刷ファイルを印刷ジョブとして投入する場合、一般のアプリケーションとはグループプリンタドライバ６０３への情報の渡し方や、グループプリンタドライバ６０３での処理内容が異なる。前述のように、一般のアプリケーションの場合、アプリケーションはグループプリンタドライバ６０３に描画情報を渡す際、通常のプリンタドライバと同じようにＷｉｎｄｏｗＳ（Ｒ）のＧＤＩ関数を呼び出し、グループプリンタドライバ６０３がそれに応じて汎用印刷ファイルを生成する。これに対して汎用印刷ファイルを直接作成するアプリケーションの場合は、アプリケーションが汎用印刷ファイルをすでに持ち、それをグループプリンタドライバ６０３に供給する。グループプリンタドライバ６０３は必要に応じてあらかじめ設定された印刷方法にもとづいて汎用印刷ファイル内部の印刷指示書を書き換えてＷｉｎｄｏｗＳ（Ｒ）Ｓｐｏｏｌｅｒ６０４に送る。
【００６３】
図８は、汎用印刷ファイルの構成の一例を示した図である。
【００６４】
本実施の形態で使用される汎用印刷ファイルは、印刷指示部８−ａと、ドキュメントデータ部８−ｂからなる。印刷指示部は、ドキュメントの情報と印刷指示を記述した部分である。また、ドキュメントデータは、アプリケーションのデータを汎用的な形式のデータに変換したものであり、プリンタ言語に依存しないデータフォーマットとなっている。
【００６５】
印刷指示部はヘッダ部、ページ情報部、印刷体裁指示部、出力方法指定部、グループプリンタドライバ設定情報部、メンバプリンタ数、メンバプリンタドライバ名、メンバプリンタドライバ設定情報部などから構成されている。
【００６６】
ヘッダ部は本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。
【００６７】
ページ情報部は、ドキュメントデータ部８−ｂのドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。
【００６８】
印刷体裁指示部は、印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報（Ｎ−ＵＰや製本印刷など）、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。
【００６９】
出力方法指定部は、出力方法として、分散印刷、カラーモノクロ分散印刷、代行印刷、同報印刷などの情報を格納する部分である。
【００７０】
グループプリンタドライバ設定情報部は、後述するグループプリンタドライバのＵＩの設定情報を格納する部分である。
【００７１】
メンバプリンタ数はグループプリンタドライバが関連付けているメンバプリンタの数を格納する部分である。
【００７２】
メンバプリンタドライバ名は、メンバプリンタのプリンタドライバ名を格納する部分である。
【００７３】
メンバプリンタドライバ設定情報部はメンバプリンタのドライバＵＩの設定情報として例えばＤＥＶＭＯＤＥ情報を格納する部分である。
【００７４】
このメンバプリンタドライバ名とメンバプリンタドライバ設定情報部は、前述のメンバプリンタ数に格納された数だけの格納エリアを持っている。
【００７５】
前述の図６で説明したグループプリンタドライバ６０３では、汎用印刷ファイルを生成する際、グループプリンタドライバＧＵＩ上の設定を印刷指示部８−ａへ記録する。さらに、グループプリンタドライバ６０３はＧＤＩで受け取ったデータを汎用的なデータに変換しｈキュメントデータとして、本汎用印刷ファイルのドキュメントデータ部に記録することとなる。
【００７６】
次に図７でＷｉｎｄｏｗＳ（Ｒ）が提供するＰｒｉｎｔＳｙＳｔｅｍと印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要をさらに詳しく述べる。
【００７７】
図７中で印刷ジョブ制御システム７００は、サーバとクライアントの制御プログラムが動作する物理的なマシンをまたいだ、印刷ジョブ制御システムの範囲を示している。また、サーバが管理している出力ポート（Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１１は、クライアントのジョブ制御プリントサービス６２２のプロキシ出力ポート（Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１２と関連付けられ、ひとつのポートに関連づけられた各クライアント上のプロキシ出力ポート全てを統一的に管理している。本実施例では、実際のプリントジョブデータはおのおののクライアントのプロキシ出力ポート７１２に保持される。ジョブ制御サーバ６３０は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス６２２に対して印刷ジョブの送信指示のみを行う。その指示に応じてクライアントのジョブ制御プリントサービス６２２はプリントジョブデータをデバイス６５０に送信する。
【００７８】
次に、印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合の処理を説明する。
【００７９】
印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合には、前述のようにユーザまたはアプリケーション６０１はグループプリンタドライバ６０３が割り当てられたプリンタに印刷ジョブを発行しなければならない。ジョブ制御プリントサービス６２２は、グループプリンタドライバ６０３によって処理されたジョブデータをジョブ制御ポートモニタ６２１を介して汎用印刷ファイルとして受け取る。尚、汎用印刷ファイルの生成（構築）はグループプリンタドライバ６０３に汎用印刷ファイルの元となる汎用印刷データを生成され、ジョブ制御プリントサービス６２２によって汎用印刷データを統合して汎用印刷ファイルを構築するようにしてもよい。
【００８０】
ジョブ制御プリントサービス６２２はこのジョブを受け取り、ＤｅＳｐｏｏｌｅｒ７０１を介してＰＤＬドライバが割り当てられた別のプリンタにジョブ（メンバジョブ）を発行して印刷を行わせるよう指示する。
【００８１】
この時、ＤｅＳｐｏｏｌｅｒ７０１は前述の図８で説明した汎用印刷ファイルの印刷指示部８−ａを解釈し、ドキュメントデータ部８−ｂのドキュメントデータを加工して、Ｗｉｎｄｏｗｓ（Ｒ）のＧＤＩに変換し、各プリンタドライバに対して印刷指示を行い印刷ジョブを発行する。例えば印刷体裁指定部に、２−ＵＰの指示が記録されていた場合、用紙１枚に２ページ分のドキュメントデータを縮小レイアウトする。また分散印刷あるいは同報印刷の場合には、それらの設定に応じて印刷指示部８−ａに記述されている複数のメンバプリンタにジョブを発行する。代行印刷の場合は、代行する条件が満たされた時に、自動代行では事前の設定、手動代行ではユーザの操作に応じてメンバジョブを発行する。
【００８２】
また、ＤｅＳｐｏｏｌｅｒ７０１は各メンバプリンタにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、各メンバプリンタのＤＥＶＭＯＤＥを作成する必要があるが、このＤＥＶＭＯＤＥは印刷指示部８−ａに記載された内容を適宜各メンバプリンタのＤＥＶＭＯＤＥに反映させて生成する。
【００８３】
クライアント側のジョブ制御プリントサービス６２２は、ＰＤＬドライバ６０２によってレンダリングされた、それぞれのメンバジョブのＰＤＬデータをジョブ制御ポートモニタ６２１を介して受け取り、受け取ったジョブに関する情報をサーバ側に知らせ、ジョブデータは自身のプロキシ出力キュー（Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１２で一時保持する。その後、ジョブ制御サーバ６３０からの送信指示を受けた後にプリントデバイス６５０に送信する。
【００８４】
次に図９の説明を行う。図９は後述する図１０、１２等の印刷設定を行う為のグループプリンタドライバのインターフェースを構築する為のメンバプリンタドライバの登録処理に相当する。
【００８５】
まずステップＳ９０１でセットアップを準備を行いセットアップを開始する。
【００８６】
ステップＳ９０２でメンバープリンタに登録するプリンタドライバをマウス等のポインティングデバイスを介して選択し、インストール対象とする。
【００８７】
次にステップＳ９０３で、前記選択したプリンタドライバをインストールし、メンバプリンタドライバとして登録設定を行う。
【００８８】
次にステップＳ９０４でインストールされたプリンタドライバに対応したプリンタ情報を取得する。プリンタ情報（デバイス情報）としては、例えば、サポート用紙サイズがＡ３，Ａ４，Ｂ５であるといった情報や、両面可能かどうか、ステイプル可能かどうか、その他、フィニシングの機能として、パンチ穴が可能か、Ｚ折りが可能かなどを入力する。ここで、プリンタ情報の取得方法には、インストールされたプリンタドライバが、対応するプリンタデバイスに所定のネットワークを介して問い合わせ取得したプリンタ情報を本制御プログラムが取得するような形態や、キーボード等から入力された設定値をプリンタ情報として登録させるような処理の形態が想定される。
【００８９】
次にステップＳ９０５で対象となるメンバプリンタドライバのインストールを完了させるか否か判断し、完了でなければ前記ステップＳ９０２に戻り、再び選択指示に応じて選択されたプリンタドライバをメンバプリンタドライバとして登録させる処理を繰り返す。一方、完了であればステップＳ９０６に進む。
【００９０】
ステップＳ９０６では、ステップＳ９０４で取得されたデバイスの属性情報の設定値を、例えばシステムのレジストリなどにプリンタドライバの名称とともに記憶し保持する。このような図９のフローチャートの処理を経て、後述する図１０、図１２に示すようなユーザインターフェースが構築され、例えば、図１０の１００６に示されたデバイス情報は、前記ステップＳ９０６で保存した情報を該当するメンバプリンタごとに表示したものに相当する。
【００９１】
次に、先に例に取り上げた図１０を用いて本実施の形態のユーザインターフェイス（グループプリンタドライバＵＩ）を具体的に示して説明する。
【００９２】
図１０において、１００１は出力方法を選択し、指定する為のコンボボックスである。この１００１のコンボボックスをマウス等のポインティングデバイスを介して指示すると、複数の出力方法のリストが表示され、該表示されたリストより所定の出力方法の指定が為される。
【００９３】
１００２は所定の種別のグループプリンドライバに対してメンバプリンタドライバの登録を行うためのＵＩを開くボタンである。ここで開かれるＵＩについては後述する。ここで、所定の種別としては、例えば、図１０に示されるように割合分散のグループプリンタドライバ、或は、後述するカラー／白黒分散処理のグループプリンタドライバや、その他、自動代行、同報印刷に係るグループプリンタドライバなどが想定される。
【００９４】
図１０の１００３はメンバプリンタを登録した後に、登録されたメンバプリンタドライバの一覧を表示するリストボックスである。
【００９５】
このＵＩの例では、メンバプリンタドライバの名称とともにそのメンバプリンタに関する各種情報も表示している。また、この一覧表示の内容は１００１のプルダウンメニューの中から指定した出力方法に従って、その表示内容も変更される。即ち複数種類の出力方法毎に夫々メンバープリンタドライバの構成を有している。これによって、ユーザは出力方法毎に適したメンバプリンタドライバを容易に呼び出すことができ、わざわざ出力方法を変更する度に新たなメンバプリンタドライバを登録する必要がなくなる。
【００９６】
また、１００７は例えば、図１１のようなＵＩを介して登録したメンバプリンタドライバを出力対象のプリンタドライバとして、一時的に構成に含まれないようにしたり、或は、含まれないような状態からメンバプリンタドライバの構成に追加したりするチェックボックスである。このチェックボックスのチェックが有りの時は、そのメンバプリンタを対象プリンタドライバとみなし、チェックが無しの時にはそのメンバプリンタドライバを一時的に対象プリンタドライバから外す処理が施される。言い換えれば、１００７の選択肢に含まれるメンバプリンタドライバが一次登録処理によって登録されたものに相当し、また、チェックボックスをチェックすることによりメンバプリンタドライバを実際の印刷処理の対象プリンタドライバとすることは二次登録処理に相当する。
【００９７】
このようにメンバプリンタドライバの登録において、一次登録と二次登録の二段階の設定の仕組みが本発明により可能になり、例えば、通常の分散印刷では、印刷処理の対象としているような所定のメンバプリンタドライバに対して、一次的に該所定のメンバプリンタドライバを対象から外すことができたり、また逆に故障していた印刷装置が復帰したような場合には、チェックボックスの操作により再び実際の印刷処理の際に起動されるメンバプリンタドライバとすることができる。これは、出力方法毎に登録（一次登録）されたメンバプリンタの情報と、チェックボックスのチェックにより利用されるメンバプリンタドライバとされているか否かの情報とを、夫々別々に所定の記憶部に保持させる構成により実現される。
【００９８】
更に、本発明においては、上に説明した一次登録、二次登録が、複数の出力方法毎に設定可能であり、割合分散印刷を始め、後述する同報印刷、カラー／白黒分散印刷、代行印刷の夫々に独立して一次登録、二次登録が処理されるようになっている。
【００９９】
また、１００６は各デバイスの属性情報の表示欄である。グループプリンタドライバに設定されている各メンバプリンタドライに対応するデバイスの属性情報を、メンバプリンタドライバの名称と共に、制御プログラムの表示制御に応じて表示されたものに相当する。
【０１００】
次に、メンバプリンタドライバの登録／削除について、図１１を参照しつつ説明する。
【０１０１】
図１１は先に説明した図１０における１００２の「デバイスの追加／削除」ボタンの押下信号を本制御プログラムが認識した際に表示されるＵＩである。
【０１０２】
図１１において、１１０１は選択可能なメンバプリンタドライバの一覧を表示するリストボックスである。選択可能なメンバプリンタドライバとは、本システムがハンドリング可能なポートを割り付けてインストールしてあるプリンタドライバであり、本制御プログラムが存在を認識することができるプリンタドライバとなる。
【０１０３】
１１０２は選択したメンバプリンタドライバの一覧を表示するリストボックスである。１１０３、１１０４、１１０５、１１０６の夫々のボタンにより、選択可能なメンバプリンタ一覧よりメンバプリンタに追加、削除を行うことが可能となっている。
【０１０４】
１１０３の押下信号を認識した際には、１１０１にて押下時に選択されているプリンタドライバをメンバプリンタドライバの一構成として追加する処理を行う。
【０１０５】
また、１１０４の押下信号を認識した際には、１１０１のリストに示される全てのプリンタドライバを対象として１１０２に表示されるメンバプリンタドライバを構成するものとするよう制御する。
【０１０６】
また、１１０５は、１１０３、１１０４とは逆でメンバプリンタドライバから外すためのボタンを示し、１１０３、１１０５の押下信号が認識されると１１０２のメンバプリンタドライバの構成から外されるよう、対象となるメンバプリンタドライバは制御される。また、図１１のようなユーザインターフェースを介しての設定は各出力方法毎（分散印刷、代行印刷等）に起動可能であり、図９に加えて図１１を介しも出力方法毎のメンバプリンタドライバの構成が変更可能となる。
【０１０７】
図１２は図１００１の選択リストより自動代行印刷が選択され出力方法として設定された場合のＵＩの表示様子の例を示したものであり、登録されたメンバプリンタドライバの構成が出力方法の指定に応じて切り替え表示された様子を示している。
【０１０８】
自動代行印刷では、メンバプリンタドライバの夫々に優先順位が設けられており、設定された優先順位の１番高いメンバプリンタドライバによりまず優先的に印刷が行われ、現在印刷処理を行わせようとしているプリンタデバイスにトナー無し等のエラーが発生し印刷不可能になった場合、自動的に次の優先順位のメンバプリンタドライバに印刷処理をさせるように制御が行われる処理が行われる。
【０１０９】
この場合メンバプリンタドライバの構成としては、割合分散（分散印刷）の場合と同様、複数登録可能であり、本制御プログラムは夫々のメンバプリンタドライバに対して優先順位を設定する機能を有している。
【０１１０】
図１２の１２０１、１２０２は、メンバプリンタドライバの優先順位を変更する為のボタンである。このＵＩの例ではメンバプリンタの優先順位は、メンバプリンタ一覧１２０３にリスティングされている順番と一致している。
【０１１１】
従って、１２０３のリストの一覧よりメンバプリンタドライバを選択し、１２０１のボタンにより、メンバプリンタリスト上の順番を１つ上げる（上のほうに移動表示）と共に、優先順位も上げることが可能である。
【０１１２】
また１２０２のボタンにより、メンバプリンタリスト上の順番を１つ下げる（下のほうに移動表示）するとともに、優先順位も下げることが可能である。
【０１１３】
また、先に説明したメンバプリンタドライバの登録（追加／削除）についても、第２の実施の形態において説明した通りであり、図１１に示されるものと同様なＵＩが表示されるような制御が行われ、メンバプリンタの登録削除処理が行われる。
【０１１４】
次に、上に説明してきたような複数のプリンタを対象とするような印刷システムにおける複数のプリンタの管理の仕組みについて以下説明することとする。
【０１１５】
図１４は図６にて説明したプリントマネージャー６２３の制御処理を示すものであり、情報処理装置に設けられたＣＰＵ（中央演算処理装置）がＲＯＭ、ＨＤ等の不揮発性記憶手段に記憶されたプログラムコードを読み込み実行することに応じて実現されるものとする。
【０１１６】
まず、ユーザからのマウス、キーボード等のポインティングデバイスを介した起動指示に応じて、タスクトレイ起動処理が実行される。
【０１１７】
そして、ステップＳ１４０１では、タスクトレイ起動処理における起動初期化処理が実行される。
【０１１８】
そして、ステップＳ１４０２では、デバイス・ジョブ監視サービスインターフェースの構築が行われる。ここでの、デバイス・ジョブ監視サービスインターフェースとは、図６のジョブ制御プリントサービス６２２とのインターフェースに相当し、ジョブ制御プリントサービスモジュールが管理するデバイスステータスやプリントキュー情報などをプリントマネージャーが取得する際のインターフェースに相当する。
【０１１９】
そして、ステップＳ１４０３では、監視対象プリンタの列挙処理が行われる。ここでの列挙処理とは、プリントマネージャー６３３がジョブ制御プリントサービス６２２から取得した単数或は複数のプリンタの管理情報を取得し把握する処理に相当し、ジョブ制御プリントサービス６２２から取得し管理する情報の管理様子としては例えば、図１８、図１９が挙げられる。
【０１２０】
ここで、プリントマネージャー６２３がジョブ制御プリントサービス６２２から取得するプリント情報にグループプリンタ（仮想プリンタ）とメンバプリンタ（実際に稼動する実プリンタ）とが含まれる。
【０１２１】
そして、ステップＳ１４０４では、不明ジョブ探索・復帰モジュールのエラー／トラブル回復処理が実行される。例えば、強制終了時に残存していたジョブの再印刷処理などがこれに相当する。
【０１２２】
ステップＳ１４０５では、プリンタ情報変化に伴うイベント要求登録処理がプリントマネージャー６２３からジョブ制御プリントサービス６２２に対して登録される。実際には、ジョブ制御プリントサービス６２２がネットワーク上に通信可能にされた複数の画像形成デバイスの状態を管理しており、このジョブ制御プリントサービス６２２によって管理される画像形成デバイス状態の変化がプリントマネージャー６２３に対して通知される。ステップＳ１４０５はこのジョブ制御プリントサービス６２２にて管理される画像形成デバイスの状態変化の通知の依頼に相当するものであり、無論、プリントマネージャー６２３からジョブ制御サーバ６３０、或は、プリントデバイス６５０に直接イベント通知を依頼するような形態も想定される。
【０１２３】
そして、ステップＳ１４０６では、詳細モニタ表示要求が成されたか否かの判定が実行される。例えば、ステップＳ１４０１で生成された詳細モニタ起動ボタンに対するポインティングデバイスを介した起動指示がなされたか否かの判定処理がこのステップＳ１４０６に相当する。
【０１２４】
そして、ステップＳ１４０６でＹｅｓと判定されれば処理をステップＳ１４０８に移行し、Ｎｏと判定されれば処理をステップＳ１４０９に移行する。
【０１２５】
ステップＳ１４０８では詳細モニタＵＩモジュールによる処理が実行されるが、この詳細は後述する図１５にて詳しく説明する。
【０１２６】
そして、ステップＳ１４０９、１４１０では、ジョブを実行中のデバイス及びジョブに関する監視処理が実行され、ステップＳ１４１１ではジョブ終了通知監視処理が実行される。
【０１２７】
そして、ステップＳ１４１２では起動されたプログラムの終了指示がなされたか否かの判定が行われ、Ｙｅｓと判定されればプログラム処理を終了し、Ｎｏと判定されればステップＳ１４０７にて監視対象プリンタの更新チェック処理が実行され、ステップＳ１４０６の処理に戻る。ステップＳ１４０７の監視対象プリンタの更新チェック処理とは、例えば、図１１のようなユーザインターフェースを介して行われたメンバプリンタの追加／削除を管理することに相当する。
【０１２８】
次に図１５の説明を行う、図１５は先の図１４のフローチャートのステップＳ１４０８の詳細な処理に相当する。
【０１２９】
まず、ステップＳ１５０１では、起動初期化処理が実行される。これは後述する、例えば、図２０に示されるような表示を実現する為に必要な種初期化処理に相当する。
【０１３０】
次にステップＳ１５０２では、監視対象プリンタの列挙処理が実行される。ここでの列挙処理は、監視対象となる複数のプリンタ（グループプリンタ（仮想プリンタ）、メンバプリンタ（実プリンタ）の双方を含む）情報のジョブ制御プリントサービス６２２からの取得処理、及び、取得されたプリンタリストの表示処理を含むものとする。例えば、図２０の「プリンタ一覧」の枠内に示されるプリンタリスト２００１がステップＳ１５０２の処理に対応して表示されたものに相当する。また、図２１、２２、２３、２４の「プリンタ一覧」のプリンタリストもこれに相当する。また、該プリンタリストに仮想プリンタと実プリタンとを含むことに特徴を有する。また、のリスト中の仮想プリンタ及び実プリンタには、夫々のプリンタ（仮想プリンタ／実プリンタ）の状態を示す状態アイコンが付されており、実プリンタに関する状態アイコンを図１３（ａ）に仮想プリンタに対応する状態アイコンを図１３（ｂ）に示す。ここで、プリンタ（仮想プリンタ／実プリンタ）の状態が変更されることに応じて、状態アイコンも変化されるよう制御が行われる。例えば、仮想プリンタに対応するメンバプリンタの状態を「ｏｒ」処理することによって仮想プリンタの状態を決定し、該決定された状態に対応したアイコンを決定することができる。複数のメンバプリンタのうち１つでも状態が「スプーラ停止」ならば、該複数のメンバプリンタに対応する仮想プリンタの状態及び該状態に対応するアイコンを「スプーラ停止」停止にしたり、複数のメンバプリンタのうち１つでも状態が「エラー」ならば、対応する仮想プリンタの状態及び該状態に対応する状態アイコンも「エラー」とするような制御が想定される。
【０１３１】
そして、ステップＳ１５０３では、起動時表示メニュー指定表示処理が実行される。これは、プログラム起動時にメニュー項目に割り当てられるメニューの表示を変更指定可能な形態で表示させる処理に相当する。
【０１３２】
そして、ステップＳ１５０４では、モード選択指示が成されたか否かの判定が実行され、”マイメニュー”に対応する指示が成されたと判定された場合には、処理をステップＳ１５０５に移行させ、”プリンタ一覧メニュー”に対応する指示がなされたと判定された場合には処理をステップＳ１５０６に移行させる。尚ここでのモード選択指示とは所定のメニューを選択指示する処理を指すものとする。
【０１３３】
ステップＳ１５０６では、ステップＳ１５０２の処理に伴に列挙された複数のプリンタから、どのプリンタが選択指示されたか否かを判定すると共に、選択されたプリンタを認識する処理を実行する。また、認識されたプリンタが仮想プリンタである場合には、指示選択に応じて特定される仮想プリンタ名（仮想プリンタを特定する為の情報）から図１８に示されるような管理情報が読込まれ、後述する図１６の各ステップの処理で利用される、例えば、ステップＳ１６０６によって取得される情報は図１８の１８０２の情報より特定されたり、また、図１８の管理情報の１８０３、１８０４の仮想プリンタに対応するメンバプリンタを特定する為の情報はステップＳ１６０９で、また、１８０５、１８０６のなどのメンバプリンタのジョブ／プリンタの状態や付属情報などのメンバプリンタに関する詳細情報はＳ１６１１の処理に利用される。
【０１３４】
一方、図１９に示される管理情報は図１６のステップＳ１６１３からＳ１６１５のメンバプリンタ（実プリンタ）の詳細情報の特定に利用される。例えば、１９０３には実プリンタの詳細な状態情報が格納されている。
【０１３５】
そして、ステップＳ１５０７では、さらに現在どの種別のモード選択がなされているか否かの判定が行われ、そのモードの種別に応じて、ステップＳ１５０６にて現在選択されていると認識されているプリンタに係る情報の表示の形態を異なるように制御する。尚、ここでのモード選択とは、例えば、図２０中の２００２の選択欄を介して指示されたモード指示を指すものとする。
【０１３６】
ステップＳ１５０７で、モードとして”プリンタ情報”が選択されていると判定されれば、処理をステップＳ１５０８に移行させ、”ジョブリスト”が選択されていると判定されれば、処理をステップＳ１５０９に移行させ、”出力設定”が選択されていると判定されれば、処理をステップＳ１５１０に移行させる。ステップＳ１５１０においては、ステップＳ１５０６において選択されたプリンタの設定情報（用紙サイズ、デフォルト解像度等）を表示させる。尚、ステップＳ１５０８に対応した詳細な説明は後述の図１６にて行うこととする。
【０１３７】
このように、図１５のフローチャートの処理が実行されることにより、ステップＳ１５０２で列挙された単数或は複数の監視対象プリンタの中から選択された所定のプリンタ（仮想プリンタ／実プリンタを含む）に対して、プリンタ情報やジョブリストや出力設定などモード選択に応じた各種情報を切換え表示させることが可能となる。
【０１３８】
さらには、ステップＳ１５０６ではグループプリンタ（仮想プリンタ）と実プリンタ（メンバプリンタ）とを混在させリスティングさせているにも係らず、ユーザはその中から仮想プリンタ／実プリンタの何れかを意識することなく同様の要領で選択でき、該選択指示に応じて最適なプリンタ情報やジョブリスト情報や出力設定情報を知ることができるようになる。
【０１３９】
次に図１６の説明を行う。図１６は上に説明した図１５のステップＳ１５０８の詳細な説明に対応したフローチャートに相当する。
【０１４０】
まず、ステップＳ１６０１では、選択プリンタの状態イベント登録が実行される。これは図１５のステップＳ１５０６で選択されたプリンタに係る状態の変化をイベントとして要求する処理に相当する。実際には、図６のプリントマネージャー６２３がジョブ制御プリントサービス６２２にイベントの通知を依頼する形態が想定される。
【０１４１】
そして、ステップＳ１６０２ではステップＳ１６０１にて認識されたプリンタの種別がグループプリンタ（仮想プリンタ）／メンバプリンタ（実プリンタ）なのか、或は、インクジェットプリンタ／レーザービームプリンタ／ネットワーク対応デジタル複合機なのかに応じて、異なる情報取得処理を行う為の初期化処理を実行する。
【０１４２】
そして、ステップＳ１６０３、Ｓ１６０４ではステップ１６０６で選択されたプリンタに対応するキュー情報、ポート情報のジョブ制御プリントサービス６２２から取得する処理を実行する。ここで、ジョブ制御プリントサービス６２２では、グループプリンタ（仮想プリンタ）、メンバププリンタ（実プリンタ）の夫々に対応して仮想プリンタ用のキュー（図７中のｌｏｇｉｃａｌ  Ｑｕｅｕｅに相当）、メンバプリンタキュー（図７中の各Ｐｒｉｎｔｅｒ  Ｑｕｅｕｅに相当）、仮想プリンタ論理ポート（図７中のＬｏｇｉｃａｌ  Ｐｏｒｔに相当）、メンバプリンタ論理ポート（図７中の各Ｏｕｔｐｕｔ  Ｐｏｒｔに相当）を管理しており、指定されたプリンタに応じて管理する情報をプリントマネージャー６２３に通知するような処理が実行される。
【０１４３】
そして、ステップＳ１６０５では、ステップＳ１６０１〜１６０４までの処理の対象となるプリンタがグループプリンタ（仮想プリンタ）なのかメンバプリンタ（実プリンタ）なのかの判定が行われる。仮想プリンタと判定されれば、処理をステップＳ１６０６に移行させ、そうでないならば処理をステップＳ１６１３に移行させる。このように表示された仮想プリンタとメンバプリンタ（実プリンタ）とを指示する為のプリンタリストを管理し表示させ、表示されたプリンタリストより仮想プリンタが指示されたかメンバプリンタが選択されたかを判定し、該判定に応じて仮想プリンタ対応情報とメンバプリンタ対応情報の表示を切り替えることが可能となる。これにより、ユーザは仮想プリンタと実プリンタとをあたかも同様に扱えることが実現される。
【０１４４】
ステップＳ１６０６では、仮想プリンタの種別（図１８中の仮想プリンタモードタイプに相当）が判別される。すなわち、仮想プリンタの出力方法が割合分散印刷なのかカラー／白黒分散印刷なのか自動代行印刷なのか同報印刷なのかの判別が行われる。
【０１４５】
そして、ステップＳ１６０７、Ｓ１６０８ではステップＳ１６０６において判別された出力方法の種別に応じたＵＩの表示（例えば、割合分散の場合は後述する図２０が例として挙げられる。）がなされる。このＵＩの表示は、出力方法の種別の情報を、選択されたプリンタの識別情報をもとに本システム内の印刷ジョブ制御システムに問い合わせることにより取得する。即ち、プリンタ名の問い合わせに応じて図１８の１８０１や図１９の１９０１が参照され該当するプリンタ名に対応する仮想プリンタモードタイプ１８０２やプリンタドライバ名（モデル名）１９０２が応答される。なお出力方法の種別は仮想プリンタモードタイプ（分散印刷／同報印刷／カラーモノクロ分散印刷／同報印刷）に対応する。そして、取得された出力方法の種別に対応したＵＩを表示させる為の情報が保持部から読み出され、読み出された情報に基づく表示がされる。
【０１４６】
そして、ステップＳ１６０９では、仮想プリンタに対応したメンバプリンタの列挙処理が実行される。該列挙処理は例えば、図２０の出力先の欄に示されるメンバプリンタの特定及び表示処理に相当する。ここで、仮想プリンタ（グループプリンタ）に対応して特定されるメンバプリンタ（実プリンタ）としては、図９、或は、図１１のユーザインターフェイスを介して登録されたメンバプリンタが相当し、図９、或は、図１１を介して登録された仮想プリンタの種別毎のメンバプリンタを特定することができる。
【０１４７】
また、更なる好適な形態として、図１０のユーザインターフェイスの１００７のチェックボックスを介して二次登録されたメンバプリンタを所定の種別の仮想プリンタの選択指示に対応するメンバプリンタとするようにすれば、ユーザが現在対象としているメンバプリンタに対してより的確な情報を得ることが可能となる。
【０１４８】
そして、ステップＳ１６１０では、ステップＳ１６０９にて列挙されたメンバプリンタに対応して、そのイベント登録がジョブ制御プリントサービス６２２に対して行われ、メンバプリンタの状態変化が随時監視するようにする。
【０１４９】
このステップＳ１６１０の詳細な動作を図２６のフローチャートに示す。図６にて説明した仕組みにより、イベント登録がなされたジョブ制御プリントサービス６２２は、各ステータスを収集するデバイスに対してステータスの通知を要求するようにイベントの登録を行う。尚、デバイスへのイベント登録とは、デバイスに対して所定のステータス変化があったような場合に、デイバスにて検知されたステータスを通知するようにクライアントから要求する処理を指す。デバイスへのイベントの通知の要求には、ＩＰアドレス、オーナー名、コンピュータ名等の通知先の情報、ジャムなどのエラー等の通知して欲しい状態の種別を示す情報などが含まれることがある。また、定期的なステータス通知の要求をデバイスに対して行うような場合は前記と同様のステータスが通知されてくる場合もある。
【０１５０】
ここで、ジョブ制御プリントサービス６２２は、既にイベントの登録を行っているようなデバイスに対しては重複してイベントを登録しないようにする。
【０１５１】
そして、デバイスに対してのイベント登録に基づいてデバイスから通知されてくるステータスをジョブ制御プリントサービス６２２はプリントマネージャー６２３に通知するようにする。これらの処理により大量の分散先や代行先や同報先に対して効率よくイベントの登録を行うことができ、余分なイベント登録に対応するステータス監視の無駄な処理を省くことができる。
【０１５２】
先ず所定のプリンタの選択がなされたと判断された場合にステップＳ２６０１の処理が実行される。ステップＳ２６０１では、仮想プリンタの選択／変更があったか否かが監視される。そして、仮想プリンタの選択／変更があった場合には、ステップＳ２６０２で選択／変更前の仮想プリンタと選択／変更後の仮想プリンタとで、重複するメンバプリンタの調査及び特定が行われる。また、ステップＳ２６０３では、変更前仮想プリンタの対象外となるメンバプリンタで、変更後の対象となっている新規メンバプリンタの調査及び特定が行われる。そして、ステップＳ２６０４では特定された新規メンバプリンタに対応するデバイスへのイベント登録が行われる。更に、ステップＳ２６０５では変更前仮想プリンタの対象となるメンバプリンタで変更後仮想プリンタの対象となっていない削除候補のメンバプリンタ調査及び特定が行われ、ステップＳ２６０６では削除候補となったメンバプリンタに対応するデバイスへのイベント登録が解除されるようにデバイスに対してイベント解除指示がなされる。
【０１５３】
一方、ステップＳ２６０１でＮＯと判断された場合には、メンバプリンタの選択／変更があったか否かが判断される。尚、ここでのメンバプリンタとは、単体のデバイスに一対一で設定された通常のプリンタと定義することもできる。ステップＳ２６０７でＹＥＳと判断された場合には、既にイベントの登録がなされているか否かがステップＳ２６０８で判断される。ステップＳ２６０８でＮＯと判断される場合としては、所定の仮想プリンタに関連したメンバプリンタのイベント登録により既にイベント登録がなされている等がある。
【０１５４】
例えば、図２０のようなクライアントの表示部に対して表示されたユーザインターフェイスを介して分散印刷の出力方法に対応した仮想プリンタ（図中では、「割合分散」）が選択された場合（Ｓ２６０１−ＹＥＳ）には、ステップＳ１６０９でプリンタＡと、プリンタＣが特定され、プリンタＡとプリンタＣとのデバイスへイベント登録を行うように、プリントマネージャ６２３からジョブ制御プリントサービス６２２に対して要求がなされる。
【０１５５】
そしてジョブ制御プリントサービス６２２はジョブ制御サーバ６３０を介してデバイスに状態／状態の変化の通知を要求する（Ｓ２６０４）。ここでは、初めて仮想プリンタが選択されたこととし、ステップＳ２６０５、Ｓ２６０６は省略されるものとする。
【０１５６】
そして、さらに図２０のユーザインターフェイスを介してカラーモノクロ分散の仮想プリンタが選択（Ｓ２６０１）されると、プリントマネージャ６２３はジョブ制御プリントサービス６２２にプリンタＢとプリンタＣとのデバイスに対してイベント登録を行うように要求する。
【０１５７】
ここで、ジョブ制御プリントサービス６２２はプリンタＢに対してはイベントの登録を行うことにより状態／状態の変化の通知を要求するが（Ｓ２６０４）、プリンタＡに対しては既に状態／状態の変化の通知を要求（イベント登録）していると判断されるので（Ｓ２６０２）、プリンタＡに対しては状態の変化の通知を要求（イベント登録）しない。即ち、指定／変更のあった仮想プリンタから特定されるメンバプリンタのうち変更前の仮想プリンタに対応するメンバプリンタと重複するメンバプリンタと、新規メンバプリンタとが夫々特定され、重複するメンバプリンタに対してはジョブ制御プリントサービス６２２からデバイスへのイベント登録は省略され、新たなメンバプリンタに対して効率よくイベント登録が行われる。また、ステップＳ２６０５で、変更前の仮想プリンタに対応するメンバプリンタで、変更後の仮想プリンタに対応しないメンバプリンタの調査及び特定がされ、該特定されたメンバプリンタに対応するデバイスへのイベントを解除するようにする（Ｓ２６０６）。
【０１５８】
このように図２６のフローチャートが実行されることにより、選択された仮想プリンタに関連した複数のメンバプリンタと変更前の仮想プリンタに関連した複数メンバプリンタとの比較に基づき、イベント登録を省略する対象となるメンバプリンタを特定し、該特定されたメンバプリンタ対応するデバイスに対してイベント登録を省略することが可能となる。デバイス側の負荷を軽減することができるという効果を得ることができる。
【０１５９】
また、変更後の仮想プリンタに対応する複数のメンバプリンタのうち、変更前の仮想プリンタとは新規なメンバプリンタを抽出し、抽出されたメンバプリンタに対してのみイベント登録を行うようにするので、従来の個々のプリンタに対してイベント登録／解除を行うような仕組みを利用して変更後の仮想プリンタに関連したメンバプリンタのイベント登録を全て行う場合と比べてクライアント側の処理も軽減することができる。
【０１６０】
さらに、選択された仮想プリンタに関連した複数のメンバプリンタと変更前の仮想プリンタに関連した複数メンバプリンタとの比較に基づき、イベント解除を行う対象となるメンバプリンタを特定し、該特定されたメンバプリンタに対応するデバイスに対してイベント解除指示を行うことが可能となったので、クライアント側の無駄なデバイス状態監視処理を防止しすることができると共に、デバイスへのイベント登録を効率よく削除するので、デバイス側の処理負荷も軽減することができるという格別の効果を奏する。
【０１６１】
尚、仮想プリンタとして同報印刷／代行印刷の種別のもが選ばれた場合や、メンバプリンタそのもの（プリンタＡ、Ｂ、Ｃなど）がユーザインターフェース（図２０乃至２４）を介して選択された場合も同様のものとする。また、変形例として図２６のフローチャートにおける説明では、イベントの登録について説明してきが、ジョブ制御プリントサービス６２２がポーリングを行うことによりデバイスの各種状態を監視するような形態を取る場合には、ステップＳ２６０４で新規メンバプリンタに対応するデバイスへのポーリングによる状態の監視を登録し、ステップＳ２６０６では削除候補となったメンバプリンタに対応するデバイスへのポーリングによる状態の監視を解除（停止）するような形態も想定される。また、そのような場合にはステップＳ２６０８の処理は、既にポーリングによるデバイスの状態監視は登録されているか否かの判断処理が適用される。
【０１６２】
図１６の説明に戻ると、ステップＳ１６１１では、出力先プリンタ付属情報取得処理が実行される。ここで、付属情報としては、例えば、図２０に示される”設置場所”、”割合”の情報が相当し、対応するプリンタの付属情報をプリントマネージャー６２２がジョブ制御プリントサービス６２３から取得することに応じて実現される処理に相当する。
【０１６３】
このように上に説明してきたステップＳ１６０６〜１６０９の処理により、何れかの種別（少なくとも、分散印刷用仮想プリンタ、或は、代行印刷用仮想プリンタ、同報印刷用仮想プリンタを含む）の仮想プリンタが選択されたような場合に、その種別に対応したメンバプリンタが特定され、該特定されたメンバプリンタに対応したプリンタの状態情報が抽出され更に表示されるので、ユーザは所定の種別の仮想プリンタを指示するだけで、該指示した仮想プリンタに関するメンバプリンタの詳細な情報を容易に知ることができる。図２２にはカラーモノクロ分散仮想プリンタが選択された場合のメンバプリンタ（２２０１）の表示の例が、また、図２３には代行仮想プリンタが選択された場合の分散先プリンタ（メンバプリンタ）の表示の例が夫々示されている。
【０１６４】
一方、ステップＳ１６０５でＮｏと判定された場合には、選択プリンタ（メンバプリンタ）に対応する構成情報及び状態の取得が行われ（ステップＳ１６１３、Ｓ１６１４）、該取得された情報に基づく表示がステップＳ１６１５にて表示される。例えば、図２１がステップＳ１６１５にて表示されるユーザインターフェースの１例として挙げられる。
【０１６５】
このように図１４〜図１６のフローチャートにより仮想プリンタに対応するメンバプリンタを特定する特定し、特定されたメンバプリンタに係る情報を表示させる制御が実行されることにより、図２０、２２、２３のようなユーザインターフェースが実現され、ユーザは仮想プリンタに対応して登録されたメンバプリンタの状況を容易に把握することが可能となる。例えば、上に説明したメンバプリンタドライの二次登録（一次登録されたメンバプリンタのチェックボックスによる一時的追加／削除）に有用に役立てることができる。
【０１６６】
そして、前のステップの処理で取得された情報を元に実際の表示が実現される。
【０１６７】
次に図１７の処理についての説明を行う、図１７は、上に説明した図１４のステップＳ１４０５や図１６の１６０１のイベント登録に対応するイベントの監視処理に相当し、図６のプリントマネージャー６２３によって実行される（情報処理装置に設けられたＣＰＵ（中央演算処理装置）がＲＯＭ、ＨＤ等の不揮発性記憶手段に記憶されたプログラムコードを読み込み実行することに応じて実現されるものとする。）。
【０１６８】
まずステップＳ１７０１では、イベント登録の対象となるプリンタの管理処理が実行される。
【０１６９】
そして、ステップＳ１７０２では、状態更新イベントの受信をしたか否かの判定がなされる。Ｙｅｓと判定されれば、処理をステップＳ１７０３に移行させ、Ｎｏと判定されれば、処理をステップＳ１７０５に移行させる。
【０１７０】
そして、ステップＳ１７０３では、イベント対象プリンタの状態更新処理を実行し、ステップＳ１７０４ではステップ１７０３の状態更新処理に対応させて、対象となるプリンタの状態表示を更新させる。
【０１７１】
ステップＳ１７０５ではイベント解除処理が実行されたか否かの判定がなされる。ここで、ステップＳ１７０５でＮｏと判定されるような場合には例えば、管理するプリンタの印刷出力処理が終了したような場合が想定され、そのような場合には、監視外となるプリンタのイベント監視を解除する。このように図１７のフローチャートが実現されることにより、図２０〜２４に示されるような各メンバプリンタに対応するジョブ情報が随時更新されることになり、更には、各メンバプリンタで実行されるジョブの情報に基づくオリジナルジョブ（親ジョブ）の最新の情報を表示させることが可能となる。
【０１７２】
次に図２４、２５を用いて更なるプリントマネージャー６２２の処理について説明を行う。上の説明では、「プリンタ情報」がモードとして選択された場合を説明してきたが、図２５ではモードに「ジョブリスト」が選択されている場合（Ｓ１５０７でモード選択がジョブリストが選択されていると判断される場合に相当）を説明する。
【０１７３】
まず図２４に示されるように、モードが図２０のような「プリンタ情報」から「ジョブリスト」に変更されたとしても、プリンタ一覧メニューには仮想プリンタと実プリンタとを混在させた選択可能なプリンタリストが表示される。
【０１７４】
そして、ステップＳ２５０１では、プリンタリスト（プリンタ一覧）から仮想プリンタが選択が入力指示されたかメンバプリンタの選択が入力指示されたかの判断する。
【０１７５】
Ｙｅｓと判断されれば処理をステップＳ２５０２に移行させ、Ｎｏと判断されれば、処理をステップＳ２５０７に移行させる。
【０１７６】
ステップＳ２５０２ではステップＳ２５０１で選択された仮想プリンタの種別を認識し（図２４の場合は代行印刷仮想プリンタ）、該ステップＳ２５０２の認識に応じて特定された種別の仮想プリンタを構築するメンバプリンタを特定する。
【０１７７】
また、ステップＳ２５０３での処理はメンバプリンタの特定と共に、該メンバプリンタ情報の取得処理も含むものとする。ここで、メンバプリンタ情報とは、メンバプリンタに対応したデバイス及び該デバイスでのジョブの状態及びジョブ名などを含むものとする。
【０１７８】
そして、ステップＳ２５０４ではステップＳ２５０３で取得された情報を表示させ、ステップＳ２５０５では他のメニュー指示がなされたか判断し、なされていないと判断されれば、ステップＳ２５０２からの処理を繰り返し実行する。
【０１７９】
一方ステップＳ２５０１で仮想プリンタでないプリンタが選択されている場合、言い換えれば実プリンタ（実際の個別のメンバプリンタ）が選択されている場合には指示されたメンバプリンタに関するデバイス及び該デバイスでのジョブの状態及びジョブ名などの情報が取得され（Ｓ２５０７）、該取得された情報が表示される（Ｓ２５０８）。そして、ステップＳ２５０９で他のメニュ指示がなされていないと判断されれば、処理をステップＳ２５０９に移行させる。尚、ステップＳ２５０５及びステップＳ２５０９の判断処理でＮｏと判断された場合には処理をステップＳ２５０１に戻すようにすれば、仮想プリンタ／実プリンタの選択指示の切り替わりに対応することができるようになる。
【０１８０】
以上説明してきたように、本発明によれば、例えば、分散印刷システムに係る複数のプリンタ等のデバイス情報をまとめて監視することが可能となった。その為、ユーザは、分散印刷システムに関する情報を管理する場合には予め分散印刷システムを構成するデバイスを覚えておき、各々のデバイスを順次選択し選択したデバイスの情報を得る操作をする必要がなくなった。
【０１８１】
また、従来の技術によれば、あくまで出力先のプリンタの各々を監視するというものであり、仮想ジョブを１つのジョブとして監視するという形態は実現されてはいなかったが、本発明によりそれが実現された。
【０１８２】
（その他の実施例）
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１８３】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（Ｒ）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１８５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１８６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１８７】
【発明の効果】
以上説明してきたように、本発明によれば、例えば分散印刷システムなどの、複数のプリンタを利用するような印刷システムに関して、容易にプリンタを管理することができるデバイス管理の仕組みを提供することができるようになった。
【図面の簡単な説明】
【図１】本発明を適用可能な情報処理システムの構成を説明するブロック図。
【図２】本発明の情報処理装置の構成を説明するブロック図。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例。
【図４】図２に示したＦＤ２０４のメモリマップの一例。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図。
【図６】本発明の情報処理装置のプリント制御モジュール構成を説明するブロック図。
【図７】プリントサーバで管理されるジョブ情報のデータ構造の一例。
【図８】汎用印刷ファイルの構造を示す図。
【図９】本印刷用制御プログラムをセットアップする際の、メンバプリンタドライバの登録及びプリンタ属性情報の設定を示すフローチャート。
【図１０】出力方法に割合分散印刷が指定された際のＵＩの表示様子例。
【図１１】メンバプリンタドライバの追加／削除（登録）機能を有するＵＩの表示様子例。
【図１２】出力方法に自動代行が指定された際のＵＩの表示様子例。
【図１３】ａは、実プリンタの状態アイコン。ｂは、仮想プリンタの状態アイコン。
【図１４】印刷制御用プログラムのデバイス監視に基づいたプリントマネージャのステータス管理制御のタスクトレイフローチャート。
【図１５】詳細モニタの制御フローチャート。
【図１６】仮想プリンタ（グループプリンタ）選択、或は、実プリンタ（メンバプリンタ）選択時のプリンタマネージャー制御プログラムによるフローチャート。
【図１７】イベント通知管理によるプリンタ情報更新フローチャート。
【図１８】仮想プリンタ（グループプリンタ）におけるメンバプリンタの管理様子を示す図。
【図１９】実プリンタ（メンバプリンタ）における各種情報の管理様子を示す図。
【図２０】仮想プリンタ（グループプリンタ）が選択された際のプリントマネージャーによるＵＩの表示様子。
【図２１】実プリンタ（メンバプリンタ）が選択された際のプリントマネージャーによるＵＩの表示様子例。
【図２２】仮想プリンタ（グループプリンタ）が選択された際のプリントマネージャーによるＵＩの表示様子。
【図２３】仮想プリンタ（グループプリンタ）が選択された際のプリントマネージャーによるＵＩの表示様子。
【図２４】管理モードをジョブリストに切り換えた場合のプリンタマネージャーによるＵＩの表示様子。
【図２５】ジョブリスト表示が指示された場合の管理制御フローチャート。
【図２６】ジョブ制御プリントサービス６２２によるデバイスに対するイベント登録の処理を示すフローチャート。
【符号の説明】
１０１  サーバ
１０２  クライアント
１０３  クライアント
１０４  クライアント
１０５  ネットワークプリンタ
【図１】
0004401640.tif 000002
【図２】
0004401640.tif 000003
【図３】
0004401640.tif 000004
【図４】
0004401640.tif 000005
【図５】
0004401640.tif 000006
【図６】
0004401640.tif 000007
【図７】
0004401640.tif 000008
【図８】
0004401640.tif 000009
【図９】
0004401640.tif 000010
【図１０】
0004401640.tif 000011
【図１１】
0004401640.tif 000012
【図１２】
0004401640.tif 000013
【図１３】
0004401640.tif 000014
【図１４】
0004401640.tif 000015
【図１５】
0004401640.tif 000016
【図１６】
0004401640.tif 000017
【図１７】
0004401640.tif 000018
【図１８】
0004401640.tif 000019
【図１９】
0004401640.tif 000020
【図２０】
0004401640.tif 000021
【図２１】
0004401640.tif 000022
【図２２】
0004401640.tif 000023
【図２３】
0004401640.tif 000024
【図２４】
0004401640.tif 000025
【図２５】
0004401640.tif 000026
【図２６】
0004401640.tif 000027