JP2004178324A - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
JP2004178324A
JP2004178324A JP2002344578A JP2002344578A JP2004178324A JP 2004178324 A JP2004178324 A JP 2004178324A JP 2002344578 A JP2002344578 A JP 2002344578A JP 2002344578 A JP2002344578 A JP 2002344578A JP 2004178324 A JP2004178324 A JP 2004178324A
Authority
JP
Japan
Prior art keywords
job
log
information
information processing
management code
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
JP2002344578A
Other languages
Japanese (ja)
Inventor
Hironori Fukuda
浩紀 福田
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 JP2002344578A priority Critical patent/JP2004178324A/en
Publication of JP2004178324A publication Critical patent/JP2004178324A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enhance the degree of freedom of analyzing and displaying a printing state, thereby reducing the burden of totaling of a utilization state and ensuring easy effective understanding of the printing state. <P>SOLUTION: The information processing system comprises an information processing client which issues a job to an image processing device and generates job information on the job, and an information processing server which acquires the job information from the information processing client and records the job information therein. The information processing client allows a dialog 2601 for promoting the input of a management code for the job to be displayed, and transmits the management code and the job information to the information processing server. The information processing server acquires the management code and the job information from the information processing client, and counts the job information based on the acquired management code. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、ジョブ情報の管理技術に関するものである。
【0002】
【従来の技術】
従来から、ジョブ情報を取得して管理する情報処理システムに関するジョブ管理方法が開発されてきており、周辺機器で実行されたジョブ情報を収集することが行われている。
【0003】
上記のように収集されたジョブ情報は、表やグラフで表示されて、利用状況の把握、考察に利用されることが一般的である(例えば特許文献1参照)。表やグラフで表示する場合は、ユーザや部門ごとに、その利用状況(印刷枚数、用紙サイズ、用紙タイプ等)を表示したりしていた。また、「部門」や「所属」などの属性を定義し、ユーザをその属性でグループ分けを行い、属性を単位として利用状況を表やグラフで表示することも行われていた。
【0004】
【特許文献1】
特開2002−116899号公報
【0005】
【発明が解決しようとする課題】
しかし、ユーザ単位、またはそのユーザが属する「部門」、「所属」単位での集計・表示では十分でない場合がある。
【0006】
例えば、法律事務所等では、通常、発生した印刷経費を仕事の内容ごとに集計するといった業務管理を行っており、印刷を行ったユーザ単位の集計結果から仕事単位に集計をやり直す手間が生じてしまう。また、印刷を行ったユーザが常にその仕事に従事する訳ではないので、利用者情報からどの仕事に対する印刷かを判別することは困難であった。
【0007】
本発明は、上記の課題を鑑みてなされたものであり、印刷状況を分析、表示する自由度を高めることで、利用状況の集計処理の負担を軽減し、簡便かつ効果的に印刷状況を把握することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るシステムは、
画像処理装置に対するジョブを生成すると共に、該ジョブに関するジョブ情報を生成する情報処理クライアントと、
前記情報処理クライアントから前記ジョブ情報を取得し、記録する情報処理サーバと、
を含む情報処理システムであって、
前記情報処理クライアントは、
ユーザからの印刷指示に応じて、ユーザが使用可能な管理コードを指定するための画面を表示する表示制御手段と、
前記情報処理サーバに対して、前記表示制御手段により表示された画面で入力された前記管理コード及び前記ジョブ情報を送信する送信手段と、
を有し、
前記情報処理サーバは、
前記情報処理クライアントから前記管理コード及び前記ジョブ情報を取得する取得手段と、
前記取得手段で取得された前記管理コードに基づいて前記ジョブ情報を集計する集計手段と、
を有することを特徴とする。
【0009】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0010】
<システム構成>
図1Aは、本発明に係る情報処理方法を実施できる好適な形態としての情報処理システムの一例を示す図である。
【0011】
本情報処理システムは、情報処理クライアントと情報処理サーバと画像処理装置とを少なくとも1台ずつは含むものであるが、図1Aでは、第1情報処理装置としてクライアントコンピュータ1001〜1003、第2情報処理装置としてサーバコンピュータ2000、画像処理装置としてプリンタ108〜110及びファクシミリ、コピー機、及びこれらの機能を複合的に有するMFP(マルチファンクションプリンタ)を例示的に図示している。
【0012】
これらの装置は、イーサネット(登録商標)等で構築されたローカルエリアネットワーク(単にネットワークという)3000によって接続され、相互に通信可能となっている。
【0013】
クライアントコンピュータ1001〜1003は、各ユーザが使用するものである。サーバコンピュータ2000は、ネットワーク3000上に存在するクライアントコンピュータ1001やプリンタ110などを管理するとともに、遠隔制御する制御用コンピュータである。なお、このクライアントコンピュータ1001乃至1003とサーバコンピュータ2000との違いは、その装置上で、後述するジョブアカウントクライアントプログラム(以下、ジョブアカウントクライアントと称する)が実行されるか、ジョブアカウントサーバプログラム(以下、ジョブアカウントサーバと称する)が実行されるかの違いであって、ハードウェア上の違いはない。
【0014】
また、後述する説明から明らかになるが、このサーバコンピュータ2000は、管理者が管理するためのものであって、クライアントコンピュータ1001〜1003等のユーザはその存在を知らなくても構わない。
【0015】
なお、図示では、一般ユーザが使用するクライアントコンピュータとして3台を示したが、もちろん、この数により本願発明が限定されるものではない。ネットワーク3000上には、他に複数のコンピュータが接続されていても良いし、それらはプリンタに接続されていなくてもよい。
【0016】
なお、本システムを構成する画像処理装置としては、種々のものが考えられるが、本実施形態では、特にプリンタ108〜110について例示的に説明する。
【0017】
プリンタ108は、クライアントコンピュータ1001〜1003から受信したデータを印刷する機能を有するが、外部の機器に対してプリンタ108で行ったジョブの情報を出力する機能を有さないものとする。
【0018】
プリンタ109は、プリンタ108の機能に加えて、ジョブ終了時点で、そのジョブに関する総排紙ページ数などの印刷結果をクライアントコンピュータ1001〜1003に通知する機能を有しているものとする。
【0019】
プリンタ110は、印刷後にジョブ情報をプリンタ内のメモリに格納し、サーバコンピュータ2000の要求に応じてそのジョブ情報を出力する機能を有するものとする。
【0020】
サーバコンピュータ2000は、ネットワーク3000を介してクライアントコンピュータで扱ったジョブログを記録し、閲覧希望者からの要求に応じて、特定のジョブログを選択し、単位期間別、デバイス別、ジョブ発行者別などの集計処理などを行うことが可能である。
【0021】
なお、本実施形態では、ネットワーク3000のプロトコルとしてTCP/IPを利用するものとして説明するが、以下の機能を実現するものであれば、如何なるものでも構わない。
【0022】
<システムのソフトウェア構成>
図1Bは、情報処理システムのソフトウェア構成を示す図である。
【0023】
クライアントコンピュータ1001〜1003は、アプリケーション102、フックモジュール103、GDI104(グラフィック描画を処理するサブシステム)、プリンタドライバ105、スプーラ106、送受信モジュール107、ジョブアカウントクライアント118、を含む。
【0024】
これらのうち、アプリケーション102は、画像データを取り込んだり、加工したりする画像処理アプリケーションや、文書データを作成するワードプロセッサアプリケーションなどであり、不図示のオペレーションシステム上で動作する。また、GDI104、送受信モジュール107は、オペレーションシステムに含まれるモジュールである。更に、プリンタドライバ105は、クライアントコンピュータ1001〜1003が制御するプリンタに応じてプリンタメーカーによって用意されたプログラムであり、プリンタ108〜110などのプリンタとアプリケーション102との間で橋渡し的に動作する。スプーラ106は、プリンタドライバ105によって確保される一時記憶領域である。
【0025】
一方、サーバコンピュータ2000は、ジョブアカウントサーバ121を含み、ジョブアカウントサーバ121は、ジョブログマージモジュール123、ジョブログ記憶モジュール124、ジョブログ受信モジュール122、ジョブログ集計モジュール125、ID発生モジュール126、処理対象外データベース129を含む。
【0026】
次に、クライアントコンピュータ1001〜1003及びサーバコンピュータ2000内の動作について説明する。
【0027】
クライアントコンピュータ1001〜1003において、アプリケーション102に対して印刷指示が発行されると、アプリケーション102は描画のためのGDIコールを行う。
【0028】
フックモジュール103はジョブアカウントクライアント118と共に組み込まれるもので、GDIコールをフック(監視して認識)して、どのGDIコールがいかなるパラメータで呼ばれたか、呼ばれた回数、などの情報を蓄積する。例えば、改ページあるいは排紙を行うAPI(アプリケーションプログラミングインタフェース)をカウントすることでアプリケーション102が発行したジョブの排紙枚数あるいはページ数を取得する。この情報をもとに作成された履歴をフックログ111として、ジョブアカウントクライアント118に渡す。フックモジュール103は、規定の判断基準に基づき、ドキュメント名を変更することもできる。ドキュメント名並びにこの変更処理については後述する。
【0029】
図7は、フックログ111の一例を示す図である。フックログでは、JobId、アプリケーション名、論理ページ数、ドキュメント名、が取得可能である。JobIdはGDIに印刷開始を指示したときにGDIから取得できるものであり、クライアントコンピュータ1001〜1003の印刷ジョブを一意に指定できるものである。
【0030】
図1Bに戻り、プリンタドライバ105はGDIコールを印刷設定に従ってプリンタが解釈できる印刷データに変換して、スプーラ106に渡すとともに、変換内容から印刷情報を抜き出し、それをドライバログ112として、ジョブアカウントクライアント118に渡す。
【0031】
図8はドライバログ112の例を示す図である。ドライバログ112は、ジョブアカウントクライアントが印刷実行時にドライバから取得可能な履歴情報である。ドライバログ112としては、印刷実行に係るジョブの識別子であるJobId、ジョブが含む印刷データの用紙サイズ、N−up情報、物理ページ数の情報、両面片面情報が取得可能である。用紙サイズ、N−up、物理ページ数、両面片面情報は、プリンタドライバに印刷時又はデフォルト入力され設定される印刷設定から取得する。N−upは用紙に何面の論理ページを割り付けるかの設定である。物理ページ数は、印刷時に出力する用紙の片側を1と数える単位である。
【0032】
例えば、論理ページが4ページの場合に、両面印刷で2−upの印刷処理を行うと、物理ページは2ページとなる。そして、該物理ページが、用紙の表裏に印刷され、1枚の用紙が出力排紙される。表に論理ページの1ページ目、2ページ目、裏に論理ページの3ページ目、4ページ目が印刷される。
【0033】
また、図1Bに戻り、ジョブアカウントクライアント118は定期的にスプーラを監視し、スプールされているジョブが有れば、そのジョブの情報をAPIで取得することにより、ジョブの排紙枚数あるいはページ数を取得する。これにより取得したジョブ情報をAPIログ113として、ジョブアカウントクライアント118に渡す。
【0034】
図9は、APIログ113の一例を示す図である。APIログ113としては、JobId、ジョブのオーナ名(ユーザ名)、スプールデータサイズが取得可能である。
【0035】
送受信モジュール107はプリンタ108〜110など、アプリケーションから指定されたいずれかのプリンタと通信し、プリンタがレディ状態であれば、印刷データを送信する。このとき、例えば、HP社のPrinterJobLanguage(プリンタ・ジョブ・ランゲージ)のコマンドを用いれば、プリンタ109において印刷ジョブの全ページの排紙が完了した後に当該ジョブが排紙したページ数を取得することが可能である。送受信モジュール107(ポートモニタ)107は、プリンタ109から受信したページ数などジョブ情報を、ジョブアカウントクライアント118に送る。この情報をもとに作成された印刷ログをモニタログ114と称する。
【0036】
図10は、モニタログ114の一例を示す図である。モニタログ114としては、JobIdが取得可能である。プリンタ108に送信した場合は、加えて排紙ページ数、排紙枚数が取得できる。
【0037】
フックログ111、ドライバログ112、APIログ113、モニタログ114のいずれにおいても、当該ジョブが処理済みか否かを示すフラグ情報、並びに、ログの種別を示す情報を記録する領域が設けられている。
【0038】
クライアントコンピュータ内のCPUで実行されるソフトウェアモジュールであるジョブアカウントクライアント118は、各種印刷処理に関するログを収集し、ジョブアカウントサーバ121に送信するため、ジョブログマージモジュール116及びジョブログ送信モジュール117を含む。
【0039】
図1Bのジョブログマージモジュール116は、フックログ111、ドライバログ112、APIログ113、及びモニタログ114をマージし、通常は、マージ処理を終えるたびに、マージログ127をジョブログ送信モジュール117に送る。図12は、図7から図10に示す各ログをマージする場合のマージログ127の例を示す図である。図に示すようにこのマージログ127は、フックログ111、ドライバログ112、APIログ113、モニタログ114の項目と管理コードを備えている。図12のジョブ情報は、ジョブに対して発行されたジョブID、ジョブに含まれたドキュメントを生成したアプリケーションの名前、ジョブの論理ページ数、ジョブに含まれたドキュメント名、ジョブの開始時刻、ジョブの終了時刻、ジョブが使用する用紙サイズ、ジョブで使用されているN−UP数、ジョブの物理ページ数、ジョブが両面印刷または片面印刷いずれを使用するか、ジョブのオーナ名(ユーザ名)などのジョブに係る集計情報を含んでいる。これら集計情報は、ジョブアカウントサーバによって、ユーザ毎、部門ごと、管理コード毎に集計処理されるのに使用される。
【0040】
なお、ここでは、マージログ127に管理コードが含まれているものとして示しているが、本発明はこれに限定されるものではなく、ページ数などのジョブ情報と管理コードとを別々にサーバコンピュータ2000に送信してもよい。その場合、マージログ127に管理コードは含まれず、サーバコンピュータ2000のジョブログマージモジュール123が、管理コードを他のログとマージして最終ログ128を生成することになる。
【0041】
なお、ジョブログ送信モジュール117は、ログを定期的に或いはジョブログ受信モジュール122の要求に応じて、ジョブログ受信モジュール122に送信する。この際、ジョブログ送信モジュール117は、OSが提供する送受信モジュール107を制御して、ジョブログ受信モジュール122へログを送信してもよい。なお、ジョブアカウントクライアント118は、フックログ111、ドライバログ112、APIログ113、モニタログ114のうち、どれを選択するかの優先順位を設けておき、いずれかをジョブアカウントサーバ121に送信することもできる。
【0042】
次に、ジョブアカウントサーバ121の動作について説明する。
【0043】
ジョブログ受信モジュール122は、ジョブログ送信モジュール117から送られるジョブを取得して蓄積する。またジョブログ受信モジュール122は、内部にジョブ情報を記憶するプリンタ110などのネットワークプリンタがネットワーク上に存在する場合には、プリンタとのプロトコルを定義し通信することで、ジョブ情報を直接プリンタから機器ログ115として取得することができる。
【0044】
つまり、定期的にプリンタ110をポーリングし、まだ取得していないジョブ情報があれば、それを機器ログ115として取得する。機器ログ115はプリンタ110内のRAMあるいはHDに記憶されるが、記憶容量の制限のため、送受信モジュール107からプリンタに送信されたドキュメント名などの情報をすべて記憶することは望ましくない。図13は、フックモジュール103が動作するクライアントコンピュータからジョブがプリンタ110に送信された場合の機器ログ115の例を示す図である。また、図14は、フックモジュール103が動作しないクライアントコンピュータからジョブがプリンタ110に送信された場合の機器ログ115の例を示す図である。
【0045】
ジョブログマージモジュール123は、ジョブアカウントクライアントから送られたマージログ127と機器ログ115をマージし、最終ログ128を生成する。図17は、図12に示すマージログ127と図13に示す機器ログ115をマージした場合の最終ログ128の例を示す図である。
【0046】
ジョブログ記憶モジュール124はジョブログマージモジュール123から最終ログ128を受け取り、処理対象外データベース128を参照して、処理対象外でなければ、HD206などに記憶する。ジョブログ集計モジュール125は、閲覧者からの指示によって、単位期間ごとの印刷ページ数を求めたり、オーナごとの印刷ページ数を求める、などの集計処理を行う。
【0047】
ID発生モジュール126は、クライアントコンピュータ1001〜1003を一意に識別するためのIDを発行する。ここでは、各桁がaからzの26通りの値をとりうる4桁の文字列をフックモジュール103の要求に応じて、aaaa、aaab、・・・、zzzy、zzzzと順に変化させ、クライアントを一意に識別できるように発行する。ここでは、ホストとジョブIDの組合せを用いて新ドキュメント名を作成するが、印刷システム全体で一意の新ドキュメント名(後述)をジョブアカウントサーバにおいて一元発行する方式をとってもよい。
【0048】
なお、ここでは、クライアントコンピュータ1001〜1003において、一回の印刷ジョブに対して、フックログ111、ドライバログ112、APIログ113、モニタログ114の4つのログが作成されることとしたが、常に4つのログが取れるとは限らない。例えば、アプリケーション102がスプーラ106に直接印刷データを送れば、フックログ111やドライバログ112は取得できない。プリンタドライバ105とジョブアカウントクライアント118間でプロトコルが規定されていなければ、ドライバログ112は取得できない。プリンタ108のように排紙ページ数を送受信モジュール107に通知する機能がない場合は、モニタログ114の排紙ページ情報を取得できない。しかし、ジョブに係る複数の処理においてログを取得することで、一部処理にてログ取得が不可能な場合であっても、総合的には、ログを取得できる確率が高くなる。
【0049】
以上のような情報処理システムにおいて、クライアントコンピュータ1001〜1003やプリンタ110などから取得されたジョブ情報としてのログは、そのログの生成過程(ポート情報やドライバ情報)に基づいて記録処理すべきか否かを判定され、記録処理すべきと判定されたログのみがサーバコンピュータ2000内に記録されることになる。
【0050】
<各コンピュータのハードウェア構成>
図2は、クライアントコンピュータ1001〜1003およびサーバコンピュータ2000のいずれかのハードウェア構成の一例を示すブロック図である。上述したように、クライアントコンピュータ1001〜1003およびサーバコンピュータ2000は、ハードウェアの基本的な構成に相違はなく、何れのコンピュータも以下の構成を有する。
【0051】
図2において、201はCPU、即ち中央処理ユニットであり、このコンピュータ全体の制御および演算処理等を行うものである。202はROM即ち読み出し専用メモリであり、システム起動プログラムの情報等の記憶領域である。203はRAM即ちランダムアクセスメモリであり、使用制限のないデータ記憶領域である。204はKBC即ちキーボード制御部であり、キーボードより入力データを受け取りCPU201へ伝達する。205はディスプレイ制御部であり、CRTや液晶ディスプレイなどへの表示を制御する。206はHDすなわちハードディスクである。HD206は、プログラムおよびデータを記憶、格納しておき、実行時に必要に応じて参照またはRAM203へのロードする。207は通信ユニットであり、ネットワークに接続された他のコンピュータや周辺機器との通信に用いられる。通信ユニット207は、図1の送受信モジュール107、ジョブログ送信モジュール117などにより制御される。208はシステムバスであり、上述されたハードウェア間のデータの通路である。
【0052】
図1Bに示したアプリケーション102、フックモジュール103、GDI104、プリンタドライバ105、送受信モジュール107、ジョブアカウントクライアント118などのソフトウェアモジュール、およびオペレーションシステムや通信制御用プログラムなどは、HD205やROM202からRAM203にロードされ、CPU201により実行される。
【0053】
なお、図2で示すHD205の代わりに或いは、HD205に加えて他の記憶デバイスを設けてもよい。他の記憶デバイスとしては、不揮発性記憶メモリ等が考えられる。
【0054】
<各プリンタのハードウェア構成>
図3は、本情報処理システムを構成するプリンタ108〜110の構成の一例を示すブロック図である。図3において、305はプリンタ全体を制御するコントローラである。コントローラ305の内部には、CPU301、ROM302、RAM303、HD304が含まれる。
【0055】
CPU301は中央処理ユニットであり、このプリンタ全体の制御および演算処理等を行うものである。ROM302は読み出し専用メモリであり、システム起動プログラムの情報等の記憶領域を含む。RAM303はランダムアクセスメモリであり、使用制限のないデータ記憶領域を含む。HD304は、ハードディスクであり、書き換える可能性のあるプログラムやデータをプリンタ電源切断後も確保する記憶領域を含む。
【0056】
RAM303は、オペレーティングシステムや通信制御およびエンジン制御などのプログラムがロードされ、実行される記憶領域を有する。プリントエンジン306は、コントローラの制御のもとで印刷動作や画像読み取り動作をする。通信ユニット307であり、ネットワークを介してクライアントコンピュータやサーバコンピュータとの通信を行うユニットである。操作ユニット308は、ユーザとの対話的な設定作業を行うためのユニットである。システムバス309は、上述の構成要素間のデータの通路となるべきものである。
【0057】
<サーバコンピュータのRAM構成及びその実現方法>
図4は、クライアントコンピュータ1000内部のRAM203におけるメモリマップ40を表す図である。
【0058】
サーバコンピュータ2000内では、基本I/Oプログラム41と、オペレーティングシステム42と、アプリケーション102と、が図4のようにRAM203にロードされ実行可能となる。サーバコンピュータ2000のRAM203内には、これらの他に、アプリケーション102が実行した結果生成された関連データ44が格納されており、更に、他のプログラムが使用するワークエリア45が用意されている。
【0059】
図1Bのようなサーバコンピュータ2000のソフトウェア構成は、ジョブアカウントサーバ121を外部からインストールすることによって実現することができる。インストールの方法としては、インターネットなどのネットワークを介してダウンロードする方法の他、持ち運び可能な着脱式の記憶媒体からインストールする方法を採ることができる。
【0060】
例えば、図6のように、サーバコンピュータ2000のCD−ROMドライブ208にCD−ROM60を読み込ませる方法がこれにあたる。この場合、図5のように、CD−ROM60の記憶領域50には、ボリューム情報51、ディレクトリ情報52、実行ファイル53、関連データファイル54が記録される。
【0061】
実行ファイル53は、ジョブアカウントサーバ121のインストールプログラムを含む。
【0062】
CD−ROM60をCD−ROMドライブ61にセットすると、オペレーティングシステム42および基本I/Oプログラム41の制御のもとに、実行ファイル53が実行されて、ジョブアカウントサーバ121を実現するためのプログラムモジュール等および関連データがCD−ROM60から読み出され、HD206に格納される。ここでジョブアカウントサーバ121を実現するためのプログラムモジュールには、図1Bに示した各モジュール122〜126が含まれる。
【0063】
もちろん、記憶媒体はCD−ROMに限定されるものではなく、DVD、FDなどでもよいことは言うまでもない。
【0064】
<フックモジュールの動作>
図15は、フックモジュール103によって行われる処理を示すフローチャートである。
【0065】
ステップS1501において、フックモジュール103は、所定の機器管理プロトコルにより、印刷先のプリンタが機器ログを備えているか否かを示す情報を取得して判別し、備えていると判別した場合は、ステップS1502へ進む。フックモジュール103が、プリンタが機器ログを備えていないと判断した場合は、処理を終了する。
【0066】
ステップS1502において、フックモジュール103は、クライアントIDを取得済であるか否かを判別し、取得済であれば、ステップS1504へ進む。取得していなければステップS1503へ進む。ここで、クライアントIDとは、ID発生モジュール126が発行する、クライアントコンピュータ1001〜1003を一意に識別可能な識別情報である。ここでは、ステップS1503において、フックモジュール103は、ID発生モジュール126と通信し、クライアントコンピュータを一意に識別するIDをID発生モジュール126から取得するものとする。
【0067】
ステップS1504において、クライアントコンピュータ内でジョブを一意に特定するクライアント内JOBIDを作成する。ここでは、0001から9999までの数値を順に発行するものとする。
【0068】
ステップS1505において、フックモジュール103は、ステップS1503で取得済みと判断したクライアントIDとステップS1504で作成したクライアント内JobIDを結合し、印刷システム内で一意に定まる新しい識別情報の一例である、新ドキュメント名を作成する。
【0069】
ステップS1506において、フックモジュール103は、アプリケーションから渡された元のドキュメント名をフックログの項目「元ドキュメント名」に格納する。ステップS1507において、ドキュメント名をステップS1505の新ドキュメント名に置き換える。その結果、GDIにはドキュメント名として、新ドキュメント名が渡される。GDI処理の後段である、プリンタドライバ105、スプーラ106、送受信モジュール107、プリンタ110における処理は、ドキュメント名はすべて新ドキュメント名で処理されるようにすると好適である。
【0070】
ここで、新ドキュメント名を作成した理由は、印刷装置から取得したジョブ情報をマージする際には、JobIDをそのままマージ処理のキーとして利用することは難しいからである。例えば、ジョブ管理方式の仕様の一部が非公開となっているため、A社開発のアカウントサーバAを利用する場合、A社開発のアカウントサーバは、B社開発のプリンタからは、JobIDを取得することができないことが多い。つまり、想定していないジョブ管理方式に対応したプリンタからは、ジョブ情報を取得してもこれにジョブIDが含まれないことが多く、これをマージ処理して活用できないのである。しかし、クライアントコンピュータ内のOSやアプリケーションによって製作され、プリンタに送信されたドキュメント名については、ジョブ情報として取得できる事が多い。
【0071】
そこで、ジョブIDの代わりに、クライアント側で管理可能であり、プリンタ側からも、JobIDの代わりに、ジョブ情報のキーとして取得可能なドキュメント名を識別情報として管理することが考えられる。しかし、従来のドキュメント名をそのまま用いると、問題が生ずる。クライアント側のOS又はアプリケーションが管理できるのは、一般に8文字より多く、一般に用いられているOSにおいては255文字までのドキュメント名が付与できる。プリンタが管理できるのは、前述したように8文字までである。また、一般に、ジョブ管理方式において利用できるドキュメント名は8文字までである。これでは、クライアント側において8文字以上のドキュメント名を付けた場合には、クライアント側のOS又はアプリケーションが付けたドキュメント名は異なっている場合であっても、同じドキュメント名のジョブがプリンタ内に並存する場合が出てきて、混乱が生ずる。そこで、アカウントサーバ側でホストIDを発行し、クライアント側で発行されたドキュメント名と組合わせて用いるのである。
【0072】
これにより、8文字以内でアカウントサーバが管理する、クライアントコンピュータとプリンタを含む印刷システムにおいて一意に定まる新ドキュメント名が完成する。そして、この新ドキュメント名をジョブIDの代わりとしてジョブの識別に用いることができるのである。一度、クライアント側で新ドキュメント名を生成してしまえば、以後、プリンタ、クライアント、アカウントサーバにおいて、このドキュメント名をジョブの識別子として活用できる。
【0073】
<クライアント側ジョブログマージモジュールの動作>
図11は、ジョブログマージモジュール116によってログをマージする処理を示すフローチャートである。
【0074】
ジョブログマージモジュール116は、フックログ111、ドライバログ112、APIログ113、モニタログ114といった各ログを受信し、その内容をHD206等に記録しておく。そして以下の処理を予め設定された周期で定期的に起動し、各ジョブ毎に、マージ処理を行う。本実施形態においては、ジョブIDをキーとしてログのマージ(併合処理)を行っているが、後述するドキュメントデータ名或いは新ドキュメントデータ名をキーにしてマージしてもよい。
【0075】
以下の処理においては、ジョブログマージモジュール116は、フックログ、ドライバログ、APIログ、モニタログがそれぞれ含む、開始時刻情報並びに、完了時刻情報のエントリが示す開始時刻のうち、最も早い開始時刻と、最も遅い完了時刻を特定する。そして、各時刻情報は、前述の通り、マージ処理して併合されたジョブ情報として格納される。
【0076】
まず、ステップS1101において、ジョブログマージモジュール116は、処理済みフラグがYESとなっていないモニタログ(図10参照)、すなわち、未処理のモニタログがあるか否かを検索して特定し、未処理のモニタログがあれば、ステップS1102に進む。
【0077】
ステップS1102において、ジョブログマージモジュール116は、ステップS1101において未処理と特定されたモニタログを別のテンポラリの記憶領域にコピーし、これをログAとする。
【0078】
ステップS1103において、ログAからJobIDの部分を取得する。ステップS1104において、ジョブログマージモジュール116は、ステップS1103で取得したJobIDに対応するログのうち、まだマージ処理を行っていない、つまり未処理であるログがあるか否かを、JobIDに基づいて、フックログ、ドライバログ、APIログの各ログを検索して特定することで、判断する。ステップS1104で未処理のログが無いと判断した場合は、処理を終了する。ステップS1104で未処理のログがあるとジョブログマージモジュール116が判断した場合は、ジョブログマージモジュール116は、ステップS1105に進んで、ステップS1104で未処理と判断されたJobID(ここでは便宜のためNとする)と等しいJobIDのログが有るか否かを、JobIDに基づいてフックログ111、ドライバログ112、APIログ113の各ログの中から検索して特定し、これをログBとする。
【0079】
ステップS1105でNと等しいJobIDのログがフックログ111、ドライバログ112、APIログ113の各ログには無かった場合には、ステップS1108に進む。ステップS1105で、Nと等しいJobIDが各ログのいずれかにあった場合は、ステップS1106に進む。ここでは、例えば、ステップS1105でNは未処理のログAが含むJobIDのうち、小さなものから順に特定してNとすればよい。
【0080】
ステップ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に進む。続いて、そして、該マージログの種別の項目を「マージ」とする。
【0081】
ステップS1108に続くステップS1104では、ログAに係る全てのJobIDについて処理が終わったと判断した場合には、処理を終了する。
【0082】
<サーバ側ジョブログマージモジュールの動作>
図16は、ジョブログマージモジュール123によってログをマージし、最終ログ128を作成する処理を示すフローチャートである。
【0083】
ステップS1601において、ジョブログマージモジュール123は、未処理のマージログがあるか検索し、あればステップS1602に進む。無ければ処理を終了する。
【0084】
ステップS1602において、ジョブログマージモジュール123は、プリンタが機器ログを備えているか判別し、備えていればステップS1603に進む。備えていなければステップS1607に進む。
【0085】
ステップS1603において、ジョブログマージモジュール123は、未処理の機器ログでドキュメント名の項目がステップS1601のマージログと同じログがあるか検索して判断し、あると判断した場合は、ステップS1604に進む。ステップS1601のマージログと同じログが無いと判断した場合は、処理を終了する。ステップS1604において、ジョブログマージモジュール123は、機器ログの排紙ページ数排紙枚数をマージログに置換又は追加する。
【0086】
ステップS1605において、ジョブログマージモジュール123は、ドキュメント名と元ドキュメント名を入れ換える。図13の例では、「ドキュメント名:2001年度年次報告書、元ドキュメント名:abcd0001」となる。
【0087】
ステップS1606において、ジョブログマージモジュール123は、マージログ127の元ドキュメント名を削除し最終ログ128とする。ステップS1607において、ジョブログマージモジュール123は、最終ログ128をジョブログ記憶モジュール124に渡す。
【0088】
<ログの集計・分析処理>
次に、ジョブログ集計モジュール125が行うログの集計・分析処理について説明する。
【0089】
図18、図19は、記録されたログ情報に対して行うことのできる各種処理及び設定を示す図である。「処理」のメニューとしては、収集された印刷ログの「集計」する処理と、「分析」結果の表示を行う処理とが用意されている。「設定」のメニューとしては、「一覧/編集」を行う際の設定と、その他の「設定」とが用意されている。
【0090】
「処理」メニューの中の「集計」メニューには、「部門/ユーザ」、「デバイス」、「用紙サイズ」、「管理コード」をキーとして集計結果を表示する処理が含まれている。ここで管理コードとは、ログ情報を管理するコードであって、利用者が自由にログ情報を分類するためのものである。すなわち、ユーザは、ユーザ自身のユーザ識別情報や、所属する部門の部門識別情報(これら、ユーザ識別情報や部門識別情報を、利用者識別情報と呼ぶ)とは別に、ログ情報を例えば仕事単位に管理するコードを有している。従って、ユーザが行った印刷処理に関するログ情報がどの管理コードに属するかを、ユーザ自身が自由に指定可能となる。
【0091】
「処理」メニューの中の「分析」メニューには、「使用状況」、「用途別使用率」、「部門/ユーザ上限値」、「管理コード上限値」等で集計結果を分析しグラフ表示する処理が含まれている。
【0092】
「設定」メニューの中の「一覧/編集」メニューには、「部門/ユーザ」、「デバイス」、「管理コード」、「ジョブ履歴」等の設定が含まれている。ユーザを部門にグループ分けする設定は「部門/ユーザ」、ユーザを管理コードでグループ分けする設定は、「管理コード」で行う。
【0093】
「設定」メニューの中の「設定」メニューには、「用紙」、「用紙単価」、「環境」等の設定が含まれている。
【0094】
図20(a)、(b)は、「設定」メニューの中の「一覧/編集」メニューで「部門/ユーザ」び「管理コード」が設定された結果を示した図である。図20(a)に示すように、部門として、「開発1課」、「開発2課」、「開発3課」が定義され、各々のメンバーとして「鈴木、斉藤、田中」、「高橋、山本」、「大内、沢木」がユーザ登録されている。更に、図20(b)に示すように、3つの管理コード「1001」、「1002」、「1003」が定義され、各々のメンバーとして「鈴木、斉藤、田中、高橋、山本」、「大内、沢木」、「高橋、山本、田中」が登録されている。ここでは、例示的に、管理コードが仕事単位の番号を示すものとする。部門を横断した人員から仕事の人員が構成される場合などに定義される。ここでは、管理コード「1001」のメンバーは、部門で言えば「開発1課」、「開発2課」の人員が登録されており、この2部門の人員で行われる仕事のコード番号を表現している。同様に、管理コード「1002」、「1003」も、部門の枠を越えた人員で構成されている。また、図20(b)によれば、田中さんは「1001」と「1003」の2つの管理コードが使用可能となる。図26の管理コード入力ダイアログにおいては、使用可能な管理コードが表示され、ユーザは管理コードをリストボックスにより選択して指定する。
【0095】
図21は、部門/ユーザ単位の印刷処理の分析結果である。図19における、「処理メニュー」/「分析」/「部門/ユーザ上限値」のメニューを選択することで表示される。ここでは、部門/ユーザごとに2002/09/29から2002/10/27まで、1週間単位での印刷枚数、および上限値に対する印刷枚数の割合が表示されている。
【0096】
図22は、図21の「部門/ユーザ」における「開発1課・鈴木氏」の印刷状況を利用日ごとにグラフ表示したものである。特定のユーザの印刷状況をグラフ表示することにより、特定ユーザの時間ごとの印刷状況を把握することが可能となる。
【0097】
図23は、管理コード単位の印刷処理の分析結果である。図19における、「処理メニュー」/「分析」/「管理コード上限値」のメニューを選択することで表示される。この管理コードによる集計・分析を行うためには、印刷ジョブをどの管理コードに割り振るかを決定しなければならない。これは、印刷時に、管理コードの入力ダイアログを表示し、ユーザに管理コードを選択・入力させることで対応する。
【0098】
ユーザは、印刷時において、使用可能な管理コードを選択し指定することで、管理コードの入力を行う。
【0099】
印刷を行ったユーザがその印刷ジョブを経費として負担するのではなく、仕事単位の管理コードを入力することで、実際に印刷ジョブを所有すべきグループに割り振ることが可能となる。
【0100】
図24は、管理コード「1001」に関して、上限値に対する印刷状況を分析・グラフ表示した図である。管理コード「1001」で示されるグループの期間ごとの印刷状況を明示することができる。図23の機能とあわせて、仕事の単位を表現する「管理コード」を単位とする印刷状況を明らかにすることが可能となる。
【0101】
印刷処理を行うユーザを第1(部門)、第2(管理コード)の2つの属性でグループ分けを行い、印刷処理を行ったユーザまたはそのユーザが属する第1の属性(部門)とは別の、第2の属性(管理コード)を印刷時に印刷ジョブに指定し、第2の属性(管理コード)をキーとして分析・集計表示を行うことで、印刷処理のより利便性の高い印刷状況の明示を行うことが可能となる。また、第2の属性(管理コード)を元にした上限値を用いて印刷の抑制を行うことで、より柔軟な印刷管理が可能となる。
【0102】
図25は、管理コードを用いた印刷抑止処理のフローチャートである。管理コードごとに上限値の設定を行い、管理コードに属するグループの総印刷枚数に制限を設ける。この設定は、図19における「設定メニュー」:「一覧/編集」−「管理コード」で行うことができる。図25および図26を用いて管理コードによる印刷抑止処理の詳細を説明する。
【0103】
印刷指示が行われたとき、ステップS2501において、クライアントコンピュータ1001〜1003の表示デバイス(不図示)に、図26で示される管理コード入力ダイアログ2601がポップアップで表示される。ステップS2502では、表示された管理コード入力ダイアログに管理コードを指定する処理である。登録されている管理コードの一覧から、印刷ジョブに割り当てる管理コードを選択する。ここで入力(管理コードの選択指定)が行われなかった場合は、ステップS2504において、デフォルトの管理コードが指定される。このデフォルト値は、図20(b)のテーブルに登録された管理コードとユーザとの組み合わせにおいて、図19の「設定メニュー」:「設定」−「環境」において指定することができる。
【0104】
ステップS2505では、指定された管理コードの印刷枚数が上限に達しているかどうかをサーバコンピュータ2000に確認する。
【0105】
ここで上限値に達している場合は、サーバコンピュータ2000から、クライアントコンピュータ1001〜1003に対してその旨が通知され、ステップS2507において、ユーザにメッセージを表示し、印刷ができないことを通知する。上限値に達していない場合は、ステップS2506に進み、印刷処理が実行される。ステップS2508は、指定された管理コードにおける合計の印刷枚数を更新する処理である。
【0106】
ステップS2509では、印刷ログ、および管理コードをサーバコンピュータ2000に送信する。このように、管理コード単位で印刷枚数の上限値を設けて印刷処理の抑止を可能とすることで、ユーザによる印刷枚数の再集計の手間を省き、より利便性の高い印刷抑止機能を提供することができる。
【0107】
なお、ここでは管理コードの上限値と印刷枚数の比較処理において、同じ管理コードを持つすべてのユーザの印刷枚数の合計が、該管理コードの上限値に達した場合は印刷の抑止を行ったが、同じ管理コードを持つユーザひとりひとりの印刷枚数が、設定された管理コードの上限値に達した場合に印刷の抑止を行ってもよい。
【0108】
また、本実施形態では管理コードが仕事の内容を示すコードとして説明したが管理コードの意味はこれに限定されるものではない。例えば、画像形成の目的などを表すコードでもよい。すなわち、管理コードとは、従来のジョブ情報に含まれる情報(ユーザや画像処理装置の種類など)によっては切り分けることができない分類を生成するためのコードであると定義することができる。
【0109】
更に、ユーザが、クライアントコンピュータにおいて新たに管理コードを定義可能としてもよい。その場合、図20(b)に示したデータベースに、管理コードとユーザを対応付けるテーブルが新たに作成されることとすればよい。
【0110】
(他の実施形態)
本実施形態における各図(図11、図15、図16、図25等)に示すフローチャートに示す処理、及び、図1に示す各モジュールが、外部からインストールされるプログラムによって、各コンピュータにより遂行される。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群がクライアントコンピュータに供給される場合でも本発明は適用されるものである。
【0111】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ(図示省略)からダウンロードすることで、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0112】
この場合、記憶媒体から読み出されたジョブアカウントサーバやジョブアカウントクライアントプログラム等のプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、DVD、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM等を用いることができる。
【0113】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、外部の所定のサーバ装置(図示省略)からネットワークを介して送信された、又は、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0114】
以下に、本発明の実施態様を示す。
【0115】
[実施態様1]
画像処理装置に対するジョブを生成すると共に、該ジョブに関するジョブ情報を生成する情報処理クライアントと、
前記情報処理クライアントから前記ジョブ情報を取得し、記録する情報処理サーバと、
を含む情報処理システムであって、
前記情報処理クライアントは、
ユーザからの印刷指示に応じて、ユーザが使用可能な管理コードを指定するための画面を表示する表示制御手段と、
前記情報処理サーバに対して、前記表示制御手段により表示された画面で入力された前記管理コード及び前記ジョブ情報を送信する送信手段と、
を有し、
前記情報処理サーバは、
前記情報処理クライアントから前記管理コード及び前記ジョブ情報を取得する取得手段と、
前記取得手段で取得された前記管理コードに基づいて前記ジョブ情報を集計する集計手段と、
を有することを特徴とする情報処理システム。
【0116】
[実施態様2]
前記情報処理サーバは、前記ユーザを識別する利用者識別情報と、前記管理コードとを関連づけて格納した手段を有することを特徴とする実施態様1に記載の情報処理システム。
【0117】
[実施態様3]
前記情報処理サーバは、
前記管理コードと関連づけて、前記画像処理装置の利用の上限値を記憶した上限値記憶手段と、
前記集計手段での集計結果に基づいて、前記ジョブを実行した場合に前記上限値を越えるか否かを判定する判定手段と、
前記判定手段の判定結果を前記情報処理クライアントに通知する通知手段と、
を有することを特徴とする実施態様1に記載の情報処理システム。
【0118】
[実施態様4]
前記集計手段は、前記利用者識別情報及び前記管理コードに基づいて前記ジョブ情報を集計可能であり、
前記情報処理サーバは、
前記管理コード及び利用者識別情報とに関連づけて前記画像処理装置の利用の上限値を記憶した上限値記憶手段と、
前記集計手段での集計結果に基づいて、そのユーザが前記ジョブを実行した場合に前記上限値を越えるか否かを判定する判定手段と、
を有することを特徴とする実施態様2に記載の情報処理システム。
【0119】
[実施態様5]
前記集計手段は、前記利用者識別情報毎、及び前記管理コード毎のいずれかを選択して集計可能であることを特徴とする実施態様2に記載の情報処理システム。
【0120】
[実施態様6]
画像処理装置に対するジョブを生成すると共に、該ジョブに関するジョブ情報を生成する情報処理クライアントと、
前記情報処理クライアントから前記ジョブ情報を取得し、記録する情報処理サーバと、
を含む情報処理システムであって、
前記情報処理クライアントは、
ユーザからの印刷指示に応じて、ユーザが使用可能な管理コードを指定するための画面を表示する表示制御手段と、
前記情報処理サーバに対して、表示された画面で入力された管理コードと、利用者識別情報を含む前記ジョブ情報とを送信する送信手段と、
を有し、
前記情報処理サーバは、
前記情報処理クライアントから前記管理コードと、前記利用者識別情報を含む前記ジョブ情報とを取得する取得手段と、
指定に応じて、前記管理コード単位または前記利用者識別情報単位に前記ジョブ情報を集計する集計手段と、
を有することを特徴とする情報処理システム。
【0121】
[実施態様7]
画像処理装置に対するジョブを生成すると共に、該ジョブに関するジョブ情報を生成する情報処理装置であって、
ユーザからの印刷指示に応じて、ユーザが使用可能な管理コードを指定するための画面を表示する表示制御手段と、
前記表示制御手段により表示された画面で入力された前記管理コード及び前記ジョブ情報を送信する送信手段と、
を有することを特徴とする情報処理装置。
【0122】
[実施態様8]
画像処理装置に対するジョブに関するジョブ情報を管理する情報処理装置であって、
ユーザが使用可能な管理コード及び前記ジョブ情報を取得する取得手段と、
前記管理コードに基づいて前記ジョブ情報を集計する集計手段と、
を有することを特徴とする情報処理装置。
【0123】
[実施態様9]
情報処理装置から画像処理装置に発行されるジョブに関するジョブ情報を管理する情報処理方法であって、
前記情報処理装置において、前記ジョブについてユーザが使用可能な管理コードを指定するための画面を表示する工程と、
前記情報処理装置から前記管理コード及び前記ジョブ情報を取得する取得工程と、
前記取得工程で取得された前記管理コードに基づいて前記ジョブ情報を集計する集計工程と、
を有することを特徴とする情報処理方法。
【0124】
[実施態様10]
情報処理装置から画像処理装置に発行されるジョブに関するジョブ情報を管理するプログラムであって、
コンピュータに、
前記ジョブについて、ユーザが使用可能な管理コード及び前記ジョブ情報を取得する取得工程と、
前記管理コードに基づいて取得した前記ジョブ情報を集計する集計工程と、
を実行させることを特徴とするプログラム。
【0125】
[実施態様11]
実施態様10に記載のプログラムを格納したことを特徴とするコンピュータ読取り可能な記憶媒体。
【0126】
【発明の効果】
本発明によれば、印刷状況を分析、表示する自由度を高めることで、利用状況の集計処理の負担を軽減し、簡便かつ効果的に印刷状況を把握することができる。
【図面の簡単な説明】
【図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】本発明の実施形態における部門/ユーザをキーとした上限値、印刷状況の分析結果を表示した図である。
【図22】本発明の実施形態における部門/ユーザの特定の1人に関する印刷状況を分析・グラフ表示した図である。
【図23】本発明の実施形態における管理コードをキーとした上限値、印刷状況の分析結果を表示した図である。
【図24】本発明の実施形態における管理コードのある1つのコードに関する印刷状況を分析・グラフ表示した図である。
【図25】本発明の実施形態における管理コードによる印刷抑止処理のフローチャートである。
【図26】本発明の実施形態における印刷時に管理コードを入力するダイアログを示す図である。
【符号の説明】
111 フックログ
112 ドライバログ
113 APIログ
114 モニタログ
115 機器ログ
116 ジョブログマージモジュール
117 ジョブログ送信モジュール
118 ジョブアカウントクライアント
121 ジョブアカウントサーバ
122 ジョブログ受信モジュール
123 ジョブログマージモジュール
124 ジョブログ記録モジュール
125 ジョブログ集計モジュール
126 ID発生モジュール
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for managing job information.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a job management method for an information processing system that acquires and manages job information has been developed, and job information executed by a peripheral device has been collected.
[0003]
In general, the job information collected as described above is displayed in a table or a graph, and is used for grasping and examining a use situation (for example, see Patent Document 1). When displaying in a table or a graph, the usage status (number of prints, paper size, paper type, etc.) is displayed for each user or department. Further, attributes such as "department" and "affiliation" are defined, users are grouped by the attribute, and the use status is displayed in a table or a graph in units of the attribute.
[0004]
[Patent Document 1]
JP-A-2002-116899 [0005]
[Problems to be solved by the invention]
However, there is a case where the totaling and displaying in units of users or in units of “department” and “affiliation” to which the user belongs is not enough.
[0006]
For example, law firms and the like usually perform business management such as summing up the printing costs incurred for each job, and there is a need to redo the counting for each job from the counting result for each user who performed printing. I will. In addition, since the user who has performed the printing is not always engaged in the job, it has been difficult to determine which job to print from the user information.
[0007]
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems, and reduces the load of the use status tallying process by increasing the degree of freedom in analyzing and displaying the printing status, and easily and effectively grasping the printing status. The purpose is to do.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, a system according to the present invention comprises:
An information processing client that generates a job for the image processing apparatus and generates job information related to the job;
An information processing server that acquires and records the job information from the information processing client;
An information processing system including
The information processing client,
Display control means for displaying a screen for designating a management code usable by the user in response to a print instruction from the user;
Transmission means for transmitting the management code and the job information input on the screen displayed by the display control means to the information processing server,
Has,
The information processing server,
Acquiring means for acquiring the management code and the job information from the information processing client;
Tabulation means for tabulating the job information based on the management code acquired by the acquisition means,
It is characterized by having.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of the present invention will be illustratively described in detail with reference to the drawings. However, the components described in this embodiment are merely examples, and are not intended to limit the scope of the present invention only thereto.
[0010]
<System configuration>
FIG. 1A is a diagram illustrating an example of an information processing system as a preferred embodiment in which an information processing method according to the present invention can be implemented.
[0011]
The information processing system includes at least one information processing client, one information processing server, and one image processing apparatus. However, in FIG. 1A, client computers 1001 to 1003 are used as first information processing apparatuses, and second computers are used as second information processing apparatuses. A server computer 2000, printers 108 to 110 as an image processing apparatus, a facsimile, a copier, and an MFP (multifunction printer) having these functions in combination are exemplarily illustrated.
[0012]
These devices are connected by a local area network (hereinafter simply referred to as a network) 3000 constructed by Ethernet (registered trademark) or the like, and can communicate with each other.
[0013]
The client computers 1001 to 1003 are used by each user. The server computer 2000 is a control computer that manages the client computer 1001 and the printer 110 existing on the network 3000 and remotely controls the client computer 1001 and the printer 110. The difference between the client computers 1001 to 1003 and the server computer 2000 is that a job account client program (to be referred to as a job account client hereinafter) is executed on the device, or a job account server program (to be referred to as a job account server program hereinafter). Job account server) is executed, and there is no difference in hardware.
[0014]
As will be apparent from the description below, the server computer 2000 is for management by an administrator, and the users such as the client computers 1001 to 1003 do not need to know the existence.
[0015]
Although three client computers are shown in the figure as client computers used by general users, the number of the client computers is not limited to this number. A plurality of computers may be connected to the network 3000, or they may not be connected to a printer.
[0016]
Although various types of image processing apparatuses may be included in the present system, in the present embodiment, the printers 108 to 110 will be specifically described as examples.
[0017]
The printer 108 has a function of printing data received from the client computers 1001 to 1003, but does not have a function of outputting information of a job performed by the printer 108 to an external device.
[0018]
It is assumed that the printer 109 has a function of notifying the client computers 1001 to 1003 of a print result such as the total number of discharged pages relating to the job at the end of the job, in addition to the function of the printer 108.
[0019]
The printer 110 has a function of storing job information in a memory in the printer after printing, and outputting the job information in response to a request from the server computer 2000.
[0020]
The server computer 2000 records a job log handled by a client computer via the network 3000, selects a specific job log in response to a request from a browsing applicant, and selects by unit period, device, and job issuer. And so on.
[0021]
In the present embodiment, TCP / IP is used as the protocol of the network 3000. However, any protocol may be used as long as the following functions are realized.
[0022]
<System software configuration>
FIG. 1B is a diagram illustrating a software configuration of the information processing system.
[0023]
The client computers 1001 to 1003 include an application 102, a hook module 103, a GDI 104 (a subsystem for processing graphic drawing), a printer driver 105, a spooler 106, a transmission / reception module 107, and a job account client 118.
[0024]
Among these, the application 102 is an image processing application that captures or processes image data, a word processor application that creates document data, and the like, and operates on an operation system (not shown). The GDI 104 and the transmission / reception module 107 are modules included in the operation system. Further, the printer driver 105 is a program prepared by a printer maker according to the printer controlled by the client computers 1001 to 1003, and operates in a bridge between the printers such as the printers 108 to 110 and the application 102. The spooler 106 is a temporary storage area secured by the printer driver 105.
[0025]
On the other hand, the server computer 2000 includes a job account server 121. The job account server 121 includes a job log merge module 123, a job log storage module 124, a job log reception module 122, a job log totalization module 125, an ID generation module 126, Includes non-target database 129.
[0026]
Next, operations in the client computers 1001 to 1003 and the server computer 2000 will be described.
[0027]
When the client computer 1001 to 1003 issues a print instruction to the application 102, the application 102 makes a GDI call for drawing.
[0028]
The hook module 103 is incorporated together with the job account client 118, and hooks (monitors and recognizes) GDI calls and accumulates information such as which GDI call was called with what parameters and the number of times called. For example, the number of discharged sheets or the number of pages of the job issued by the application 102 is acquired by counting an API (application programming interface) for performing a page break or discharging. The history created based on this information is passed to the job account client 118 as the hook log 111. The hook module 103 can also change the document name based on a prescribed criterion. The document name and this change processing will be described later.
[0029]
FIG. 7 is a diagram illustrating an example of the hook log 111. In the hook log, JobId, application name, number of logical pages, and document name can be acquired. The JobId can be acquired from the GDI when instructing the GDI to start printing, and can uniquely specify a print job of the client computers 1001 to 1003.
[0030]
Referring back to FIG. 1B, the printer driver 105 converts the GDI call into print data that can be interpreted by the printer according to the print settings, passes the print data to the spooler 106, extracts print information from the converted contents, and outputs the print information as a driver log 112 as a job account client. Hand over to 118.
[0031]
FIG. 8 is a diagram showing an example of the driver log 112. The driver log 112 is history information that the job account client can acquire from the driver when printing is performed. As 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 information on both sides and one side. 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.
[0032]
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.
[0033]
Referring back to FIG. 1B, the job account client 118 periodically monitors the spooler and, if there is a spooled job, obtains the information of the job by using the API to obtain the number of sheets discharged or the number of pages of the job. To get. The obtained job information is passed to the job account client 118 as the API log 113.
[0034]
FIG. 9 is a diagram illustrating an example of the API log 113. As the API log 113, a JobId, a job owner name (user name), and a spool data size can be acquired.
[0035]
The transmission / reception module 107 communicates with one of the printers designated by the application, such as the printers 108 to 110, and transmits print data when the printer is in a ready state. At this time, for example, if a command of Printer Job Language (HP) is used, it is possible to acquire the number of pages ejected by the job after the printer 109 completes ejection of all pages of the print job. It is possible. The transmission / reception module 107 (port monitor) 107 sends job information such as the number of pages received from the printer 109 to the job account client 118. A print log created based on this information is called a monitor log 114.
[0036]
FIG. 10 is a diagram illustrating an example of the monitor log 114. JobId can be acquired as the monitor log 114. When transmitted to the printer 108, the number of discharged pages and the number of discharged sheets can be additionally obtained.
[0037]
In each of the hook log 111, the driver log 112, the API log 113, and the monitor log 114, an area for recording flag information indicating whether the job has been processed and information indicating the type of log are provided.
[0038]
The job account client 118, which is a software module executed by the CPU in the client computer, includes a job log merge module 116 and a job log transmission module 117 for collecting logs related to various printing processes and transmitting the logs to the job account server 121. .
[0039]
The job log merge module 116 in FIG. 1B merges the hook log 111, the driver log 112, the API log 113, and the monitor log 114, and usually sends a merge log 127 to the job log transmission module 117 every time the merge processing is completed. FIG. 12 is a diagram illustrating an example of the merge log 127 when the logs illustrated in FIGS. 7 to 10 are merged. As shown in the drawing, the merge log 127 includes items of a hook log 111, a driver log 112, an API log 113, and a monitor log 114, and a management code. The job information in FIG. 12 includes the job ID issued for the job, the name of the application that generated the document included in the job, the number of logical pages of the job, the document name included in the job, the start time of the job, and the job start time. End time, paper size used by the job, number of N-UPs used in the job, number of physical pages of the job, whether the job uses double-sided printing or single-sided printing, job owner name (user name), etc. Of the job. These total information is used by the job account server to perform total processing for each user, each department, and each management code.
[0040]
Although the management code is shown as being included in the merge log 127 here, the present invention is not limited to this. Job information such as the number of pages and the management code are separately stored in the server computer 2000. May be sent. In that case, the management code is not included in the merge log 127, and the job log merge module 123 of the server computer 2000 merges the management code with another log to generate the final log 128.
[0041]
The job log transmission module 117 transmits the log to the job log reception module 122 periodically or in response to a request from the job log reception module 122. At this time, the job log transmitting module 117 may transmit the log to the job log receiving module 122 by controlling the transmitting / receiving module 107 provided by the OS. Note that the job account client 118 may set a priority order to select any of the hook log 111, the driver log 112, the API log 113, and the monitor log 114, and may transmit any of them to the job account server 121. it can.
[0042]
Next, the operation of the job account server 121 will be described.
[0043]
The job log receiving module 122 acquires and accumulates the job transmitted from the job log transmitting module 117. When a network printer such as the printer 110 that internally stores job information exists on a network, the job log receiving module 122 defines the protocol with the printer and communicates with the printer, thereby directly transmitting the job information from the printer to the device. It can be obtained as the log 115.
[0044]
In other words, the printer 110 periodically polls the printer 110 and, if there is any job information that has not been acquired yet, acquires it as the device log 115. Although the device log 115 is stored in the RAM or the HD in the printer 110, it is not desirable to store all information such as the document name transmitted from the transmission / reception module 107 to the printer due to the limitation of the storage capacity. FIG. 13 is a diagram illustrating an example of the device log 115 when a job is transmitted from the client computer on which the hook module 103 operates to the printer 110. FIG. 14 is a diagram illustrating an example of the device log 115 when a job is transmitted to the printer 110 from a client computer on which the hook module 103 does not operate.
[0045]
The job log merge module 123 merges the merge log 127 sent from the job account client with the device log 115 to generate a final log 128. FIG. 17 is a diagram showing an example of the final log 128 when the merge log 127 shown in FIG. 12 and the device log 115 shown in FIG. 13 are merged.
[0046]
The job log storage module 124 receives the final log 128 from the job log merge module 123, refers to the non-processing target database 128, and stores it in the HD 206 or the like if it is not a processing target. The job log totaling module 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.
[0047]
The ID generation module 126 issues an ID for uniquely identifying the client computers 1001 to 1003. Here, 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 accordance with the request of the hook module 103, and the client Issue so that it can be uniquely identified. Here, the new document name is created using a combination of the host and the job ID. However, a method may be adopted in which a unique new document name (to be described later) unique to the entire printing system is unified by the job account server.
[0048]
Here, in the client computers 1001 to 1003, four logs of the hook log 111, the driver log 112, the API log 113, and the monitor log 114 are created for one print job. There is not always one log. For example, if the application 102 sends print data directly to the spooler 106, the hook log 111 and the driver log 112 cannot be obtained. If a protocol is not defined between the printer driver 105 and the job account client 118, the driver log 112 cannot be obtained. If there is no function of notifying the transmission / reception module 107 of the number of discharged pages as in the printer 108, the discharged page information of the monitor 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 a part of the process, the probability of acquiring the log is increased overall.
[0049]
In the information processing system as described above, whether the log as the job information acquired from the client computers 1001 to 1003, the printer 110, or the like should be recorded based on the log generation process (port information or driver information). Is determined, and only the log determined to be subjected to the recording process is recorded in the server computer 2000.
[0050]
<Hardware configuration of each computer>
FIG. 2 is a block diagram illustrating an example of a hardware configuration of any of the client computers 1001 to 1003 and the server computer 2000. As described above, the client computers 1001 to 1003 and the server computer 2000 do not differ in the basic hardware configuration, and each computer has the following configuration.
[0051]
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 storing information of a system startup program. Reference numeral 203 denotes a RAM, that is, a random access memory, which is a data storage area with no usage restriction. A keyboard control unit (KBC) 204 receives input data from the keyboard and transmits the data to the CPU 201. A display control unit 205 controls display on a CRT, a liquid crystal display, or the like. Reference numeral 206 denotes an HD, that is, a hard disk. The HD 206 stores and stores programs and data, and references or loads them to the RAM 203 as needed at the time of execution. A communication unit 207 is used for communication with other computers and peripheral devices connected to the network. The communication unit 207 is controlled by the transmission / reception module 107, the job log transmission module 117, and the like in FIG. Reference numeral 208 denotes a system bus, which is a data path between the hardware described above.
[0052]
The application 102, the hook module 103, the GDI 104, the printer driver 105, the transmission / reception module 107, the software module such as the job account client 118, and the operation system and the communication control program shown in FIG. 1B are loaded into the RAM 203 from the HD 205 and the ROM 202. , Is executed by the CPU 201.
[0053]
Note that another storage device may be provided instead of the HD 205 shown in FIG. 2 or in addition to the HD 205. As another storage device, a nonvolatile storage memory or the like can be considered.
[0054]
<Hardware configuration of each printer>
FIG. 3 is a block diagram illustrating an example of a configuration of the printers 108 to 110 configuring the information processing system. In FIG. 3, reference numeral 305 denotes a controller for controlling the entire printer. The controller 305 includes a CPU 301, a ROM 302, a RAM 303, and an HD 304.
[0055]
The CPU 301 is a central processing unit that controls the entire printer, performs arithmetic processing, and the like. The ROM 302 is a read-only memory and includes a storage area for information on a system startup program and the like. The RAM 303 is a random access memory and includes a data storage area with no usage restriction. The HD 304 is a hard disk, and includes a storage area for securing programs and data that may be rewritten even after the printer power is turned off.
[0056]
The RAM 303 has a storage area in which programs such as an operating system and communication control and engine control are loaded and executed. The print engine 306 performs a printing operation and an image reading operation under the control of the controller. The communication unit 307 communicates with a client computer or a server computer via a network. The operation unit 308 is a unit for performing an interactive setting operation with the user. The system bus 309 is to be a data path between the above-described components.
[0057]
<RAM Configuration of Server Computer and Its Realization Method>
FIG. 4 is a diagram showing the memory map 40 in the RAM 203 inside the client computer 1000.
[0058]
In the server computer 2000, the basic I / O program 41, the operating system 42, and the application 102 are loaded into the RAM 203 as shown in FIG. In the RAM 203 of the server computer 2000, in addition to the above, related data 44 generated as a result of the execution of the application 102 is stored, and a work area 45 used by another program is prepared.
[0059]
The software configuration of the server computer 2000 as shown in FIG. 1B can be realized by installing the job account server 121 from outside. As a method of installation, in addition to a method of downloading via a network such as the Internet, a method of installing from a portable removable storage medium can be adopted.
[0060]
For example, as shown in FIG. 6, a method of reading the CD-ROM 60 into the CD-ROM drive 208 of the server computer 2000 corresponds to this. In this case, as shown in FIG. 5, in the storage area 50 of the CD-ROM 60, volume information 51, directory information 52, an execution file 53, and a related data file 54 are recorded.
[0061]
The execution file 53 includes an installation program of the job account server 121.
[0062]
When the CD-ROM 60 is set in the CD-ROM drive 61, the execution file 53 is executed under the control of the operating system 42 and the basic I / O program 41, and a program module for realizing the job account server 121 and the like. The relevant data is read from the CD-ROM 60 and stored in the HD 206. Here, the program modules for realizing the job account server 121 include the modules 122 to 126 shown in FIG. 1B.
[0063]
Of course, the storage medium is not limited to a CD-ROM, but may be a DVD, FD, or the like.
[0064]
<Operation of hook module>
FIG. 15 is a flowchart showing the processing performed by the hook module 103.
[0065]
In step S1501, the hook module 103 acquires and determines whether or not the printer at the printing destination has the device log according to a predetermined device management protocol. Proceed to. If the hook module 103 determines that the printer does not have the device log, the process ends.
[0066]
In step S1502, the hook module 103 determines whether or not the client ID has been obtained. If the client ID has been obtained, the process proceeds to step S1504. If not, the process advances to step S1503. Here, the client ID is identification information issued by the ID generation module 126 and capable of uniquely identifying the client computers 1001 to 1003. Here, in step S1503, it is assumed that the hook module 103 communicates with the ID generation module 126 and acquires an ID for uniquely identifying the client computer from the ID generation module 126.
[0067]
In step S1504, an in-client JOBID that uniquely identifies a job in the client computer is created. Here, it is assumed that numerical values from 0001 to 9999 are issued in order.
[0068]
In step S1505, the hook module 103 combines the client ID determined to have been acquired in step S1503 with 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. Create
[0069]
In step S1506, the hook module 103 stores the original document name passed from the application in the item “original document name” of the hook log. In step S1507, the document name is replaced with the new document name in step S1505. As a result, the new document name is passed to GDI as the document name. It is preferable that the processing in the printer driver 105, spooler 106, transmission / reception module 107, and printer 110, which is the latter stage of the GDI processing, be such that the document names are all processed with the new document names.
[0070]
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, a document name produced by an OS or an application in a client computer and transmitted to a printer can often be acquired as job information.
[0071]
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, if the conventional document name is used as it is, a problem occurs. 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. Therefore, the host ID is issued on the account server side and used in combination with the document name issued on the client side.
[0072]
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, this new document name can be used for job identification instead of the job ID. 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.
[0073]
<Operation of client side job log merge module>
FIG. 11 is a flowchart illustrating a process of merging logs by the job log merge module 116.
[0074]
The job log merge module 116 receives the logs such as the hook log 111, the driver log 112, the API log 113, and the monitor log 114, and records the contents on the HD 206 and the like. Then, the following processing is started periodically at a preset cycle, and the merging processing is performed for each job. 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.
[0075]
In the following processing, the job log merge module 116 determines the earliest start time among the start times indicated by the entries of the start time information and the completion time information included in the hook log, the driver log, the API log, and the monitor log, respectively. Identify the latest completion time. As described above, each piece of time information is stored as job information that has been merged and merged.
[0076]
First, in step S1101, the job log merge module 116 searches and specifies whether there is a monitor log (see FIG. 10) for which the processed flag is not set to YES, that is, whether there is an unprocessed monitor log. If there is a monitor log for the process, the process proceeds to step S1102.
[0077]
In step S1102, the job log merge module 116 copies the monitor log specified as unprocessed in step S1101 to another temporary storage area, and sets this as the log A.
[0078]
In step S1103, the job ID is acquired from the log A. In step S1104, the job log merge module 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 hook log, the driver log, and the API log. If it is determined in step S1104 that there is no unprocessed log, the process ends. If the job log merge module 116 determines that there is an unprocessed log in step S1104, the job log merge module 116 proceeds to step S1105, where the JobID determined to be unprocessed in step S1104 (here, for convenience) N) to determine whether 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.
[0079]
If there is no log with a JobID equal to N in the hook log 111, the driver log 112, and the API log 113 in step S1105, the process advances to step S1108. If the job ID equal to N is found in any of the logs in step S1105, the process proceeds to step S1106. Here, for example, in step S1105, N may be set to N by identifying the JobIDs included in the unprocessed log A in ascending order.
[0080]
In step S1106, the job log merge module 116 determines, for each item of the log corresponding to the JobIDN of the log A (job information included in each log acquired for the JobIDN) specified in step S1105, among the items included in the log B. It is determined whether or not there is any item not in the log A. If it is determined in step S1106 that there is no item in the log B that does not exist in the log A, the job log merge module 116 performs the process in step S1108. If it is determined in step S1106 that there is an item in the log B that is not in the log A, the process proceeds to step S1107, and the job log merge module 116 determines an item in the log B that is not in the log A for the job IDN in the log A. To add the data stored in the log A. Here, the processing completion flag of the merge log 127 created by adding the item of the log B to the log A is set to “YES”, and the process proceeds to step S1108. Subsequently, the type item of the merge log is set to “merge”.
[0081]
In step S1104 subsequent to step S1108, if it is determined that the processing has been completed for all JobIDs related to log A, the processing ends.
[0082]
<Operation of the server-side job log merge module>
FIG. 16 is a flowchart illustrating a process of merging logs by the job log merge module 123 and creating a final log 128.
[0083]
In step S1601, the job log merge module 123 searches for an unprocessed merge log, and if so, proceeds to step S1602. If not, the process ends.
[0084]
In step S1602, the job log merge module 123 determines whether the printer has a device log, and if so, proceeds to step S1603. If not, the process proceeds to step S1607.
[0085]
In step S1603, the job log merge module 123 searches the unprocessed device log for a document name item having the same log as the merge log in step S1601 to determine whether there is a log. If it determines that there is, the process proceeds to step S1604. If it is determined that there is no log that is the same as the merge log in step S1601, the process ends. In step S1604, the job log merge module 123 replaces or adds the number of discharged pages and the number of discharged pages of the device log with the merge log.
[0086]
In step S1605, the job log merge module 123 replaces the document name with the original document name. In the example of FIG. 13, “document name: 2001 annual report, original document name: abcd0001”.
[0087]
In step S1606, the job log merge module 123 deletes the original document name of the merge log 127 to make it the final log 128. In step S1607, the job log merge module 123 passes the final log 128 to the job log storage module 124.
[0088]
<Log aggregation and analysis processing>
Next, a log totaling / analyzing process performed by the job log totaling module 125 will be described.
[0089]
FIGS. 18 and 19 are diagrams showing various processes and settings that can be performed on the recorded log information. The "process" menu includes a process of "totaling" the collected print logs and a process of displaying the result of "analysis". The “Settings” menu includes settings for performing “List / Edit” and other “Settings”.
[0090]
The “aggregate” menu in the “process” menu includes a process of displaying the aggregated result using “department / user”, “device”, “paper size”, and “management code” as keys. Here, the management code is a code for managing log information, and is used by a user to freely classify log information. In other words, the user separates the log information into, for example, work units, separately from the user identification information of the user and the department identification information of the department to which the user belongs (these user identification information and department identification information are referred to as user identification information). Has code to manage. Therefore, the user can freely specify to which management code the log information relating to the print processing performed by the user belongs.
[0091]
In the "Analysis" menu in the "Process" menu, the totalization results are analyzed and graphed by "Usage status", "Usage rate by use", "Department / user upper limit", "Management code upper limit", etc. Processing is included.
[0092]
The “list / edit” menu in the “setting” menu includes settings such as “department / user”, “device”, “management code”, and “job history”. The setting for grouping users into departments is made by “department / user”, and the setting for grouping users by management code is made by “management code”.
[0093]
The “Settings” menu in the “Settings” menu includes settings such as “Paper”, “Paper Unit Price”, and “Environment”.
[0094]
FIGS. 20A and 20B are diagrams showing a result of setting “department / user” and “management code” in the “list / edit” menu in the “setting” menu. As shown in FIG. 20A, “development section 1”, “development section 2”, and “development section 3” are defined as sections, and “Suzuki, Saito, Tanaka”, “Takahashi, Yamamoto” are members of each section. "And" Ouchi, Sawaki "are registered as users. Further, as shown in FIG. 20B, three management codes “1001,” “1002,” and “1003” are defined, and as members thereof, “Suzuki, Saito, Tanaka, Takahashi, Yamamoto”, “Ouchi” , Sawaki "and" Takahashi, Yamamoto, Tanaka "are registered. Here, for example, it is assumed that the management code indicates the number of the work unit. It is defined, for example, when work personnel are composed of personnel who cross departments. Here, the members of the management code “1001” are registered with the personnel of “development section 1” and “development section 2” in terms of department, and represent the code numbers of the work performed by the personnel of these two departments. ing. Similarly, the management codes “1002” and “1003” are also composed of personnel beyond the departmental frame. According to FIG. 20B, Mr. Tanaka can use two management codes “1001” and “1003”. In the management code input dialog of FIG. 26, available management codes are displayed, and the user selects and specifies the management code from a list box.
[0095]
FIG. 21 shows an analysis result of the printing process for each department / user. This is displayed by selecting the menu of “processing menu” / “analysis” / “department / user upper limit” in FIG. Here, the number of prints per week and the ratio of the number of prints to the upper limit are displayed for each department / user from 2002/09/29 to 2002/10/27.
[0096]
FIG. 22 is a graph showing the printing status of “Development Section 1 / Mr. Suzuki” in “Department / User” in FIG. 21 for each use date. By displaying the printing status of a specific user in a graph, it is possible to grasp the printing status of the specific user at each time.
[0097]
FIG. 23 shows an analysis result of the printing process for each management code. This is displayed by selecting the menu of “processing menu” / “analysis” / “management code upper limit value” in FIG. In order to perform aggregation and analysis using this management code, it is necessary to determine to which management code the print job is assigned. This is dealt with by displaying a management code input dialog at the time of printing and allowing the user to select and input a management code.
[0098]
The user inputs a management code by selecting and specifying an available management code at the time of printing.
[0099]
The user who has performed the printing does not bear the print job as an expense, but can enter the management code for each work unit, so that the print job can be assigned to the group that should actually own the print job.
[0100]
FIG. 24 is a diagram in which the printing status with respect to the upper limit value of the management code “1001” is analyzed and displayed as a graph. The printing status for each period of the group indicated by the management code “1001” can be specified. Together with the function of FIG. 23, it is possible to clarify the printing situation in units of “management code” expressing a unit of work.
[0101]
The user who performs the printing process is grouped into two attributes, a first (department) and a second (management code), and is different from the user who performed the printing process or the first attribute (department) to which the user belongs. By specifying the second attribute (management code) in the print job at the time of printing, and performing analysis / aggregation display using the second attribute (management code) as a key, the printing status that is more convenient for the printing process is specified. Can be performed. Further, by suppressing printing using the upper limit value based on the second attribute (management code), more flexible print management becomes possible.
[0102]
FIG. 25 is a flowchart of the print suppression processing using the management code. An upper limit is set for each management code, and a limit is imposed on the total number of printed sheets of the group belonging to the management code. This setting can be made in "Setting Menu": "List / Edit"-"Management Code" in FIG. The details of the print suppression processing using the management code will be described with reference to FIGS.
[0103]
When a print instruction is issued, in step S2501, a management code input dialog 2601 shown in FIG. 26 is displayed as a pop-up on a display device (not shown) of each of the client computers 1001 to 1003. Step S2502 is processing for designating a management code in the displayed management code input dialog. From the list of registered management codes, select the management code to be assigned to the print job. If the input (selection and designation of the management code) is not performed, a default management code is designated in step S2504. This default value can be specified in “setting menu”: “setting”-“environment” in FIG. 19 in the combination of the management code and the user registered in the table of FIG.
[0104]
In step S2505, the server computer 2000 checks whether the number of prints of the designated management code has reached the upper limit.
[0105]
If the upper limit has been reached, the server computer 2000 notifies the client computers 1001 to 1003 of the fact. In step S2507, a message is displayed to the user to notify that printing cannot be performed. If the upper limit has not been reached, the flow advances to step S2506 to execute print processing. Step S2508 is processing for updating the total number of printed sheets in the designated management code.
[0106]
In step S2509, the print log and the management code are transmitted to the server computer 2000. As described above, by setting the upper limit of the number of prints for each management code and enabling the printing process to be suppressed, it is possible to save the user's trouble of recounting the number of prints and to provide a more convenient printing suppression function. be able to.
[0107]
Here, in the comparison process between the upper limit of the management code and the number of prints, if the total number of prints of all users having the same management code reaches the upper limit of the management code, printing is suppressed. Alternatively, printing may be suppressed when the number of prints of each user having the same management code reaches the set upper limit of the management code.
[0108]
Further, in the present embodiment, the management code has been described as a code indicating the content of the job, but the meaning of the management code is not limited to this. For example, a code representing the purpose of image formation or the like may be used. That is, the management code can be defined as a code for generating a classification that cannot be separated based on information (a type of a user or an image processing apparatus) included in conventional job information.
[0109]
Further, the user may be able to define a new management code in the client computer. In this case, a table for associating the management code with the user may be newly created in the database shown in FIG.
[0110]
(Other embodiments)
The processing shown in the flowcharts shown in the respective drawings (FIGS. 11, 15, 16, and 25, etc.) in the present embodiment, and the respective modules shown in FIG. 1 are executed by the respective computers by a program installed from the outside. You. In this case, the present invention is applicable even when a group of information including a program is supplied to the client computer from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Things.
[0111]
As described above, the storage medium storing the program codes of the software for realizing the functions of the above-described embodiments is supplied to the system or the apparatus, or is downloaded from an external server (not shown), so that the system or the apparatus is obtained. It is needless to say that the object of the present invention can also be achieved when the computer (or CPU or MPU) reads and executes the program code stored in the storage medium.
[0112]
In this case, the program code itself such as a job account server or a job account client program read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention. Will do. As a storage medium for supplying the program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, DVD, CD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, or the like can be used.
[0113]
When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an OS (Operating System) 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. Further, a program code transmitted from a predetermined external server device (not shown) via a network or read from a storage medium is used for a function expansion board inserted into a computer or a function expansion board connected to a computer. After being written into the memory provided in the unit, the CPU or the like provided in the function expansion board or the function expansion unit performs part or all of the actual processing based on the instruction of the program code, and the processing performs the processing of the above-described embodiment. It goes without saying that the case where the function is realized is included.
[0114]
Hereinafter, embodiments of the present invention will be described.
[0115]
[Embodiment 1]
An information processing client that generates a job for the image processing apparatus and generates job information related to the job;
An information processing server that acquires and records the job information from the information processing client;
An information processing system including
The information processing client,
Display control means for displaying a screen for designating a management code usable by the user in response to a print instruction from the user;
Transmission means for transmitting the management code and the job information input on the screen displayed by the display control means to the information processing server,
Has,
The information processing server,
Acquiring means for acquiring the management code and the job information from the information processing client;
Tabulation means for tabulating the job information based on the management code acquired by the acquisition means,
An information processing system comprising:
[0116]
[Embodiment 2]
The information processing system according to claim 1, wherein the information processing server has means for storing user identification information for identifying the user and the management code in association with each other.
[0117]
[Embodiment 3]
The information processing server,
An upper limit storage unit storing an upper limit of use of the image processing apparatus in association with the management code;
Determining means for determining whether or not the value exceeds the upper limit when the job is executed, based on a result of the counting by the counting means;
Notification means for notifying the information processing client of the determination result of the determination means,
The information processing system according to the first embodiment, comprising:
[0118]
[Embodiment 4]
The aggregation means can aggregate the job information based on the user identification information and the management code,
The information processing server,
Upper limit value storage means storing an upper limit value of use of the image processing apparatus in association with the management code and user identification information,
Determining means for determining whether or not the value exceeds the upper limit when the user executes the job, based on a result of the counting by the counting means;
The information processing system according to the second embodiment, comprising:
[0119]
[Embodiment 5]
The information processing system according to the second embodiment, wherein the counting means can select and count any one of the user identification information and the management code.
[0120]
[Embodiment 6]
An information processing client that generates a job for the image processing apparatus and generates job information related to the job;
An information processing server that acquires and records the job information from the information processing client;
An information processing system including
The information processing client,
Display control means for displaying a screen for designating a management code usable by the user in response to a print instruction from the user;
A transmission unit configured to transmit a management code input on a displayed screen and the job information including user identification information to the information processing server;
Has,
The information processing server,
An acquisition unit configured to acquire the management code and the job information including the user identification information from the information processing client;
Counting means for counting the job information in the management code unit or the user identification information unit in accordance with the specification;
An information processing system comprising:
[0121]
[Embodiment 7]
An information processing apparatus that generates a job for the image processing apparatus and generates job information related to the job,
Display control means for displaying a screen for designating a management code usable by the user in response to a print instruction from the user;
Transmission means for transmitting the management code and the job information input on the screen displayed by the display control means,
An information processing apparatus comprising:
[0122]
[Embodiment 8]
An information processing apparatus that manages job information on a job for an image processing apparatus,
Acquisition means for acquiring a management code and the job information usable by a user,
Tabulation means for tabulating the job information based on the management code,
An information processing apparatus comprising:
[0123]
[Embodiment 9]
An information processing method for managing job information related to a job issued from an information processing apparatus to an image processing apparatus,
In the information processing apparatus, a step of displaying a screen for specifying a management code that can be used by a user for the job;
An acquisition step of acquiring the management code and the job information from the information processing apparatus;
A counting step of counting the job information based on the management code acquired in the acquiring step,
An information processing method comprising:
[0124]
[Embodiment 10]
A program for managing job information related to a job issued from an information processing apparatus to an image processing apparatus,
On the computer,
An acquisition step of acquiring a management code and the job information usable by a user for the job;
A counting step of counting the job information acquired based on the management code;
A program characterized by executing
[0125]
[Embodiment 11]
A computer-readable storage medium storing the program according to claim 10.
[0126]
【The invention's effect】
According to the present invention, by increasing the degree of freedom in analyzing and displaying the printing status, it is possible to reduce the load of the usage status tallying process and to easily and effectively grasp the printing status.
[Brief description of the drawings]
FIG. 1A is a diagram illustrating a configuration of a job account system according to an example of an embodiment of the present invention.
FIG. 1B is a diagram showing a configuration of a job account system showing an example of an embodiment of the present invention.
FIG. 2 is a block diagram showing an example of a configuration of a client computer and a server computer constituting the job account system shown in FIG.
FIG. 3 is a block diagram illustrating an example of a configuration of a printer included in the job account system illustrated in FIG.
FIG. 4 is a diagram illustrating an example of a memory map of the job account system illustrated in FIG.
FIG. 5 is a diagram illustrating a configuration of an FD storing a job account program and related data according to an embodiment of the present invention;
FIG. 6 is an example of an embodiment of the present invention, showing an example of loading a job account program and related data recorded on an FD into a computer system.
FIG. 7 is a diagram illustrating an example of a hook log according to the embodiment of the present invention.
FIG. 8 is a diagram illustrating an example of a driver log according to the embodiment of the present invention.
FIG. 9 is a diagram illustrating an example of an API log according to the embodiment of this invention.
FIG. 10 is a diagram showing an example of a monitor log according to the embodiment of the present invention.
FIG. 11 is a flowchart illustrating an example of a procedure for merging logs according to the embodiment of this invention.
FIG. 12 is a diagram illustrating an example of a merge log according to the embodiment of this invention.
FIG. 13 is a diagram illustrating an example of a device log according to the embodiment of the present invention.
FIG. 14 is a diagram illustrating an example of a device log according to the embodiment of this invention.
FIG. 15 is a flowchart illustrating an example of a procedure for changing a document name according to the embodiment of this invention.
FIG. 16 is a flowchart illustrating an example of a procedure for merging logs and creating a final log according to the embodiment of this invention.
FIG. 17 is a diagram illustrating an example of a final log according to the embodiment of this invention.
FIG. 18 is a diagram illustrating an example of a processing menu according to the embodiment of the present invention.
FIG. 19 is a diagram illustrating an example of a setting menu according to the embodiment of the present invention.
FIG. 20 is a diagram illustrating an example of user registration by a department and user registration by a management code in the embodiment of the present invention.
FIG. 21 is a diagram showing an analysis result of an upper limit value and a printing status using a department / user as a key according to the embodiment of the present invention.
FIG. 22 is a diagram showing an analysis and graph display of a printing status of a specific department / user according to the embodiment of the present invention.
FIG. 23 is a diagram showing an upper limit value using a management code as a key and an analysis result of a printing situation in the embodiment of the present invention.
FIG. 24 is a diagram showing an analysis and graph display of a printing status of a certain management code in the embodiment of the present invention.
FIG. 25 is a flowchart of a print suppression process using a management code according to the embodiment of the present invention.
FIG. 26 is a diagram showing a dialog for inputting a management code at the time of printing according to the embodiment of the present invention.
[Explanation of symbols]
111 Hook log 112 Driver log 113 API log 114 Monitor log 115 Device log 116 Job log merge module 117 Job log transmission module 118 Job account client 121 Job account server 122 Job log reception module 123 Job log merge module 124 Job log recording module 125 Job log Aggregation module 126 ID generation module

