(57)【要約】【課題】プルプリントを行う場合に、プルプリントを行うデバイスの能力はユーザからすると未知の場合があり、ユーザの意図しない印刷結果となる場合がある。【解決手段】プルプリントを行う際にプリントサーバより構成情報を取得し（Ｓ１６０１）、ジョブの設定情報と構成情報とを比較して印刷可能か判定する（Ｓ１６１５）。判定結果はジョブ情報に記録される。プルプリント要求であれば、ステップＳ１６１６で印刷不可能なジョブは、印刷されない。【選択図】図１６
2008097226.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と通信可能な情報処理装置であって、
複数の印刷ジョブについて、各印刷ジョブの属性情報を取得する属性情報取得手段と、
前記印刷装置の構成情報を取得する構成情報取得手段と、
前記印刷装置への印刷指示に対応する入力に応じて、前記構成情報取得手段により取得された構成情報と、前記各印刷ジョブの属性情報とに基づき、複数の印刷ジョブを選択する選択手段と、
前記選択手段により選択された印刷ジョブを前記印刷装置に一括して送信するよう制御する送信制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記複数の印刷ジョブにおいて、前記構成情報によって、前記印刷装置で印刷を行える印刷ジョブを前記各印刷ジョブの属性情報から判断する判断手段を有し、前記選択手段は、前記判断手段により前記印刷装置で印刷を行えると判断された印刷ジョブを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選択手段により選択された複数の印刷ジョブの色情報が異なる場合に、前記選択された複数の印刷ジョブにおける色情報を統一する統一手段を有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記色情報は、カラープロファイルの設定であることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
印刷装置と通信可能な情報処理装置であって、
複数の印刷ジョブについて、各印刷ジョブの属性情報を取得する属性情報取得工程と、
前記印刷装置の構成情報を取得する構成情報取得工程と、
前記印刷装置への印刷指示に対応する入力に応じて、前記構成情報取得工程により取得された構成情報と、前記各印刷ジョブの属性情報とに基づき、複数の印刷ジョブを選択する選択工程と、
前記選択工程により選択された印刷ジョブを前記印刷装置に一括して送信するよう制御する送信制御工程とを有することを特徴とする情報処理方法。
【請求項６】
前記複数の印刷ジョブにおいて、前記構成情報によって、前記印刷装置で印刷を行える印刷ジョブを前記各印刷ジョブの属性情報から判断する判断工程を有し、前記選択工程は、前記判断工程により前記印刷装置で印刷を行えると判断された印刷ジョブを選択することを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記選択工程により選択された複数の印刷ジョブの色情報が異なる場合に、前記選択された複数の印刷ジョブにおける色情報を統一する統一工程を有することを特徴とする請求項５又は６に記載の情報処理方法。
【請求項８】
前記色情報は、カラープロファイルの設定であることを特徴とする請求項５乃至７の何れか１項に記載の情報処理方法。
【請求項９】
請求項５乃至８のいずれか１項に記載の情報処理方法の各工程を、コンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１０】
請求項５乃至８のいずれか１項に記載の情報処理方法の各工程を、コンピュータに実行させるためのコンピュータプログラムを記録したことを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グルーピング印刷技術に関する。
【背景技術】
【０００２】
一般的なプリントシステムでは、ホストコンピュータがイニシエータとなって印刷データをプリンタに送信し、プリンタにより印刷が実行される。これに対してプルプリントシステムと呼ばれるプリントシステムがある。プルプリントシステムでは、たとえば、オペレータが識別データを入力するための操作パネルがプリンタに備えられている。また、ホストコンピュータには、識別データが付加されたプリントデータが保存されている。プリンタにおいて識別データを入力すると、プリンタは、入力された識別データと一致する印刷データを持つ印刷ジョブをホストコンピュータから引き出して、その印刷ジョブを実行する（たとえば特許文献１等参照）。
【特許文献１】特開平１０−１６３５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、プルプリントを行う場合に、プルプリントを行うプリンタの能力はユーザにとっては未知の場合が多い。そのためユーザの意図しない印刷結果となる場合がある。例えば、Ａ３サイズの用紙に印刷ができないプリンタに、用紙サイズをＡ３に設定した印刷ジョブを投入するとエラーとなり印刷できないといった問題が発生する。特に複数の印刷ジョブを上位装置から印刷装置へ一括して送信し、連続した印刷を行わせる、所謂グルーピング印刷においては、様々な属性情報を持った印刷ジョブが混在する為、この問題が顕著である。
【０００４】
また、複数の印刷ジョブをグループ化して印刷する場合に、グループ内の印刷ジョブの印刷属性の設定において、色味など色属性の設定値が統一されていない場合がある。その場合には、グループ化された印刷ジョブでありながら色味が統一されず、品質が劣る印刷物が出力される。
【０００５】
本発明は上記従来例に鑑みてなされたものである。すなわち、プルプリント、且つ、グルーピング印刷の場合においても、印刷装置と印刷ジョブの機能不一致によるエラー発生を抑制できる情報処理装置及びその方法を第１の目的とする。
【０００６】
また、グループ化された複数の印刷ジョブの印刷属性の設定値を統一し、印刷品質を向上させた情報処理装置及び方法を提供することを第２の目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は以下の構成を備える。
【０００８】
印刷装置と通信可能な情報処理装置であって、
複数の印刷ジョブについて、各印刷ジョブの属性情報を取得する属性情報取得手段と、
前記印刷装置の構成情報を取得する構成情報取得手段と、
前記印刷装置への印刷指示に対応する入力に応じて、前記構成情報取得手段により取得された構成情報と、前記各印刷ジョブの属性情報とに基づき、複数の印刷ジョブを選択する選択手段と、
前記選択手段により選択された印刷ジョブを前記印刷装置に一括して送信するよう制御する送信制御手段とを有する。
【発明の効果】
【０００９】
本発明によれば、プルプリント、且つ、グルーピング印刷の場合においても、印刷装置と印刷ジョブの機能不一致によるエラー発生を抑制できる。
【００１０】
また、グループ化された複数の印刷ジョブの印刷属性の設定値を統一し、印刷品質を向上させることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１２】
＜システム構成＞
図１は、本発明の実施形態に係るプリントシステムの全体構成を示すブロック図である。本プリントシステムは、情報処理装置としてのクライアント（コンピュータ）１０１〜１０２と、プルプリントサーバ機能を有するサーバ１０３と、印刷装置（プリントデバイス）としてのネットワークプリンタ１０４〜１０５とを含む。これらが互いに接続されていることにより、全体としてネットワークを構成している。
【００１３】
クライアント（コンピュータ）１０１〜１０２およびサーバ１０３には、印刷制御プログラムが実行可能に格納されている。サーバ１０３は、本プリントシステムに含まれるネットワークプリンタ１０４〜１０５を管理する機能のほか、ネットワークで使用されるファイルを蓄積したり、ネットワークの使用状態を監視したりする機能を有する。具体的には、クライアント（コンピュータ）１０１〜１０２は、自身により印刷ジョブを作成し、サーバ１０３に送信する機能を有する。サーバ１０３は、クライアント１０１，１０２から受信した印刷ジョブを登録し、プリンタからの要求に応じてネットワークプリンタ１０４〜１０５のスケジューラにスケジュール要求を発行する機能を有する。また、ネットワークプリンタ１０４〜１０５のスケジューラからの指示により、印刷データを転送する機能を有する。なおサーバ１０３は、クライアントの機能も持ち合わせている。すなわちサーバ１０３は、文書データ等の印刷要求を受け付けて、印刷ジョブを生成する機能を有する。
【００１４】
ネットワークプリンタ１０４〜１０５は、サーバ（コンピュータ）１０３から、印刷データを含む印刷ジョブを受信し、受信した印刷ジョブを解析して印刷する物理的な装置としてのプリントデバイスである。ネットワークプリンタ１０４〜１０５としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、あらゆる方式の印刷装置を採用することができる。
【００１５】
また、ネットワークプリンタ１０４〜１０５は、複数のクライアント（コンピュータ）１０１〜１０４からの印刷要求を受け付け、受け付けた印刷要求の順序を決定し、印刷指示を発行する機能を有する。さらに、ネットワークプリンタ１０４〜１０５に転送された印刷ジョブや、ネットワークプリンタ１０４〜１０５の状態を監視し、印刷の終了やプリンタ状態をクライアント（コンピュータ）１０１〜１０４に通知する機能を有する。
【００１６】
なお、本プリントシステムに含まれる装置間の通信は、イーサネット（登録商標）ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
【００１７】
＜プリントサーバ及びクライアントの構成＞
図２は、図１に示したクライアント１０１〜１０２及びサーバ１０３として機能するコンピュータのハードウェア構成を説明するブロック図である。
【００１８】
図２において、ＣＰＵ２００は、ＨＤ（ハードディスク）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや印刷制御プログラム等を読出して実行する制御手段である。ＣＰＵ２００は、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納制御を行う。
【００１９】
ＲＯＭ２０１は、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する記憶手段である。ＲＡＭ２０２は、ＣＰＵ２００の主メモリやワークエリア等として機能する一時記憶手段である。  ＦＤ（フレキシブルディスク）ドライブ２０３は、後述する図５に示すように記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードするための記憶媒体読み込み手段である。なお、クライアント１０１〜１０２及びサーバ１０３は、ＦＤドライブ２０３に代えて、或いはＦＤドライブ２０３と共に、他の記憶媒体読込手段を備えてもよい。他の記憶媒体としては、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、コンピュータが読み取り可能なあらゆる記憶媒体が挙げられる。
【００２０】
ＨＤ２０５は、大容量メモリとして機能する外部記憶手段であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、印刷制御プログラム、及び関係プログラム等を格納している。さらに、スプール手段であるスプーラはここに確保される。なお、クライアント１０１〜１０２及びサーバ１０３ではスプール手段としてスプーラが確保される。
【００２１】
キーボード２０６は、ユーザがクライアント１０１〜１０２及びサーバ１０３に対して、デバイスの制御コマンドの命令等を入力指示するための指示入力手段である。
【００２２】
ディスプレイ２０７は、キーボード２０６から入力したコマンドや、プリンタ１０４〜１０５の状態等を表示する表示手段である。尚、実際にはクライアント）１０１〜１０２及びサーバ１０３上で稼動するオペレーティングシステムを介して表示手段に表示指示がなされる。このオペレーティングシステムに本印刷処理プログラムによりリソースファイルの表示指示が行われ、後述する各表示が実現される。システムバス２０８は、クライアント（コンピュータ）１０１〜１０２及びサーバ１０３としてのコンピュータ内のデータの流れを司る。
【００２３】
またインターフェース２０９は、入出力手段であり、クライアント１０１〜１０２及びサーバ１０３は、インターフェース２０９を介してネットワーク上の他の装置とのデータのやり取りを行う。
【００２４】
＜メモリマップ等の説明＞
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、印刷制御プログラム３０３がＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２５】
印刷制御プログラム３０３及び関係データ３０４は、予めＦＤ２０４からＨＤ２０５にインストールされて、ＨＤ２０５からＲＡＭ２０２にロードするようにしてもよいし、ＦＤ２０４から直接ＲＡＭ２０２にロードして実行させてもよい。さらに、印刷制御プログラム３０３をＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２６】
印刷制御プログラム３０３は、クライアント１０１〜１０２及びサーバ１０３においては、印刷データを転送したり、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更したりする指示をするための制御を行う。
【００２７】
基本Ｉ／Ｏプログラム３０１は、コンピュータの電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムである。
【００２８】
ＯＳ（オペレーティングシステム）３０２は、コンピュータの有する資源を管理する。印刷制御プログラム３０３は、本実施形態で説明するような手順を実行するプログラムである。関係データ３０４は、印刷制御プログラム３０３実行時に参照されるデータである。ワークエリア３０５は、ＣＰＵ２００が各種のプログラムを実行するための領域である。
【００２９】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、データ内容４００はＦＤ２０４に記録された内容であり、データの情報を示すボリューム情報４０１と、ディレクトリ情報４０２と、印刷制御プログラム４０３と、その関係データ４０４を含んでいる。
【００３０】
＜コンピュータのハードウェア＞
図５は、本発明の実施形態に関わる印刷システムのハードウェア構成を説明するブロック図である。プリンタ５００は、ネットワークプリントサーバ５２０とプリンタコントローラ５１９という異なる２つの制御系で構成されている。ネットワークプリントサーバ５２０において、ネットワークプリントサーバ用ＣＰＵ５０１は、制御プログラムに基づいて外部装置であるサーバ６００から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御する。サーバ６００はサーバ１０３と同じものである。また、拡張インタフェースコントローラ（ＥＸＰＣ５０７）を介して接続されるプリンタコントローラ５１９に対して適切なデータ転送制御を行う。サーバ６００は、ネットワークコントローラ（ＬＡＮＣ５０５）に接続されたローカルエリアネットワーク（ＬＡＮ５１２）上のクライアント１０１，１０２などのホストコンピュータ等である。これらサーバ６００とは所定のネットワーク通信プロトコルを用いて通信する。
【００３１】
ＲＡＭ５０２はＣＰＵ５０１の主メモリ、ワークエリア等の一時記憶領域をして用いられる。フラッシュＲＯＭ５０３には制御プログラムやデータが保存されている。ＬＥＤ５０６はネットワークプリントサーバの動作状態を示す表示部として用いる。ＬＥＤ５０６は、例えばネットワークコントローラ（ＬＡＮＣ５０５）とローカルエリアネットワーク（ＬＡＮ５１２）の電気的な接続状態や、ネットワーク通信モード等の各種動作状態を点滅パターンや色で示す。Ｉ／Ｏインターフェース５２１は、ホストコンピュータとローカル接続するためなどに使用される。本実施形態では使用しない。
【００３２】
さらにネットワークプリントサーバ５２０とプリンタコントローラ５１９とを繋ぐ拡張インターフェース５１７は、図示しないコネクタで構成されている。拡張インターフェース５１７は、ネットワークプリントサーバ５２０のみが着脱し、同じ構成を持つ別のプリンタ５００にネットワークプリントサーバ５２０を装着することも可能な構成となっている。
【００３３】
プリンタコントローラ５１９において、プリンタコントローラ用ＣＰＵ５０８は、制御プログラムやリソースデータ等に基づいて、システムバス５１１に接続される各種デバイスとのアクセスを統括的に制御する。ラスタコントローラ５２３は、拡張インタフェースコントローラ（ＥＸＰＣ５１３）を介して接続されるネットワークプリントサーバ５２０から受信される印刷データを基に、出力画像データを生成する。ラスタコントローラ５２３は生成した画像データをプリントエンジン５１６に対して出力する。制御プログラムやリソースデータは、ＲＯＭ５０９あるいはディスクコントローラ（ＤＫＣ５１５）を介して接続された外部メモリ５１０に記憶されている。
【００３４】
ＲＡＭ５１４は、ＣＰＵ５０８の主メモリ、ワークエリア等として機能するＲＡＭである。ＲＡＭ５１４は、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００３５】
操作パネル（操作部）５１８は、プリンタ５００の動作モード等の設定や印刷データの取り消し等の操作を行うためのボタンと、プリンタ５００の動作状態を示す液晶パネルやＬＥＤ等の表示部とを有する。操作は液量パネルに重畳されたタッチパネルから行うこともできる。
【００３６】
プリンタエンジン５１６は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華（熱転写）方式等が挙げられる。
【００３７】
＜サーバのソフトウェア構成＞
次に、本プリントシステムのサーバ１０３のソフトウェア構成について説明する。図６は、サーバ１０３におけるソフトウェア構成の一例を示す図である。それぞれの構成間の矢印は、アプリケーションから発行された描画コマンドを含む印刷ジョブが、どのように処理されるかを示したものである。また、各ブロックで示されたソフトウェア構成は、図２のＣＰＵ２００によって実行され、所望の機能を実現する。
【００３８】
通常、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標）などの一般的なアプリケーションプログラム６０１は、印刷の指示を受け付けると、ＯＳを介して一連の描画コマンドを生成する。ＯＳを介して生成された描画コマンドを受け取ったＰＤＬドライバ６０２は、一連の描画コマンドに基づいてネットワークプリンタ１０４〜１０５で解釈可能なＰＤＬファイルを含む印刷ジョブを生成する。なお、以下の説明ではＰＤＬドライバを例に説明を行うが、これに限定されるものではない。例えば、ＢＤＬ（Ｂａｎｄ  ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）や、圧縮ビットマップを作成するプリンタドライバ、或いは、アプリケーション及びＯＳによりプリンタドライバを介さずに印刷データを生成する形態などにも適用可能である。
【００３９】
ＰＤＬドライバ６０２は、プリントデバイスへ印刷ジョブを送信するためにスプーラ６０３に渡す。ここではＯＳをウィンドウズ（登録商標）と仮定しているのでスプーラ６０３はウィンドウズ（登録商標）スプーラである。ただし、本発明を適用するコンピュータのＯＳはウィンドウズ（登録商標）に限定されるものではなく、描画命令を備えるものであれば他のＯＳも適用可能である。
【００４０】
スプーラ６０３は、ユーザがユーザインターフェースを介して選択し指示したポートモニタ６０４に印刷ジョブを渡して、ネットワークプリンタ１０３〜１０５等のプリントデバイスに送信させる（矢印ａ）。ここでは、ユーザはあらかじめプルプリントサーバ６０５に印刷データを転送するポートモニタ６０４を指定して印刷を指示したものとして説明を進める。なお、プリントサーバ６０５にジョブを送信するポートモニタを特にジョブ制御ポートモニタと呼ぶことにする。また、プリンタドライバが提供するユーザインターフェースを介して設定された用紙サイズ、ステイプル指示等の印刷設定情報も、ジョブ制御ポートモニタ６０４に送信される。ジョブ制御ポートモニタ６０４はプリントサーバ６０５に印刷ジョブ及び印刷設定情報を送信する（矢印ｂ）。プリントサーバ６０５は、印刷ジョブをごとに、たとえばジョブＩＤを関連づけて印刷データをハードディスク２０５に保存する。
【００４１】
印刷設定（印刷属性ともいう）はプリンタドライバなどにより印刷ジョブに設定される情報である。用紙サイズ、両面、カラーモノクロ設定、仕上げ設定（ステイプル・パンチ）等がある。印刷設定は印刷設定データにより定義され、プルプリントサーバ６０５に登録された印刷ジョブに関連づけられている。
【００４２】
また、クライアント１０１〜１０２のジョブ登録アプリケーション６０９は、ＡＰＩ６１０を介し、プルプリントサーバ６０５に印刷データを投入する（矢印ｇ）。
【００４３】
プルプリントサーバ６０５は、印刷ジョブ及びデバイスの状態を管理する機能を備える。また、プリントデバイスから通知されるデバイス状態やジョブの状態などの情報を管理したり、また、プリントデバイスに対して所定の命令をする機能も備える。これは、複数のネットワークプリンタ１０３〜１０５のデバイス情報やジョブ情報を管理する機能に相当する。管理機能には、たとえばデバイスから取得した情報をデバイスに関連づけて保存し、要求に応じてそれを出力したり削除したりする機能を含む。
【００４４】
そして、プリンタ５００からのプルプリント要求（矢印ｄ）が来ると、プリンタ５００が持つ印刷ジョブの順序管理機能に対して印刷の要求（スケジュール要求）を発行する（矢印ｃ）。順序管理機能に基づき順番が到来した場合には、プリンタ５００からの印刷指示により、ネットワークプリンタ１０３〜１０５に印刷データを送信する（矢印ｅ）。
【００４５】
プリンタ５００は、印刷データの完了を確認すると印刷完了の通知をプルプリントサーバ６０５に通知したり、また、プリンタ５００の状態を通知する（矢印ｆ）。
【００４６】
プリントマネージャ６０７は、ユーザが、プルプリントサーバ６０５内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインターフェースを提供するプログラムである。プリントマネージャ６０７は、プルプリントサーバ６０５のソフトウェアのインターフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を介して、プルプリントサーバ６０５と情報・指示をやり取りしている。
【００４７】
そして、プリントマネージャ６０７は、主に、プルプリントサーバ６０５が管理するネットワークプリンタ１０３〜１０５の状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、サーバとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。ここでのプルプリントサーバ６０５はネットワークを介して通信可能な各プリンタデバイス（印刷装置）の印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスの通知を受け付ける機能を備える。
【００４８】
更に詳細な処理としては、プリントマネージャ６０７がプルプリントサーバ６０５に対してデバイスを指定したイベントを発行する。プルプリントサーバ６０５は発行されたイベントに基づくデバイスのステータスを認識して、監視に基づく結果をプリントマネージャ６０９に通知する。
【００４９】
＜カラーマネジメント＞
クライアント（サーバのクライアントモジュールも含む）には、出力色の調整を行うカラーマネジメント機能が備えられている。カラーマネジメントモジュールはカラープロファイルを用いて色の調整を行う。
【００５０】
カラープロファイルはデバイスの特性が記述されたカラーマネージメントシステムで用いられる情報ファイルである。カラーマネージメントシステムとは、入出力デバイスによる色の差を補正し、同一のデータならば同一の色が再現されるようにするためのシステムである。モニタやプリンタ、デジタルカメラなどの入出力機器では、それぞれに異なった色特性や再現領域を持っているため、同じ画像データを扱ってもそれぞれ微妙に異なった色になってしまう。その差を補正し、モニタで見た色がそのままプリンタで印刷できるなど、どの機器を使っても同じ色が再現されるようにするのがカラーマネージメントシステムである。
【００５１】
カラーマネージメントシステムはまず、入力された色のデータを、その際に用いられた機器（モニタやスキャナ、プリンタなど）の特性を記述した「カラープロファイル」を参照して補正し、記憶する。そして、出力の際には出力機器(プリンタや他のモニタなど)のカラープロファイルに応じて、入力時と同様の色が再現できるようにカラーマッチングを行う。
【００５２】
本実施形態では、印刷設定情報の一項目として、プリンタのカラープロファイルが含まれている。カラープロファイルは、たとえばプリンタのベンダから得たり、あるいはプリンタドライバのユーザインターフェースを介して利用者が適宜調整することができる。
【００５３】
＜印刷ジョブの流れ＞
次に、図７を用いてアプリケーション６０１からプリントデバイスまでの印刷ジョブの流れについて説明する。ここで、図６と同じソフトウェア構成について同じ参照番号を付与しており、その機能については詳説しない。
【００５４】
図７に示すように、概念的には、ＰＤＬドライバ６０２、スプーラ６０３、ジョブ制御ポートモニタ６０４は、プリントデバイス６０７、６０７Ａごとに用意されている。ＯＳがウィンドウズ（登録商標）の場合には、これらをまとめてウィンドウズ（登録商標）プリントシステム７００と称する場合もある。
【００５５】
プルプリントサーバ６０５には、ＰＤＬドライバ１０２に対応する数のプリントキュー７０１、７０１Ａが含まれている。また、プリンタ５００、５００Ａからのプルプリント要求により決定した宛先のプリンタ５００、５００Ａに印刷データを送信するユニバーサル出力ポート７０２が含まれている。また、プリントキュー７０２、７０２Ａは、プルプリントサーバ６０５により、図２０に示すジョブ管理キュー２００１およびジョブ情報２００２の形式で印刷ジョブが管理されている。
【００５６】
印刷を行う場合、アプリケーション６０１は、印刷ジョブにユーザ識別情報を指定し印刷指示を発行する。この印刷指示に基づいてＰＤＬドライバ６０２によって生成された印刷ジョブがジョブ制御ポートモニタ６０４からプルプリントサーバ６０５に渡されると、その印刷ジョブ情報は、まずプリントキュー７０１に保持される。
【００５７】
プリンタ５００は、プルプリントの要求が入力されると、出力ポート７０２に対してプルプリント要求を発行する。そのプルプリント要求には、プルプリント要求を発行したプリンタの宛先が指定されている。出力ポート７０２は、プルプリント要求を受け付けると、指定された宛先に該当するプリンタ５００の有するスケジューラに対して、スケジュールの要求を発行する。プリンタ５００のスケジューラは、そのスケジューリング機能により、複数のプリントサーバ１０３から受け付けたジョブのスケジューリング処理を行い、出力ポート７０２に対して印刷指示を発行する。印刷指示を受け付けた出力ポート７０２はプリンタ５００に印刷データを送信する。
【００５８】
＜プリンタのソフトウェア＞
図８は、本発明の実施形態に好適な印刷システムにおけるプリンタ５００内のネットワークプリントサーバ５２０およびプリンタコントローラ５１９の各記憶デバイスに記憶された制御プログラムのソフトウェア構成を説明するブロック図である。なお上記各制御プログラムは各制御機器のＣＰＵによってプログラムが解析され処理される。
【００５９】
オペレーティングシステム８０１は、ネットワークプリントサーバ５２０の基本的なデータの入出力制御を統括するオペレーティングシステムである。オペレーティングシステム８０１内にはプログラム／データ記憶部５０９との入出力制御を行うファイルシステム８０５、プリンタコントローラ５１９と拡張インターフェース５１７を介して通信制御を行う拡張インタフェースドライバ８０７がある。また、オペレーティングシステム８０１は、ローカルエリアネットワーク（ＬＡＮ５１２）の通信媒体を介して不図示のホストコンピュータ等の外部装置と通信を行うネットワークインタフェースドライバ８０６を有する。
【００６０】
アプリケーションプログラムインタフェース（ＡＰＩ）８０２は、アプリケーションプログラムに対してＯＳ８０１が備える各種機能を提供する。アプリケーションプログラムには、ネットワークプリントサーバ５０２で動作するデバイススケジューラ９００やプルプリントエージェント９０６が含まれる。また、プリンタ５００やユーザアプリケーションの登録・管理を行う管理アプリケーション８０４等も含まれる。ＡＰＩ８０２には、印刷データの送受信機能を提供するデータ転送ＡＰＩ、ビットマップ画像や表示メッセージ等のリソースデータの入出力制御を行うリソース制御ＡＰＩが含まれる。さらに、プリンタ５００の再起動や設定値の初期化や設定等の制御を行うプリンタ制御ＡＰＩ、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御ＡＰＩが含まれる。また、ネットワークプリントサーバ５２０の再起動や設定値の初期化や設定、およびアプリケーションプログラムの起動、登録、削除を行うプリントサーバ制御ＡＰＩが含まれる。
【００６１】
ＵＳＢ制御部８１８は、ＵＳＢケーブル８１９で接続された外部機器である、認証情報読み取り装置８２０を介し、認証情報記録媒体８２１からユーザ識別情報を取得する。認証情報読み取り装置８２０はたとえばカードリーダなど、記録媒体８２１に記録されたデータを読み取るためのデバイスである。
【００６２】
ネットワーク制御モジュール８１１は、ネットワークインタフェースドライバ８０６がＬＡＮ５１２を介してサーバ１０３からの受信の通知を受け付けるネットワーク制御部である。どのサーバからの通信を判断することや、通信の制御を行うことができるモジュールである。
【００６３】
ＬＰＤ／ＲＡＷモジュール８１０は、サーバ１０３が送信する印刷データを受け取るために、所定のプロトコルに従った制御手順を実行するモジュールであり、受け付けた印刷データをプリンタコントローラに渡すことができる。
【００６４】
デバイススケジューラ９００は、プリントコントローラ５１９のプログラム記憶部８１６またはネットワークプリントサーバ５２０のプログラム記憶部８０８に格納される。アプリケーションプログラムは、プリンタ５００が起動すると、プログラム記憶部８０８に格納されたアプリケーションが持つライセンスと、ライセンス記憶部８０９に保存されているライセンスと比較し一致しているかどうかを判断する。一致していた場合は適正アプリケーションプログラムであると判断し、アプリケーションプログラムをネットワークプリントサーバ５２０のＲＡＭ５１４にロードされる。これは、プリンタコントローラ５１９についても同様であり、プログラム記憶部８１６に記憶されたアプリケーションのライセンスと、ライセンス記憶部８１７に記憶されたライセンスとが比較される。
【００６５】
一方プリンタコントローラ５１９には、プリンタコントローラ５１９の各種処理制御を統括するオペレーティングシステム８１２が実行されている。ＯＳ８１２は、その内部にプリントエンジン制御部８１４およびファイルシステム８１５を内包している。プリントエンジン制御部８１４はプリントエンジンとの通信制御を行う。ファイルシステム８１５は、機種依存リソース／プログラム記憶部８１６との入出力制御を行う。機種依存リソース／プログラム記憶部８１６には、ネットワークプリントサーバ５２０から参照されるビットマップ画像やエラーメッセージ等の機種依存リソースが記憶されている。またネットワークプリントサーバ５２０上で動作する機種依存アプリケーションプログラム等も記憶されている。
【００６６】
拡張インターフェース制御部８１３は、拡張インターフェース５１７を介してネットワークプリントサーバ５２０との通信制御を行う。拡張インターフェース制御部５１７は、制御種別毎に印刷データの入出力を制御するデータ転送論理インターフェース、機種依存リソース／プログラム記憶部５０９に記憶された各種データの入出力を制御するリソース制御論理インターフェースを含む。また、拡張インターフェース制御部５１７は、プリンタ５００の再起動や設定値の初期化や設定等の制御を行うプリンタ制御論理インターフェース、印刷ジョブの取り消しや再印刷指示などを制御するジョブ制御論理インターフェースを備えている。拡張インターフェース制御部５１７は、各論理インターフェースを介してプルプリントサーバ５２０から要求された命令をオペレーティングシステム８１２に対して転送し、その処理結果をネットワークプリントサーバ５２０に対して返信する。
【００６７】
＜デバイススケジューラ＞
次に、デバイススケジューラ９００とプルプリントエージェント９０６のソフトウェア構成について説明する。これらのアプリケーションプログラムは、本プリントシステムのスケジューリング機能やサーバ１０１〜１０２から受け付けた印刷ジョブの管理機能を持つデバイス上のユーザアプリケーションである。
【００６８】
通信接続管理部９０１は、印刷するサーバ１０３の接続状況や、サーバ１０３に通知すべき情報を管理する。通信接続管理部９０１は、接続しているサーバ情報１９０２（図１９）をサーバ管理キュー１９０１（図１９）で管理する。通信接続管理部９０１は、プログラムアプリケーションインターフェース８０２のデータ転送ＡＰＩ、ネットワークインタフェースドライバ８０６を経由してサーバと通信を行う。
【００６９】
スケジュール管理部９０２は、サーバ１０３から受け付けた印刷ジョブのスケジューリングを行うであり、ジョブ管理部９０３、デバイス管理部９０４を持つ。
【００７０】
ジョブ管理部９０３は、サーバ１０３が発行したスケジュール要求や、サーバ１０３が印刷したジョブを管理する。ジョブ管理部９０３は、サーバが印刷するジョブの情報１３０２をジョブ管理キュー１３０１（図１３）で管理している。
【００７１】
デバイス管理部９０４は、プリンタコントローラ５１９が持つプリンタの状態や受け付けた印刷ジョブの状態をイベントハンドラ９０５経由で受け付ける。またデバイス管理部９０４は、プリンタコントローラ５１９から受け付けたイベントを通信接続管理部９０１やジョブ管理部９０３に通知する。
【００７２】
またプルプリントエージェント９０６において、ＵＳＢ管理部９０７は、ＵＳＢ制御部８１８を介し、認証情報記憶媒体８２１からユーザ識別情報やプルプリントサーバのアドレスを取得してサーバ通信部９０８に渡す。デバイス管理部９０９は、デバイスのアドレス情報等を取得しサーバ管理部９０８に渡す。サーバ管理部９０８は取得した情報をプルプリントサーバ６０５に送信する。
【００７３】
＜プルプリント動作概略＞
図１０は、本発明の好適な実施例の概略を示すアクティビティ図である。図１０を用いて、本発明の実施例である印刷システムの動作概略を説明する。
【００７４】
まずステップＳ１００１において、プルプルプリントエージェント９０６及びデバイススケジューラ９００の各タスクが初期化される。
【００７５】
初期化処理の中でデバイススケジューラ９００は、ステップＳ１００２において、プリンタエンジンにイベントの登録を行う。これは、プリンタエンジン内でジョブが処理された際のジョブ状態変化や、或いは、プリンタのジャムやカバーオープンといったエラーなどのデバイス状態変化等を登録したサーバ（デバイススケジューラ９００）へ通知するためである。初期化処理が完了するとプルプリントエージェント９０６及びデバイススケジューラ９００はイベント待ちのループに入る。
【００７６】
ステップＳ１００３において、プルプリントエージェント９０６は、認証情報記録媒体８２１が認証情報読取装置８２０に挿入された事を検知すると、認証情報記録媒体８２１に記録されている認証情報を読み込む。その認証情報から不図示の認証手段によってカードのオーナーを特定し、ジョブ識別情報を得る。
【００７７】
続いてステップＳ１００４において、プリンタエンジン制御部８１４を経由してデバイスの構成情報を取得する。ここで取得する構成情報は、用紙残量やトナーの有無と言った消耗品情報と、利用可能な用紙サイズや両面ユニットやステイプル装置（フィニッシャー）の使用可否といった装置情報を含む。
【００７８】
プルプリントエージェント９０６は続いてステップＳ１００５においてステップＳ１００３で取得したジョブ識別情報とステップＳ１００４で取得したデバイス構成情報をプルプリントサーバ６０５へと通知する。この通知を印刷開始通知と定義する。プルプリントサーバ６０５は印刷開始を受け取るとジョブ識別情報及びデバイス構成情報から印刷可能なジョブを選択する。この処理は図１６を用いて後述する。
【００７９】
プルプリントサーバ６０５は印刷を実行するために、まずステップＳ１００６においてイベント登録及びジョブのスケジュール予約を行う。このイベント予約は前述のステップＳ１００２と同様である。また、スケジュール予約は図１６を用いて後述する。続いてステップＳ１００７でスケジュールＵＰを受ける。スケジュールＵＰを受ける時の処理は図２２で後述する。ステップＳ１００７でスケジュールＵＰを受けるとＳ１００８でジョブを送信する。
【００８０】
プルプリントエージェント９０６は、ステップＳ１００９で記録媒体が取り出されるとそれを検知し、ステップＳ１０１０でジョブキャンセル指示とジョブ保持指示をプルプリントサーバ６０５に出す。プルプリントサーバ６０５はステップＳ１０１１でデバイススケジューラ９００にジョブキャンセル指示を出す。デバイススケジューラ９００はジョブキャンセル指示を受けるとＳ１０１２でプリンタエンジン制御部８１４に対しジョブキャンセル指示を出す。デバイスでジョブのキャンセルが実行されるとＳ１０１３でイベントによりジョブキャンセル終了の通知を受けデバイススケジューラ９００はプルプリントサーバ６０５に対し印刷完了と印刷面数を通知する。プルプリントサーバ６０５では通知を受けた印刷面数がジョブの総面数よりも少ない場合は、ジョブを保持する。この処理については図１８で後述する。
【００８１】
＜印刷ジョブのプルプリントサーバへの登録＞
図１１は、プルプリントサーバ６０５が、プルプリント用のジョブを登録する際の処理を示した図である。図１１Ａはサーバ１０３における処理であり、図１１Ｂはクライアント１０１，１０２における処理である。
【００８２】
図１１Ａにおいて、ステップＳ１１０１で、アプリケーション６０１でジョブを生成する。次に、アプリケーション６０１はプリンタを指定して印刷指示を発行する。この印刷指示に基づいて、ステップ１１０２で、ＰＤＬドライバ６０２によって生成された印刷ジョブをジョブ制御ポートモニタ６０４に渡される。
【００８３】
ステップＳ１１０３でプルプリントサーバ６０５がジョブ識別情報を取得する。ステップＳ１１０４でプルプリントサーバ６０５が印刷ジョブにこのジョブ識別情報を埋め込む。ジョブ識別情報は認証記憶媒体８２１に記録しておく情報と同じものであり、この情報は、不図示のＧＵＩでユーザが情報を入力することにより取得できる。
【００８４】
ステップＳ１１０５でプルプリントサーバ６０５がジョブ情報中のジョブ状態を「停止」にする。Ｓ１１０６でプル用プリントキューすなわちジョブ管理キュー２００１およびジョブ情報２００２に、状態を「停止」にしたジョブを登録する。
【００８５】
また、ジョブの登録方法ではアプリケーション６０１から登録する方法と他に不図示のジョブ登録アプリケーション６０９からジョブを登録することも可能である。この場合は、ジョブ登録アプリケーション６０９はプルプリントサーバ６０５と異なるクライアントＰＣ上に存在していても良い。
【００８６】
一方図１１Ｂにおいて、ジョブ登録アプリケーション６０９からジョブを登録するためには、ステップＳ１１０７でＰＤＬドライバを通してクライアントがジョブを作成し、ジョブ登録アプリケーション６０９によりユーザが作成した印刷ジョブを選択する。次にＳ１１０９で、ジョブ登録アプリケーション６０９からユーザがジョブ識別情報を指定する。このジョブ識別情報は、認証記憶媒体８２１に記録しておく情報と同じものとする。次にステップＳ１１１０で、プリンタジョブの状態を「停止」にする。次にＳ１１０６で、ジョブ登録アプリケーション６０９は、ＡＰＩ６１０を介し、プルプリンタサーバ６０５に印刷ジョブ及びジョブ情報を引き渡す。プルプリンタサーバ６０５は、プル用プリンタキューすなわちジョブ管理キュー２００１およびジョブ情報２００２にジョブを登録する。
【００８７】
＜デバイス構成情報等の取得＞
図１２は、プルプリントエージェント９０６で認証情報を検知し、認証情報記録媒体８２１からプルプリントするために必要な情報をプルプリントサーバ６０５に通知するまでの処理について図示したものである。図１２の処理はプルプリントエージェント９０６により実行される。
【００８８】
ステップＳ１２０１では、認証情報読み取り装置８２０が認証情報記録媒体８２１の状態変化を検知し、認証情報記録媒体８２１の状態変化した場合にその変化を検知する。認証情報記録媒体８２１の状態の変化とは、認証情報読み取り装置８２０がカードリーダ等の場合は、カードが抜かれた、または、挿された等の変化情報である。また、認証情報読み取り装置８２０で認証情報記録媒体８２１をセンサー検知する場合は、認証情報記録媒体８２１の存在が変化したかどうかの変化情報である。また、認証情報読み取り装置８２０にユーザが手等をかざすことにより認証する装置の場合も、上記と同様である。なおステップＳ１２０１の検知をきっかけにしてステップＳ１２０２以降の処理を開始しても良い。
【００８９】
ステップＳ１２０１で記録媒体が存在する場合は、ステップＳ１２０３に移行し、記録情報からジョブ識別情報を取得する。次にステップＳ１２０４でデバイスからデバイスを特定するためのデバイスアドレスとデバイスの構成情報を取得する。此処で取得する構成情報は、用紙残量やトナーの有無と言った消耗品情報と、利用可能な用紙サイズや両面ユニットやステイプル装置(フィニッシャー)の使用可否といった装置情報を含む。
【００９０】
次にステップＳ１２０５で、取得したジョブ識別情報及びデバイスアドレス、デバイス構成情報をプルプリンタサーバ９００に通知する。この情報の構成を図１５に示す。
【００９１】
ステップＳ１２０２で認証情報記録媒体８２１が存在しない場合は、ステップＳ１２０６に移行し、印刷ジョブのキャンセル、及びジョブの保持命令をプルプリントサーバ６０５に通知する。
【００９２】
＜各種データテーブルの構成例＞
図１３は、プルプリントサービス９００が印刷すべく発行したスケジュール要求に付加されたジョブ情報１３０２と、複数発生するジョブ情報を管理するジョブ管理キュー１３０１を示す図である。これら情報は、デバイススケジューラ９００のスケジュール管理部９０２により管理される。
【００９３】
印刷ジョブ情報１３０２は、プルプリントサービス９００が印刷を開始するために発行するスケジュール要求に付加されている。ジョブ情報１３０２は、印刷ジョブのドキュメント名、ジョブ管理部９０３が発行したジョブＩＤ、クライアントで印刷を開始したユーザ名、ジョブのページ数、印刷ジョブの状況を表すジョブ状態を含む。また、プルプリントサービス９００が転送する印刷データに含まれるジョブデータＩＤ、ジョブ発行元のサーバのＩＰアドレス、ジョブキャンセル時にジョブを保持するかを表すフラグを含む。さらに、ジョブ情報と、デバイスの構成情報により判断される印刷可能かどうかを示す印刷可否フラグ、印刷設定、カラープロファイルなどを含む。
【００９４】
ジョブ状態は、プルプリントサービス９００が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでの状態を表しており、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。
【００９５】
ジョブデータＩＤは、印刷データに含まれるジョブのＩＤで、プリンタコントローラ５１９内でのジョブ状態を通知するときなど、付加させるＩＤである。
【００９６】
ジョブ管理キュー１３０１は、複数のジョブ情報１３０２を管理する管理キューである。ジョブ管理キュー１３０１は、プルプリントサービス９００からのスケジュール要求を受け付けるとジョブ情報１３０２が管理キューに登録され、印刷ジョブが印刷終了すると、該当するプリンタ情報が削除されるようになっている。
【００９７】
図１４は、プルプリントサーバ６０５が管理するプリンタ情報およびポート情報を表している。プリンタ情報１４０１は、ジョブ制御プリンタサービスが管理するそれぞれのプリンタ情報を表していて、プリンタ名などの情報が含まれている。ポート情報１４０２は、ジョブ制御プリンタサービスが管理するそれぞれの出力ポートの情報を表していて、印刷するデバイスのＩＰアドレスなどの情報が含まれている。
【００９８】
図１５の情報テーブル１５０１は、認証情報読み取り装置８２０で認証情報記録媒体８２１を検知した後にプルプリントエージェント９０６がプルプリントサーバ６０５に送信する情報を示したテーブルである。情報テーブル１５０１の内容は、デバイスアドレス、ジョブ識別情報、デバイス構成情報である。
【００９９】
＜印刷データ転送＞
図１６では、図２１で示される印刷処理の流れで、クライアント１０１〜１０３のプルプリントサーバ６０５がプルプリントエージェント９０６からジョブ識別情報等を受け付けてから、印刷データの転送までの流れを示している。図１６はプルプリントサーバ６０５により実行される。
【０１００】
ステップＳ１６０１では、プルプリントエージェント９０６からデバイスアドレス、ジョブ識別情報、デバイス構成情報を取得し、Ｓ１６０２で取得したデバイスアドレスに一致するプリンタキュー７０１を特定する。Ｓ１６０３で特定したプリントキューにジョブ識別情報と一致するジョブが登録されているかをチェックする。登録されている場合は、Ｓ１６１５に移行する。登録されていない場合は、Ｓ１６０４でプルプリントエージェント９０６にエラーを通知し、処理を終了する。
【０１０１】
Ｓ１６１５ではＳ１６０３で登録されていると判定されたジョブのジョブ情報と、Ｓ１６０１でプルプリントエージェント９０６から取得したデバイス構成情報とから、印刷可能かどうかの判断をする(詳細は後述の図２６）。
【０１０２】
ステップＳ１６０５では、ジョブ制御ポートモニタから印刷ジョブを受け付けたか、デバイススケジューラ９００から印刷データの転送の開始を指示するスケジュールＵＰのコマンドを受け付けたか判断する。ジョブ制御ポートモニタから印刷ジョブを受け付けるとステップＳ１６１６に処理を移行し、スケジュールＵＰのコマンドを受け付けるとステップＳ１６１１に処理を移行する。
【０１０３】
ステップＳ１６１６では、ジョブ情報１３０２の印刷可否フラグを参照し、印刷不可であれば、Ｓ１６０５に分岐する。印刷可能（印刷不可でも強行印刷する場合を含む。）であれば、ステップＳ１６０６に分岐する。
【０１０４】
ステップＳ１６０６では、受け付けた印刷ジョブの情報をジョブ情報１３０２に設定し、ジョブ管理キュー１３０１に登録する。ジョブ情報１３０２に設定する情報は、プリントシステムから取得したり、印刷データを解析して得られることができる。
【０１０５】
次に、ステップＳ１６０７では、デバイススケジューラ９００に接続し、接続要求コマンドを発行する。サーバ１０３が接続要求を発行すると、サーバ１０３の情報がデバイススケジューラ９００のサーバ管理キューに登録され、以降、サーバ１０３とデバイススケジューラ９００間で情報のやり取りを行うことができる。
【０１０６】
ステップＳ１６０８では、デバイススケジューラ９００に対して、ジョブイベント、デバイスイベントを登録する。ジョブイベントを登録すると、自サーバが印刷したジョブや、他のサーバが印刷したジョブの状態の変化の通知がデバイススケジューラ９０より通知されることになる。また、デバイスイベントを登録すると、プリンタデバイス６０６の状態の変化を通知されるようになる。
【０１０７】
ステップＳ１６０９では、デバイススケジューラ９００で管理しているジョブ管理キュー１３０１に登録されているジョブのリストを取得する。このジョブリストとジョブイベントにより、デバイススケジューラ９００が管理するジョブの印刷状況を把握することが可能となる。
【０１０８】
以上の処理により、印刷する準備が整い、ステップＳ１６１０において印刷するジョブの登録をデバイススケジューラに登録し、ステップＳ１６０５で次の指示を待機する。
【０１０９】
ステップＳ１６０５においてデバイススケジューラから印刷データの転送指示であるスケジュールＵＰのコマンドを受け付けると、ステップＳ１６１１に処理を移行する。ステップＳ１６１１では、印刷指示を受けたジョブの転送を開始する。
【０１１０】
印刷データの送信が開始されるとステップＳ１６１２において、デバイススケジューラに転送が開始されたことを通知するために、転送開始状態を通知する。
【０１１１】
ステップＳ１６１３で印刷データの転送が終了すると、ステップＳ１６１４においてデバイススケジューラ９００に転送が終了したことを通知する。
【０１１２】
＜ジョブ制御プリントサービス＞
図１７は、デバイススケジューラ９００からの通知やコマンドを受け付けた場合のジョブ制御プリントサービス６０５の処理の流れについて説明している。
【０１１３】
ステップＳ１７０１では、デバイススケジューラ９００からジョブイベントの通知または、ジョブリストが返送されてくるかを判断する。ジョブイベントが来ると、ステップＳ１７０２に処理を移行し、ジョブリストが来るとステップＳ１７０８に処理を移行する。  ステップＳ１７０８では、ジョブリストが返送されてくるとジョブ制御プリントサービス６０５が管理するジョブ管理キュー１３０１にジョブリストから得られたジョブ情報を設定する。
【０１１４】
ステップＳ１７０２では、デバイススケジューラから通知されたジョブイベント通知の内、ジョブ完了通知であるか、ジョブ状態変更通知であるかを判断する。ジョブ状態変更通知であれば、ステップＳ１７０９において、該当するジョブ情報のジョブ状態を更新する。ステップＳ１７０２において、受け付けたイベント通知がジョブ完了通知であれば、ステップＳ１７０３において、該当するジョブ情報を、ジョブ管理キュー１３０１から削除する。
【０１１５】
ステップＳ１７０４では、ジョブ管理キュー１３０１に、印刷が終了していない自サーバのジョブが残されているかを判定する。残されていれば、まだデバイススケジューラ９００とのやり取りが必要であるため、デバイススケジューラ９００との接続を継続するために、ステップＳ１７０１に処理を移行する。
【０１１６】
ステップＳ１７０４で、自サーバのジョブがなければ、ステップＳ２００５に処理を移行し、デバイススケジューラ９００との接続を終了するための処理を開始する。
【０１１７】
ステップＳ１７０５では、接続を開始したときにデバイススケジューラ９００に登録したジョブイベント、デバイスイベントの登録解除を依頼する。デバイススケジューラ９０は、この依頼に応じてクライアント情報のイベント登録の内容を削除する。このイベント登録の情報がなければ、デバイススケジューラ９００が管理するジョブの状態が変化されてもイベントが通知されてくることはない。
【０１１８】
次にステップＳ１７０６において、デバイススケジューラ９００に対して切断の要求を発行する。デバイススケジューラ９００が切断要求を受け付けると、クライアント管理キューから該当するクライアント情報を削除する。
【０１１９】
ステップＳ１７０７では、デバイススケジューラ９００とのセッションを切断する処理を行い、処理をステップＳ１７０１で待機する。
【０１２０】
＜プルプリントエージェントによる処理＞
図１８は、プルプリントエージェント９０６で認証情報記録媒体８２１の状態が変化した場合の処理について図示した。
【０１２１】
ステップＳ１８０１で、プルプリントサーバ６０５がプルプリントエージェント９０６から、認証情報記録媒体８２１の状態変化の通知を受ける。ステップＳ１８０２で、通知された情報から認証情報記録媒体８２１が存在しないか否か判定する。存在しなくなった場合は、ステップＳ１８０３に移行する。逆に存在するようになった場合は、前述の図１６の処理に移行する。
【０１２２】
ステップ１８０３では、デバイススケジューラ９００にジョブのキャンセルを指示する。ステップ１８０４では、ジョブキャンセル終了と共にデバイススケジューラ９００から送られてくる印刷面数情報とジョブの全面数を比較する。その値が一致する場合（すなわり印刷が完了している場合）は、ステップＳ１８０４でジョブ情報１３０２のジョブ保存フラグをオフにする。一致しない場合は、再印刷を行えるようにステップＳ１８０５でジョブ保存フラグをオンにする。次にステップＳ１８０７でイベント登録の解除を行う。
【０１２３】
＜サーバ管理キュー＞
図１９は、通信管理部９０１が管理する、接続プルプリントサーバ６０５のサーバ情報１９０２と、複数の接続するプルプリントサーバ６０５のサーバ情報１９０２を管理するサーバ管理キュー１９０１である。
【０１２４】
サーバ情報１９０２は、接続するサーバ毎に接続管理部が割り振ったサーバＩＤ、接続するプルプリントサーバ６０５のＩＰアドレス、接続するサーバが登録したイベントの種類などの情報を持つサーバ情報である。イベントの種類とは、プリンタコントローラが発行するデバイス状態のイベントやジョブ状態のイベントの種類を表す。
【０１２５】
サーバ管理キュー１９０１は、接続したプルプリントサーバ６０５のサーバ情報をキューの形式で保持する管理キューである。サーバとのセッションが開始されると、該当するサーバの情報が本管理キューに登録され、切断すると該当するサーバ情報が削除されるようになっている。
【０１２６】
＜プルプリントサーバのジョブ管理情報＞
図２０は、プルプリントサーバ６０５が印刷すべく発行したスケジュール要求に付加するジョブ情報２００２と、複数発生するジョブ情報を管理するジョブ管理キュー２００１を示す図である。これら情報はプリントキュー７００，７００ａにおいて管理されている。
【０１２７】
ジョブ情報２００２は、プルプリントサーバ６０５が印刷を開始するために発行するスケジュール要求に付加される印刷ジョブの情報である。このジョブ情報２００２は、印刷ジョブのドキュメント名、ジョブ管理部９０３が発行したジョブＩＤ、クライアントで印刷を開始したユーザ名、ジョブのページ数を含む。また、印刷ジョブの状況を表すジョブ状態、プルプリントサーバ６０５が転送する印刷データに含まれるジョブデータＩＤ、印刷したクライアントのＩＰアドレスが登録される。
【０１２８】
ジョブ状態は、プルプリントサーバ６０５が印刷のスケジュール要求を発行してからジョブがプリンタから無くなるまでの状態を表しており、印刷待機中、スケジュールアップ状態、転送中、転送済み、印刷完了などの状態が存在する。
【０１２９】
ジョブデータＩＤは、印刷データに含まれるジョブのＩＤで、プリンタコントローラ５１９内でのジョブ状態を通知するときなど、付加させるＩＤである。
【０１３０】
ジョブ管理キュー２００１は、複数のジョブ情報１１０２を管理する管理キューである。プルプリントサーバ６０５からのスケジュール要求を受け付けるとジョブ情報２００２が管理キューに登録され、印刷ジョブが印刷終了すると、該当するプリンタ情報が削除されるようになっている。
【０１３１】
＜プルプリントの処理シーケンス＞
図２１は、これまで説明してきた各コンポーネントのフローの全体の流れの概略を示した図である。サーバ１０３のプルプリントサーバ６０５が、ジョブを受け付け後、プリンタデバイス５００にスケジュール要求を発行するところから、プリンタで印刷が終了するところまでのやり取りについて図２１に記載する。
【０１３２】
プルプリントサーバ６０５は、印刷データを受け付けると、デバイススケジューラ９００とセッション接続２１０１を開始する。サーバの情報を通知する接続要求コマンド２１０２、ジョブ／デバイス状態を通知してもらうためのイベント登録２１０３、デバイススケジューラがスケジュール管理するジョブの情報を取得するジョブリスト取得コマンド２１０４を発行する。
【０１３３】
デバイススケジューラ９００は、接続要２１０２求を受け付けると、サーバ情報をサーバ管理キュー１９０１に登録し、イベントの登録２１０３を受け付けると該当するサーバ情報１９０２の登録イベントに設定する。ジョブリスト要求２１０４を受け付けると、ジョブ管理キューに登録されているジョブ情報のリストを送信する。
【０１３４】
次に、サーバ１０３が印刷を予約するためのスケジュール要求２１０５のコマンドを発行する。デバイススケジューラ９００はスケジュール要求２１０５を受け付けると、ジョブ管理キュー１３０１にジョブＩＤを登録する。ジョブ情報１３０２には、ドキュメント名等の情報を設定する。デバイススケジューラ９００は、プリンタ５００が印刷データを受け付けられるようになるとスケジュールＵＰ２１０６を発行し、プルプリントサーバ６０５に対して印刷データの送信を開始するように促す。また、スケジュールＵＰ２１０６を発行すると、ジョブ情報のジョブ状態をスケジュールＵＰ状態に更新する。
【０１３５】
プルプリントサーバ６０５は、スケジュールＵＰを受け付けるとＬＰＤ／ＲＡＷ８１０に印刷データ２１０７の転送を開始し、転送が始まるとデバイススケジューラに対して転送開始通知２１０９を送る。デバイススケジューラ９００は、転送開始通知２１０９を受けると、ジョブ情報のジョブ状態に転送中の状態に更新する。
【０１３６】
ＬＰＤ／ＲＡＷ８１０が印刷データ２１０７を受け付けるとプリンタコントローラ５１９にデータ２１０８を転送し、プリンタコントローラ５１９で印刷が開始される。プリンタコントローラ５１９は、印刷が開始されるとジョブ状態２１１０をデバイススケジューラ９００に通知する。デバイススケジューラ９００は、サーバ情報１９０２の登録イベントの情報を基に、サーバにジョブの印刷状態２１１１を通知する。
【０１３７】
また、プルプリントサーバ６０５は印刷データ２１１２の転送が終了するとデバイススケジューラ９００に対して、転送終了通知２１１４を送信する。デバイススケジューラ９００は、転送終了通知２１１４を受けると、ジョブ情報のジョブ状態に転送済の状態に更新する。
【０１３８】
プリンタコントローラ９００で印刷処理が終了すると、ジョブの状態として印刷完了の通知２１１３をデバイススケジューラ９００に通知する。デバイススケジューラ９００は、サーバ情報１３０２の登録イベントの情報を基に、サーバにジョブの印刷完了の状態２１１６を通知する。
【０１３９】
プルプリントサーバ６０５は、上記通知により印刷が完了したことを確認すと、プリンタ５００からの通知が必要なくなるので、デバイススケジューラ９００からのイベント通知の登録の解除要求２１１７を発行する。イベント解除要求２１１７を受け付けたデバイススケジューラ９００は、サーバ情報１９０２の登録イベントにイベントを通知しない旨の情報を設定する。
【０１４０】
その後、プルプリントサーバ６０５は、デバイススケジューラ９００との接続を終了するための切断要求２１１８を発行し、セッションを終了する。
【０１４１】
デバイススケジューラ９００は、切断要求２１１８を受け付けると、サーバ管理キュー１３０１及びサーバ情報１３０２から該当するサーバ情報を削除し、該サーバとの処理を終了する。
【０１４２】
＜スケジュール管理＞
図２２では、プルプリントサービス６０５のスケジュール要求の受け付けから、スケジュールＵＰを発行するまでの、デバイススケジューラ９００のスケジュール管理部９０２により実行される処理の流れについて説明する。
【０１４３】
ステップＳ２２０１において、プルプリントサーバ６０５からのメッセージを受け付けると、それがスケジュール要求の通知（Ｓ１６０８）なのか、転送済み状態の通知（Ｓ１６１４）なのかを判断する。スケジュール要求の通知であれば、ステップＳ２２０２に処理を移行し、転送済み状態の通知であればステップＳ２２０３に処理を移行する。
【０１４４】
ステップＳ２２０２では、ジョブ管理部９０３で発行したジョブＩＤを設定したジョブ情報１３０２を作成し、スケジュール要求に付加された情報をジョブ情報１３０２に設定して、スケジュール要求を受け付けた順でジョブ管理キュー１３０１に登録する。
【０１４５】
次に、ステップＳ２２０３で、ジョブ管理キュー１３０１に登録されたジョブ情報のジョブ状態を判定する。ジョブ状態がスケジュールＵＰ、転送中のものがあれば、既にあるサーバに印刷データを転送するように指示しているため、ステップＳ２２０１に処理を移行する。ジョブ状態がスケジュールＵＰ、または転送中のものがなければステップＳ２２０４に処理を移行し、スケジュールＵＰの発行の準備を行う。
【０１４６】
ステップＳ２２０４では、ジョブ管理キュー１３０１で、先にスケジュール要求を受け付けた順にジョブ状態を確認し、スケジュール待機中のジョブが見つかるとステップＳ２２０５に処理を移行する。すなわち、待機中のジョブの内キューの先頭にあるジョブに着目する。スケジュール待機中とはジョブ状態が「停止状態」であるようなジョブである。スケジュール待機中のジョブが無ければ、ステップＳ２２０１に処理を移行する。
【０１４７】
ステップＳ２２０５では、処理の順番に達したジョブについて、該当するサーバのプルプリントサーバ６０５に対して、印刷データの転送を開始させるスケジュールＵＰを通知する。ステップＳ２２０６で、該当するジョブ情報のジョブ状態を「スケジュールＵＰ」状態に更新し、ステップＳ２２０１に処理を移行する。
【０１４８】
＜ジョブ管理処理＞
図２３では、後述するデバイス管理からのジョブ状態通知イベントの受け付けからプルプリントサーバ６０５からのジョブリスト要求の受け付けに対するジョブ管理部９０３の処理を示している。
【０１４９】
ステップＳ２３０１では、通信接続管理部９０１やデバイス管理部９０４からの通知を受け付けると、デバイス管理部９０４からのジョブ状態通知であるか、ジョブリスト要求であるかを判断する。
【０１５０】
デバイス管理部９０４からのジョブ状態通知であれば、ステップＳ２３０２に処理を移行し、該当するジョブ情報１３０２のジョブ状態を更新する。更にステップＳ２３０３に処理を移行し、印刷完了の通知であるかを判断する。印刷完了でなければ処理をステップＳ２３０４に移行し、接続管理部９０１に、ジョブの状態のイベントをサーバに発行するように通知する。
【０１５１】
ステップＳ２３０３で、印刷完了の通知であれば、ステップＳ２３０５に処理を移行し、ジョブ管理キュー１３０１から該当するジョブを削除する。ステップＳ２３０６で、接続管理部９０１にジョブの完了イベントをサーバに発行するように通知し、処理をステップＳ２３０１に移行する。
【０１５２】
ステップＳ２３０１で、プルプリントサーバ６０５からのジョブリスト要求の受け付けると、ステップＳ２３０７に分岐する。ステップＳ２３０７においては、ジョブ管理キュー１３０１に登録されたジョブ情報１３０２のリストを要求元のサーバに送信するように接続管理部９０１にジョブ情報リストを通知する。
【０１５３】
＜イベント通知処理＞
図２４は、プリンタコントローラ５１９からのデバイス状態、ジョブ状態通知を、イベントハンドラ９０５を経由して受け付け、ジョブ管理部９０３や通信接続管理部９０１に通知するデバイス管理部９０４の処理である。
【０１５４】
デバイススケジューラ９００が起動されると、ステップＳ２４０１では、デバイス管理部９０４が、イベントハンドラ９０５を経由してプリンタコントローラ５１９に対して、イベント登録の処理を行う。イベント登録は、デバイスの状態が変更した場合や、プリンタコントローラ５１９が処理する印刷ジョブの状態が変更したばあいにそれらの状態を通知するように行われるものである。
【０１５５】
ステップＳ２４０２では、プリンタコントローラ５１９で発生したイベントをイベントハンドラ９０５経由で受け付けると、ジョブのイベントであるかデバイスのイベントであるかを判断する。ジョブのイベントであれば、ステップＳ２４０３でジョブ管理部９０３にジョブイベントを通知し、ステップＳ２４０２に処理を移行する。デバイスのイベントであれば、処理をステップＳ２４０４に移行する。ステップＳ２４０４では、デバイスの状態をデバイス管理部９０４で保持した後、ステップＳ２４０５で通信接続管理部９０１にデバイスイベントを通知し、処理をステップＳ２４０２に移行する。
【０１５６】
＜プリンタにおける受信処理＞
図２５は、サーバ１０３からの要求や通知、デバイス管理部９０４からの通知、ジョブ管理部９０３への要求や通知を処理する通信接続管理部９０１の処理の流れについて記載する。
【０１５７】
ステップＳ２５０１では、サーバ１０３やデバイス管理部９０４、ジョブ管理部９０３からの通知や要求を受け付け、どの通知や要求であるかを判断する。
【０１５８】
ステップＳ２５０１において受け付けた要求やイベントがサーバ１０３からの接続要求であれば、ステップＳ２５０２に移行する。ステップＳ２５０２では、サーバ管理キュー１００１に、通信接続管理部９０１で発行したサーバＩＤと、要求を発したサーバのＩＰアドレスを設定し、サーバ管理キュー１９０１にサーバ情報を登録する。
【０１５９】
ステップＳ２５０１において受け付けた要求やイベントがサーバ１０３からのイベント登録であれば、ステップＳ２５０３に処理を移行する。ステップＳ２５０３では、該当するサーバ情報１９０２の登録イベントとして、通知されたイベントの種類を登録する。イベントの種類には、ジョブの状態の変化を通知するジョブイベント、デバイスの状態の変化を通知するデバイスイベントがある。
【０１６０】
ステップＳ２５０１において受け付けた要求やイベントがデバイス管理部９０４からのデバイスイベントやジョブ管理部９０３からのジョブイベントであれば、ステップＳ２５０４に分岐する。ステップＳ２５０４では、これらのイベントを通知すべきサーバを認識するために、サーバ管理キュー１９０１に登録された全てのサーバ情報から、サーバ情報１９０２の登録イベントの設定を参照して、通知すべきかどうかを判断する。通知すべきであると判断されたサーバについて、そのＩＰアドレスを保持し、ステップＳ１７０５において、通知すべき全てのサーバに対してイベントを送信する。
【０１６１】
ステップＳ２５０１において受け付けた要求やイベントがサーバからの切断要求であればステップＳ２５０６に処理を移行し、サーバ管理キュー１９０１から該当するサーバのサーバ情報を削除する。
【０１６２】
＜印刷可能性判断処理（Ｓ１６１５）＞
図２６はプルプリントエージェント９０６がジョブ識別情報を受け付けてから、印刷データの転送を行う間に行われる、ジョブ情報とデバイス構成情報から印刷可能かどうかの判断をする処理の流れを示したものである。この処理は図１６のステップＳ１６１５に相当する。
【０１６３】
Ｓ２６０１では、図１６のＳ１６０３で留め置かれている（すなわちキューに登録されている）ジョブ情報を取得する。
【０１６４】
Ｓ２６０２では、Ｓ２６０１で取得したジョブ情報と、プルプリントエージェント９０６から取得したデバイス情報から印刷可能かどうかの判断をする。判断する情報として、留め置かれているジョブのジョブ情報の印刷設定（用紙サイズ、両面、カラーモノクロ設定、ステイプル・パンチ等）を参照する。またデバイス構成情報としては、印刷可能な用紙サイズ、両面印刷、カラー、仕上げ（ステイプル・パンチ等）の機能がある。Ｓ２６０１では、ジョブ情報とデバイス情報とから判断し、一つでも不可能な設定があった場合は印刷不可能と判断する。たとえば、印刷設定において指定された設定が、デバイス構成情報でサポートされていなければ、印刷不可能と判定される。
【０１６５】
Ｓ２６０３では、Ｓ２６０２において印刷可能かどうか判断されたジョブについて、ジョブ情報１３０２の印刷可否フラグを設定する。印刷不可能ならそれに対応する値が、印刷可能ならそれに対応する値が設定される。
【０１６６】
Ｓ２６０４では、プリンタキュー７０１に複数ジョブがあるか判定する。複数ある場合にはＳ２６０１にもどって、すべてのジョブについて処理をする。すべてのジョブの判断が完了した時点でＳ２６０５へ進む。
【０１６７】
Ｓ２６０５では、ユーザにより設定されている図２７のユーザ設定情報２７０１を取得する。Ｓ２６０６において、Ｓ２６０５で取得したユーザ設定情報２７０１の印刷許可情報により、Ｓ２６０２で印刷不可能と判断されたジョブを印刷するかどうかの判断をし、印刷許可であれば印刷可否フラグの設定を変更する。また印刷不可能にもかかわらず印刷を強行する場合には、構成情報によりサポートされない印刷設定を、サポートされる値に変更する。
【０１６８】
Ｓ２６０７では、ユーザ設定情報２７０１のカラーマッチング情報から、どのジョブのカラープロファイル設定を使用するか判断し、ジョブ情報の印刷設定でカラー設定がされているすべてのジョブに適用する。ただし、個々の印刷ジョブが独立して実行される場合には、個々のジョブに関連づけられたカラープロファイルが用いられる。複数の印刷ジョブをグループ化して実行するグループジョブについて、カラーマッチング情報が参照される。グループジョブか否かは、ジョブ情報１３０２、２００２等にそのフラグを設けておき、グループジョブなら当該フラグをセットするようにすれば識別できる。そして、処理対象の印刷ジョブがグループジョブであれば、カラーマッチング情報に記述されたカラープロファイルを用いる。カラーマッチング情報には、たとえなジョブＩＤやカラープロファイル名など、カラープロファイルを特定可能な情報が記述されている。
【０１６９】
上記処理完了後、図１６のＳ１６０５に進み、Ｓ１６０５でジョブ情報の印刷可否フラグの設定により、印刷可能と判断されるジョブに対して印刷受付処理を行う。
【０１７０】
＜ユーザ設定情報＞
図２７は、プルプリントサーバ６０５で保持しているユーザにより設定されるユーザ設定情報の図である。印刷許可情報２７１１は、図２６のステップＳ２６０２で印刷不可能と判断されたジョブに対して、印刷体裁が変更となる場合であっても印刷を許可するかどうかの判断に用いられる（図２８参照）。
【０１７１】
カラーマッチング情報２７０２は、カラープロファイルをジョブに再設定する際にどのカラープロファイルを優先して適用するかどうかの判断に用いられる。ここにはたとえなジョブＩＤやカラープロファイル名など、カラープロファイルを特定可能な情報が記述されている。
【０１７２】
印刷不可能通知情報２７０３には、印刷不可能と判断されたジョブに対してユーザにどのように通知するかを設定する情報である。通知方法としては、ユーザのディスプレイ上にダイアログボックスを表示して通知する方法や、印刷不可能であったジョブのリストをプリントする方法などがある。また、排紙の際に印刷不可能のジョブが本来印刷されるはずであった印刷箇所で排紙をシフト（あるいは９０度回転）してユーザにジョブの区切りを知らせる方法もある（図２９参照）。
【０１７３】
図２８はユーザ設定情報をユーザが入力するためのインターフェース画面例である。チェックボックス２８０１をチェックすると、チェックボックス２８１１がチェック可能となる、チェックボックス２８１１では、印刷不可能と判定された場合であっても、無視される印刷属性を指定できる。たとえば用紙サイズがチェックされると、印刷設定において指定されたサイズが、プリンタによりサポートされていなくても、印刷を強行する。チェックボックス２８０１，２８１１の設定値は、印刷許可情報２７１１に保存される。
【０１７４】
チェックボックス２８０２は、カラーマッチング情報２７１２（色情報と呼ぶこともある）をセットするためのチェックボックスである。チェックボックス２８０２がチェックされるとチェックボックス２８１２がチェック可能となる。チェックボックス２８１２はラジオボタンであってもよい。選択されたチェックボックスが複数あれば、所定の優先順位で設定値が選択され、その値がカラーマッチング情報２７１２に保存される。カラーマッチング情報２７１２には、選択されたチェックボックスがどれであるかを示す情報が保存されても良いが、選択が確定した時点で該当するカラープロファイル名や印刷ジョブＩＤを特定し、それを保存しても良い。
【０１７５】
図２９は、印刷不可能通知情報２７１３をセットするためのユーザインターフェースの一例を示す図である。図２９のうちから選択されたチェックボックスに該当する方法を示す情報が、印刷不可能通知情報２７１３に保存される。
【０１７６】
以上の構成及び処理によって、本実施形態によれば、印刷ジョブの印刷属性の設定が、当該印刷ジョブを出力する印刷装置の構成により実現できるか否かを印刷実行前に判定することができる。このためエラーの発生による印刷装置の運用の中断を防止できる。
【０１７７】
また、グループ化された複数の印刷ジョブの印刷属性の設定値を統一し、印刷品質を向上させることができる。
【図面の簡単な説明】
【０１７８】
【図１】本発明の実施形態としてのプリントシステムの全体構成を示すブロック図である。
【図２】クライアントのハードウェア構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】プリンタのハードウェア構成を説明するブロック図である。
【図６】クライアントのプリントシステムのソフトウェア構成の例を示す図である。
【図７】クライアントの印刷時の印刷ジョブの流れを示す図である。
【図８】プリンタのソフトウェア構成の例を示す図である。
【図９】プリンタのユーザアプリケーションのソフトウェア構成の例を示す図である。
【図１０】本発明の好適な実施例の概略を示すアクティビティ図である。
【図１１Ａ】プルプリントサーバジョブを登録する処理を示すフローチャートである。
【図１１Ｂ】プルプリントサーバジョブを登録する処理を示すフローチャートである。
【図１２】プルプリントエージェントで検知した情報により行うプルプリントサーバの処理を示すフローチャートである。
【図１３】プルプリントサーバが管理する印刷ジョブの情報とジョブ管理キューを表す図である。
【図１４】プルプリントサーバが管理するプリンタキュー、出力ポートの情報を表す図である。
【図１５】プルプリントエージェントがプルプリントサーバに通知する情報を示す図である。
【図１６】プルプリントサーバが印刷データを特定してから、印刷データの転送までの流れを示すフローチャートである。
【図１７】デバイススケジューラからの通知やコマンドを受け付けた場合のプルプリントサーバの処理の流れを示すフローチャートである。
【図１８】プルプリントエージェントが認証記録装置の状態変化を検知してからプルプリントサーバにその情報を通知するまでの処理のフローチャートである。
【図１９】デバイススケジューラで管理するクライアント情報とクライアント管理キューを示す図である。
【図２０】デバイススケジューラで管理するジョブ情報とジョブ管理キューを示す図である。
【図２１】プルプリントサーバとデバイススケジューラ、ＬＰＤ／ＲＡＷ、プリンタコントローラ間の印刷シーケンスを示す図である。
【図２２】プルプリントサーバのスケジュール要求の受け付けから、スケジュールＵＰを発行するまでのデバイススケジューラのスケジュール管理部の処理の流れを示すフローチャートである。
【図２３】ジョブ管理部９０３のジョブ状態通知イベントの受け付けからジョブリスト要求の受け付けに対する処理を示すフローチャートである。
【図２４】プリンタコントローラからのデバイス状態、ジョブ状態通知を受け付けた時のデバイス管理部の処理を示すフローチャートである。
【図２５】クライアントからの要求や通知、デバイス管理部からの通知、ジョブ管理部９０３への要求や通知を処理する通信接続管理部９０１の処理を示すフローチャートである。
【図２６】ジョブ情報と、デバイス構成情報、ユーザ設定情報から印刷可否を判断し、色味の設定を行う処理を示すフローチャートである。
【図２７】印刷可否情報、カラープロファイル設定、印刷不可能情報などのユーザ設定情報を示す図である。
【図２８】プルプリント許可設定の一例の図である。
【図２９】印刷不可能通知設定の一例の図である。
【図１】
2008097226.tif 000003
【図２】
2008097226.tif 000004
【図３】
2008097226.tif 000005
【図４】
2008097226.tif 000006
【図５】
2008097226.tif 000007
【図６】
2008097226.tif 000008
【図７】
2008097226.tif 000009
【図８】
2008097226.tif 000010
【図９】
2008097226.tif 000011
【図１０】
2008097226.tif 000012
【図１１Ａ】
2008097226.tif 000013
【図１１Ｂ】
2008097226.tif 000014
【図１２】
2008097226.tif 000015
【図１３】
2008097226.tif 000016
【図１４】
2008097226.tif 000017
【図１５】
2008097226.tif 000018
【図１６】
2008097226.tif 000019
【図１７】
2008097226.tif 000020
【図１８】
2008097226.tif 000021
【図１９】
2008097226.tif 000022
【図２０】
2008097226.tif 000023
【図２１】
2008097226.tif 000024
【図２２】
2008097226.tif 000025
【図２３】
2008097226.tif 000026
【図２４】
2008097226.tif 000027
【図２５】
2008097226.tif 000028
【図２６】
2008097226.tif 000029
【図２７】
2008097226.tif 000030
【図２８】
2008097226.tif 000031
【図２９】
2008097226.tif 000032