(57)【要約】【課題】  特別なアプリケーションや特別な機能を有するデバイスなどを必要とせず、読み出しあるいは出力経路に対する制約を設けること無しに、情報の内容を確実に追跡可能とする情報漏洩抑止方法及びそれを実現する情報処理装置とドライブプログラムを提供する。【解決手段】  プリンタ1500で印刷すべき印刷ジョブを生成するホストコンピュータ3000で、アプリケーション201から出力される描画命令をグラフィックエンジン202を介してスプールファイル303に格納し、スプールシステム300，グラフィックエンジン202，ジョブ追跡機能処理部402により描画命令を用いて追跡用データの生成処理を実行し、スプールシステム300，グラフィックエンジン202，グラフィックス制御部203Aにより同じ描画命令を用いて印刷データの生成処理を実行する。この時に、追跡用データの生成処理と印刷データの生成処理とが連続して実行されるべく描画命令を読み出して出力する。【選択図】  図４
2006146814.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置で印刷すべき印刷ジョブを生成する情報処理装置であって、
アプリケーションから出力される描画命令を格納する格納手段と、
前記格納手段から読み出される描画命令を用いて、追跡用データの生成処理を実行する追跡用データ生成手段と、
前記格納手段から読み出される描画命令を用いて、印刷データの生成処理を実行する印刷データ生成手段と、
前記追跡用データ生成手段による追跡用データの生成処理と、前記印刷データ生成手段による印刷データの生成処理とが連続して実行されるべく制御する制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記制御手段は、連続して、前記格納手段から描画命令を読み出して、前記追跡用データ生成手段と前記印刷データ生成手段へ出力する連続出力手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記連続出力手段は、前記追跡用データ生成手段による追跡用データの生成処理と、前記印刷データ生成手段による印刷データの生成処理とが、各物理ページごとに交互に実行されるように、同一物理ページの描画命令を繰り返し読み出して出力することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記追跡用データを印刷ジョブ単位で管理可能に蓄積する追跡情報蓄積手段に対し出力する追跡データ出力手段を更に有することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記追跡データ出力手段は、前記描画命令内の各ページの印刷内容をページ単位で前記追跡情報蓄積手段に出力することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記追跡用データ生成手段による追跡用データの生成を制御する制御情報を設定する制御情報設定手段を更に有することを特徴とする請求項１乃至５のいずれかに記載の情報処理装置。
【請求項７】
前記制御情報設定手段は、プリンタドライバのユーザインタフェースを用いて制御情報を設定することを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記追跡用データ生成手段は、追跡の設定としてテキスト抽出が選択されている場合には、前記格納手段から読み出される描画命令からテキスト部分を抽出し、追跡の設定としてイメージ抽出が選択されている場合には、前記格納手段から読み出される描画命令に基づいてページ単位のビットマップデータを生成する処理を実行することを特徴とする請求項１乃至７のいずれかに記載の情報処理装置。
【請求項９】
前記追跡用データ生成手段は、カラーページとモノクロページで異なるビット数で追跡用データの生成処理を実行することを特徴とする請求項１乃至８のいずれかに記載の情報処理装置。
【請求項１０】
前記追跡用データ生成手段は、前記格納手段から読み出される描画命令をグラフィックエンジン手段に出力し処理させることで、追跡用データの生成処理を実行し、
前記印刷データ生成手段は、前記格納手段から読み出される描画命令を前記グラフィックエンジン手段に出力し処理させることで、印刷データの生成処理を実行することを特徴とする請求項１乃至９のいずれかに記載の情報処理装置。
【請求項１１】
印刷装置で印刷すべき印刷ジョブを生成する情報処理装置における情報漏洩抑止方法であって、
アプリケーションから出力される描画命令を格納する格納手段から読み出される該描画命令を用いて、追跡用データの生成処理を実行する追跡用データ生成工程と、
前記追跡用データ生成工程での追跡用データの生成処理と連続して実行され、前記格納手段から読み出される前記描画命令を用いて印刷データの生成処理を実行する印刷データ生成工程とを有することを特徴とする情報漏洩抑止方法。
【請求項１２】
前記追跡用データの生成処理と印刷データの生成処理とは、連続して前記格納手段から描画命令を読み出し出力することで、連続して実行されることを特徴とする請求項１１記載の情報漏洩抑止方法。
【請求項１３】
前記連続する読み出し出力では、前記追跡用データ生成工程での追跡用データの生成処理と、前記印刷データ生成工程での印刷データの生成処理とが、各物理ページごとに交互に実行されるように、同一物理ページの描画命令を繰り返し読み出して出力することを特徴とする請求項１２記載の情報漏洩抑止方法。
【請求項１４】
前記追跡用データを印刷ジョブ単位で管理可能に蓄積する追跡情報蓄積手段に対し出力する追跡データ出力工程を更に有することを特徴とする請求項１１乃至１３のいずれかに記載の情報漏洩抑止方法。
【請求項１５】
前記追跡データ出力工程では、前記描画命令内の各ページの印刷内容をページ単位で前記追跡情報蓄積手段に出力することを特徴とする請求項１４記載の情報漏洩抑止方法。
【請求項１６】
前記追跡用データ生成工程で追跡用データの生成を制御する制御情報を設定する制御情報設定工程を更に有することを特徴とする請求項１１乃至１５のいずれかに記載の情報漏洩抑止方法。
【請求項１７】
前記制御情報設定工程では、プリンタドライバのユーザインタフェースを用いて制御情報を設定することを特徴とする請求項１６記載の情報処理装置の情報漏洩抑止方法。
【請求項１８】
前記追跡用データ生成工程では、追跡の設定としてテキスト抽出が選択されている場合には、前記格納手段から読み出される描画命令からテキスト部分を抽出し、追跡の設定としてイメージ抽出が選択されている場合には、前記格納手段から読み出される描画命令に基づいてページ単位のビットマップデータを生成する処理を実行することを特徴とする請求項１１乃至１７のいずれかに記載の情報漏洩抑止方法。
【請求項１９】
前記追跡用データ生成工程では、カラーページとモノクロページで異なるビット数で追跡用データの生成処理を実行することを特徴とする請求項１１乃至１８のいずれかに記載の情報漏洩抑止方法。
【請求項２０】
前記追跡用データ生成工程では、前記格納手段から読み出される描画命令をグラフィックエンジン手段に出力し処理させることで、追跡用データの生成処理を実行し、
前記印刷データ生成工程では、前記格納手段から読み出される描画命令を前記グラフィックエンジン手段に出力し処理させることで、印刷データの生成処理を実行することを特徴とする請求項１１乃至１９のいずれかに記載の情報漏洩抑止方法。
【請求項２１】
請求項１１乃至１３、及び１６乃至２０のいずれかに記載の情報漏洩抑止方法を実現するドライバプログラム。
【請求項２２】
請求項２１に記載のドライバプログラムをコンピュータ読み取り可能に記憶する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報漏洩抑止方法及びそれを実現する情報処理装置とドライバプログラムに関し、特に、パーソナルコンピュータ等の情報処理装置とプリンタなどの印刷装置を有して構成されるシステムにおいて、印刷装置から印刷される内容を追跡可能とすることで情報漏洩を抑止する情報漏洩抑止方法及びそれを実現する情報処理装置とプリンタドライバプログラムに関するものである。
【背景技術】
【０００２】
近年、企業の顧客情報等の機密情報漏えい事件が頻発している。一度情報漏えい事件が公になると、情報漏えいを起した企業に対する信用を失うことに加え、損害賠償や対応に莫大な出費を強いられる事例が多発している。特に最近の情報漏えい事件は、従来の情報漏えい事件とは比べものにならないほど大規模な情報漏えい事件が発生しており、より適切な情報漏えい対策が情報を管理する側に求められている。この背景には、情報のデジタル化、ネットワーク化、モバイル化が進展したことに伴い、一度に大量の情報にアクセスすることが可能になると共に、情報の可搬性が飛躍的に向上したことなどがあり、今後もこれらの傾向は加速していくことは必至である。
【０００３】
情報漏えい対策として従来から広く用いられている手法として、機密情報またはこれを格納するストレージサーバなどにアクセス権を設定することで、機密情報にアクセスできる人を限定する方法がある。しかしながら、近年の情報漏えい事件は機密情報へのアクセスを許可された人物の意図的な内部犯行が圧倒的に多い傾向にあり、もはやアクセス権を設定することによる情報漏えい抑止効果だけでは充分な情報漏えい対策とは言えない。
【０００４】
一方、情報漏えいから守るべき情報として、大企業の顧客情報に代表されるような量的に膨大な情報のみではなく、情報量は少ないが質的に重要な情報も考慮に入れる必要がある。このような情報は、例えば印刷物として容易に持ち出すことが可能であり、印刷についても情報漏えい抑止を意識した対策が望まれている。
【０００５】
従って、特にネットワーク印刷システムについては、印刷された内容を蓄積し情報追跡を可能にする情報漏えい防止のための手段が工夫されてきた。
【０００６】
例えば、(1)印刷する文書や印刷データに印刷許可情報を設定しておき、印刷を行う場合にこの印刷許可情報を参照するもの（例えば、特許文献１参照）、
(2)ネットワークに接続されたデバイスを利用するためにユーザ認証を行う方法（例えば、特許文献２参照）、
(3)プリントサーバにより印刷データを再印刷可能な状態で保管すると共に、ジョブ名、クライアント名、ユーザ名などの情報を取得しタイムスタンプを付加したり、更には印刷データからビットマップを生成したりして印刷ログとして保管する方法（例えば、特許文献３参照）、
(4)上記に加えプリンタ側でも印刷ログを取得しておき、これをサーバに格納する方法（例えば、特許文献４参照）、
(5)また、同様にプリントサーバはクライアントから印刷データを受信すると同時に、ユーザを一意に特定できる情報も受信し、この印刷データとユーザー情報を元に印刷ログを生成し検索、閲覧、再印刷を可能とする方法（例えば、特許文献５参照）等々、様々な情報漏えい抑止の手段が提案されている。
【特許文献１】特開２００４−２５２７８４公報
【特許文献２】特開２００３−２８８３２７公報
【特許文献３】特開２００２−１４９３７１公報
【特許文献４】特開２００３−３３０６７７公報
【特許文献５】特開２００４−１１８２４３公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来例の印刷許可情報を埋め込むもの（特許文献１）、ユーザ認証を行うもの（特許文献２）などでは、特別なアプリケーションや特別なプリンタなどのネットワークデバイスを必要とするものであり、限定された用途での運用に留まざるを得ない。つまり、日常的な業務で個人情報などの機密性の高い情報を扱うオフィスなどでの運用においては、特別な印刷アプリケーションや特別なプリンタなどのネットワークデバイスを導入することにより適用できる環境が狭まってしまうという問題がある。
【０００８】
これとは対照的に、前記特許文献３〜５の方法ではこのような制限はなく、一般オフィスでの運用には大きな支障はなく、プリントサーバを介した印刷に限定すれば印刷内容情報の収集や蓄積、追跡が行えることになる。しかし、これらの特許文献３〜５の方法では印刷を行う経路がプリントサーバを介した印刷に限定されてしまう。つまり、クライアントＰＣから直接プリンタなどの印刷デバイスに印刷データを送信するような送信形態やローカルポート接続、ネットワークプロトコルによる接続等には対応できない。更には、プリントサーバを経由した印刷のため、プリントサーバは通常の印刷処理に加え印刷内容情報の収集や生成を行う必要があり、複数のクライアントＰＣからほとんど同時に同じプリンタに対して印刷要求が発行される場合に印刷パフォーマンスの低下が予想される。また、当然ではあるが、プリントサーバを設置することが必須となるため物理的にこれらを設置するスペースを確保する必要がある。
【０００９】
更に、印刷された内容を蓄積し情報追跡を可能にし、情報漏えい抑止を実現する上で、印刷内容を蓄積する際に以下の３点を満たすことが求められる。
【００１０】
第１に、確実にシステム内に保存してから印刷を行うことである。これは、信頼性の高いネットワーク印刷システムを実現する上で必要となる。
【００１１】
第２に、印刷内容を蓄積する場合であっても、利用者が印刷文書における１ページ目の印刷を早く取得できるようにすることである。 
第３に、描画内容を蓄積する上で実際の印刷物との差異をなくすことである。  これらが、追跡情報の正確性が高いネットワーク印刷システムを実現する上で必要となる。
【００１２】
尚、上記従来の問題点については、ネットワーク印刷システムを中心に述べたが、どの問題点も機密情報を何らかの媒体に読み出すあるいは媒体を介して出力する場合の情報漏えい抑止において共通の課題であり、かかる課題はネットワーク印刷システムに限らず情報漏えい抑止において共通に要請されるものである。
【００１３】
本発明は、上記従来の問題点に鑑み、特別なアプリケーションや特別な機能を有するデバイスなどを必要とせず、また読み出しあるいは出力経路に対する制約を設けること無しに、読み出しあるいは出力された情報の内容を確実に追跡可能とする情報漏洩抑止方法及びそれを実現する情報処理装置とドライバプログラムを提供する。
【００１４】
すなわち、情報漏洩抑止を行なう場合も負荷を分散させることが可能な形態、また特別な情報処理機器を必要としない形態など自由に運用形態を決めることが可能であり、更には、追跡のため蓄積すべき情報を確実にシステム内に保存してから読み出しあるいは出力を行うために、内容の蓄積を確認後に実際の処理を行うといった処理手順を実現する。
【００１５】
更には、内容を蓄積する場合であっても、利用者が文書における１ページ目を早く取得可能とする。更には、描画内容を蓄積する上で実際の出力物との描画内容に差異をなくすことを目的とする。
【００１６】
本発明をネットワーク印刷システムに適用することによって、特別な印刷アプリケーションや特別なプリンタなどのネットワークデバイスなどを必要とせず、また印刷経路に対する制約を設けること無しに、印刷された内容を蓄積し追跡可能とするネットワーク印刷システムを実現する上で、印刷時の負荷を分散させることが可能な形態、またはプリントサーバなど他の情報処理機器を必要としない形態など自由に運用形態を決めることが可能であり、更には、蓄積すべき情報を確実にシステム内に保存してから印刷を行うために、印刷される内容の蓄積を確認後、実際の印刷処理を行うといった処理手順を実現する。
【００１７】
更には、印刷内容を蓄積する場合であっても、利用者が印刷文書における1ページ目の印刷を早く取得可能とする。更には、描画内容を蓄積する上で実際の印刷物との描画内容に差異をなくすことを目的とする。
【課題を解決するための手段】
【００１８】
かかる課題を解決するために、本発明の情報処理装置は、印刷装置で印刷すべき印刷ジョブを生成する情報処理装置であって、アプリケーションから出力される描画命令を格納する格納手段と、前記格納手段から読み出される描画命令を用いて、追跡用データの生成処理を実行する追跡用データ生成手段と、前記格納手段から読み出される描画命令を用いて、印刷データの生成処理を実行する印刷データ生成手段と、前記追跡用データ生成手段による追跡用データの生成処理と、前記印刷データ生成手段による印刷データの生成処理とが連続して実行されるべく制御する制御手段とを有することを特徴とする。
【００１９】
ここで、前記制御手段は、連続して、前記格納手段から描画命令を読み出して、前記追跡用データ生成手段と前記印刷データ生成手段へ出力する連続出力手段を有する。前記連続出力手段は、前記追跡用データ生成手段による追跡用データの生成処理と、前記印刷データ生成手段による印刷データの生成処理とが、各物理ページごとに交互に実行されるように、同一物理ページの描画命令を繰り返し読み出して出力する。
【００２０】
前記追跡用データを印刷ジョブ単位で管理可能に蓄積する追跡情報蓄積手段に対し出力する追跡データ出力手段を更に有する。ここで、前記追跡データ出力手段は、前記描画命令内の各ページの印刷内容をページ単位で前記追跡情報蓄積手段に出力する。また、前記追跡用データ生成手段による追跡用データの生成を制御する制御情報を設定する制御情報設定手段を更に有する。ここで、前記制御情報設定手段は、プリンタドライバのユーザインタフェースを用いて制御情報を設定する。
【００２１】
前記追跡用データ生成手段は、追跡の設定としてテキスト抽出が選択されている場合には、前記格納手段から読み出される描画命令からテキスト部分を抽出し、追跡の設定としてイメージ抽出が選択されている場合には、前記格納手段から読み出される描画命令に基づいてページ単位のビットマップデータを生成する処理を実行する。また、前記追跡用データ生成手段は、カラーページとモノクロページで異なるビット数で追跡用データの生成処理を実行する。また、前記追跡用データ生成手段は、前記格納手段から読み出される描画命令をグラフィックエンジン手段に出力し処理させることで、追跡用データの生成処理を実行し、前記印刷データ生成手段は、前記格納手段から読み出される描画命令を前記グラフィックエンジン手段に出力し処理させることで、印刷データの生成処理を実行する。
【００２２】
又、本発明の情報漏洩抑止方法は、印刷装置で印刷すべき印刷ジョブを生成する情報処理装置における情報漏洩抑止方法であって、アプリケーションから出力される描画命令を格納する格納手段から読み出される該描画命令を用いて、追跡用データの生成処理を実行する追跡用データ生成工程と、前記追跡用データ生成工程での追跡用データの生成処理と連続して実行され、前記格納手段から読み出される前記描画命令を用いて印刷データの生成処理を実行する印刷データ生成工程とを有することを特徴とする。
【００２３】
ここで、前記追跡用データの生成処理と印刷データの生成処理とは、連続して前記格納手段から描画命令を読み出し出力することで、連続して実行される。前記連続する読み出し出力では、前記追跡用データ生成工程での追跡用データの生成処理と、前記印刷データ生成工程での印刷データの生成処理とが、各物理ページごとに交互に実行されるように、同一物理ページの描画命令を繰り返し読み出して出力する。
【００２４】
前記追跡用データを印刷ジョブ単位で管理可能に蓄積する追跡情報蓄積手段に対し出力する追跡データ出力工程を更に有する。ここで、前記追跡データ出力工程では、前記描画命令内の各ページの印刷内容をページ単位で前記追跡情報蓄積手段に出力する。また、前記追跡用データ生成工程で追跡用データの生成を制御する制御情報を設定する制御情報設定工程を更に有する。ここで、前記制御情報設定工程では、プリンタドライバのユーザインタフェースを用いて制御情報を設定する。
【００２５】
前記追跡用データ生成工程では、追跡の設定としてテキスト抽出が選択されている場合には、前記格納手段から読み出される描画命令からテキスト部分を抽出し、追跡の設定としてイメージ抽出が選択されている場合には、前記格納手段から読み出される描画命令に基づいてページ単位のビットマップデータを生成する処理を実行する。また、前記追跡用データ生成工程では、カラーページとモノクロページで異なるビット数で追跡用データの生成処理を実行する。また、前記追跡用データ生成工程では、前記格納手段から読み出される描画命令をグラフィックエンジン手段に出力し処理させることで、追跡用データの生成処理を実行し、前記印刷データ生成工程では、前記格納手段から読み出される描画命令を前記グラフィックエンジン手段に出力し処理させることで、印刷データの生成処理を実行する。
【００２６】
更に、上記情報漏洩抑止方法を実現するドライバプログラム、該ドライバプログラムをコンピュータ読み取り可能に記憶する記憶媒体を提供する。
【発明の効果】
【００２７】
本発明によると、特別なアプリケーションや特別な機能を有するデバイスなどを必要とせず、また読み出しあるいは出力経路に対する制約を設けること無しに、読み出しあるいは出力された情報の内容を確実に追跡可能とする情報漏洩抑止方法及びそれを実現する情報処理装置とドライバプログラムを提供できる。
【００２８】
すなわち、情報漏洩抑止を行なう場合も負荷を分散させることが可能な形態、また特別な情報処理機器を必要としない形態など自由に運用形態を決めることが可能であり、更には、追跡のため蓄積すべき情報を確実にシステム内に保存してから読み出しあるいは出力を行うために、内容の蓄積を確認後に実際の処理を行うといった処理手順を実現できる。
【００２９】
更には、内容を蓄積する場合であっても、利用者が文書における１ページ目を早く取得可能とする。更には、描画内容を蓄積する上で実際の出力物との描画内容に差異をなくすことができる。
【００３０】
本発明をネットワーク印刷システムに適用した場合は、特別な印刷アプリケーションや特別なプリンタなどのネットワークデバイスなどを必要とせず、また印刷経路に対する制約を設けること無しに、印刷された内容を蓄積し追跡可能とするネットワーク印刷システムを実現する上で、印刷時の負荷を分散させることが可能な形態、またはプリントサーバなど他の情報処理機器を必要としない形態など自由に運用形態を決めることが可能であり、更には、蓄積すべき情報を確実にシステム内に保存してから印刷を行うために、印刷される内容の蓄積を確認後、実際の印刷処理を行うといった処理手順を実現できる。更には、印刷内容を蓄積する場合であっても、利用者が印刷文書における１ページ目の印刷を早く取得可能とする。
【００３１】
更には、実際の印刷に用いるのと同じ描画処理系を利用することによって、描画内容を蓄積する上で実際の印刷物との描画内容に差異をなくすことを可能にする。また、同一の描画処理系を利用することによるプログラムサイズの削減といった副次的効果も得られる。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して本発明の実施形態を詳細に説明する。尚、本実施形態はネットワーク印刷システムへの本発明の適用例を示すが、先に記載の如く、本発明は、機密情報を何らかの媒体に読み出すあるいは媒体を介して出力する場合の情報漏えい抑止において共通の課題を解決するものであり、ネットワーク印刷システムに限定されない。
【００３３】
[第１の実施形態]
＜本発明が適用されるネットワーク印刷システムの構成例＞
図１は本発明の実施形態に係る印刷システムの構成例を示すブロック図である。
【００３４】
本印刷システムは、ネットワーク５０００につながったホストコンピュータ３０００（本発明の情報処理装置）、プリンタ１５００、追跡情報格納サーバ１０００、及び管理用クライアント４０００から構成される。尚、ネットワーク５０００は、有線のＬＡＮや公衆回線であても、無線の移動体通信であってもよい。
【００３５】
本発明の情報処理装置であるホストコンピュータ３０００は、ユーザから印刷要求を受け付け、印刷要求の内容に従った印刷データを生成しプリンタ１５００へ送信する。更に、ホストコンピュータ３０００はこの印刷要求に合致した追跡用データの抽出・生成を行い、追跡情報格納サーバ１０００へ送信する。プリンタ１５００は、受け取った印刷データに従い印刷処理を実行する。追跡情報蓄積サーバ１０００は、ホストコンピュータ３０００から受け取る追跡用データを自身または他の情報機器内に構築された記憶領域にデータベースとして登録し保管する。管理者用クライアント４０００は、システム管理者が必要に応じて前記データベース内に登録された追跡用データを検索、閲覧するために使用する。
【００３６】
尚、管理者用クライアント４０００は追跡情報蓄積サーバ１０００と同一の情報機器であっても良い。
【００３７】
＜本実施形態のネットワーク印刷システムのハードウエア構成例＞
図２Ａは、本実施形態のネットワーク印刷システムを構成するホストコンピュータ３０００及びプリンタ１５００のハードウエア構成例を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ,ＷＡＮ等のネットワークを介して接続され、処理が行われるシステムであっても、本発明を適用できる。
【００３８】
（ホストコンピュータ３０００）
図２Ａにおいて、ホストコンピュータ３０００は、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１に記憶された文書処理プログラム等に基づいて、以降で後述される本発明の各実施形態に係わる処理を含む、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理およびそれに基づく印刷処理の実行を制御するＣＰＵ１を備えている。このＣＰＵ１がシステムバス４に接続される各デバイスの制御を総括する。また、ＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等が記憶されている。また、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等が記憶されている。さらに、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データが記憶されている。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００３９】
キーボードコントローラ（ＫＢＣ）５は、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０による表示を制御する。７はディスクコントローラ（ＤＫＣ）を示し、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピー(登録商標)ディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース（インタフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。通信コントローラ（通信Ｃ）１０１は、通信部１０２によりネットワーク５０００を介して他の装置と通信する。プリンタ１５００は、かかる通信コントローラ（通信Ｃ）１０１によりネットワーク５０００を介して制御されてもよい。
【００４０】
なお、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
【００４１】
（ホストコンピュータ３０００の記憶構造例）
図２Ｂは、ホストコンピュータ３０００におけるＲＡＭ２、ＲＯＭ３、外部メモリ１１を含む記憶構造の一例を示す図である。図２Ｂでは、上部から下部に向かって連続したアドレス空間を形成するようなイメージで図示した。尚、図２Ｂには後述の拡張システム例である図４の例が図示されている。又、本実施形態に特徴部分に関連のある情報を図示し、特徴部分でない情報は図示していない。
【００４２】
ＯＳやＢＩＯＳなどのシステムプログラム３ａ及び固定のデータ／パラメータ３ｂがＲＯＭ３に記憶されている。この固定のデータ／パラメータ３ｂにフォントなども含まれる。
【００４３】
続くＲＡＭ２は、一時記憶のデータ領域とプログラムロード領域と含む。
【００４４】
データ領域には、本実施形態で使用するＰＤＬなどで記述された画像記述データ領域２ａ、グラフィックエンジン２０２で解析作成されスプーラ３０２によりスプールファイル３０３にスプールされる中間コードデータ領域２ｂ、デスプーラ３０５を介してグラフィックエンジン２０２により中間コードから変換されたビットマップデータ領域２ｃ、後述の図５のユーザインタフェースからジョブ追跡機能ＵＩ制御部４０１により設定されるジョブ追跡のための保存データの設定内容であるジョブ追跡設定情報領域２ｄ、ジョブ追跡設定情報に従ってジョブ追跡機能処理部４０２で作成されジョブ追跡管理部５００に渡され追跡情報格納サーバ１０００に保持されるジョブ追跡作成データ領域２ｅ、追跡情報格納サーバ１０００に保持された情報に基づいてジョブ追跡管理部５００により情報漏えい抑止のための管理結果であるジョブ追跡結果データ領域２ｆ、スプーラ３０２の処理で使用されるジョブ開始／終了や改ページなどを表わすスプーラ用フラグ領域２ｇ、スプールファイルマネージャ３０４の処理で使用されるスプーラ３０２やデスプーラ３０５からの通知などを表わすスプールファイルマネージャ用フラグ領域２ｈ、デスプーラ３０５の処理で使用されるスプールファイルマネージャ３０４からの通知や終了フラグなどを表わすデスプーラ用フラグ領域２ｉ、プリンタドライバ２０３のＵＩ制御部２０３ＢのためのＵＩ情報領域２ｊ、及び他のデータ／パラメータ領域２ｋが記憶される。
【００４５】
プログラムロード領域２ｍには、外部メモリ１１からアプリケーションやプリンタエンジン、ジョブ追跡管理のプログラムがロードされ、ＣＰＵ１により実行されて、図３及び図４の各ブロックの処理が実現する。
【００４６】
続く外部メモリ１１は、データベースやファイル保存用のデータ領域と本実施形態のアプリケーションやプリンタエンジン、ジョブ追跡管理のプログラムを記憶するプログラム領域とを含む。
【００４７】
データ領域には、スプーラ３０２によりスプールされる中間データを保持するスプールファイル領域１１ａを有する。
【００４８】
プログラム領域には、アプリケーション２０１を記憶するアプリケーション領域１１ｂ、グラフィックエンジン２０２を記憶するグラフィックエンジン領域１１ｃ、プリンタドライバ２０３を記憶するプリンタドライバ領域１１ｄ、システムスプーラ２０４を記憶するシステムスプーラ領域１１ｅ、ジョブ追跡管理部５００を実現するプログラムを記憶するジョブ追跡管理領域１１ｆを含む。
【００４９】
本実施形態の主要部であるプリンタドライバ領域１１ｄ内には、グラフィック制御部２０３Ａを実現するグラフィック制御モジュール１１ｄ１、ＵＩ制御部２０３Ｂを実現するＵＩ制御モジュール１１ｄ２、スプーラ３０２を実現するスプーラモジュール１１ｄ３、スプールファイルマネージャ３０４を実現するスプールファイルマネージャモジュール１１ｄ４、デスプーラ３０５を実現するデスプーラモジュール１１ｄ５、ジョブ追跡機能ＵＩ制御部４０１を実現するジョブ追跡機能ＵＩ制御モジュール１１ｄ６、ジョブ追跡機能処理部４０２を実現するジョブ追跡機能処理モジュール１１ｄ７が含まれる。
【００５０】
更に、本実施形態の特徴部分でない他のデータ／プログラム領域１１ｇを有している。
【００５１】
（プリンタ１５００）
図２Ａにおいて、プリンタ１５００は、そのＣＰＵ１２によって制御される。プリンタＣＰＵ１２は、ＲＯＭ１３に記憶された制御プログラム等、あるいは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に印刷出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等が記憶される。また、ＲＯＭ１３のフォント用ＲＯＭには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶される。また、ＲＯＭ１３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１４がないプリンタの場合には、コンピュータ上で利用される情報等が記憶されている。
【００５２】
ＣＰＵ１２は入力部１８を介してコンピュータとの通信処理が可能となっている。これにより、プリンタ内の情報等をコンピュータ３０００に通知できる。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するＲＡＭである。また、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００５３】
前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスを制御される。外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等である。通信コントローラ（通信Ｃ）１０３は、通信部１０４によりネットワーク５０００を介して他の装置と通信する。プリンタ１５００は、かかる通信コントローラ（通信Ｃ）１０３によりネットワーク５０００を介してホストコンピュータ３０００から制御されてもよい。
【００５４】
また、プリンタ１５００は図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００５５】
印刷部１７は本実施形態では電子写真方式のエンジンとしている。従って、印刷データはトナーのドットによって最終的に紙などの媒体上に記録される。なお、本発明における印刷の方式はこのような電子写真方式に限られないことはもちろんである。例えば、インクジェット方式など、ドットを形成して印刷を行ういずれの方式の印刷装置にも本発明を適用することができる。
【００５６】
＜ホストコンピュータにおける処理の機能ブロック例＞
ホストコンピュータ３０００における印刷処理機能および情報追跡機能の構成例について、図３および図４を用いて説明する。
【００５７】
（機能ブロックの基本構成例）
図３は、図１に示したコンピュータ３０００における印刷処理および情報追跡のための基本構成例を示すブロック図である。
【００５８】
アプリケーション２０１、オペレーションシステム（以下ＯＳ）の描画部であるグラフィックエンジン２０２（例えば、米国マイクロソフト社のWindows(登録商標) OSの場合は、GDIモジュール:Graphic Device Interfaceに相当する）、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在する。これらのファイルは、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされて実行されるプログラムモジュールである。
【００５９】
また、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、あるいは不図示のネットワークを経由して外部メモリ１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００６０】
グラフィックエンジン２０２は、プリンタなどの印刷装置ごとに用意されたプリンタドライバ２０３を外部メモリ１１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。また、グラフィックエンジン２０２は、アプリケーション２０１から受け取るＧＤＩ（Graphic Device Interface）関数をＤＤＩ（Device Driver Interface）関数に変換して、プリンタドライバ２０３へ出力する。
【００６１】
プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Page Description Language）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経て、インタフェース２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００６２】
また、本実施形態の印刷システムは、プリンタドライバ２０３内にジョブ追跡機能部４００を有する。ジョブ追跡機能部４００はプリンタドライバ２０３のビルドインモジュールであってもよいし、個別のインストーレーションによって追加されるライブラリモジュールの形式であっても構わない。また、プリンタドライバ２０３は、ジョブ追跡機能部４００の実行により、追跡用データの抽出・生成を行い、ジョブ追跡管理部５００へ送る。
【００６３】
ジョブ追跡管理部５００は追跡用データを受け取り、これを追跡情報格納サーバ１０００へ転送する。尚、ジョブ追跡管理部５００は受け取った追跡用データを必要に応じて加工したり、選別したりしてもよく、また更に、追跡用データを受け取ると同時に追跡情報格納サーバ１０００へ送信したり、一時的にハードディスク等の記憶領域内に貯め置きし、別途指定される追跡情報蓄積部１０００への送信スケジュールに従い追跡情報格納サーバ１０００へ送信したりしても良い。
【００６４】
（機能ブロックの拡張構成例）
図４は、図３のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、スプールシステム３００によって一旦中間コードからなるスプールファイル３０３を生成する構成をとる。尚、図４では、以下の動作を明瞭にするため、印刷データの転送が二重線で示され、制御情報の接続が一重線で示されている。
【００６５】
図３のシステムでは、アプリケーション２０１が印刷処理から開放されるのはプリンタドライバ２０３がグラフィックエンジン２０２からのすべての印刷命令をプリンタの制御コマンドへ変換し終った時点である。これに対して、図４のシステムでは、スプーラ３０２がすべての印刷命令を中間コードデータに変換し、スプールファイル３０３に出力した時点である。通常、後者の方が短時間で済む。また、図４で示すシステムにおいては、スプールファイル３０３の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーションの持たない機能を実現することができる。
【００６６】
これらの目的のために、図３のシステムに対し、図４のように中間コードデータでスプールするようシステムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ２０３が提供するＵＩ制御部２０３Ｂから設定を行い、その設定内容をＲＡＭ２上あるいは外部メモリ１１上に保管する。
【００６７】
以下、図４の詳細を説明する。尚、図４のプロセスＭはジョブ追跡機能のデスプーラ処理、プロセスＰはプリント処理のデスプーラ処理を示している。
【００６８】
図４に示す通りこの拡張された処理方式では、グラフィックエンジン２０２からの印刷命令であるＤＤＩ関数をディスパッチャ３０１が受け取る。ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づくものである場合には、ディスパッチャ３０１は外部メモリ１１に格納されているスプーラ３０２をＲＡＭ２にロードし、スプーラ３０２へ印刷命令（ＤＤＩ関数）を送付する。
【００６９】
スプーラ３０２は受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル３０３に出力する。また、スプーラ３０２は、ＵＩ制御部２０３Ｂに対して設定されている印刷データに関する加工設定（Ｎｕｐ、両面、ステープル、カラー／モノクロ指定等）を取得して、ジョブ単位のファイルとしてスプールファイル３０３に保存する。なお、スプールファイル３０３は外部メモリ１１上にファイルとして生成するが、ＲＡＭ２上に生成されても構わない。更に、スプーラ３０２は、外部メモリ１１に格納されているスプールファイルマネージャ３０４をＲＡＭ２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。
【００７０】
その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従って印刷を行えるかを判断する。スプールファイルマネージャ３０４がグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１に格納されているデスプーラ３０５をＲＡＭ２にロードし、デスプーラ３０５に対して、スプールファイル３０３に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
【００７１】
デスプーラ３０５はスプールファイル３０３に含まれる中間コードのページ描画ファイルを、スプールファイル３０３に含まれる加工設定情報を含むジョブ設定ファイルに従って加工する。具体的には、中間コードのページ描画命令を読み込み、ＧＤＩ関数を再生成し、もう一度グラフィックエンジン２０２経由でＧＤＩ関数を出力する。
【００７２】
まず、デスプーラ３０５は、出力したＧＤＩ関数による描画結果をジョブ追跡機能処理部に対して送信するために、ビットマップ展開するための領域（デバイスコンテキスト）をＲＡＭ２に確保し、描画を行う。生成された追跡情報はジョブ追跡機能処理部４０２によってジョブ追跡管理部５００が読み取り可能な形式に変換され、転送される。変換形式は例えばＸＭＬ形式などの互換性の高い形式であっても構わないし、独自の規約に従った形式であっても構わない。
【００７３】
次に、デスプーラ３０５は、ディスパッチャ３０１に対して、グラフィックエンジン２０２経由でＧＤＩ関数を出力する。
【００７４】
ディスパッチャ３０１は、グラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）がデスプーラ３０５からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づいたものである場合には、ディスパッチャ３０１はスプーラ３０２ではなく、描画処理部２０３Ｃに印刷命令を送る。
【００７５】
描画処理部２０３Ｃはグラフィックエンジン２０２から取得したＤＤＩ関数に基づいてページ記述言語（ＰＤＬ）等からなるプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５００に出力する。
【００７６】
プリンタドライバ２０３は、上述した各モジュール構成に加え、本発明の特徴的構成であるジョブ追跡機能部４００として、ジョブ追跡機能ＵＩ制御部４０１とジョブ追跡機能処理部４０２を備えている。このジョブ追跡機能部４００の動作については図５以降で説明する。
【００７７】
以上、ホストコンピュータ３０００における印刷処理装置および情報追跡装置の構成について説明した。
＜ジョブ追跡機能ＵＩ例の説明＞
図５Ａ及び図５Ｂは、ジョブ追跡に関する設定をおこなうユーザインタフェース（以下、ＵＩと呼ぶ）の一例を示す図である。
【００７８】
図５Ａは、ジョブ追跡機能部４００内のジョブ追跡機能ＵＩ制御部４０１により表示されるユーザインタフェースの初期画面の一例である。本実施例では、プリンタドライバＵＩのダイアログ内のプロパティシート「ジョブ追跡機能」において設定が行えるようになっている。
【００７９】
尚、この図５Ａ及び図５Ｂで示すジョブ追跡に関する設定画面をプリンタドライバ２０３とは別の専用ツール上に表示し、設定情報をプリンタドライバ２０３内のアドインＵＩ制御部４０１に伝えることで実現しても構わない。更に、このダイアログ５１０は本システムの運用目的からして、該当プリンタに対して設定変更を行うことが許可されたユーザのみに表示するのが望ましく、本ダイアログを開くためにパスワード等による認証を設けたり、実行ユーザ権限を限定したりすることが考えられる。
【００８０】
図５Ａの「ジョブ追跡を行う」チェックボックス５１１は、ジョブ追跡機能の有効、無効を指示するチェックボックスである。ユーザはこのチェックボックスを操作することで本機能のＯＮ、ＯＦＦの制御が可能になる。
【００８１】
図５Ｂのジョブ追跡機能の詳細設定を行うダイアログ５２０は、図５Ａの設定ボタン５１２を選択することで開く。このジョブ追跡設定ダイアログでは主に追跡用データの送信先の情報及びジョブ追跡機能処理部４０２で生成する追跡用データの内容を決定することになる。
【００８２】
管理クライアント名５２１にはジョブ追跡管理部５００が動作しているコンピュータ識別名称を入力し、識別名称５２２にはジョブ追跡管理部５００内の他の接続と区別するためのキーを入力し、タイムアウト値５２３にはジョブ追跡管理部５００との通信において使用するタイムアウト時間をあらかじめ設定しておく。以上の３つが追跡データを送信するための情報である。
【００８３】
尚、本ユーザインタフェースを表示しているコンピュータでジョブ追跡管理部５００が動作しているのであれば、管理クライアント名５２１には自身のコンピュータ識別名称を設定し、他のコンピュータでジョブ追跡管理部５００が動作しているのであれば、そのジョブ追跡管理部５００が動作しているコンピュータ識別名称を入力することになる。
【００８４】
「テキスト抽出をする」チェックボックス５２４は、追跡用データにテキスト文字列情報を含めるかどうかを指示するチェックボックスである。このチェックボックスをＯＮにすることで、プリンタドライバ２０３はテキスト文字列情報を追跡用データとして抽出する。テキスト文字列情報を追跡データに付加しておくことで追跡情報蓄積サーバ１０００に格納された後のテキスト検索を容易に実現することが可能となる。
【００８５】
「イメージを抽出する」チェックボックス５２５は、追跡用データにページビットマップ情報を含めるかどうかを指示するチェックボックスである。このチェックボックスをＯＮにすることで、プリンタドライバ２０３はグラフィックエンジン２０２を用いて印刷データとは別にページビットマップを生成する。ページビットマップを追跡用データ付加しておくことで追跡情報蓄積サーバ１０００に格納された後の画像閲覧が可能となる。
【００８６】
更に、ビット数カラー５２６は、印刷するページがカラーページとして印刷される場合に、そのページの追跡用ビットマップをカラービットマップデータとして保持する場合に、１画素あたりのビット数を設定するための項目である。図５Ｂの例では、１画素はＲＧＢの２４ビット（各２５６階調で１６７７万色）として作成されることを示している。
【００８７】
ビット数白黒５２７は、印刷するページがモノクロページとして印刷される場合に、そのページの追跡用ビットマップをモノクロビットマップデータとして保持する場合に、１画素あたりのビット数を設定するための項目である。図５Ｂの例では、１画素は８ビット（２５６階調）として作成されることを示している。
【００８８】
解像度５２８は、追跡用ビットマップの解像度を設定するための項目である。図５Ｂの例では、９６ＤＰＩとして作成されることを示している。圧縮方法５２９は、追跡用ビットマップを圧縮方法を選択するための項目であり、図５Ｂの例では、ランレングス圧縮方法を使用することを示している。
【００８９】
エンコード方法５３０は、ホストコンピュータ３００から追跡用データ（テキストやビットマップを圧縮したもの）を追跡情報格納サーバ１０００に送信するためのエンコード方式を設定するための項目であり、図５Ｂの例では、「Base64」を用いることを示している。
【００９０】
このような設定項目を有するユーザインタフェースを用いて、生成する追跡用データのページイメージの属性や形式を詳細に指定できるようになっている。
【００９１】
尚、上記ジョブ追跡機能ＵＩは一例であって、これに限定されない。ここで設定された情報は図２Ｂのジョブ追跡設定情報領域２ｄに記憶されて、ジョブ追跡機能部４００での追跡用データの作成に参照される
＜本実施形態のジョブ追跡処理の動作例＞
以下、上記本実施形態のネットワーク印刷システムにおけるジョブ追跡処理の動作例を説明する。
【００９２】
（ジョブ追跡印刷処理例）
図６は、図４で説明したジョブ追跡印刷の全体処理の流れについて説明したフローチャートである。
【００９３】
アプリケーションから印刷処理が開始された後、ステップＳ６１０でプリンタドライバ２０３内のスプールシステム３００は、グラフィックエンジン２０２からの描画命令（本実施形態では、ＤＤＩ関数）をディスパッチャ３０１によってスプーラ３０２へ送信し、スプールファイル３０３としてページ単位に蓄積する。本実施例においてスプールファイル３０３に蓄積されるデータ形式は、描画命令から変換される中間コードデータ形式であるが、描画命令をそのまま格納してもよい。よって、スプールファイル３０３に蓄積されているデータは、描画命令と表記する。その後ステップＳ６１１で、スプールファイル３０３から描画命令を読み込む。
【００９４】
ステップＳ６１２では、スプールシステム内のデスプーラ３０５は、ジョブ追跡機能ＵＩ制御部４０１から図５Ａ及び図５Ｂで説明したようにジョブの追跡を行う設定がなされている場合には、スプールファイルマネージャ３０４からの指令に基づきジョブ追跡用情報を収集し、グラフィックエンジン２０２に対する設定情報の生成を行い、グラフィックエンジン２０２に対して、生成した設定情報を設定し、スプールファイル３０３から読み出した描画命令を出力する。グラフィックエンジン２０２は、設定情報に基づいて、ジョブ追跡機能部４００内のジョブ追跡機能処理部４０２を経由してジョブ追跡管理部５００へと転送を行う（これがプロセスＭに相当する）。
【００９５】
より詳しくは、例えば、ジョブ追跡を行うことが設定されている場合に、デスプーラ３０５は、描画命令が印刷開始命令であればジョブに関する属性情報や印刷が行われている環境情報などを追跡用データとし、ページ開始命令であればそのページに関する属性情報等を追跡用データとする。更にジョブ追跡機能ＵＩ制御部４０１に対してテキスト情報の抽出が指示されているのであれば、デスプーラ３０５は、テキスト描画コマンドから文字列情報など抽出し追跡用データとし、同じくイメージ抽出が指示されているのであれば、デスプーラ３０５は、各描画命令を確保してあるメモリ領域等にビットマップイメージとして描く指示等、描画命令及びジョブ追跡機能部４００に指示された各種設定に依存した処理を実行することで、追跡用データの収集・生成を行い、これをジョブ追跡管理部５００へと転送する。
【００９６】
ここで、追跡用データの生成処理ではなく、プリンタへ出力する印刷ジョブの生成処理では、デスプーラ３０５は、スプール時にプリンタドライバＵＩ（ＵＩ制御部２０３Ｂ）からの印刷設定に基づいて作成したDEVMODE（印刷設定構造体）からCreateDC()したものを用いてグラフィックエンジン２０２へ出力する。一方、イメージ抽出が指示されている場合、つまり、追跡用データのうち追跡用ビットマップの生成処理の場合には、デスプーラ３０５は、ジョブ追跡機能ＵＩ制御部４０１を介して図５Ｂで設定された情報から、グラフィックエンジン２０２に対して設定する設定情報を生成する。
【００９７】
具体的な手順としては、デスプーラ３０５は、CreateCompatibleDC()を生成し、グラフィックエンジン２０２に対して、ビット数カラー５２６、ビット数白黒５２７、解像度５２８で設定されている値に基づいて描画命令からビットマップの作成をCreateDIBSection()を発行することで依頼し、生成されたビットマップをSelectObject()でCreateCompatibleDC()に対応付ける。そして、グラフィックエンジン２０２が生成したビットマップを、ジョブ追跡機能処理部４０２が受け取るために、デスプーラ３０５は、グラフィックエンジン２０２が生成したビットマップのポインタをジョブ追跡機能処理部４０２に通知する。
【００９８】
なお、一般に、CreateDC()は、グラフィックエンジン２０２が描画した描画命令を出力先のプリンタオブジェクト（プリンタドライバ）へ出力するために用いられ、CreateCompatibleDC()は、確保したメモリ上へビットマップデータを書き込むために用いられる関数である。
【００９９】
続くステップＳ６１３では、１物理ページ分のジョブ追跡情報生成、転送処理が終了したかを判定し、終了していなければステップＳ６１１に戻る。
【０１００】
一方、ステップＳ６１３で１物理ページ分の描画処理が終了していれば、ステップＳ６１４へ進んで、デスプーラ３０５は、スプールファイル３０３から追跡用データを生成したページの描画命令を再度読み込む。そして続くステップＳ６１５において、デスプーラ３０５がスプールファイルマネージャ３０４の指示により印刷データ用の生成（ＧＤＩ関数への変換）を行い、グラフィックエンジン２０２へ出力し、グラフィックエンジン２０２で変換された描画命令（印刷用のＤＤＩ関数）をディスパッチャ３０１が受け取り、描画処理部２０３Ｃでページ記述言語の印刷データを生成してシステムスプーラ２０４へ書き出され、プリンタ１５００への転送が行われる（これがプロセスＰに相当する）。
【０１０１】
ステップＳ６１６では、１物理ページ分の印刷処理が終了したかを判定し、終了していなければステップＳ６１１に戻り、終了していればステップＳ６１７へ進む。
【０１０２】
そして、ステップＳ６１７において、印刷ジョブが終了していれば処理を終え、終了していなければステップＳ６１１へ戻り当該ジョブに対する処理を続行する。
【０１０３】
なお、図６のフローチャートでは、追跡用データの１ページを生成後、印刷データの１ページの生成処理を行っているが、本発明はこの順番に限るものではなく、印刷データの１ページの生成後、追跡用データの１ページの生成処理を行うよう構成してもよい。前者の手順だと、必ず追跡用データの生成が終わったものから印刷することで追跡が保証され、また、後者の手順だと、１ページ目の印刷処理の開始が早くなるという効果が得られる。いずれの場合でも、各ページ内で、追跡用データの生成と印刷データの生成とが交互に生成処理されることが望ましい。
【０１０４】
（スプールシステム３００の処理例）
次に、図６で説明したジョブ追跡印刷処理におけるスプールシステム３００の処理について、図７から図１０を用いて説明する。
【０１０５】
先に示したとおり、デスプーラ３０５はジョブ追跡機能部４００およびディスパッチャ３０１の２つの出力先にデータを出力する。本実施形態では図７に示したとおり、デスプーラ３０５に対する２つのプロセスＭとＰを生成し、スプールファイルマネージャ３０４がこれら２つのデスプーラプロセスＭとＰを制御する形式をとっている。ここで、第１のプロセスＭはジョブ追跡機能部に対する出力に利用され、第２のプロセスＰはプリンタ１５００への印刷に利用される。両デスプールプロセスＭとＰの生成は、スプールファイルマネージャ３０４によって行われる。
【０１０６】
以降、図８から図１０において、スプールファイルシステム３００内の処理について詳細に説明する。尚、各処理間の関連をそれぞれのステップで示したが、本実施形態の特徴としてデスプーラ３０５の２つのプロセスＭとＰは同様なので、図１０に共通のフローチャートを示し、プロセスＭのステップは最後にＭを／プロセスＰのステップは最後にＰを添えて示した。
【０１０７】
（スプーラ３０２の処理例）
図８は、スプーラ３０２における、スプールファイル３０３の生成におけるページ単位保存ステップの処理をフローチャートで示したものである。
【０１０８】
まずステップＳ８０１では、スプーラ３０２は、アプリケーションからグラフィックエンジン２０２を介して印刷要求を受け付ける。アプリケーションにおいては、プリンタドライバ２０３内のＵＩ制御部２０３Ｂによって各種印刷設定項目が設定可能となる。印刷設定の一例としては、１物理ページに複数の論理ページを配置するといった、スプールシステム３００を利用して実現するような項目等を含んでいる。
【０１０９】
ステップＳ８０２では、スプーラ３０２は、受け付けた印刷要求がジョブ開始要求か判定し、もしステップ８０２でジョブ開始要求であると判断した場合には、ステップＳ８０３に進み、スプーラ３０２は、中間データを一時的に保存するためのスプールファイル３０３を作成する。続いて、ステップＳ８０４では、スプーラ３０２は、スプールファイルマネージャ３０４へ印刷処理の進捗を通知し、続くステップＳ８０５でスプーラ３０２のページ数カウンタを１に初期化する。ここで、スプールファイルマネージャ３０４においては、印刷が開始されたジョブに対するジョブの情報や加工設定などをスプールファイル３０３より読み込み、記憶する。
【０１１０】
ステップＳ８０２においてジョブ開始要求ではなかったと判断した場合には、ステップＳ８０６に進む。ステップＳ８０６では、スプーラ３０２は、受け付けた要求がジョブ終了要求かどうかの判別を行う。ジョブ終了要求でないと判断した場合には、ステップＳ８０７に進み、改ページかどうかの判別を行う。もしもステップＳ８０７で改ページであると判断した場合には、ステップＳ８０８に進み、スプールファイルマネージャ３０４へ印刷処理の進捗を通知する。そしてページ数カウンタをインクリメントして、中間コードを格納しているページ描画ファイルを閉じ、次のページ描画ファイルを生成する。
【０１１１】
ステップＳ８０７において、受け付けた印刷要求が改ページではないと判断した場合には、ステップＳ８０９に進み、スプーラ３０２は、ページ描画ファイルへの中間コードの書き出しの準備を行う。次に、ステップＳ８１０では、印字要求をスプールファイル３０３へ格納するため、スプーラ３０２は、印字要求のＤＤＩ関数の中間コードへの変換処理を行う。ステップＳ８１１では、スプーラ３０２は、ステップＳ８１０において格納可能な形に変換された印刷要求（中間コード）をスプールファイル３０３へ書き込む。
【０１１２】
その後、ステップ５０１に戻り、再びアプリケーションからの印刷要求を受け付ける。この一連のステップＳ８０１からステップＳ８１１までの処理を、アプリケーションよりジョブ終了要求を受け取るまで続ける。また、スプーラ３０２は、同時にプリンタドライバ２０３から加工設定等の情報を取得し、スプールファイル３０３に格納する。
【０１１３】
ステップＳ８０６にて、アプリケーションからの印刷要求がジョブ終了であると判断した場合には、アプリケーションからの印刷要求は全て終了であるので、ステップＳ８１２に進み、スプールファイルをクローズするとともにスプールファイルマネージャ３０４へ印刷処理の進捗を通知し、処理を終える。
【０１１４】
（スプールファイルマネージャ３０４の処理例）
図９は、スプールファイルマネージャ３０４における、スプールファイル３０３生成プロセスと以降説明するジョブ追跡情報生成プロセスおよび印刷データ生成プロセスの間での制御の詳細をフローチャートで示したものである。ここで、上記のようにデスプーラ３０５からの通知で、プロセスＭからのものはステップの最後にＭを付けて、プロセスＰからのものはステップの最後にＰを付けて示している。
【０１１５】
ステップＳ９０１では、スプールファイルマネージャ３０４は、スプーラ３０２からの進捗通知、あるいはデスプーラ３０５からの印刷処理またはジョブ追跡生成処理に関する進捗通知を受け付ける。
【０１１６】
ステップＳ９０２では、スプールファイルマネージャ３０４は、もし進捗通知が前述のステップＳ８０４において通知されるスプーラ３０２からの印刷開始通知であるかどうか判定し、もしそうであればステップＳ９０３へ進み、印刷の加工設定をスプールファイル３０３から読み込み、ジョブの管理を開始する。
【０１１７】
一方、ステップＳ９０２において、スプーラ３０２からの印刷開始通知でなければステップＳ９０４へ進み、スプールファイルマネージャ３０４は、進捗通知が前述のステップＳ８０８において通知されるスプーラ３０２からの１論理ページの印刷終了通知、すなわち論理ページの改ページ処理であるかどうか判定する。ここで１論理ページの印刷終了通知であればステップＳ９０５へ進み、この論理ページに対する論理ページ情報を格納し、ステップＳ９０６へ進む。
【０１１８】
ステップＳ９０６では、この時点でスプールが終了したｎ論理ページに対して、１物理ページの描画処理が開始できるかを判定する。ここで、描画処理可能である場合はステップＳ９０７へ進み、印刷する１物理ページに対して割り付けられる論理ページ数から物理ページ番号を決定する。物理ページの計算については、例えば、加工設定が１物理ページに４論理ページを配置するような設定の場合、第１物理ページは第４論理ページがスプールされた時点で印刷可能となり、第１物理ページとなる。続いて、第２物理ページは第８論理ページがスプールされた時点で印刷可能となる。また、論理ページ数の総数が１物理ページに配置する論理ページ数の倍数でなくても、ステップＳ８１２におけるスプール終了通知によって１物理ページに配置する論理ページが決定可能である。一方、ステップＳ９０６で描画処理が不可能である場合はステップＳ９０１に戻り、次の通知を待つ。
【０１１９】
ステップＳ９０８では、描画処理可能となった物理ページを構成する論理ページ番号と、その物理ページ番号などの情報がスプールファイル３０３に格納される。そして、続くステップＳ９０９では、格納された物理ページ情報とともにジョブ追跡用に生成されたデスプーラのプロセスに対して描画要求通知を行う。なお、第一物理ページに対する描画処理要求を行う時点では、デスプーラ３０５のプロセス生成がなされていないので、ジョブ追跡用プロセス、印刷用プロセスをこのステップで生成したあと、要求の通知が行われることとなる。
【０１２０】
その後ステップＳ９０１に戻り、次の通知を待つ。本実施形態においては、印刷データ１ページ、即ち１物理ページを構成する論理ページがスプールされた時点で印刷ジョブのスプールが全て終了していなくても印刷処理が可能である。
【０１２１】
本実施形態におけるデスプーラ３０５は印刷処理を行う単位として１物理ページ数を想定している。また、先述のステップＳ９０８では、１物理ページの印刷処理を行うのに必要な情報をファイルに逐次保存し、再利用可能な形式にしているが、再利用不要な場合には、共有メモリ等高速な媒体を使用し、１物理ページ単位で次々と上書きする実装にして、速度とリソースを節約するような実装形式であってもよい。また、デスプールの進捗よりもスプールの進捗の方が早い場合や、全ページのスプール終了後からデスプールが開始されるような場合には、ステップＳ９０９で１物理ページ毎にページ印刷可能を通知せずに、デスプール側の進捗に応じて、複数物理ページもしくは全物理ページが印刷可能になったという通知内容にして、通知回数を節約することが可能である。
【０１２２】
ステップＳ９０４で１論理ページの印刷終了通知と判定されなかった場合、ステップＳ９１０へ進む。ステップＳ９１０では、スプールファイルマネージャ３０４は、前述のステップＳ８１２において通知されるスプーラ３０２からのジョブ終了通知であるかどうかを判定する。ここで、ジョブ終了通知である場合、前述のステップＳ９０６へ進む。一方、ジョブ終了通知でない場合、ステップＳ９１１へ進む。
【０１２３】
ステップＳ９１１では、スプールファイルマネージャ３０４は、受け付けた通知がデスプーラ３０５における印刷用プロセスからの１物理ページの印刷終了通知であるかどうか判定する。ここで、１物理ページの印刷終了通知である場合はステップＳ９１２へ進む。そうでなければステップＳ９１５へ進む。
【０１２４】
ステップＳ９１２では、デスプーラ３０５における印刷用プロセスから１物理ページの印刷終了通知を受けたので、次に加工設定の印刷が全て終了したかを判定する。印刷終了したと判断された場合、ステップＳ９１３へ進み、デスプーラ３０５におけるジョブ追跡用プロセスに対して追跡情報生成処理に対する終了通知を行う。続いてステップＳ９１４へ進み、デスプーラ３０５における印刷用プロセスに対して印刷終了の通知を行う。一方、加工設定に対する印刷がまだ終了していないと判断した場合、前述のステップＳ９０６へ進む。
【０１２５】
ステップＳ９１１で１物理ページの印刷終了通知でなければ、ステップＳ９１５へ進む。ステップＳ９１５では、スプールファイルマネージャ３０４は、受け付けた通知がデスプーラ３０５におけるジョブ追跡用プロセスからの１物理ページの描画処理終了通知であるかどうかを判定する。ここで、１物理ページの描画処理終了通知である場合は対応する物理ページに対する印刷処理を行ってよいので、ステップＳ９１６へ進み、デスプーラ３０５における印刷用プロセスに対して対応する物理ページの印刷要求を行う。このように、ジョブ追跡に利用する描画処理が完了してから実際の印刷プロセスを実行することにより、ジョブ追跡システムの信頼性を高めることが可能となっている。
【０１２６】
一方、ステップＳ９１５において、１物理ページの描画処理終了通知でない場合は、ステップＳ９１７へ進む。ステップＳ９１７では、スプールファイルマネージャ３０４は、受け付けた通知がデスプーラ３０５からの印刷終了通知かどうかを判定する。ここで、通知がデスプーラ３０５からの印刷終了通知と判定された場合、ステップＳ９１８へ進み、スプールファイルマネージャ３０４は、スプールファイル３０３の該当するページ描画ファイルの削除を行い処理を終える。
【０１２７】
一方、デスプーラ３０５からの印刷終了通知でなかった場合はステップＳ９１９へ進み、その他通常処理またはエラー処理などを行い、次の通知を待つ。
【０１２８】
（デスプーラ３０５の処理例）
図１０は、デスプーラ３０５における、描画データの生成プロセスの詳細をフローチャートで示したものである。デスプーラ３０５は、スプールファイルマネージャ３０４からの印刷要求に応じて、スプールファイル３０３から必要な情報を読み出して描画データを生成する。生成された描画データにおけるプリンタへの転送方法については図４および図６で説明した通りである。
【０１２９】
また、図７および図９で説明したとおり、デスプーラ３０５はジョブ追跡情報出力用および印刷データ出力用の２つの目的で利用されるが、描画方法については出力先が異なることと、追跡用データ（イメージ抽出時）と印刷データとでグラフィックエンジン２０２が生成するデータのサイズ、圧縮方法などが異なっている。しかし、印刷される描画内容と追跡用データで保持されている描画内容は、なんら違いはない。このことにより、追跡データが実際の印刷と同じ処理系で行われることによる追跡データの信頼性向上が実現可能となる。以降、プロセスＭとＰに共通のデスプーラ３０５の処理の流れを説明する。
【０１３０】
まず、ステップＳ１００１において、前述のスプールファイルマネージャ３０４からの通知を入力する。続くステップＳ１００２では、デスプーラ３０５は、入力された通知がジョブの終了通知かどうか判定し、ジョブ終了通知であるならばステップＳ１００３へ進み、終了フラグを立て、ステップＳ１００５へ進む。
【０１３１】
一方、ステップＳ１００２においてジョブ終了通知でない場合は、ステップＳ１００４に進み、前述のステップＳ９０９あるいはステップＳ９１６における１物理ページの描画開始要求が通知されたかどうか判定する。ステップＳ１００４において１物理ページの描画開始要求と判定されなかった場合は、ステップＳ１０１０へ進み、その他エラー処理を行い、ステップＳ１００１へ戻り次の通知を待つ。
【０１３２】
一方、ステップＳ１００４において１物理ページの印刷開始要求と判定された場合はステップＳ１００５へ進み、デスプーラ３０５は、ステップＳ１００５で通知を受けた印刷処理可能な物理ページ情報を例えばＲＡＭ２などに保存しておく。続くステップＳ１００６では、デスプーラ３０５は、ステップＳ１００５で保存された物理ページのすべてに関して印刷処理が済んでいるかどうか判定する。ここで全物理ページの印刷処理が済んでいる場合は、ステップＳ１００７へ進み、前述のステップＳ１００３で終了フラグが立てられているのか判定する。終了フラグがたっている場合は、ジョブの印刷が終了したとみなし、デスプーラ３０５の処理終了の通知をスプールファイルマネージャ３０４に通知し、処理を終える。ステップＳ１００７で終了フラグが立っていないと判定された場合は、ステップＳ１００１へ戻り次の通知を待つ。
【０１３３】
一方、ステップＳ１００６で、印刷可能な物理ページが残っていると判定された場合には、ステップＳ１００８へ進み、デスプーラ３０５は、保存された物理ページ情報から未処理の物理ページ情報を順に読み出し、描画データ生成に必要な情報を読み込み、処理を行う。
【０１３４】
図４において説明したとおり、デスプーラ３０５における描画処理は、スプールファイル３０３に格納された描画要求命令をグラフィックエンジン２０２が認識可能な形式（ＧＤＩ関数）に変換し、転送する。例えば、複数論理ページを１物理ページにレイアウトするような加工設定については、このステップで縮小配置を考慮にいれながら変換する。また、具体的には、図１０の処理の場合も、図６の処理で説明したように、デスプーラ３０５は、グラフィックエンジン２０２に対して、処理目的により異なる設定情報（CreateDC()：印刷処理時、CreateCompatibleDC()：追跡用データ生成時）をＡＰＩで設定している。
【０１３５】
必要な印刷処理が終えたならば、続くステップＳ１００９において１物理ページの印刷データ生成終了の通知をスプールファイルマネージャ３０４に対して行う。そして、再びステップＳ１００６へ戻り、ステップＳ１００５に保存されている描画処理開始可能な物理ページについての描画処理を順次繰り返す。
【０１３６】
＜デスプーラ３０５とジョブ追跡機能処理部４０２との通信例＞
図１１は、デスプーラ３０５とジョブ追跡機能処理部４０２との通信について説明した図である。尚、デスプーラ３０５の制御はスプールファイルマネージャ３０４が行なっており、要求通知の発行はスプールファイルマネージャ３０４に指示され、要求応答はスプールファイルマネージャ３０４に伝達される。
【０１３７】
デスプーラ３０５からは、図１０において説明した描画要求に対応した要求がジョブ追跡機能処理部４０２に送付される。デスプーラ３０５は、ジョブ追跡機能処理部４０２から、各要求に対する処理が正常に終了したことを通知された上で、スプールファイルマネージャ３０４に進捗の通知を行うこととなる。
【０１３８】
図中の(1)については、図９におけるステップＳ９０９において、第一物理ページに対する描画処理開始時にプロセス生成される、(2)ないし(4)については、物理ページ数分繰り返される処理で、ステップＳ９０９およびステップＳ９１５の通知処理が該当する。そして、(5)については、ステップＳ９１３において実施される処理に該当する。
【０１３９】
（ジョブ追跡機能処理部４０２の処理例）
図１２は、ジョブ追跡機能処理部４０２の処理例の概略を示すフローチャートである。
【０１４０】
ステップＳ１２０１で、図１１の(1)に示したように、デスプーラ３０５を介したスプールファイルマネージャ３０４からの印刷ジョブ開始要求を待ち、印刷ジョブ開始要求があるとステップＳ１２０２で、図５Ｂの設定画面から設定され図２Ｂのジョブ追跡設定情報２ｄに記憶されたジョブ追跡の設定情報を読み出す。
【０１４１】
ステップＳ１２０３では、図１１の(2)で示したページ印刷開始要求を待って、ページ印刷開始要求があるとステップＳ１２０４に進んで、各ページのページ描画処理要求を待つ。ベージ描画処理要求があるとステップＳ１２０５に進んで、デスプーラ３０５によりスプールファイル３０３から読み出されてグラフィックエンジン２０２に送られた中間コードデータから、グラフィックエンジン２０２によりプリンタ１５００に送られるデータと同様に展開されたビットマップデータを含むページ描画情報を取得する。次に、ステップＳ１２０６では、ステップＳ１２０２で読み出したジョブ追跡設定情報に従ってページ描画情報から追跡管理のための情報を作成する。ステップＳ１２０７では、図１１の(5)で示した印刷終了要求をデスプーラ３０５から受信したか否かを判断し、受信が無ければステップＳ１２０４に戻って、次のページについてのジョブ追跡情報を作成する。
【０１４２】
印刷終了要求を受信すると、ステップＳ１２０８に進んで作成されたジョブ追跡情報（図２Ｂではジョブ追跡作成データ）をジョブ追跡管理部５００に渡す。ジョブ追跡情報を渡されたジョブ追跡管理部５００の処理は、図１３により次に説明する。
【０１４３】
尚、図１２に図示のフローによって、１つのプリントジョブのジョブ追跡情報が作成されジョブ追跡管理部５００に渡されるが、実際の動作では連続して複数のプリントジョブが実行される場合もあり、その場合には、図１２に図示のフローを繰り返して、プリントジョブ単位にジョブ追跡管理部５００に渡されてもよいし、一連の複数のプリントジョブが終了した後にジョブ追跡管理部５００に渡されてもよい。その場合には、ステップＳ１２０７とＳ１２０８との間に、一連の複数のプリントジョブの終了通知を待つことになる。
【０１４４】
（ジョブ追跡管理部５００の処理例）
図１３は、ジョブ追跡管理部５００の処理例の概略を示すフローチャートである。尚、ジョブ追跡の管理処理については、既存の処理が適用可能であり詳説はしない。
【０１４５】
まず、ステップＳ１３０１とＳ１３０４において、ジョブ追跡機能処理部４０２からのジョブ追跡情報の格納要求か、蓄積されたジョブ追跡情報に基づくジョブ追跡の管理処理（検索、照合など）の要求かを判断する。
【０１４６】
ジョブ追跡情報の送信の場合は、ステップＳ１３０２に進んでジョブ追跡機能処理部４０２からジョブ追跡情報を受信し、ステップＳ１３０３で追跡情報格納サーバ１０００のジョブ単位に追跡可能に格納する。一方、ジョブ追跡の管理処理の要求であれば、ステップＳ１３０５進んで図５Ｂで設定された管理クライアント名や識別名に従ってジョブ単位に追跡情報格納サーバ１０００のジョブ追跡情報を参照し、ステップＳ１３０６でジョブ追跡の結果を出力する。
【０１４７】
尚、ジョブ追跡の管理処理は、ジョブ追跡管理部５００がホストコンピュータ３０００に有る場合は、アプリケーション２０１を介し、あるいはＵＩから直接ジョブ追跡管理部５００に指示されてもよいし、プリンタドライバ２０３のＵＩ制御部２０３Ｂやジョブ追跡機能ＵＩブ４０１を介して指示されてもよい。又、ホストコンピュータ３０００とは別に管理クライアント４０００となる追跡管理コンピュータが有る場合は、ネットワークを介しで指示されることになる。
【０１４８】
[第２の実施形態]
前述の実施形態では、図７に示したとおり、デスプーラ３０５に対する２つのプロセスＭとＰを生成し、スプールファイルマネージャ３０４がこれら２つのデスプーラプロセスＭとＰを制御する形式をとっていたが、デスプーラ３０５内で２つのプロセスＭとＰを制御する形式をとってもよい。この場合も、図９および図１０の処理の流れを若干変更することで実現可能であるので、図１２および図１３を用いて変更点を説明する。
【０１４９】
図１４および図１５は、それぞれスプールファイルマネージャ３０４における図９からの変更部分を反映した図、デスプーラ３０５における図１０からの変更部分を反映した図である。
【０１５０】
まず、図１４では、図９におけるステップＳ９１５およびステップＳ９１６の処理がデスプーラ３０５側に移動している。同処理は、図１０におけるステップＳ１００８に移動し、図１５のおけるステップＳ１５０８−１ およびステップＳ１５０８−２として行われることとなる。
【０１５１】
次に、図９におけるステップＳ９０９は、特にジョブ追跡用デスプールプロセスを意識せず、単にデスプーラ３０５への要求（ステップＳ１４０９）に変わる。また、ステップＳ９１３とステップＳ９１４についても、個別に通知を行う必要がなくなり、単にデスプーラ３０５への通知（ステップＳ１４１３）となる。
【０１５２】
また、本実施形態では、図６におけるステップＳ６１５では、デスプーラ３０５がスプールファイルマネージャ３０４の指示ではなく、自身の処理において印刷データの生成、転送を行うことになる。
【０１５３】
[種々のシステム構成の実施形態例]
図１６Ａ乃至図１６Ｅは、本発明の様々なシステムでの運用形態を説明するための図である。
【０１５４】
図１６Ａは、本発明の最もシンプルな運用例を示す図である。ホストコンピュータ３０００内にジョブ追跡管理部５００を配し、印刷データはプリンタドライバ２０３からプリンタ１５００へ直接転送され、追跡用データはジョブ追跡機能部４００からホストコンピュータ３０００内のジョブ追跡機能管理部５００を介して追跡情報管理サーバ１０００へと送られる。本構成は本発明を実施するための最小構成であり、第一の実施形態では本構成を用いた形態についての説明を行った。
【０１５５】
図１６Ｂは、図１６Ａに対し、ジョブ追跡管理部５００をホストコンピュータ３０００とは別の追跡管理コンピュータ６０００に配したものでる。印刷データは図１６Ａと同じく、プリンタドライバ２０３から直接プリンタ１５００へ転送され、追跡用データはジョブ追跡機能部４００から追跡管理コンピュータ６０００内のジョブ追跡機能管理部５００を介して追跡情報管理サーバ１０００へと送られる。本構成を採ることで追跡用データの追跡情報管理サーバ１０００を、例えばネットワーク負荷が軽くなる日や時間帯にスケジューリングすることが可能となり、追跡情報管理サーバ１０００への負荷を制御することが可能になる。
【０１５６】
図１６Ｃは、図１６Ａに対し、プリントサーバ７０００をホストコンピュータ３０００とプリンタ１５００の間に入れたものである。印刷データはプリンタドライバ２０３からプリントサーバ７０００の該当するプリンタキュー（プリントスプーラ）を通ってプリンタ１５００へ転送され、追跡用データは図１６Ａと同じく、ジョブ追跡機能部４００からホストコンピュータ３０００内のジョブ追跡機能管理部５００を介して追跡情報管理サーバ１０００へと送られる。本構成を採ることで、プリントサーバ７０００を用いる運用形態にも適応されることが出来ると共に、プリントサーバ７０００内にプリンタドライバ２０３を置くことで、ホストコンピュータ３０００へのプリンタドライバの配布や同期、設定情報の共有化などが可能となる。更には、ジョブ追跡機能に係わる各種設定をプリントサーバ７０００上で一括管理することも可能となり、ジョブ追跡機能の各種設定を実行する権限の無いユーザが設定変更行えなくなるような機構も併せ持つこととなる。
【０１５７】
図１６Ｄは、図１６Ｂと図１６Ｃの構成を併用したものであり、プリントサーバ７０００をホストコンピュータ３０００とプリンタ１５００の間に入れ、ジョブ追跡管理部５００をホストコンピュータ３０００とは別の追跡管理コンピュータ６０００に配したものである。印刷データは図１６Ｃと同じく、プリンタドライバ２０３からプリントサーバ７０００の該当するプリンタキュー（プリントスプーラ）を通ってプリンタ１５００へ転送され、追跡用データは図１６Ｂと同じく、ジョブ追跡機能部４００から追跡管理コンピュータ６０００内のジョブ追跡機能管理部５００を介して追跡情報管理サーバ１０００へと送られる。本構成を採ることで、図１６Ｂと図１６Ｃの利点を併せ持つことが可能となる。
【０１５８】
図１６Ｅは、図１６Ｄの追跡管理コンピュータ６０００とプリントサーバ７０００とを同一のコンピュータ上で実現するようにプリントサーバ兼追跡管理コンピュータ８０００を設けたものである。印刷データはプリンタドライバ２０３からプリントサーバ兼追跡管理コンピュータ８０００の該当するプリンタキュー（プリントスプーラ）を通ってプリンタ１５００へ転送され、追跡用データはジョブ追跡機能部４００からプリントサーバ兼追跡管理コンピュータ８０００内のジョブ追跡機能管理部５００を介して追跡情報管理サーバ１０００へと送られる。本構成を採ることで図１６Ｄでは追跡管理コンピュータ６０００、プリントサーバ７０００の２台のコンピュータであったが、これをプリントサーバ兼追跡管理コンピュータ８０００の１台に集約することで、設置スペースやコストの削減を行うことが可能となる。
【０１５９】
本発明は以上説明したような様々な形態に適用可能であり、図１６Ａおよび先の実施系において説明した最小構成だけでなく、導入形態に応じた柔軟なシステム構成が可能となる。
【０１６０】
なお、本発明は、複数の機器(例えばコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【０１６１】
また、本発明の目的は、前述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【０１６２】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１６４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１６５】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１６６】
【図１】本実施形態に係る印刷システムの構成を示すブロック図である。
【図２Ａ】本実施形態に係るホストコンピュータ３０００及びプリンタ１５００のハードウエア構成例を示すブロック図である。
【図２Ｂ】本実施形態のホストコンピュータ３０００におけるメモリ空間の構造例の概略を示す図である。
【図３】本実施形態のホストコンピュータ３０００における印刷ジョブ追跡のための一構成例を示す機能ブロック図である。
【図４】本実施形態のホストコンピュータ３０００における印刷ジョブ追跡のための拡張された構成例を示す機能ブロック図である。
【図５Ａ】ジョブ追跡機能に関するユーザインタフェースの初期画面の一例を示す図である。
【図５Ｂ】ジョブ追跡機能に関するユーザインタフェースのジョブ追跡の設定画面の一例を示す図である。
【図６】本実施形態のジョブ追跡の全体処理の概要を示すフローチャートである。
【図７】デスプーラ３０５の処理例を示す機能ブロック図である。
【図８】スプーラ３０２の処理例を示すフローチャートである。
【図９】スプールファイルマネージャ３０４の第１の実施形態における処理例を示すフローチャートである。
【図１０】デスプーラ３０５の第１の実施形態における処理例を示すフローチャートである。
【図１１】デスプーラ３０５とジョブ追跡機能部４０２との通信処理例を示す図である。
【図１２】ジョブ追跡機能処理部４０２の処理例を示すフローチャートである。
【図１３】ジョブ追跡管理部５００の処理例を示すフローチャートである。
【図１４】スプールファイルマネージャ３０４の第２の実施形態における処理例を示すフローチャート
【図１５】デスプーラ３０５の第２の実施形態における処理例を示すフローチャートである。
【図１６Ａ】本実施形態のシステムのジョブ追跡機能の形態例を示す図である。
【図１６Ｂ】本発明を適用可能な他のシステムのジョブ追跡機能の形態例を示す図である。
【図１６Ｃ】本発明を適用可能な他のシステムのジョブ追跡機能の形態例を示す図である。
【図１６Ｄ】本発明を適用可能な他のシステムのジョブ追跡機能の形態例を示す図である。
【図１６Ｅ】本発明を適用可能な他のシステムのジョブ追跡機能の形態例を示す図である。
【図１】
2006146814.tif 000003
【図２Ａ】
2006146814.tif 000004
【図２Ｂ】
2006146814.tif 000005
【図３】
2006146814.tif 000006
【図４】
2006146814.tif 000007
【図５Ａ】
2006146814.tif 000008
【図５Ｂ】
2006146814.tif 000009
【図６】
2006146814.tif 000010
【図７】
2006146814.tif 000011
【図８】
2006146814.tif 000012
【図９】
2006146814.tif 000013
【図１０】
2006146814.tif 000014
【図１１】
2006146814.tif 000015
【図１２】
2006146814.tif 000016
【図１３】
2006146814.tif 000017
【図１４】
2006146814.tif 000018
【図１５】
2006146814.tif 000019
【図１６Ａ】
2006146814.tif 000020
【図１６Ｂ】
2006146814.tif 000021
【図１６Ｃ】
2006146814.tif 000022
【図１６Ｄ】
2006146814.tif 000023
【図１６Ｅ】
2006146814.tif 000024