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