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