説明

情報処理方法

【課題】ジョブ情報管理の精度向上を図ること。
【解決手段】まず、ステップS2201では、記録対象となる最終ログより、ポート名、プリンタドライバ名を取得する。次に、ステップS2202において、処理対象外データベースを参照し、ステップS2201で取得したポート名、プリンタドライバ名が含まれるかどうかを検索する。ステップS2203、およびステップS2204の条件判断では、ポート名、プリンタドライバ名のいずれか一方が処理対象外データベースに含まれていれば、最終ログ128を記録しない。従って、最終ログが、集計対象外のポートまたはプリンタドライバを使用して作成されたものであれば、集計されない。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、ジョブ情報の管理技術に関するものである。
【0002】
【従来の技術】
従来から、ジョブ情報を取得して管理する情報処理システムに関するジョブ管理方法が開発されてきており(例えば特許文献1参照)、周辺機器で実行されたジョブ情報を収集することが行われている。
【0003】
【特許文献1】
特開2002−116899号公報
【0004】
【発明が解決しようとする課題】
しかしながら、従来のジョブ情報の収集においては、ジョブ情報の生成過程に基づいて収集するか否かを判断することは行っていなかった。そのため、不必要または異常なジョブ情報を収集することがあった。例えば、ホストコンピュータや外部のファイルサーバ内の所定の記憶領域を出力先とし、アプリケーションやドライバによってPDF形式のファイルのような表示制御データ、又は、画像データ、又は、印字データを生成し、出力する場合のように、印刷処理を行わなわない場合であっても、ジョブ情報が記録又は集計される場合がある。
【0005】
また、システム内にジョブ情報の収集に対応していない画像形成装置が存在することがあり、これらサポート外の画像形成装置を使用した場合、異常なジョブ情報が作成されてしまう場合がある。
【0006】
このように、多様なジョブ情報を収集した場合、所望のジョブ情報を精度良く管理することが不可能であった。
【0007】
本発明は、かかる問題点を鑑みてなされたものであり、精度の高いジョブ情報の管理を実現することを目的とする。
【0008】
また、ドライバに応じて、ジョブ情報を記録、又は、集計するか否かの判断をおこない、ジョブに対応するドライバに応じたジョブ情報の記録又は集計を行う仕組みを提供することをさらに別の目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る方法は、
情報処理装置から画像形成装置に発行されるジョブに関するジョブ情報を管理する情報処理方法であって、
前記情報処理装置または前記画像形成装置から前記ジョブ情報を取得する取得工程と、
前記取得工程で取得された前記ジョブ情報を記録処理すべきか否かを判定する判定工程と、
前記判定工程で記録処理すべきと判定された前記ジョブ情報を記録する記録工程と、
を有することを特徴とする。
【0010】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0011】
<システム構成>
図1Aは、本発明に係る情報処理方法を実施できる好適な形態としての情報処理システムの一例を示す図である。
【0012】
本情報処理システムは、第1情報処理装置と第2情報処理装置と画像形成装置とを少なくとも1台ずつは含むものであるが、図1Aでは、第1情報処理装置としてクライアントコンピュータ1001〜1003、第2情報処理装置としてサーバコンピュータ2000、画像形成装置としてプリンタ108〜110及びファクシミリ、コピー機、及びこれらの機能を複合的に有するMFP(マルチファンクションプリンタ)を例示的に図示している。
【0013】
これらの装置は、イーサネット(登録商標)等で構築されたローカルエリアネットワーク(単にネットワークという)3000によって接続され、相互に通信可能となっている。
【0014】
クライアントコンピュータ1001〜1003は、各ユーザが使用するものである。サーバコンピュータ2000は、ネットワーク3000上に存在するクライアントコンピュータ1001やプリンタ110などを管理するとともに、遠隔制御する制御用コンピュータである。なお、このクライアントコンピュータ1001乃至1003とサーバコンピュータ2000との違いは、その装置上で、後述するジョブアカウントクライアントプログラム(以下、ジョブアカウントクライアントと称する)が実行されるか、ジョブアカウントサーバプログラム(以下、ジョブアカウントサーバと称する)が実行されるかの違いであって、ハードウェア上の違いはない。
【0015】
また、後述する説明から明らかになるが、このサーバコンピュータ2000は、管理者が管理するためのものであって、クライアントコンピュータ1001〜1003等のユーザはその存在を知らなくても構わない。
【0016】
なお、図示では、一般ユーザが使用するクライアントコンピュータとして3台を示したが、もちろん、この数により本願発明が限定されるものではない。ネットワーク3000上には、他に複数のコンピュータが接続されていても良いし、それらはプリンタに接続されていなくてもよい。
【0017】
なお、本システムを構成する画像形成装置としては、種々のものが考えられるが、本実施形態では、特にプリンタ108〜110について例示的に説明する。
【0018】
プリンタ108は、クライアントコンピュータ1001〜1003から受信したデータを印刷する機能を有するが、外部の機器に対してプリンタ108で行ったジョブの情報を出力する機能を有さないものとする。
【0019】
プリンタ109は、プリンタ108の機能に加えて、ジョブ終了時点で、そのジョブに関する総排紙ページ数などの印刷結果をクライアントコンピュータ1001〜1003に通知する機能を有しているものとする。
【0020】
プリンタ110は、印刷後にジョブ情報をプリンタ内のメモリに格納し、サーバコンピュータ2000の要求に応じてそのジョブ情報を出力する機能を有するものとする。
【0021】
サーバコンピュータ2000は、ネットワーク3000を介してクライアントコンピュータで扱ったジョブログを記録し、閲覧希望者からの要求に応じて、特定のジョブログを選択し、単位期間別、デバイス別、ジョブ発行者別などの集計処理などを行うことが可能である。
【0022】
なお、本実施形態では、ネットワーク3000のプロトコルとしてTCP/IPを利用するものとして説明するが、以下の機能を実現するものであれば、如何なるものでも構わない。
【0023】
<システムのソフトウェア構成>
図1Bは、情報処理システムのソフトウェア構成を示す図である。
【0024】
クライアントコンピュータ1001〜1003は、アプリケーション102、フックモジュール103、GDI104(グラフィック描画を処理するサブシステム)、プリンタドライバ105、スプーラ106、送受信モジュール107、ジョブアカウントクライアント118、を含む。
【0025】
これらのうち、アプリケーション102は、画像データを取り込んだり、加工したりする画像処理アプリケーションや、文書データを作成するワードプロセッサアプリケーションなどであり、不図示のオペレーションシステム上で動作する。また、GDI104、送受信モジュール107は、オペレーションシステムに含まれるモジュールである。更に、プリンタドライバ105は、クライアントコンピュータ1001〜1003が制御するプリンタに応じてプリンタメーカーによって用意されたプログラムであり、プリンタ108〜110などのプリンタとアプリケーション102との間で橋渡し的に動作する。スプーラ106は、プリンタドライバ105によって確保される一時記憶領域である。
【0026】
一方、サーバコンピュータ2000は、ジョブアカウントサーバ121を含み、ジョブアカウントサーバ121は、ジョブログマージモジュール123、ジョブログ記憶モジュール124、ジョブログ受信モジュール122、ジョブログ集計モジュール125、ID発生モジュール126、処理対象外データベース129を含む。
【0027】
次に、クライアントコンピュータ1001〜1003及びサーバコンピュータ2000内の動作について説明する。
【0028】
クライアントコンピュータ1001〜1003において、アプリケーション102に対して印刷指示が発行されると、アプリケーション102は描画のためのGDIコールを行う。
【0029】
フックモジュール103はジョブアカウントクライアント118と共に組み込まれるもので、GDIコールをフック(監視して認識)して、どのGDIコールがいかなるパラメータで呼ばれたか、呼ばれた回数、などの情報を蓄積する。例えば、改ページあるいは排紙を行うAPI(アプリケーションプログラミングインタフェース)をカウントすることでアプリケーション102が発行したジョブの排紙枚数あるいはページ数を取得する。この情報をもとに作成された履歴をフックログ111として、ジョブアカウントクライアント118に渡す。フックモジュール103は、規定の判断基準に基づき、ドキュメント名を変更することもできる。ドキュメント名並びにこの変更処理については後述する。
【0030】
図7は、フックログ111の一例を示す図である。フックログでは、JobId、アプリケーション名、論理ページ数、ドキュメント名、が取得可能である。JobIdはGDIに印刷開始を指示したときにGDIから取得できるものであり、クライアントコンピュータ1001〜1003の印刷ジョブを一意に指定できるものである。
【0031】
図1Bに戻り、プリンタドライバ105はGDIコールを印刷設定に従ってプリンタが解釈できる印刷データに変換して、スプーラ106に渡すとともに、変換内容から印刷情報を抜き出し、それをドライバログ112として、ジョブアカウントクライアント118に渡す。
【0032】
図8はドライバログ112の例を示す図である。ドライバログ112は、ジョブアカウントクライアントが印刷実行時にドライバから取得可能な履歴情報である。ドライバログ112としては、印刷実行に係るジョブの識別子であるJobId、ジョブが含む印刷データの用紙サイズ、N−up情報、物理ページ数の情報、両面片面情報が取得可能である。用紙サイズ、N−up、物理ページ数、両面片面情報は、プリンタドライバに印刷時又はデフォルト入力され設定される印刷設定から取得する。N−upは用紙に何面の論理ページを割り付けるかの設定である。物理ページ数は、印刷時に出力する用紙の片側を1と数える単位である。
【0033】
例えば、論理ページが4ページの場合に、両面印刷で2−upの印刷処理を行うと、物理ページは2ページとなる。そして、該物理ページが、用紙の表裏に印刷され、1枚の用紙が出力排紙される。表に論理ページの1ページ目、2ページ目、裏に論理ページの3ページ目、4ページ目が印刷される。
【0034】
また、図1Bに戻り、ジョブアカウントクライアント118は定期的にスプーラを監視し、スプールされているジョブが有れば、そのジョブの情報をAPIで取得することにより、ジョブの排紙枚数あるいはページ数を取得する。これにより取得したジョブ情報をAPIログ113として、ジョブアカウントクライアント118に渡す。
【0035】
図9は、APIログ113の一例を示す図である。APIログ113としては、JobId、ジョブのオーナ名、スプールデータサイズが取得可能である。
【0036】
送受信モジュール107はプリンタ108〜110など、アプリケーションから指定されたいずれかのプリンタと通信し、プリンタがレディ状態であれば、印刷データを送信する。このとき、例えば、HP社のPrinterJobLanguage(プリンタ・ジョブ・ランゲージ)のコマンドを用いれば、プリンタ109において印刷ジョブの全ページの排紙が完了した後に当該ジョブが排紙したページ数を取得することが可能である。送受信モジュール107(ポートモニタ)107は、プリンタ109から受信したページ数などジョブ情報を、ジョブアカウントクライアント118に送る。この情報をもとに作成された印刷ログをモニタログ114と称する。
【0037】
図10は、モニタログ114の一例を示す図である。モニタログ114としては、JobIdが取得可能である。プリンタ108に送信した場合は、加えて排紙ページ数、排紙枚数が取得できる。
【0038】
フックログ111、ドライバログ112、APIログ113、モニタログ114のいずれにおいても、当該ジョブが処理済みか否かを示すフラグ情報、並びに、ログの種別を示す情報を記録する領域が設けられている。
【0039】
クライアントコンピュータ内のCPUで実行されるソフトウェアモジュールであるジョブアカウントクライアント118は、各種印刷処理に関するログを収集し、ジョブアカウントサーバ121に送信するため、ジョブログマージモジュール116及びジョブログ送信モジュール117を含む。
【0040】
図1Bのジョブログマージモジュール116は、フックログ111、ドライバログ112、APIログ113、及びモニタログ114をマージし、通常は、マージ処理を終えるたびに、マージログ127をジョブログ送信モジュール117に送る。図12は、図7から図10に示す各ログをマージするした場合のマージログ127の例を示す図である。図に示すようにこのマージログ127は、フックログ111、ドライバログ112、APIログ113、モニタログ114の項目を備えている。
【0041】
なお、ジョブログ送信モジュール117は、ログを定期的に或いはジョブログ受信モジュール122の要求に応じて、ジョブログ受信モジュール122に送信する。この際、ジョブログ送信モジュール117は、OSが提供する送受信モジュール107を制御して、ジョブログ受信モジュール122へログを送信してもよい。なお、ジョブアカウントクライアント118は、フックログ111、ドライバログ112、APIログ113、モニタログ114のうち、どれを選択するかの優先順位を設けておき、いずれかをジョブアカウントサーバ121に送信することもできる。
【0042】
次に、ジョブアカウントサーバ121の動作について説明する。
【0043】
ジョブログ受信モジュール122は、ジョブログ送信モジュール117から送られるジョブを取得して蓄積する。またジョブログ受信モジュール122は、内部にジョブ情報を記憶するプリンタ110などのネットワークプリンタがネットワーク上に存在する場合には、プリンタとのプロトコルを定義し通信することで、ジョブ情報を直接プリンタから機器ログ115として取得することができる。つまり、定期的にプリンタ110をポーリングし、まだ取得していないジョブ情報があれば、それを機器ログ115として取得する。機器ログ115はプリンタ110内のRAMあるいはHDに記憶されるが、記憶容量の制限のため、送受信モジュール107からプリンタに送信されたドキュメント名などの情報をすべて記憶することは望ましくない。図13は、フックモジュール103が動作するクライアントコンピュータからジョブがプリンタ110に送信された場合の機器ログ115の例を示す図である。また、図14は、フックモジュール103が動作しないクライアントコンピュータからジョブがプリンタ110に送信された場合の機器ログ115の例を示す図である。
【0044】
ジョブログマージモジュール123は、ジョブアカウントクライアントから送られたマージログ127と機器ログ115をマージし、最終ログ128を生成する。図17は、図12R>2に示すマージログ127と図13に示す機器ログ115をマージした場合の最終ログ128の例を示す図である。
【0045】
ジョブログ記憶モジュール124はジョブログマージモジュール123から最終ログ128を受け取り、処理対象外データベース128を参照して、処理対象外でなければ、HD206などに記憶する。ジョブログ集計モジュール125は、閲覧者からの指示によって、単位期間ごとの印刷ページ数を求めたり、オーナごとの印刷ページ数を求める、などの集計処理を行う。さらに、ジョブアカウントサーバ121は、該集計結果を、サーバコンピュータ1200の表示部であるCRTに表示する処理を制御する処理を行う。
【0046】
ID発生モジュール126は、クライアントコンピュータ1001〜1003を一意に識別するためのIDを発行する。ここでは、各桁がaからzの26通りの値をとりうる4桁の文字列をフックモジュール103の要求に応じて、aaaa、aaab、・・・、zzzy、zzzzと順に変化させ、クライアントを一意に識別できるように発行する。ここでは、ホストとジョブIDの組合せを用いて新ドキュメント名を作成するが、印刷システム全体で一意の新ドキュメント名(後述)をジョブアカウントサーバにおいて一元発行する方式をとってもよい。
【0047】
なお、ここでは、クライアントコンピュータ1001〜1003において、一回の印刷ジョブに対して、フックログ111、ドライバログ112、APIログ113、モニタログ114の4つのログが作成されることとしたが、常に4つのログが取れるとは限らない。例えば、アプリケーション102がスプーラ106に直接印刷データを送れば、フックログ111やドライバログ112は取得できない。プリンタドライバ105とジョブアカウントクライアント118間でプロトコルが規定されていなければ、ドライバログ112は取得できない。プリンタ108のように排紙ページ数を送受信モジュール107に通知する機能がない場合は、モニタログ114の排紙ページ情報を取得できない。しかし、ジョブに係る複数の処理においてログを取得することで、一部処理にてログ取得が不可能な場合であっても、総合的には、ログを取得できる確率が高くなる。
【0048】
以上のような情報処理システムにおいて、クライアントコンピュータ1001〜1003やプリンタ110などから取得されたジョブ情報としてのログは、そのログの生成過程(ポート情報やドライバ情報)に基づいて記録又は集計処理すべきか否かを判定され、記録処理すべきと判定されたログのみがサーバコンピュータ2000内に記録されることになる。もちろん、サーバコンピュータ2000内の集計機能も有するジョブアカウントサーバ121によって、取得した全てのジョブ情報を記録して、その上で、記録した情報のそのログの生成過程(ポート情報やドライバ情報)に基づいて、記録した全ての情報のうち、課金対象として集計したり、用紙枚数カウント対象のジョブとして集計したりする集計対象のジョブを判定し、ジョブアカウントサーバ121が、ジョブ情報のデータベースから集計対象と判定されたジョブ情報を抽出するようにしても良い。なお、判定処理は、記録を行うか否かの判定基準はすべて利用可能である。
【0049】
<各コンピュータのハードウェア構成>
図2は、クライアントコンピュータ1001〜1003およびサーバコンピュータ2000のいずれかのハードウェア構成の一例を示すブロック図である。上述したように、クライアントコンピュータ1001〜1003およびサーバコンピュータ2000は、ハードウェアの基本的な構成に相違はなく、何れのコンピュータも以下の構成を有する。
【0050】
図2において、201はCPU、即ち中央処理ユニットであり、このコンピュータ全体の制御および演算処理等を行うものである。202はROM即ち読み出し専用メモリであり、システム起動プログラムの情報等の記憶領域である。203はRAM即ちランダムアクセスメモリであり、使用制限のないデータ記憶領域である。204はKBC即ちキーボード制御部であり、キーボードより入力データを受け取りCPU201へ伝達する。205はディスプレイ制御部であり、CRTや液晶ディスプレイなどへの表示を制御する。206はHDすなわちハードディスクである。HD206は、プログラムおよびデータを記憶、格納しておき、実行時に必要に応じて参照またはRAM203へのロードする。207は通信ユニットであり、ネットワークに接続された他のコンピュータや周辺機器との通信に用いられる。通信ユニット207は、図1の送受信モジュール107、ジョブログ送信モジュール117などにより制御される。208はシステムバスであり、上述されたハードウェア間のデータの通路である。
【0051】
図1Bに示したアプリケーション102、フックモジュール103、GDI104、プリンタドライバ105、送受信モジュール107、ジョブアカウントクライアント118などのソフトウェアモジュール、およびオペレーションシステムや通信制御用プログラムなどは、HD205やROM202からRAM203にロードされ、CPU201により実行される。
【0052】
なお、図2で示すHD205の代わりに或いは、HD205に加えて他の記憶デバイスを設けてもよい。他の記憶デバイスとしては、不揮発性記憶メモリ等が考えられる。
【0053】
<各プリンタのハードウェア構成>
図3は、本情報処理システムを構成するプリンタ108〜110の構成の一例を示すブロック図である。図3において、305はプリンタ全体を制御するコントローラである。コントローラ305の内部には、CPU301、ROM302、RAM303、HD304が含まれる。
【0054】
CPU301は中央処理ユニットであり、このプリンタ全体の制御および演算処理等を行うものである。ROM302は読み出し専用メモリであり、システム起動プログラムの情報等の記憶領域を含む。RAM303はランダムアクセスメモリであり、使用制限のないデータ記憶領域を含む。HD304は、ハードディスクであり、書き換える可能性のあるプログラムやデータをプリンタ電源切断後も確保する記憶領域を含む。
【0055】
RAM303は、オペレーティングシステムや通信制御およびエンジン制御などのプログラムがロードされ、実行される記憶領域を有する。プリントエンジン306は、コントローラの制御のもとで印刷動作や画像読み取り動作をする。通信ユニット307であり、ネットワークを介してクライアントコンピュータやサーバコンピュータとの通信を行うユニットである。操作ユニット308は、ユーザとの対話的な設定作業を行うためのユニットである。システムバス309は、上述の構成要素間のデータの通路となるべきものである。
【0056】
<サーバコンピュータのRAM構成及びその実現方法>
図4は、クライアントコンピュータ1000内部のRAM203におけるメモリマップ40を表す図である。
【0057】
サーバコンピュータ2000内では、基本I/Oプログラム41と、オペレーティングシステム42と、アプリケーション102と、が図4のようにRAM203にロードされ実行可能となる。サーバコンピュータ2000のRAM203内には、これらの他に、アプリケーション102が実行した結果生成された関連データ44が格納されており、更に、他のプログラムが使用するワークエリア45が用意されている。
【0058】
図1Bのようなサーバコンピュータ2000のソフトウェア構成は、ジョブアカウントサーバ121を外部からインストールすることによって実現することができる。インストールの方法としては、インターネットなどのネットワークを介してダウンロードする方法の他、持ち運び可能な着脱式の記憶媒体からインストールする方法を採ることができる。
【0059】
例えば、図6のように、サーバコンピュータ2000のCD−ROMドライブ208にCD−ROM60を読み込ませる方法がこれにあたる。この場合、図5のように、CD−ROM60の記憶領域50には、ボリューム情報51、ディレクトリ情報52、実行ファイル53、関連データファイル54が記録される。
【0060】
実行ファイル53は、ジョブアカウントサーバ121のインストールプログラムを含む。
【0061】
CD−ROM60をCD−ROMドライブ61にセットすると、オペレーティングシステム42および基本I/Oプログラム41の制御のもとに、実行ファイル53が実行されて、ジョブアカウントサーバ121を実現するためのプログラムモジュール等および関連データがCD−ROM60から読み出され、HD206に格納される。ここでジョブアカウントサーバ121を実現するためのプログラムモジュールには、図1Bに示した各モジュール122〜126が含まれる。
【0062】
もちろん、記憶媒体はCD−ROMに限定されるものではなく、DVD、FDなどでもよいことは言うまでもない。
【0063】
<フックモジュールの動作>
図15は、フックモジュール103によって行われる処理を示すフローチャートである。
【0064】
ステップS1501において、フックモジュール103は、所定の機器管理プロトコルにより、印刷先のプリンタが機器ログを備えているか否かを示す情報を取得して判別し、備えていると判別した場合は、ステップS1502へ進む。フックモジュール103が、プリンタが機器ログを備えていないと判断した場合は、処理を終了する。
【0065】
ステップS1502において、フックモジュール103は、クライアントIDを取得済であるか否かを判別し、取得済であれば、ステップS1504へ進む。取得していなければステップS1503へ進む。ここで、クライアントIDとは、ID発生モジュール126が発行する、クライアントコンピュータ1001〜1003を一意に識別可能な識別情報である。ここでは、ステップS1503において、フックモジュール103は、ID発生モジュール126と通信し、クライアントコンピュータを一意に識別するIDをID発生モジュール126から取得するものとする。
【0066】
ステップS1504において、クライアントコンピュータ内でジョブを一意に特定するクライアント内JOBIDを作成する。ここでは、0001から9999までの数値を順に発行するものとする。
【0067】
ステップS1505において、フックモジュール103は、ステップS1503で取得済みと判断したクライアントIDとステップS1504で作成したクライアント内JobIDを結合し、印刷システム内で一意に定まる新しい識別情報の一例である、新ドキュメント名を作成する。
【0068】
ステップS1506において、フックモジュール103は、アプリケーションから渡された元のドキュメント名をフックログの項目「元ドキュメント名」に格納する。ステップS1507において、ドキュメント名をステップS1505の新ドキュメント名に置き換える。その結果、GDIにはドキュメント名として、新ドキュメント名が渡される。GDI処理の後段である、プリンタドライバ105、スプーラ106、送受信モジュール107、プリンタ110における処理は、ドキュメント名はすべて新ドキュメント名で処理されるようにすると好適である。
【0069】
ここで、新ドキュメント名を作成した理由は、印刷装置から取得したジョブ情報をマージする際には、JobIDをそのままマージ処理のキーとして利用することは難しいからである。例えば、ジョブ管理方式の仕様の一部が非公開となっているため、A社開発のアカウントサーバAを利用する場合、A社開発のアカウントサーバは、B社開発のプリンタからは、JobIDを取得することができないことが多い。つまり、想定していないジョブ管理方式に対応したプリンタからは、ジョブ情報を取得してもこれにジョブIDが含まれないことが多く、これをマージ処理して活用できないのである。しかし、クライアントコンピュータ内のOSやアプリケーションによって製作され、プリンタに送信されたドキュメント名については、ジョブ情報として取得できる事が多い。
【0070】
そこで、ジョブIDの代わりに、クライアント側で管理可能であり、プリンタ側からも、JobIDの代わりに、ジョブ情報のキーとして取得可能なドキュメント名を識別情報として管理することが考えられる。しかし、従来のドキュメント名をそのまま用いると、問題が生ずる。クライアント側のOS又はアプリケーションが管理できるのは、一般に8文字より多く、一般に用いられているOSにおいては255文字までのドキュメント名が付与できる。プリンタが管理できるのは、前述したように8文字までである。また、一般に、ジョブ管理方式において利用できるドキュメント名は8文字までである。これでは、クライアント側において8文字以上のドキュメント名を付けた場合には、クライアント側のOS又はアプリケーションが付けたドキュメント名は異なっている場合であっても、同じドキュメント名のジョブがプリンタ内に並存する場合が出てきて、混乱が生ずる。そこで、アカウントサーバ側でホストIDを発行し、クライアント側で発行されたドキュメント名と組合わせて用いるのである。
【0071】
これにより、8文字以内でアカウントサーバが管理する、クライアントコンピュータとプリンタを含む印刷システムにおいて一意に定まる新ドキュメント名が完成する。そして、この新ドキュメント名をジョブIDの代わりとしてジョブの識別に用いることができるのである。一度、クライアント側で新ドキュメント名を生成してしまえば、以後、プリンタ、クライアント、アカウントサーバにおいて、このドキュメント名をジョブの識別子として活用できる。
【0072】
<クライアント側ジョブログマージモジュールの動作>
図11は、ジョブログマージモジュール116によってログをマージする処理を示すフローチャートである。
【0073】
ジョブログマージモジュール116は、フックログ111、ドライバログ112、APIログ113、モニタログ114といった各ログを受信し、その内容をHD206等に記録しておく。そして以下の処理を予め設定された周期で定期的に起動し、各ジョブ毎に、マージ処理を行う。本実施形態においては、ジョブIDをキーとしてログのマージ(併合処理)を行っているが、後述するドキュメントデータ名或いは新ドキュメントデータ名をキーにしてマージしてもよい。
【0074】
以下の処理においては、ジョブログマージモジュール116は、フックログ、ドライバログ、APIログ、モニタログがそれぞれ含む、開始時刻情報並びに、完了時刻情報のエントリが示す開始時刻のうち、最も早い開始時刻と、最も遅い完了時刻を特定する。そして、各時刻情報は、前述の通り、マージ処理して併合されたジョブ情報として格納される。
【0075】
まず、ステップS1101において、ジョブログマージモジュール116は、処理済みフラグがYESとなっていないモニタログ(図10参照)、すなわち、未処理のモニタログがあるか否かを検索して特定し、未処理のモニタログがあれば、ステップS1102に進む。
【0076】
ステップS1102において、ジョブログマージモジュール116は、ステップS1101において未処理と特定されたモニタログを別のテンポラリの記憶領域にコピーし、これをログAとする。
【0077】
ステップS1103において、ログAからJobIDの部分を取得する。ステップS1104において、ジョブログマージモジュール116は、ステップS1103で取得したJobIDに対応するログのうち、まだマージ処理を行っていない、つまり未処理であるログがあるか否かを、JobIDに基づいて、フックログ、ドライバログ、APIログの各ログを検索して特定することで、判断する。ステップS1104で未処理のログが無いと判断した場合は、処理を終了する。ステップS1104で未処理のログがあるとジョブログマージモジュール116が判断した場合は、ジョブログマージモジュール116は、ステップS1105に進んで、ステップS1104で未処理と判断されたJobID(ここでは便宜のためNとする)と等しいJobIDのログが有るか否かを、JobIDに基づいてフックログ111、ドライバログ112、APIログ113の各ログの中から検索して特定し、これをログBとする。
【0078】
ステップS1105でNと等しいJobIDのログがフックログ111、ドライバログ112、APIログ113の各ログには無かった場合には、ステップS1108に進む。ステップS1105で、Nと等しいJobIDが各ログのいずれかにあった場合は、ステップS1106に進む。ここでは、例えば、ステップS1105でNは未処理のログAが含むJobIDのうち、小さなものから順に特定してNとすればよい。
【0079】
ステップS1106において、ジョブログマージモジュール116は、ステップS1105で特定した、ログAのJobIDNに対応するログの各項目(JobIDNについて取得された各ログが含むジョブ情報)について、ログBが含む項目のうちログAに無い項目があるか否かを判断する。ステップS1106で、ログAのJobIDNの項目について、ログBのうちログAに無い項目がないと判断した場合は、ジョブログマージモジュール116は、ステップS1108の処理を行う。ステップS1106でログBのうちログAに無い項目があると判断した場合は、ステップS1107に進んで、ジョブログマージモジュール116は、ログAのJobIDNの項目について、ログBのうちログAに無い項目を追加してログAに格納されているデータを併合する。ここでログAにログBの項目を付加して作成したマージログ127の処理済フラグを「YES」とし、ステップS1108に進む。続いて、そして、該マージログの種別の項目を「マージ」とする。
【0080】
ステップS1108に続くステップS1104では、ログAに係る全てのJobIDについて処理が終わったと判断した場合には、処理を終了する。
【0081】
<サーバ側ジョブログマージモジュールの動作>
図16は、ジョブログマージモジュール123によってログをマージし、最終ログ128を作成する処理を示すフローチャートである。
【0082】
ステップS1601において、ジョブログマージモジュール123は、未処理のマージログがあるか検索し、あればステップS1602に進む。無ければ処理を終了する。
【0083】
ステップS1602において、ジョブログマージモジュール123は、プリンタが機器ログを備えているか判別し、備えていればステップS1603に進む。備えていなければステップS1607に進む。
【0084】
ステップS1603において、ジョブログマージモジュール123は、未処理の機器ログでドキュメント名の項目がステップS1601のマージログと同じログがあるか検索して判断し、あると判断した場合は、ステップS1604に進む。ステップS1601のマージログと同じログが無いと判断した場合は、処理を終了する。ステップS1604において、ジョブログマージモジュール123は、機器ログの排紙ページ数排紙枚数をマージログに置換又は追加する。
【0085】
ステップS1605において、ジョブログマージモジュール123は、ドキュメント名と元ドキュメント名を入れ換える。図13の例では、「ドキュメント名:2001年度年次報告書、元ドキュメント名:abcd0001」となる。
【0086】
ステップS1606において、ジョブログマージモジュール123は、マージログ127の元ドキュメント名を削除し最終ログ128とする。ステップS1607において、ジョブログマージモジュール123は、最終ログ128をジョブログ記憶モジュール124に渡す。
【0087】
<ジョブログ記録モジュールの動作>
図18は、ジョブログ記録モジュール124で行われる処理について説明するフローチャートである。
【0088】
まず、ステップS2201では、ジョブログマージモジュール123でマージされた最終ログ128(図17参照)より、ポート名、プリンタドライバ名を取得する。次に、ステップS2202において、処理対象外データベースを参照し、ステップS2201で取得したポート名、プリンタドライバ名が含まれるかどうかを検索する。ステップS2203、およびステップS2204の条件判断では、ポート名、プリンタドライバ名のいずれか一方が処理対象外データベースに含まれていれば、最終ログ128を記録しない。どちらとも含まれない場合は、ステップS2205に進み、最終ログ128を記録することで、ジョブログ集計モジュール125による集計対象となる。
【0089】
ポートとは、論理的な意味と物理的な意味の両方を含む。ポートは、コンピュータとの間でデータを受け渡しするデバイスを接続できるコンピュータ上の接続ポイントのことをいうことが多い。たとえば、プリンタはパラレルポート (あるOSでは、LPT ポートとも呼ばれる)やTCP/IPのポートを作成して該ポートに接続可能である。また、OSによっては、ドライバと出力先のプリンタのIPアドレスと、プリントデータパケットを授受するユーティリティプログラムを組にして、論理ポートとして生成することができる。本実施形態においては、出力先のプリンタごとにジョブ情報を取得できるだけではなく、出力先のポートとして論理的に作成されたポートごとにジョブ情報を取得することができる。つまり、プリンタ等の出力先と、出力先として設定されたプリンタで印刷を可能とするための制御プログラムの組ごとにもジョブ情報を取得するか否かを設定可能である。
【0090】
また、ジョブアカウントサーバ121に対して、ジョブ情報を集計又は記録する対象から除外するポートの出力先として、例えば、クライアントコンピュータ1001のIPアドレスを含むポート名を設定しておく。すると、ジョブ情報に含まれる出力先を示す情報が、印刷装置を有さないコンピュータに付されたIPアドレス、例えば図12のポート名(ネットワーク識別子)などである場合は、ジョブアカウントサーバ121は、ジョブ情報の記録又は集計を行わないように制御される。もちろん、ジョブ情報を集計又は記録する対象から除外するための判断基準としてクライアントコンピュータ1001のコンピュータ名などを指定することもできる。逆に、出力先が印刷機能を有するプリンタ等の周辺装置については、該周辺装置をジョブ情報を集計又は記録する対象から除外するポートの出力先に設定しなければ、ジョブ情報の記録又は集計を行なうように構成することができる。このようにして、ジョブアカウントサーバ121は、実際にプリンタ等に出力されたジョブについては用紙のカウントや課金を行い、実際には出力されていないジョブに対しては集計の一例としての用紙のカウントや課金を行わないというような精度の高い管理が可能となる。
【0091】
従って、最終ログが、集計対象外のポートまたはプリンタドライバを使用して作成されたものであれば、集計されない。
【0092】
<処理対象外ポート/ドライバの登録/削除処理>
図19は、処理対象外データベース129に対する印刷ポートまたはプリンタドライバの登録/削除処理を示すフローチャートである。このフローチャートに示す処理は、サーバコンピュータ2000によって実行される。
【0093】
図20、図21は、処理対象外データベース129に対する印刷ポート、プリンタドライバの登録、削除処理を行うダイアログの例を示す。これらのダイアログはサーバコンピュータ2000の不図示の表示デバイスに表示され、不図示のキーボードやポインティングデバイス等で設定が行われる。
【0094】
図19において、ステップS1901では、ユーザからの処理メニューに関するキー入力を受け付ける。ステップS1902では、ステップS1901で入力されたキーに応じて、ポートに関する登録/削除処理、プリンタドライバに関する登録/削除処理、または終了処理のいずれが選択されたかを判定する。
【0095】
図20、図21に示すダイアログの場合には、ポートタブ2001とドライバタブ2002とOKボタン2003とキャンセルボタン2004のいずれが選択されたかを判定する。ポートタブ2001が選択されるとステップS1903に進み、図20のように処理対象外のポート一覧が表示され、ドライバタブ2002が選択されるとステップS1909において、図21のように処理対象外のドライバ一覧が表示される。これらのポート名、ドライバ名の実態は、レジストリに登録されている。
【0096】
図20では登録ポート欄2005において、「160.40.38.4」、「177.51.20.33」、「FAX」、「NS_FAX」等のポート名が表示されている。この状態で、ステップS1904において、ポート名入力欄2006に対してポート名の入力が行われると、ステップS1905に進む。ポート名の入力方法としては入力欄2006に直接入力して更新ボタン2007を選択する方法と、追加ボタン2008を押下して、使用可能であるポート名の一覧を別途表示させ、その中から処理対象外とするポート名を選択する方法とがある。ステップS1905では、ポートを更新または追加するのか、或いは削除するのかの判断を行う。追加ボタン2008または更新ボタン2007が押下された場合はステップS1906に進み、対象外ポート名がレジストリに追加、更新される。登録ポート欄2005からいずれかのポート名が選択された上で削除ボタン2009が押下された場合はステップS1907に進み、選択されたポート名をレジストリから削除する。そして、ステップS1908において変更後の登録ポート欄2005の再表示が行われる。また、図21が表示された状態においても、ステップS1909からステップS1914における一連の処理により、同様にして対象外プリンタドライバ名の追加、更新、削除が行われる。
【0097】
また、図20または図21において、OKボタン2003が選択されると、登録または削除したポートやドライバが有効になり、キャンセル2004が選択されるとそのような登録/削除処理が無効となって処理を終了する。
【0098】
以上のような処理により、図8のようにドライバログ112として、ポート名:「IP_10.166.30.2」、プリンタドライバ名:「Acrobad writer 3.0」が取得され図17のように最終ログ128にマージされても、図21のように、ジョブ情報の集計処理対象外であるドライバ名に「Acrobad writer 3.0」が登録されている場合には、この最終ログは集計処理の対象外となり、サーバコンピュータ2000に記録されることはない。ここで、Acrobad writerは、本発明のドライバの好適な一例としての、PDFフォーマットの印字又は表示用のデータを生成するデータ生成プログラムである。本発明では、一例として、Acrobad writerを掲げているが、出力先としてクライアントコンピュータ1001又は不図示のネットワークファイルサーバ内の、所定の記憶領域であるファイルに出力するために印字又は表示制御用データを生成可能なアプリケーション又はデバイスドライバであればなんでもよい。
【0099】
なお、処理対象外データベースはクライアントコンピュータ1001〜1003内に設けられてもよく、その場合、処理対象外か否かの判断はジョブログ送信モジュール117において行われることになる。その場合ステップS2205は、マージログ127を、ジョブログ受信モジュール122に送信する処理となる。クライアントコンピュータ1001〜1003で判断を行えば、不必要なジョブ情報をサーバコンピュータ2000に送信することが無くなり、ネットワークの通信負荷を軽減できる。
【0100】
また、サーバコンピュータ2000において、処理対象外のポートまたはプリンタドライバの登録、または削除を行い、確定した処理対象外のポートまたはプリンタドライバについての情報をクライアントコンピュータ1001〜1003に転送してもよい。この場合、図20、図21のダイアログはサーバコンピュータ2000側に表示され、図19のフローチャートに示す処理もサーバコンピュータ2000側で実行され、図18に示すフローチャートに示す処理は各クライアントコンピュータ1001〜1003で行われることになる。
【0101】
また、ポート名、プリンタドライバ名の登録・削除がサーバコンピュータ2000とクライアントコンピュータ1001〜1003の両方で行われた場合、各々のポート名、プリンタドライバ名をマージしてもよい。
【0102】
以上説明したように、本発明によれば、ログの集計を行わないポート名、プリンタドライバ名を登録可能とし、得られたジョブログのポート名、プリンタドライバ名と比較することで、処理対象外のジョブログの集計を排除することができる。これにより、不正なログが作成されることが予想されるサポート対象外の画像形成装置に関するログの集計を排除することが可能となり、正確なジョブカウントが可能となる。
【0103】
なお、本実施形態では、処理対象外データベース129を設け、登録されたポート名、プリンタドライバ名に関するジョブ情報を記録しないこととしたが、本発明はこれに限定されるものではなく、ジョブ情報収集の対象となるポート、プリンタドライバの名称をデータベースに登録してもよい。その場合は、図22のステップS2203、ステップS2205の条件判断の処理は、ポート名、プリンタドライバ名が共に存在した場合に最終ログを記録することになる。
【0104】
(他の実施形態)
本実施形態における処理対象外のポート名、プリンタドライバ名はレジストリに登録したが、ファイル、データベース等に登録し、登録、削除処理および処理対象であるか否かの判定時にファイルまたはデータベースをアクセスすることで対応してもよい。
【0105】
本実施形態における図22のフローチャートに示す処理、及び、図1Bに示す各モジュールが、外部からインストールされるプログラムによって、各コンピュータのそれぞれにより遂行される。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群がクライアントコンピュータに供給される場合でも本発明は適用されるものである。
【0106】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ(図示省略)からダウンロードすることで、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0107】
この場合、記憶媒体から読み出されたジョブアカウントサーバやジョブアカウントクライアントプログラム等のプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、DVD、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM等を用いることができる。
【0108】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、外部の所定のサーバ装置(図示省略)からネットワークを介して送信された、又は、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0109】
以下に、本発明の実施態様を示す。なお、実施態様1は、ドライバに応じて、ジョブ情報を記録、又は、集計するか否かの判断をおこない、ジョブの出力先に応じたジョブ情報の記録又は集計を行う仕組みを提供することを目的とするが、もちろん、実施態様2のように、出力先に応じて、ジョブ情報を記録、又は、集計するか否かの判断を行い、所望のドライバのジョブ情報を集計又は記録する仕組みを提供することがさらに別の目的として考え得る。
【0110】
[実施態様1]
画像形成装置に接続可能な情報処理装置において発行されるジョブに関するジョブ情報を記録又は集計する情報処理方法であって、
前記情報処理装置または前記画像形成装置から前記ジョブ情報を取得する取得工程と、
発行された前記ジョブのデータを生成したドライバに応じて、前記取得工程で取得された前記ジョブ情報を記録又は集計すべきか否かを判定する判定工程と、前記判定工程で記録又は集計すべきと判定された前記ジョブ情報を記録又は集計する記録/集計工程と、
を有することを特徴とする情報処理方法。
【0111】
[実施態様2]
画像形成装置に接続可能な情報処理装置において発行されるジョブに関するジョブ情報を記録又は集計する情報処理方法であって、
前記情報処理装置または前記画像形成装置から前記ジョブ情報を取得する取得工程と、
前記ジョブ情報に対応するジョブの出力先に応じて、前記取得工程で取得された前記ジョブ情報を記録又は集計すべきか否かを判定する判定工程と、
前記判定工程で記録又は集計すべきと判定された前記ジョブ情報を記録又は集計する記録/集計工程と、
を有することを特徴とする情報処理方法。
【0112】
[実施態様3]
前記判定工程は、前記ジョブ情報が発行された画像形成装置に応じて記録又は集計すべきか否か判定することを特徴とする実施態様2に記載の情報処理方法。
【0113】
[実施態様4]
前記判定工程は、前記ジョブ情報に含まれるポート情報によって、前記ジョブ情報が発行された画像形成装置を特定することを特徴とする実施態様3に記載の情報処理方法。
【0114】
[実施態様5]
前記判定工程は、前記ジョブ情報に対応するジョブの出力先が情報処理装置であるか、画像形成装置であるかに基づいて、前記ジョブ情報を記録又は集計すべきか否かを判定することを特徴とする実施態様2に記載の情報処理方法。
【0115】
[実施態様6]
前記判定工程は、前記ジョブ情報に含まれるドライバ情報によって、前記ジョブ情報を発行したドライバを特定することを特徴とする実施態様1に記載の情報処理方法。
【0116】
[実施態様7]
前記判定工程は、予め用意された記録対象外データベースに含まれる条件に、前記取得工程で取得したジョブ情報が合致するか否かによって、記録又は集計するか否かを判定することを特徴とする実施態様1または2に記載の情報処理方法。
【0117】
[実施態様8]
前記記録対象外データベースには、記録又は集計を行うべきでない記録対象外ポート情報が含まれ、
前記判定工程は、前記取得工程で取得したジョブ情報に含まれるポート情報が、前記記録対象外ポート情報であるか否かによって、記録又は集計するか否かを判定することを特徴とする実施態様7に記載の情報処理方法。
【0118】
[実施態様9]
前記記録対象外データベースには、記録又は集計を行うべきでない記録対象外ドライバ情報が含まれ、
前記判定工程は、前記取得工程で取得したジョブ情報に含まれるドライバ情報が、前記記録対象外ドライバ情報であるか否かによって、記録又は集計するか否かを判定することを特徴とする実施態様7に記載の情報処理方法。
【0119】
[実施態様10]
前記記録対象外データベースに記録又は集計すべきでないジョブ情報の条件を登録する登録工程を更に含むことを特徴とする実施態様7に記載の情報処理方法。
【0120】
[実施態様11]
前記判定工程は、予め用意された記録対象データベースに含まれる条件に、前記取得工程で取得したジョブ情報が合致するか否かによって、記録又は集計するか否かを判定することを特徴とする実施態様1又は2に記載の情報処理方法。
【0121】
[実施態様12]
前記記録/集計工程では、前記判定工程で記録すべきと判定されたジョブ情報を検索可能な形式でデータベースに記録することを特徴とする実施態様1乃至11のいずれかに記載の情報処理方法。
【0122】
[実施態様13]
前記記録/集計工程では、取得したジョブ情報の中から、前記判定工程で集計すべきと判定されたジョブ情報を抽出して集計し、出力ページ数の把握、又は、出力されたジョブに対する課金を行うことを特徴とする実施態様1乃至12のいずれかに記載の情報処理方法。
【0123】
[実施態様14]
ネットワーク上に接続される情報処理クライアントから画像形成装置に発行されるジョブに関するジョブ情報を記録又は集計する情報処理サーバであって、
前記情報処理クライアントまたは前記画像形成装置から前記ジョブ情報を取得する取得手段と、
発行された前記ジョブのデータを生成したドライバに応じて、前記取得手段で取得された前記ジョブ情報を記録すべきか否かを判定する判定手段と、
前記判定手段で記録又は集計すべきと判定された前記ジョブ情報を記録又は集計する記録/集計手段と、
を有することを特徴とする情報処理サーバ。
【0124】
[実施態様15]
ネットワーク上に接続される情報処理クライアントから画像形成装置に発行されるジョブに関するジョブ情報を記録又は集計する情報処理サーバであって、
前記情報処理装置または前記画像形成装置から前記ジョブ情報を取得する取得手段と、
前記ジョブ情報に対応するジョブの出力先に応じて、前記取得手段で取得された前記ジョブ情報を記録又は集計すべきか否かを判定する判定手段と、
前記判定手段で記録又は集計すべきと判定された前記ジョブ情報を記録又は集計する記録/集計手段と、
を有することを特徴とする情報処理サーバ。
【0125】
[実施態様16]
前記判定手段は、前記ジョブ情報が発行された画像形成装置に応じて記録又は集計すべきか否か判定することを特徴とする実施態様15に記載の情報処理サーバ。
【0126】
[実施態様17]
前記判定手段は、前記ジョブ情報に含まれるポート情報によって、前記ジョブ情報が発行された画像形成装置を特定することを特徴とする実施態様16に記載の情報処理サーバ。
【0127】
[実施態様18]
前記判定手段は、前記ジョブ情報に対応するジョブの出力先が情報処理装置であるか、画像形成装置であるかに基づいて、前記ジョブ情報を記録又は集計すべきか否かを判定することを特徴とする実施態様15に記載の情報処理サーバ。
【0128】
[実施態様19]
前記判定手段は、前記ジョブ情報に含まれるドライバ情報によって、前記ジョブ情報を発行したドライバを特定することを特徴とする実施態様14に記載の情報処理サーバ。
【0129】
[実施態様20]
前記判定手段は、予め用意された記録対象外データベースに含まれる条件に、前記取得手段で取得したジョブ情報が合致するか否かによって、記録又は集計するか否かを判定することを特徴とする実施態様14又は15に記載の情報処理サーバ。
【0130】
[実施態様21]
前記記録対象外データベースには、記録又は集計を行うべきでない記録対象外ポート情報が含まれ、
前記判定手段は、前記取得手段で取得したジョブ情報に含まれるポート情報が、前記記録対象外ポート情報であるか否かによって、記録又は集計するか否かを判定することを特徴とする実施態様20に記載の情報処理サーバ。
【0131】
[実施態様22]
前記記録対象外データベースには、記録又は集計を行うべきでない記録対象外ドライバ情報が含まれ、
前記判定手段は、前記取得手段で取得したジョブ情報に含まれるドライバ情報が、前記記録対象外ドライバ情報であるか否かによって、記録又は集計するか否かを判定することを特徴とする実施態様20に記載の情報処理サーバ。
【0132】
[実施態様23]
前記記録対象外データベースに記録又は集計すべきでないジョブ情報の条件を登録する登録手段を更に含むことを特徴とする実施態様20に記載の情報処理サーバ。
【0133】
[実施態様24]
前記判定手段は、予め用意された記録対象データベースに含まれる条件に、前記取得手段で取得したジョブ情報が合致するか否かによって、記録又は集計するか否かを判定することを特徴とする実施態様14又は15に記載の情報処理サーバ。
【0134】
[実施態様25]
前記情報処理サーバにおいて登録した記録すべきでないジョブ情報の条件を前記情報処理クライアントに転送する転送手段を有することを特徴とする請求項24に記載の情報処理サーバ。
【0135】
[実施態様26]
前記記録/集計手段は、前記判定手段で記録すべきと判定されたジョブ情報を検索可能な形式でデータベースに記録することを特徴とする実施態様14乃至25のいずれかに記載の情報処理サーバ。
【0136】
[実施態様27]
前記記録/集計手段は、取得したジョブ情報の中から、前記判定手段で集計すべきと判定されたジョブ情報を抽出して集計し、出力ページ数の把握、又は、出力されたジョブに対する課金を行うことを特徴とする実施態様14乃至26のいずれかに記載の情報処理サーバ。
【0137】
[実施態様28]
受信したジョブに応じて画像形成を行う画像形成装置に対してジョブを発行する情報処理クライアントと、
前記情報処理クライアントから前記画像形成装置に発行されるジョブに関するジョブ情報を記録する情報処理サーバと、
を含む情報処理システムであって、
前記情報処理サーバは、
記録すべきでないジョブ情報についての条件を記憶した記録対象外データベースと、
前記記録対象外データベースに対して前記条件を登録または削除する手段と、前記記録対象外データベースを前記情報処理クライアントに転送する転送手段と、
を備え、
前記情報処理クライアントは、
前記情報処理サーバから転送された前記記録対象外データベースを参照して、前記ジョブ情報を前記情報処理サーバに送信すべきか否かを判定する判定手段と、
前記判定手段で送信すべきと判定された前記ジョブ情報を送信する送信手段と、
を有することを特徴とする情報処理システム。
【0138】
[実施態様29]
前記情報処理クライアントは、更に、
記録すべきでないジョブ情報についての条件を記憶した記録対象外データベースと、
前記記録対象外データベースに対して前記条件を登録または削除する手段と、
を有し、
前記情報処理サーバは、更に、
前記情報処理クライアント内の前記記録対象外データベースと、前記情報処理サーバ内の前記記録対象外データベースとを結合する結合手段を備えることを特徴とする実施態様22に記載の情報処理システム。
【0139】
[実施態様30]
情報処理装置から画像形成装置に発行されるジョブに関するジョブ情報を管理するプログラムであって、
コンピュータに、
前記情報処理装置または前記画像形成装置から前記ジョブ情報を取得する取得工程と、
発行された前記ジョブのデータを生成したドライバに応じて、前記取得工程で取得された前記ジョブ情報を記録又は集計すべきか否かを判定する判定工程と、前記判定工程で記録又は集計すべきと判定された前記ジョブ情報を記録又は集計する記録/集計工程と、
を実行させることを特徴とするプログラム。
【0140】
[実施態様31]
情報処理装置から画像形成装置に発行されるジョブに関するジョブ情報を管理するプログラムであって、
コンピュータに、
前記情報処理装置または前記画像形成装置から前記ジョブ情報を取得する取得工程と、
前記ジョブ情報に対応するジョブの出力先に応じて、前記取得工程で取得された前記ジョブ情報を記録又は集計すべきか否かを判定する判定工程と、
前記判定工程で記録又は集計すべきと判定された前記ジョブ情報を記録又は集計する記録/集計工程と、
を実行させることを特徴とするプログラム。
【0141】
[実施態様32]
実施態様30又は31に記載のプログラムを格納したことを特徴とする記憶媒体。
【0142】
【発明の効果】
本発明によれば、ジョブ情報管理の精度向上を図ることができる。
【図面の簡単な説明】
【図1A】本発明の実施形態の一例を示すジョブアカウントシステムの構成を示す図である。
【図1B】本発明の実施形態の一例を示すジョブアカウントシステムの構成を示す図である。
【図2】図1に示したジョブアカウントシステムを構成するクライアントコンピュータおよびサーバコンピュータの構成の一例を示すブロック図である。
【図3】図1に示したジョブアカウントシステムを構成するプリンタの構成の一例を示すブロック図である。
【図4】図1に示したジョブアカウントシステムのメモリマップの一例を表す図である。
【図5】本発明の実施形態の一例であるジョブアカウントプログラムおよび関連データが格納されているFDの構成内容を示す図である。
【図6】本発明の実施形態の一例であり、FDに記録されたジョブアカウントプログラムおよび関連データをコンピュータシステムにロードする一例を示す図である。
【図7】本発明の実施形態におけるフックログの一例を示す図である。
【図8】本発明の実施形態におけるドライバログの一例を示す図である。
【図9】本発明の実施形態におけるAPIログの一例を示す図である。
【図10】本発明の実施形態におけるモニタログの一例を示す図である。
【図11】本発明の実施形態におけるログをマージする手順の一例を示すフローチャートである。
【図12】本発明の実施形態のマージログの一例を示す図である。
【図13】本発明の実施形態における機器ログの一例を示す図である。
【図14】本発明の実施形態における機器ログの一例を示す図である。
【図15】本発明の実施形態のドキュメント名を変更する手順の一例を示すフローチャートである。
【図16】本発明の実施形態におけるログをマージし、最終ログを作成する手順の一例を示すフローチャートである。
【図17】本発明の実施形態における最終ログの一例を示す図である。
【図18】本発明の実施形態における処理対象外ポート名、プリンタドライバ名を利用して適切なログ情報のみをサーバに送信する処理を示すフローチャートである。
【図19】本発明の実施形態におけるポート名、プリンタドライバ名の登録、削除処理の一例を示す図である。
【図20】本発明の実施形態におけるポート名の登録、削除ダイアログの一例を示す図である。
【図21】本発明の実施形態におけるプリンタドライバ名の登録、削除ダイアログの一例を示す図である。
【符号の説明】
111 フックログ
112 ドライバログ
113 APIログ
114 モニタログ
115 機器ログ
116 ジョブログマージモジュール
117 ジョブログ送信モジュール
118 ジョブアカウントクライアント
121 ジョブアカウントサーバ
122 ジョブログ受信モジュール
123 ジョブログマージモジュール
124 ジョブログ記録モジュール
125 ジョブログ集計モジュール
126 ID発生モジュール

