(57)【要約】【課題】  部門認証機能と分散印刷機能とを同時に行う場合に、認証できないユーザによる分散印刷要求を確実に中止することである。【解決手段】  ネットワーク上の複数のデバイスＡ、Ｂ中でグループ登録されている複数台のデバイスＡ、Ｂにより印刷ジョブを分散印刷処理するデータ処理装置において、グループデバイスＡ，Ｂによる分散印刷要求時に、グループプリンタ中の各デバイスについてグループプリンタドライバ６０３がユーザの部門認証を実行して、ユーザの部門認証がすべてのデバイスについて成功した場合に、アプリケーションプログラム６０１からの描画命令を汎用中間フォーマットデータに変換してスプール部７１６に登録し、すべてのデバイスについて認証が失敗した場合に、前記スプール部７１６への登録を中止する構成を特徴とする。【選択図】  図８
2006244278.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上で１つのグループプリンタを構成するメンバプリンタに対する複数のメンバプリンタドライバを制御可能なグループプリンタドライバにより１つの印刷ジョブをメンバプリンタで分散印刷処理するデータ処理装置であって、
前記グループプリンタによる分散印刷要求時に、グループプリンタ中の各プリンタについてユーザの部門認証を実行する認証手段と、
前記認証手段によるユーザの部門認証がすべてのメンバプリンタについて成功した場合に、アプリケーションプログラムからの描画命令を汎用中間フォーマットデータに変換してスプール部に登録し、すべてのメンバプリンタについて認証が失敗した場合に、前記スプール部への登録を中止するグループ印刷制御手段と、
を備えることを特徴とするデータ処理装置。
【請求項２】
前記認証手段によりユーザの部門認証がすべてのメンバプリンタについて成功した場合に、前記スプール部にスプールされている汎用中間フォーマットデータから分散印刷を実行すべき各メンバプリンタに出力すべき印刷データを生成して、それぞれのメンバプリンタに転送するドライバ手段を複数備えることを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記認証手段によるユーザの部門認証が成功しているメンバプリンタを記録手段と、
前記認証手段による認証終了時に、前記記録手段に記録されているメンバプリンタに対して分散印刷を再割当てする割当て手段とを備え、
前記グループ印刷制御手段は、前記割当て手段により再割当てされているメンバプリンタによる分散印刷を実行させることを特徴とする請求項１記載のデータ処理装置。
【請求項４】
前記認証手段によりユーザの部門認証がすべてのメンバプリンタについて成功しない場合に、該成功しないプリンタに割り当てるべき汎用中間フォーマットデータを保存する保存手段と、
前記保存手段に保存されている汎用中間フォーマットデータを処理すべき出力先を変更する変更手段とを有し、
前記グループ印刷制御手段は、前記変更手段により変更されているメンバプリンタによる分散印刷を実行させることを特徴とする請求項１記載のデータ処理装置。
【請求項５】
前記汎用中間フォーマットデータは、ＯＳまたはプリンタ言語に依存しない形式のデータであることを特徴とする請求項１または２記載のデータ処理装置。
【請求項６】
ネットワーク上で１つのグループプリンタを構成するメンバプリンタに対する複数のメンバプリンタドライバを制御可能なグループプリンタドライバにより１つの印刷ジョブをメンバプリンタで分散印刷処理するデータ処理装置における印刷制御方法であって、
前記グループプリンタによる分散印刷要求時に、グループプリンタ中の各プリンタについてユーザの部門認証を実行する認証ステップと、
前記認証ステップによるユーザの部門認証がすべてのメンバプリンタについて成功した場合に、アプリケーションプログラムからの描画命令を汎用中間フォーマットデータに変換してスプール部に登録し、すべてのメンバプリンタについて認証が失敗した場合に、前記スプール部への登録を中止するグループ印刷制御ステップと、
を備えることを特徴とする印刷制御方法。
【請求項７】
前記認証ステップによりユーザの部門認証がすべてのメンバプリンタについて成功した場合に、前記スプール部にスプールされている汎用中間フォーマットデータから分散印刷を実行すべき各メンバプリンタに出力すべき印刷データを生成して、それぞれのメンバプリンタに転送する転送ステップを複数備えることを特徴とする請求項６記載の印刷制御方法。
【請求項８】
前記認証ステップによるユーザの部門認証が成功しているメンバプリンタを記録手段に記録する記録ステップと、
前記認証ステップによる認証終了時に、前記記録手段に記録されているメンバプリンタに対して分散印刷を再割当てする割当てステップとを備え、
前記グループ印刷制御ステップは、前記割当て手段により再割当てされているメンバプリンタによる分散印刷を実行させることを特徴とする請求項６記載の印刷制御方法。
【請求項９】
前記認証ステップによりユーザの部門認証がすべてのメンバプリンタについて成功しない場合に、該成功しないプリンタに割り当てるべき汎用中間フォーマットデータを保存手段に保存する保存ステップと、
前記保存手段に保存されている汎用中間フォーマットデータを処理すべき出力先を変更する変更ステップとを有し、
前記グループ印刷制御ステップは、前記変更ステップにより変更されているメンバプリンタによる分散印刷を実行させることを特徴とする請求項６記載の印刷制御方法。
【請求項１０】
前記汎用中間フォーマットデータは、ＯＳまたはプリンタ言語に依存しない形式のデータであることを特徴とする請求項６または７記載の印刷制御方法。
【請求項１１】
請求項６〜１０のいずれかに記載の印刷制御方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項１２】
請求項６〜１０のいずれかに記載の印刷制御方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上の複数のプリンタ中でグループ登録されている複数台のプリンタにより印刷ジョブを分散印刷処理するデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【背景技術】
【０００２】
従来、画像形成システムにおいて、下記特許文献１に開示されているように、複写機等には、本体装置の操作パネル等から予め登録された暗証番号を入力して、その入力した暗証番号と予め登録された暗証番号とが一致した場合に初めてコピーができる暗証モード機能を搭載したものがある。このような暗証モード機能により、登録されていない人によるコピー出力を禁止することができるようになっている。
【０００３】
また、このとき、実際にコピーした枚数を入力した暗証番号ごとにカウントすることができる。このカウント枚数により、暗証番号ごとに利用者がどれだけの枚数をコピーしたかが把握でき、コピー使用料の分担をする場合等に利用できるようになっている。
【０００４】
従来の画像形成システムにおいて、部門管理機能は、個別の出力機器とそれぞれに送られるジョブごとの認証機能しかなく、複数の画像形成装置を同時に利用して分散印刷する場合に、分散印刷の成否を判断できる認証機能はなかった。
【特許文献１】特開２０００−４７８４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の画像形成システムは上記のように構成されているので、分散印刷機能と部門管理機能を併用する場合に、ユーザは、各メンバプリンタの出力先の認証の成否によってジョブの実行の成否が決定されてしまい、１つの文書に対し１種類の部門管理情報で一意に扱った部門管理ができなくなっていた。
【０００６】
また、出力装置の用紙の枚数や部門ごとの出力枚数などを厳密に確認するようなユーザの運用では、あらかじめ定められた印刷設定以外では、印刷が実行すると不都合が生じるが、分散印刷の場合は文書の一部のみ成功してしまう印刷を防ぐことができなかった。
【０００７】
本発明は、上記の課題を解決するためになされたもので、本発明の第１の目的は、ネットワーク上の複数のプリンタ中でグループ登録されている複数台のプリンタにより印刷ジョブを分散印刷処理するデータ処理装置において、前記グループプリンタによる分散印刷要求時に、グループプリンタ中の各プリンタについてユーザの部門認証を実行して、ユーザの部門認証がすべてのメンバプリンタについて成功した場合に、アプリケーションプログラムからの描画命令を汎用中間フォーマットデータに変換してスプール部に登録し、すべてのメンバプリンタについて認証が失敗した場合に、前記スプール部への登録を中止することにより、部門認証機能と分散印刷機能とを同時に行う場合に、認証できないユーザによる分散印刷要求を確実に中止できるデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【０００８】
第２の目的は、ネットワーク上の複数のプリンタ中でグループ登録されている複数台のプリンタにより印刷ジョブを分散印刷処理するデータ処理装置において、前記グループプリンタによる分散印刷要求時に、グループプリンタ中の各プリンタについてユーザの部門認証を実行して、ユーザの部門認証がすべてのメンバプリンタについて成功しない場合には、成功したプリンタに対する印刷割当てを再設定することにより、あるいは、別のプリンタに出力先を変更することにより、正常に分散印刷要求を続行できる利便性に優れたデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明に係るデータ処理装置は以下に示す構成を備える。
【００１０】
ネットワーク上で１つのグループプリンタを構成するメンバプリンタに対する複数のメンバプリンタドライバを制御可能なグループプリンタドライバにより１つの印刷ジョブをメンバプリンタで分散印刷処理するデータ処理装置であって、前記グループプリンタによる分散印刷要求時に、グループプリンタ中の各プリンタについてユーザの部門認証を実行する認証手段と、前記認証手段によるユーザの部門認証がすべてのメンバプリンタについて成功した場合に、アプリケーションプログラムからの描画命令を汎用中間フォーマットデータに変換してスプール部に登録し、すべてのメンバプリンタについて認証が失敗した場合に、前記スプール部への登録を中止するグループ印刷制御手段とを備えることを特徴とする。
【００１１】
上記目的を達成する本発明に係る印刷制御方法は以下に示す構成を備える。
【００１２】
ネットワーク上で１つのグループプリンタを構成するメンバプリンタに対する複数のメンバプリンタドライバを制御可能なグループプリンタドライバにより１つの印刷ジョブをメンバプリンタで分散印刷処理するデータ処理装置における印刷制御方法であって、前記グループプリンタによる分散印刷要求時に、グループプリンタ中の各プリンタについてユーザの部門認証を実行する認証ステップと、前記認証ステップによるユーザの部門認証がすべてのメンバプリンタについて成功した場合に、アプリケーションプログラムからの描画命令を汎用中間フォーマットデータに変換してスプール部に登録し、すべてのメンバプリンタについて認証が失敗した場合に、前記スプール部への登録を中止するグループ印刷制御ステップとを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、部門認証機能と分散印刷機能とを同時に行う場合に、認証できないユーザによる分散印刷要求を確実に中止できるデ。
【００１４】
また、グループプリンタによる分散印刷要求時に、グループプリンタ中の各プリンタについてユーザの部門認証を実行して、ユーザの部門認証がすべてのメンバプリンタについて成功しない場合には、成功したプリンタに対する印刷割当てを再設定することにより、あるいは、別のプリンタに出力先を変更することにより、正常に分散印刷要求を続行できる利便性に優れた印刷処理環境を整備できる。
【００１５】
また、出力装置の用紙の枚数や部門ごとの出力枚数などを厳密に確認するようなユーザの運用では、あらかじめ定められた印刷設定以外では、印刷が実行すると不都合が生じるが、分散印刷により、文書の一部のみ成功してしまう印刷を防止できる効果がある。
【発明を実施するための最良の形態】
【００１６】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００１７】
＜システム構成の説明＞
〔第１実施形態〕
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１８】
＜印刷処理システムの構成例＞
図１は、本発明の第１実施形態を示すデータ処理装置を適用可能な印刷処理システムの一例を説明する図である。
【００１９】
図１において、１０１はサーバ、１０２、１０３、１０４はクライアントコンピュータで、ネットワーク１０６を介して相互の通信可能に接続される。各サーバ１０１、クライアントコンピュータ１０２、１０３、１０４（以下、クライアント）は後述するハードウエア資源を備えるパーソナルコンピュータで構成され、それぞれイーサネット（登録商標）などのネットワークケーブルによってネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するメンバプリンタ言語に変換する機能を有するメンバプリンタドライバを搭載している。ここで、各クライアントは複数のプリンタドライバをサポートするものとする。
【００２０】
これに対し、サーバコンピュータ（以下、サーバ）１０１は、ネットワークケーブルによってネットワーク１０６に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。
【００２１】
このサーバ１０１は、ネットワーク１０６に接続されているメンバプリンタ１０５を管理するプリントサーバとしても機能する。また、プリンタ１０５は、部門管理機能と部門管理機能を使用するユーザのジョブの認証チェックを行う手段を有するものとする。
【００２２】
具体的には、プリントサーバとしてのサーバ１０１は、クライアントコンピュータ１０２、１０３、１０４から印刷要求が出されたプリントデータを含む印刷ジョブを、例えばハードディスク等に一旦格納して印刷する機能や、クライアントコンピュータ１０２〜１０４から印字データを含まないジョブ情報を受け取って印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知する機能や、後述するネットワークプリンタ（プリンタデバイス）１０５のステータスや印刷ジョブの各種情報を取得して、クライアントコンピュータ１０２〜１０４に通知する機能などを有している。
【００２３】
１０５は印刷制御装置としてのネットワークプリンタであり、図示しないネットワークインタフェースを介してネットワーク１０６と接続されており、クライアントコンピュータから送信されてくる印字データを含む印刷ジョブを解析し、１ページずつドットイメージに変換して印刷する。
【００２４】
なお、図１において、ネットワークプリンタ１０５は１台しか示されていないが、他のネットワークプリンタが複数接続されているものとする。各ネットワークプリンタの機能は相違するものであってもよい。
【００２５】
また、ネットワークプリンタ１０５は、部門管理機能と部門管理機能を使用するユーザのジョブの認証チェックを行う手段（詳細は後述する）を有するものとする。
【００２６】
また、１０６はネットワークであり、クライントコンピュータ１０２〜１０４、プリントサーバ１０１、ネットワークプリンタ１０５等と所定のプロトコルで通信可能に接続している。
【００２７】
＜ネットワークコンピュータ等のハードウエア構成例＞
図２は、図１に示したクライアント１０２〜１０４とプリントサーバ１０１の構成を説明するブロック図である。なお、本実施形態においてはこのように、クライントコンピュータ１０２〜１０４もプリントサーバ１０１も同様あるいは同等のハードウエア構成とするが、それぞれ専用のハードウエア構成であっても構わない。
【００２８】
図２において、２００は装置全体の制御を行うＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや、本実施形態のネットワークプリンタ制御プログラム等を実行するため、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２９】
２０１は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段としてのＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００３０】
２０３は記憶媒体読み込み手段としてのフレキシブルディスクドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて、記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータにロードすることができる。２０４は記憶媒体であるフレキシブルディスク（ＦＤ）であり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００３１】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。
【００３２】
更に、スプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【００３３】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００３４】
２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００３５】
なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤなどで変更することも可能である。
【００３６】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００３７】
なお、本実施形態では、ネットワークプリンタ制御プログラムおよび関連データをＦＤ２０４から直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがＦＤ２０４からインストールされているＨＤ２０５から、ＲＡＭ２０２にロードするようにしてもよい。
【００３８】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤＲ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウエアをもって、ハードウエア装置の代替として構成することもできる。
【００３９】
また、以下では、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムまたはプリンタドライバと呼ぶこともある。印刷制御プログラムは、クライアントにおいては、印刷ジョブの印刷先の変更を指示したり、印刷順序の変更を指示したりするための制御を行うプログラムを含む。
【００４０】
一方、プリントサーバにおいては、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知したりするためのプログラムを含んでいる。
【００４１】
また、このような制御を行う本実施形態の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、１つの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、プリントサーバ用として機能したりするようにしてもよいし、あるいは、１台のコンピュータに、クライアント用の機能を持つモジュールとプリントサーバ用として機能するモジュールとをともにインストールし、同時にあるいは時分割で、擬似的に並行動作させる構成も可能である。
【００４２】
図３において、３０１は基本Ｉ／Ｏプログラムであり、コンピュータの電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００４３】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００４４】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【００４５】
図４において、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。ネットワークプリンタ制御プログラム４０３は、本実施形態で説明するフローチャート基づいてプログラム化したものであり、本実施形態では、クライアント及びサーバ共に、同様の構成をとっている。
【００４６】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データが格納されている。
【００４７】
＜印刷処理システムにおけるソフトウエア構成例＞
ここで、本実施形態における用語の技術的意味について説明する。
【００４８】
複数のプリンタを１つのプリンタとして仮想的に束ねる仮想プリンタを「グループプリンタ」、束ねられるメンバプリンタを「メンバプリンタ」と呼ぶ。また、グループプリンタおよびメンバプリンタに所定の出力ポートが対応付けられた仮想プリンタドライバおよびデバイスドライバ対応しているので、グループプリンタ及びメンバプリンタをドライバに対応して考えることもできる。
【００４９】
グループプリンタを更に具体的に説明すると、アプリケーションからＯＳを介して生成される描画命令に基づいて中間形式ファイル（汎用印刷ファイル）を生成するためのデータを生成する仮想ドライバをグループプリンタドライバと呼ぶ。
【００５０】
そして、後述するジョブ制御プリントサービスにより、先の中間形式のファイルに基づいてページ記述言語を生成させるべく各個別のプリンタドライバに印刷指示がなされるが、この個別の各プリンタドライバに対応するメンバプリンタをメンバプリンタと呼ぶ。また、各メンバプリンタは最終的には特定のデバイスに対応することとなる。
【００５１】
一方、本実施形態において、アプリケーションにおける印刷指示に応じてＷｉｎｄｏｗｓ（登録商標）等のＯＳを介して出力される描画命令（一般的にＤＤＩ或いはＧＤＩと呼ばれている）あるいはＥＭＦ（ＥｎｈａｎｃｅｄＭｅｔａｆｉ１ｅＦｏｒｍａｔ：拡張メタファイル）を解釈しページ記述言語を生成しデバイスへ出力させるようなプリンタドライバを通常プリンタドライバ、このときのデバイスを通常デバイスと呼び、グループプリンタやメンバプリンタと区別する。
【００５２】
なお、ＯＳとしてはＷｉｎｄｏｗｓ（登録商標）に限定されるものではなく、描画命令を備えるＯＳであれば適用可能であることは言うまでもない。また、デバイスであるメンバプリンタとは区別してプリンタドライバとプリンタ出力ポートとの組み合わせをプリンタと呼ぶこともある。
【００５３】
例えば、後述する図７のＬｏｇｉｃａｌＰｏｒｔ（ジョブ制御ポートモニタ）とグループプリンタドライバとの組み合わせを指定することを、グループプリンタを指定すると呼ぶこととする。
【００５４】
図６は、本発明に係る印刷システムにおけるジョブ処理状態を説明するブロック図であり、システムのクライアントサーバモデルにおいて、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）などの一般的なアプリケーションから発行された描画コマンドを含む印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した例である。
【００５５】
図６において、通常、印刷の指示がされると、アプリケーションプログラム（アプリケーション６０１）は一連の描画命令をＯＳを介して生成させる。この生成された描画命令はプリンタドライバ（ＰＤＬＤｒｉｖｅｒ６０２）を経て所定の形式に変換された後、ウインドウズスプーラ６０４（Ｗｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ）に渡される。
【００５６】
Ｗｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ６０４は、ユーザがユーザインタフェースを介して選択し指示したポートモニタにプリントジョブデータを渡して、プリントデバイス６５０に送信させる手順をとる。
【００５７】
本実施形態では、今述べた通常の動作に対してユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ６２１（以降、ジョブ制御ポートモニタと略記）を指定して印刷を指示する。
【００５８】
アプリケーションプログラム６０１は、一連の描画命令をＯＳを介して生成させる。ここで、ＯＳを介して生成された描画命令は、グループプリンタドライバ６０３或はＰＤＬＤｒｉｖｅｒ６０２の何れか指定されたプログラムに引き渡させる。
【００５９】
ＯＳを介して生成された描画命令を受け取ったグループプリンタドライバ６０３では、汎用印刷ファイルを生成するための汎用ドキュメントデータを生成し、プリントデバイス６５０へプリントジョブデータを送信する従来のポートモニタではなく、ジョブ制御ポートモニタ６２１にプリントジョブデータとして送信する。
【００６０】
また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステイプル指示等の印刷設定情報も、ジョブ制御ポートモニタ６２１に送信される。
【００６１】
ジョブ制御ポートモニタ６２１は、プリントジョブデータである汎用印刷ドキュメントデータをプリントデバイス６５０に送信するのではなく、印刷ジョブ制御システム用プリントサービス６２２（以降、ジョブ制御プリントサービスと略記）に送信する。ジョブ制御プリントサービス６２２は、プリントジョブデータに対して、後述するような印刷ジョブ制御処理を行う。
【００６２】
一方、ＯＳを介して生成された描画命令がＰＤＬＤｒｉｖｅｒ６０２に投入された場合には、ＰＤＬＤｒｉｖｅｒ６０２よって頁記述言語が生成され、該生成された頁記述言語は、印刷処理を行うよう設定されたＰＤＬＤｒｉｖｅｒ６０２対応するジョブ制御ポートモニタ６２１、ジョブ制御サービス６２２を介して対応するプリントデバイス６５０に送信される。
【００６３】
印刷ジョブ制御システム用プリントマネージャ６２３（以降、ジョブ制御プリントマネージャと略記）は、ユーザがジョブ制御プリントサービス６２２内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェースを提供するプログラムである。
【００６４】
ジョブ制御プリントマネージャ６２３は、ジョブ制御プリントサービス６２２のソフトウエアのインタフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を介して、ジョブ制御プリントサービス６２２と情報・指示をやり取りしている。更に詳細な処理としては、プリントマネージャ６２３がジョブ制御プリントサービス６２２に対してデバイスを指定してのイベントを発行し、ジョブ制御プリントサービス６２２は発行されたイベントに基づくデバイスのステータスを監視して、該監視に基づく結果をプリントマネージャ６２３に通知する。
【００６５】
印刷ジョブ制御システム用サーバ６３０（以降、ジョブ制御サーバと略記）は、個々のクライアント１０２〜１０４上のジョブ制御プリントサービス６２２がプリントデバイス６５０にプリントジョブデータを送信するタイミングを集中制御（スケジューリング）している。
【００６６】
印刷ジョブ制御システム用マネージメントコンソール６３３（以降、ジョブ制御マネージメントコンソールと略記）は、ジョブ制御サーバ６３０が持つソフトウエアがアクセスするためのＡＰＩを介して、ジョブ制御サーバ６３０と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【００６７】
また、ジョブ制御サーバ６３０は、デバイス情報コントロールモジュール６３１を用いて各プリントデバイス６５０と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報は、クライアント１０２〜１０４側のジョブ制御プリントサービス６２２に渡すことができる。
【００６８】
＜印刷処理システムの動作例＞
次に、本実施形態におけるグループプリンタドライバ６０３からの印刷について説明する。
【００６９】
グループプリンタドライバ６０３は、アプリケーションプログラム６０１が生成した一連の描画コマンドをプリンタデバイスやＯＳの種類に依存しない汎用中間フォーマットデータ（前述の汎用ドキュメントデータに相当）に変換する。この汎用中間フォーマットデータは、Ｗｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ６０４からジョブ制御ポートモニタ６２１を経て（図６中の（ａ）に示す矢印）、ジョブ制御プリントサービス６２２に導かれる（図６中の（ｂ）に示す矢印）。ここで、汎用中間フォーマットデータは、汎用印刷ファイルに構築される。この汎用印刷ファイルの構成については後述する。
【００７０】
ジョブ制御プリントサービス６２２は、このプリントジョブに対して行うジョブ制御の種類に応じて、汎用印刷ファイルをもとに描画コマンドを生成し（図６中の（ｃ）に示す矢印）、続いてＰＤＬドライバ６０２がその描画コマンドをプリントデバイス６５０が解釈可能なＰＤＬ形式のファイルにする。
【００７１】
図７に示す例では、ジョブ制御プリントサービス６２２で、このプリントジョブに対してプリンタ側のエラーを検知して代行印刷を行う例を示しており、実線で示されるのは当初印刷を予定していたメンバジョブであり、破線については代行印刷のために生成されたのジョブを示している（図６中の（ｃ）に示す矢印）。なお、図６の（ｃ）に示す２つの矢印は、プリントジョブを２つに分けるジョブ制御（分散印刷制御）が行われる例が示されており、２つのジョブが生成された例に対応している。
【００７２】
ＰＤＬドライバ６０２で生成されたＰＤＬファイルはＷｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ６０４、ジョブ制御ポートモニタ６２１を経て（図６中の（ｄ）に示す矢印）、再びジョブ制御プリントサービス６２２に渡される（図６中の（ｅ）に示す矢印）。
【００７３】
ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の指示に従ってＰＤＬのプリントジョブデータをプリントデバイス６５０に送信する（図６中の（ｆ）に示す矢印）。
【００７４】
ジョブ制御プリントサービス６２２は、汎用印刷ファイル中の印刷指示書の指示にしたがって、１つの汎用印刷ファイルを複数のプリントジョブに論理的に分割してそれぞれ別のプリンタデバイスに送信したり、一度送信したプリントジョブデータを別のプリンタデバイスに送信し直したりする。
【００７５】
図６中に示す矢印（ｃ）、（ｄ）、（ｅ）、（ｆ）はそのような場合のプリントジョブデータの経路を示している。
【００７６】
一方、汎用印刷ファイルをアプリケーションソフトウェアが作成し、そのアプリケーションソフトウェアが直接汎用印刷ファイルを印刷ジョブとして投入する場合は、一般のアプリケーションとはグループプリンタドライバ６０３への情報の渡し方やグループプリンタドライバ６０３での処理内容が異なる。
【００７７】
前述のように、一般のアプリケーションの場合には、アプリケーションはグループプリンタドライバ６０３に描画情報を渡す際、通常のプリンタドライバと同じようにＷｉｎｄｏｗｓ（登録商標）のＧＤＩ関数を呼び出し、グループプリンタドライバ６０３がそれに応じて汎用印刷ファイルを生成する。
【００７８】
これに対して汎用印刷ファイルを直接作成するアプリケーションの場合は、アプリケーションが汎用印刷ファイルをすでに持ち、それをグループプリンタドライバ６０３に供給する。グループプリンタドライバ６０３は、必要に応じてあらかじめ設定された印刷方法に基づいて汎用印刷ファイル内部の印刷指示書を書き換えてＷｉｎｄｏｗｓ（登録商標）  Ｓｐｏｏｌｅｒ６０４に送る。
【００７９】
なお、グループプリンタ（グループプリンタドライバ）、メンバプリンタ（メンバプリンタドライバ）を更に定義すると、アプリケーションからＯＳを介して生成される描画命令に基づいて中間形式ファイル（汎用印刷ファイル）を生成するためのデータを生成する仮想ドライバ（印刷ユーティリティ）をグループプリンタドライバと呼ぶ。そして、ジョブ制御プリントサービス６２２により、先の中間形式のファイルに基づいてページ記述言語を生成させるべく各個別のプリンタに印刷指示がなされるが、この個別の各プリンタをメンバプリンタと呼ぶ。
【００８０】
＜汎用印刷ファイルの構成例＞
図７は、図６に示したクライアントシステムで構築される汎用印刷ファイルの構成の一例を示した図である。
【００８１】
図７に示すように、本実施形態で使用される汎用印刷ファイルは、印刷指示部８ａ（前述の印刷指示書に相当）とドキュメントデータ部８ｂとからなる。印刷指示部８ａは、ドキュメントの情報と印刷指示とを記述した部分である。また、ドキュメントデータ８ｂは、上に説明した如くアプリケーションのドキュメントのデータを汎用的な形式のデータに変換したものであり、プリンタ言語やＯＳの種類に依存しない或は依存しにくい形式のデータフォーマットとなっている。
【００８２】
アプリケーションデータを変換した後の変換後データ（汎用印刷データ）としては、印刷リソースデータとして利用可能でかつワードプロセッサアプリケーション等により再度編集可能な形式のデータであることが想定され、実質的な標準形式のうち、例えば、ＸＭＬ形式や、ＷＩＮＤＯＷＳ（登録商標）システムにより提供されるＥＭＦ形式、或はＡｄｏｂｅ  Ｓｙｓｔｅｍｓ  ＩｎｃｏｒｐｏｒａｔｅｄによるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式やＳＶＧ形式などが汎用形式の汎用印刷データとして採用できる。
【００８３】
また、図示はされてはいないが、汎用印刷ファイルには、各メンバプリンタに対応したＤＥＶＭＯＤＥも含まれているものとする。該ＤＥＶＭＯＤＥには、共通設定項目及び拡張設定項目の双方が含まれるものとする。
【００８４】
更に詳細に説明すると、印刷指示部８ａは、ヘッダ部８０１、ページ情報部８０２、ドキュメント属性部８０３、印刷体裁指示部８０４、出力方法指定部８０５、メンバプリンタ数８０６、メンバプリンタドライバ名８０７−１，メンバプリンタドライバ設定情報部８０７−２等などから構成されている。
【００８５】
ヘッダ部８０１は、本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。ページ情報部８０２は、ドキュメントデータ部８ｂのドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。
【００８６】
印刷体裁指示部８０４は、グループプリンタドライバのＵＩや、メンバプリンタの個別のＵＩを介して設定された印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報（Ｎ−ＵＰや製本印刷など）、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。
【００８７】
尚、ステイプル、パンチ指示については、Ｐａｇｅ単位で指定（サブセットステイプ等）されることもある。
【００８８】
また、各メンバプリンタの個別のＵＩを介して設定された内容は印刷指示部８０４に反映されると共に、各メンバプリンタに対応するＤＥＶＭＯＤＥにも反映されて保存される。
【００８９】
出力方法指定部８０５は、出力方法として、分散印刷、同報印刷、代行印刷、通常印刷（代行しない印刷）などの出力方法に関する情報を格納する部分である。この出力方法指定部８０５に代行印刷が設定されている場合には、更に優先順位情報（第一候補、第二候補・・・）を付したプリンタ情報が含まれる。
【００９０】
これら様々な出力方法の何れかは後述する図９に示すプリンタリスト１００２を介して選択された仮想プリンタの種別や、不図示のユーザインタフェースに含まれるコンボボックスを介して設定された出力方法に対応する。
【００９１】
メンバプリンタ数８０６は、グループプリンタドライバが関連付けているメンバプリンタの数を格納する部分である。メンバプリンタドライバ名８０７は、メンバプリンタのプリンタドライバ名を格納する部分である。このメンバプリンタドライバ名８０７は、前述のメンバプリンタ数８０６の数だけの格納エリアを持っている。
【００９２】
前述の図６で説明したジョブ制御プリントサービス６２２では、汎用印刷中間フォーマットデータより汎用印刷ファイルを生成する際、グループプリンタドライバのＧＵＩ上での設定を印刷指示部８ａへ記憶する。更に、グループプリンタドライバから受け取った汎用印刷中間フォーマットデータを、汎用印刷ファイルのドキュメントデータ部８ｂに記録する処理も、ジョブ制御プリントサービス６２２により実行される。
【００９３】
＜Ｗｉｎｄｏｗｓ（登録商標）  Ｐｒｉｎｔ  Ｓｙｓｔｅｍと印刷ジョブ制御システムの関係例＞
次に、図８を参照して、Ｗｉｎｄｏｗｓ（登録商標）が提供するＰｒｉｎｔＳｙｓｔｅｍと印刷ジョブ制御システムとにおける印刷ジョブの関係と処理概要をさらに詳しく述べる。ここで、図６と同じ機能は同じ参照番号を付与しており、その機能については詳説しない。
【００９４】
図８は、図６に示したクライアントマシン６００と印刷ジョブ制御システム７００との対応を説明するブロック図であり、図６と同一のものには同一の符号を付してある。
【００９５】
図８に示す印刷ジョブ制御システム７００は、制御プログラムが動作するプリントサーバ１０１とクライアント１０２〜１０４の物理的なマシンをまたいだ、印刷ジョブ制御システムの範囲を示している。
【００９６】
また、プリントサーバが管理している出力ポート（Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１１（出力ポート７１１Ａ，７１１Ｂ）は、クライアントのジョブ制御プリントサービス６２２のプロキシ出力ポート（Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１２とそれぞれ関連付けられ、１つのポートに関連づけられた各クライアント上のプロキシ出力ポートの全てを統一的に管理している。本実施形態では、実際のプリントジョブデータは各々のクライアントのプロキシ出力ポート７１２（プロキシ出力ポート７１２Ａ，７１２Ｂ）に保持される。
【００９７】
ジョブ制御サーバ６３０は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス６２２に対して印刷ジョブの送信指示のみを行う。その指示に応じて、クライアントのジョブ制御プリントサービス６２２はプリントジョブデータをプリントデバイス６５０に送信する。
【００９８】
次に、印刷ジョブ制御システム７００が、代行印刷といった付加価値印刷を行う場合の処理を説明する。
【００９９】
印刷ジョブ制御システム７００が、代行印刷といった付加価値的な印刷を行う場合には、前述のようにユーザまたはアプリケーション６０１は、グループプリンタドライバ６０３に割り当てられたプリンタに印刷ジョブを発行しなければならない。
【０１００】
ジョブ制御プリントサービス６２２は、グループプリンタドライバ６０３によって処理された汎用印刷中間フォーマットデータをジョブ制御ポートモニタ６２１を介して受け取る。ジョブ制御プリントサービス６２２は、この汎用印刷中間フォーマットデータより汎用印刷ファイルを構築し（図８の汎用印刷ファイル７１６）、先に説明した印刷指示部８ａの指示内容に従う印刷指示をデスプーラ（Ｄｅｓ−ｐｏｏｌｅｒ）７０１に対して行う。そして、Ｄｅｓ−ｐｏｏｌｅｒ７０１を介してＰＤＬドライバが割り当てられた別のプリンタにジョブ（メンバジョブ）を発行して、印刷を行わせる。
【０１０１】
このとき、Ｄｅｓ−ｐｏｏｌｅｒ７０１は、ジョブ制御プリントサービス６２２の汎用印刷ファイル７１６の印刷指示部８ａの解釈に基づく指示に応じて、ドキュメントデータ部８ｂのドキュメントデータを加工してＷｉｎｄｏｗｓ（登録商標）のＧＤＩに変換し、プリンタドライバ６０２に対して印刷指示を行い、印刷ジョブを発行する。
【０１０２】
例えば、印刷体裁指定部８０４に２−ＵＰに相当する指示が記録されていた場合、用紙１枚に２ページ分のドキュメントデータを縮小レイアウトするようにＤＥＶＭＯＤＥを介してメンバプリンタに対して指示する。
【０１０３】
また、印刷体裁指定部８０４にステイプル指示がある場合にはＤＥＶＭＯＤＥを介してステイプルの指示を行う。
【０１０４】
また、代行印刷時には、印刷指示部８ａに記述されている代行先メンバプリンタにジョブを発行する。尚、２−ＵＰ等の縮小レイアウトを処理する場合に、Ｄｅｓ−ｐｏｏｌｅｒ自身が印刷体裁指定部８０４の内容に基づき縮小レイアウトするようにして、メンバプリンタにはＤＥＶＭＯＤＥを介して１−ＵＰを指示するようにしても良い。
【０１０５】
また、Ｄｅｓ−ｐｏｏｌｅｒ７０１はメンバプリンタにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、メンバプリンタのＤＥＶＭＯＤＥを作成する必要があるが、このＤＥＶＭＯＤＥは印刷指示部８ａ或は各メンバプリンタに対応して保存されたＤＥＶＭＯＤＥに記載された内容を適宜各メンバプリンタＤＥＶＭＯＤＥに反映させて生成する。
【０１０６】
クライアント側のジョブ制御プリントサービス６２２は、ＰＤＬドライバ６０２によってレンダリングされたそれぞれのメンバジョブのＰＤＬデータをジョブ制御ポートモニタ６２１を介して受け取り、受け取ったジョブ（ＰＤＬデータ）に関する情報をプリントサーバ側に知らせ、ジョブデータは自身のプロキシ出力キュー（Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１２で一時保持する。その後、ジョブ制御サーバ６３０からの送信指示を受けた後にプリンタデバイス１０５に送信する。
【０１０７】
次に、本発明の実施形態における、ユーザの操作と印刷ジョブ制御システムにおける制御について説明する。
【０１０８】
前述の実施形態の元に、本発明の実施例を図９，１０のフローチャートを用いて説明する。
【０１０９】
図９は、本発明に係るデータ処理装置における第１のデータ処理手順の一例を示すフローチャートであり、印刷方式のユーザの印刷操作処理手順に対応する。なお、Ｓ９０１〜Ｓ９０９は各ステップを示し、各ステップは、図２に示したＣＰＵ２００が図３に示すネットワークプリンタ制御プログラムをＲＡＭ２００２にロードして実行することで実現される。
【０１１０】
先ず、ステップＳ９０１で、本発明の印刷方式を実行するプリントシステムが組み込まれた、クライアント１０２、または、サーバ１０１上において、ユーザが、例えば、Ｗｉｎｄｏｗｓ（登録商標）のＷｏｒｄ（文書処理プログラム）のようなアプリケーションソフトから、グループプリンタを選択し、部門管理機能を用いた分散印刷を開始する。
【０１１１】
次に、ステップＳ９０２において、ジョブごとの設定を行う場合には、アプリケーションソフト６０１は、例えば図１０に示すような認証用の印刷ダイアログをディスプレイ２０７上に表示する。
【０１１２】
そして、ステップＳ９０３において、図１０に示す画面上に表示される印刷ダイアログから、ユーザは認証に必要な部門ＩＤとパスワードをキーボード２０６等より入力すると、ステップＳ９０４において、キーボード２０６や図示しないポインティングデバイス等を操作してＯＫボタンをクリックしてアプリケーションソフトの印刷処理を開始する。
【０１１３】
本発明の実施形態においては、図１０に示すように、部門ＩＤと、パスワードを入力する例を示すが、部門管理機能を利用する設定であれば、部門ＩＤ、パスワード以外の情報を設定する画面であってもよく、本発明では、特に、設定情報の種類を特定しなくても適用することができる。
【０１１４】
次に、ステップＳ９０５において、本発明の印刷方式を実行するプリントシステムにおいて、図６に示したグループプリンタドライバ６０３は、すべてのメンバジョブの認証が成功したかどうかを判断して、成功したと判断した場合は、ステップＳ９０６で分散印刷を実行して、本処理終了する。
【０１１５】
一方、ステップＳ９０５において、１つでもメンバジョブの認証に失敗したと判断した場合には、ステップＳ９０８に進み、グループプリンタドライバ６０３はスプール処理を中止し、アプリケーションソフト６０１に対してエラーを返す。
【０１１６】
そして、エラーを返されたアプリケーションソフト６０１は、ステップＳ９０９において、印刷処理を中断して、本処理を終了する。
【０１１７】
以上のような手順で、ユーザが操作を行うことにより、本発明の実施形態における部門管理機能を用いた分散印刷は、特別な機能を持たない汎用的なアプリケーションソフトから実行することができる。
【０１１８】
また、本発明の実施形態は印刷の度に、部門ＩＤとパスワードを、図１０に示すダイアログを介して入力する例について説明しているが、部門ＩＤとパスワードをグループプリンタドライバが保存し、印刷ごとの入力のステップを省いても、本発明を実施することができる。
【０１１９】
図１１は、本発明に係るデータ処理装置における第２のデータ処理手順の一例を示すフローチャートであり、部門認証を伴う分散印刷処理手順に対応する。なお、Ｓ１００１〜Ｓ１００８は各ステップを示し、各ステップは、図２に示したＣＰＵ２００が図３に示すネットワークプリンタ制御プログラムをＲＡＭ２００２にロードして実行することで実現される。
【０１２０】
先ず、ステップＳ１００１で、アプリケーションソフト６０１から印刷指示を受け、グループプリンタＤｒｉｖｅｒ６０３がジョブの生成を開始すると、前述のユーザの操作により、部門管理機能を伴う分散印刷が開始される。
【０１２１】
そして、グループプリンタドライバ６０３は、ステップＳ１００２において、入力された、または、例えばハードディスク２０５に保存されていた部門ＩＤとパスワードを抽出し、ステップＳ１００３において、分散出力先のメンバプリンタのアドレスをメンバプリンタに設定されているＰｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔの設定から取得する。
【０１２２】
そして、メンバプリンタの出力先であるデバイスのアドレスを取得すると、ステップＳ１００４において、デバイスに対し、認証チェックを実行し、ステップＳ１００５において、認証に成功したかどうかを判断して、認証に成功したと判断した場合は、ステップＳ１００６に進み、同一のグループプリンタに属し、このジョブの分散印刷先となる次のメンバプリンタの有無を確認して、未確認のメンバプリンタが存在するかどうかを判断して、存在すると判断した場合は、ステップＳ１００３〜Ｓ１００５の処理を未確認のメンバプリンタがなくなるまで続行する。
【０１２３】
そして、ステップＳ１００５の判断により、１つのメンバプリンタも認証エラーにならずに、ステップＳ１００６において未確認のメンバプリンタがなくなったと判断した場合には、ステップＳ１００７に進み、分散印刷を実行して、本発明の印刷方式のプリントシステムの処理は終了する。
【０１２４】
一方、ステップＳ１００５において、認証エラーが発生していると判断した場合は、グループプリンタドライバの汎用印刷ファイルの生成処理は実行せず、ステップＳ１００９において、ジョブのスプール処理を中止し、アプリケーションソフト６０１に対し、印刷処理の中断を、例えば、ＤＤＩのＡＰＩの戻り値でエラーコードを返すなどの方法で通知し、プリントシステムの処理は終了する（Ｓ１００８）。
【０１２５】
なお、本実施形態では、ジョブごとの分散出力先であるメンバプリンタが決定される分散印刷であれば、ページ単位、部単位など、分散の方法には特に依存しない。また、本実施形態では、メンバプリンタごとに１台ずつ確認する実施例で説明しているが、マルチスレッドなどで、同時に複数の認証チェックを行ってもよい。
【０１２６】
上記実施形態によれば、分散印刷機能と部門管理機能を併用する場合に、ユーザは、各メンバプリンタの出力先の認証の成否が異なっている場合は、分散印刷処理を失敗させるので、１つの文書に対し１種類の部門管理情報で１意に扱った部門管理ができなくなることを防止し、すべてのメンバプリンタの認証が成功しないと、分散印刷を実行させないことにより、出力装置の用紙の枚数や部門ごとの出力枚数などを厳密に確認するようなユーザの運用では、あらかじめ定められた印刷設定以外では、印刷が実行すると不都合が生じるが、分散印刷により、文書の一部のみ成功してしまう印刷を防止できる。
【０１２７】
〔第２実施形態〕
以下、上記第１実施形態等における分散印刷時に部門管理機能の認証が失敗した場合に、短時間で分散印刷を続行する実施態様について説明する。
【０１２８】
図１２は、本発明に係るデータ処理装置における第３のデータ処理手順の一例を示すフローチャートであり、プリントシステムのデータ処理手順に対応する。について説明する。なお、Ｓ１３０１〜Ｓ１３１１は各ステップを示し、各ステップは、図２に示したＣＰＵ２００が図３に示すネットワークプリンタ制御プログラムをＲＡＭ２００２にロードして実行することで実現される。
【０１２９】
先ず、ステップＳ１３０１で、アプリケーションソフト６０５から印刷指示を受け、グループプリンタＤｒｉｖｅｒ６０３がジョブの生成を開始すると、前述のユーザによる印刷開始指示操作により、部門管理機能を伴う分散印刷が開始され、グループプリンタドライバ６０３は、ステップＳ１３０２で、入力された、または、保存されていた部門ＩＤとパスワードを抽出し、次に、ステップＳ１３０３で、グループプリンタごとに設定されているメンバプリンタの一覧を作成する。
【０１３０】
次に、ステップＳ１３０４で、分散出力先のメンバプリンタのアドレスをメンバプリンタに設定されているＰｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔの設定から取得する。そして、メンバプリンタの出力先であるデバイスのアドレスを取得すると、ステップＳ１３０５で、デバイスに対し、認証が成功しているか否かの認証チェックを実行する。
【０１３１】
そして、ステップＳ１３０６で、認証に成功しているかどうかを判断して、認証に成功していると判断した場合は、ステップＳ１３０７に進み、ユーザに指定された部門ＩＤとパスワードで認証に成功したメンバプリンタを記録する。
【０１３２】
そして、ステップＳ１３０８で、ステップＳ１３０３で作成したメンバプリンタの一覧を参照して未確認のメンバプリンタがあるかどうかを判断して、未確認のメンバプリンタがあると判断した場合は、次のメンバプリンタに対し認証チェックを行うため、ステップＳ１３０４へ戻る。
【０１３３】
一方、ステップＳ１３０６において、認証に失敗したと判断場合には、ステップＳ１３０８へ進み、次のメンバプリンタの認証チェックに移る。
【０１３４】
以上のようにステップＳ１３０４〜Ｓ１３０８の手順を繰り返し、すべての出力先のメンバプリンタに認証チェックが終了すると、ステップＳ１３０９へ進み、認証チェックの成功したメンバプリンタの一覧に対して、分散出力先の再割り当てを行い、ステップＳ１３１０で、分散印刷を実行して、ステップＳ１３１１で、本処理を終了する。
【０１３５】
なお、本実施形態において、ステップＳ１３０１９における再割り当て方法は、本実施形態では問わない。
【０１３６】
例えば、１００ページのジョブを２０ページずつ、均等に５台の出力装置に出力しようとした分散印刷の場合に４台しか認証が成功しない場合は、２５ページずつ、４台の出力装置に、再割り当てを行う。再割り当て時には、分散印刷の条件を必ずしも満たす必要はない。
【０１３７】
例えば、前述のジョブで、３台の出力装置しか認証が成功しなかった場合に、３３ページのメンバプリンタと３４ページのメンバプリンタが再割り当てされることによって、各メンバプリンタの出力が均等ではなくなるが、本発明の印刷方式では、認証の失敗により、同一のデータから分散印刷の出力数が制限される場合には、分散印刷の初期設定を必ずしも満たす必要はない。
【０１３８】
なお、本実施形態では、メンバプリンタごとに１台ずつ確認する実施例で説明しているが、マルチスレッドなどで、同時に複数の認証チェックを行ってもよい。
【０１３９】
これにより、分散印刷機能と部門管理機能を併用する場合において、ジョブの認証エラーが発生すると、次の出力先の指示や新しい認証情報などが入力されなくとも、分散印刷を続行することができるようになった。
【０１４０】
〔第３実施形態〕
以下、上記第１実施形態等における分散印刷時に部門管理機能の認証が失敗した場合に、短時間で分散印刷を続行する他の実施態様について説明する。
【０１４１】
図１３は、本発明に係るデータ処理装置における第４のデータ処理手順の一例を示すフローチャートであり、プリントシステムのデータ処理手順に対応する。について説明する。なお、Ｓ１４０１〜Ｓ１４１３は各ステップを示し、各ステップは、図２に示したＣＰＵ２００が図３に示すネットワークプリンタ制御プログラムをＲＡＭ２００２にロードして実行することで実現される。
【０１４２】
先ず、ステップＳ１４０１で、アプリケーションソフト６０１から印刷指示を受け、グループプリンタＤｒｉｖｅｒ６０３がジョブの生成を開始すると、前述のユーザによる操作により、部門管理機能を伴う分散印刷を開始し、グループプリンタドライバ６０３は、ステップＳ１４０２で、入力された、または、保存されていた部門ＩＤとパスワードを抽出し、ステップＳ１４０３で、グループプリンタごとに設定されているメンバプリンタの一覧を、例えばプリンタ名の文字列のテーブルで作成する。
【０１４３】
次に、ステップＳ１４０４で、分散出力先のメンバプリンタのアドレスをメンバプリンタに設定されているＰｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔの設定から取得する。メンバプリンタの出力先であるデバイスのアドレスを取得すると、ステップＳ１４０５で、デバイスに対し、認証チェックを実行する。そして、デバイスに認証チェックを行った結果、ステップＳ１４０６で、認証に成功したかどうかを判定して、認証に成功したと判断した場合は、ステップＳ１４０７で、成功したメンバプリンタを記録し、ステップＳ１４０９で、認証の成功したメンバジョブの印刷処理を開始する。
【０１４４】
次に、ステップＳ１４１０で、ステップＳ１４０３で作成したメンバプリンタ一覧から、まだ認証をチェックしていないメンバプリンタがあるか否かを判断して、まだ認証をチェックしていないメンバプリンタがあると判断した場合は、ステップＳ１４０４へ戻り、同様の処理を行う。
【０１４５】
一方、ステップＳ１４０６で、認証に失敗したと判断した場合には、ステップＳ１４０８へ進み、メンバジョブ用のデータをファイルなどで一時保存し、ステップＳ１４１０へ進む。
【０１４６】
一方、ステップＳ１４１０で、メンバプリンタの認証チェックが未確認のメンバジョブがなくなったと判断し場合、ステップＳ１４１１で、認証失敗したメンバジョブがあるかどうかを判断して、失敗したジョブがあると判断した場合は、ステップＳ１４１２で、一時保存したデータの出力先を変更し、成功したメンバプリンタに再割り当てを行う。そして、出力先が再割り当てされたメンバジョブは、すでに、認証に成功しているメンバプリンタであるので、ステップＳ１４０９へ戻り、直ちに印刷処理を開始する。
【０１４７】
以上の処理を認証失敗したメンバジョブがなくなるまで繰り返し、ステップＳ１４１１で、すべてのジョブの印刷処理を実行すると、本印刷処理を終了する（Ｓ１４１３）。
【０１４８】
これにより、分散印刷機能と部門管理機能を併用する場合において、ジョブの認証エラーが発生すると、次の出力先の指示や新しい認証情報などが入力されなくとも、分散印刷を続行することができるようになった。
【０１４９】
また、分散印刷が認証エラーで失敗した場合に、本来はひとつのジョブとして扱われるべき文書の一部が出力され、残りは出力されない、という部門管理上、好ましくない状況を防止できるようになった。さらに、一度、すべての認証チェックを行った後、分散出力先を決定する必要がないため、分散印刷処理そのものに冗長な処理時間を要することがなくなった。
【０１５０】
以下、図１４に示すメモリマップを参照して本発明に係るデータ処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１５１】
図１４は、本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１５２】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１５３】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１５４】
本実施形態における図１１，図１２，図１３に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１５５】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１５６】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１５７】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１５８】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１５９】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１６１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６４】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１６５】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。以下、その実施態様１〜１２について説明する。
【０１６６】
〔実施態様１〕
ネットワーク上で１つのグループプリンタを構成するメンバプリンタに対する複数のメンバプリンタドライバ（図６に示すＰＤＬドライバ６０２）を制御可能なグループプリンタドライバ（図６に示すグループプリンタドライバ６０３）により１つの印刷ジョブをメンバプリンタで分散印刷処理するデータ処理装置であって、前記グループプリンタによる分散印刷要求時に、グループプリンタ中の各プリンタについてユーザの部門認証を実行する認証手段（図１１に示すステップＳ１００５）と、前記認証手段によるユーザの部門認証がすべてのメンバプリンタについて成功した場合に、アプリケーションプログラムからの描画命令を汎用中間フォーマットデータに変換してスプール部に登録し、すべてのメンバプリンタについて認証が失敗した場合に、前記スプール部への登録を中止するグループ印刷制御手段（図６に示すステップＳ１１０６〜Ｓ１００９）とを備えることを特徴とするデータ処理装置。
【０１６７】
〔実施態様２〕
前記認証手段によりユーザの部門認証がすべてのメンバプリンタについて成功した場合に、前記スプール部にスプールされている汎用中間フォーマットデータから分散印刷を実行すべき各メンバプリンタに出力すべき印刷データを生成して、それぞれのメンバプリンタに転送するドライバ手段（図６に示すＰＤＬドライバ６０２）を複数備えることを特徴とする実施態様１記載のデータ処理装置。
【０１６８】
〔実施態様３〕
前記認証手段によるユーザの部門認証が成功しているメンバプリンタを記録手段（例えば図２に示すＨＤ２０５）と、前記認証手段による認証終了時に、前記記録手段に記録されているメンバプリンタに対して分散印刷を再割当てする割当て手段（図１２に示すステップＳ１３０９）とを備え、前記グループ印刷制御手段は、前記割当て手段により再割当てされているメンバプリンタによる分散印刷を実行（図１２に示すステップＳ１３１０）させることを特徴とする実施態様１記載のデータ処理装置。
【０１６９】
〔実施態様４〕
前記認証手段によりユーザの部門認証がすべてのメンバプリンタについて成功しない場合に、該成功しないプリンタに割り当てるべき汎用中間フォーマットデータを保存する保存手段（図８に示す汎用印刷ファイル７１６）と、前記保存手段に保存されている汎用中間フォーマットデータを処理すべき出力先を変更する変更手段（図１３に示すステップステップＳ１４１２）とを有し、前記グループ印刷制御手段は、前記変更手段により変更されているメンバプリンタによる分散印刷を実行（図１３に示すステップステップＳ１４１９）させることを特徴とする実施態様１記載のデータ処理装置。
【０１７０】
〔実施態様５〕
前記汎用中間フォーマットデータは、ＯＳまたはプリンタ言語に依存しない形式のデータであることを特徴とする実施態様１または２記載のデータ処理装置。
【０１７１】
〔実施態様６〕
ネットワーク上で１つのグループプリンタを構成するメンバプリンタに対する複数のメンバプリンタドライバを制御可能なグループプリンタドライバにより１つの印刷ジョブをメンバプリンタで分散印刷処理するデータ処理装置における印刷制御方法であって、前記グループプリンタによる分散印刷要求時に、グループプリンタ中の各プリンタについてユーザの部門認証を実行する認証ステップ（図１１に示すステップＳ１００５）と、前記認証ステップによるユーザの部門認証がすべてのメンバプリンタについて成功した場合に、アプリケーションプログラムからの描画命令を汎用中間フォーマットデータに変換してスプール部に登録し、すべてのメンバプリンタについて認証が失敗した場合に、前記スプール部への登録を中止するグループ印刷制御ステップ（図１１に示すステップＳ１００６〜Ｓ１００８）とを備えることを特徴とする印刷制御方法。
【０１７２】
〔実施態様７〕
前記認証ステップによりユーザの部門認証がすべてのメンバプリンタについて成功した場合に、前記スプール部にスプールされている汎用中間フォーマットデータから分散印刷を実行すべき各メンバプリンタに出力すべき印刷データを生成して、それぞれのメンバプリンタに転送する転送ステップ（図１１に示すステップＳ１００７であって、図８に示すようにメンバプリンタの数に応じて、各メンバプリンタに対応する各プリンタドライバ６０２から転送処理される）を複数備えることを特徴とする実施態様６記載の印刷制御方法。
【０１７３】
〔実施態様８〕
前記認証ステップによるユーザの部門認証が成功しているメンバプリンタを記録手段に記録する記録ステップ（図１２に示すステップＳ１３０７）と、前記認証ステップによる認証終了時に、前記記録手段に記録されているメンバプリンタに対して分散印刷を再割当てする割当てステップ（図１２に示すステップＳ１３０９）とを備え、前記グループ印刷制御ステップは、前記割当て手段により再割当てされているメンバプリンタによる分散印刷を実行（図１２に示すステップＳ１３１０）させることを特徴とする実施態様６記載の印刷制御方法。
【０１７４】
〔実施態様９〕
前記認証ステップによりユーザの部門認証がすべてのメンバプリンタについて成功しない場合に、該成功しないプリンタに割り当てるべき汎用中間フォーマットデータを保存手段に保存する保存ステップ（図１３に示すステップＳ１４０８）と、前記保存手段に保存されている汎用中間フォーマットデータを処理すべき出力先を変更する変更ステップ（図１３に示すステップＳ１４１２）とを有し、前記グループ印刷制御ステップは、前記変更ステップにより変更されているメンバプリンタによる分散印刷を実行（図１３に示すステップＳ１４０９）させることを特徴とする実施態様６記載の印刷制御方法。
【０１７５】
〔実施態様１０〕
前記汎用中間フォーマットデータは、ＯＳまたはプリンタ言語に依存しない形式のデータであることを特徴とする請求項６または７記載の印刷制御方法。
【０１７６】
〔実施態様１１〕
実施態様６〜１０のいずれかに記載の印刷制御方法を実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【０１７７】
〔実施態様１２〕
実施態様６〜１０のいずれかに記載の印刷制御方法をコンピュータに実行させるプログラム。
【図面の簡単な説明】
【０１７８】
【図１】本発明の第１実施形態を示す印刷処理システムの一例を説明する図である。
【図２】図１に示したクライアントとプリントサーバの構成を説明するブロック図である。
【図３】図２に示したＲＡＭのメモリマップの一例を示す図である。
【図４】図２に示したＦＤのメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブに対して挿入されるＦＤとの関係を示す図である。
【図６】本発明に係る印刷システムにおけるジョブ処理状態を説明するブロック図である。
【図７】図６に示したクライアントシステムで構築される汎用印刷ファイルの構成の一例を示した図である。
【図８】図６に示したクライアントマシンと印刷ジョブ制御システムとの対応を説明するブロック図である。
【図９】本発明に係るデータ処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１０】図２に示したディスプレイに表示される印刷認証ダイアログの一例を示す図である。
【図１１】本発明に係るデータ処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１２】本発明に係るデータ処理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図１３】本発明に係るデータ処理装置における第４のデータ処理手順の一例を示すフローチャートである。
【図１４】本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１７９】
１０１  サーバ
１０２〜１０４  クライアント
１０５〜１０７  プリンタ
【図１】
2006244278.tif 000003
【図２】
2006244278.tif 000004
【図３】
2006244278.tif 000005
【図４】
2006244278.tif 000006
【図５】
2006244278.tif 000007
【図６】
2006244278.tif 000008
【図７】
2006244278.tif 000009
【図８】
2006244278.tif 000010
【図９】
2006244278.tif 000011
【図１０】
2006244278.tif 000012
【図１１】
2006244278.tif 000013
【図１２】
2006244278.tif 000014
【図１３】
2006244278.tif 000015
【図１４】
2006244278.tif 000016