Claims (1)

画像処理装置に対するジョブを生成すると共に、該ジョブに関するジョブ情報を生成する情報処理クライアントと、
前記情報処理クライアントから前記ジョブ情報を取得し、記録する情報処理サーバと、
を含む情報処理システムであって、
前記情報処理クライアントは、
ユーザからの印刷指示に応じて、ユーザが使用可能な管理コードを指定するための画面を表示する表示制御手段と、
前記情報処理サーバに対して、前記表示制御手段により表示された画面で入力された前記管理コード及び前記ジョブ情報を送信する送信手段と、
を有し、
前記情報処理サーバは、
前記情報処理クライアントから前記管理コード及び前記ジョブ情報を取得する取得手段と、
前記取得手段で取得された前記管理コードに基づいて前記ジョブ情報を集計する集計手段と、
を有することを特徴とする情報処理システム。
An information processing client that generates a job for the image processing apparatus and generates job information related to the job;
An information processing server that acquires and records the job information from the information processing client;
An information processing system including
The information processing client,
Display control means for displaying a screen for designating a management code usable by the user in response to a print instruction from the user;
Transmission means for transmitting the management code and the job information input on the screen displayed by the display control means, to the information processing server,
Has,
The information processing server,
Acquiring means for acquiring the management code and the job information from the information processing client;
Tabulation means for tabulating the job information based on the management code acquired by the acquisition means,
An information processing system comprising:
JP2002344578A 2002-11-27 2002-11-27 Information processing system Withdrawn JP2004178324A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002344578A JP2004178324A (en) 2002-11-27 2002-11-27 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002344578A JP2004178324A (en) 2002-11-27 2002-11-27 Information processing system

