[go: up one dir, main page]

JP2004178325A - Job management method - Google Patents

Job management method Download PDF

Info

Publication number
JP2004178325A
JP2004178325A JP2002344579A JP2002344579A JP2004178325A JP 2004178325 A JP2004178325 A JP 2004178325A JP 2002344579 A JP2002344579 A JP 2002344579A JP 2002344579 A JP2002344579 A JP 2002344579A JP 2004178325 A JP2004178325 A JP 2004178325A
Authority
JP
Japan
Prior art keywords
job
log
information
unit
printer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002344579A
Other languages
Japanese (ja)
Inventor
Jun Horiyama
潤 堀山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002344579A priority Critical patent/JP2004178325A/en
Publication of JP2004178325A publication Critical patent/JP2004178325A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】周辺機器から取得したジョブ情報を集計する際に、ユーザの選択によって集計項目を変更することができ、各ユーザにとって好適な集計結果を得ることができるジョブ管理方法を提供する。
【解決手段】ジョブアカウントサーバ121は、ユーザが利用するクライアントコンピュータ101からプリンタ108〜110に出力されたジョブ情報を管理する。まず、ジョブ情報を集計する際の集計項目が設定され、ジョブログ集計部125では、ジョブログ記録部124に記録されたジョブ情報から、設定された集計項目に基づいてジョブ情報が取得される。そして、取得されたジョブ情報に含まれる例えば、枚数情報等の履歴情報が集計され、集計された履歴情報の集計結果が出力される。
【選択図】 図1
An object of the present invention is to provide a job management method capable of changing a total item by selecting a user when totaling job information acquired from a peripheral device, and obtaining a total result suitable for each user.
A job account server manages job information output from a client computer used by a user to printers. First, a total item when totaling job information is set, and the job log totaling unit 125 acquires job information from the job information recorded in the job log recording unit 124 based on the set total item. Then, for example, history information such as the number-of-sheets information included in the acquired job information is totaled, and a totaling result of the totaled history information is output.
[Selection diagram] Fig. 1

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークに接続されたプリンタ、スキャナ、ファクシミリ、複写機及びそれらを統合したマルチファンクション機器(MFP)等の周辺機器に対するジョブ情報を管理する技術に関する。
【0002】
【従来の技術】
従来から、画像処理システムにおけるジョブ情報を取得して管理するジョブ管理方法が開発されてきている。適切なジョブ情報の管理(ジョブアカウント)を行うためには、周辺機器で実行されたジョブ情報を取得し、取得したジョブ情報をユーザの用途に合わせて集計できることが重要である。
【0003】
従来、取得したジョブ情報を集計する際には、予めシステム側で決められた項目に従って集計され、その結果が表示されている。項目の例としては、「ユーザ名」、「プリンタ名」、「出力枚数」等が挙げられる。すなわち、従来は、「誰が、どのプリンタに、何枚出力した」という集計結果を示していた。
【0004】
【発明が解決しようとする課題】
しかしながら、従来のジョブ情報の集計結果では、必ずしもユーザが必要とする情報が得られない場合があった。何故ならば、ユーザが必要とする集計項目の内容は、各ユーザによって異なるからである。
【0005】
本発明は、このような事情を考慮してなされたものであり、周辺機器から取得したジョブ情報を集計する際に、ユーザの選択によって集計項目を変更することができ、各ユーザにとって好適な集計結果を得ることができるジョブ管理方法を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記課題を解決するため、本発明は、情報処理装置から周辺機器に出力されたジョブ情報を管理するジョブ管理方法であって、前記ジョブ情報を集計する際の集計項目を設定する設定工程と、設定された前記集計項目に基づいて前記ジョブ情報を取得する取得工程と、取得された前記ジョブ情報に含まれる履歴情報を集計する集計工程と、前記集計工程で集計された前記履歴情報の集計結果を出力する出力工程とを有することを特徴とする。
【0007】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態について説明する。
【0008】
<第1の実施形態>
図18は、本発明の第1の実施形態に係る周辺機器のジョブ情報を管理するジョブアカウントシステムの概要を説明するためのブロック図である。図18に示すように、本実施形態においてジョブアカウントシステムは、クライアントコンピュータ101と、ジョブアカウントサーバ121と、周辺機器(本実施形態では、プリンタ108〜110)とから構成されている。
【0009】
ここで、上記システムの構成メンバである画像形成装置の好適な一例であるプリンタ108〜110について説明する。本実施形態では、プリンタ108〜110は、それぞれ異なる機能を有しており、それに応じて動作が異なっている。例えば、プリンタ108は最も一般的なプリンタであり、クライアントコンピュータ101の送信部107から送信されたデータを受信し、そのデータを印刷する機能を有する。また、プリンタ109はジョブ終了時点でそのジョブの総排紙ページ数をクライアントコンピュータ101の送信部107に返信する機能を有する。さらに、プリンタ110は印刷後にジョブ情報をプリンタ内の記憶装置に格納する機能を有する。
【0010】
また、図18のクライアントコンピュータ101は、次のようにプリンタ108〜110に印刷を行わせる。すなわち、クライアントコンピュータ101のアプリケーション102は、OSのグラフィック描画を処理するサブシステムであるGDI104を、API(アプリケーションプログラミングインタフェース)を呼び出すことによって操作する。そして、クライアントコンピュータ101のプリンタドライバ105が、GDI104からの要求を印刷を行うプリンタ(ここでは、プリンタ108〜110のいずれか)に適合した形式に変換し、スプーラ106に送信する。
【0011】
そして、クライアントコンピュータ101のジョブアカウントクライアント118は、アプリケーション102によるGDI104の呼び出しをフック(監視して認識)する。
【0012】
ここで、ジョブアカウントクライアント118は、プリンタにおける改ページ或いは排紙を行うAPIをカウントすることで、アプリケーション102が発行したジョブの排紙枚数或いはページ数をフック部103を介して取得する。これにより取得したジョブ情報を「フックログ」と称す。
【0013】
また、ジョブアカウントクライアント118は、あらかじめプリンタドライバ105とのプロトコルを定義し、通信することで、ジョブ情報をクライアントコンピュータ101内のプリンタドライバ105から受信することができる。これにより取得したジョブ情報を「ドライバログ」と称す。
【0014】
さらに、ジョブアカウントクライアント118は定期的にスプーラ106を監視し、スプールされているジョブが有れば、そのジョブの情報をAPIで取得することにより、ジョブの排紙枚数或いはページ数を取得する。これにより取得したジョブ情報を「APIログ」と称する。
【0015】
さらにまた、ジョブアカウントクライアント118は、送信部107とのプロトコルを定義し通信することで、プリンタが返す総排紙ページ数を取得する。これにより取得したジョブ情報を「送信部ログ」と称する。
【0016】
また、ジョブアカウントサーバ118は、画像形成装置の好適な一例であるプリンタ110等のように、プリンタ内にジョブ情報を記憶するプリンタ(本実施形態では、プリンタ110)とプロトコルを定義し通信することで、プリンタからジョブ情報を取得する。これにより取得したジョブ情報を「機器ログ」と称す。機器ログは、プリンタ内のRAM又はHDDに記憶されるが、記憶容量の制限のため、送信部107から送信されたドキュメント名等の情報をすべて記憶することができないことが多い。
【0017】
尚、周辺機器としての画像形成装置には、上述したようなプリンタの他にも、ファクシミリ、複写機、複写機の一種であるプリンタとスキャナとを組合せたコピーシステム及びこれらの複合機を含むものであってもよい。
【0018】
また、本実施形態では、ジョブアカウントクライアント118は、上述したフックログ、ドライバログ、APIログ、送信部ログ及び機器ログのうち、どれを選択するかの優先順位を設けておき、いずれかをジョブアカウントサーバ118に送信する。そして、ジョブアカウントサーバ118は、閲覧希望者等からの要求に応じてジョブログを選択し、単位期間別、デバイス別、ジョブ発行者別等の集計処理等を行う。
【0019】
以下、本実施形態に係るジョブアカウントシステムの詳細について説明する。
【0020】
図1は、本発明の第1の実施形態に係るジョブアカウントシステムの細部モジュール構成を示すブロック図である。図1に示すように、本発明は複数の機器からなるシステムにおいて達成される。また、本システムの各装置にプログラムを供給することにより、同様に本発明の適用が可能であることはいうまでもない。以下では、一回の印刷ジョブに対して、フックログ、ドライバログ、APIログ及び送信部ログの4つのログが作成される様子について詳細に説明する。また、本実施形態に係るジョブアカウントシステムの概要については既に説明したので、以下では、図18を用いて上述したものと異なる部分について特に詳述する。
【0021】
図1において、101は標準的なパーソナルコンピュータ(PC)又はワークステーションからなるクライアントコンピュータであり、アプリケーション102から印刷が指示された場合、送信部107を介して、プリンタ108〜110のいずれかに印刷データを送信する。クライアントコンピュータ101内のCPUで実行されるソフトウェアモジュールであるジョブアカウントクライアント118は、各種印刷処理に関するログを収集して、そのログをジョブログ送信部117を介してジョブアカウントサーバ121に送信する。この際、ジョブアカウントクライアント118の一部であるジョブログ送信部117は、OSが提供する送信部107を制御して、ジョブログ受信部122へログを送信してもよい。
【0022】
クライアントコンピュータ101において、アプリケーション102に対して印刷指示が発行されると、図18を用いて説明した場合と同様に、アプリケーション102は描画のためのGDIコールを行う。フック部103は、ジョブアカウントクライアント118により組み込まれるもので、GDIコールをフックして、どのGDIコールがいかなるパラメータで呼ばれたのか、或いは呼ばれた回数等の情報を蓄積する。この情報に基づいて作成された履歴を「フックログ」111と称す。図7は、第1の実施形態において作成されるフックログ111の一例を示す図である。クライアントコンピュータ101のフック部103は、規定の判断基準に基づき、場合によってはドキュメント名を変更する。ドキュメント名並びにその変更処理については後述する。
【0023】
プリンタドライバ105は、GDIコールを印刷設定に従ってプリンタが解釈できる印刷データに変換し、スプーラ106に送信する。また、プリンタドライバ105は、変換した内容から印刷情報を抜き出し、それをドライバログ112としてジョブアカウントクライアント117に送信する。
【0024】
ジョブアカウントクライアント117は、常にスプーラ106にジョブが溜まっていないかどうかを監視している。そして、スプーラ106にジョブが存在すれば、ジョブアカウントクライアント117はOSにより規定されているAPIを発行し、印刷情報を取得して、それをAPIログ113として取得する。
【0025】
送信部107は、ネットワークを介してプリンタ108、109、110のうち、いずれかのアプリケーションから指定されたプリンタと通信し、当該プリンタがレディ(Ready)状態であれば、印刷データを送信する。このとき、例えば、HP社のPrinter Job Language(プリンタ・ジョブ・ランゲージ)のコマンドを用いれば、プリンタ109において、印刷ジョブの全ページの排紙が完了した後に当該ジョブが排紙したページ数を取得することが可能である。送信部(ポートモニタ)107は、プリンタ109から受信したページ数等のジョブ情報を、ジョブアカウントクライアント118に送る。ここで、この情報に基づいて作成された印刷ログを「送信部ログ」114と称す。
【0026】
このように、ジョブアカウントクライアント118では、一回の印刷ジョブに対して、フックログ111、ドライバログ112、APIログ113、送信部ログ114の4つのログが取得される。但し、常に4つのログが取得されるとは限らない。例えば、クライアントコンピュータ101のアプリケーション102がスプーラ106に直接印刷データを送った場合、フックログ111やドライバログ112は取得することができない。また、プリンタドライバ105とジョブアカウントクライアント118間でプロトコルが規定されていなければ、ドライバログ112は取得できない。さらに、プリンタ108のように排紙ページ数を送信部107に通知する機能がない場合は、送信部ログ114の排紙ページ情報を取得できない。しかし、ジョブに係る複数の処理においてログを取得することで、一部の処理においてログ取得が不可能な場合であっても、総合的にはログを取得できる確率が高くなる。
【0027】
一方、プリンタ108は、送信部107から送られたジョブを解釈し、印刷を実行する。また、プリンタ109は、送信部107から送られたジョブを解釈し、印刷を実行する。そして印刷終了後、排紙ページ数、排紙枚数を送信部107に返信する。さらに、プリンタ110は、送信部107から送られたジョブを解釈し、印刷を実行する。そして印刷終了後、ジョブ情報を後述する内部のHDDに記憶する。
【0028】
ジョブアカウントサーバ121において、ジョブログマージ部116は、フックログ111、ドライバログ112、APIログ113、送信部ログ114をマージ処理して、ジョブログ送信部117に送信する。尚、マージ処理については、後述する。そして、ジョブログ送信部117はジョブアカウントサーバ121のジョブログ受信部122にジョブログを送信する。
【0029】
図2は、図1に示したジョブアカウントシステムを構成するクライアントコンピュータ101及びジョブアカウントサーバ121の電気的構成の一例を示すブロック図である。図2において、201はCPU、即ち中央処理装置であり、それぞれのコンピュータ全体の制御及び演算処理等を行うものである。また、202はROM、即ち読み出し専用メモリであり、システム起動プログラムの情報等の記憶領域である。
【0030】
さらに、203はRAM、即ちランダムアクセスメモリであり、使用制限のないデータ記憶領域であり、オペレーティングシステム、アプリケーション102、フック部103、GDI104、プリンタドライバ105、送信部107、ジョブアカウントクライアント118等のソフトウェアモジュール及び通信制御等のプログラムがHD部206やROM202からロードされ、CPU201により実行される領域である。
【0031】
さらにまた、204はKBC、即ちキーボード制御部であり、キーボードより入力データを受け取りCPUへ伝達する。205はCRT、即ちディスプレイ制御部(表示制御手段)であり、ディスプレイ装置への表示制御をする。206はHD部、即ちFD(フレキシブルディスク装置)、HD(ハードディスク装置)、SRAM(不揮発性記憶装置)等の外部記憶装置であり、プログラムおよびデータを記憶、格納しておき、実行時に必要に応じて参照またはRAM203へロードする。
【0032】
207は通信部であり、ネットワーク通信制御を行うものであり、図1を用いて上述したように、ネットワークに接続された他のコンピュータや周辺機器との通信が可能であり、送信部107、ジョブログ送信部117により制御される。また、208はシステムバスであり、上述された構成要素間のデータの通路となるべきものである。
【0033】
原則として、ジョブアカウントサーバ121もハードウェア的にはクライアントコンピュータ101と同様の構成をとりうる。但し、ジョブアカウントサーバ121のHDD内には、ジョブログマージ部123、ジョブログ記録部124、ジョブログ受信部122及びジョブログ集計部125が記憶されている。そして、ジョブログ受信部122は、図2に示す通信部207を制御する。
【0034】
図3は、図1に示されるジョブアカウントシステムを構成するプリンタ108〜110の細部構成の一例を示すブロック図である。図3において、305はプリンタ全体を制御するコントローラ部である。コントローラ部305の内部構成として、301はCPU、即ち中央処理装置であり、このコントローラ部305の制御及び演算処理等を行うものである。302はROM、即ち読み出し専用メモリであり、システム起動プログラムの情報等の記憶領域である。303はRAM、即ちランダムアクセスメモリであり、使用制限のないデータ記憶領域であり、304はHD、即ちハードディスク或いはSRAM等の不揮発性記憶装置である。また、RAM303はオペレーティングシステムや通信制御およびエンジン制御などのプログラムがロードされ、実行される領域でもある。
【0035】
306はこのプリンタ108〜110の入出力エンジン部であり、コントローラ部305の制御のもとで印刷動作や画像読み取り動作をするものである。307は通信部であり、ネットワーク通信制御を行うものであり、図1を用いて上述したようにクライアントコンピュータ101やジョブアカウントサーバ121との通信が可能である。308はユーザ操作入出力部であり、ユーザとの対話的な設定作業を行う。また、309はシステムバスであり、上述した各構成要素間のデータの通路となるべきものである。
【0036】
図4は、図1に示される本実施形態に係るジョブアカウントサーバ121におけるメモリマップの一例を表す図である。図4において、41は基本I/Oプログラムを示す。また、42はウィンドウシステム等オペレーティングシステムがRAM203にロードされ実行可能となった状態のメモリマップを示す。さらに、43は本実施形態におけるアプリケーションのプログラムがRAM3にロードされ実行可能となった状態のメモリマップを示す。44は関連データがRAM3にロードされ実行可能となった状態のメモリマップを示す。45は各々のプログラムが使用するワークエリアのメモリマップを示す。
【0037】
図5は、本発明の第1の実施形態におけるジョブアカウントプログラム及び関連データが格納されているフレキシブルディスク(FD)の構成内容を示す図である。本発明の第1の実施形態におけるジョブアカウントプログラム及び関連データは、フレキシブルディスク(FD)中に記録されているものとする。すなわち、フレキシブルディスク(FD)の記録領域50には、ボリューム情報51、ディレクトリ情報52、アプリケーション実行ファイル53、アプリケーション起動プログラム関連データファイル54が記録されている。
【0038】
尚、記録領域50は、DVDでもあってもよいし、また、後述するコンピュータ62にネットワーク接続された外部サーバ装置内のHDD(図示省略)であって、本実施形態のジョブアカウントプログラム(図1に示されたクライアントコンピュータ101内の各モジュール、並びに、ジョブアカウントサーバ121内の各モジュール)がネットワークを介してダウンロードして導入されたものであってもよいことは言うまでもない。ここで、コンピュータ62は、図2に示したコンピュータと同等のものである。
【0039】
図6は、本発明の第1の実施形態におけるFDに記録されたジョブアカウントプログラム及び関連データをコンピュータにロードする一例を示す図である。すなわち、フレキシブルディスク(FD)60に記録されたジョブアカウントプログラム及び関連データは、FDドライブ(DKC)61を介してコンピュータ62にロードすることができる。
【0040】
フレキシブルディスク(FD)60をFDドライブ(DKC)61にセットすると、オペレーティングシステム42及び基本I/Oプログラム41の制御のもとに、本ジョブアカウントプログラムを実現するためのプログラムモジュール等及び関連データがフレキシブルディスク(FD)60から読み出され、RAM203にロードされて使用可能となる。このようなコンピュータ62は、図18に示されたクライアントコンピュータ1000及びジョブアカウントサーバ1810並びに図1に記載されたクライアントコンピュータ101及びジョブアカウントサーバ121を実現するために用いることができる。
【0041】
また、ジョブアカウントプログラムを実現するためのプログラムモジュール等とは、図1に記載された、クライアントコンピュータ101内又はジョブアカウントサーバ121内の各ソフトウェアモジュールに該当する。もちろん、記憶媒体はFDに限定されるものではなく、DVD、CD−ROMなどを用いても同様であることは言うまでもない。
【0042】
図7は、本発明の第1の実施形態におけるフックログ111の一例を示す図である。フックログ111では、JobId、アプリケーション名、論理ページ数、ドキュメント名等が取得可能である。ここで、JobIdはGDI104に印刷開始を指示したときにGDI104から取得できるものであり、クライアントコンピュータ101の印刷ジョブを一意に指定できるものである。
【0043】
図8は、本発明の第1の実施形態におけるドライバログ112の一例を示す図である。ドライバログ112は、ジョブアカウントクライアント118が印刷実行時にプリンタドライバ105から取得可能な履歴情報である。ドライバログ112では、印刷実行に係るジョブの識別子であるJobId、ジョブが含む印刷データの用紙サイズ、N−up情報、物理ページ数の情報、両面片面情報が取得可能である。用紙サイズ、N−up、物理ページ数、両面片面情報は、プリンタドライバに印刷時又はデフォルト入力され設定される印刷設定から取得する。N−upは用紙に何面の論理ページを割り付けるかの設定である。物理ページ数は、印刷時に出力する用紙の片側を1と数える単位である。
【0044】
例えば、論理ページが4ページの場合に、両面印刷で2−upの印刷処理を行うと、物理ページは2ページとなる。そして、該物理ページが、用紙の表裏に印刷され、1枚の用紙が出力排紙される。表に論理ページの1ページ目、2ページ目、裏に論理ページの3ページ目、4ページ目が印刷される。
【0045】
図9は、本発明の第1の実施形態におけるAPIログ113の一例を示す図である。APIログ113では、JobId、ジョブのオーナ名、スプールデータサイズが取得可能である。
【0046】
図10は、本発明の第1の実施形態における送信部ログ114の一例を示す図である。送信部ログ114では、JobIdが取得可能である。例えば、プリンタ108に送信した場合は、加えて排紙ページ数、排紙枚数が取得できる。
【0047】
尚、上述したフックログ111、ドライバログ112、APIログ113、送信部ログ114のいずれにおいても、当該ジョブが処理済みか否かを示すフラグ情報、並びに、ログの種別を示す情報を記録する領域を設けるものとする。
【0048】
図11は、本発明の第1の実施形態におけるログをマージする手順の一例を説明するためのフローチャートである。以下、図11のフローチャートを用いて、クライアントコンピュータ内のジョブログマージ部116の動作を説明する。ジョブログマージ部116は、図1及び図18を用いて説明した各ログを受信し、その内容をHDD等に記録しておく。そして以下の処理を予め設定された周期で定期的に起動し、各ジョブ毎に、マージ処理を行う。
【0049】
尚、本実施形態においては、ジョブIDをキーとしてログのマージ(併合処理)を行っているが、後述するドキュメントデータ名或いは新ドキュメントデータ名をキーにしてマージしてもよい。以下、図11に示す処理では、クライアントコンピュータ101内において、ジョブログマージ部116は、クライアントコンピュータ101内の複数の各処理によって得られるジョブ情報(フックログ、APIログ、APIログ)がそれぞれ含む開始時刻情報並びに完了時刻情報のエントリが示す開始時刻のうち、最も早い開始時刻と最も遅い完了時刻を特定することができる。そして、各時刻情報は、前述した通り、マージ処理して併合されたジョブ情報として格納される。
【0050】
まず、本発明において管理手段として機能する好適な一例であるジョブログマージ部116は、処理済みフラグがYESとなっていない送信部ログ(図10参照)、すなわち、未処理の送信部ログがあるか否かを検索する(ステップS1101)。その結果、未処理の送信部ログがあれば(Yes)、ステップS1102に進む。
【0051】
ステップS1102において、ジョブログマージ部116は、ステップS1101において未処理と特定された送信部ログ114を別のテンポラリの記憶領域にコピーし、これをログAとする。次いで、ログAからJobIDの部分を取得する(ステップS1103)。さらに、ジョブログマージ部116は、ステップS1103で取得したJobIDに対応するログのうち、まだマージ処理を行っていない、すなわち未処理であるログがあるか否かを、JobIDに基づいてフックログ111、ドライバログ112、APIログ113の各ログを検索して特定することで判断する(ステップS1104)。
【0052】
その結果、ステップS1104で未処理のログが無いと判断した場合(No)は処理を終了する。一方、ステップS1104で未処理のログがあるとジョブログマージ部116が判断した場合(Yes)は、ジョブログマージ部116はステップS1105に進んで、ステップS1104で未処理と判断されたJobID(ここでは便宜のためNとする)と等しいJobIDのログが有るか否かをJobIDに基づいてフックログ111、ドライバログ112、APIログ113の各ログの中から検索して特定しこれをログBとする。
【0053】
その結果、ステップS1105でNと等しいJobIDのログがフックログ111、ドライバログ112、APIログ113の各ログには無かった場合には(No)、ステップS1108に進む。一方、ステップS1105で、Nと等しいJobIDが各ログのいずれかにあった場合(Yes)は、ステップS1106に進む。ステップS1105では、例えば、Nは未処理のログAが含むJobIDのうち、小さなものから順に特定してNとすればよい。
【0054】
ステップS1106において、ジョブログマージ部116は、ステップS1105で特定した、ログAのJobIDNに対応するログの各項目(JobIDNについて取得された各ログが含むジョブ情報)について、ログBが含む項目のうちログAに無い項目があるか否かを判断する。その結果、ステップS1106でログAのJobIDNの項目について、ログBのうちログAに無い項目がないと判断した場合(No)は、ジョブログマージ部116はステップS1108の処理を行う。
【0055】
一方、ステップS1106でログBのうちログAに無い項目があると判断した場合(Yes)、ジョブログマージ部116は、ログAのJobIDNの項目について、ログBのうちログAに無い項目を追加してログAに格納されているデータを併合する(ステップS1107)。ここでログAにログBの項目を付加して作成したログ(以下、「マージログ」127と称す。)の処理済フラグを「YES」としステップS1108に進む。
【0056】
続いて、当該マージログの種別の項目を「マージ」とする。送信部ログ114に対して、図7から図10に示した各ログを図11の処理に基づいて次々にマージすると、図12のようなマージログになる。すなわち、図12は、本発明の第1の実施形態におけるフックログ111、ドライバログ112、APIログ113及び送信部ログ114の項目を備えているマージログ127を示す図である。
【0057】
尚、図11において、ステップS1108に続くステップS1104では、ログAに係る全てのJobIDについて処理が終わったと判断した場合(No)には、処理を終了する。
【0058】
ジョブログマージ部116は、通常、マージ処理を終えるたびに(すなわち、図11に示す処理の後)、マージされたログをログ送信部116に送る。尚、ログ送信部116は、送られてきたログを定期的に、或いは、ジョブログ受信部122の要求に応じて、ジョブログ受信部122に送信する。
【0059】
次に、ジョブアカウントサーバ121の動作について説明する。本実施形態における取得手段の好適な一例であるジョブログ受信部122は、ジョブログ送信部117から送られてくるジョブを取得(受信)して蓄積する。また、定期的にプリンタ110をポーリングし、まだ受信していないジョブ情報があればそれを取得する。このジョブ情報を機器ログ115とする。
【0060】
機器ログ115は、コントローラ部305におけるRAM303或いはHD部304に記憶されるが、記憶容量の制限のため送信部107から送信されたドキュメント名等の情報をすべて記憶することは望ましくない。尚、本実施形態では、ドキュメント名の上限が8文字であるとする。図13は、第1の実施形態における機器ログ115の例を示す図である。また、図14は、第1の実施形態におけるクライアントコンピュータ101のフック部103が動作していない場合の機器ログ115の例を示す図である。
【0061】
一方、本実施形態における管理手段の好適な一例であるジョブログマージ部123は、ジョブアカウントクライアント118から送られたマージログ127と機器ログ115とをマージする。尚、これらをマージする手順については後述する。
【0062】
また、ジョブログ記録部124は、ジョブログマージ部123からジョブログを受け取りHD206等に記憶する。ジョブログ集計部125は、閲覧者からの指示によって、単位期間ごとの印刷ページ数を求めたり、オーナごとの印刷ページ数を求める等の集計処理を行う。
【0063】
ID発生部126は、クライアントコンピュータ101を一意に識別するためのIDを発行する。本実施形態では、各桁がaからzの26通りの値をとりうる4桁の文字列をフック部103の要求に応じて、aaaa,aaab,…,zzzy,zzzzと順に変化させ、クライアントを一意に識別できるように発行する。また、本実施形態では、ホストとジョブIDの組合せを用いて新ドキュメント名を作成するものとするが、後述するように印刷システム全体で一意の新ドキュメント名をジョブアカウントサーバ121において一元発行する方式をとってもよい。
【0064】
図15は、本発明の第1の実施形態におけるドキュメント名を変更する手順の一例を説明するためのフローチャートである。以下、図15のフローチャートを用いて、フック部103の動作を説明する。
【0065】
まず、フック部103は、所定の機器管理プロトコルにより、印刷先のプリンタが機器ログ115を備えているか否かを示す情報を取得して判別する(ステップS1501)。その結果、備えていると判別した場合(Yes)は、ステップS1502へ進む。一方、フックログ部103が、プリンタが機器ログを備えていないと判断した場合(No)は、処理を終了する。
【0066】
ステップS1502において、フック部103は、クライアントIDを取得済であるか否かを判別する。その結果、クライアントIDを取得済の場合(Yes)、ステップS1504へ進む。一方、クライアントIDを取得していない場合(No)、ステップS1503へ進む。ここで、クライアントIDとは、ID発生部126が発行する、クライアントコンピュータ101を一意に識別可能な識別情報である。
【0067】
そして、ステップS1503において、フック部103は、ID発生部126と通信し、クライアントコンピュータ101を一意に識別するIDをID発生部126から取得するものとする。
【0068】
そして、ステップS1502でYesの場合及びステップS1503の処理後、クライアントコンピュータ101内でジョブを一意に特定するクライアント内JOBIDを作成する(ステップS1504)。ここでは、0001から9999までの数値を順に発行するものとする。
【0069】
さらに、フック部103は、ステップS1503で取得済みと判断したクライアントIDとS1504で作成したクライアント内JobIDとを結合し、印刷システム内で一意に定まる新しい識別情報の一例である、新ドキュメント名を作成する(ステップS1505)。
【0070】
さらにまた、フック部103は、アプリケーション102から渡された元のドキュメント名をフックログ111の項目「元ドキュメント名」に格納する(ステップS1506)。さらに、新ドキュメント名を作成し(ステップS1507)、ドキュメント名をステップS1507の新ドキュメント名に置き換える(ステップS1508)。その結果、GDIにはドキュメント名として、新ドキュメント名が渡される。GDI処理の後段である、プリンタドライバ105、スプーラ106、送信部107、プリンタ110における処理は、ドキュメント名はすべて新ドキュメント名で処理されるようにすると好適である。
【0071】
ここで、新ドキュメント名を作成した理由は、印刷装置から取得したジョブ情報をマージする際には、JobIDをそのままマージ処理のキーとして利用することは難しいからである。例えば、ジョブ管理方式の仕様の一部が非公開となっているため、A社開発のアカウントサーバAを利用する場合、A社開発のアカウントサーバは、B社開発のプリンタからは、JobIDを取得することができないことが多い。すなわち、想定していないジョブ管理方式に対応したプリンタからは、ジョブ情報を取得してもこれにジョブIDが含まれないことが多く、これをマージ処理して活用できない。しかし、クライアントコンピュータ内のOSやアプリケーションによって製作され、プリンタに送信されたドキュメント名については、ジョブ情報として取得できることが多い。
【0072】
そこで、ジョブIDの代わりに、クライアント側で管理可能であり、プリンタ側からも、JobIDの代わりに、ジョブ情報のキーとして取得可能なドキュメント名を識別情報として管理することが考えられる。しかし、従来のドキュメント名をそのまま用いると問題が生じる。クライアント側のOS又はアプリケーションが管理できるのは、一般に8文字よりも多く、一般に用いられているOSにおいては255文字までのドキュメント名が付与できる。そして、プリンタが管理できるのは、前述したように8文字までである。また、一般に、ジョブ管理方式において利用できるドキュメント名は8文字までである。これでは、クライアント側において8文字以上のドキュメント名を付けた場合には、クライアント側のOS又はアプリケーションが付けたドキュメント名は異なっている場合であっても、同じドキュメント名のジョブがプリンタ内に並存する場合が出てきて、混乱が生ずる。
【0073】
そこで、アカウントサーバ側でホストIDを発行し、クライアント側で発行されたドキュメント名と組合わせて用いる。これにより、8文字以内でアカウントサーバが管理する、クライアントコンピュータとプリンタを含む印刷システムにおいて一意に定まる新ドキュメント名が完成する。そして、この新ドキュメント名をジョブIDの代わりとしてジョブの識別に用いることができる。そして、一旦、クライアント側で新ドキュメント名を生成してしまえば、以後、プリンタ、クライアント、アカウントサーバにおいて、このドキュメント名をジョブの識別子として活用できる。
【0074】
図16は、本発明の第1の実施形態におけるログをマージして最終ログを作成する手順の一例を説明するためのフローチャートである。以下、図16のフローチャートを用いて、ジョブログマージ部123(機器ジョブログマージ部)の動作を説明する。
【0075】
まず、ジョブログマージ部123は、未処理のマージログがあるか否かを検索する(ステップS1601)。その結果、未処理のマージログがある場合(Yes)、ステップS1602に進む。一方、未処理のマージログが無い場合(No)は処理を終了する。
【0076】
次に、ジョブログマージ部123は、プリンタが機器ログ115を備えているか否かを判別する(ステップS16032)。その結果、機器ログ115を備えている場合(Yes)、ステップS1603に進む。一方、機器ログ115を備えていない場合(No)はステップS1607に進む。
【0077】
さらに、ステップS1603において、ジョブログマージ部123は、未処理の機器ログ115でドキュメント名の項目がステップS1601のマージログ127と同じログがあるか検索して判断する。その結果、あると判断した場合(Yes)は、ステップS1604に進む。一方、ステップS1601のマージログ127と同じログが無いと判断した場合(No)は処理を終了する。
【0078】
ステップS1604において、ジョブログマージ部123は、機器ログ115の排紙ページ数、排紙枚数をマージログ127に置換又は追加する。
【0079】
また、前述したように図13には、本実施形態における機器ログ115の一例を示している。そして、ジョブログマージ部123は、ドキュメント名と元ドキュメント名を入れ換える(ステップS1605)。すなわち、図12と図13の機器ログにこれを適用すると、「ドキュメント名:2001年度年次報告書」が「元ドキュメント名:abcd0001」となる。
【0080】
さらに、ジョブログマージ部123は、マージログ127の元ドキュメント名を削除する(ステップS1606)。これを「最終ログ」とする。例えば、これを図12と図13の機器ログに適用すると、図17に示すようになる。すなわち、図17は、本発明の第1の実施形態に係る最終ログの一例を示す図である。
【0081】
そして、ステップS1607において、ジョブログマージ部123は、最終ログをジョブログ記録部124に送信する。
【0082】
以上説明したように、本実施形態によれば、より正確なドキュメント名や排紙情報を含むジョブ情報を取得することが可能になり、より厳密なジョブアカウントを行うことが可能になる。すなわち、上述したように、アカウントサーバが管理する印刷システムにおいて、唯一の識別情報を用いてマージ処理を行う仕組みを提供することによって、ジョブ情報の管理、及び、印刷枚数や排紙枚数等のカウントにおいても、異なるジョブを同じジョブとして誤って併合して管理してしまうことがなくなり、正確なジョブアカウントが可能となる。
【0083】
<第2の実施形態>
次に、本発明の第2の実施形態について説明するが、以下では、上述した第1の実施形態と異なる部分を中心に説明する。尚、本実施形態で使用されるジョブアカウントシステムの構成は、第1の実施形態におけるものと同様である。
【0084】
図19は、本発明の第2の実施形態におけるジョブログマージ部116におけるマージ処理の一例を示す図である。以下、図19に示すフローチャートを用いて、ジョブログマージ部116の動作を説明する。ジョブログマージ部116は各ログを受信して取得し、その内容をクライアントコンピュータ内のHDD等に記録しておく。そして以下に説明する処理を定期的に起動する。
【0085】
まず、ジョブログマージ部116は、未処理の送信部ログ114があるか否かを検索する(ステップS1901)。その結果、未処理の送信部ログ114があると判断した場合(Yes)、ステップS1902に進む。一方、ステップS1901で未処理の送信部ログ114が無いと判断した場合(No)は処理を終了する。
【0086】
ステップS1902において、ジョブログマージ部116は、送信部ログ114の内容をコピーする。これをログAとする。ここで、送信部ログ114の処理済フラグをYESとする。次いで、ジョブログマージ部116は、ログAからJobIdを抜き出して取得する(ステップS1903)。そして、ジョブログマージ部116は、ステップS1903で取得したログAに係るJobIDのうち、まだマージ処理並びに時刻判断処理が未処理のものがあるか否かを判断する(ステップS1904)。
【0087】
その結果、ステップS1904で未処理のものがないと判断した場合(No)は処理を終了する。一方、ステップS1904において未処理のJobIDに係るジョブ情報があるとジョブログマージ部116が判断した場合(Yes)、ステップS1905に進む。
【0088】
ステップS1905以下では、ステップS1903で未処理と判断されたJobIDのうち、ここでは最も小さな番号のJobIDをNとして処理を進める。そして、Nと等しいJobIDを持つログがあるか否かをフックログ111、ドライバログ112、APIログ113、送信部ログ114から検索して、ジョブログマージ部116が特定し、特定されたログをログBとする。
【0089】
すなわち、ステップS1905では、Nと等しいJobIDを持つログがあるか否かが判断され、ジョブログマージ部116がないと判断した場合は(No)、ステップS1912でJobIDNを処理済みとマークし、ステップS1904に戻って他の未処理のJobIDの判断処理を行う。一方、ステップS1905で、Nと等しいJobIDを持つログがあるとジョブログマージ部116が判断した場合(Yes)は、ステップS1906以下に進んでマージ処理を行う。
【0090】
ステップS1906以下では、ジョブ情報のJobIDNのエントリについて処理が行われる。まず、ログBの開始時刻がログAの開始時刻より前か否かを判断する(ステップS1906)。その結果、開始時刻より前であれば(Yes)ステップS1907に進み、開始時刻より前でなければ(No)ステップS1908の処理を行う。
【0091】
ステップS1907において、ジョブログマージ部116は、ログAの開始時刻をログBの開始時刻に書き換え、そしてステップS1908に進む。また、ステップS1908において、ジョブログマージ部116は、ログBの終了時刻がログAの終了時刻より後であるか判別する。その結果、後であると判別した場合(Yes)、ステップS1909に進む。一方、後でないと判別した場合(No)、ステップS1910に進む。
【0092】
ステップS1909において、ジョブログマージ部116は、ログAの終了時刻をログBの終了時刻に書き換え、ステップS1910へ進む。また、ステップS1910において、ジョブログマージ部116は、ログBのうちログAに無い項目があるか判断する。その結果、あると判断した場合(Yes)はステップS1911に進む。一方、ないと判断した場合(No)はステップS1912に進む。
【0093】
ステップS1911において、ジョブログマージ部116は、ログBのうちログAに無い項目を追加する。ここで、ログBの処理済フラグをYESとする。また、種別をマージとする。図7から図10に示したログに図19のフローチャートで示される処理を施すと、図12に示すようなマージログになる。すなわち、図12に示すように、マージログ127は、フックログ111、ドライバログ112、APIログ113、送信部ログ114の項目を備えており、さらに開始時刻はフックログ111、終了時刻は送信部ログ114のものになっている。
【0094】
これにより、アプリケーションに対する印刷命令入力から、排紙完了までの、一つのジョブの生成から処理完了までのスループットを把握することができる。ジョブログマージ部116は、図19に示す処理の後、マージされたログをジョブログ送信部117に送る。尚、ジョブログ送信部117は、ログ(併合ジョブ情報)を定期的にジョブログ受信部122に送信する。
【0095】
尚、本実施形態における処理を行うことによって、画像処理・出力処理を行う各処理において取得可能なログをマージする順番を、データ処理順の時系列に並べなくてもよくなる。すなわち、先に述べた様に、ここでも、新ドキュメント名をJobIDの代わりにマージ処理に用いることができる。
【0096】
以上説明したように、一つのジョブに対する複数のデータ処理が行われたジョブを処理するクライアント装置において、一つのジョブに対する複数のデータ処理において得られる複数のジョブ情報を取得し、アカウントクライアントが取得した複数のジョブ情報がそれぞれ含む特定手段として機能するジョブログマージ部116は、開始時刻情報が示す開始時刻のうち、最も早い開始時刻を特定する特定することができる。また、上述の処理と同様に、完了時刻について、最も遅い時刻を上書きしていくようにジョブログマージ部116を制御すれば、マージログ127には、最終的には最も遅い完了時刻が残され、最も遅い完了時刻を特定することができる。
【0097】
また、本実施形態の他の一例としては、各ログの時刻の項目で、一つのジョブIDに対応する、フックログ111、ドライバログ112、APIログ113、送信部ログ114を並べる。そして、この順番にマージ処理を行う。時刻の項目は、並べられた順番で、上書き併合処理を行う必要がある。
【0098】
図20は、本発明の第2の実施形態におけるジョブログマージ部123におけるマージ処理の一例を説明するためのフローチャートである。以下、図20のフローチャートを用いて、ジョブログマージ部123の動作を説明する。ここで、マージログ1127が、ジョブアカウントサーバ121に送信されて図15に示すフローチャートと同様の処理が行われる。すなわち、ID発生部126で生成された情報に基づいて、新ドキュメント名がマージログ127内に格納され、旧ドキュメント名は、旧ドキュメント名の項目にバックアップされる。そして、ジョブログマージ部123において、マージログ127から最終ログが生成されるわけである。以下に前述したマージログの処理の変形例を示す。
【0099】
まず、ジョブログマージ部123は、ジョブログマージ部123がクライアントコンピュータ101から取得した未処理のマージログがあるか検索して判断しり(ステップS2001)。その結果、あると判断した場合(Yes)はステップS2002に進む。一方、無いと判断した場合(No)は終了する。
【0100】
ステップS2002において、ジョブログマージ部123は、プリンタが機器ログ115の取得機構を備えているか判断する。その結果、備えていると判断した場合(Yes)はステップS2003に進む。一方、備えていないと判断した場合は(No)はステップS2011に進む。
【0101】
ステップS2003において、ジョブログマージ部123は、ジョブログマージ部123がプリンタから取得した機器ログ115について、未処理の機器ログでドキュメント名がS2001のマージログと同じ物があるか否かを検索して判断する。その結果、同じものがあると判断した場合(Yes)はステップS2004に進む。一方、同じものが無いと判断した場合(No)は終了する。
【0102】
ステップS2004において、ジョブログマージ部123は、機器ログの排紙ページ数、排紙枚数をマージログに追加する。次いで、ジョブログマージ部123は、ドキュメント名と元ドキュメント名を入れ換える(ステップS2005)。例えば、図12と図13に示す機器ログに本処理を適用すると、「ドキュメント名:2001年度年次報告書」が「元ドキュメント名:abcd0001」となる。
【0103】
S2006において、マージログの元ドキュメント名を削除する。これを最終ログとする。例えば、図12と図13のログに適用すると、最終ログは図17に示すようになる。さらに、ステップS2007において、機器ログの開始時刻がマージログの開始時刻より前であるか判別する。その結果、前であると判別された場合(Yes)、ステップS2008に進む。一方、そうでないと判別された場合(No)はステップS2009に進む。
【0104】
ステップS2008では、最終ログの開始時刻を機器ログの開始時刻にする。そして、機器ログの終了時刻がマージログの終了時刻より後であるか判断する(ステップS2009)。その結果、後であると判断した場合(Yes)はステップS2010に進む。一方、後でないと判断した場合(No)はステップS2011に進む。ステップS2010では、最終ログの終了時刻を機器ログの終了時刻にする。
【0105】
そして、ステップS2011において、最終ログをジョブログ記録部124に送信する。生成されたジョブログは、図21のようになる。図21は、本発明の実施形態における最終ログの一例を示す図である。図21に示す最終ログにより、ジョブログマージ部123は、ホストコンピュータにおける出力開始時刻、並びに、出力終了時刻を正確に反映して管理することができ、正確な画像処理開始から出力完了までのスループットを計測可能となる。
【0106】
すなわち、ジョブログマージ部123は、一つのジョブに対する複数のデータ処理において得られる複数のジョブ情報を取得し、ジョブログマージ部123が取得した一つのジョブに対応した複数の処理より得られる、フックログ111、ドライバログ112、APIログ113、機器ログ114等がそれぞれ含む、各ログの開始時刻情報並びに、完了時刻情報のエントリが示す開始時刻のうち、最も早い開始時刻と、最も遅い完了時刻を特定できる。そして、各時刻情報は、前述した通り、マージ処理され、併合されたジョブ情報として格納される。
【0107】
以上説明したように、本実施形態によれば、印刷開始時刻及び印刷終了時刻を取得することが可能になり、より厳密なジョブアカウントを行うことが可能になる。
【0108】
<第3の実施形態>
本発明の適用は、プリンタが機器ログを備えている場合にのみ有効なわけではない。すなわち、ドキュメント名を一意にすることにより、フックログ111、ドライバログ112、APIログ113をマージすることが可能である。
【0109】
また、OSによっては、OSが発行するJobIdが一意性を保証しないことがある。この場合、図20におけるステップS2001の判別処理を、「JobIdが一意であるか否か?」の判別処理に置き換え、一意でない場合、ドキュメント名の変更処理を行うようにすればよい。また、ステップS1101、S1901等では、JobIDは前述した実施形態に送信部ログのJobIDを用いたが、他のログ(フックログ、ドラバログ、APIログ等)のJobIDを基本にして、マージ処理を行ってもよいことは言うまでも無い。
【0110】
<第4の実施形態>
次に、本発明に係るジョブログ127の集計方法について説明する。図22は、本発明の第4の実施形態におけるジョブログ集計部125の細部モジュール構成を示す図である。尚、本実施形態に係るジョブアカウントシステムの全体の構成については上述した第1の実施形態と同様である。図22に示すように、ジョブログ集計部125は、4つの内部モジュール(利用者情報管理モジュール2202、機器情報管理モジュール2203、ジョブ情報管理モジュール2204、利用状況入出力モジュール2205)から構成されている。
【0111】
このうち、利用者情報管理モジュール2202は、HD206などに利用者情報を格納して管理している。また、機器情報管理モジュール2203は、ネットワークに接続された周辺機器がジョブ履歴保持機能を有しているかを調査し、ジョブ履歴保持機能を有している機器についての情報やその他の機器情報を、HD206等に格納し管理している。ここで、利用者情報とは、周辺機器を利用するユーザのコンピュータログイン名(ユーザが、コンピュータにログインするために入力する名前)やネットワークログイン名(ユーザが、ネットワークシステムにログインするために入力する名前)を含み、周辺機器を利用したユーザを特定(識別)するための情報である。また、機器情報とは、周辺機器の印刷スピード、カラー情報、ネットワークアドレス等である。
【0112】
一方、ジョブ情報管理モジュール2204は、ジョブアカウントクライアント118からジョブログ受信部122を介してジョブ情報を受信し、ジョブログ記録部124に当該ジョブ情報を格納する。また、ジョブ情報管理モジュール2204は、履歴情報を保持する機能を有する周辺機器(例えば、プリンタ110)に履歴情報を要求し、利用状況入出力モジュール2205を介して履歴情報を取得する。尚、この処理は、定期的に行われてもよい。また、周辺機器の履歴情報格納部(不図示)の記憶容量が少なくなったときに、その旨が利用状況入出力モジュールに通知され、そのときに、この処理が行われるようにしてもよい。
【0113】
すなわち、利用状況入出力モジュール2205は、ジョブ履歴保持機能を有する周辺機器からジョブ履歴(ジョブ情報)を含む利用状況を取得する。また、利用状況入出力モジュール2205は、利用状況レポート(どの利用者がどれだけジョブを実行したかを示すレポート)の出力を周辺機器のプリンタやモニタに出力することもできる。
【0114】
そこで、管理者は、利用状況入出力モジュール2205に利用状況の出力を行わせて、周辺機器の利用状況を得ることができる。利用状況入出力モジュール2205は、記憶部に記憶された利用者情報、機器情報、印刷履歴情報に基づいて、様々な利用状況を出力する。管理者は、その出力様式(出力形式)を利用状況入出力モジュールに対し指定する。尚、この利用状況の出力は、例えば、ジョブアカウントサーバ121の表示部(不図示)に表示される。また、利用状況の出力に係る出力データがクライアントコンピュータ101に送信され、利用状況の出力がクライアントコンピュータの表示部(不図示)に表示されてもよい。その場合、利用状況をWebブラウザを使用して表示しても良いことはいうまでもない。
【0115】
利用状況の出力に関しては、ユーザごとの利用量(出力に用いられた用紙枚数やトナー量)や周辺機器の利用時間が出力される。また、カラー印刷や両面印刷などの周辺機器の動作モード(機能)別に利用状況が出力される。さらに、使用された用紙のサイズや使用された用紙の種類別に利用状況が出力される。
【0116】
さらにまた、周辺機器の利用料金が機器情報に設定されていることで、周辺機器別に或いはユーザ別に利用金額が出力される。さらにまた、動作モード別の利用料金、用紙サイズ別の利用料金、用紙の種類別の利用料金が設定されていることで、どのユーザが、どの用紙で、どの動作モードで、どの周辺機器で、どれだけの印刷をして、どれだけの利用金額になっているかを出力する。
【0117】
一方、管理者は、利用者情報管理モジュール2202及び機器情報管理モジュール2203を介して、機能別、ユーザ別、ユーザ部門別、利用機器別に利用の制限を設定することもできる。設定可能な制限情報として、利用料金、ページ数、用紙枚数などの項目がある。利用状況入出力モジュール2205は、設定された制限(制限情報)と印刷履歴情報と監視して照らし合わせることにより、利用が制限を越える場合には、その旨を出力する。これは、画面上への表示出力であっても、メールその他の通信出力でもよい。
【0118】
また、ジョブ情報管理モジュール2204が、ユーザごとの設定された制限と印刷履歴情報とを監視して照らし合わせることにより、あるユーザの利用が制限を越える場合には、クライアントコンピュータ101や周辺機器自体に、そのユーザの利用を拒否させる。或いは、そのユーザに対して、画面上への表示やメールその他の通信手段で警告を促してもよい。
【0119】
すなわち、本実施形態によれば、ジョブアカウントサーバ121は、ユーザが利用するクライアントコンピュータ101からプリンタ108〜110に出力されたジョブ情報を管理する。まず、ジョブ情報を集計する際の集計項目が設定され、ジョブログ集計部125では、ジョブログ記録部124に記録されたジョブ情報から、設定された集計項目に基づいてをジョブ情報が取得される。そして、取得されたジョブ情報に含まれる例えば、枚数情報等の履歴情報が集計され、集計された履歴情報の集計結果が出力される。
【0120】
以下に、利用状況の集計結果を出力する手順について詳細に説明する。図23は、利用状況入出力モジュール2205において、利用状況の集計項目をユーザが設定し、その結果に基づいて集計結果を出力する手順の一例を示すフローチャートである。図23に示すように、本集計処理は大きく分けて、集計項目設定処理(ステップS231)と、設定項目に対する集計処理(ステップS232)の2つの処理から成る。
【0121】
まず、集計項目の設定処理(ステップS231)において、集計の結果として出力する項目を設定する(ステップS2301)。次に、その設定内容をHD206などの記憶装置に記憶する(ステップS2302)。
【0122】
次に、上記のように設定された項目対する集計処理(ステップS232)においては、まず、集計結果を表示するための命令を行う(ステップS2303)。次に、前述の設定処理において設定された情報を参照する(ステップS2304)。そして、設定された情報に基づいてジョブ情報の集計処理を行う(ステップS2305)。最後に、集計結果を表示する(ステップS2306)。
【0123】
これらの表示については、以下において説明するが、それらはジョブアカウントサーバ121の表示部(不図示)に対して行われても良いし、クライアントコンピュータの表示部(不図示)に対して行われても良いことはいうまでもない。また、集計結果をWebブラウザを使用して表示しても良いことはいうまでもない。
【0124】
図24は、図23に示した集計項目の設定処理の内容をより具体的に説明するための図である。また、図25は、図23に示した設定項目の集計処理の内容をより具体的に説明するための図である。すなわち、図24は、集計処理を行う際の集計条件を設定するためのGUIを示している。この例では、集計結果に表示される縦軸の項目と横軸の項目を指定することが可能である。
【0125】
選択できる項目の例として、「ユーザ」、「デバイス」、「管理コード」、「用紙サイズ」、「用紙タイプ」の選択が可能である。「ユーザ」とはプリント、コピー、FAX送受信などを行ったユーザを示しており、「デバイス」とは、ネットワークに接続されたプリンタ、スキャナ、ファクシミリ、複写機など、およびそれらを統合したマルチファンクション機器(MFP)などの周辺機器を示している。「管理コード」とは、印刷されたページ数や用紙枚数、印刷に掛かった費用を仕事の種類や目的ごとに割り振るために印刷時に付加するコードを示している。「用紙サイズ」は、印刷に使用された用紙のサイズ(A3、A4、Letterなど)を示しており、「用紙タイプ」は印刷に使用された用紙のタイプ(普通紙、OHP、厚紙など)を示している。
【0126】
一方、図25は、図24に示すインタフェースにおいて、縦軸に第1の集計項目である「ユーザ」、横軸に第2の集計項目である「管理コード」を選択した場合の集計結果を表したGUIを示す図である。この例では、各ユーザが、どの管理コードを使用して印刷処理を行ったかがわかる結果が得られている。同様に縦軸と横軸を個々に設定し、集計結果を得ることが可能である。すなわち、第1の集計項目と第2の集計項目とに基づいて集計結果を配列した表が出力される。
【0127】
図26〜28は、図24、25とは別の場合についての図23の処理内容をより具体的に説明するための図である。まず、図26は、集計処理を行う際の集計条件を設定するためのGUIを示している。この例では、集計される数値として、「ページ数」、「換算ページ数」、「用紙枚数」のどれを表示するかをチェックボックスの選択により、設定可能である。ここで、「ページ数」とは、印刷に使用されたページ数を示しており、「換算ページ数」とはページ数を単価に換算する際のレートによって、決定されるページ数を示している。また、「用紙枚数」とは印刷に使用された用紙の枚数を示している。
【0128】
また、図27は、図26において、「ページ数」、「換算ページ数」、「用紙枚数」のすべてが選択された場合の集計結果の表示内容を示す図である。この例では、縦軸に「デバイス」、横軸は「期間(月)」とした場合の集計結果を示している。さらに、図28は、図26において、「用紙枚数」のみをチェックした場合の集計結果を示す図である。このように、本実施形態によれば、ユーザが必要とする項目を選択することによって、不必要な情報を表示等することなく、ユーザごとに必要なジョブ情報だけを集計することが可能である。
【0129】
<他の実施形態>
尚、本発明は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。
【0130】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0131】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0132】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0133】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0134】
本発明の実施態様の例を以下に列挙する。
【0135】
[実施態様1] 情報処理装置から周辺機器に出力されたジョブ情報を管理するジョブ管理方法であって、
前記ジョブ情報を集計する際の集計項目を設定する設定工程と、
設定された前記集計項目に基づいて前記ジョブ情報を取得する取得工程と、
取得された前記ジョブ情報に含まれる履歴情報を集計する集計工程と、
前記集計工程で集計された前記履歴情報の集計結果を出力する出力工程と
を有することを特徴とするジョブ管理方法。
【0136】
[実施態様2] 前記周辺機器が、プリンタであって、
前記履歴情報が、前記プリンタで出力された用紙枚数情報であることを特徴とする実施態様1記載のジョブ管理方法。
【0137】
[実施態様3] 前記ジョブ情報が、前記周辺機器を利用した利用者に関する利用者情報を含み、
前記設定工程が、前記集計項目として、前記利用者情報を設定可能であることを特徴とする実施態様1又は2に記載のジョブ管理方法。
【0138】
[実施態様4] 前記ジョブ情報が、前記周辺機器を識別する機器情報を含み、
前記設定工程が、前記集計項目として、前記機器情報を設定可能であることを特徴とする実施態様1又は2に記載のジョブ管理方法。
【0139】
[実施態様5] 前記設定工程が、第1集計項目と第2集計項目とを設定可能であり、
前記取得工程が、前記第1集計項目と前記第2集計項目の両方の項目に基づいて前記ジョブ情報を取得することを特徴とする実施態様1から4までのいずれか1つに記載のジョブ管理方法。
【0140】
[実施態様6] 前記出力工程が、前記第1集計項目と前記第2集計項目とに基づいて前記集計結果を配列した表を出力することを特徴とする実施態様5記載のジョブ管理方法。
【0141】
[実施態様7] 前記取得工程が、前記ジョブ情報を管理するジョブ管理装置内の記憶領域(例えば、図2におけるHD部206)から取得することを特徴とする実施態様1から6までのいずれか1つに記載のジョブ管理方法。
【0142】
[実施態様8] 情報処理装置から周辺機器に出力されたジョブ情報を管理するジョブ管理装置であって、
前記ジョブ情報を記憶する記憶手段と、
前記ジョブ情報を集計する際の集計項目を設定する設定手段と、
設定された前記集計項目に基づいて前記記憶手段から前記ジョブ情報を抽出する抽出手段と、
抽出された前記ジョブ情報に含まれる履歴情報を集計する集計手段と、
前記集計手段で集計された前記履歴情報の集計結果を出力する出力手段と
を備えることを特徴とするジョブ管理装置。
【0143】
[実施態様9] 前記周辺機器が、プリンタであって、
前記履歴情報が、前記プリンタで出力された用紙枚数情報であることを特徴とする実施態様8記載のジョブ管理装置。
【0144】
[実施態様10] 前記ジョブ情報が、前記周辺機器を利用した利用者に関する利用者情報を含み、
前記設定手段が、前記集計項目として、前記利用者情報を設定可能であることを特徴とする実施態様8又は9に記載のジョブ管理装置。
【0145】
[実施態様11] 前記ジョブ情報が、前記周辺機器を識別する機器情報を含み、
前記設定手段が、前記集計項目として、前記機器情報を設定可能であることを特徴とする実施態様8又は9に記載のジョブ管理装置。
【0146】
[実施態様12] 前記設定手段が、第1集計項目と第2集計項目とを設定可能であり、
前記抽出手段が、前記第1集計項目と前記第2集計項目の両方の項目に基づいて前記ジョブ情報を抽出することを特徴とする実施態様8から11までのいずれか1つに記載のジョブ管理装置。
【0147】
[実施態様13] 前記出力手段が、前記第1集計項目と前記第2集計項目とに基づいて前記集計結果を配列した表を出力することを特徴とする実施態様12記載のジョブ管理装置。
【0148】
[実施態様14] コンピュータに、情報処理装置から周辺機器に出力されたジョブ情報を管理させるためのプログラムであって、
前記ジョブ情報を集計する際の集計項目を設定する設定手順と、
設定された前記集計項目に基づいて前記ジョブ情報を取得する取得手順と、
取得された前記ジョブ情報に含まれる履歴情報を集計する集計手順と、
前記集計手順で集計された前記履歴情報の集計結果を出力する出力手順と
を実行させるためのプログラム。
【0149】
[実施態様15] 実施態様14記載のプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【0150】
【発明の効果】
以上説明したように、本発明によれば、周辺機器から取得したジョブ情報を集計する際に、ユーザの選択によって集計項目を変更することができ、各ユーザにとって好適な集計結果を得ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るジョブアカウントシステムの細部モジュール構成を示すブロック図である。
【図2】図1に示したジョブアカウントシステムを構成するクライアントコンピュータ101及びジョブアカウントサーバ121の電気的構成の一例を示すブロック図である。
【図3】図1に示されるジョブアカウントシステムを構成するプリンタ108〜110の細部構成の一例を示すブロック図である。
【図4】図1に示される本実施形態に係るジョブアカウントサーバ121におけるメモリマップの一例を表す図である。
【図5】本発明の第1の実施形態におけるジョブアカウントプログラム及び関連データが格納されているフレキシブルディスク(FD)の構成内容を示す図である。
【図6】本発明の第1の実施形態におけるFDに記録されたジョブアカウントプログラム及び関連データをコンピュータにロードする一例を示す図である。
【図7】本発明の第1の実施形態におけるフックログ111の一例を示す図である。
【図8】本発明の第1の実施形態におけるドライバログ112の一例を示す図である。
【図9】本発明の第1の実施形態におけるAPIログ113の一例を示す図である。
【図10】本発明の第1の実施形態における送信部ログ114の一例を示す図である。
【図11】本発明の第1の実施形態におけるログをマージする手順の一例を説明するためのフローチャートである。
【図12】本発明の第1の実施形態におけるフックログ111、ドライバログ112、APIログ113及び送信部ログ114の項目を備えているマージログ127を示す図である。
【図13】第1の実施形態における機器ログ115の例を示す図である。
【図14】図14は、第1の実施形態におけるクライアントコンピュータ101のフック部103が動作していない場合の機器ログ115の例を示す図である。
【図15】本発明の第1の実施形態におけるドキュメント名を変更する手順の一例を説明するためのフローチャートである。
【図16】本発明の第1の実施形態におけるログをマージして最終ログを作成する手順の一例を説明するためのフローチャートである。
【図17】本発明の第1の実施形態に係る最終ログの一例を示す図である。
【図18】本発明の第1の実施形態に係る周辺機器のジョブ情報を管理するジョブアカウントシステムの概要を説明するためのブロック図である。
【図19】本発明の第2の実施形態におけるジョブログマージ部116におけるマージ処理の一例を示す図である。
【図20】本発明の第2の実施形態におけるジョブログマージ部123におけるマージ処理の一例を説明するためのフローチャートである。
【図21】本発明の第2の実施形態における最終ログの一例を示す図である。
【図22】本発明の第4の実施形態におけるジョブログ集計部125の細部モジュール構成を示す図である。
【図23】利用状況入出力モジュール2205において、利用状況の集計項目をユーザが設定し、その結果に基づいて集計結果を出力する手順の一例を示すフローチャートである。
【図24】図23に示した集計項目の設定の内容をより具体的に説明するための図である。
【図25】図23に示した設定項目の集計処理の内容をより具体的に説明するための図である。
【図26】集計処理を行う際の集計条件を設定するためのGUIを示している。
【図27】図26において、「ページ数」、「換算ページ数」、「用紙枚数」のすべてが選択された場合の集計結果の表示内容を示す図である。
【図28】図26において、「用紙枚数」のみをチェックした場合の集計結果を示す図である。
【符号の説明】
101 クライアントコンピュータ
102 アプリケーション
103 フック部
104 GDI
105 プリンタドライバ
106 スプーラ
107 送信部
108、109、110 プリンタ
111 フックログ
112 ドライバログ
113 APIログ
114 送信部ログ
115 機器ログ
116 ジョブログマージ部
117 ジョブログ送信部
118 ジョブアカウントクライアント
121 ジョブアカウントサーバ
122 ジョブログ受信部
123 ジョブログマージ部
124 ジョブログ記録部
125 ジョブログ集計部
126 ID発生部
127 マージログ
2202 利用者情報管理モジュール
2203 機器情報管理モジュール
2204 ジョブログ情報管理モジュール
2205 利用者状況入出力モジュール
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technology for managing job information for peripheral devices such as a printer, a scanner, a facsimile, a copier, and a multifunction device (MFP) that integrates them, which are connected to a network.
[0002]
[Prior art]
Conventionally, a job management method for acquiring and managing job information in an image processing system has been developed. In order to properly manage job information (job account), it is important that job information executed by a peripheral device be acquired and that the acquired job information can be totaled according to the user's purpose.
[0003]
Conventionally, when totaling acquired job information, the total is calculated according to items determined in advance by the system, and the result is displayed. Examples of items include “user name”, “printer name”, “number of output sheets”, and the like. That is, in the past, a total result of "who output what number to which printer" was shown.
[0004]
[Problems to be solved by the invention]
However, in some cases, the information required by the user is not always obtained from the total result of the job information. This is because the content of the tally item required by the user differs for each user.
[0005]
The present invention has been made in view of such circumstances, and when totaling job information obtained from peripheral devices, a totaling item can be changed by a user's selection. An object is to provide a job management method capable of obtaining a result.
[0006]
[Means for Solving the Problems]
In order to solve the above problems, the present invention is a job management method for managing job information output to a peripheral device from an information processing apparatus, wherein a setting step of setting a total item when totaling the job information, An acquisition step of acquiring the job information based on the set aggregation item, an aggregation step of aggregation of history information included in the acquired job information, and an aggregation result of the history information aggregated in the aggregation step And an output step of outputting
[0007]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0008]
<First embodiment>
FIG. 18 is a block diagram for explaining an outline of a job account system for managing job information of peripheral devices according to the first embodiment of the present invention. As shown in FIG. 18, the job account system according to the present embodiment includes a client computer 101, a job account server 121, and peripheral devices (in the present embodiment, printers 108 to 110).
[0009]
Here, printers 108 to 110, which are preferable examples of the image forming apparatus which is a member of the system, will be described. In the present embodiment, the printers 108 to 110 have different functions, respectively, and operate differently accordingly. For example, the printer 108 is the most general printer, and has a function of receiving data transmitted from the transmission unit 107 of the client computer 101 and printing the data. Further, the printer 109 has a function of returning the total number of discharged pages of the job to the transmission unit 107 of the client computer 101 at the end of the job. Further, the printer 110 has a function of storing job information in a storage device in the printer after printing.
[0010]
The client computer 101 in FIG. 18 causes the printers 108 to 110 to perform printing as follows. That is, the application 102 of the client computer 101 operates the GDI 104, which is a subsystem for processing graphic drawing of the OS, by calling an API (application programming interface). Then, the printer driver 105 of the client computer 101 converts the request from the GDI 104 into a format suitable for the printer (here, one of the printers 108 to 110) that performs printing, and transmits the request to the spooler 106.
[0011]
Then, the job account client 118 of the client computer 101 hooks (monitors and recognizes) the call of the GDI 104 by the application 102.
[0012]
Here, the job account client 118 obtains the number of discharged sheets or the number of pages of the job issued by the application 102 through the hook unit 103 by counting the number of APIs for performing a page change or discharge in the printer. The job information thus acquired is called a “hook log”.
[0013]
In addition, the job account client 118 can receive job information from the printer driver 105 in the client computer 101 by defining and communicating with the printer driver 105 in advance. The job information thus obtained is referred to as a “driver log”.
[0014]
Further, the job account client 118 periodically monitors the spooler 106, and if there is a spooled job, obtains the information of the job by API to obtain the number of sheets to be discharged or the number of pages of the job. The job information thus acquired is referred to as “API log”.
[0015]
Furthermore, the job account client 118 obtains the total number of discharged pages returned by the printer by defining and communicating with the transmission unit 107 for the protocol. The job information thus acquired is referred to as a “transmission unit log”.
[0016]
Also, the job account server 118 defines and communicates with a printer (in the present embodiment, the printer 110) that stores job information in the printer, such as the printer 110, which is a preferred example of an image forming apparatus. To obtain job information from the printer. The job information obtained in this way is referred to as “device log”. The device log is stored in the RAM or HDD in the printer, but often cannot store all information such as the document name transmitted from the transmission unit 107 due to the limitation of the storage capacity.
[0017]
The image forming apparatus as a peripheral device includes, in addition to the above-described printer, a facsimile, a copying machine, a copy system combining a printer and a scanner which is a kind of the copying machine, and a multifunction machine thereof. It may be.
[0018]
Further, in the present embodiment, the job account client 118 sets a priority order to select any of the above-described hook log, driver log, API log, transmission unit log, and device log, and assigns any one to the job account. Send it to server 118. Then, the job account server 118 selects a job log in response to a request from a viewer or the like, and performs a tallying process for each unit period, each device, each job issuer, and the like.
[0019]
Hereinafter, details of the job account system according to the present embodiment will be described.
[0020]
FIG. 1 is a block diagram showing a detailed module configuration of the job account system according to the first embodiment of the present invention. As shown in FIG. 1, the present invention is achieved in a system including a plurality of devices. Further, it goes without saying that the present invention can be similarly applied by supplying a program to each device of the present system. Hereinafter, the manner in which four logs of a hook log, a driver log, an API log, and a transmission unit log are created for one print job will be described in detail. In addition, since the outline of the job account system according to the present embodiment has already been described, parts different from those described above will be specifically described below with reference to FIG.
[0021]
In FIG. 1, reference numeral 101 denotes a client computer including a standard personal computer (PC) or a workstation. When a print instruction is issued from an application 102, the print is performed on one of the printers 108 to 110 via a transmission unit 107. Send data. The job account client 118, which is a software module executed by the CPU in the client computer 101, collects logs related to various printing processes and transmits the logs to the job account server 121 via the job log transmission unit 117. At this time, the job log transmitting unit 117 which is a part of the job account client 118 may control the transmitting unit 107 provided by the OS to transmit the log to the job log receiving unit 122.
[0022]
When a print instruction is issued to the application 102 in the client computer 101, the application 102 makes a GDI call for drawing as in the case described with reference to FIG. The hook unit 103 is incorporated by the job account client 118, and hooks a GDI call and accumulates information such as which GDI call was called by what parameter or the number of times called. The history created based on this information is referred to as “hook log” 111. FIG. 7 is a diagram illustrating an example of the hook log 111 created in the first embodiment. The hook unit 103 of the client computer 101 changes the document name as the case may be based on a prescribed criterion. The document name and its change processing will be described later.
[0023]
The printer driver 105 converts the GDI call into print data that can be interpreted by the printer according to the print settings, and transmits the print data to the spooler 106. The printer driver 105 extracts print information from the converted contents, and transmits the extracted print information to the job account client 117 as a driver log 112.
[0024]
The job account client 117 constantly monitors whether or not jobs are accumulated in the spooler 106. If a job exists in the spooler 106, the job account client 117 issues an API defined by the OS, acquires print information, and acquires it as the API log 113.
[0025]
The transmission unit 107 communicates with a printer designated by one of the printers 108, 109, and 110 via a network, and transmits print data when the printer is in a ready state. At this time, for example, by using a Printer Job Language (HP) command of the HP company, the printer 109 obtains the number of pages discharged by the job after the discharge of all pages of the print job is completed. It is possible to do. The transmission unit (port monitor) 107 transmits job information such as the number of pages received from the printer 109 to the job account client 118. Here, a print log created based on this information is referred to as a “transmission unit log” 114.
[0026]
As described above, the job account client 118 acquires four logs of the hook log 111, the driver log 112, the API log 113, and the transmission unit log 114 for one print job. However, four logs are not always obtained. For example, when the application 102 of the client computer 101 sends print data directly to the spooler 106, the hook log 111 and the driver log 112 cannot be obtained. If the protocol is not defined between the printer driver 105 and the job account client 118, the driver log 112 cannot be obtained. Further, when there is no function of notifying the transmitting unit 107 of the number of discharged pages as in the printer 108, the discharged page information of the transmitting unit log 114 cannot be obtained. However, by acquiring a log in a plurality of processes related to a job, even if it is impossible to acquire a log in some processes, the probability of acquiring a log generally increases.
[0027]
On the other hand, the printer 108 interprets the job sent from the transmission unit 107 and executes printing. The printer 109 interprets the job transmitted from the transmission unit 107 and executes printing. Then, after printing is completed, the number of discharged pages and the number of discharged sheets are returned to the transmission unit 107. Further, the printer 110 interprets the job sent from the transmission unit 107 and executes printing. After printing is completed, the job information is stored in an internal HDD described later.
[0028]
In the job account server 121, the job log merging unit 116 merges the hook log 111, the driver log 112, the API log 113, and the transmission unit log 114, and transmits the merged log to the job log transmission unit 117. The merge processing will be described later. Then, the job log transmitting unit 117 transmits the job log to the job log receiving unit 122 of the job account server 121.
[0029]
FIG. 2 is a block diagram illustrating an example of an electrical configuration of the client computer 101 and the job account server 121 included in the job account system illustrated in FIG. In FIG. 2, reference numeral 201 denotes a CPU, that is, a central processing unit, which controls the entire computer and performs arithmetic processing. Reference numeral 202 denotes a ROM, that is, a read-only memory, which is a storage area for information on a system startup program and the like.
[0030]
Further, reference numeral 203 denotes a RAM, that is, a random access memory, which is a data storage area with no usage restriction, and includes software such as an operating system, an application 102, a hook unit 103, a GDI 104, a printer driver 105, a transmission unit 107, and a job account client 118. This is an area where programs such as modules and communication control are loaded from the HD unit 206 or the ROM 202 and executed by the CPU 201.
[0031]
Reference numeral 204 denotes a KBC, that is, a keyboard control unit which receives input data from the keyboard and transmits the data to the CPU. Reference numeral 205 denotes a CRT, that is, a display control unit (display control means), which controls display on a display device. Reference numeral 206 denotes an HD unit, that is, an external storage device such as an FD (flexible disk device), an HD (hard disk device), or an SRAM (non-volatile storage device), which stores and stores programs and data. Or load it into the RAM 203.
[0032]
A communication unit 207 performs network communication control. As described above with reference to FIG. 1, the communication unit 207 can communicate with other computers and peripheral devices connected to the network. It is controlled by the blog transmitting unit 117. Reference numeral 208 denotes a system bus, which should serve as a data path between the above-described components.
[0033]
In principle, the job account server 121 can have the same configuration as the client computer 101 in hardware. However, in the HDD of the job account server 121, a job log merging unit 123, a job log recording unit 124, a job log receiving unit 122, and a job log totaling unit 125 are stored. Then, the job log receiving unit 122 controls the communication unit 207 shown in FIG.
[0034]
FIG. 3 is a block diagram showing an example of a detailed configuration of the printers 108 to 110 constituting the job account system shown in FIG. In FIG. 3, reference numeral 305 denotes a controller for controlling the entire printer. As the internal configuration of the controller unit 305, reference numeral 301 denotes a CPU, that is, a central processing unit, which controls the controller unit 305 and performs arithmetic processing and the like. Reference numeral 302 denotes a ROM, that is, a read-only memory, which is a storage area for information on a system startup program and the like. Reference numeral 303 denotes a RAM, that is, a random access memory, which is a data storage area with no use restriction, and reference numeral 304 denotes an HD, that is, a nonvolatile storage device such as a hard disk or an SRAM. The RAM 303 is also an area where programs such as an operating system and communication control and engine control are loaded and executed.
[0035]
Reference numeral 306 denotes an input / output engine unit of the printers 108 to 110, which performs a printing operation and an image reading operation under the control of the controller unit 305. A communication unit 307 performs network communication control, and can communicate with the client computer 101 and the job account server 121 as described above with reference to FIG. A user operation input / output unit 308 performs an interactive setting operation with the user. Reference numeral 309 denotes a system bus, which should serve as a data path between the above-described components.
[0036]
FIG. 4 is a diagram illustrating an example of a memory map in the job account server 121 according to the embodiment illustrated in FIG. In FIG. 4, reference numeral 41 denotes a basic I / O program. Reference numeral 42 denotes a memory map in a state where an operating system such as a window system is loaded on the RAM 203 and is executable. Further, reference numeral 43 denotes a memory map in a state where an application program in the present embodiment is loaded into the RAM 3 and becomes executable. Reference numeral 44 denotes a memory map in a state where the related data is loaded into the RAM 3 and becomes executable. Reference numeral 45 denotes a memory map of a work area used by each program.
[0037]
FIG. 5 is a diagram showing the configuration of a flexible disk (FD) storing a job account program and related data according to the first embodiment of the present invention. It is assumed that the job account program and related data according to the first embodiment of the present invention are recorded on a flexible disk (FD). That is, in the recording area 50 of the flexible disk (FD), the volume information 51, the directory information 52, the application execution file 53, and the application start program related data file 54 are recorded.
[0038]
Note that the recording area 50 may be a DVD, or an HDD (not shown) in an external server device connected to a computer 62, which will be described later, via a network. It is needless to say that each module in the client computer 101 and each module in the job account server 121 shown in (1) may be downloaded and introduced via a network. Here, the computer 62 is equivalent to the computer shown in FIG.
[0039]
FIG. 6 is a diagram illustrating an example of loading a job account program and related data recorded on the FD into a computer according to the first embodiment of the present invention. That is, the job account program and the related data recorded on the flexible disk (FD) 60 can be loaded into the computer 62 via the FD drive (DKC) 61.
[0040]
When the flexible disk (FD) 60 is set in the FD drive (DKC) 61, under the control of the operating system 42 and the basic I / O program 41, a program module for realizing the job account program and related data are stored. The data is read from the flexible disk (FD) 60 and loaded into the RAM 203 to be usable. Such a computer 62 can be used to realize the client computer 1000 and the job account server 1810 shown in FIG. 18 and the client computer 101 and the job account server 121 shown in FIG.
[0041]
Also, the program modules for realizing the job account program correspond to the software modules in the client computer 101 or the job account server 121 described in FIG. Of course, the storage medium is not limited to the FD, and it goes without saying that the same applies even when a DVD, CD-ROM, or the like is used.
[0042]
FIG. 7 is a diagram illustrating an example of the hook log 111 according to the first embodiment of the present invention. In the hook log 111, a JobId, an application name, the number of logical pages, a document name, and the like can be acquired. Here, the JobId can be acquired from the GDI 104 when the GDI 104 instructs the start of printing, and can uniquely specify a print job of the client computer 101.
[0043]
FIG. 8 is a diagram illustrating an example of the driver log 112 according to the first embodiment of this invention. The driver log 112 is history information that the job account client 118 can acquire from the printer driver 105 when printing is performed. In the driver log 112, it is possible to acquire JobId, which is an identifier of a job related to print execution, paper size of print data included in the job, N-up information, information on the number of physical pages, and double-sided single-sided information. The paper size, N-up, number of physical pages, and single-sided and single-sided information are acquired from the print settings set by printing to the printer driver or by default. N-up is a setting of how many logical pages are allocated to a sheet. The number of physical pages is a unit for counting one side of a sheet output at the time of printing as 1.
[0044]
For example, if there are four logical pages and 2-up printing processing is performed in double-sided printing, the number of physical pages becomes two. Then, the physical page is printed on the front and back of the sheet, and one sheet is output and discharged. The first and second logical pages are printed on the table, and the third and fourth logical pages are printed on the back.
[0045]
FIG. 9 is a diagram illustrating an example of the API log 113 according to the first embodiment of this invention. In the API log 113, a JobId, a job owner name, and a spool data size can be acquired.
[0046]
FIG. 10 is a diagram illustrating an example of the transmission unit log 114 according to the first embodiment of this invention. In the transmission unit log 114, JobId can be acquired. For example, when transmitted to the printer 108, the number of discharged pages and the number of discharged sheets can be acquired.
[0047]
In each of the hook log 111, the driver log 112, the API log 113, and the transmission unit log 114, the flag information indicating whether or not the job has been processed and the area for recording the information indicating the log type are included. Shall be provided.
[0048]
FIG. 11 is a flowchart illustrating an example of a procedure for merging logs according to the first embodiment of this invention. Hereinafter, the operation of the job log merge unit 116 in the client computer will be described with reference to the flowchart of FIG. The job log merging unit 116 receives each log described with reference to FIGS. 1 and 18 and records the contents of the log on an HDD or the like. Then, the following processing is started periodically at a preset cycle, and the merging processing is performed for each job.
[0049]
In the present embodiment, log merging (merging processing) is performed using a job ID as a key. However, merging may be performed using a document data name or a new document data name described later as a key. Hereinafter, in the processing illustrated in FIG. 11, in the client computer 101, the job log merging unit 116 sets a start time that includes job information (hook log, API log, API log) obtained by each of the plurality of processes in the client computer 101. Among the start times indicated by the information and the entry of the completion time information, the earliest start time and the latest completion time can be specified. As described above, each piece of time information is stored as job information merged and merged.
[0050]
First, the job log merging unit 116, which is a preferred example functioning as a management unit in the present invention, has a transmission unit log (see FIG. 10) in which the processed flag is not set to YES, that is, an unprocessed transmission unit log. A search is made as to whether this is the case (step S1101). As a result, if there is an unprocessed transmission unit log (Yes), the process proceeds to step S1102.
[0051]
In step S1102, the job log merging unit 116 copies the transmission unit log 114 specified as unprocessed in step S1101 to another temporary storage area, and sets it as log A. Next, the job ID part is acquired from the log A (step S1103). Further, the job log merging unit 116 determines whether there is a log that has not been merged yet, that is, an unprocessed log among logs corresponding to the JobID acquired in step S1103, based on the JobID, The determination is made by searching and specifying each of the driver log 112 and the API log 113 (step S1104).
[0052]
As a result, if it is determined in step S1104 that there is no unprocessed log (No), the process ends. On the other hand, if the job log merging unit 116 determines that there is an unprocessed log in step S1104 (Yes), the job log merging unit 116 proceeds to step S1105, where the JobID determined to be unprocessed in step S1104 (here For convenience, it is assumed to be N). A search is performed to determine whether or not there is a log with a JobID equal to the log of the hook log 111, the driver log 112, and the API log 113, based on the JobID. .
[0053]
As a result, if there is no log with a Job ID equal to N in the hook log 111, the driver log 112, and the API log 113 in step S1105 (No), the process proceeds to step S1108. On the other hand, if there is a JobID equal to N in any of the logs in step S1105 (Yes), the process proceeds to step S1106. In step S1105, for example, N may be specified as N from Job IDs included in the unprocessed log A in ascending order.
[0054]
In step S1106, the job log merge unit 116 determines, for each item of the log corresponding to JobIDN of log A (job information included in each log acquired for JobIDN) specified in step S1105, among the items included in log B. It is determined whether or not there is any item not in the log A. As a result, if it is determined in step S1106 that there is no item in the log B that does not exist in the log A among the items of the Job IDN of the log A (No), the job log merge unit 116 performs the process of step S1108.
[0055]
On the other hand, if it is determined in step S1106 that there is an item in log B that is not in log A (Yes), the job log merging unit 116 adds an item in log B that is not in log A to the item of JobIDN in log A. Then, the data stored in the log A is merged (step S1107). Here, the processing completion flag of the log created by adding the item of log B to log A (hereinafter, referred to as “merge log” 127) is set to “YES”, and the process proceeds to step S1108.
[0056]
Subsequently, the item of the type of the merge log is set to “merge”. When the logs shown in FIGS. 7 to 10 are sequentially merged with the transmission unit log 114 based on the processing of FIG. 11, a merge log as shown in FIG. 12 is obtained. That is, FIG. 12 is a diagram illustrating the merge log 127 including the items of the hook log 111, the driver log 112, the API log 113, and the transmission unit log 114 in the first embodiment of the present invention.
[0057]
In FIG. 11, in step S1104 subsequent to step S1108, when it is determined that the processing has been completed for all JobIDs related to the log A (No), the processing ends.
[0058]
Normally, the job log merge unit 116 sends the merged log to the log transmission unit 116 each time the merge process ends (that is, after the process illustrated in FIG. 11). The log transmitting unit 116 transmits the transmitted log to the job log receiving unit 122 periodically or in response to a request from the job log receiving unit 122.
[0059]
Next, the operation of the job account server 121 will be described. The job log receiving unit 122, which is a preferable example of the obtaining unit in the present embodiment, obtains (receives) and stores the job transmitted from the job log transmitting unit 117. Also, the printer 110 periodically polls the printer 110 and acquires any job information that has not been received yet. This job information is used as the device log 115.
[0060]
The device log 115 is stored in the RAM 303 or the HD unit 304 of the controller unit 305, but it is not desirable to store all information such as the document name transmitted from the transmission unit 107 due to the limitation of the storage capacity. In this embodiment, it is assumed that the upper limit of the document name is eight characters. FIG. 13 is a diagram illustrating an example of the device log 115 according to the first embodiment. FIG. 14 is a diagram illustrating an example of the device log 115 when the hook unit 103 of the client computer 101 according to the first embodiment is not operating.
[0061]
On the other hand, the job log merge unit 123, which is a preferred example of the management unit in the present embodiment, merges the merge log 127 sent from the job account client 118 with the device log 115. The procedure for merging these will be described later.
[0062]
Further, the job log recording unit 124 receives the job log from the job log merging unit 123 and stores the job log in the HD 206 or the like. The job log totaling unit 125 performs totaling processing such as obtaining the number of print pages for each unit period or obtaining the number of print pages for each owner according to an instruction from the viewer.
[0063]
The ID generation unit 126 issues an ID for uniquely identifying the client computer 101. In the present embodiment, a four-digit character string in which each digit can take 26 values from a to z is changed in the order of aaa, aaab, ..., zzzy, zzzz in response to the request of the hook unit 103, and Issue so that it can be uniquely identified. Further, in the present embodiment, a new document name is created using a combination of a host and a job ID. May be taken.
[0064]
FIG. 15 is a flowchart illustrating an example of a procedure for changing a document name according to the first embodiment of this invention. Hereinafter, the operation of the hook unit 103 will be described with reference to the flowchart of FIG.
[0065]
First, the hook unit 103 obtains information indicating whether or not the printer at the printing destination has the device log 115 according to a predetermined device management protocol, and determines the information (step S1501). As a result, if it is determined that it is provided (Yes), the process proceeds to step S1502. On the other hand, when the hook log unit 103 determines that the printer does not have the device log (No), the process ends.
[0066]
In step S1502, the hook unit 103 determines whether the client ID has been acquired. As a result, if the client ID has been acquired (Yes), the process proceeds to step S1504. If the client ID has not been acquired (No), the process advances to step S1503. Here, the client ID is identification information issued by the ID generation unit 126 and capable of uniquely identifying the client computer 101.
[0067]
Then, in step S1503, the hook unit 103 communicates with the ID generation unit 126 and acquires an ID for uniquely identifying the client computer 101 from the ID generation unit 126.
[0068]
If Yes in step S1502 and after the processing in step S1503, a JOBID in the client that uniquely identifies the job is created in the client computer 101 (step S1504). Here, it is assumed that numerical values from 0001 to 9999 are issued in order.
[0069]
Further, the hook unit 103 combines the client ID determined to have been acquired in step S1503 and the in-client JobID created in step S1504, and creates a new document name, which is an example of new identification information uniquely determined in the printing system. (Step S1505).
[0070]
Furthermore, the hook unit 103 stores the original document name passed from the application 102 in the item “original document name” of the hook log 111 (step S1506). Further, a new document name is created (step S1507), and the document name is replaced with the new document name of step S1507 (step S1508). As a result, the new document name is passed to GDI as the document name. The processing in the printer driver 105, the spooler 106, the transmission unit 107, and the printer 110, which is the latter stage of the GDI processing, is preferably performed such that the document names are all processed with the new document names.
[0071]
Here, the reason why the new document name is created is that when merging job information acquired from the printing apparatus, it is difficult to directly use the JobID as a key for the merge process. For example, since a part of the specification of the job management method is not disclosed, when using the account server A developed by the company A, the account server developed by the company A acquires the JobID from the printer developed by the company B. Often cannot. In other words, even if the job information is acquired from a printer corresponding to an unexpected job management method, the job ID is not often included in the acquired job information, and cannot be used by merging the job information. However, the document name produced by the OS or application in the client computer and transmitted to the printer can often be acquired as job information.
[0072]
Therefore, it is conceivable to manage, as the identification information, a document name that can be managed on the client side instead of the job ID and that can be obtained from the printer side as a key of the job information, instead of the Job ID. However, there is a problem if the conventional document name is used as it is. The client OS or application can generally manage more than eight characters, and a commonly used OS can assign a document name of up to 255 characters. The printer can manage up to eight characters as described above. In general, a document name that can be used in the job management method is up to eight characters. With this configuration, if a document name of eight characters or more is given on the client side, even if the document name given by the OS or application on the client side is different, jobs with the same document name coexist in the printer. And confusion arises.
[0073]
Therefore, the host ID is issued on the account server side and used in combination with the document name issued on the client side. As a result, a new document name uniquely managed in the printing system including the client computer and the printer, which is managed by the account server within eight characters, is completed. Then, the new document name can be used for job identification instead of the job ID. Then, once a new document name is generated on the client side, the printer, client, and account server can use this document name as a job identifier.
[0074]
FIG. 16 is a flowchart illustrating an example of a procedure for creating a final log by merging logs according to the first embodiment of this invention. Hereinafter, the operation of the job log merge unit 123 (device job log merge unit) will be described with reference to the flowchart in FIG.
[0075]
First, the job log merge unit 123 searches for an unprocessed merge log (step S1601). As a result, if there is an unprocessed merge log (Yes), the process proceeds to step S1602. On the other hand, if there is no unprocessed merge log (No), the process ends.
[0076]
Next, the job log merging unit 123 determines whether the printer has the device log 115 (step S16032). As a result, if the device log 115 is provided (Yes), the process proceeds to step S1603. On the other hand, if the device log 115 is not provided (No), the process proceeds to step S1607.
[0077]
In step S1603, the job log merging unit 123 searches the unprocessed device log 115 to determine whether there is a log whose document name is the same as the merge log 127 in step S1601. As a result, if it is determined that there is (Yes), the process proceeds to step S1604. On the other hand, if it is determined that the same log as the merge log 127 in step S1601 does not exist (No), the process ends.
[0078]
In step S1604, the job log merge unit 123 replaces or adds the number of discharged pages and the number of discharged sheets of the device log 115 to the merge log 127.
[0079]
Further, as described above, FIG. 13 illustrates an example of the device log 115 according to the present embodiment. Then, the job log merging unit 123 replaces the document name with the original document name (Step S1605). That is, when this is applied to the device logs in FIGS. 12 and 13, “document name: 2001 annual report” becomes “original document name: abcd0001”.
[0080]
Further, the job log merging unit 123 deletes the original document name of the merge log 127 (Step S1606). This is referred to as a “final log”. For example, when this is applied to the device logs of FIGS. 12 and 13, the result is as shown in FIG. That is, FIG. 17 is a diagram illustrating an example of the final log according to the first embodiment of the present invention.
[0081]
Then, in step S1607, the job log merging unit 123 transmits the final log to the job log recording unit 124.
[0082]
As described above, according to the present embodiment, it is possible to acquire more accurate job information including a document name and paper ejection information, and to perform a more strict job account. That is, as described above, in the printing system managed by the account server, by providing a mechanism for performing a merge process using unique identification information, management of job information and counting of the number of printed sheets and the number of discharged sheets are provided. In this case, different jobs are not mistakenly merged and managed as the same job, and an accurate job account can be obtained.
[0083]
<Second embodiment>
Next, a second embodiment of the present invention will be described. Hereinafter, a description will be given mainly of portions different from the above-described first embodiment. Note that the configuration of the job account system used in the present embodiment is the same as that in the first embodiment.
[0084]
FIG. 19 is a diagram illustrating an example of a merge process in the job log merge unit 116 according to the second embodiment of this invention. Hereinafter, the operation of the job log merging unit 116 will be described with reference to the flowchart shown in FIG. The job log merging unit 116 receives and obtains each log, and records the contents on an HDD or the like in the client computer. Then, the processing described below is started periodically.
[0085]
First, the job log merging unit 116 searches for an unprocessed transmission unit log 114 (step S1901). As a result, if it is determined that there is an unprocessed transmission unit log 114 (Yes), the process proceeds to step S1902. On the other hand, if it is determined in step S1901 that there is no unprocessed transmission unit log 114 (No), the process ends.
[0086]
In step S1902, the job log merge unit 116 copies the contents of the transmission unit log 114. This is log A. Here, the processing completion flag of the transmission unit log 114 is set to YES. Next, the job log merge unit 116 extracts and acquires the JobId from the log A (step S1903). Then, the job log merging unit 116 determines whether there is any job ID for the log A acquired in step S1903 that has not yet been subjected to the merge processing and the time determination processing (step S1904).
[0087]
As a result, if it is determined in step S1904 that there is no unprocessed one (No), the process ends. On the other hand, if the job log merge unit 116 determines in step S1904 that there is job information related to the unprocessed JobID (Yes), the process advances to step S1905.
[0088]
In step S1905 and subsequent steps, among the JobIDs that have been determined to be unprocessed in step S1903, the processing proceeds with the job ID having the smallest number as N here. Then, the job log merging unit 116 searches the hook log 111, the driver log 112, the API log 113, and the transmission unit log 114 for a log having a JobID equal to N, and specifies the log. B.
[0089]
That is, in step S1905, it is determined whether there is a log having a JobID equal to N. If it is determined that there is no job log merging unit 116 (No), the job IDN is marked as processed in step S1912, and Returning to step S1904, another unprocessed Job ID is determined. On the other hand, if the job log merge unit 116 determines in step S1905 that there is a log having a JobID equal to N (Yes), the process proceeds to step S1906 and performs the merge process.
[0090]
In step S1906 and subsequent steps, processing is performed on the entry of JobIDN of the job information. First, it is determined whether the start time of the log B is earlier than the start time of the log A (step S1906). As a result, if it is before the start time (Yes), the process proceeds to step S1907, and if it is not before the start time (No), the process of step S1908 is performed.
[0091]
In step S1907, the job log merging unit 116 rewrites the start time of log A with the start time of log B, and proceeds to step S1908. In step S1908, the job log merging unit 116 determines whether the end time of the log B is later than the end time of the log A. As a result, if it is determined that it is later (Yes), the process proceeds to step S1909. On the other hand, if it is determined that it is not later (No), the process proceeds to step S1910.
[0092]
In step S1909, the job log merging unit 116 rewrites the end time of log A with the end time of log B, and proceeds to step S1910. In step S1910, the job log merging unit 116 determines whether there is any item in the log B that is not in the log A. As a result, if it is determined that there is (Yes), the process proceeds to step S1911. On the other hand, if it is determined that there is no (No), the process proceeds to step S1912.
[0093]
In step S1911, the job log merge unit 116 adds an item that is not included in the log A among the logs B. Here, the processed flag of the log B is set to YES. The type is merged. When the processing shown in the flowchart of FIG. 19 is performed on the log shown in FIGS. 7 to 10, the log becomes a merge log as shown in FIG. That is, as shown in FIG. 12, the merge log 127 includes items of a hook log 111, a driver log 112, an API log 113, and a transmission unit log 114. Has become something.
[0094]
Accordingly, it is possible to grasp the throughput from the generation of one job to the completion of the processing from the input of the print command to the application to the completion of the paper discharge. After the processing shown in FIG. 19, the job log merging unit 116 sends the merged log to the job log transmitting unit 117. Note that the job log transmitting unit 117 periodically transmits the log (merged job information) to the job log receiving unit 122.
[0095]
By performing the processing in the present embodiment, the order in which logs that can be acquired in each processing of performing image processing and output processing need not be arranged in chronological order in the data processing order. That is, as described above, the new document name can be used for the merge process instead of the JobID.
[0096]
As described above, in a client device that processes a job in which a plurality of data processes are performed on one job, a plurality of job information obtained in a plurality of data processes on a single job is acquired, and the account client acquires the plurality of job information. The job log merging unit 116 functioning as a specifying unit included in each of the plurality of job information can specify the earliest start time among the start times indicated by the start time information. Further, similarly to the above-described processing, if the job log merging unit 116 is controlled to overwrite the latest time with respect to the completion time, the latest completion time is finally left in the merge log 127, The latest completion time can be specified.
[0097]
As another example of the present embodiment, the hook log 111, the driver log 112, the API log 113, and the transmission unit log 114 corresponding to one job ID are arranged in the item of the time of each log. Then, merge processing is performed in this order. Time items need to be overwritten and merged in the order in which they are arranged.
[0098]
FIG. 20 is a flowchart illustrating an example of a merge process in the job log merge unit 123 according to the second embodiment of this invention. Hereinafter, the operation of the job log merging unit 123 will be described with reference to the flowchart in FIG. Here, the merge log 1127 is transmitted to the job account server 121, and the same processing as the flowchart shown in FIG. 15 is performed. That is, based on the information generated by the ID generation unit 126, the new document name is stored in the merge log 127, and the old document name is backed up in the item of the old document name. Then, the job log merging unit 123 generates the final log from the merge log 127. Hereinafter, a modified example of the merge log processing described above will be described.
[0099]
First, the job log merging unit 123 searches and determines whether there is an unprocessed merge log acquired from the client computer 101 by the job log merging unit 123 (Step S2001). As a result, if it is determined that there is (Yes), the process proceeds to step S2002. On the other hand, if it is determined that there is no data (No), the process ends.
[0100]
In step S2002, the job log merging unit 123 determines whether the printer has a device log 115 acquisition mechanism. As a result, if it is determined that it is provided (Yes), the process proceeds to step S2003. On the other hand, if it is determined that it is not provided (No), the process proceeds to step S2011.
[0101]
In step S2003, the job log merging unit 123 searches the device log 115 acquired from the printer by the job log merging unit 123 for an unprocessed device log for a document having the same document name as the merge log of S2001. to decide. As a result, if it is determined that there is the same one (Yes), the process proceeds to step S2004. On the other hand, if it is determined that there is not the same one (No), the process ends.
[0102]
In step S2004, the job log merge unit 123 adds the number of discharged pages and the number of discharged sheets of the device log to the merge log. Next, the job log merging unit 123 replaces the document name with the original document name (Step S2005). For example, when this processing is applied to the device logs shown in FIGS. 12 and 13, “document name: 2001 annual report” becomes “original document name: abcd0001”.
[0103]
In S2006, the original document name of the merge log is deleted. This is the final log. For example, when applied to the logs in FIGS. 12 and 13, the final log is as shown in FIG. Further, in step S2007, it is determined whether the start time of the device log is earlier than the start time of the merge log. As a result, if it is determined that it is before (Yes), the process proceeds to step S2008. On the other hand, if it is determined that it is not (No), the process proceeds to step S2009.
[0104]
In step S2008, the start time of the final log is set to the start time of the device log. Then, it is determined whether the end time of the device log is later than the end time of the merge log (step S2009). As a result, if it is determined that it is later (Yes), the process proceeds to step S2010. On the other hand, if it is determined that it is not later (No), the process proceeds to step S2011. In step S2010, the end time of the last log is set to the end time of the device log.
[0105]
Then, in step S2011, the final log is transmitted to the job log recording unit 124. The generated job log is as shown in FIG. FIG. 21 is a diagram illustrating an example of the final log according to the embodiment of this invention. The final log shown in FIG. 21 allows the job log merging unit 123 to accurately reflect and manage the output start time and the output end time in the host computer, and achieve a correct throughput from the start of image processing to the completion of output. Can be measured.
[0106]
That is, the job log merge unit 123 acquires a plurality of job information obtained in a plurality of data processes for one job, and obtains a hook log obtained by a plurality of processes corresponding to one job acquired by the job log merge unit 123. 111, the driver log 112, the API log 113, the device log 114, etc., respectively, the earliest start time and the latest completion time are specified among the start times indicated by the entries of the start time information and the completion time information of each log. it can. Then, each time information is merged and stored as merged job information as described above.
[0107]
As described above, according to the present embodiment, it is possible to acquire the print start time and the print end time, and it is possible to perform a stricter job account.
[0108]
<Third embodiment>
The application of the present invention is not only effective when the printer has the device log. That is, the hook log 111, the driver log 112, and the API log 113 can be merged by making the document name unique.
[0109]
Also, depending on the OS, the JobId issued by the OS may not guarantee uniqueness. In this case, the determination process of step S2001 in FIG. 20 may be replaced with a determination process of “Is JobId unique?”, And if not unique, a document name change process may be performed. In steps S1101 and S1901, etc., the Job ID of the transmission unit log is used as the Job ID in the above-described embodiment. Needless to say, it is good.
[0110]
<Fourth embodiment>
Next, a counting method of the job log 127 according to the present invention will be described. FIG. 22 is a diagram showing a detailed module configuration of the job log totaling unit 125 according to the fourth embodiment of the present invention. Note that the overall configuration of the job account system according to the present embodiment is the same as that of the above-described first embodiment. As shown in FIG. 22, the job log totaling unit 125 includes four internal modules (a user information management module 2202, a device information management module 2203, a job information management module 2204, and a usage status input / output module 2205). .
[0111]
Among these, the user information management module 2202 stores and manages user information in the HD 206 or the like. Further, the device information management module 2203 checks whether the peripheral device connected to the network has a job history holding function, and stores information on the device having the job history holding function and other device information. It is stored and managed in the HD 206 or the like. Here, the user information is a computer login name of a user who uses the peripheral device (a name that the user inputs to log in to the computer) or a network login name (a user inputs to log in to the network system). Name), and is information for specifying (identifying) a user who has used the peripheral device. The device information is the printing speed of peripheral devices, color information, network address, and the like.
[0112]
On the other hand, the job information management module 2204 receives job information from the job account client 118 via the job log receiving unit 122, and stores the job information in the job log recording unit 124. Further, the job information management module 2204 requests history information from a peripheral device (for example, the printer 110) having a function of retaining history information, and acquires the history information via the usage status input / output module 2205. This process may be performed periodically. Further, when the storage capacity of the history information storage unit (not shown) of the peripheral device becomes small, the use status input / output module is notified to that effect, and this processing may be performed at that time.
[0113]
That is, the usage status input / output module 2205 acquires a usage status including a job history (job information) from a peripheral device having a job history holding function. The usage status input / output module 2205 can also output a usage status report (a report indicating which users have executed jobs and how many times) to a printer or monitor of a peripheral device.
[0114]
Therefore, the administrator can cause the usage status input / output module 2205 to output the usage status and obtain the usage status of the peripheral device. The usage status input / output module 2205 outputs various usage statuses based on the user information, device information, and print history information stored in the storage unit. The administrator specifies the output format (output format) for the usage status input / output module. The output of the usage status is displayed on a display unit (not shown) of the job account server 121, for example. Further, output data relating to the output of the usage status may be transmitted to the client computer 101, and the output of the usage status may be displayed on a display unit (not shown) of the client computer. In that case, it goes without saying that the usage status may be displayed using a Web browser.
[0115]
As for the output of the usage status, the usage amount (the number of sheets or the amount of toner used for the output) for each user and the usage time of the peripheral device are output. The usage status is output for each operation mode (function) of the peripheral device such as color printing or double-sided printing. Further, the usage status is output for each used paper size and used paper type.
[0116]
Furthermore, since the usage fee of the peripheral device is set in the device information, the usage fee is output for each peripheral device or for each user. Furthermore, since the usage fee for each operation mode, the usage fee for each paper size, and the usage fee for each paper type are set, which user can use which paper, which operation mode, which peripheral device, Outputs how much printing and how much money is spent.
[0117]
On the other hand, the administrator can also set use restrictions by function, by user, by user department, and by device to be used, via the user information management module 2202 and the device information management module 2203. The limit information that can be set includes items such as a usage fee, the number of pages, and the number of sheets. The usage status input / output module 2205 monitors and collates the set restriction (restriction information) with the print history information, and if the usage exceeds the restriction, outputs a message to that effect. This may be a display output on a screen or a mail or other communication output.
[0118]
Also, the job information management module 2204 monitors and compares the print history information set by the user with the print history information. Refuse the use of the user. Alternatively, a warning may be urged to the user by display on a screen, mail, or other communication means.
[0119]
That is, according to the present embodiment, the job account server 121 manages job information output from the client computer 101 used by the user to the printers 108 to 110. First, a total item for totalizing the job information is set, and the job log totaling unit 125 acquires the job information from the job information recorded in the job log recording unit 124 based on the set total item. . Then, for example, history information such as the number-of-sheets information included in the acquired job information is totaled, and a totaling result of the totaled history information is output.
[0120]
Hereinafter, a procedure for outputting the total result of the usage status will be described in detail. FIG. 23 is a flowchart illustrating an example of a procedure in the usage status input / output module 2205 in which a user sets a usage status tabulation item and outputs a tabulation result based on the result. As shown in FIG. 23, this totaling process is roughly divided into two processes, a totaling item setting process (step S231) and a totaling process for setting items (step S232).
[0121]
First, in the total item setting process (step S231), an item to be output as a total result is set (step S2301). Next, the setting contents are stored in a storage device such as the HD 206 (step S2302).
[0122]
Next, in the tabulation process for the items set as described above (step S232), first, a command for displaying the tabulation result is performed (step S2303). Next, information set in the above-described setting process is referred to (step S2304). The job information is totalized based on the set information (step S2305). Finally, the totaling result is displayed (step S2306).
[0123]
These displays will be described below, but they may be displayed on the display unit (not shown) of the job account server 121 or displayed on the display unit (not shown) of the client computer. Needless to say, it is good. Needless to say, the total result may be displayed using a Web browser.
[0124]
FIG. 24 is a diagram for more specifically explaining the content of the setting process of the aggregation item shown in FIG. FIG. 25 is a diagram for more specifically explaining the contents of the tallying process of the setting items shown in FIG. That is, FIG. 24 shows a GUI for setting the tallying conditions when performing the tallying process. In this example, it is possible to specify an item on the vertical axis and an item on the horizontal axis displayed in the tally result.
[0125]
As examples of selectable items, “user”, “device”, “management code”, “paper size”, and “paper type” can be selected. The "user" indicates a user who has performed printing, copying, facsimile transmission and reception, and the like, and the "device" is a printer, a scanner, a facsimile, a copying machine, etc. connected to a network, and a multifunction device integrating them. (MFP) and the like. The "management code" indicates a code added at the time of printing in order to allocate the number of printed pages, the number of sheets, and the cost required for printing to each job type and purpose. The “paper size” indicates the size of the paper used for printing (A3, A4, Letter, etc.), and the “paper type” indicates the type of paper used for printing (plain paper, OHP, thick paper, etc.). Is shown.
[0126]
On the other hand, FIG. 25 shows a tabulated result in the case of selecting “user” as the first tabulated item on the vertical axis and “management code” as the second tabulated item on the horizontal axis in the interface shown in FIG. FIG. 11 is a diagram showing a GUI that has been used. In this example, a result that indicates which management code is used by each user to perform the printing process is obtained. Similarly, it is possible to set the vertical axis and the horizontal axis individually and obtain a total result. That is, a table in which the aggregation results are arranged based on the first aggregation item and the second aggregation item is output.
[0127]
FIGS. 26 to 28 are diagrams for more specifically explaining the processing contents of FIG. 23 in a case different from those of FIGS. First, FIG. 26 shows a GUI for setting tallying conditions when performing tallying processing. In this example, it is possible to set which of the “number of pages”, “number of converted pages”, and “number of sheets” to be displayed as a numerical value to be tabulated by selecting a checkbox. Here, the “number of pages” indicates the number of pages used for printing, and the “converted page number” indicates the number of pages determined by a rate at which the number of pages is converted into a unit price. . The “number of sheets” indicates the number of sheets used for printing.
[0128]
FIG. 27 is a diagram showing the display contents of the counting result when all of “number of pages”, “number of converted pages”, and “number of sheets” are selected in FIG. In this example, the vertical axis indicates the device and the horizontal axis indicates the period (month). Further, FIG. 28 is a diagram showing a tally result when only “the number of sheets” is checked in FIG. As described above, according to the present embodiment, it is possible to total only necessary job information for each user by selecting an item required by the user without displaying unnecessary information. .
[0129]
<Other embodiments>
Note that the present invention is applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), but a device including one device (for example, a copying machine, a facsimile machine, etc.). May be applied.
[0130]
Further, an object of the present invention is to supply a recording medium (or a storage medium) recording a program code of software for realizing the functions of the above-described embodiments to a system or an apparatus, and to provide a computer (or a CPU or a CPU) of the system or the apparatus. Needless to say, the present invention can also be achieved by the MPU) reading and executing the program code stored in the recording medium. In this case, the program code itself read from the recording medium implements the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention. When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing.
[0131]
Further, after the program code read from the recording medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the CPU or the like provided in the card or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0132]
When the present invention is applied to the recording medium, the recording medium stores program codes corresponding to the flowcharts described above.
[0133]
When the present invention is applied to the recording medium, the recording medium stores program codes corresponding to the flowcharts described above.
[0134]
Examples of embodiments of the present invention are listed below.
[0135]
[Embodiment 1] A job management method for managing job information output from an information processing apparatus to a peripheral device,
A setting step of setting a total item when totaling the job information;
An acquisition step of acquiring the job information based on the set aggregation item;
A counting step of counting the history information included in the acquired job information;
An output step of outputting a count result of the history information tabulated in the tabulation step;
A job management method comprising:
[0136]
[Embodiment 2] The peripheral device is a printer,
2. The job management method according to claim 1, wherein the history information is information on the number of sheets output from the printer.
[0137]
[Embodiment 3] The job information includes user information on a user who has used the peripheral device,
3. The job management method according to claim 1, wherein the setting step is capable of setting the user information as the total item.
[0138]
[Embodiment 4] The job information includes device information for identifying the peripheral device,
3. The job management method according to claim 1, wherein the setting step can set the device information as the aggregation item.
[0139]
[Embodiment 5] In the setting step, a first total item and a second total item can be set,
The job management according to any one of the first to fourth embodiments, wherein the obtaining step obtains the job information based on both the first total item and the second total item. Method.
[0140]
[Sixth Embodiment] The job management method according to the fifth embodiment, wherein the output step outputs a table in which the aggregation results are arranged based on the first aggregation item and the second aggregation item.
[0141]
[Embodiment 7] In any one of Embodiments 1 to 6, wherein the acquiring step acquires the job information from a storage area (for example, the HD unit 206 in FIG. 2) in the job management apparatus that manages the job information. A job management method according to one aspect.
[0142]
Embodiment 8 is a job management device that manages job information output from an information processing device to a peripheral device,
Storage means for storing the job information;
Setting means for setting a total item when totaling the job information;
Extracting means for extracting the job information from the storage means based on the set tally item;
Counting means for counting the history information included in the extracted job information;
Output means for outputting a result of aggregation of the history information aggregated by the aggregation means;
A job management device comprising:
[0143]
[Embodiment 9] The peripheral device is a printer,
The job management apparatus according to claim 8, wherein the history information is information on the number of sheets output from the printer.
[0144]
[Embodiment 10] The job information includes user information on a user who has used the peripheral device,
The job management apparatus according to the eighth or ninth embodiment, wherein the setting unit can set the user information as the aggregation item.
[0145]
[Embodiment 11] The job information includes device information for identifying the peripheral device,
10. The job management apparatus according to claim 8, wherein the setting unit can set the device information as the total item.
[0146]
[Embodiment 12] The setting means can set a first total item and a second total item,
The job management according to any one of embodiments 8 to 11, wherein the extraction unit extracts the job information based on both the first total item and the second total item. apparatus.
[0147]
[Thirteenth Embodiment] The job management apparatus according to the twelfth embodiment, wherein the output unit outputs a table in which the aggregation results are arranged based on the first aggregation item and the second aggregation item.
[0148]
[Embodiment 14] A program for causing a computer to manage job information output from an information processing apparatus to a peripheral device,
A setting procedure for setting a total item when totaling the job information;
An acquisition procedure for acquiring the job information based on the set tally item,
A counting procedure for counting history information included in the acquired job information;
An output step of outputting a total result of the history information totaled in the total step;
The program to execute.
[0149]
[Embodiment 15] A computer-readable recording medium storing the program according to Embodiment 14.
[0150]
【The invention's effect】
As described above, according to the present invention, when totaling job information acquired from peripheral devices, a totaling item can be changed by a user's selection, and a totaling result suitable for each user can be obtained. .
[Brief description of the drawings]
FIG. 1 is a block diagram showing a detailed module configuration of a job account system according to a first embodiment of the present invention.
FIG. 2 is a block diagram illustrating an example of an electrical configuration of a client computer 101 and a job account server 121 included in the job account system illustrated in FIG.
FIG. 3 is a block diagram showing an example of a detailed configuration of printers 108 to 110 constituting the job account system shown in FIG.
FIG. 4 is a diagram illustrating an example of a memory map in the job account server 121 according to the embodiment illustrated in FIG.
FIG. 5 is a diagram showing a configuration of a flexible disk (FD) storing a job account program and related data according to the first embodiment of the present invention.
FIG. 6 is a diagram illustrating an example of loading a job account program and related data recorded on an FD into a computer according to the first embodiment of the present invention.
FIG. 7 is a diagram illustrating an example of a hook log 111 according to the first embodiment of the present invention.
FIG. 8 is a diagram illustrating an example of a driver log 112 according to the first embodiment of the present invention.
FIG. 9 is a diagram illustrating an example of an API log 113 according to the first embodiment of this invention.
FIG. 10 is a diagram illustrating an example of a transmission unit log 114 according to the first embodiment of the present invention.
FIG. 11 is a flowchart illustrating an example of a procedure for merging logs according to the first embodiment of this invention.
FIG. 12 is a diagram illustrating a merge log 127 including items of a hook log 111, a driver log 112, an API log 113, and a transmission unit log 114 according to the first embodiment of this invention.
FIG. 13 is a diagram illustrating an example of a device log 115 according to the first embodiment.
FIG. 14 is a diagram illustrating an example of a device log 115 when the hook unit 103 of the client computer 101 is not operating in the first embodiment.
FIG. 15 is a flowchart illustrating an example of a procedure for changing a document name according to the first embodiment of this invention.
FIG. 16 is a flowchart illustrating an example of a procedure for creating a final log by merging logs according to the first embodiment of the present invention.
FIG. 17 is a diagram illustrating an example of a final log according to the first embodiment of the present invention.
FIG. 18 is a block diagram for explaining an outline of a job account system for managing job information of a peripheral device according to the first embodiment of the present invention.
FIG. 19 is a diagram illustrating an example of a merge process in a job log merge unit according to the second embodiment of the present invention.
FIG. 20 is a flowchart illustrating an example of a merge process in a job log merge unit 123 according to the second embodiment of the present invention.
FIG. 21 is a diagram illustrating an example of a final log according to the second embodiment of this invention.
FIG. 22 is a diagram illustrating a detailed module configuration of a job log totaling unit 125 according to the fourth embodiment of the present invention.
FIG. 23 is a flowchart illustrating an example of a procedure in which the user sets a total item of usage status in the usage status input / output module 2205 and outputs a totaling result based on the result.
24 is a diagram for more specifically explaining the content of the setting of the aggregation item shown in FIG.
25 is a diagram for more specifically explaining the content of the tabulation process of the setting items shown in FIG.
FIG. 26 shows a GUI for setting tallying conditions when performing tallying processing.
FIG. 27 is a diagram showing display contents of the tally result when all of “number of pages”, “number of converted pages”, and “number of sheets” are selected in FIG.
FIG. 28 is a diagram illustrating a tally result when only “number of sheets” is checked in FIG. 26;
[Explanation of symbols]
101 Client computer
102 Application
103 Hook
104 GDI
105 Printer Driver
106 Spooler
107 transmission unit
108, 109, 110 Printer
111 hook log
112 Driver log
113 API log
114 Transmission part log
115 Device Log
116 Job Log Merge Unit
117 Job log transmission unit
118 Job Account Client
121 Job Account Server
122 Job Log Receiver
123 Job Log Merge Unit
124 Job Log Recorder
125 Job log totaling section
126 ID generator
127 Merge log
2202 User information management module
2203 Device Information Management Module
2204 Job log information management module
2205 User status input / output module