【特許請求の範囲】
【請求項1】
画像形成装置に接続可能な情報処理装置において発行されるジョブに関するジョブ情報を記録又は集計する情報処理方法であって、
前記情報処理装置または前記画像形成装置から前記ジョブ情報を取得する取得工程と、
発行された前記ジョブのデータを生成したドライバに応じて、前記取得工程で取得された前記ジョブ情報を記録又は集計すべきか否かを判定する判定工程と、前記判定工程で記録又は集計すべきと判定された前記ジョブ情報を記録又は集計する記録/集計工程と、
を有することを特徴とする情報処理方法。

【図1A】
image rotate



【図1B】
image rotate



【図2】
image rotate



【図3】
image rotate



【図4】
image rotate



【図5】
image rotate



【図6】
image rotate



【図7】
image rotate



【図8】
image rotate



【図9】
image rotate



【図10】
image rotate



【図11】
image rotate



【図12】
image rotate



【図13】
image rotate



【図14】
image rotate



【図15】
image rotate



【図16】
image rotate



【図17】
image rotate



【図18】
image rotate



【図19】
image rotate



【図20】
image rotate



【図21】
image rotate


【公開番号】特開2004−178323(P2004−178323A)
【公開日】平成16年6月24日(2004.6.24)
【国際特許分類】
【出願番号】特願2002−344577(P2002−344577)
【出願日】平成14年11月27日(2002.11.27)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】