Publications (1)

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

Family

ID=32706020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002344578A Withdrawn JP2004178324A (en) 2002-11-27 2002-11-27 Information processing system

Country Status (1)

Country Link
JP (1) JP2004178324A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117080A (en) * 2006-11-01 2008-05-22 Canon Inc Information processor and its method
EP2634732A1 (en) 2012-03-02 2013-09-04 Ricoh Company, Ltd. Information Processing Method, Information Processor, And Recording Medium
JP2014178802A (en) * 2013-03-14 2014-09-25 Ricoh Co Ltd Information processing device, program, print system, and method
EP4102815A1 (en) 2021-06-07 2022-12-14 Ricoh Company, Ltd. Information processing apparatus, information processing method, and information processing program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117080A (en) * 2006-11-01 2008-05-22 Canon Inc Information processor and its method
EP2634732A1 (en) 2012-03-02 2013-09-04 Ricoh Company, Ltd. Information Processing Method, Information Processor, And Recording Medium
US9420127B2 (en) 2012-03-02 2016-08-16 Ricoh Company, Ltd. Apparatus usage management system and method
US10116835B2 (en) 2012-03-02 2018-10-30 Ricoh Company, Ltd. Information processing apparatus and method that manage log information
US10771654B2 (en) 2012-03-02 2020-09-08 Ricoh Company, Ltd. Information processing apparatus and method using billing destination identification information correlated with user
JP2014178802A (en) * 2013-03-14 2014-09-25 Ricoh Co Ltd Information processing device, program, print system, and method
EP4102815A1 (en) 2021-06-07 2022-12-14 Ricoh Company, Ltd. Information processing apparatus, information processing method, and information processing program