Claims (1)

情報処理装置から周辺機器に出力されたジョブ情報を管理するジョブ管理方法であって、
前記ジョブ情報を集計する際の集計項目を設定する設定工程と、
設定された前記集計項目に基づいて前記ジョブ情報を取得する取得工程と、
取得された前記ジョブ情報に含まれる履歴情報を集計する集計工程と、
前記集計工程で集計された前記履歴情報の集計結果を出力する出力工程と
を有することを特徴とするジョブ管理方法。
A job management method for managing job information output from an information processing device to a peripheral device,
A setting step of setting a total item when totaling the job information;
An acquisition step of acquiring the job information based on the set aggregation item;
A counting step of counting the history information included in the acquired job information;
Outputting an aggregation result of the history information aggregated in the aggregation step.
JP2002344579A 2002-11-27 2002-11-27 Job management method Withdrawn JP2004178325A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002344579A JP2004178325A (en) 2002-11-27 2002-11-27 Job management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002344579A JP2004178325A (en) 2002-11-27 2002-11-27 Job management method

Publications (1)

Publication Number Publication Date
JP2004178325A true JP2004178325A (en) 2004-06-24

Family

ID=32706021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002344579A Withdrawn JP2004178325A (en) 2002-11-27 2002-11-27 Job management method

Country Status (1)

