(57)【特許請求の範囲】
【請求項１】
クライアント装置と、印刷装置と、サーバ装置とが通信するネットワークシステムにおいて、
前記クライアント装置は、
特定のドキュメントに対応するドキュメント名であって、印刷装置で処理できないドキュメント名である第１ドキュメント名及び、第１のドキュメント名を用いて生成されるドキュメント名であって印刷装置にて処理できる第２ドキュメント名を、前記印刷装置が機器ログ記録機能を有する場合にサーバ装置に対して送信し、前記第２ドキュメント名と特定のドキュメントに対応するジョブとを、前記印刷装置が機器ログ記録機能を有する場合に印刷装置に対して送信し、前記印刷装置がログ記録機能を有しない場合に、前記第１ドキュメント名を前記サーバ装置に対して送信し、前記第２ドキュメント名を前記サーバ装置に対して送信しない第１送信手段を備え、
前記印刷装置は、前記クライアント装置から送信されてくるジョブに対応する印刷履歴を示すジョブ情報を生成する生成手段と、
前記生成手段が生成したジョブ情報と、前記クライアント装置から送信されてくる第２ドキュメント名とをサーバ装置に対して送信する第２送信手段とを備え、
前記サーバ装置は、前記印刷装置から送信されてくる、ジョブ情報及び第２ドキュメント名と、前記クライアント装置から送信されてくる、第１ドキュメント名及び第２ドキュメント名と、を受信する受信手段と、
前記受信手段が受信した第２ドキュメント名を用いて、前記受信手段が受信した第１ドキュメント名とジョブ情報とを併合し、当該併合処理により得た情報から前記第２ドキュメント名を除去する併合手段を備えるジョブ管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続されたプリンタ、スキャナ、ファクシミリ、複写機など、およびそれらを統合したマルチファンクション機器（ＭＦＰ）などの周辺機器、及びこれらの機器を管理するコンピュータ、ネットワークシステムに関するものである。
【０００２】
【従来の技術】
従来から、多数のジョブ情報を取得して管理する画像処理システムに関するジョブ管理方式が開発されてきている。適切なジョブの管理（ジョブアカウント）を行うためには、周辺機器で実行されたジョブの情報を取得することが必要である。従来、ジョブの情報を取得するためには、次のような方法があった。例えば、クライアントコンピュータ側のスプーラは、ドライバから受け取ったデータを蓄積するするとともに、順にクライアントコンピュータ側の送信部に送信する。クライアントコンピュータ側送信部はスプーラから印刷データを受け取り、デバイスが備えているジョブ転送方式に従って、プリンタがレディ状態であれば、ジョブデータをデバイスに送信する。よく知られたジョブデータ転送方式として、ＲＦＣ１１７９で規定されているＬＰＤプロトコルや米国Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  Ｃｏｍｐａｎｙが規定しているＰｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅなどがある。Ｐｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅでは、デバイスとの双方向通信により終了ジョブのページ数などをポートモニタが取得することができる。もちろん、プリンタ提供者独自の非公開のジョブ管理方式であっても良い。
【０００３】
一方、上述のようなジョブ管理方式を利用して、ジョブ情報を周辺装置からクライアントコンピュータ側送信し、ジョブ名やジョブＩＤなどを管理するシステムが考案されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、ジョブ管理方式は、印刷装置の機種、又は、印刷装置の提供メーカごとに相互に異なるため、あるジョブ管理方式に基づいて、ジョブ管理を行っている場合には、異なるジョブ管理方式におけるジョブＩＤを把握できない場合があった。また、印刷装置が、そもそもジョブＩＤをサポートしていない場合もあった。
【０００５】
このような問題を解決する手段として、印刷装置に対してジョブにドキュメント名を含ませて送信して、ジョブＩＤの代わりに用いることも考え得る。しかし、ドキュメント名は、印刷装置側のメモリの制約から、クライアントコンピュータ側で管理しているドキュメント名よりも短く、クライアントコンピュータ側で管理しているドキュメント名をそのまま用いることができないという問題があった。
【０００６】
また、かかる短いドキュメント名ししか管理できないプリンタの特性上、印刷装置に複数のクライアントコンピュータから、同じドキュメント名に基づくジョブを投入した場合には、当該ジョブＩＤ又はドキュメント名が同じジョブとなってしまう場合もあり、この場合はジョブに識別が不可能となって混乱してしまうという問題が生ずる。
【０００７】
本願発明は、このような問題点の少なくとも一つを鑑みてなされたものである。本発明の目的の一つは、自分が使用しているジョブ管理方式に対応していない、あるいは、ジョブＩＤを印刷装置が管理していない、あるいは、ジョブＩＤが取得できない印刷装置であっても、ホスト側のジョブ情報と、印刷装置のジョブ情報を合わせて管理し、該印刷装置が処理するジョブ処理の状況を正確に把握することを目的とする。
【０００８】
さらに本発明は、印刷装置に対してジョブにドキュメント名を含ませて送信して、ジョブＩＤの代わりに用いるため、クライアントコンピュータ側で管理しているドキュメント名を、印刷装置側で管理できる識別情報として管理する仕組みを提供することをさらに別の目的とする。
【０００９】
また、本発明は、周辺機器の利用状況をより正確に取得するべく、ジョブの情報を、クライアントコンピュータ並びに画像形成装置それぞれから、ジョブ情報のドキュメント名の既存のエントリを活用して取得し、正確なジョブ情報の把握を実現する仕組みを提供することをさらに別の目的とする。
【００１０】
【課題を解決するための手段】
クライアント装置と、印刷装置と、サーバ装置とが通信するネットワークシステムにおいて、前記クライアント装置は、特定のドキュメントに対応するドキュメント名であって、印刷装置で処理できないドキュメント名である第１ドキュメント名及び、第１のドキュメント名を用いて生成されるドキュメント名であって印刷装置にて処理できる第２ドキュメント名を、前記印刷装置が機器ログ記録機能を有する場合にサーバ装置に対して送信し、前記第２ドキュメント名と特定のドキュメントに対応するジョブとを、前記印刷装置が機器ログ記録機能を有する場合に印刷装置に対して送信し、前記印刷装置がログ記録機能を有しない場合に、前記第１ドキュメント名を前記サーバ装置に対して送信し、前記第２ドキュメント名を前記サーバ装置に対して送信しない第１送信手段を備え、前記印刷装置は、前記クライアント装置から送信されてくるジョブに対応する印刷履歴を示すジョブ情報を生成する生成手段と、前記生成手段が生成したジョブ情報と、前記クライアント装置から送信されてくる第２ドキュメント名とをサーバ装置に対して送信する第２送信手段とを備え、
前記サーバ装置は、前記印刷装置から送信されてくる、ジョブ情報及び第２ドキュメント名と、前記クライアント装置から送信されてくる、第１ドキュメント名及び第２ドキュメント名と、を受信する受信手段と、
前記受信手段が受信した第２ドキュメント名を用いて、前記受信手段が受信した第１ドキュメント名とジョブ情報とを併合し、当該併合処理により得た情報から前記第２ドキュメント名を除去する併合手段を備えるジョブ管理システム。
【００１８】
【発明の実施の形態】
（第一実施形態）
以下、図面を参照して、本発明の実施形態の一例を詳細に説明する。
【００１９】
図１８は、本発明のジョブアカウントシステムの実施形態の前提となるシステムの一例を示す図である。図１８の構成メンバである本発明の画像形成装置の好適な一例であるプリンタ１８０７乃至１８０９について説明する。プリンタは有する機能に応じて動作が異なる。例えばプリンタ１８０７はもっとも一般的なものでクライアントコンピュータ側の送信部から受信したデータを印刷する。プリンタ１８０８はジョブ終了時点でそのジョブの総排紙ページ数をクライアントコンピュータ１０００側の送信部に返信する。プリンタ１８０９は印刷後にジョブ情報をプリンタ内の記憶装置に格納する。
【００２０】
図１８のクライアントコンピュータでは、次のように印刷が行われる。アプリケーション１８０２は、ＯＳのＧＤＩ１８０３（グラフィック描画を処理するサブシステム）を、ＡＰＩ（アプリケーションプログラミングインタフェース）を呼び出すことにより操作する。プリンタドライバ１８０４はＧＤＩ１８０３からの要求を、印刷を行うプリンタに適合した形式に変換し、スプーラ１８０５に送信する。
【００２１】
クライアントコンピュータ１０００において、ジョブアカウントクライアント１８０１は、アプリケーション１８０２のＧＤＩ呼び出しをフック（監視して認識）する。ジョブアカウントクライアント１８０１は改ページあるいは排紙を行うＡＰＩをカウントすることでアプリケーションが発行したジョブの排紙枚数あるいはページ数を取得する。これにより取得したジョブ情報をフックログと称する。
【００２２】
また、ジョブアカウントクライアント１８０１はあらかじめプリンタドライバとのプロトコルを定義し、通信することで、ジョブ情報をクライアントコンピュータ内のプリンタドライバから受信することができる。これにより取得したジョブ情報をドライバログと称する。
【００２３】
また、ジョブアカウントクライアント１８０１は定期的にスプーラを監視し、スプールされているジョブが有れば、そのジョブの情報をＡＰＩで取得することにより、ジョブの排紙枚数あるいはページ数を取得する。これにより取得したジョブ情報をＡＰＩログと称する。
【００２４】
また、ジョブアカウントクライアント１８０１は送信部とのプロトコルを定義し通信することで、プリンタが返す総排紙ページ数を取得する。これにより取得したジョブ情報を送信部ログと称する。
【００２５】
また、本発明のジョブ管理装置の好適な一例であるジョブアカウントサーバは、画像形成装置の好適な一例であるプリンタ１８０９などプリンタ内にジョブ情報を記憶するプリンタの場合、プリンタとのプロトコルを定義し通信することで、プリンタからジョブ情報を取得する。これにより取得したジョブ情報を機器ログと称する。機器ログはプリンタ内のＲＡＭ又はＨＤＤに記憶されるが、記憶容量の制限のため、送信部から送信されたドキュメント名などの情報をすべて記憶できないことが多い。なお、画像形成装置には、プリンタのほか、ファクシミリ、複写機、及び、複写機の一種であるプリンタとスキャナを組合わせたコピーシステム、及びこれらの複合機を含む。
【００２６】
ジョブアカウントクライアント１８０１は、フックログ、ドライバログ、ＡＰＩログ、送信部ログ、機器ログのうち、どれを選択するかの優先順位を設けておき、いずれかをジョブアカウントサーバに送信する。
【００２７】
ジョブアカウントサーバ１８１０は閲覧希望者からの要求に応じて、ジョブログを選択し、単位期間別、デバイス別、ジョブ発行者別などの集計処理などを行う。
【００２８】
図１は、本発明の実施形態の一例を示すジョブアカウントシステムの装置並びにモジュール構成を示す図である。なお、本発明は複数の機器からなるシステムにおいて達成される。また、システムあるいは装置にプログラムを供給することにより、本発明が達成される場合にも適用されることはいうまでもない。一回の印刷ジョブに対して、フックログ、ドライバログ、ＡＰＩログ、送信部ログの４つのログが作成される様子を詳細に説明する。以下、図１８と異なる部分を詳述する。
【００２９】
１０１は、標準的なＰＣ又はワークステーションからなるクライアントコンピュータであり、アプリケーション１０２から印刷が指示されると、１０７、１０８または１０９のいずれかのプリンタに印刷データを送信部１０７を介して送信する。クライアントコンピュータ内のＣＰＵで実行されるソフトウェアモジュールであるジョブアカウントクライアント１１８は、各種印刷処理に関するログを収集し、ジョブアカウントサーバ１２１にジョブログ送信部１１７を介して送信する。この際、ジョブアカウントクライアントの一部であるジョブログ送信部は、ＯＳが提供する送信部を制御して、ジョブログ受信部へログを送信してもよい。
【００３０】
クライアントコンピュータ１０１において、アプリケーション１０２に対して印刷指示が発行されると、図１８と述べたのと同様にして、アプリケーション１０２は描画のためのＧＤＩコールを行う。１０３フック部は１１７ジョブアカウントクライアントにより組み込まれるもので、ＧＤＩコールをフックして、どのＧＤＩコールがいかなるパラメータで呼ばれたか、呼ばれた回数、などの情報を蓄積する。この情報をもとに作成された履歴をフックログ１１１と称する。フックログ１１１の例を図７に示す。フック部１０３は、規定の判断基準に基づき、場合によってはドキュメント名を変更する。ドキュメント名並びにこの変更処理については後述する。
【００３１】
プリンタドライバ１０５はＧＤＩコールを印刷設定に従ってプリンタが解釈できる印刷データに変換して、スプーラ１０６に送信するとともに、変換内容から印刷情報を抜き出し、それをドライバログ１１２として、ジョブアカウントクライアント１１７に送信する。
【００３２】
ジョブアカウントクライアント１１７は常にスプーラ１０６にジョブが溜まっていないか監視している。ジョブがあれば、ＯＳにより規定されているＡＰＩを発行し、印刷情報を取得し、それをＡＰＩログ１１３として取得する。
【００３３】
送信部１０７はネットワークを介して１０８、１０９，１１０のうち、いずれかのアプリケーションから指定されたプリンタと通信し、プリンタがレディ状態であれば、印刷データを送信する。このとき、例えば、前述のＨＰ社のＰｒｉｎｔｅｒ  Ｊｏｂ  Ｌａｎｇｕａｇｅ（プリンタ・ジョブ・ランゲージ）のコマンドを用いれば、プリンタ１０９において、印刷ジョブの全ページの排紙が完了した後に当該ジョブが排紙したページ数を取得することが可能である。送信部（ポートモニタ）１０６は、１０９プリンタから受信したページ数などジョブ情報を、１１０ジョブアカウントクライアントに送る。この情報をもとに作成された印刷ログを送信部ログ１１４と称する。
【００３４】
このように、ジョブアカウントクライアント１１０（取得手段）では、一回の印刷ジョブに対して、フックログ、ドライバログ、ＡＰＩログ、送信部ログの４つのログが取得され、作成される。ただし、常に４つのログが取れるとは限らない。例えば、アプリケーション１０２がスプーラ１０６に直接印刷データを送れば、フックログ１１１やドライバログ１１２は取得できない。プリンタドライバ１０５とジョブアカウントクライアント１１７間でプロトコルが規定されていなければ、１１２ドライバログは取得できない。プリンタ１０８のように排紙ページ数を送信部に通知する機能がない場合は、送信部ログ１１４の排紙ページ情報を取得できない。しかし、ジョブに係る複数の処理においてログを取得することで、一部処理にてログ取得が不可能な場合であっても、総合的には、ログを取得できる確率が高くなる。
【００３５】
プリンタ１０８は、送信部１０７から送られたジョブを解釈し、印刷を実行する。プリンタ１０９は、送信部１０７から送られたジョブを解釈し、印刷を実行する。印刷終了後、排紙枚数を１０７送信部に返信する。プリンタ１１０は、送信部１０７から送られたジョブを解釈し、印刷を実行する。印刷終了後、ジョブ情報を３０４ＨＤＤ（後述）に記憶する。
【００３６】
ジョブログマージ部１１６は、フックログ、ドライバログ、ＡＰＩログ、送信部ログをマージして、ジョブログ送信部１１７に送る。マージ処理については、後述する。ジョブログ送信部１１７はジョブアカウントサーバ１２１のジョブログ受信部１２２にジョブログを送信する。
【００３７】
図２は、図１に示したジョブアカウントシステムを構成するクライアントコンピュータおよびサーバコンピュータの構成の一例を示すブロック図である。図２において、２０１はＣＰＵ、即ち中央処理装置であり、このコンピュータ装置全体の制御および演算処理等を行うものである。２０２はＲＯＭ即ち読み出し専用メモリであり、システム起動プログラムの情報等の記憶領域である。２０３はＲＡＭ即ちランダムアクセスメモリであり、使用制限のないデータ記憶領域であり、オペレーティングシステム，アプリケーション１０２、フック部１０３、ＧＤＩ１０４、プリンタドライバ１０５、送信部１０７、ジョブアカウントクライアント１１８などのソフトウェアモジュールが、および通信制御などのプログラムがＨＤ部２０５やＲＯＭ２０２からロードされ、ＣＰＵ２０１により実行される領域である。２０４はＫＢＣ即ちキーボード制御部であり、キーボードより入力データを受け取りＣＰＵへ伝達する。２０５はＣＲＴ即ちディスプレイ制御部（表示制御手段）であり、ディスプレイ装置への表示制御をする。２０６はＦＤ即ちフロッピー（Ｒ）ディスク装置あるいはＨＤ即ちハードディスク装置、ＳＲＡＭ即ち不揮発性記憶装置等の外部記憶装置であり、プログラムおよびデータを記憶、格納しておき、実行時に必要に応じて参照またはＲＡＭへのロードする。２０７は通信部であり、ネットワーク通信制御を行うものであり，図１で説明したようにネットワークに接続された他のコンピュータや周辺機器との通信が可能であり、送信部１０７、ジョブログ送信部１１７により制御される。２０８はシステムバスであり、上述された構成要素間のデータの通路となるべきものである。
【００３８】
原則として、ジョブアカウントサーバ１２１もハードウェア的には同様の構成をとりうる。ジョブアカウントサーバ１２１は、ＨＤＤ内には、ジョブログマージ部１２３、ジョブログ記録部１２４、ジョブログ受信部１２２、ジョブログ集計部１２５が記憶されている。また、ジョブログ受信部１２２は、通信部２０７を制御する。
【００３９】
図３は、図１に示したジョブアカウントシステムを構成するプリンタの構成の一例を示すブロック図である。図３において，３０５はプリンタ全体を制御するコントローラ部である。コントローラの内部構成として３０１はＣＰＵ、即ち中央処理装置であり、このコントローラの制御および演算処理等を行うものである。３０２はＲＯＭ即ち読み出し専用メモリであり、システム起動プログラムの情報等の記憶領域である。３０３はＲＡＭ即ちランダムアクセスメモリであり、使用制限のないデータ記憶領域であり、３０４はＨＤ即ちハードディスクあるいはＳＲＡＭなど不揮発性記憶装置である。
【００４０】
ＲＡＭ３０３はオペレーティングシステムや通信制御およびエンジン制御などのプログラムがロードされ、実行される領域である。３０６はこの装置のエンジン部であり，コントローラの制御のもとで印刷動作や画像読み取り動作をするものである。３０７は通信部であり、ネットワーク通信制御を行うものであり，図１で説明したようにクライアントコンピュータやサーバコンピュータとの通信が可能である。３０８は、ユーザ操作入出力部であり、ユーザとの対話的な設定作業を行う。３０９はシステムバスであり、上述の構成要素間のデータの通路となるべきものである。
【００４１】
図４は、図１に示したジョブアカウントサーバ１２１のメモリマップの一例を表す図である。４１は基本Ｉ／Ｏプログラムを示す。４２はウインドウシステム等オペレーティングシステムがＲＡＭ２０３にロードされ実行可能となった状態のメモリマップを示す。４３は本発明のプログラムがＲＡＭ３にロードされ実行可能となった状態のメモリマップを示す。４４は関連データがＲＡＭ３にロードされ実行可能となった状態のメモリマップを示す。４５は各々のプログラムが使用するワークメモリのメモリマップを示す。
【００４２】
図５は、本発明の実施形態の一例であるジョブアカウントプログラムおよび関連データが格納されているＦＤの構成内容を示す図である。本発明の実施形態の一例であるジョブアカウントプログラムおよび関連データはフロッピー（Ｒ）ディスク（ＦＤ）中に記録されている。フロッピー（Ｒ）ディスク（ＦＤ）の記録領域５０には、ボリューム情報５１、ディレクトリ情報５２、アプリケーション実行ファイル５３、ジョブアカウントプログラム関連データファイル５４が記録されている。なお、記録領域５０は、ＤＶＤでもよいし、コンピュータ６２にネットワーク接続された外部サーバ装置内のＨＤＤ（図示省略）であって、本発明のジョブアカウントプログラム（図１に示されたクライアントコンピュータ内の各モジュール、並びに、ジョブ阿寒とサーバ１２１内の各モジュール）は、ネットワークを介してダウンロードして導入されてもよいことは言うまでもない。コンピュータ６２は、図２に示したコンピュータと同等のものである。
【００４３】
図６は、本発明の実施形態の一例であり、ＦＤに記録されたジョブアカウントプログラムおよび関連データをコンピュータシステムにロードする一例を示す図である。フロッピー（Ｒ）ディスク（ＦＤ）６０に記録されたジョブアカウントプログラムおよび関連データは、ＦＤドライブ（ＤＫＣ）６１を介してコンピュータ６２にロードすることができる。フロッピー（Ｒ）ディスク（ＦＤ）６０をＦＤドライブ（ＤＫＣ）６１にセットすると、オペレーティングシステム４２および基本Ｉ／Ｏプログラム４１の制御のもとに、本ジョブアカウントプログラムを実現するためのプログラムモジュール等および関連データがフロッピー（Ｒ）ディスク（ＦＤ）６０から読み出され、ＲＡＭ２０３にロードされて使用可能となる。コンピュータ６２は、図１８に示されたコンピュータ、及び、図１に記載されたクライアントコンピュータ１０１及びジョブアカウントサーバ１２１を実現するために用いることができる。また、ジョブアカウントプログラムを実現するためのプログラムモジュール等とは、図１に記載された、クライアントコンピュータ１０１内又はジョブアカウントサーバ１２１内の各ソフトウェアモジュールに該当する。もちろん、記憶媒体はＦＤに限定されるものではなく、ＤＶＤ、ＣＤ−ＲＯＭなどを含むことは言うまでも無い。
【００４４】
図７は、本発明の実施形態におけるフックログの一例を示す図である。フックログでは、ジョブＩＤ、アプリケーション名、論理ページ数、ドキュメント名、が取得可能である。ジョブＩＤはＧＤＩに印刷開始を指示したときにＧＤＩから取得できるものであり、クライアントコンピュータ１０１の印刷ジョブを一意に指定できるものである。
【００４５】
図８は本実施形態におけるドライバログの一例を示す図である。ドライバログは、ジョブアカウントクライアントが印刷実行時にドライバから取得可能な履歴情報である。ドライバログでは、印刷実行に係るジョブの識別子であるジョブＩＤ、ジョブが含む印刷データの用紙サイズ、Ｎ−ｕｐ情報、物理ページ数の情報、両面片面情報が取得可能である。用紙サイズ、Ｎ−ｕｐ、物理ページ数、両面片面情報は、プリンタドライバに印刷時又はデフォルト入力され設定される印刷設定から取得する。Ｎ−ｕｐは用紙に何面の論理ページを割り付けるかの設定である。物理ページ数は、印刷時に出力する用紙の片側を１と数える単位である。
【００４６】
例えば、論理ページが４ページの場合に、両面印刷で２−ｕｐの印刷処理を行うと、物理ページは２ページとなる。そして、該物理ページが、用紙の表裏に印刷され、１枚の用紙が出力排紙される。表に論理ページの１ページ目、２ページ目、裏に論理ページの３ページ目、４ページ目が印刷される。
【００４７】
図９は、本実施形態におけるＡＰＩログの一例を示す図である。ＡＰＩログでは、ジョブＩＤ、ジョブのオーナ名、スプールデータサイズが取得可能である。
【００４８】
図１０は、本発明の実施形態における送信部ログの一例を示す図である。モニタログでは、ジョブＩＤが取得可能である。１０８プリンタに送信した場合は、加えて排紙ページ数、排紙枚数が取得できる。
【００４９】
フックログ、ドライバログ、ＡＰＩログ、送信部ログいずれにおいても、当該ジョブが処理済みか否かを示すフラグ情報、並びに、ログの種別を示す情報を記録する領域を設ける。
【００５０】
図１１は、本発明の実施形態におけるログをマージする手順の一例を示すフローチャートである。以下、図１１のフローチャートを用いて、クライアントコンピュータ内のジョブログマージ部１１６の動作を説明する。ジョブログマージ部１１６は図１及び図１８で説明した各ログを受信し、その内容をＨＤＤ等に記録しておく。そして以下の処理を予め設定された周期で定期的に起動し、各ジョブ毎に、マージ処理を行う。本実施形態においては、ジョブＩＤをキーとしてログのマージ（併合処理）を行っているが、後述するドキュメントデータ名或いは新ドキュメントデータ名をキーにしてマージしてもよい。以下の図１１の処理においては、クライアントコンピュータ内において、ジョブログマージ部１１６は、クライアント装置内の複数の各処理によって得られるジョブ情報（フックログ、ＡＰＩログ、ＡＰＩログ）がそれぞれ含む、開始時刻情報並びに、完了時刻情報のエントリが示す開始時刻のうち、最も早い開始時刻と、最も遅い完了時刻を特定できるのである。そして、各時刻情報は、前述の通り、マージ処理して併合されたジョブ情報として格納される。
【００５１】
Ｓ１１０１において、ジョブログマージ部１１６は、処理済みフラグがＹＥＳとなっていない送信部ログ（図１０参照）、すなわち、未処理の送信部ログにがあるか否かを検索して特定し、未処理の送信部ログがあれば、Ｓ１１０２に進む。Ｓ１１０２において、ジョブログマージ部１１６は、Ｓ１１０１において未処理と特定された送信部ログを別のテンポラリの記憶領域にコピーし、これをログＡとする。Ｓ１１０３において、ログＡからジョブＩＤの部分を取得する。Ｓ１１０４において、ジョブログマージ部１１６は、Ｓ１１０３で取得したジョブＩＤに対応するログのうち、まだマージ処理を行っていない、つまり未処理であるログがあるか否かを、ジョブＩＤに基づいて、フックログ、ドライバログ、ＡＰＩログの各ログを検索して特定することで、判断する。Ｓ１１０４で未処理のログが無いと判断した場合は、処理を終了する。Ｓ１１０４で未処理のログがあるとジョブログマージ部１１６が判断した場合は、ジョブログマージ部１１６は、Ｓ１１０５に進んで、Ｓ１１０４で未処理と判断されたジョブＩＤ（ここでは便宜のためＮとする）と等しいジョブＩＤのログが有るか否かを、ジョブＩＤに基づいてフックログ、ドライバログ、ＡＰＩログの各ログの中から検索して特定し、これをログＢとする。Ｓ１１０５でＮと等しいジョブＩＤのログがフックログ、ドライバログ、ＡＰＩログの各ログには無かった場合には、Ｓ１１０８に進む。Ｓ１１０５で、Ｎと等しいジョブＩＤが各ログのいずれかにあった場合は、Ｓ１１０６に進む。ここでは、例えば、Ｓ１１０５でＮは未処理のログＡが含むジョブＩＤのうち、小さなもから順に特定してＮとすればよい。
【００５２】
Ｓ１１０６において、ジョブログマージ部１１６は、Ｓ１１０５で特定した、ログＡのジョブＩＤ  Ｎに対応するログの各項目（ジョブＩＤ  Ｎについて取得された各ログが含むジョブ情報）について、ログＢが含む項目のうちログＡに無い項目があるか否かを判断する。Ｓ１１０６で、ログＡのジョブＩＤ  Ｎの項目について、ログＢのうちログＡに無い項目がないと判断した場合は、ジョブログマージ部１１６は、Ｓ１１０８の処理を行う。Ｓ１１０６でログＢのうちログＡに無い項目があると判断した場合は、Ｓ１１０７に進んで、ジョブログマージ部１１６は、ログＡのジョブＩＤ  Ｎの項目について、ログＢのうちログＡに無い項目を追加してログＡに格納されているデータを併合する。ここでログＡにログＢの項目を付加して作成したログ（以下、マージログ）の処理済フラグを「ＹＥＳ」とし、Ｓ１１０８に進む。続いて、そして、該マージログの種別の項目を「マージ」とする。送信部ログに対して、図７から図１０に示す各ログを図１１の処理に基づいて次々にマージすると、図１２のようなマージログになる。図に示すようにこのマージログは、フックログ、ドライバログ、ＡＰＩログ、送信部ログの項目を備えている。図１２は、本発明の実施形態のマージログの一例を示す図である。
【００５３】
Ｓ１１０８に続くＳ１１０４では、ログＡに係る全てのジョブＩＤについて処理が終わったと判断した場合には、処理を終了する。通常は、マージ処理を終えるたびに、ジョブログマージ部１１６は、図１１の処理の後、マージされたログをログ送信部１１６に送る。なお、ログ送信部１１６は、ログを定期的に或いはジョブログ取得部の要求に応じて、ジョブログ取得部１２２に送信する。
【００５４】
次に、ジョブアカウントサーバ１２１の動作について説明する。ジョブログ取得部は１２２、ジョブログ送信部１１７から送られるジョブを取得して蓄積する。また、定期的にプリンタ１１０をポーリングし、まだ取得していないジョブ情報があれば、それを取得する。このジョブ情報を機器ログとする。機器ログは３０３ＲＡＭあるいは３０４ＨＤＤに記憶されるが、記憶容量の制限のため、１０７送信部から送信されたドキュメント名などの情報をすべて記憶することは望ましくない。ここではドキュメント名の上限が８文字であるとする。機器ログの例を図１３に示す。また、１０３フック部が動作していない場合の機器ログの例を図１４に示す。
【００５５】
本発明の管理手段の好適な一例であるジョブログマージ部１２３は、ジョブアカウントクライアントから送られたマージログ１２７をジョブログ受信部１２２で受信して取得し、機器ログ１１５を、取得する。そして、ジョブログマージ部１２３は、取得した各ログを、マージし、管理する。マージする手順については後述する。ジョブログ記録部１２４は機器ジョブログマージ部１２３からジョブログを受け取り２０６ＨＤなどに記憶する。ジョブログ集計部１２５は、閲覧者からの指示によって、単位期間ごとの印刷ページ数を求めたり、オーナごとの印刷ページ数を求める、などの集計処理を行う。
【００５６】
ＩＤ発生部１２６は、データ処理装置の好適な一例であるクライアントコンピュータ１０１を一意に識別するための識別情報である、ＩＤを発行する。ここでは、各桁がａからｚの２６通りの値をとりうる４桁の文字列を１０３フック部の要求に応じて、aaaa、aaab、...、zzzy、zzzzと順に変化させ、クライアントを一意に識別できるように発行する。ここでは、ホストとジョブＩＤの組合せを用いて新ドキュメント名を作成するが、印刷システム全体で一意の新ドキュメント名（後述）をジョブアカウントサーバにおいて一元発行する方式をとってもよい。
【００５７】
図１５は、本発明の実施形態のドキュメント名を変更する手順の一例を示すフローチャートである。以下、図１５のフローチャートを用いて、フック部１０３の動作を説明する。Ｓ１５０１において、フック部１０３は、所定の機器管理プロトコルにより、印刷先のプリンタが機器ログを備えているか否かを示す情報を取得して判別し、備えていると判別した場合は、Ｓ１５０２へ進む。フックログ部１０３が、プリンタが機器ログを備えていないと判断した場合は、処理を終了する。Ｓ１５０２において、フック部１０３は、クライアントＩＤを取得済であるか否かを判別し、取得済であれば、Ｓ１５０４へ進む。取得していなければＳ１５０３へ進む。ここで、クライアントＩＤとは、ＩＤ発生部が発行する、クライアントコンピュータ１０１を一意に識別可能な識別情報である。ここでは、Ｓ１５０３において、フック部１０３は、ＩＤ発生部１２６と通信し、クライアントコンピュータを一意に識別するＩＤをＩＤ発生部から取得するものとする。Ｓ１５０４において、クライアントコンピュータ内でジョブを一意に特定するクライアント内ジョブＩＤを作成する。ここでは、0001から9999までの数値を順に発行するものとする。ここで、「abcd0001」は、本発明の新ドキュメント名の好適な一例である。
【００５８】
Ｓ１５０５において、フック部１０３は、Ｓ１５０３で取得済みと判断したクライアントＩＤとＳ１５０４で作成したクライアント内ジョブＩＤを結合し、印刷システム内で一意に定まる新しい識別情報の一例である、新ドキュメント名を作成する。Ｓ１５０６において、フック部１０３は、アプリケーションから渡された元のドキュメント名をフックログの項目「元ドキュメント名」に格納する。Ｓ１５０７において、ドキュメント名をＳ１５０５の新ドキュメント名に置き換える。その結果、ＧＤＩにはドキュメント名として、新ドキュメント名が渡される。ＧＤＩ処理の後段である、プリンタドライバ１０５、スプーラ１０６、送信部１０７、プリンタ１１０における処理は、ドキュメント名はすべて新ドキュメント名で処理されるようにすると好適である。
【００５９】
ここで、新ドキュメント名を作成した理由は、印刷装置から取得したジョブ情報をマージする際には，ジョブＩＤをそのままマージ処理のキーとして利用することは難しいからである。例えば、ジョブ管理方式の仕様の一部が非公開となっているため、Ａ社開発のアカウントサーバＡを利用する場合、Ａ社開発のアカウントサーバは、Ｂ社開発のプリンタからは、ジョブＩＤを取得することができないことが多い。つまり、想定していないジョブ管理方式に対応したプリンタからは、ジョブ情報を取得してもこれにジョブＩＤが含まれないことが多く、これをマージ処理して活用できないのである。しかし、クライアントコンピュータ内のＯＳやアプリケーションによって製作され、プリンタに送信されたドキュメント名については、ジョブ情報として取得できる事が多い。
【００６０】
そこで、ジョブＩＤの代わりに、クライアント側で管理可能であり、プリンタ側からも、ジョブＩＤの代わりに、ジョブ情報のキーとして取得可能なドキュメント名を識別情報として管理することが考えられる。しかし、従来のドキュメント名をそのまま用いると、問題が生ずる。クライアント側のＯＳ又はアプリケーションが管理できるのは、一般に８文字より多く、一般に用いられているＯＳにおいては２５５文字までのドキュメント名が付与できる。プリンタが管理できるのは、前述したように８文字までである。また、一般に、ジョブ管理方式において利用できるドキュメント名は８文字までである。これでは、クライアント側において８文字以上のドキュメント名を付けた場合には、クライアント側のＯＳ又はアプリケーションが付けたドキュメント名は異なっている場合であっても、同じドキュメント名のジョブがプリンタ内に並存する場合が出てきて、混乱が生ずる。そこで、アカウントサーバ側でホストＩＤを発行し、クライアント側で発行されたドキュメント名と組合わせて用いるのである。これにより、８文字以内でアカウントサーバが管理する、クライアントコンピュータとプリンタを含む印刷システムにおいて一意に定まる新ドキュメント名が完成する。そして、この新ドキュメント名をジョブＩＤの代わりとしてジョブの識別に用いることができるのである。一度、クライアント側で新ドキュメント名を生成してしまえば、以後、プリンタ、クライアント、アカウントサーバにおいて、このドキュメント名をジョブの識別子として活用できる。新ドキュメント名を含むジョブは、印刷データと共に、クライアントコンピュータからプリンタに送られ、プリンタ側で処理される。そして、プリンタは、当該ジョブに対応する印刷処理を開始するとともに、当該ジョブ情報に含まれる新ドキュメント名を取得し、印刷完了及び排紙完了などに応答して、当該ジョブに対応するジョブ情報として機器ログを生成し、更新する。そして、クライアントコンピュータから送信されたものと同じ新ドキュメント名を含むこの機器ログは、ジョブアカウントサーバに送信され、後述の処理が行われる。
【００６１】
図１６は、本発明の実施形態におけるログをマージし、最終ログを作成する手順の一例を示すフローチャートである。図１６のフローチャートを用いて、ジョブログマージ部１２３（機器ジョブログマージ部）の動作を説明する。
【００６２】
Ｓ１６０１において、ジョブログマージ部１２３は、未処理のマージログがあるか検索し、あればＳ１６０２に進む。無ければ処理を終了する。Ｓ１６０２において、ジョブログマージ部１２３は、プリンタが機器ログを備えているか判別し、備えていればＳ１６０３に進む。備えていなければＳ１６０７に進む。Ｓ１６０３において、ジョブログマージ部１２３は、未処理の機器ログでドキュメント名の項目がＳ１６０１のマージログと同じログがあるか検索して判断し、あると判断した場合は、Ｓ１６０４に進む。Ｓ１６０１のマージログと同じログが無いと判断した場合は、処理を終了する。Ｓ１６０４において、ジョブログマージ部１２３は、機器ログの排紙ページ数排紙枚数をマージログに置換又は追加する。
【００６３】
図１３は、本発明の実施形態における機器ログの一例を示す図である。Ｓ１６０５において、ジョブログマージ部１２３は、ドキュメント名と元ドキュメント名を入れ換える。図１２と図１３の機器ログに適用すると、
「ドキュメント名：２００１年度年次報告書
元ドキュメント名：abcd0001    」
となる。
【００６４】
Ｓ１６０６において、ジョブログマージ部１２３は、マージログの元ドキュメント名を削除する。これを最終ログとする。図１２と図１３の機器ログに適用すると、図１８のようになる。Ｓ１６０７において、ジョブログマージ部１２３は、最終ログを１２４ジョブログ記録部に送信する。図１３及び図１４に示す機器ログには、実際の排紙ページ数、実際の排紙枚数、機種名、プリンタにおける処理の開始時刻、排紙完了などの出力処理時刻などが含まれる。
【００６５】
以上説明したように、本発明によれば、より正確なドキュメント名、排紙情報を格納するジョブ情報を取得することが可能になり、より厳密なジョブアカウントを行うことが可能になる。つまり、アカウントサーバが管理する印刷システムにおいて、唯一の識別情報を用いてマージ処理を行う仕組みを提供したので、ジョブ情報の管理及び、印刷枚数、排紙枚数等のカウントにおいても、異なるジョブを同じジョブとして誤って併合して管理してしまうことがなくなり、正確なジョブアカウントが可能となる。
【００６６】
（第二実施形態）
以下、第一実施形態と異なる部分を中心に説明する。図１９は、本発明の実施形態におけるジョブログマージ部１１６におけるマージ処理の一例を示す図である。以下、図１９のフローチャートを用いて、ジョブログマージ部１１６の動作を説明する。ジョブログマージ部１１６は各ログを受信して取得し、その内容をクライアントコンピュータ内のＨＤＤ等に記録しておく。そして以下の処理を定期的に起動する。Ｓ１９０１において、ジョブログマージ部１１６は、未処理の送信部ログがあるか検索し、あると判断した場合ばＳ１９０２に進む。Ｓ１９０１で未処理の送信部ログが無いと判断した場合は、処理を終了する。Ｓ１９０２において、ジョブログマージ部１１６は、送信部ログの内容をコピーする。これをログＡとする。ここで送信部ログの処理済フラグをＹＥＳとする。Ｓ１９０３において、ジョブログマージ部１１６は、ログＡからジョブＩＤを抜き出して取得する。そして、Ｓ１９０４において、ジョブログマージ部１１６は、Ｓ１９０３で取得したログＡに係るジョブＩＤのうち、まだマージ処理並びに時刻判断処理が未処理のものがあるか否かを判断する。
【００６７】
Ｓ１９０４で未処理のものがないと判断した場合は、処理を終了する。また、Ｓ１９０４において未処理のジョブＩＤに係るジョブ情報があるとジョブログマージ部１１６が判断した場合は、Ｓ１９０５に進む。Ｓ１９０５以下では、Ｓ１９０３で未処理と判断されたジョブＩＤのうち、ここでは最も小さな番号のジョブＩＤをＮとして処理を進める。そして、Ｎと等しいジョブＩＤを持つログがあるか否かをフックログ、ドライバログ、ＡＰＩログ、送信部ログから検索してジョブログマージ部１１６が特定し、特定されたログをログＢとする。Ｓ１９０５で、Ｎと等しいジョブＩＤを持つログが無いとジョブログマージ部１１６が判断した場合は、Ｓ１９１２でジョブＩＤ  Ｎを処理済みとマークし、他の未処理のジョブＩＤの判断処理へ進む（Ｓ１９０４）。Ｓ１９０５で、Ｎと等しいジョブＩＤを持つログがあるとジョブログマージ部１１６が判断した場合は、Ｓ１９０６以下に進んでマージ処理を行う。
【００６８】
以下、Ｓ１９０６以下では、ジョブ情報のジョブＩＤ  Ｎのエントリについて処理が行われる。Ｓ１９０６では、ログＢの開始時刻がログＡの開始時刻より前か否かを判断する。開始時刻より前であれば、Ｓ１９０７に進み、開始時刻より前でなければ、Ｓ１９０８の処理を行う。Ｓ１９０７において、ジョブログマージ部１１６は、ログＡの開始時刻をログＢの開始時刻に書き換えて、Ｓ１９０８に進む。
【００６９】
Ｓ１９０８において、ジョブログマージ部１１６は、ログＢの終了時刻がログＡの終了時刻より後であるか判別し、後であると判別した場合は、Ｓ１９０９に進む。後でないと判別した場合は、Ｓ１９１０に進む。Ｓ１９０９において、ジョブログマージ部１１６は、ログＡの終了時刻をログＢの終了時刻に書き換え、Ｓ１９１０へ進む。Ｓ１９１０において、ジョブログマージ部１１６は、ログＢのうち、ログＡに無い項目があるか判断、あると判断した場合は、Ｓ１９１１に進む。ないと判断した場合は、Ｓ１９１２に進む。Ｓ１９１１において、ジョブログマージ部１１６は、ログＢのうち、ログＡに無い項目を追加する。ここでログＢの処理済フラグをＹＥＳとする。ここで種別をマージとする。図７から図１０のログに図１９の処理を施すと図１２のようなログになる。図に示すようにこれはフックログ、ドライバログ、ＡＰＩログ、送信部ログの項目を備えており、さらに開始時刻はフックログ、終了時刻は送信部ログのものになっている。これにより、アプリケーションに対する印刷命令入力から、排紙完了までの、一つのジョブの生成から処理完了までのスループットを把握することが出来る。ジョブログマージ部１１６は図１９の処理の後、マージされたログを１１６ログ送信部に送る。なお、ジョブログ送信部１１７は、ＯＳの一機能である送信制御手段を制御して、ログ（併合ジョブ情報）を１２２ジョブログ取得部に、定期的に送信する処理を制御する。
【００７０】
なお、本処理を行うと、画像処理・出力処理を行う各処理において取得可能なログを、マージする順番を、データ処理順の時系列に並べなくてもよくなる。先に述べた様に、ここでも、新ドキュメント名をジョブＩＤの代わりに、マージ処理に用いることが出来る。
【００７１】
以上説明した様に、一つのジョブに対する複数のデータ処理が行われたジョブを処理するクライアント装置において、一つのジョブに対する複数のデータ処理において得られる複数のジョブ情報を取得し、アカウントクライアントが取得した複数のジョブ情報がそれぞれ含む、本発明の特定手段の好適な一例であるジョブログマージ部１１６は、開始時刻情報が示す開始時刻のうち、最も早い開始時刻を特定する特定できる。また、上述の処理と同様に、完了時刻について、最も遅い時刻を上書きしていくようにジョブログマージ部１１６を制御すれば、マージログには、最終的には最も遅い完了時刻が残され、最も遅い完了時刻を特定できる。
【００７２】
本実施形態の他の一例としては、各ログの時刻の項目で、一つのジョブＩＤに対応する、フックログ、ドライバログ、ＡＰＩログ、送信部ログを並べる。そして、この順番にマージ処理を行う。時刻の項目は、並べられた順番で、上書き併合処理を行なう必要がある。
【００７３】
図２０は、本発明の実施形態におけるジョブログマージ部１２３におけるマージ処理に一例を示す図である。以下、図２０のフローチャートを用いて、ジョブログマージ部１２３の動作を説明する。マージログがアカウントサーバ装置に送信されて図１５と同様の処理が行われる。つまり、ＩＤ生成部で生成された情報に基づいて、新ドキュメント名がマージログ内に格納され、旧ドキュメント名は、旧ドキュメント名の項目にバックアップされる。そして、ジョブログマージ部１２３において、マージログから最終ログが生成されるわけである。以下に前述したマージログの処理の変形例を示す。
【００７４】
Ｓ２００１において、ジョブログマージ部１２３は、ジョブログマージ部１２３がクライアントコンピュータから取得した未処理のマージログがあるか検索して判断し、あると判断した場合は、Ｓ２００２に進む。無いと判断した場合は、終了する。Ｓ２００２において、ジョブログマージ部は、プリンタが機器ログ取得機構を備えているか判断し、備えていると判断した場合は、Ｓ２００３に進む。備えていないと判断した場合は、Ｓ２０１１に進む。Ｓ２００３において、ジョブログマージ部１２３は、ジョブログマージ部１２３が、プリンタから取得した機器ログについて、未処理の機器ログでドキュメント名がＳ２００１のマージログと同じ物があるか検索して判断し、同じものがあると判断した場合は、Ｓ２００４に進む。同じものが無いと判断した場合は終了する。Ｓ２００４において、ジョブログマージ部１２３は、機器ログの排紙ページ数排紙枚数をマージログに追加する。Ｓ２００５において、ジョブログマージ部１２３は、ドキュメント名と元ドキュメント名を入れ換える。図１２と図１３の機器ログに本処理を適用すると、
「  ドキュメント名：２００１年度年次報告書
元ドキュメント名：abcd0001」
となる。つまり、ジョブログマージ部１２３は、本発明の新ドキュメント名の好適な一例であるａｂｃｄ０００１をキーにして、元々格納されていたＯＳなどでユーザが作成し、印刷対象とファイル名を指定する際に用いるドキュメント名「２００１年度年次報告書」を読み出して置き換える。
【００７５】
図１７は、本発明の実施形態における最終ログの一例を示す図である。Ｓ２００６において、マージログの元ドキュメント名を削除する。これを最終ログとする。図１２と図１３のログに適用すると、図１７のようになる。Ｓ２００７において、機器ログの開始時刻がマージログの開始時刻より前であるか判別し、前であれば、Ｓ２００８に進む。そうでなければＳ２００９に進む。Ｓ２００８において、最終ログの開始時刻を機器ログの開始時刻にする。Ｓ２００９において、機器ログの終了時刻がマージログの終了時刻より後であるか判断し、後であると判断した場合は、Ｓ２０１０に進む。後で無いと判断した場合は、Ｓ２０１１に進む。Ｓ２０１０において、最終ログの終了時刻を機器ログの終了時刻にして、処理を終了する。
【００７６】
図２１は、本発明の実施形態における最終ログの一例を示す図である。Ｓ２０１１において、最終ログを１２４ジョブログ記録部に送信する。生成されたジョブログは、図２１のようになる。このようにすれば、ジョブログマージ部１２３は、図２１に示す最終ログには、ホストコンピュータにおける出力開始時刻、並びに、出力終了時刻を正確に反映して管理することができ、正確な画像処理開始から出力完了までのスループットを計測可能となる。アプリケーション４３の一つであるジョブログマージ部１２３は、各ログを合成して得られる図２１のような画面を、ＯＳ４２に対してジョブアカウントサーバ１２１上のＣＲＴ２０５の表示画面に表示するよう命令してもよい。つまり、ジョブログマージ部１２３は、クライアント側から取得したマージログと、プリンタ側から取得した機器ログとを、ジョブＩＤやドキュメント名と合わせて、一つの表示画面にテーブルとして一覧表示する処理を制御する。それぞれ別々に管理され、表示されていたので、ユーザは、ウインドウシステムを何回もクリックして所望の画面を出していたが、上述のマージしたログをまとめたものを一覧表示が出来るので、表示が簡易化され、かつ視認性、操作性に優れたジョブ管理システムが提供可能となる。
【００７７】
また、ジョブログマージ部１２３は、クライアント側からは論理ページを取得し、プリンタ側からは実際に廃止された排紙枚数や排紙ページ数を取得するようにするとよい。ここで、排紙枚数とは、何枚の紙が排紙されたかであり、排紙ページ数は、何ページの物理ページが排紙されたかを示す数字である。
【００７８】
つまり、ジョブログマージ部１２３は、一つのジョブに対する複数のデータ処理において得られる複数のジョブ情報を取得し、ジョブログマージ部１２３が取得した一つのジョブに対応した複数の処理より得られる、フックログ、ＡＰＩログ、ＡＰＩログ、機器ログ等がそれぞれ含む、各ログの開始時刻情報並びに、完了時刻情報のエントリが示す開始時刻のうち、最も早い開始時刻と、最も遅い完了時刻を特定できるのである。そして、各時刻情報は、前述の通り、マージ処理され、併合されたジョブ情報として格納される。
【００７９】
以上説明したように、本発明によれば、より印刷開始時刻および印刷終了時刻を取得することが可能になり、より厳密なジョブアカウントを行うことが可能になる。
【００８０】
（第三実施形態）
本発明は、プリンタが機器ログを備えている場合にのみ、有効なわけではない。ドキュメント名を一意にすることにより、フックログ、ドライバログ、ＡＰＩログをマージすることが可能である。
【００８１】
また、ＯＳによっては、ＯＳが発行するジョブＩＤが一意性を保証しないことがある。この場合、図１５のＳ２００１の判別処理を、「ジョブＩＤが一意であるか否か？」の判別処理に置き換え、一意でない場合、ドキュメント名の変更処理を行うようにすればよい。また、Ｓ１１０１、Ｓ１９０１などでは、ジョブＩＤは、前述の実施形態に送信部ログのジョブＩＤを用いたが、他のログ（フックログ、ドラバログ、ＡＰＩログ等）のジョブＩＤを基本にして、マージ処理を行ってもよいことは言うまでも無い。
【００８２】
以上説明したように、上述の実施形態によれば、クライアントコンピュータから取得したジョブ情報と、プリンタから取得したジョブ情報とをマージ処理して管理するので、例えば、コンピュータ側において、物理ページ数や、論理ページ数を取得し、プリンタ側において、実際の印刷の完了に応答して、実際に排紙された排紙枚数や排紙ページ数を取得することができる。これらの情報をマージして管理し、比較可能とすることで、ペーパージャムエラー等のプリンタのエラーが起こって排紙枚数がコンピュータ側の物理ページ枚数と一致しない場合であっても、一つのジョブでいかなる変遷（ドライバでは適正に処理されたが、プリンタ側でジャムエラーが起こった等）を辿ったのかを把握することができる。また、データ処理において、ジョブごとに様々な処理を行った場合、例えば、あるジョブは、ＰＤＬデータから印刷処理を開始し、あるジョブは、スプーラに直接データを送信する場合ような場合などであっても、複数の過程でジョブ情報を取得するので、より正確なログを取得することができる。
【００８３】
（他の実施形態）
本実施形態における各図（図１１、図１６、図１９、図２０等）に示すフローチャートに示す処理、及び、図１、図１８に示す各モジュールが、外部からインストールされるプログラムによって、各コンピュータのそれぞれにより遂行される。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群がクライアントコンピュータに供給される場合でも本発明は適用されるものである。
【００８４】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ（図示省略）からダウンロードすることで、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００８５】
この場合、記憶媒体から読み出されたジョブアカウントサーバやジョブアカウントクライアントプログラム等のプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィー（Ｒ）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【００８６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、外部の所定のサーバ装置（図示省略）からネットワークを介して送信された、又は、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
【発明の効果】
以上説明した様に、本発明によれば、ジョブ情報を周辺機器並びにコンピュータの両方から取得するので、周辺機器の利用状況をより正確に取得でき、ジョブの情報を、クライアントコンピュータ並びに画像形成装置それぞれから取得して、正確なジョブ情報を把握することができる。
【図面の簡単な説明】
【図１】本発明の実施形態の一例を示すジョブアカウントシステムの構成を示す図である。
【図２】図１に示したジョブアカウントシステムを構成するクライアントコンピュータおよびサーバコンピュータの構成の一例を示すブロック図である。
【図３】図１に示したジョブアカウントシステムを構成するプリンタの構成の一例を示すブロック図である。
【図４】図１に示したジョブアカウントシステムのメモリマップの一例を表す図である。
【図５】本発明の実施形態の一例であるジョブアカウントプログラムおよび関連データが格納されているＦＤの構成内容を示す図である。
【図６】本発明の実施形態の一例であり、ＦＤに記録されたジョブアカウントプログラムおよび関連データをコンピュータシステムにロードする一例を示す図である。
【図７】本発明の実施形態におけるフックログの一例を示す図である。
【図８】本発明の実施形態におけるドライバログの一例を示す図である。
【図９】本発明の実施形態におけるＡＰＩログの一例を示す図である。
【図１０】本発明の実施形態における送信部ログの一例を示す図である。
【図１１】本発明の実施形態におけるログをマージする手順の一例を示すフローチャートである。
【図１２】本発明の実施形態のマージログの一例を示す図である。
【図１３】本発明の実施形態における機器ログの一例を示す図である。
【図１４】従来の機器ログの一例を示す図である。
【図１５】本発明の実施形態のドキュメント名を変更する手順の一例を示すフローチャートである。
【図１６】本発明の実施形態におけるログをマージし、最終ログを作成する手順の一例を示すフローチャートである。
【図１７】本発明の実施形態における最終ログの一例を示す図である。
【図１８】本発明のジョブアカウントシステムの実施形態の前提となるシステムの一例を示す図である。
【図１９】本発明の実施形態におけるジョブログマージ部１１６におけるマージ処理の一例を示す図である。
【図２０】本発明の実施形態におけるジョブログマージ部１２３におけるマージ処理に一例を示す図である。
【図２１】本発明の実施形態における最終ログの一例を示す図である。
【符号の説明】
６０  フレキシブルディスクＦＤ
６１  フレキシブルディスクドライブコントローラＤＫＣ
６２  コンピュータ
１１１  フックログ
１１２  ドライバログ
１１３  ＡＰＩログ
１１４  送信部ログ
１１５  機器ログ
１１６  ジョブログマージ部
１１７  ジョブログ送信部
１１８  ジョブアカウントクライアント
１２２  ジョブログ受信部
１２３  ジョブログマージ部
１２１  ジョブアカウントサーバ
１２６  ＩＤ発生部
【図１】
0003880434.tif 000002
【図２】
0003880434.tif 000003
【図３】
0003880434.tif 000004
【図４】
0003880434.tif 000005
【図５】
0003880434.tif 000006
【図６】
0003880434.tif 000007
【図７】
0003880434.tif 000008
【図８】
0003880434.tif 000009
【図９】
0003880434.tif 000010
【図１０】
0003880434.tif 000011
【図１１】
0003880434.tif 000012
【図１２】
0003880434.tif 000013
【図１３】
0003880434.tif 000014
【図１４】
0003880434.tif 000015
【図１５】
0003880434.tif 000016
【図１６】
0003880434.tif 000017
【図１７】
0003880434.tif 000018
【図１８】
0003880434.tif 000019
【図１９】
0003880434.tif 000020
【図２０】
0003880434.tif 000021
【図２１】
0003880434.tif 000022