Similar Documents

Publication Publication Date Title
US7636174B2 (en) Job information managing system, job information managing method, program for implementing the method, and storage medium storing the program
JP4636933B2 (en) Print control apparatus and print control method
US9372648B2 (en) Image forming device capable of exchanging print data with another image forming device, and control method and storage medium therefor
US20130163037A1 (en) Job-processing apparatus and a job processing method
US7852502B2 (en) Management system, image processing apparatus and method for acquiring print job history information
JP5834566B2 (en) Information processing apparatus, program, and information display apparatus
JP2004178249A (en) Information processor, information processing method and control program
JP4961317B2 (en) Virtual device management method, management apparatus, and storage medium
EP2892221B1 (en) Information processing system, information processing method, and device
JP4497808B2 (en) Information processing method, information processing server, and program
JP2004005545A (en) Job management apparatus, job management method, control program, and job management system
US8670532B2 (en) Information processing apparatus, property setting method, and storage medium
JP5402344B2 (en) Image processing apparatus, image output management method, and program
JP2014167679A (en) Job execution control system, job execution system, job execution control method and program
JP5969860B2 (en) Document management apparatus, control method thereof, and program
JP4125033B2 (en) Management system, information processing apparatus and management method
JP2004178324A (en) Information processing system
JP2011066551A (en) Apparatus and system for management of equipment, method and program for proposal of improvement, and recording medium with the program recorded thereon
JP4848796B2 (en) Form output device and form output method
US20090064201A1 (en) Image Forming Apparatus, Application Management Method, and Computer-Readable Recording Medium Having Application Management Program
JP4366042B2 (en) Job management apparatus, job management method, and control program
JP3880435B2 (en) Printing system, information processing apparatus, information processing method, and control program
JP3880434B2 (en) Job management system, job management apparatus, data processing apparatus, job management method, data processing method, and control program
JP2015184835A (en) log information collection device, method, and program
JP2002149375A (en) Image processor and system for image processing

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