Country Link
JP (1) JP2004178325A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257455A (en) * 2009-04-23 2010-11-11 Xerox Corp Method and system for monitoring and correcting usage policy by manipulating usage governance logs
JP2011242947A (en) * 2010-05-17 2011-12-01 Fuji Xerox Co Ltd Image forming apparatus and program
US8154750B2 (en) 2007-06-07 2012-04-10 Konica Minolta Business Technologies, Inc. Image forming apparatus and job information management method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8154750B2 (en) 2007-06-07 2012-04-10 Konica Minolta Business Technologies, Inc. Image forming apparatus and job information management method
JP2010257455A (en) * 2009-04-23 2010-11-11 Xerox Corp Method and system for monitoring and correcting usage policy by manipulating usage governance logs
JP2011242947A (en) * 2010-05-17 2011-12-01 Fuji Xerox Co Ltd Image forming apparatus and program

Similar Documents

Publication Publication Date Title
US6618566B2 (en) Print control apparatus for generating accounting information relating to a print job
JP4012050B2 (en) Information processing apparatus, information processing method, and control program
US7286250B2 (en) Print control apparatus and method, and print system
US8947706B2 (en) Information processing system and method, and non-transitory computer readable medium for using identification information, for first authentication to an information system, with a print service system that performs second authentication
JP4980255B2 (en) Print processing system
US7880923B2 (en) Image forming apparatus print processing method and charging control system
JP4185920B2 (en) Print control method, print setting management system, and software distribution server
US7561291B2 (en) Job management system, information processing apparatus, job management method, job management program and storage medium storing the problem
JP5834566B2 (en) Information processing apparatus, program, and information display apparatus
US7636174B2 (en) Job information managing system, job information managing method, program for implementing the method, and storage medium storing the program
CN103116479A (en) Printing system, control method, and computer-readable medium
US7420696B2 (en) Job management apparatus, job management system, job management method, and storage medium storing program
JP2009295080A (en) Print processing system
JP4497808B2 (en) Information processing method, information processing server, and program
JP3880435B2 (en) Printing system, information processing apparatus, information processing method, and control program
JP4125033B2 (en) Management system, information processing apparatus and management method
JP2005284951A (en) Information processing apparatus and method, job management system, program, and storage medium
JP2004178325A (en) Job management method
JP3880434B2 (en) Job management system, job management apparatus, data processing apparatus, job management method, data processing method, and control program
CN104850362A (en) Printing instruction apparatus, image forming system and printing instruction method
JP2015184835A (en) Log information collecting apparatus, method, and program
JP4366042B2 (en) Job management apparatus, job management method, and control program
JP2010214725A (en) Printer and printing system and method of controlling printer
JP2004178324A (en) Information processing system
JP2003308185A (en) Management system, information processing apparatus, and management method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060207