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