(57)【要約】【課題】１の文書から複数のＰＤＬジョブを生成可能なプリンタドライバをプルプリントシステムに適用した場合、一つの中間形式の印刷データからいくつのＰＤＬジョブが生成されるのかがわからず、印刷中止の処理で対象とするＰＤＬジョブを判断できない。【解決手段】プリントサーバは、画像形成装置からの要求に応じて、溜め置かれた中間形式のデータから、前記画像形成装置に対応する形式の複数の印刷ジョブを生成する生成手段と、前記画像形成装置への前記生成手段により生成された複数の印刷ジョブの出力に際して、前記複数の印刷ジョブを含む一連のデータに、終端を示す終端データを付加する付加手段と、前記終端データを含む前記一連のデータを前記画像形成装置へ出力する出力手段とを有し、前記一連のデータは、前記画像形成装置にて中止指示をユーザから受け付けた場合、前記複数の印刷ジョブを、前記終端データを受信するまで破棄される。【選択図】  図１２
2013126754.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置と、中間形式のデータを溜め置くプリントサーバとを含むプリントシステムであって、
前記プリントサーバは、
前記画像形成装置からの要求に応じて、前記プリントサーバに溜め置かれた中間形式のデータから、前記画像形成装置に対応する形式の複数の印刷ジョブを生成する生成手段と、
前記画像形成装置への前記生成手段により生成された複数の印刷ジョブの出力に際して、前記複数の印刷ジョブを含む一連のデータに、終端を示す終端データを付加する付加手段と、
前記終端データを含む前記一連のデータを前記画像形成装置へ出力する出力手段と
を有し、
前記画像形成装置は、
前記一連のデータを前記プリントサーバから受信する受信手段と、
前記一連のデータに含まれる前記複数の印刷ジョブを、前記画像形成装置の印刷部に転送する転送手段と、
前記一連のデータに対する中止指示をユーザから受け付ける受付手段と
を有し、
前記受信手段は、前記一連のデータを受信している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブを、前記終端データを受信するまで破棄し、
前記転送手段は、前記一連のデータを転送している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブの前記印刷部への転送を中止し、転送済みの印刷ジョブに対する印刷を中止するように前記印刷部に指示することを特徴とするプリントシステム。
【請求項２】
前記複数の印刷ジョブにはジョブの終わりを示す情報がそれぞれ含まれることを特徴とする請求項１に記載のプリントシステム。
【請求項３】
前記中止指示は、前記プリントサーバまたは前記画像形成装置の操作部から受け付けることを特徴とする請求項１又は請求項２に記載のプリントシステム。
【請求項４】
前記付加手段は、前記終端データに対してユーザが前記終端データを削除できないアクセス権限を設定することを特徴とする請求項１乃至３のいずれか一項に記載のプリントシステム。
【請求項５】
前記画像形成装置は、前記中間形式のデータに対応するジョブを表示するための表示部を更に有し、
前記表示部は、前記終端データを削除できないように、前記終端データをユーザから不可視となるよう制御することを特徴とする請求項１乃至４のいずれか一項に記載のプリントシステム。
【請求項６】
前記画像形成装置において、前記受信手段が前記一連のデータを受信する際に用いられるポートと、前記転送手段が前記印刷部に前記複数の印刷ジョブを転送する際に用いられるポートは異なることを特徴とする請求項１乃至５のいずれか一項に記載のプリントシステム。
【請求項７】
前記転送手段は、前記複数の印刷ジョブをローカル・ループバックすることにより、前記印刷部に転送することを特徴とする請求項１乃至６のいずれか一項に記載のプリントシステム。
【請求項８】
前記付加手段は、前記複数の印刷ジョブと前記終端データとに前記中間形式のデータに対応するジョブを示す識別子を設定することを特徴とする請求項１乃至７のいずれか一項に記載のプリントシステム。
【請求項９】
中間形式のデータを溜め置くプリントサーバと通信を行う画像形成装置であって、
前記プリントサーバに対して、前記中間形式のデータに対応する印刷ジョブの要求を行う要求手段と、
前記プリントサーバで前記要求に応じて前記中間形式のデータから生成された前記画像形成装置に対応する形式の複数の印刷ジョブと、終端を示す終端データとを含む一連のデータを前記プリントサーバから受信する受信手段と、
前記一連のデータに含まれる前記複数の印刷ジョブを、前記画像形成装置の印刷部に転送する転送手段と、
前記一連のデータに対する中止指示をユーザから受け付ける受付手段と
を有し、
前記受信手段は、前記一連のデータを受信している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブを、前記終端データを受信するまで破棄し、
前記転送手段は、前記一連のデータを転送している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブの転送を中止し、転送済みの印刷ジョブに対する処理を中止するように前記印刷部に指示することを特徴とする画像形成装置。
【請求項１０】
前記複数の印刷ジョブにはジョブの終わりを示す情報がそれぞれ含まれることを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
前記中止指示は、前記画像形成装置の操作部から受け付けることを特徴とする請求項９又は請求項１０に記載の画像形成装置。
【請求項１２】
前記中間形式のデータに対応するジョブを表示するための表示部を更に有し、
前記表示部は、前記終端データを削除できないように、前記終端データをユーザから不可視となるよう制御することを特徴とする請求項９乃至１１のいずれか１項に記載の画像形成装置。
【請求項１３】
前記画像形成装置において、前記受信手段が前記一連のデータを受信する際に用いられるポートと、前記転送手段が前記印刷部に前記複数の印刷ジョブを転送する際に用いられるポートとは異なることを特徴とする請求項９乃至１２のいずれか１項に記載の画像形成装置。
【請求項１４】
前記転送手段は、前記複数の印刷ジョブをローカル・ループバックすることにより、前記印刷部に転送することを特徴とする請求項９乃至１３のいずれか１項に記載の画像形成装置。
【請求項１５】
中間形式のデータを溜め置くプリントサーバであって、
画像形成装置からの要求に応じて前記溜め置かれた中間形式のデータから生成された前記画像形成装置に対応する形式の複数の印刷ジョブの出力時に、前記複数の印刷ジョブを含む一連のデータに、終端を示す終端データを付加する付加手段と、
前記終端データを含む前記一連のデータを前記画像形成装置へ出力する出力手段と、
を有することを特徴とするプリントサーバ。
【請求項１６】
前記複数の印刷ジョブにはジョブの終わりを示す情報がそれぞれ含まれることを特徴とする請求項１５に記載のプリントサーバ。
【請求項１７】
前記付加手段は、前記終端データに対してユーザが前記終端データを削除できないアクセス権限を設定することを特徴とする請求項１５又は請求項１６に記載のプリントサーバ。
【請求項１８】
前記付加手段は、前記複数の印刷ジョブと前記終端データとに前記中間形式のデータに対応するジョブを示す識別子を設定することを特徴とする請求項１５乃至１７のいずれか１項に記載のプリントサーバ。
【請求項１９】
画像形成装置と、中間形式のデータを溜め置くプリントサーバとを含むプリントシステムにおいて実行されるプログラムであって、
前記プリントサーバを、
前記画像形成装置からの要求に応じて、前記プリントサーバに溜め置かれた中間形式のデータから、前記画像形成装置に対応する形式の複数の印刷ジョブを生成する生成手段、
前記画像形成装置への前記生成手段により生成された複数の印刷ジョブの出力に際して、前記複数の印刷ジョブを含む一連のデータに、終端を示す終端データを付加する付加手段、
前記終端データを含む前記一連のデータを前記画像形成装置へ出力する出力手段と
として機能させ、
前記画像形成装置を、
前記一連のデータを前記プリントサーバから受信する受信手段、
前記一連のデータに含まれる前記複数の印刷ジョブを、前記画像形成装置の印刷部に転送する転送手段、
前記一連のデータに対する中止指示をユーザから受け付ける受付手段
として機能させ、
前記受信手段は、前記一連のデータを受信している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブを、前記終端データを受信するまで破棄し、
前記転送手段は、前記一連のデータを転送している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブの前記印刷部への転送を中止し、転送済みの印刷ジョブに対する印刷を中止するように前記印刷部に指示することを特徴とするプログラム。
【請求項２０】
中間形式のデータを溜め置くプリントサーバと通信を行う画像形成装置において実行されるプログラムであって、
前記画像形成装置を、
前記プリントサーバに対して、前記中間形式のデータに対応する印刷ジョブの要求を行う要求手段、
前記プリントサーバで前記要求に応じて前記中間形式のデータから生成された前記画像形成装置に対応する形式の複数の印刷ジョブと、終端を示す終端データとを含む一連のデータを前記プリントサーバから受信する受信手段、
前記一連のデータに含まれる前記複数の印刷ジョブを、前記画像形成装置の印刷部に転送する転送手段、
前記一連のデータに対する中止指示をユーザから受け付ける受付手段
として機能させ、
前記受信手段は、前記一連のデータを受信している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブを、前記終端データを受信するまで破棄し、
前記転送手段は、前記一連のデータを転送している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブの転送を中止し、転送済みの印刷ジョブに対する処理を中止するように前記印刷部に指示することを特徴とするプログラム。
【請求項２１】
中間形式のデータを溜め置くプリントサーバにおいて実行されるプログラムであって、
前記プリントサーバを、
画像形成装置からの要求に応じて前記溜め置かれた中間形式のデータから生成された前記画像形成装置に対応する形式の複数の印刷ジョブの出力時に、前記複数の印刷ジョブを含む一連のデータに、終端を示す終端データを付加する付加手段、
前記終端データを含む前記一連のデータを前記画像形成装置へ出力する出力手段、
として機能させることを特徴とするプログラム。
【請求項２２】
画像形成装置からの要求に応じて、プリントサーバに溜め置かれた中間形式のデータから、前記画像形成装置に対応する形式の複数の印刷ジョブを生成する生成工程と、
前記画像形成装置への前記生成工程により生成された複数の印刷ジョブの出力に際して、前記複数の印刷ジョブを含む一連のデータに、終端を示す終端データを付加する付加工程と、
前記終端データを含む前記一連のデータを前記画像形成装置へ出力する出力工程と
を有し、
前記一連のデータを前記プリントサーバから受信する受信工程と、
前記一連のデータに含まれる前記複数の印刷ジョブを、前記画像形成装置の印刷部に転送する転送工程と、
前記一連のデータに対する中止指示をユーザから受け付ける受付工程と
を有し、
前記受信工程は、前記一連のデータを受信している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブを、前記終端データを受信するまで破棄し、
前記転送工程は、前記一連のデータを転送している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブの前記印刷部への転送を中止し、転送済みの印刷ジョブに対する印刷を中止するように前記印刷部に指示することを特徴とする制御方法。
【請求項２３】
中間形式のデータを溜め置くプリントサーバと通信を行う画像形成装置の制御方法であって、
前記プリントサーバに対して、前記中間形式のデータに対応する印刷ジョブの要求を行う要求工程と、
前記プリントサーバで前記要求に応じて前記中間形式のデータから生成された前記画像形成装置に対応する形式の複数の印刷ジョブと、終端を示す終端データとを含む一連のデータを前記プリントサーバから受信する受信工程と、
前記一連のデータに含まれる前記複数の印刷ジョブを、前記画像形成装置の印刷部に転送する転送工程と、
前記一連のデータに対する中止指示をユーザから受け付ける受付工程と
を有し、
前記受信工程は、前記一連のデータを受信している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブを、前記終端データを受信するまで破棄し、
前記転送工程は、前記一連のデータを転送している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブの転送を中止し、転送済みの印刷ジョブに対する処理を中止するように前記印刷部に指示することを特徴とする制御方法。
【請求項２４】
中間形式のデータを溜め置くプリントサーバの制御方法であって、
画像形成装置からの要求に応じて前記溜め置かれた中間形式のデータから生成された前記画像形成装置に対応する形式の複数の印刷ジョブの出力時に、前記複数の印刷ジョブを含む一連のデータに、終端を示す終端データを付加する付加工程と、
前記終端データを含む前記一連のデータを前記画像形成装置へ出力する出力工程と
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントサーバに溜め置かれたデータを画像形成装置において印刷制御する際の技術に関する。
【背景技術】
【０００２】
従来、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行うことで当該印刷装置から印刷データの出力を可能にする所謂「プルプリント」の印刷システムが提案されている（例えば、特許文献１参照）。これにより、ユーザはアプリケーションからの印刷時に特定の印刷装置への出力ではなく、所望の印刷装置からの印刷要求による印刷データ出力を可能としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４０３３８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、ユーザが印刷装置からサーバ上に一時蓄積された印刷データに対して印刷要求を行う際に、印刷設定の変更を指示することが困難であった。これは、サーバ上に一時蓄積される印刷データの形式が、印刷装置に依存したＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）であることに起因する。そのため、サーバ上に一時蓄積する印刷データを印刷装置（デバイス）に非依存な中間形式のデータとしておき、印刷設定の変更などを容易に行えるようにすることが考えられる。その場合、ユーザが印刷装置から設定変更をして、印刷要求を行った時点で、サーバ上で当該印刷装置に対応するプリンタドライバを用いて印刷データ生成して、最終的に印刷出力を行うプルプリントシステムが考えられる。
【０００５】
一方、通常、一つの文書をアプリケーションから印刷した場合、プリンタドライバが生成するＰＤＬジョブは一つとなる。しかし、印刷の設定によっては、複数のＰＤＬジョブを生成するプリンタドライバも存在する。例えば、フィニッシャでのステイプル可能な用紙枚数が１０枚であるデバイスに２０ページの文書を印刷すると、プリンタドライバで１〜１０ページ、１１〜２０ページの２つのＰＤＬジョブを生成する。
【０００６】
このようなプリンタドライバを、前述のプルプリントシステムのサーバに適用すると、一つの中間形式の印刷データからいくつのＰＤＬジョブが生成されるのかを予め把握することができない。そのため、印刷指示後に、印刷装置に対してＰＤＬジョブを送信し始めた後に印刷中止の処理を行う場合に、中止対象となるＰＤＬジョブの全てを判別できないことが考えられる。また、実際にいくつのＰＤＬジョブが生成されるのかを諸条件から導き出すことは、印刷文書、印刷設定、プリンタドライバ及びデバイスの仕様等、複数の要因で決まるため、非常に困難となる。
【０００７】
そこで、本発明は、前述のプルプリントシステムのサーバ上で、複数のＰＤＬジョブを生成するかもしれないプリンタドライバが適用された場合にも、適切に印刷中止の処理が可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明に係る画像形成装置は、中間形式のデータを溜め置くプリントサーバと通信を行う画像形成装置であって、前記プリントサーバに対して、前記中間形式のデータに対応する印刷ジョブの要求を行う要求手段と、前記プリントサーバで前記要求に応じて前記中間形式のデータから生成された前記画像形成装置に対応する形式の複数の印刷ジョブと、終端を示す終端データとを含む一連のデータを前記プリントサーバから受信する受信手段と、前記一連のデータに含まれる前記複数の印刷ジョブを、前記画像形成装置の印刷部に転送する転送手段と、前記一連のデータに対する中止指示をユーザから受け付ける受付手段とを有し、前記受信手段は、前記一連のデータを受信している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブを、前記終端データを受信するまで破棄し、前記転送手段は、前記一連のデータを転送している際に前記中止指示を受け付けた場合、前記複数の印刷ジョブの転送を中止し、転送済みの印刷ジョブに対する処理を中止するように前記印刷部に指示することを特徴とする。
【０００９】
上記の目的を達成するための本発明に係るプリントサーバは、中間形式のデータを溜め置くプリントサーバであって、画像形成装置からの要求に応じて前記溜め置かれた中間形式のデータから生成された前記画像形成装置に対応する形式の複数の印刷ジョブの出力時に、前記複数の印刷ジョブを含む一連のデータに、終端を示す終端データを付加する付加手段と、前記終端データを含む前記一連のデータを前記画像形成装置へ出力する出力手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明により、プルプリントシステムのサーバ上で複数のＰＤＬジョブを生成するかもしれないプリンタドライバが適用され、印刷処理を行った場合にも、適切に印刷中止の処理が可能な仕組みを提供できる。
【図面の簡単な説明】
【００１１】
【図１】プリントシステムの構成の一例を示すシステム構成図。
【図２】情報処理装置のハードウェア構成の例を示すブロック図。
【図３】複合機のハードウェア構成の一例を示すブロック図。
【図４】第１実施形態に係るプリントシステムのプルプリントの流れを示す模式図。
【図５】アプリケーションプログラムが提供する印刷画面の一例を示す模式図。
【図６】図４の１−２にて扱われるデータ詳細の例を示す図。
【図７】図４の２−６にて扱われるデータ詳細の例を示す図。
【図８】図４の３−１にて扱われるデータ詳細の例を示す図。
【図９】複合機の表示部に表示される画面の一例を示す図。
【図１０】複合機の表示部に表示される画面の一例を示す図。
【図１１】複合機の表示部に表示される画面の一例を示す図。
【図１２】第１実施形態のデータフローの一部を示す模式図。
【図１３】図４の３−１から３−５までの印刷処理に対応するフローチャート。
【図１４】第１実施形態に係る印刷キュー作成処理の一例を示すフローチャート。
【図１５】第１実施形態に係る印刷中止処理の一例を示すフローチャート。
【図１６】第１実施形態に係るプリンタドライバによる処理の一例を示すフローチャート。
【図１７】第１実施形態に係るパネル・アプリケーションによる処理の一例を示すフローチャート。
【図１８】第２実施形態に係るプリントシステムのプルプリントの流れを示す模式図。
【図１９】第２実施形態のデータフローの一部を示す模式図。
【図２０】第２実施形態に係る印刷キュー作成処理の一例を示すフローチャート。
【図２１】ジョブの区切りとＥｎｄジョブとの関係を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１３】
＜第１実施形態＞
［システム構成］
図１は、本発明を適用可能なプリントシステムの構成の一例を示すシステム構成図である。図１に示す「事業所Ａ」は、１又は複数のクライアントＰＣ１００、１又は複数のプリントサーバ１０１、１又は複数の複合機１０２、アドレス管理サーバ１０３、１又は複数のログインサービスＰＣ１０４、ディレクトリサービスサーバ１０５を含む。また、各装置は、ローカルエリアネットワーク（ＬＡＮ）１０６を介して接続される構成となっている。各装置において、複数の台数からなるものは、例えば、ユーザごとに設置されたり、フロアごとに配置されるようにしてもよい。
【００１４】
クライアントＰＣ１００には、仮想プリンタドライバがインストールされている。この仮想プリンタドライバは、クライアント・アプリケーションから受け取ったデータに基づいて特定の複合機に依存しない中間形式の印刷ジョブを生成し、プリントサーバ１０１へ送信する。なお、中間形式の印刷ジョブとは、フォーマットに関する仕様が公開されていて、かつ再編集が容易な形式の印刷データを意味する。中間形式として例えば、ＥＭＦＳＰＯＯＬ形式（Ｅｎｈａｎｃｅｄ  Ｍｅｔａｆｉｌｅ  Ｓｐｏｏｌ  Ｆｏｒｍａｔ）、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、ＰＤＦ（ＰｏｒｔａｂｌｅＤｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）などがある。本実施形態においては、ＥＭＦＳＰＯＯＬ形式を使って説明するが、ＸＰＳやＰＤＦなど他の中間形式の印刷データであってもかまわない。
【００１５】
プリントサーバ１０１は、受信した印刷ジョブを所定の格納場所に保存する。また、プリントサーバ１０１は、ジョブ管理データベース（以後、ジョブ管理ＤＢと呼ぶ）を備え、受信した印刷ジョブに関するメタデータを、ジョブ管理ＤＢにより記憶管理する。プリントサーバ１０１は、ジョブ管理ＤＢに記録管理しているメタデータから印刷ジョブ一覧データを生成し、複合機１０２へ転送する。プリントサーバ１０１は、ジョブ管理ＤＢに記録管理しているメタデータと複合機１０２から受信する印刷設定情報を使って、印刷設定情報の更新を行い、複合機１０２へ更新した印刷設定を転送制御する。さらに、プリントサーバ１０１は、上記所定の格納場所に保存している印刷ジョブとジョブ管理ＤＢに記録管理しているメタデータとからＰＤＬ（Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データを生成し、複合機１０２へ転送する。
【００１６】
複合機１０２は、画像形成装置であり、印刷機能を備え、ＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などが該当する。プリントサーバ１０１から送信されたＰＤＬジョブを受信し、そのＰＤＬジョブに基づいて処理を実行する。
【００１７】
アドレス管理サーバ１０３は、アドレス管理データベース（以後、アドレス管理ＤＢと呼ぶ）を備え、「プルプリント」実行時に、印刷ジョブを管理するプリントサーバ１０１のアドレスとユーザ識別子とを、アドレス管理ＤＢにより記憶管理する。さらに、アドレス管理サーバ１０３は、複合機１０２からの印刷ジョブ一覧要求に応じて、複合機１０２から受信したユーザ識別子に対応するプリントサーバ１０１のアドレスを複合機１０２へ送信する。
【００１８】
ログインサービスＰＣ１０４は、複合機１０２のログインサービスとして、ディレクトリサービスサーバ１０５で記憶管理されているクライアントＰＣ１００のログインユーザ名、パスワードに基づく認証処理を行うものである。認証処理（Ｓｉｎｇｌｅ  Ｓｉｇｎ−ＯＮ：ＳＳＯ）を行う例として、キヤノン社のセキュリティエージェント（Ｓｅｃｕｒｉｔｙ  Ａｇｅｎｔ）を搭載したパーソナルコンピュータなどがある。ここでのパスワードとは、例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）のログインユーザ名、パスワードなどが挙げられる。
【００１９】
ディレクトリサービスサーバ１０５は、ネットワーク上に存在するサーバ、クライアント、プリンタ等のハードウェア資源や、それらを使用するユーザの属性、アクセス権等の情報を一元記憶管理するものである。例えば、アクティブディレクトリ（Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ）機能を搭載したサーバが相当する。なお、ここでのユーザの属性には、クライアントＰＣ１００のログインユーザ名、パスワードを含む。
【００２０】
また、本実施形態のプリントシステムは、上述した構成の「事業所Ａ」と、「事業所Ｂ」とがＷＡＮ１０７を介して接続されている。「事業所Ｂ」は、１又は複数のクライアントＰＣ１００、１又は複数のプリントサーバ１０１、１又は複数の複合機１０２がＬＡＮ１０６を介して接続される。さらに、「事業所Ｂ」と同等の構成を有する複数の「事業所」が、ＷＡＮ１０７を介して接続される構成であってもよい。
【００２１】
［ハードウェア構成（情報処理装置）］
図２を用いて、図１に示したクライアントＰＣ１００、プリントサーバ１０１、アドレス管理サーバ１０３、ログインサービスＰＣ１０４、ディレクトリサービスサーバ１０５に適用可能な情報処理装置のハードウェア構成について説明する。図２は、図１に示したクライアントＰＣ１００、プリントサーバ１０１、アドレス管理サーバ１０３、ログインサービスＰＣ１０４、ディレクトリサービスサーバ１０５に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【００２２】
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）が記憶されている。更には、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２３】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードし、該ロードしたプログラムを実行することで各種動作を実現する。また、入力コントローラ２０５は、キーボード２０９やマウス（不図示）等のポインティングデバイス等からの入力を制御する。ビデオコントローラ２０６は、モニタ２１０への表示を制御する。一般に、モニタ２１０は、液晶ディスプレイやＣＲＴ等の表示器である。これらは必要に応じて管理者が使用する。
【００２４】
メモリコントローラ２０７は、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）等の外部メモリ２１１へのアクセスを制御する。通信Ｉ／Ｆコントローラ２０８は、ネットワーク（例えば、図１に示したＬＡＮ１０６）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、モニタ２１０上での表示を可能としている。また、ＣＰＵ２０１は、モニタ２１０上のマウスカーソル（不図示）等でのユーザ指示を可能とする。
【００２５】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行される。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００２６】
［ハードウェア構成（複合機）］
図３を用いて、図１に示した複合機１０２を制御するコントローラユニット３１６のハードウェア構成の一例について説明する。図３において、コントローラユニット３１６は、画像入力デバイスとして機能するスキャナ３１４や、画像出力デバイスとして機能するプリンタ３１２と接続する。また、コントローラユニット３１６は、ＬＡＮ（例えば、図１に示したＬＡＮ１０６）や公衆回線（ＷＡＮ）（例えば、ＰＳＴＮまたはＩＳＤＮ等）と接続することで、画像データやデバイス情報の入出力を行う。
【００２７】
コントローラユニット３１６において、ＣＰＵ３０１は、システム全体を制御するプロセッサである。ＲＡＭ３０２は、ＣＰＵ３０１が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。ＲＯＭ３０３は、システムのブートプログラムや各種制御プログラムが格納されている。ハードディスクドライブ（ＨＤＤ）３０４は、システムを制御するための各種プログラム、画像データ等を格納する。
【００２８】
操作部インタフェース（操作部Ｉ／Ｆ）３０７は、操作部（ＵＩ）３０８とのインタフェース部であり、操作部３０８に表示する画像データを操作部３０８に対して出力する。また、操作部Ｉ／Ｆ３０７は、操作部３０８から本システムのユーザが入力した情報（例えば、ユーザ情報等）をＣＰＵ３０１に伝える役割をする。なお、操作部３０８はタッチパネルを有する表示部（不図示）を備え、表示部に表示されたボタンを、ユーザが押下（指等でタッチ）することにより、各種指示を行うことができる。
【００２９】
ネットワークインタフェース（Ｎｅｔｗｏｒｋ  Ｉ／Ｆ）３０５は、ネットワーク（ＬＡＮ）に接続し、データの入出力を行う。モデム（ＭＯＤＥＭ）３０６は、公衆回線に接続し、ＦＡＸの送受信等のデータの入出力を行う。外部インタフェース（外部Ｉ／Ｆ）３１８は、ＵＳＢ、ＩＥＥＥ１３９４、プリンタポート、ＲＳ−２３２Ｃ等の外部入力を受け付けるＩ／Ｆ部である。本実施形態においては、認証で必要となるＩＣカードの読み取り用のカードリーダ３１９が外部Ｉ／Ｆ３１８に接続されている。そして、ＣＰＵ３０１は、この外部Ｉ／Ｆ３１８を介してカードリーダ３１９によるＩＣカードからの情報読み取りを制御し、該ＩＣカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス３０９上に配置される。
【００３０】
イメージバスインタフェース（ＩＭＡＧＥ  ＢＵＳ  Ｉ／Ｆ）３２０は、システムバス３０９と画像データを高速で転送する画像バス３１５とを接続し、データ構造を変換するバスブリッジである。画像バス３１５は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス３１５上には以下のデバイスが配置される。ラスタイメージプロセッサ（ＲＩＰ）３１０は、例えば、ＰＤＬコード等のベクトルデータをビットマップイメージに展開する。
【００３１】
プリンタインタフェース（プリンタＩ／Ｆ）３１１は、プリンタ３１２とコントローラユニット３１６を接続し、画像データの同期系／非同期系の変換を行う。また、スキャナインタフェース（スキャナＩ／Ｆ）３１３は、スキャナ３１４とコントローラユニット３１６とを接続し、画像データの同期系／非同期系の変換を行う。画像処理部３１７は、入力画像データに対し補正、加工、編集を行い、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部３１７は、画像データの回転や、多値画像データに対してはＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、２値画像データはＪＢＩＧ（Ｊｏｉｎｔ  Ｂｉ−ｌｅｖｅｌ  Ｉｍａｇｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、ＭＭＲ（Ｍｏｄｉｆｉｅｄ  Ｍｏｄｉｆｉｅｄ  ＲＥＡＤ）、ＭＨ（Ｍｏｄｉｆｉｅｄ  Ｈｕｆｆｍａｎ）等の圧縮伸張処理を行う。
【００３２】
スキャナ３１４は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙が原稿フィーダ（不図示）のトレイにセットされ、装置のユーザが操作部３０８から読み取り起動の指示をすることにより、ＣＰＵ３０１がスキャナ３１４に指示を与え、原稿フィーダは原稿用紙を１枚ずつフィードし原稿画像の読み取り動作を行う。プリンタ３１２は、ラスタイメージデータを用紙上の画像に変換する部分である。プリンタ３１２の方式は、感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。
【００３３】
プリント動作の起動は、ＣＰＵ３０１からの指示によって開始される。なお、プリンタ３１２には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。操作部３０８は、ＬＣＤ表示部（不図示）を有し、ＬＣＤ上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部Ｉ／Ｆ３０７を介してＣＰＵ３０１に伝える。また、操作部３０８は、各種操作キーとして、例えば、スタートキー、ストップキー、ＩＤキー、リセットキー等を備える。ここで、操作部３０８のスタートキーは、原稿画像の読み取り動作を開始する場合などに用いられる。また、スタートキーには、緑と赤の２色ＬＥＤが備えられ、その色によってスタートキーが使える状態にあるかどうかを示すようにしても構わない。また、操作部３０８のストップキーは、稼働中の動作を止める場合に用いられる。
【００３４】
また、操作部３０８のＩＤキーは、使用者のユーザＩＤを入力する場合に用いられる。リセットキーは、操作部３０８を介して行われた設定を初期化する時に用いる。カードリーダ３１９は、ＣＰＵ３０１からの制御により、ＩＣカード（例えば、ソニー社のフェリカ（ＦｅｌｉＣａ）（登録商標））内に記憶されている情報を読み取り、該読み取った情報を外部Ｉ／Ｆ３１８を介してＣＰＵ３０１へ通知する。以上のような構成によって、複合機１０２は、スキャナ３１４から読み込んだ画像データをＬＡＮ１０６上に送信し、ＬＡＮ１０６から受信した印刷データをプリンタ３１２により印刷出力することができる。また、スキャナ３１４から読み込んだ画像データをモデム３０６により、公衆回線上にＦＡＸ送信し、公衆回線からＦＡＸ受信した画像データをプリンタ３１２により出力することができる。
【００３５】
［プルプリントの流れ］
図４を用いて、本実施形態のプリントシステムにおけるプルプリントの全体の流れについて説明する。その前に、まず、本実施形態のプルプリントを実行するための前提について説明する。
【００３６】
本実施形態のプルプリントを実現するための仮想プリンタドライバ４０１をプリントサーバ１０１に共有プリンタとしてインストールしておく。仮想プリンタドライバ４０１は、クライアント・アプリケーション４００から指示された印字や描画命令の出力に基づいて印刷データを生成する。さらには、仮想プリンタドライバ４０１は、仮想プリンタドライバ４０１や複合機１０２が持つ機能を制御するための印刷設定を行う機能（ユーザインタフェース）と、その印刷設定をインストールされた印刷キュー毎に外部記憶装置に記憶する機能等を有する。
【００３７】
また、この印刷設定は、米国Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）の場合、ＤＥＶＭＯＤＥ構造体に格納される。このＤＥＶＭＯＤＥ構造体とは、プリンタが使用可能な機能、レイアウト設定、仕上げ設定、給・排紙設定、印字品質設定等の印刷キューに関するデフォルトの動作条件を含む各種設定を記憶するために、米国Ｍｉｃｒｏｓｏｆｔ社が規定したものである。ＤＥＶＭＯＤＥ構造体は、インストールされた印刷キュー毎に外部記憶装置に記憶される。仮想プリンタドライバ４０１をプリントサーバ１０１からポイント＆プリント等でダウンロードおよびインストールし、クライアントＰＣ１００に仮想プリンタドライバ４０１の印刷キューを追加しておく。
【００３８】
また、クライアント・アプリケーション４００は、特に限定するものではなく、例えば、印刷処理の対象となるデータを作成するためのアプリケーションが相当する。
【００３９】
以下、本実施形態のプルプリントの全体の流れについて説明する。図４は、本実施形態のプリントシステムにおけるプルプリント（どこでもプリント（登録商標））の全体の流れを説明する模式図である。図４に示すように、まず、ユーザは、クライアントＰＣ１００にログインし、クライアントＰＣ１００で実行されるクライアント・アプリケーション４００から仮想プリンタドライバ４０１に対応する印刷キューへの印刷指示を行う（１−１）。
【００４０】
このときのクライアント・アプリケーション４００の印刷画面の一例を示す模式図を図５に示す。プリンタ選択部５１０は、クライアントＰＣ１００に設定されている各複合機に対応する印刷キューから、印刷を行う印刷キューを選択するためのものである。プリンタ選択部５１０において、「どこでも印刷」５０１は、本実施形態のプルプリント設定された仮想プリンタドライバ４０１に対応する印刷キューとする。さらに、「Ｃｘｘｘｘ  ｉｘ３２５０」５０２、「Ｃｘｘｘｘ  ｉｘ５０５１」５０３は、通常のプリンタドライバに対応する印刷キューとする。プリンタ選択部５１０では、ユーザにより、いずれかの印刷キューを選択され、ＯＫボタン５０５をポインティングデバイス等で指示される。これにより、クライアント・アプリケーション４００は、印刷のためのデータを、プリンタ選択部５１０で選択された印刷キューに対応するプリンタドライバにグラフィックエンジンを介して送信する。本実施形態においては、プリンタ選択部５１０で「どこでも印刷」５０１を選択して印刷指示を行う（１−１）。
【００４１】
図４の説明に戻る。図５に示す印刷画面を介した印刷指示に応じて、クライアントＰＣ１００のクライアント・アプリケーション４００は、グラフィックエンジン（不図示）を介して、仮想プリンタドライバ４０１にデータを送信する。クライアントＰＣ１００の仮想プリンタドライバ４０１は、クライアント・アプリケーション４００からグラフィックエンジンを介して受け取ったデータに基づいて、デバイスに依存しないＥＭＦＳＰＯＯＬ形式の印刷ジョブとメタデータとを生成する。
【００４２】
なお、本実施形態にて用いられるメタデータは、図６のようなＸＭＬ形式で表現される。ＪｏｂＩｎｆｏ要素のＧｕｉｄ属性には、本実施形態のプリントシステムにおいて一意となる印刷ジョブの識別子を記述する。ＪｏｂＩｎｆｏ要素のＪｏｂＮａｍｅ属性には、印刷ジョブの名前を記述する。ＪｏｂＩｎｆｏ要素のＵｓｅｒＮａｍｅ属性には、印刷の実行を指示したユーザの名前を記述する。ＪｏｂＩｎｆｏ要素のＰｒｉｎｔＱｕｅｕｅＮａｍｅ属性には、印刷キューの名前を記述する。ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇｓ要素のＤｅｖｍｏｄｅＳｎａｐｓｈｏｔ属性には、最初ページの印刷設定（ＤＥＶＭＯＤＥ）を記述する。なお、ＤＥＶＭＯＤＥはバイナリ形式なので、ＸＭＬで記述するためにＢａｓｅ６４と呼ばれる手法によりテキスト化している。
【００４３】
図４の説明に戻る。仮想プリンタドライバ４０１は、生成したＥＭＦＳＰＯＯＬ形式の印刷ジョブとメタデータとをプリントサーバ１０１上のジョブ管理サービス４０３に送信する（１−２）。ジョブ管理サービス４０３は、プリントサーバ１０１上の所定の格納場所にＥＭＦＳＰＯＯＬ形式の印刷ジョブを保存し、さらにメタデータをジョブ管理ＤＢ４０４（プリントサーバ１０１の外部記憶装置上に構築される）に登録する（１−３）。このとき、プリントサーバ１０１は、上記所定の格納場所に印刷ジョブを保存するだけで、印刷装置（複合機１０２）への送信は行わない。さらに、プリントサーバ１０１は、印刷ジョブの識別子とユーザ識別子をアドレス管理サーバ１０３上のアドレス管理サービス４０５へ登録するために送信する（１−４）。アドレス管理サービス４０５は、ジョブ管理サービス４０３から印刷ジョブの識別子とユーザ識別子を受信すると、プリントサーバ１０１のアドレスも加えてアドレス管理ＤＢ４０６（アドレス管理サーバ１０３の外部記憶装置上に構築される）に登録する（１−５）。なお、本実施形態では、機器を判別するためのアドレスとして機器それぞれのＩＰアドレスを使用する。
【００４４】
複合機１０２は、ログイン表示画面（図９（Ａ））を操作部３０８の表示部に表示するように制御する。そして、カードリーダ３１９により読み取り可能なＩＣカードを検知すると、ＩＣカード内の個人認証情報を読み取り、該読み取った個人認証情報を認証要求として認証サーバ（不図示）に送信する。個人認証情報は、認証に用いられる情報でありＩＣカードの製造番号などでも良い。
【００４５】
認証サーバ（不図示）は、複合機１０２より個人認証情報を受信すると、認証サーバの外部記憶装置上に記憶されるＩＣカード認証用テーブルに基づいて受信した個人認証情報の認証処理を行う。そして、認証サーバは、受信した個人認証情報に対する認証結果を複合機１０２に返信する。このとき、認証処理に成功した場合には、認証結果として、クライアントＰＣ１００のユーザ識別子を送信するものとする。また、認証に失敗した場合には、認証サーバは、クライアントＰＣ１００に対し、図９（Ｂ）に示すような認証エラーの画面を表示させるようにする。なお、この認証サーバの機能は、必ずしも物理的に別の装置に設ける必要はなく、アドレス管理サーバ１０３が有するような構成であってもよい。
【００４６】
複合機１０２上のパネル・アプリケーション４０７は、認証に成功した旨の認証結果（クライアントＰＣ１００のログインユーザ識別子）を受信する。本実施形態では、ユーザ識別子としてユーザ名を使用する。もちろん、ユーザを識別する手段としてＩＣカードの製造番号などでもかまわない。パネル・アプリケーション４０７は、プリントサーバ１０１に印刷ジョブ一覧を要求するが、その前にプリントサーバ１０１のＩＰアドレスを取得する前処理を実施する。前処理の後、パネル・アプリケーション４０７は、アドレス管理サーバ１０３上のアドレス管理サービス４０５にユーザ識別子を送信する（２−１）。
【００４７】
アドレス管理サービス４０５は、受信したユーザ識別子に対応するプリントサーバ１０１のＩＰアドレスを得る（２−２）。そして、アドレス管理サービス４０５は、パネル・アプリケーション４０７へプリントサーバ１０１のＩＰアドレスを返信する（２−３）。パネル・アプリケーション４０７は、アドレス管理サービス４０５からプリントサーバ１０１のＩＰアドレスを受信すると、プリントサーバ１０１上のジョブ管理サービス４０３に印刷ジョブ一覧を要求する（２−４）。ジョブ管理サービス４０３は、受信した印刷ジョブ一覧の要求に対応するため、ジョブ管理ＤＢ４０４を参照する（２−５）。そして、ジョブ管理サービス４０３は、該ユーザ識別子に対応する印刷ジョブ一覧を生成し、パネル・アプリケーション４０７へ印刷ジョブ一覧を返信する（２−６）。
【００４８】
ここで生成される印刷ジョブ一覧は、例えば、図７のようなＸＭＬ形式で表現される。ＪｏｂＬｉｓｔ要素は、印刷ジョブの数だけのＪｏｂＩｎｆｏ子要素を保持する。図７に示す例では、７つの印刷ジョブが記述されている。ＪｏｂＩｎｆｏ要素のＧｕｉｄ属性は、図６で説明したＧｕｉｄと同じものである。ＪｏｂＩｎｆｏ要素のＪｏｂＮａｍｅ属性も図６で説明したＪｏｂＮａｍｅと同じものである。ＣｏｐｙＣｏｕｎｔ属性は、印刷部数を指定する。Ｄｕｐｌｅｘｉｎｇ属性は片面印刷を使用するか、両面印刷を使用するかを指定する。具体的には、“ＯｎｅＳｉｄｅｄ”と記述すると、片面印刷を指定する。“ＴｗｏＳｉｄｅＬｏｎｇＥｄｇｅ”と記述すると、両面（長辺綴じ）を指定する。“ＴｗｏＳｉｄｅｄＳｈｏｒｔＥｄｇｅ”と記述すると、両面（短辺綴じ）を指定する。ＯｕｔｐｕｔＣｏｌｏｒ属性は、色に関する出力方法を指定する。“Ｃｏｌｏｒ”と記述すると、カラーを指定する。“Ｍｏｎｏｃｈｒｏｍｅ”と記述すると、モノクロを指定する。ＰａｇｅＰｅｒＳｈｅｅｔ属性は、用紙の片面に印刷するように選択できるページ数を指定する。ＤａｔｅＴｉｍｅ属性は、ジョブ投入時刻を指定する。
【００４９】
図４の説明に戻る。パネル・アプリケーション４０７は、ジョブ管理サービス４０３から印刷ジョブ一覧を受信すると、印刷データ一覧を操作部３０８のＵＩ上に表示する（図１０）。
【００５０】
パネル・アプリケーション４０７は、図１０の印刷ジョブ一覧表示画面にて、ユーザから印刷ジョブの選択と「プリントする」ボタン９２２の押下を受け付けると、印刷設定変更画面（図１１）を操作部３０８の表示部に表示するように制御する。図１１の設定９３１は、カラーモードの指定を意味し、モノクロとカラーのどちらかをチェックできる。図１１の設定９３２は、両面・片面の指定を意味し、片面、両面（長辺綴じ）、両面（短辺綴じ）のうち１つを選択できる。図１１の設定９３３は、ページ集約の指定を意味し、１ｉｎ１、２ｉｎ１、４ｉｎ１、６ｉｎ１、８ｉｎ１、９ｉｎ１、１６ｉｎ１のうち１つを選択できる。図１１の設定９３４は、印刷部数の指定を意味し、１から９９９９までの値を指定できる。
【００５１】
図４の説明に戻る。パネル・アプリケーション４０７は、図１１の印刷設定変更画面にて、印刷設定変更および印刷開始を指示するボタン９３７の押下を受け付けると、ジョブ管理サービス４０３へ印刷設定情報送信および印刷要求（出力指示）を行う（３−１）。この印刷設定情報は、本実施形態において、図８のようなＸＭＬ形式で表現される。ＪｏｂＩｎｆｏ要素のＧｕｉｄ属性は、図６で説明したＧｕｉｄと同じものである。ＪｏｂＩｎｆｏ要素のＤｅｖｉｃｅＭｏｄｅｌＮａｍｅ属性は、図１の複合機１０２のモデル名を記述する。ＤｏｃｕｍｅｎｔＳｅｔｔｉｎｇｓ要素が保持する各種属性は、図７で説明したものと同様である。
【００５２】
図４の説明に戻る。ジョブ管理サービス４０３は、パネル・アプリケーション４０７から印刷設定情報および印刷指示を受信すると、ジョブ管理ＤＢ４０４を参照して印刷に必要な情報を取得する（３−２）。そして、ジョブ管理サービス４０３は、印刷指示および参照した情報に基づいて、ＰＤＬジョブを生成し、プリンタドライバ４０８に印刷ジョブに対する印刷処理の実行を指示する（３−３）。プリンタドライバ４０８は、印刷処理の実行の指示に基づいて、パネル・アプリケーション４０７にＰＤＬジョブを送信する（３−４）。パネル・アプリケーション４０７は、受信したＰＤＬジョブを複合機１０２内の処理部に転送する（３−５）。
【００５３】
次に印刷ジョブに対する印刷処理中に、パネル・アプリケーション４０７に対して、ユーザにより、印刷中止の指示がなされた場合の流れについて説明する。ユーザによって、パネル・アプリケーション４０７に対し、印刷ジョブの中止指示がなされた場合、パネル・アプリケーション４０７は、複合機１０２に対し印刷中止指示を行う（４−１）。さらに、パネル・アプリケーション４０７は、プリントサーバ１０１上のジョブ管理サービス４０３にも印刷中止指示を行う（４−２）。印刷中止指示を受けたジョブ管理サービス４０３は、ＰＤＬジョブを生成し、送信しているプリンタドライバ４０８に対し印刷中止指示を行う（４−３）。
【００５４】
最後に、パネル・アプリケーション４０７は、ユーザによる図１０の消去ボタン９２１の押下を受け付けると、ジョブ管理サービス４０３に対し指定された印刷ジョブの削除を指示する（５−１）。あるいは、パネル・アプリケーション４０７は、ユーザによる図１１のプリント後文書消去チェックボックス９３５による指示を受け付けている場合には、ジョブ管理サービス４０３に対し指定された印刷ジョブの削除を指示する（５−１）。
【００５５】
ジョブ管理サービス４０３は、パネル・アプリケーション４０７から印刷ジョブの削除要求を受信すると、まず、アドレス管理サービス４０５へ登録した印刷ジョブ識別子の登録解除を指示する（５−２）。アドレス管理サービス４０５は、ジョブ管理サービス４０３から印刷ジョブ識別子の登録解除要求を受信すると、アドレス管理ＤＢ４０６の該当するレコードを削除する（５−３）。次に、ジョブ管理サービス４０３は、ジョブ管理ＤＢ４０４の該当するレコードを削除する（５−４）。このとき、ジョブ管理サービス４０３は、ＥＭＦＳＰＯＯＬ形式の印刷ジョブファイルも併せて削除する。
【００５６】
［本発明の特徴となる処理の流れ］
以上、図４を用いてプリントシステム全体の流れをデータフローの観点で説明した。図１２は、図４から本実施形態における最も特徴となるデータフローを抜き出したものである。ジョブ管理サービス４０３が印刷の実行を指示すると（３−３）、３−４において、プリンタドライバ４０８はユーザが指示した単一の印刷ジョブに対応するデータからＰＤＬジョブを複数出力することを示している。例えば、複合機１０２のフィニッシャ（不図示）によるステイプル可能な用紙枚数が１０枚である場合、２０ページの文書を印刷すると、プリンタドライバ４０８は１〜１０ページと１１〜２０ページの２つのＰＤＬジョブを生成することになる。
【００５７】
プリンタドライバ４０８は、出力時においてさらに、最後にＰＤＬジョブの終端を意味する特殊なＥｎｄジョブを複数のＰＤＬジョブからなる一連のジョブに付加する。このＥｎｄジョブは、形式上通常のＰＤＬジョブと同じだが、印刷出力して排紙する対象のジョブではない。課金対象のジョブでもない。あくまでも複数のＰＤＬジョブからなる一連のジョブの最後を意味する終端（Ｅｎｄ）の目印となる終端データである。なお、これら全てのＰＤＬジョブとジョブの終端を示すＥｎｄジョブには、図８のＧｕｉｄ属性で示した印刷ジョブ識別子が埋め込まれている。これによって、図１２に示す４−１から４−３における印刷中止処理において、印刷ジョブ識別子で中止対象のジョブを決定できるようにする。
【００５８】
なお、３−５において、プリンタドライバ４０８は、複合機１０２にＰＤＬジョブとＥｎｄジョブを直接送信しない。パネル・アプリケーション４０７が、一旦全てのＰＤＬジョブを受信し、Ｅｎｄジョブを取り除いてから複合機１０２に転送する（所謂、ローカル・ループバック）。このような処理によって、複合機１０２本体のソフトウェアをＥｎｄジョブに対応させる必要がなくなる。
【００５９】
［ジョブの区切りとＥｎｄジョブの関係］
個々のジョブは図２１のようにジョブの始まりと終わりを示す情報で囲まれている。図２１の例では１番目のＰＤＬジョブ２１０１からＮ番目のＰＤＬジョブ２１０３とＥｎｄジョブ２１０４が一連のジョブとして送信されている。それぞれのジョブが区別できるのは１番目のＰＤＬジョブ２１０１からＮ番目のＰＤＬジョブ２１０３とＥｎｄジョブ２１０４がそれぞれジョブの始まりを示す情報（ｓｔａｒｔ）とジョブの終わりを示す情報（ｅｎｄ）によって囲まれているためである。すなわち、Ｅｎｄジョブ２１０４も他のジョブと同じようにジョブの始まりを示す情報（ｓｔａｒｔ）とジョブの終わりを示す情報（ｅｎｄ）によって囲まれている。
【００６０】
複合機１０２はジョブの終わりを示す情報（ｅｎｄ）によってジョブの区切りを認識し、さらにＥｎｄジョブ２１０４によって一連のジョブの終わりを認識することができる。
【００６１】
［処理フロー］
図１３は、図４に示した３−１から３−５までの印刷処理手順に対応するフローチャートである。なお、本処理フローにおいて、破線矢印は、各装置間のデータフローを意味する。
【００６２】
ＳＥ１１００〜ＳＥ１１１１は、図４に示したパネル・アプリケーション４０７による印刷指示処理に対応する。これらフローチャートの処理は、図１に示した複合機１０２のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００６３】
ＳＣ１１００〜ＳＣ１１０７は、図４に示したジョブ管理サービス４０３による印刷処理に対応する。これらフローチャートの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００６４】
ＳＥ１１５０〜ＳＥ１１５２は、図４に示したパネル・アプリケーション４０７によるジョブ転送処理に対応する。これらフローチャートの処理は、図１に示した複合機１０２のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。なお、ＳＥ１１５０〜ＳＥ１１５２において動作するパネル・アプリケーション４０７とＳＥ１１００〜ＳＥ１１０７において動作するパネル・アプリケーション４０７は別プロセスでかつ非同期で動作する。
【００６５】
まず、パネル・アプリケーション４０７による印刷指示処理を説明する。ＳＥ１１００において、パネル・アプリケーション４０７の処理を開始する。ＳＥ１１０１において、パネル・アプリケーション４０７は、ジョブ管理サービス４０３へ印刷指示要求コマンドを送信する。このとき選択済みの印刷ジョブ識別子と複合機１０２のモデル名を含む印刷設定情報（図８）も送信する。そして、ＳＥ１１０２において、パネル・アプリケーション４０７は、印刷中表示画面（図９（Ｄ））を操作部３０８の表示部に表示するように制御する。本実施形態においては、図９（Ｄ）に示す中止ボタン９４１にてジョブに対する中止指示をユーザから受け付けるようにしている。しかし、ジョブの中止に対する受付手段はこれに限定するものではなく、他の手段にて受け付けるようにしても構わない。
【００６６】
ＳＥ１１０３において、パネル・アプリケーション４０７は、印刷中表示画面（図９（Ｄ））の中止ボタン９４１の押下を受け付けたかどうか判断する。押下を受け付けた場合（ＳＥ１１０３にてＹＥＳ）、ＳＥ１１０４にて、パネル・アプリケーション４０７は、印刷中表示画面（図９（Ｄ））を閉じてから印刷中止処理を実施する。詳細は図１５を用いて後述する。そして、ＳＥ１１１１へ進む。
【００６７】
一方、中止ボタン９４１の押下を受け付けていない場合（ＳＥ１１０３にてＮＯ）、ＳＥ１１０５へ進む。ＳＥ１１０５において、ジョブ管理サービス４０３が印刷実行結果（成否）を送信してきた場合、パネル・アプリケーション４０７は、その印刷実行結果（成否）を受信する。ＳＥ１１０６にて、パネル・アプリケーション４０７は、ジョブ管理サービス４０３が印刷実行結果（成否）を送信したかどうか判断する。送信したと判断すると（ＳＥ１１０６にてＹＥＳ）、パネル・アプリケーション４０７は、印刷中表示画面（図９（Ｄ））を閉じ、ＳＥ１１０７に進む。一方、送信していないと判断すると（ＳＥ１１０６にてＮＯ）、ＳＥ１１０３へ戻る。
【００６８】
ＳＥ１１０７において、パネル・アプリケーション４０７は、印刷実行に成功したかどうかを判定する。失敗した場合は（ＳＥ１１０７にてＹＥＳ）、ＳＥ１１０８へ進み、パネル・アプリケーション４０７は、エラー表示画面（図９（Ｃ））を操作部３０８の表示部に表示するように制御する。そして、ＳＥ１１１１へ進む。一方、印刷実行に成功したと判定した場合は（ＳＥ１１０７にてＮＯ）、ＳＥ１１０９へ進む。ＳＥ１１０９において、パネル・アプリケーション４０７は、図１１に示すプリント後文書消去チェックボックス９３５がチェックされていたかどうかを判定する。プリント後に削除する指示があった場合（ＳＥ１１０９にてＹＥＳ）、ＳＥ１１１０へ進み、パネル・アプリケーション４０７は、印刷ジョブを削除する。印刷ジョブの削除処理の概要は、図４の５−１から５−４までの説明で述べた。パネル・アプリケーション４０７は、印刷ジョブを削除後、ＳＥ１１１１に進む。ＳＥ１１１１で、パネル・アプリケーション４０７は、処理を終了する。
【００６９】
次にジョブ管理サービス４０３による印刷処理を説明する。ＳＣ１１００において、ジョブ管理サービス４０３の処理を開始する。ＳＣ１１０１において、ジョブ管理サービス４０３は、パネル・アプリケーション４０７のＳＥ１１０１から印刷指示コマンドを受信する。このとき、ジョブ管理サービス４０３は、印刷対象の印刷ジョブ識別子と複合機１０２のモデル名を含んだ印刷設定情報（図８）も受信する。ＳＣ１１０２において、ジョブ管理サービス４０３は、印刷実行変更のための印刷キューを作成する。詳細は図１４を用いて後述する。
【００７０】
ＳＣ１１０３において、ジョブ管理サービス４０３は、図４のジョブ管理ＤＢ４０４からＳＣ１１０１で得た印刷ジョブ識別子と一致するレコードを探索する。ＳＣ１１０４において、ジョブ管理サービス４０３は、探索して得られたレコードからＥＭＦＳＰＯＯＬのファイル名とＤＥＶＭＯＤＥ構造体を取得する。ＳＣ１１０５において、ジョブ管理サービス４０３は、ＳＣ１１０２で得た印刷キューに対し、ＳＣ１１０４で得たＥＭＦＳＰＯＯＬとＤＥＶＭＯＤＥ構造体を使って印刷処理を実行する。ジョブ管理サービス４０３は、印刷キューを構成するプリンタドライバ４０８はＰＤＬを生成し、パネル・アプリケーション４０７にＰＤＬジョブとＥｎｄジョブを送信する。このとき、ジョブ管理サービス４０３は、プリンタドライバ４０８に対し、ＰＤＬジョブとＥｎｄジョブの中にＳＣ１１０１で得た印刷ジョブ識別子を埋め込むように指示する。詳細は図１６を用いて後述する。ＳＣ１１０６において、ジョブ管理サービス４０３は、パネル・アプリケーション４０７へ印刷実行結果（成否）を返信する。ＳＣ１１０７で処理を終了する。
【００７１】
次にパネル・アプリケーション４０７によるジョブ転送処理を説明する。ＳＥ１１５０において、パネル・アプリケーション４０７の処理を開始する。ＳＥ１１５１において、パネル・アプリケーション４０７は、ジョブ管理サービス４０３からレンダリングされたＰＤＬジョブとＥｎｄジョブを受信し、受信したＰＤＬジョブを複合機１０２に転送する（ローカル・ループバック）。詳細は図１７を用いて後述する。転送処理が終わったら、ＳＥ１１５２で処理を終了する。
【００７２】
［印刷キュー作成処理］
図１４は、印刷キュー作成処理のフローチャートである。ＳＣ１２００〜ＳＣ１２０８は、図１３のＳＣ１１０２に対応する。これらフローチャートの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００７３】
ＳＣ１２００において、ジョブ管理サービス４０３の処理を開始する。ＳＣ１２０１において、ジョブ管理サービス４０３は、複合機１０２のＩＰアドレスを取得する。この複合機１０２のＩＰアドレスは、パネル・アプリケーション４０７とのデータ送受信のコネクションが確立した際に入手しておく。ＳＣ１２０２において、ジョブ管理サービス４０３は、図１の複合機１０２のモデル名をサポートしたプリンタドライバがプリントサーバ１０１上にインストールされているかどうか判定する。インストールされていない場合（Ｓ１２０２にてＮＯ）、ＳＣ１２０３へ進み、ジョブ管理サービス４０３は、図１の複合機１０２のモデル名をサポートしたプリンタドライバをプリントサーバ１０１上にインストールする。そして、ＳＣ１２０４へ進む。
【００７４】
一方、インストール済みと判定された場合は（Ｓ１２０２にてＹＥＳ）、ＳＣ１２０４へ進む。なお、この段階でインストール済みとなったプリンタドライバは、図４および図１２のプリンタドライバ４０８に相当する。ＳＣ１２０４において、ジョブ管理サービス４０３は、使用可能なプリンタポートがあるかどうか判断する。ここで、使用可能なプリンタポートとは、ＳＣ１２０１で得たＩＰアドレスに対し、Ｒａｗプロトコルでかつネットワークポート番号が９１１０番で接続可能なプリンタポートのことである。なお、Ｒａｗプロトコルのネットワークポート番号は、通常、９１００番であるが、ここでは９１００番以外の値を設定することが重要である。これは、複合機１０２において、プリントサーバ１０１からＰＤＬデータを受信するポート番号と、複合機１０２がＰＤＬデータを自身の中でローカル・ループバックさせる際のポート番号とを異ならせるためである。この流れについては、図１２を用いて述べた。
【００７５】
使用可能なプリンタポートがないと判断した場合（ＳＣ１２０４にてＮＯ）、ＳＣ１２０５へ進み、ジョブ管理サービス４０３は、使用可能なプリンタポートを用いる印刷キューを作成する。そしてＳＣ１２０６へ進む。一方、使用可能なプリンタポートがあると判断した場合（ＳＣ１２０４にてＹＥＳ）、ＳＣ１２０６へ進む。ＳＣ１２０６において、ジョブ管理サービス４０３は、インストール済みのプリンタドライバ４０８から構成され、かつ、ＳＣ１２０４〜ＳＣ１２０５で得たプリンタポートから構成される印刷キューがプリントサーバ１０１上に存在するかどうか判定する。存在しない場合（ＳＣ１２０６にてＮＯ）、ＳＣ１２０７へ進み、ジョブ管理サービス４０３は、インストール済みのプリンタドライバ４０８を使ってＳＣ１２０４〜ＳＣ１２０５で得たプリンタポートを使う印刷キューを作成する。そして、ＳＣ１２０８へ進む。一方、印刷キューが存在すると判定された場合は（ＳＣ１２０６にてＹＥＳ）、ＳＣ１２０８へ進む。ＳＣ１２０８で処理を終了する。
【００７６】
［印刷中止処理］
図１５は、図１３のＳＥ１１０４で呼び出される印刷中止処理のフローチャートである。なお、本処理フローにおいて、破線矢印は、各装置間のデータフローを意味する。
【００７７】
ＳＥ１３００〜ＳＥ１３０４は、図１２に示したパネル・アプリケーション４０７による印刷中止処理に対応する。これらフローチャートの処理は、図１に示した複合機１０２のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００７８】
ＳＥ１３５０〜ＳＥ１３５４は、図４に示した複合機１０２による印刷中止処理に対応する。これらフローチャートの処理は、図１に示した複合機１０２のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００７９】
ＳＣ１３００〜ＳＣ１３０４は、図４に示したジョブ管理サービス４０３による印刷中止処理に対応する。これらフローチャートの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００８０】
ＳＥ１３００において、パネル・アプリケーション４０７の印刷中止処理を開始する。ＳＥ１３０１において、パネル・アプリケーション４０７は、複合機１０２に印刷中止の指示を行う。このとき、パネル・アプリケーション４０７は、中止対象の印刷ジョブ識別子も複合機１０２に送信する。ＳＥ１３０２において、パネル・アプリケーション４０７は、図１２の３−４で受信した印刷ジョブを３−５にて転送する処理を中止する。この転送処理および中止処理の詳細については、図１７を用いて後述する。ＳＥ１３０３において、パネル・アプリケーション４０７は、ジョブ管理サービス４０３に印刷中止の指示を行う。このとき、パネル・アプリケーション４０７は、複合機１０２のモデル名もジョブ管理サービス４０３に送信する。ＳＥ１３０３で処理を終了する。
【００８１】
ＳＥ１３５０において、複合機１０２の印刷中止処理を開始する。ＳＥ１３５１において、複合機１０２は、パネル・アプリケーション４０７からの印刷中止命令が送信されたら、その印刷中止命令および中止対象の印刷ジョブ識別子を受信する。ＳＥ１３５２において、複合機１０２は、パネル・アプリケーション４０７から印刷中止命令を受信したかどうか判断する。受信していたら（ＳＥ１３５２にてＹＥＳ）、ＳＥ１３５３に進む。一方、受信していなかったら（ＳＥ１３５２にてＮＯ）、ＳＥ１３５１に戻る。ＳＥ１３５３において、複合機１０２は内部で指定された印刷ジョブ識別子が埋め込まれた全ての印刷処理中のジョブを中止する。ＳＥ１３５４で処理を終了する。
【００８２】
ＳＣ１３００において、ジョブ管理サービス４０３の印刷中止処理を開始する。ＳＣ１３０１において、ジョブ管理サービス４０３は、パネル・アプリケーション４０７からの印刷中止命令が送信されたら、その印刷中止および複合機１０２のモデル名を受信する。ＳＣ１３０２において、ジョブ管理サービス４０３は、パネル・アプリケーション４０７から印刷中止命令を受信したかどうか判断する。受信していたら（ＳＣ１３０２にてＹＥＳ）、ＳＣ１３０３に進む。一方、受信していなかったら（ＳＣ１３０２にてＮＯ）、ＳＣ１３０１に戻る。
【００８３】
ＳＣ１３０３において、ジョブ管理サービス４０３は、複合機１０２のモデル名から生成された印刷キューから構成されるプリンタドライバ４０８に対し、全ての印刷処理中の印刷ジョブを中止するように指示する。プリンタドライバ４０８が印刷処理中に中止する処理の詳細については、図１６を用いて後述する。ＳＣ１３０４で処理を終了する。
【００８４】
［印刷処理］
図１６は、図１２の３−４で示されたプリンタドライバ４０８がＰＤＬジョブを生成および出力する処理と、図１５のＳＣ１３０３の印刷中止指示に基づく処理を説明したフローチャートである。これらフローチャートの処理は、図１に示したプリントサーバ１０１のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００８５】
ＳＣ１４００において、プリンタドライバ４０８の印刷処理を開始する。ＳＣ１４０１において、プリンタドライバ４０８は、ジョブ管理サービス４０３から送信されてきた印刷ジョブ識別子を受信する。ＳＣ１４０２において、プリンタドライバ４０８は、ＰＤＬジョブの初期化処理を実施する。ここで、プリンタドライバ４０８は、ＳＣ１４０１で得た印刷ジョブ識別子をＰＤＬジョブに埋め込む。
【００８６】
ＳＣ１４０３において、プリンタドライバ４０８は、処理すべきページのデータがあるかどうか判断する。無い場合は（ＳＣ１４０３にてＮＯ）、ＳＣ１４１０へ進む。一方、有る場合は（ＳＣ１４０３にてＹＥＳ）、ＳＣ１４０４へ進む。ＳＣ１４０４において、プリンタドライバ４０８は、図１５のＳＣ１３０３のジョブ管理サービス４０３からの印刷中止指示を受信したかどうかを判断する。印刷中止指示を受信した場合は（ＳＣ１４０４にてＹＥＳ）、ＳＣ１４１０へ進む。一方、印刷中止指示を受信していない場合は（ＳＣ１４０４にてＮＯ）、ＳＣ１４０５へ進む。
【００８７】
ＳＣ１４０５において、プリンタドライバ４０８は、ページの印刷設定を確認する。確認する内容は、複合機１０２の機能と印刷ジョブの設定とからＰＤＬジョブを複数生成する必要があるかである。例えば、フィニッシャ（不図示）でのステイプル可能な用紙枚数が１０枚であるデバイスに２０ページの文書を印刷すると、プリンタドライバで１〜１０ページ、１１〜２０ページの２つのＰＤＬジョブを生成することがある。ここでは、印刷設定上ステイプルが有効、デバイス能力として最大１０枚ステイプル可能、現在処理中のページが１１ページ目、といった情報を確認したとする。
【００８８】
ＳＣ１４０６では、プリンタドライバ４０８は、ＳＣ１４０５で確認した情報に基づきＰＤＬジョブを分割すべきかどうか判断する。前述したＳＣ１４０５の一例ではジョブを分割すると判断することになる。ジョブを分割する場合（ＳＣ１４０６にてＹＥＳ）、ＳＣ１４０８へ進み、プリンタドライバ４０８は、分割して生成したジョブの後処理を実施する。そして、ＳＣ１４０９にて、プリンタドライバ４０８は、新規のＰＤＬジョブを生成する。ここではＳＣ１４０２と同様にＳＣ１４０１で得た印刷ジョブ識別子をＰＤＬジョブに埋め込む。そして、ＳＣ１４０７へ進む。
【００８９】
ジョブ分割が不要と判断した場合（ＳＣ１４０６にてＮＯ）、ＳＣ１４０７へ進む。ＳＣ１４０７において、プリンタドライバ４０８は、ページの描画データ（ＥＭＦ）をＰＤＬに変換し、出力する。そして、ＳＣ１４０３へ戻る。前述した通り、処理すべきページのデータが無い場合、もしくは、印刷中止命令を受信した場合、ＳＣ１４１０へ進む。
【００９０】
ＳＣ１４１０において、プリンタドライバ４０８は、ジョブの後処理を実施する。ＳＣ１４１１において、プリンタドライバ４０８は、ジョブ管理サービス４０３から印刷指示を受けたかどうか判断する。ＳＣ１４０１において、プリンタドライバ４０８は、ジョブ管理サービス４０３から印刷ジョブ識別子を受信したが、これ自体一般のアプリケーションとプリンタドライバとの間には無い特殊な処理である。そのため、本実施形態において、プリンタドライバ４０８は、ＳＣ１４０１が実施されたことにより、ジョブ管理サービス４０３から印刷指示を受けたと判断できる。
【００９１】
ジョブ管理サービス４０３から印刷指示を受けていないと判断した場合（ＳＣ１４１１にてＹＥＳ）、ＳＣ１４１３へ進む。一方、ジョブ管理サービス４０３から印刷指示を受けたと判断した場合（ＳＣ１４１１にてＮＯ）、ＳＣ１４１２に進む。ＳＣ１４１２において、プリンタドライバ４０８は、印刷ジョブの終端を意味するＥｎｄジョブを発行する。このＥｎｄジョブは、形式上、ＳＣ１４０２からＳＣ１４１０までに生成したＰＤＬジョブと同じである。プリンタドライバ４０８は、ＳＣ１４０１で得た印刷ジョブ識別子もＥｎｄジョブに埋め込む。そして、ＳＣ１４１３へ進み処理を終了する。
【００９２】
［ジョブ転送処理］
図１７は、図１２の３−５で示されたパネル・アプリケーション４０７がＰＤＬジョブを転送する処理と図１５のＳＥ１３０２の印刷中止処理を説明したフローチャートである。これらフローチャートの処理は、図１に示した複合機１０２のＣＰＵが外部メモリに格納されたプログラムをＲＡＭ上にロードして実行することにより実現される。
【００９３】
ＳＥ１５００において、パネル・アプリケーション４０７のジョブ転送サービスを開始する。ＳＥ１５０１において、パネル・アプリケーション４０７は、プリンタドライバ４０８が出力したジョブデータを受信する。ＳＥ１５０２において、パネル・アプリケーション４０７は、印刷中止指示を受け付けたかどうか判断する。つまり、図９（Ｄ）の中止ボタン９４１の押下を受け、図１５のＳＥ１３０２が実施されたか否かを判断する。なお、印刷中止指示を受け付ける際に、中止対象の印刷ジョブ識別子も併せて取得する。
【００９４】
印刷中止指示を受け付けた場合（ＳＥ１５０２にてＹＥＳ）、ＳＥ１５０３にて、パネル・アプリケーション４０７は、ＳＥ１５０１で得たジョブに埋め込まれた印刷ジョブ識別子とＳＥ１５０２で得た中止対象の印刷ジョブ識別子を比較する。比較の結果、一致すると（ＳＥ１５０３にてＹＥＳ）、ＳＥ１５０４へ進む。ＳＥ１５０４において、パネル・アプリケーション４０７は、ＳＥ１５０１で得たジョブがＥｎｄジョブかどうか判断する。Ｅｎｄジョブでない場合（ＳＥ１５０４にてＮＯ）、ＳＥ１５０９にて、パネル・アプリケーション４０７は、ＳＥ１５０１で得たジョブを破棄してＳＥ１５０１へ戻る。
【００９５】
一方、Ｅｎｄジョブである場合（ＳＥ１５０４にてＹＥＳ）、ＳＥ１５０５へ進む。ＳＥ１５０５において、パネル・アプリケーション４０７は、ＳＥ１５０２で受信した印刷ジョブ識別子に関連付けられた印刷ジョブの中止指示を解除する。そして、ＳＥ１５０９へ進み、パネル・アプリケーション４０７は、ＳＥ１５０１で得たジョブを破棄し、ＳＥ１５０１へ戻る。
【００９６】
印刷中止指示を受けていない場合（ＳＥ１５０２にてＮＯ）、もしくは印刷ジョブ識別子が一致しない場合（ＳＥ１５０３にてＮＯ）、ＳＥ１５０６へ進む。ＳＥ１５０６において、パネル・アプリケーション４０７は、ＳＥ１５０１で得たジョブがＥｎｄジョブかどうか判断する。Ｅｎｄジョブである場合（ＳＥ１５０６にてＹＥＳ）、ＳＥ１５１０へ進み、パネル・アプリケーション４０７は、ＳＥ１５０１で得たジョブを破棄してＳＥ１５０１へ戻る。一方、Ｅｎｄジョブでない場合（ＳＥ１５０６にてＮＯ）、ＳＥ１５０７へ進む。
【００９７】
ＳＥ１５０７において、パネル・アプリケーション４０７は、ＳＥ１５０１で得たジョブを複合機１０２に転送する。パネル・アプリケーション４０７は、複合機１０２上で動作している。そのため、ここでの転送とは、ＩＰアドレスがＩＰｖ４の場合、「１２７．０．０．１」という自分自身を指す特別なアドレスを使ったローカル・ループバックで、かつネットワークポート：９１００（Ｒａｗポート）を使用することを意味する。ＳＥ１５０８において、パネル・アプリケーション４０７は、印刷ジョブの履歴情報をログファイルに記録する。このタイミングでログに記録することによって、Ｅｎｄジョブの情報をログファイルに記録せずに済む。そして、ＳＥ１５０１へ戻る。
【００９８】
なお、複合機１０２の印刷部に対して転送済みのＰＤＬジョブについては、図１２の４−１に示したように印刷中止指示を送信するため、転送済みのＰＤＬジョブについても処理を中止することとなる。
【００９９】
以上、サーバ上に一時蓄積する印刷データをデバイス非依存な中間形式とするプルプリントシステムにおいて、サーバ上で複数のＰＤＬジョブを生成するかもしれないプリンタドライバが適用され、印刷処理を行った場合にも、適切に印刷中止の処理が可能となる。
【０１００】
＜第２実施形態＞
次に、本発明を実施するための第２の形態について図面を用いて説明する。第１実施形態は、クライアントＰＣ１００とプリントサーバ１０１とが別々の装置として存在していた。それに対し、第２実施形態では、プリントサーバ１０１の機能がクライアントＰＣ１００上で実現される。第１実施形態のプリントシステムにおけるプルプリントの全体の流れを図４と図１２で示したが、本実施形態では、図１８および図１９のようになる。
【０１０１】
図１８および図１９において、プリントサーバ１０１は存在せず、プリントサーバ１０１相当の機能はクライアントＰＣ１００上で実現されている。システム上、プリントサーバ１０１が不要になる。しかし、本実施形態の構成とすることにより、本構成特有の新たな問題も生じてしまう。具体的には、図１９の３−４においてプリンタドライバ４０８は複数のＰＤＬジョブとＥｎｄジョブを出力する。このＥｎｄジョブは第１実施形態の説明で述べたように、プリンタドライバ４０８は印刷中止を指示されてもＥｎｄジョブは発行する必要がある。しかしながら、本実施形態では、Ｅｎｄジョブの発行はクライアントＰＣ１００上で行われるので、印刷ジョブの管理権限を保有するクライアントＰＣ１００上のユーザによって簡単にＥｎｄジョブの停止・削除が出来てしまう。
【０１０２】
この問題を解決するために、第１実施形態にて図１４を用いて説明した印刷キュー作成処理を、図２０のように変更する。図１４のＳＣ１２００からＳＣ１２０８と図２０のＳＣ１８００からＳＣ１８０８までは同等の処理を実施する。重複する個所については、説明を省略する。
【０１０３】
図１４と図２０の差分は、図２０においてＳＣ１８０９の処理が加わっていることである。ＳＣ１８０９では、ジョブ管理サービス４０３は、ＳＣ１８０７で作成した印刷キューのアクセス権情報を変更する。アクセス権情報は、ユーザオブジェクトまたはグループオブジェクトのリストで表現される。このアクセス権情報に対し、ＳＣ１８００〜ＳＣ１８０９で実行するユーザオブジェクトのみリストに残し、それ以外のユーザオブジェクトと全てのグループオブジェクトはリストから削除する。即ち、印刷キューを作成するプログラムのアクセスを許可し、それ以外のユーザのプログラムはアクセスを拒否するようふるまうことになる。
【０１０４】
なお、本実施形態の構成において、ユーザは、表示部においてＥｎｄジョブが不可視として、参照できないようにする構成であってもよい。つまり、上記においては、アクセス権限を変更することで削除ができないような構成にしたが、その他にもＥｎｄジョブがユーザによって削除されないような構成とすることで、本実施形態の構成における問題を防止することが可能となる。
【０１０５】
本実施形態の構成においても、実施形態１の効果に加え、この印刷キューのアクセス権情報変更により、印刷ジョブの管理権限を保有するクライアントＰＣ１００上のユーザが誤ってＥｎｄジョブを停止・削除することを防ぐことが可能となる。
【０１０６】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013126754.tif 000003
【図２】
2013126754.tif 000004
【図３】
2013126754.tif 000005
【図４】
2013126754.tif 000006
【図５】
2013126754.tif 000007
【図６】
2013126754.tif 000008
【図７】
2013126754.tif 000009
【図８】
2013126754.tif 000010
【図９】
2013126754.tif 000011
【図１０】
2013126754.tif 000012
【図１１】
2013126754.tif 000013
【図１２】
2013126754.tif 000014
【図１３】
2013126754.tif 000015
【図１４】
2013126754.tif 000016
【図１５】
2013126754.tif 000017
【図１６】
2013126754.tif 000018
【図１７】
2013126754.tif 000019
【図１８】
2013126754.tif 000020
【図１９】
2013126754.tif 000021
【図２０】
2013126754.tif 000022
【図２１】
2013126754.tif 000023