(57)【要約】    【課題】  一定時間印刷がない場合や外部装置の状態に異常がみられた場合の状況を複数の診断方法で把握することができ、ジョブ情報の管理、取得のみならずデバイスの情報も取得することができ、それにより、より厳密なジョブアカウントを行うことができるジョブ管理装置、ジョブ管理方法、及びジョブ管理用プログラムを提供する。    【解決手段】  ジョブ管理装置のＣＰＵが周辺機器から受信したジョブ情報の中に未処理のジョブ情報が含まれているか否かを検出し、複数のプロトコルを使用することにより、該検出された未処理のジョブ情報に対応する周辺機器の異常を検知し、該検知された異常に対応する処理を実行する。異常に対応する処理の内容は、処理テーブルとしてハードディスク装置又はＲＡＭに格納されている。【選択図】      図９
2005135171.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続可能な外部装置と当該ネットワークを介して接続されると共に複数のプロトコルを有するジョブ管理装置において、
前記外部装置からジョブ情報を受信する受信手段と、
該受信されたジョブ情報の中に未処理のジョブ情報が含まれているか否かを検出する検出手段と、
前記複数のプロトコルを使用することにより、該検出された未処理のジョブ情報に対応する外部装置の異常を検知する異常検知手段と、
該検知された異常に対応する処理を実行する異常対応処理実行手段と
を備えることを特徴とするジョブ管理装置。
【請求項２】
前記異常対応処理実行手段は異常がある旨を通知する通知手段を備えることを特徴とする請求項１記載のジョブ管理装置。
【請求項３】
前記異常対応処理実行手段により実行された処理結果を記憶する記憶手段を備えることを特徴とする請求項１又は２記載のジョブ管理装置。
【請求項４】
前記外部装置は、異常が発生したときに自己復旧処理を実行する自己復旧処理実行手段を備え、前記異常対応処理実行手段は、前記自己復旧処理を実行させるための実行コマンドを前記外部装置に送信する実行コマンド送信手段を備えることを特徴とする請求項１乃至３のいずれか１項記載のジョブ管理装置。
【請求項５】
前記ジョブ管理装置が画像形成装置であることを特徴とする請求項１乃至４のいずれか１項記載のジョブ管理装置。
【請求項６】
ネットワークに接続可能な外部装置と当該ネットワークを介して接続されると共に複数のプロトコルを有するジョブ管理装置におけるジョブ管理方法において、
前記外部装置からジョブ情報を受信する受信工程と、
該受信されたジョブ情報の中に未処理のジョブ情報が含まれているか否かを検出する検出工程と、
前記複数のプロトコルを使用することにより、該検出された未処理のジョブ情報に対応する外部装置の異常を検知する異常検知工程と、
該検知された異常に対応する処理を実行する異常対応処理実行工程と
を備えることを特徴とするジョブ管理装置におけるジョブ管理方法。
【請求項７】
ネットワークに接続可能な外部装置と当該ネットワークを介して接続されると共に複数のプロトコルを有するジョブ管理装置に実行されるジョブ管理用プログラムにおいて、
前記外部装置からジョブ情報を受信する受信モジュールと、
該受信されたジョブ情報の中に未処理のジョブ情報が含まれているか否かを検出する検出モジュールと、
前記複数のプロトコルを使用することにより、該検出された未処理のジョブ情報に対応する外部装置の異常を検知する異常検知モジュールと、
該検知された異常に対応する処理を実行する異常対応処理実行モジュールと
を備えることを特徴とするジョブ管理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントコンピュータやサーバコンピュータを備えるネットワークに接続されるジョブ管理装置に関し、特に、ユーザが、そのネットワークに接続されたプリンタ（印刷装置）、スキャナ、複写機、及びこれらを統合したマルチファンクション機器（ＭＦＰ）等の周辺機器を使用したときに、ジョブ情報を取得し、管理するジョブ管理装置に関する。
【背景技術】
【０００２】
図１３は、従来のジョブ管理装置を含むジョブアカウントシステムの構成図である。
【０００３】
同図において、１０１及び１０２は、クライアントコンピュータである。１００は、ジョブ管理装置としてのサーバコンピュータである。１０３はプリンタである。クライアントコンピュータ１０１，１０２、サーバコンピュータ１００、プリンタ１０３は、ネットワーク１０５を介して他の装置と通信を行うことができる。
【０００４】
クライアントコンピュータ１０１は、アプリケーション１０１ａ、ＧＤＩ１０１ｂ、スプーラ１０１ｄ及びジョブアカウントクライアントアプリケーション１０１ｃを備えており、クライアントコンピュータ１０２は、アプリケーション１０２ａ、ＧＤＩ１０２ｂ、スプーラ１０２ｄ及びジョブアカウントクライアントアプリケーション１０２ｃを備えており、サーバコンピュータ１００は、ジョブアカウントサーバアプリケーション１００ａを備えている。
【０００５】
クライアントコンピュータ１０１とクライアントコンピュータ１０２では、異なるオペレーションシステム（ＯＳ）が動作しており、それぞれのクライアントコンピュータで動作しているＯＳをそれぞれＯＳ１、ＯＳ２とする。
【０００６】
クライアントコンピュータ１０１において、アプリケーション１０１ａは、ＯＳのＧＤＩ１０１ｂ（ＯＳ１の中でグラフィック描画を行うシステム）に対して、ＡＰＩ（アプリケーションプログラミングインターフェース）を呼び出す。ジョブアカウンティングクライアントアプリケーション１０１ｃは、そのＡＰＩを監視して（フックして）、改ページや排紙を指示するＡＰＩを何度呼び出したかをカウントすることにより、アプリケーションが発行したジョブの排紙枚数やページ枚数を取得する。ＧＤＩ１０１ｂは、生成した印刷データをスプーラ１０１ｄに転送して、蓄積させる。スプーラ１０１ｄは、プリンタ１０３の状態を監視ししながら、ネットワーク１０５を介して印刷データをプリンタ１０３に送信する。
【０００７】
また、アプリケーション１０１ａ又はアプリケーション１０２ａが、ＧＤＩ１０１ｂ又はＧＤＩ１０２ｂに対してＡＰＩを呼び出して印刷ジョブを発行すると、ＧＤＩ１０１ｂ又はＧＤＩ１０２ｂはアプリケーションが呼び出したＡＰＩを印刷データに変換して、その印刷データをスプーラ１０２ｄに転送して蓄積させる。スプーラ１００２ｄは、プリンタ１０３の状態を監視して、プリンタ１０３がレディー状態であればネットワーク１０５を介して印刷データをプリンタ１０３に送信する。
【０００８】
ジョブアカウンティングクライアントアプリケーション１０２ｃは、定期的にスプーラ１０２ｄを監視して、スプーラ１０２ｄに蓄積されている印刷データがあれば（つまり、その印刷データに係る印刷ジョブがあれば）、その印刷ジョブの情報をＡＰＩを呼び出して取得することにより、その印刷ジョブの排紙枚数又はページ数を取得する。
【０００９】
この従来のジョブ管理装置を含むジョブアカウントシステムでは、ネットワークに接続された周辺機器は各ユーザの判断によって利用されていた。
【００１０】
また、周辺機器の利用に対して制限が設けられる場合、管理者が周辺機器の利用状況を把握し、その利用状況に応じて制限を算定し、その制限をユーザに申告していた。
【００１１】
また、従来より、ジョブ番号と、送受信履歴、相手先情報とを関連付け、種々のプロトコル毎に、統一的に記憶する通信履歴記憶手段と、該通信履歴記憶手段に記憶されている相手先情報を一覧表示する相手先情報表示手段を有する画像通信装置が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００２−０８４３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記従来のジョブ管理装置では、管理者が周辺機器の管理を行うときに、使用者別に、又は該周辺機器の有する機能種類別に、該周辺機器の利用状況を把握することが困難であった。特に、一定時間印刷がない場合や周辺機器の状態に異常がみられた場合の状況を把握することが困難であった。
【００１３】
また、上記特許文献１の画像通信装置では、プロトコル毎に通信履歴を記憶しておくことができるが、プロトコルを変化させることにより、ジョブの処理が終了したか否かの判断や異常のあるデバイスの検知などを実行することができなかった。
【００１４】
本発明は、かかる問題点を鑑みてなされたものであり、一定時間印刷がない場合や外部装置の状態に異常がみられた場合の状況を複数の診断方法で把握することができ、ジョブ情報の管理、取得のみならずデバイスの情報も取得することができ、それにより、より厳密なジョブアカウントを行うことができるジョブ管理装置、ジョブ管理方法、及びジョブ管理用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、請求項１のジョブ管理装置は、ネットワークに接続可能な外部装置と当該ネットワークを介して接続されると共に複数のプロトコルを有するジョブ管理装置において、前記外部装置からジョブ情報を受信する受信手段と、該受信されたジョブ情報の中に未処理のジョブ情報が含まれているか否かを検出する検出手段と、前記複数のプロトコルを使用することにより、該検出された未処理のジョブ情報に対応する外部装置の異常を検知する異常検知手段と、該検知された異常に対応する処理を実行する異常対応処理実行手段とを備えることを特徴とする。
【００１６】
請求項２のジョブ管理装置は、請求項１記載のジョブ管理装置において、前記異常対応処理実行手段は異常がある旨を通知する通知手段を備えることを特徴とする。
【００１７】
請求項３のジョブ管理装置は、請求項１又は２記載のジョブ管理装置において、前記異常対応処理実行手段により実行された処理結果を記憶する記憶手段を備えることを特徴とする。
【００１８】
請求項４のジョブ管理装置は、請求項１乃至３のいずれか１項記載のジョブ管理装置において、前記外部装置は、異常が発生したときに自己復旧処理を実行する自己復旧処理実行手段を備え、前記異常対応処理実行手段は、前記自己復旧処理を実行させるための実行コマンドを前記外部装置に送信する実行コマンド送信手段を備えることを特徴とする。
【００１９】
請求項５のジョブ管理装置は、請求項１乃至４のいずれか１項記載のジョブ管理装置において、前記ジョブ管理装置が画像形成装置であることを特徴とする。
【００２０】
請求項６のジョブ管理方法は、ネットワークに接続可能な外部装置と当該ネットワークを介して接続されると共に複数のプロトコルを有するジョブ管理装置におけるジョブ管理方法において、前記外部装置からジョブ情報を受信する受信工程と、該受信されたジョブ情報の中に未処理のジョブ情報が含まれているか否かを検出する検出工程と、前記複数のプロトコルを使用することにより、該検出された未処理のジョブ情報に対応する外部装置の異常を検知する異常検知工程と、該検知された異常に対応する処理を実行する異常対応処理実行工程とを備えることを特徴とする。
【００２１】
請求項７のジョブ管理用プログラムは、ネットワークに接続可能な外部装置と当該ネットワークを介して接続されると共に複数のプロトコルを有するジョブ管理装置に実行されるジョブ管理用プログラムにおいて、前記外部装置からジョブ情報を受信する受信モジュールと、該受信されたジョブ情報の中に未処理のジョブ情報が含まれているか否かを検出する検出モジュールと、前記複数のプロトコルを使用することにより、該検出された未処理のジョブ情報に対応する外部装置の異常を検知する異常検知モジュールと、該検知された異常に対応する処理を実行する異常対応処理実行モジュールとを備えることを特徴とする。
【発明の効果】
【００２２】
請求項１，６，７に係る発明によれば、外部装置から受信したジョブ情報の中に未処理のジョブ情報が含まれているか否かが検出され、複数のプロトコルを使用することにより、該検出された未処理のジョブ情報に対応する外部装置の異常が検知され、該検知された異常に対応する処理が実行されるので、一定時間印刷がない場合や外部装置の状態に異常がみられた場合の状況を複数の診断方法で把握することができ、ジョブ情報の管理、取得のみならずデバイスの情報も取得することができ、それにより、より厳密なジョブアカウントを行うことができる。
【００２３】
請求項２に係る発明によれば、ユーザや管理者はより早く外部装置の異常を知ることができる。
【００２４】
請求項３に係る発明によれば、異常対応処理実行手段により実行された処理結果が記憶されるので、異常に対応する処理内容をより適切なものに更新することができる。
【００２５】
請求項４に係る発明によれば、外部装置はユーザやサービスマンの手を煩わせることなく、故障を自己復旧することができる。
【００２６】
請求項５に係る発明によれば、ジョブ管理装置としてのサーバコンピュータを新たに設ける必要がなく、低コストのジョブアカウントシステムの構築が可能となる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態を、図面を参照しつつ説明する。
【００２８】
図１は、本発明の実施の形態に係るジョブ管理装置を含むジョブアカウントシステムの構成図である。
【００２９】
同図において、１１０及び１２０は、クライアントコンピュータである。１３０は、ジョブ管理装置としてのサーバコンピュータである。１４０はプリンタである。プリンタ１４０は、印刷履歴を保持する機能（印刷履歴保持機能）を備えている。１５０はＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｉｒｎｔｅｒ）である。ＭＦＰ１５０は、プリンタ機能、コピー機能、スキャナ機能、印刷履歴保持機能を備えている。１６０は、印刷履歴保持機能を備えていないプリンタである。クライアントコンピュータ１１０，１２０、サーバコンピュータ１３０、プリンタ１４０，１６０、及びＭＦＰ１５０は、ネットワーク１７０を介して他の装置と通信を行うことができる。
【００３０】
クライアントコンピュータ１１０は、アプリケーション１１１、ＧＤＩ１１２、スプーラ１１３及びジョブアカウントクライアントアプリケーション１１４を備えており、クライアントコンピュータ１２０は、アプリケーション１２１、ＧＤＩ１２２、スプーラ１２３及びジョブアカウントクライアントアプリケーション１２４を備えており、サーバコンピュータ１３０は、ジョブアカウントサーバアプリケーション１３１を備えている。
【００３１】
クライアントコンピュータ１１０において、アプリケーション１１１がＧＤＩ１１２を呼び出すことにより、ＧＤＩ１１２は、アプリケーション１１１からの指示に応じて印刷データを生成し、その印刷データをスプーラ１１３に送信する。ジョブアカウントクライアントアプリケーション１１４は、アプリケーション１１１がＧＤＩ１１２を呼び出すのを監視（フック）して、その印刷データに係るジョブの情報を蓄積する。スプーラ１１３は、ネットワークを介して周辺機器（具体的にはプリンタ１４０、ＭＦＰ１５０又はプリンタ１６０）と通信し、周辺機器がレディ状態であれば印刷データを送信する。ジョブアカウントクライアントアプリケーション１１４は、ジョブアカウントサーバアプリケーション１３１に、定期的に蓄積したジョブ情報を送信する（図１の１１７参照）。
【００３２】
クライアントコンピュータ１２０がプリントサーバとして機能している場合には、ＧＤＩ１１２が生成した印刷データはスプーラ１２３に送信される。
【００３３】
クライアントコンピュータ１２０において、アプリケーション１２１、ＧＤＩ１２２、スプーラ１２３は、それぞれ上記アプリケーション１１０、ＧＤＩ１１２、スプーラ１１３と同じ動きをする。ジョブアカウントクライアントアプリケーション１２４は、定期的にスプーラ１２３を監視する。スプーラ１２３にスプールされている印刷ジョブがあれば、ジョブアカウントクライアントコンピュータ１０２４はＡＰＩ（Application Program Interface）を用いてその印刷ジョブの情報を取得する。具体的には、印刷ジョブの排紙枚数やページ数を取得する。そして、ジョブアカウントクライアントアプリケーション１２４は、蓄積したジョブ情報をジョブアカウントサーバアプリケーション１３１に送信する（図１の１２７参照）。
【００３４】
ジョブアカウントクライアントアプリケーション１２４が定期的にスプーラ１２３を監視しなくても、ＯＳがスプーラ１２３の状態が変化したことを他のアプリケーションに伝える機能を備えていればよい。印刷ジョブがスプーラ１２３にスプールされたことをＯＳがジョブアカウントクライアントアプリケーション１２４に伝えればよい。
【００３５】
サーバコンピュータ１３０において、ジョブアカウントサーバアプリケーション１３１は、ジョブアカウントクライアントアプリケーション１１４及び１２４からジョブ情報を受信し、後述する図２のＨＤ２０６等の不揮発性記憶装置にジョブ情報を格納する。更に、ジョブアカウントサーバアプリケーション１３１は、ネットワークに接続された周辺機器それぞれがジョブ履歴保持機能を有しているか否かを調査する。そして、ジョブ履歴保持機能を有する周辺機器からジョブ履歴（ジョブ情報）を取得する（図１の１４１，１５１参照）。
【００３６】
図２は、図１のサーバコンピュータ１３０のハードウエア構成を示すブロック図である。
【００３７】
同図において、２０１は、ＣＰＵ（中央処理装置）である。ＣＰＵ２０１は、このコンピュータ装置全体の制御や演算処理などを行う。２０２は、ＲＯＭ（読み出し専用メモリ）である。ＲＯＭ２０２は、システム起動プログラムの情報などが格納されている記憶領域となっている。２０３は、ＲＡＭ（ランダムアクセスメモリ）である。ＲＡＭ２０３は、使用制限のないデータ記憶領域となっている。オペレーティングシステム（ＯＳ）、アプリケーションプログラム、デバイスドライバ（プリンタドライバ）、通信制御用のプログラムなどはＲＡＭ２０３にロードされて、ＣＰＵ２０１によって実行される。
【００３８】
２０４は、ＫＢＣ（キーボード制御部）である。ＫＢＣ２０４は、コンピュータに付属のキーボードから入力データを受け取り、ＣＰＵ２０１へ入力データを伝達する。２０５は、ＣＲＴ（ディスプレイ制御部）であり、不図示のディスプレイ装置に対する表示制御を行う。２０６は、ＨＤ（ハードディスク装置）である。なお、ＨＤ２０６は、他にも、ＦＤ（フロッピー（登録商標）ディスク装置）、ＳＲＡＭ（不揮発性記憶メモリ）などの外部記憶装置に代替可能である。ＨＤ２０６はプログラム及びデータを記憶し、これらプログラム及びデータは必要に応じてＲＡＭ２０３へロードされる。
【００３９】
２０７は、通信部であり、ネットワーク通信を制御する。この通信部２０７により、コンピュータは、ネットワークに接続されている他のコンピュータや周辺機器と通信することが可能となる。２０８は、システムバスである。上記の構成要素間でやり取りされるデータは、このシステムバス２０８を通る。
【００４０】
クライアントコンピュータ１１０，１２０のハードウエア構成は、上記クライアントコンピュータ１１０のハードウエア構成と同様であるので、その説明は省略する。
【００４１】
図３は、本発明に係るジョブ管理用プログラムがＲＡＭ２０３にロードされ、ＣＰＵ２０１により実行可能となった状態でのメモリマップを示す図である。
【００４２】
同図において、３０１は、基本Ｉ／Ｏプログラムである。３０２は、ウィンドウシステムなどのオペレーティングシステムである。３０３は、本発明に係るジョブ管理用プログラムであり、３０４は、関連データである。３０５は、ＣＰＵ２０１がプログラムを実行するときに使用するワークエリアである。本発明に係るジョブ管理用プログラム及び関連データは、フロッピー（登録商標）ディスク（ＦＤ）やＣＤ−ＲＯＭ中に記憶され、そこからコンピュータに供給される。
【００４３】
図４は、本発明に係るジョブ管理用プログラム及び関連データがＦＤやＣＤ−ＲＯＭに格納されている状態でのメモリマップを示す図である。ＦＤやＣＤ−ＲＯＭの記憶領域４００は、関連データとしてのボリューム情報４０１、関連データとしてのディレクトリ情報４０２、本発明に係るジョブ管理用プログラムの実行ファイル（アプリケーション実行ファイル）４０３、関連データとしてのジョブアカウントの関連データファイル４０４から構成される。
【００４４】
図５は、周辺機器としてのＭＦＰ１５０のハードウエア構成を示すブロック図である。
【００４５】
同図において、６０５は、周辺機器全体を制御するコントローラ部である。コントローラ部６０５は、ＣＰＵ６０１、ＲＯＭ６０２、ＲＡＭ６０３及びＨＤ６０４から構成されている。
【００４６】
ＣＰＵ６０１は、コントローラ部６０５を含む周辺機器全体の制御や演算処理などを行う。ＲＯＭ６０２は、読み出し専用メモリで、システム起動プログラムなどを記憶する記憶領域である。ＲＡＭ６０３は、ランダムアクセスメモリで、データ記憶領域である。ＨＤ６０４は、ハードディスクであり、ＳＲＡＭなどの他の不揮発性記憶装置に代替可能である。ジョブ履歴保持機能を有する周辺機器は、ジョブ履歴をＲＡＭ６０３又はＨＤ６０４に格納している。また、オペレーティングシステム、通信制御用のプログラム及びエンジン制御用のプログラムは、ＲＡＭ６０３にロードされて、ＣＰＵ６０１によって実行される。６０６は、周辺機器のエンジン部であり、コントローラ部６０５の制御の下、印刷動作や画像読み取り動作を行う。エンジン部６０６は、具体的には、プリンタエンジン又はスキャナエンジン、若しくはその両方から構成される。６０７は、通信部であり、ネットワーク通信を制御するものである。この通信部６０７によって、周辺機器はクライアントコンピュータやサーバコンピュータと通信が可能となる。６０８はシステムバスである。上記の構成要素間でやり取りされるデータは、このシステムバス６０８を通る。
【００４７】
図６は、図１のジョブアカウントサーバアプリケーション１３１を実行するハードウエア構成を示すブロック図である。
【００４８】
サーバコンピュータ１３０は、通信部２０７からなるジョブ情報受信部７０１、ＣＰＵ２０１からなるジョブ情報登録部７０２及びＨＤ２０８からなるジョブ履歴データベース７０３を備えており、これらの構成要素でジョブアカウントサーバアプリケーション１３１の機能を実現する。
【００４９】
ジョブ情報受信部７０１は、ジョブアカウントクライアントアプリケーション１１４，１２４及びジョブ履歴保持機能を有する周辺機器１４０，１５０から、ネットワーク１７０を介してジョブ情報を取得する。ジョブ情報登録部７０２は、ジョブ情報受信部７０１が受信したジョブ情報をジョブ履歴データベース７０３に登録する。
【００５０】
本ジョブアカウントシステムでは、ジョブ履歴データベース７０３のデータを参照することにより、いつ、誰が、どの周辺機器で、どれくらいの量の（ページ数、排紙枚数、用紙タイプ）ジョブを実行したかが判別され、詳細なジョブアカウントが行われる。
【００５１】
図７は、図６のジョブ履歴データベース７０３に登録されている１つのジョブ情報の構成を示す図である。
【００５２】
ジョブ履歴データベース７０３は、項目とその項目の内容から構成される。同図において、項目１２０１は、ジョブの出力デバイス、つまり、そのジョブがどの周辺機器で処理されたかを示す。なお、排紙を伴わないジョブの場合、ファイル名であること（原稿のスキャニング）、ファックス送信であること、又はその他の排紙を伴わないジョブであることを示す。項目１２０２は、ジョブ情報の取得方法を示す。ジョブ情報の取得方法には、フックからの取得、スプーラからの取得又はジョブ履歴保持機能からの取得がある。項目１２０３は、ジョブの開始時刻又は終了時刻を示す。項目１２０４は、排紙された用紙のタイプを示す。項目１２０５は、出力されたページ数を示す。項目１２０６は、排紙された枚数を示す。項目１２０７は、ジョブが、クライアントコンピュータから共有化されたプリンタに投入されたか否かを示す。項目１２０８は、ジョブの発行者のユーザ名を示す。
【００５３】
図８は、図１のジョブアカウントサーバアプリケーション１３１を実行するハードウエア構成を示すブロック図である。図７は、ジョブ情報に関するハードウエア構成を示したが、図８は、デバイス情報に関するハードウエア構成を示す。
【００５４】
サーバコンピュータ１３０は、通信部２０７からなるデバイス情報受信部８０１、ＣＰＵ２０１からなるデバイス情報登録部８０２及びＨＤ２０８からなるデバイス履歴データベース８０３を備えており、これらの構成要素でジョブアカウントサーバアプリケーション１３１の機能を実現する。
【００５５】
デバイス情報受信部８０１は、ジョブアカウントクライアントアプリケーション１１４，１２４、及びジョブ履歴保持機能を有する周辺機器１４０，１５０から、ネットワーク１００１を介してデバイス情報を取得する。また、デバイスと通信を行うことによりデバイスの通信状態に関する情報を得る。デバイス情報登録部８０２は、デバイス情報受信部８０１が受信したデバイス情報をデバイス履歴データベース８０３に登録する。デバイス情報受信部８０１、デバイス情報登録部８０２及びデバイス履歴データベース８０３は、ジョブ情報受信部７０１、ジョブ情報登録部７０２及びジョブデバイス履歴データベース７０３と多くの類似点を持つ。そのため、ジョブ情報受信部７０１とデバイス情報受信部８０１、ジョブ情報登録部７０２とデバイス情報登録部８０２、ジョブデバイス履歴データベース７０３とデバイス履歴データベース８０３はそれぞれ統一した形体をとることも可能である。
【００５６】
本ジョブアカウントシステムでは、デバイス履歴データベース８０３のデータを参照することにより、デバイスの状態（印字された最新の時間、通信エラーログ、現在のステータス）を得ることができ、より効率のよいデバイス運用が可能である。
【００５７】
図９は、図１のサーバコンピュータ１３０における自己診断機能の処理の一例を示すフローチャートである。より具体的には、ジョブ登録部７０２が、ジョブ受信部７０１が受信したジョブ情報をジョブ履歴データベース７０３に登録するときの処理を示すフローチャートである。本処理は主としてＣＰＵ２０１からなるジョブ登録部７０２が実行する。
【００５８】
まず、未処理のジョブ情報がジョブ受信部７０１にあるか否かを判別する（ステップＳ９０１）。未処理のジョブ情報がなければ後述するステップＳ９０９の処理を行う。
【００５９】
一方、未処理のジョブ情報がある場合には、ジョブ受信部７０１からジョブ情報を取得する（ステップＳ９０２）。次に、取得したジョブ情報がジョブが排紙を伴ったことを示しているか否かを判別する（ステップＳ９０３）。ジョブが排紙を伴わないものである場合には、ステップＳ９０１に戻る一方、ジョブが排紙を伴うものである場合には、ジョブ情報が周辺機器から取得されたものであるか否かを判別する（ステップＳ９０４）。
【００６０】
ステップＳ９０４の判別の結果、ジョブ情報が周辺機器から取得されたものである場合には、ジョブ情報をジョブ履歴データベース７０３に登録し（ステップＳ９０８）、ステップＳ９０１に戻る。一方、ステップＳ９０４の判別の結果、ジョブ情報が周辺機器から取得されたものでない場合には、ジョブ情報がフックにより取得されたものであるか否かを判別する（ステップＳ９０５）。なお、フックで取得されたものであるかを判定する方法の１つとして、ジョブ情報がどのＯＳで取得されたものであるかを判定する方法がある。ＯＳの種類によって、ジョブ情報がフックで取得されたかどうかが判定可能だからである。例えば、クライアントコンピュータ１１０ではＯＳ１が使用され、クライアントコンピュータ１２０では、ＯＳ２が使用されている場合、ジョブ情報がＯＳ１で取得されたものであれば、そのジョブ情報はフックで取得されたものである。また、ジョブ情報がＯＳ２で取得されたものであれば、スプーラ１２３から取得されたものである。
【００６１】
ステップＳ９０５の判別の結果、ジョブ情報がフックにより取得されたものでない場合には、ステップＳ９０８に進む。ただし、ジョブ情報がフックにより取得されたものであっても、ジョブの出力先がジョブ履歴保持機能を持っている周辺機器である場合には、ステップＳ９０８に進む。
【００６２】
ステップＳ９０５の判別の結果、ジョブ情報がフックにより取得されたものである場合には、ジョブ情報に係るジョブの出力先が共有化されたプリンタであるか否かを判別する（ステップＳ９０６）。ジョブ情報に係るジョブの出力先が共有化されたプリンタでない場合には、ステップＳ９０８に進む。ただし、ジョブ情報に係るジョブの出力先が共有化されたプリンタでなくても、ジョブの出力先がジョブ履歴保持機能を持っている周辺機器である場合にはステップＳ９０８に進む。
【００６３】
ステップＳ９０６の判別の結果、ジョブ情報に係るジョブの出力先が共有化されたプリンタである場合には、共有化されたプリンタを管理しているクライアントコンピュータ（例えば、クライアントコンピュータ１２０）のスプーラからジョブ情報が取得されているか否かを判別する（ステップＳ９０７）。
【００６４】
ステップＳ９０７の判別の結果、ジョブ情報がスプーラから取得されていない場合には、ステップＳ９０８に進む一方、ジョブ情報がスプーラから取得されている場合には、ステップＳ９０１に戻る。ただし、ジョブ情報がスプーラから取得されていなくても、ジョブの出力先がジョブ履歴保持機能を持っている周辺機器である場合にはステップＳ９０８に進む。
【００６５】
上記ステップＳ９０１において、未処理のジョブ情報がない場合には、ジョブ履歴データベース７０３上から一定期間ログのあがっていないデバイスを列挙する（ステップＳ９０９）。上記一定期間は、使用者又は管理者が任意に設定できる。一定期間ログのあがっていないデバイスがあれば、ジョブ履歴データベース７０３から対象となるデバイス情報を取得する。
【００６６】
次に、一定期間ログのあがっていないデバイスがあるか否かを判別する（ステップＳ９１０）。一定期間ログのあがっていないデバイスがない場合には、ステップＳ９０１に戻る。一方、一定期間ログのあがっていないデバイスがある場合には、ステップＳ９１１、ステップＳ９１２及びステップＳ９１３の処理に進む。
【００６７】
図１０は、一定期間ログのあがっていないデバイスがある場合に、サーバコンピュータ１３０が実行する処理を示すフローチャートであり、（Ａ）は図９のステップＳ９１１の処理内容を示し、（Ｂ）は図９のステップＳ９１２の処理内容を示し、（Ｃ）は図９のステップＳ９１３の処理内容を示す図である。本実施の形態では、処理はステップＳ９１１→ステップＳ９１２→ステップＳ９１３の順番で進むことを想定しているが、ステップＳ９１２→ステップＳ９１１→ステップＳ９１３の順番で処理を実行したり、ステップＳ９１３→ステップＳ９１１→ステップＳ９１２の順番で処理を実行してもよい。つまり、処理の順番は限定されるものではない。
【００６８】
サーバコンピュータ１３０のＣＰＵ２０１で実行される処理は、図９のステップＳ９１１から図１０のステップＳ１００１に進む。
【００６９】
そして、一定期間ログのあがっていないデバイスに対しＩＣＭＰ（Internet Control Message Protocol）によるｐｉｎｇ（Packet Inter Network Groper）コマンドを送信し、当該デバイスの通信状態を把握し（ステップＳ１００１）、ｐｉｎｇコマンドによる返信の有無の結果をデバイス履歴データベース８０３に記録し（ステップＳ１００２）、ステップＳ９１２（ステップＳ１００３）へと進む。次に、一定期間ログのあがっていないデバイスに対し、ＳＮＭＰ（Simple Network Management Protocol）によるＭＩＢ（Management Information Base）通信を行い（ステップＳ１００３）、ＭＩＢ通信の結果をデバイス履歴データベース８０３に記録し（ステップＳ１００４）、ステップＳ９１３（ステップＳ１００５）へと進む。次いで、所定の、ＳＮＭＰとは別のポート経由でオフィス機器統一制御プロトコル（以下、「プロトコルＸ」という）によるエコー通信を行い（ステップＳ１００５）、その結果をデバイス履歴データベース８０３に記録し（ステップＳ１００６）、図９のステップＳ９１４へと進む。ここで、プロトコルＸは、プリンタ、ファクシミリ、複写機、もしくはこれらの複合機を含む様々なオフィス機器と双方向のパケット通信を行ってステータス取得や機器制御、ジョブ管理などを行う管理する統合機器管理プロトコルであって、ＳＮＭＰとは別のポートを介してエコー通信を行うことができるプロトコルである。
【００７０】
図１０のステップＳ１００２、ステップＳ１００４及びステップＳ１００６で記憶した結果をデバイス履歴データベース８０３より参照し、異常があるか否かの判定を行う（ステップＳ９１４）。判定の基準はあらかじめ設定しておく。判定の結果、異常がなければ、ステップＳ９０１へ戻る。
【００７１】
ステップＳ９１４の判定の結果、異常がある場合には、予め任意の手段で設定された処理を決定する（ステップＳ９１５）。任意の手段とは、処理テーブルやIniファイルのことを指し、ソフトウェア技術の汎用的な手法のことをいう。上記処理の内容を記述した処理テーブルの例を図１１に示す。
【００７２】
図１１は、図１０の処理結果に基づいてサーバコンピュータ１３０のＣＰＵ２０１が実行する処理テーブルの一例を示す図である。
【００７３】
同図において、処理Ａは図９のステップＳ９１１、処理Ｂは図９のステップＳ９１２、処理Ｃは図９のステップＳ９１３を行った結果、すなわち図１０のステップＳ１００２，Ｓ１００４，Ｓ１００６でデバイス履歴データベース８０３が記録しているデータを示す。
【００７４】
デバイス履歴データベース８０３が記録しているデータは、キャッシュメモリなどの利用によって必ずしもデバイス履歴データベース８０３から呼び出す必要はない。ステップＳ１００２，Ｓ１００４，Ｓ１００６で記憶するデータは様々な種類が想定されるが、ここでは単純にステップＳ１００１，ステップＳ１００３，ステップＳ１００５の通信で、応答があれば「○」というデータ、応答（通信）がなかった場合は「×」というデータを保持することにする。
【００７５】
図１１の処理テーブルにおいて、処理Ａ、処理Ｂ、処理Ｃのすべてが「×」である場合に、ＭＡＣアドレスコンフィグレーションパケットを対象のデバイスで実行する。処理Ａが○、処理Ｂが×、処理Ｃが×である場合と、処理Ａが○、処理Ｂが○、処理Ｃが×である場合には、サーバコンピュータ１３０のＣＰＵ２０１が、クライアントコンピュータ１１０，１２０又はサーバコンピュータ１３０のディスプレイ装置に異常がある旨を表示することにより、管理者又はユーザに対して異常の通知を行う。処理Ａが○、処理Ｂが×、処理Ｃが○である場合には、サーバコンピュータ１３０のＣＰＵ２０１が、プロトコルＸを利用して対象のデバイスのリセット処理を行う。このときに、対象のデバイスにさらに通知を行うようにしてもよい。処理Ａが○、処理Ｂが○、処理Ｃが○である場合には、正常動作中とみなし、クライアントコンピュータ１１０，１２０又はサーバコンピュータ１３０のディスプレイ装置に対象のデバイスが正常動作中である旨を表示することにより、管理者又はユーザに対して対象のデバイスが正常動作中である旨を通知をする又は何の処理も行わない。また、上記以外の場合（通常考えにくい症例）も考慮し、上記以外の組み合わせの場合は、クライアントコンピュータ１１０，１２０又はサーバコンピュータ１３０のディスプレイ装置に対象のデバイスが異常である旨を表示することにより、管理者又はユーザに対して対象のデバイスに異常があることを通知する。
【００７６】
次に、図１１の処理テーブルに基づいて実行された処理の結果をデバイス情報記録部８０３に記録する（ステップＳ９１６）。これにより、異常に対応する処理内容をより適切なものに更新することができる。次いで、デバイス情報記録部８０３に記録した情報を呼び出し、必要である場合はユーザや管理者に通知などの処理を行い（ステップＳ９１７）、ステップＳ９０１に戻る。ステップＳ９１７で実行される通知処理は、クライアントコンピュータ１１０，１２０又はサーバコンピュータ１３０のディスプレイ装置上にメッセージダイアログの表示すること、電子メールなどの汎用手段を用いて、ユーザや管理者へ通信を行うこと、又はプリンタ１４０、ＭＦＰ１５０若しくはプリンタ１６０にデバイス情報記録部８０３に記録した情報を出力させることである。
【００７７】
このような処理が必要であるかどうかは、ユーザ又は管理者が予め周辺機器の状態や通信の不具合レベルなどに応じて設定した判断基準に該当するか否かで判断される。
【００７８】
図１２は、ＭＦＰ１５０に自己復旧処理を実行させるためにサーバコンピュータ１３０が実行する処理を示すフローチャートである。
【００７９】
自己復旧処理とはＭＦＰ１５０上で異常（例えば、ＰＣとの通信不具合）が生じた場合に、ユーザがＭＦＰ１５０上で何らかの操作（例えば、ＯＮ／ＯＦＦスイッチ押下）を必要とせずに、ＭＦＰ１５０上で所定の処理が実行され、不具合を自動的に復旧する処理である。この処理は図９のステップＳ９１５で実行される処理である。
【００８０】
以下の説明では、ＭＦＰ１５０との間で実行されるＳＮＭＰ通信に問題が生じた場合を想定する。
【００８１】
まず、サーバコンピュータ１３０のＣＰＵ２０１は、図１０のステップＳ１００２、ステップＳ１００４及びステップＳ１００６で記憶した結果をデバイス履歴データベース８０３より参照し、異常があるか否かの判定を行う（ステップＳ１３０１）。異常がない場合は、図９のステップＳ９１６に進むが、このときの時刻情報などをログとしてＨＤ２０８に記憶してもよい。
【００８２】
ステップＳ１３０１の判定の結果、異常がある場合には、自己復旧処理の開始を決定し（ステップＳ１３０２）、図１１の処理テーブルを参照しつつ、実行する処理内容を決定し、当該処理内容の実行コマンドをＭＦＰ１５０に送信する（ステップＳ１３０３）。ここでは、ＳＮＭＰ通信で異常があった場合を想定しているので、図１１の処理テーブルからプロトコルＸによるリセット処理を行うことが決定される。リセット処理の実行コマンドは、プロトコルＸによる通信でＭＦＰ１５０に送信される。
【００８３】
次に、ＭＦＰ１５０のＣＰＵ６０１が実際にリセット処理を行う（ステップＳ１３０４）。その後、サーバコンピュータ１３０のＣＰＵ２０１は、再度、図９に示すステップＳ９１１〜Ｓ９１３の処理を実行し（ステップＳ１３０５）、再度異常があるか否かの判定を行う（ステップＳ１３０６）。異常がある場合には、ステップＳ１３０２に戻る一方、異常がない場合には、クライアントコンピュータ１１０，１２０又はサーバコンピュータ１３０のディスプレイ装置にＭＦＰ１５０の自己復旧処理が完了した旨を表示することにより、管理者又はユーザに対してＭＦＰ１５０の自己復旧処理が完了したことを通知し（ステップＳ１３０７）、図９のステップＳ９１６に進む。
【００８４】
以上の処理により、周辺機器はユーザやサービスマンの手を煩わせることなく、故障を自己復旧することができる。
【００８５】
尚、本処理はＭＦＰ１５０に自己復旧処理を実行させることに限定したが、自己復旧処理を実行するためのプログラムを有するデバイスであれば、本処理を当該デバイスに対しても適用できる。また、ＳＮＭＰ通信に問題が生じた場合を説明したが、プロトコルはＳＮＭＰに限定されるものではない。
【００８６】
上記ステップＳ１３０３では、ＭＦＰ１５０に自己復旧処理を実行させるために実行コマンドをＭＦＰ１５０に送信したが、ＪＡＶＡ（登録商標）プログラミング言語のような高級言語を搭載できる画像形成装置であれば、不具合を自動的に復旧できるので、実行コマンドを送信する必要はない。
【００８７】
上述したように、本実施の形態によれば、周辺機器から受信したジョブ情報の中に未処理のジョブ情報が含まれているか否かが検出され、複数のプロトコルを使用することにより、該検出された未処理のジョブ情報に対応する周辺機器の異常が検知され、該検知された異常に対応する処理が実行されるので、一定時間印刷がない場合や周辺機器の状態に異常がみられた場合の状況を複数の診断方法で把握することができ、ジョブ情報の管理、取得のみならずデバイスの情報も取得することができ、それにより、より厳密なジョブアカウントを行うことができる。
【００８８】
また、クライアントコンピュータ１１０，１２０又はサーバコンピュータ１３０のディスプレイ装置に周辺機器に異常がある旨が表示され、ユーザ又は管理者にその旨が通知されるので、ユーザや管理者はより早く周辺機器の異常を知ることができる。
【００８９】
上記ＭＦＰ１５０は、ＣＰＵ６０１、ＲＯＭ６０２、ＲＡＭ６０３及びＨＤ６０４から構成されているコントローラ部６０５を備えているため、サーバコンピュータ及びクライアントコンピュータとしての役割を果たすことができる。従って、上記第１の実施の形態で説明したサーバコンピュータ１３０が実行する全処理をＭＦＰ１５０に実行させることもできる。この場合、ＭＦＰ１５０が図１に示したジョブアカウントサーバアプリケーション１３０を備え、図１に示したジョブアカウントシステムではサーバコンピュータ１３０が不要となる。さらに、上記第１の実施の形態で説明したジョブ情報受信部７０１及びデバイス情報受信部８０１は通信部６０７で構成し、ジョブ情報登録部７０２及びデバイス情報登録部８０２はＣＰＵ６０１で構成し、ジョブ履歴データベース７０３及びデバイス履歴データベース８０３はＨＤ６０４で構成する。ＭＦＰ１５０が、図９に示す自己診断機能の処理を実行する場合には、主としてＣＰＵ６０１が該処理の実行を行う。図９のステップＳ９１４で判定される異常の有無は、ＭＦＰ１５０と対象デバイスとの間の通信不具合の有無である。
【００９０】
これにより、ジョブ管理装置としてのサーバコンピュータを新たに設ける必要がなく、低コストのジョブアカウントシステムの構築が可能となる。
【００９１】
さらに、本発明によれば、管理者が、ジョブアカウントシステムの利用形態にあわせて、柔軟な処理を選択、指定することができ、周辺機器を効率よく利用することができる。これにより、周辺機器にジョブを公平に割り振ることができる環境が構築される。
【００９２】
上述した実施形態の機能を実現するソフトウエアのプログラムコードを記憶した記憶媒体等の媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体等の媒体に格納されたプログラムコードを読み出し実行することによっても、本発明が達成されることは云うまでもない。
【００９３】
この場合、記憶媒体等の媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体等の媒体は本発明を構成することになる。
【００９４】
プログラムコードを供給するための記憶媒体等の媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、或いはネットワークを介したダウンロードなどを用いることができる。
【００９５】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も、本発明に含まれることは云うまでもない。
【００９６】
更に、記憶媒体等の媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も、本発明に含まれることは云うまでもない。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施の形態に係るジョブ管理装置を含むジョブアカウントシステムの構成図である。
【図２】図１のサーバコンピュータ１３０のハードウエア構成を示すブロック図である。
【図３】本発明に係るジョブ管理用プログラムがＲＡＭ２０３にロードされ、ＣＰＵ２０１により実行可能となった状態でのメモリマップを示す図である。
【図４】本発明に係るジョブ管理用プログラム及び関連データがＦＤやＣＤ−ＲＯＭに格納されている状態でのメモリマップを示す図である。
【図５】周辺機器としてのＭＦＰ１５０のハードウエア構成を示すブロック図である。
【図６】図１のジョブアカウントサーバアプリケーション１３１を実行するハードウエア構成を示すブロック図である。
【図７】図６のジョブ履歴データベース７０３に登録されている１つのジョブ情報の構成を示す図である。
【図８】図１のジョブアカウントサーバアプリケーション１３１を実行するハードウエア構成を示すブロック図である。
【図９】図１のサーバコンピュータ１３０における自己診断機能の処理の一例を示すフローチャートである。
【図１０】一定期間ログのあがっていないデバイスがある場合に、サーバコンピュータ１３０が実行する処理を示すフローチャートであり、（Ａ）は図９のステップＳ９１１の処理内容を示し、（Ｂ）は図９のステップＳ９１２の処理内容を示し、（Ｃ）は図９のステップＳ９１３の処理内容を示す図である。
【図１１】図１０の処理結果に基づいてサーバコンピュータ１３０のＣＰＵ２０１が実行する処理テーブルの一例を示す図である。
【図１２】ＭＦＰ１５０に自己復旧処理を実行させるためにサーバコンピュータ１３０が実行する処理を示すフローチャートである。
【図１３】従来のジョブ管理装置を含むジョブアカウントシステムの構成図である。
【符号の説明】
【００９８】
２０１  ＣＰＵ（検出手段、異常検知手段、異常対応処理実行手段、通知手段）
２０２  ＲＯＭ
２０３  ＲＡＭ（記憶手段）
２０４  ＫＢＣ（キーボード制御部、通知手段）
２０５  ＣＲＴ（ディスプレイ制御部）
２０６  ＨＤ（ハードディスク装置、記憶手段）
２０７  通信部（受信手段、実行コマンド送信手段）
２０８  システムバス
【図１】
2005135171.tif 000003
【図２】
2005135171.tif 000004
【図３】
2005135171.tif 000005
【図４】
2005135171.tif 000006
【図５】
2005135171.tif 000007
【図６】
2005135171.tif 000008
【図７】
2005135171.tif 000009
【図８】
2005135171.tif 000010
【図９】
2005135171.tif 000011
【図１０】
2005135171.tif 000012
【図１１】
2005135171.tif 000013
【図１２】
2005135171.tif 000014
【図１３】
2005135171.tif 000015