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