(57)【要約】【課題】バックアップデータのリストアに起因して、ログ情報を適切に外部システムに送信できないケースがある。【解決手段】本発明におけるジョブ処理装置では、ネットワークを介してログ管理システムにジョブログを送信するためのアプリケーションがインストールされており、前記アプリケーションが起動してから初回のログ情報の送信タイミングであり、かつ、送信済ログ番号がログ管理システムでの格納済ログ番号よりも小さい場合に、前記送信済ログ番号の次の番号以降の識別番号が付与されたジョブログを含むログ情報を、前記ログ管理システムに送信することを特徴とする。【選択図】図１１
2019155743.tif 000002
【特許請求の範囲】
【請求項１】
実行されたジョブに関するジョブログを記憶装置の所定領域に記録するジョブ制御部が動作し、ネットワークを介してログ管理システムにジョブログを送信するためのアプリケーションがインストールされたジョブ処理装置であって、
前記所定領域に記録された複数のジョブログの中から、前記ログ管理システムに送信すべきジョブログを、それぞれに順番で管理するための識別番号を付与して、前記アプリケーションのために確保された管理領域に格納する格納手段と、
前記ログ管理システムに対して送信済みであるジョブログの識別番号を示す送信済ログ番号を管理する管理手段と、
前記ログ管理システムから、前記ログ管理システムで前記ジョブ処理装置から最後に受信して格納済みとなったジョブログの識別番号を示す格納済ログ番号を取得する取得手段と、
前記アプリケーションが起動してから初回のログ情報の送信タイミングであり、かつ、送信済ログ番号が格納済ログ番号よりも小さい場合に、前記送信済ログ番号の次の番号以降の識別番号が付与されたジョブログを含むログ情報を、前記ログ管理システムに送信する送信手段と、
前記ログ管理システムから、前記ログ情報に含まれるジョグログの格納が完了したことを示す完了通知を受信した場合に、前記送信済ログ番号を更新する更新手段と、
を有することを特徴とするジョブ処理装置。
【請求項２】
前記送信手段は、前記アプリケーションが起動してから初回のログ情報の送信タイミングでない場合には、前記ログ管理システムから取得した格納済ログ番号の次の番号以降の識別番号が付与されたジョブログを含むログ情報を、前記ログ管理システムに送信することを特徴とする請求項１に記載のジョブ処理装置。
【請求項３】
前記アプリケーションが前記ジョブ処理装置で実行されたリストア処理の対象となったことにより、送信済ログ番号が格納済ログ番号よりも小さいと判断されることを特徴とする請求項１または２に記載のジョブ処理装置。
【請求項４】
前記格納手段は、前記ジョブ処理装置の記憶装置が交換され、かつ、前記アプリケーションが前記ジョブ処理装置で実行されたリストア処理の対象となったことが検知された場合には、前記所定領域に記録された全てのジョブログを前記管理領域に格納することを特徴とする請求項１乃至３のいずれか１項に記載のジョブ処理装置。
【請求項５】
実行されたジョブに関するジョブログを記憶装置の所定領域に記録するジョブ制御部が動作するジョブ処理装置における方法であって、
前記所定領域に記録された複数のジョブログの中から、前記ログ管理システムに送信すべきジョブログを、それぞれに順番で管理するための識別番号を付与して、前記所定領域とは異なる管理領域に格納する格納工程と、
前記ログ管理システムに対して送信済みであるジョブログの識別番号を示す送信済ログ番号を管理する管理工程と、
前記ログ管理システムから、前記ログ管理システムで前記ジョブ処理装置から最後に受信して格納済みとなったジョブログの識別番号を示す格納済ログ番号を取得する取得工程と、
前記アプリケーションが起動してから初回のログ情報の送信タイミングであり、かつ、送信済ログ番号が格納済ログ番号よりも小さい場合に、前記送信済ログ番号の次の番号以降の識別番号が付与されたジョブログを含むログ情報を、前記ログ管理システムに送信する送信工程と、
前記ログ管理システムから、前記ログ情報に含まれるジョグログの格納が完了したことを示す完了通知を受信した場合に、前記送信済ログ番号を更新する更新工程と、
を有することを特徴とする方法。
【請求項６】
実行されたジョブに関するジョブログを記憶装置の所定領域に記録するジョブ制御部が動作するジョブ処理装置に、
前記所定領域に記録された複数のジョブログの中から、前記ログ管理システムに送信すべきジョブログを、それぞれに順番で管理するための識別番号を付与して、前記所定領域とは異なる管理領域に格納する格納工程と、
前記ログ管理システムに対して送信済みであるジョブログの識別番号を示す送信済ログ番号を管理する管理工程と、
前記ログ管理システムから、前記ログ管理システムで前記ジョブ処理装置から最後に受信して格納済みとなったジョブログの識別番号を示す格納済ログ番号を取得する取得工程と、
前記アプリケーションが起動してから初回のログ情報の送信タイミングであり、かつ、送信済ログ番号が格納済ログ番号よりも小さい場合に、前記送信済ログ番号の次の番号以降の識別番号が付与されたジョブログを含むログ情報を、前記ログ管理システムに送信する送信工程と、
前記ログ管理システムから、前記ログ情報に含まれるジョグログの格納が完了したことを示す完了通知を受信した場合に、前記送信済ログ番号を更新する更新工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンターやＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などのジョブ処理装置で実行されるジョブのログ情報を管理する技術に関する。
【背景技術】
【０００２】
従来、プリンターやＭＦＰなどのジョブ処理装置では、例えば印刷ジョブなどを実行した場合には、当該印刷ジョブの実行日時やその内容を記録したジョブログを、装置内の記憶装置（ハードディスクなど）に格納して管理していた。ジョブ処理装置では、ジョブ処理装置内で動作するジョブログを管理し、外部の管理システムに送信する機能を有するアプリケーションが動作しており、ネットワークを介して、外部の管理システムに送信することも可能であった。管理システムでは、受信済みのジョブログの識別番号を管理し、そのアプリケーションによる当該識別番号以降の未受信のジョブログの差分送信により、効率的にジョブログを受信し、管理することができる。
【０００３】
例えば、先行技術として、特許文献１には、センター端末で、保守端末における保守作業に関する接続ジョブの実行中に行われた処理の内容を記録するログ情報を管理する技術が開示されている。ここで、センター端末は、センター端末の通信機能が故障していた間に保守端末で記録されたログ情報の更新に失敗した接続ジョブがあるか否か判定する。そして、この判定で完全なログ情報を記録できていない可能性が高いと判断した場合に、センター端末がログ情報識別子を指定して保守端末に該当するログ情報を要求することで、センター端末で管理すべきログ情報を補完する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２４４４２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、ジョブ処理装置の記憶装置内で格納される設定情報のバックアップデータを予め作成しておき、過去の状態に戻したい場合や何らかの障害が発生した場合などに、該バックアップデータをリストアして復旧する場合がある。
【０００６】
このバックアップデータに、ジョブログや、ジョブ処理装置内で動作するジョブログを管理するためのアプリケーションや、該アプリケーションの設定情報や管理情報も含めることができる。これによって、ジョブ処理装置の記憶装置自体が故障した場合などに、バックアップデータをリストアすることで、ジョブログを管理するアプリケーション自体を復旧することが可能となる。
【０００７】
しかしながら、リストア後には、ジョブログを管理するアプリケーションの管理情報も過去の状態に戻ってしまうことになる。ここで、バックアップデータが作成されてからリストアが実行されるまでの間に、そのアプリケーションによる管理システムへのジョブログの送信が行われる可能性がある。そして、当該バックアップデータによるリストア後にジョブ処理装置で新たにジョブが実行された場合には、管理システムで管理されている受信済みのジョブログの識別番号と重複する番号で、ジョブ処理装置でジョブログが記録されることになる。このようなケースで、前述した管理システムで管理される受信済みのジョブログの識別番号に依存した差分送信が行われた場合には、リストア後にジョブ処理装置で実行された新たにジョブのジョブログが管理システムで管理されない可能性がある。
上記課題は、管理システム側の通信機能の障害などに起因するものではなく、特許文献１では、全く想定されていないものといえる。
【０００８】
そこで、本発明は、バックアップデータのリストアに起因する上述の課題を解決し得る手法を提供すること目的とする。
【課題を解決するための手段】
【０００９】
本発明のジョブ処理装置は、実行されたジョブに関するジョブログを記憶装置の所定領域に記録するジョブ制御部が動作し、ネットワークを介してログ管理システムにジョブログを送信するためのアプリケーションがインストールされたジョブ処理装置であって、前記所定領域に記録された複数のジョブログの中から、前記ログ管理システムに送信すべきジョブログを、それぞれに順番で管理するための識別番号を付与して、前記アプリケーションのために確保された管理領域に格納する格納手段と、前記ログ管理システムに対して送信済みであるジョブログの識別番号を示す送信済ログ番号を管理する管理手段と、前記ログ管理システムから、前記ログ管理システムで前記ジョブ処理装置から最後に受信して格納済みとなったジョブログの識別番号を示す格納済ログ番号を取得する取得手段と、前記アプリケーションが起動してから初回のログ情報の送信タイミングであり、かつ、送信済ログ番号が格納済ログ番号よりも小さい場合に、前記送信済ログ番号の次の番号以降の識別番号が付与されたジョブログを含むログ情報を、前記ログ管理システムに送信する送信手段と、前記ログ管理システムから、前記ログ情報に含まれるジョグログの格納が完了したことを示す完了通知を受信した場合に、前記送信済ログ番号を更新する更新手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、バックアップデータのリストアに起因する上述の課題を解決し得る手法を提供できる。
【図面の簡単な説明】
【００１１】
【図１】ＭＦＰを含むネットワークシステムの例を示す図である。
【図２】ＭＦＰ、および情報処理装置のハードウェア構成の例を示す図である。
【図３】ＭＦＰのソフトウェアのモジュール構造の例を示すブロック図である。
【図４】ジョブ制御部で記録される内部ログ情報の例を示す図である。
【図５】ジョブログの管理状態の例を示す図である。
【図６】アプリケーション内ログ情報の例を示す図である。
【図７】アプリケーション内ログ情報の例を示す図である。
【図８】ログ管理アプリケーションによる処理を説明するためのフローチャート。
【図９】アプリケーション内ログ情報の例を示す図である。
【図１０】アプリケーション内ログ情報の例を示す図である。
【図１１】ログ送信処理の詳細を説明するためのフローチャート。
【図１２】サーバ管理ログ情報の例を示す図である。
【図１３】ログ管理システムによる処理を説明するためのフローチャート。
【図１４】リストアフラグの設定手順の例を示す図である。
【図１５】ジョブログ格納状況の例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明を実施するための最良の形態について図面を用いて説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。ジョブ処理装置の一例として、ＭＦＰを挙げて説明するものとする。
【００１３】
また、以下の説明において、「内部ログ情報」とは、ジョブ処理装置がジョブ実行毎に生成するジョブの実行日時やその内容、結果などを記録したログが蓄積された情報を意味する。「アプリケーション内ログ情報」とは、ジョブ処理装置内のログ管理アプリケーションが、外部送信などのために内部ログ情報から取得した１以上のログを、ジョブ処理装置内の記憶装置（ハードディスクなど）の該アプリケーション用に確保された管理領域に蓄積した情報を意味する。また、「サーバ管理ログ情報」とは、管理システムのログ管理サーバ機能がログ管理アプリケーションから受信し、管理している１以上のログを意味する。
【００１４】
（実施例１）
図１は、ＭＦＰを含むネットワークシステムの例を示す。
【００１５】
本発明のネットワークシステムでは、ＭＦＰ１００と、管理クライアント１１０と、ログ管理システム１２０と、バックアップ・リストアサービス１４０とが、ネットワーク１３０を介して通信可能にシステムが構築されている。ログ管理システム１２０と、バックアップ・リストアサービス１４０はインターネット上に配置され、クラウドサービスとして提供することも可能である。
【００１６】
ジョブ処理装置の一例であるＭＦＰ１００は、プリンタやスキャナ、ＦＡＸなどの複数の機能を持つ周辺機器である。ネットワークシステムには、同等の機能を備える複数台のＭＦＰを設置することができ、本発明を適用可能である。
【００１７】
管理クライアント１１０は、ログ管理システム１２０のサービス提供を受ける管理者が使う情報処理装置である。ログ管理システム１２０は、ＭＦＰ１００から各種ジョブログを受信して、蓄積して管理を行うログ管理部１２１を有する。ログ管理部１２１は、ＭＦＰ１００から受信して、ログ管理システム１２０内のストレージに蓄積済みのログ情報のログ番号を管理する。また、管理クライアント１１０に対して、管理しているジョブログに基づく集計結果を提供するサービスも備える。
【００１８】
バックアップ・リストアサービス１４０は、ＭＦＰ１００から受信したバックアップデータを内部ストレージに格納して、管理する。データ管理部１４１は、ＭＦＰ１００に管理済みのバックアップデータをリストアするための制御などを行う。バックアップデータには、ＭＦＰ１００のハードディスクなどの記憶装置に格納される一部、または全てを対象とすることができ、各種設定情報、ログ情報、アプリケーション、ライセンス情報など、様々な情報を含むことができる。
【００１９】
図２（Ａ）は、管理クライアント１１０、ログ管理システム１２０，バックアップ・リストアサービス１４０を構成するための情報処理装置のハードウェア構成の例を示す。ログ管理システム１２０，バックアップ・リストアサービス１４０については、複数台の情報処理装置から構築されても良い。
【００２０】
ＣＰＵ２００は、装置内の処理を制御する。ＣＰＵ２００は、ハードディスク装置（ＨＤ）２０５、ＲＯＭ２０１内に格納されるオペレーティングシステム（ＯＳ）、アプリケーションプログラムなどを実行する。例えば、ログ管理システム１２０を構成する情報処理装置では、機能としてログ管理部１２１を実現するための制御プログラムがＣＰＵ２００で実行される。
【００２１】
ＲＯＭ２０１は、プログラムおよびデータを不揮発に記憶する記憶部である。例えば、ＲＯＭ２０１は、基本Ｉ／Ｏプログラムなどのプログラム、および文書処理に使用するフォントデータ、テンプレートデータなどのデータを記憶する。ＲＡＭ２０２は、プログラムおよびデータを一時的に記憶する記憶部である。ＲＡＭ２０２は、ＣＰＵ２００のメインメモリ、ワーキングメモリなどとして機能する。
【００２２】
ハードディスク装置（ＨＤ）２０５は、大容量メモリとして機能する記憶装置である。ハードディスク装置２０５は、アプリケーションプログラム、プリンタドライバプログラム、ＯＳのプログラム、制御プログラム、関連プログラムなどを記憶する。ハードディスク以外のハードウェアで記憶装置を実現することも可能である。
【００２３】
キーボード２０６は、ユーザの入力を受け付ける入力部である。ポインティングデバイス２０９は、ユーザからの指示を受け付ける指示部である。表示装置２０７は、キーボード２０６から入力されたコマンドなどを表示するディスプレイである。
【００２４】
システムバス２０８は、情報処理装置内におけるデータの転送経路である。ネットワーク（ＮＷ）インターフェース２１０はネットワークに接続し、通信の制御を行う。
【００２５】
図２（Ｂ）は、ＭＦＰ１００のハードウェア構成の例を示す。ＭＦＰ１００は、ＣＰＵ２２０と、ＲＯＭ２２１と、ＲＡＭ２２２と、外部メモリ２２３と、スキャナ２２４と、プリンタ２２５と、ＮＷインターフェース２２６と、システムバス２２７と、ハードディスク装置（ＨＤ）２２８と、操作部を備える表示装置２２９と、を含む。
【００２６】
ＣＰＵ２２０は、ＭＦＰ１００内の処理を制御する。ＣＰＵ２２０は、ＲＯＭ２２１、外部メモリ２２３、ハードディスク装置２２８などの記憶装置内に記憶された各種プログラムを実行する。ハードディスク装置２２８には、ログ管理アプリケーションも含まれ、ＣＰＵ２２０により実行される。ＲＡＭ２２２は、ＣＰＵ２２０のメインメモリ、ワーキングメモリなどとして機能する。ＲＯＭ２２１は、内部メモリであり、各種データ、ＭＦＰ１００を制御する制御プログラムなどを記憶する。
【００２７】
ハードディスク装置２２８は、大容量の記憶装置である。ハードディスク装置２２８には、フォントデータ、印刷ジョブ、アプリケーション、設定情報、ログ情報など、様々なデータが格納される。ハードディスク装置２２８は、１つのハードディスクドライブにより構成されてもよいし、または複数のハードディスクドライブにより構成されてもよい。また、ＭＦＰ１００は、ＭＦＰ１００がジョブログの記録などに通常利用するハードディスクとは別に、バックアップデータを記憶するハードディスクを備えていてもよい。
【００２８】
外部メモリ２２３は、例えば、オプションとして接続されるもので、フォントデータ、エミュレーションプログラム、フォームデータなどを記憶することができる。
【００２９】
スキャナ２２４は、原稿を読み取って、該原稿に対応する画像データを生成する。生成された画像データは、ハードディスク装置２２８に格納されたり、プリンタ２２５で印刷されたり、ＮＷインターフェース２２６を介してネットワークに出力される。
【００３０】
プリンタ２２５は、ＲＯＭ２２１に記憶された制御プログラムに基づき、画像信号をシステムバス２２７を介して受信し、かつ受信した画像信号に基づき印刷処理を行う。
【００３１】
ＮＷインターフェース２２６は、ネットワークに接続するためのハードウェアである。
【００３２】
表示装置２２９は、ＭＦＰ１００へのログイン画面、ＭＦＰ１００にインストールされたアプリケーションプログラムの画面表示などを行う。また、表示装置２２９は、操作部も兼ね、ユーザーからの入力を受け付けることも可能である。オペレータは、操作部を介して、ＭＦＰ１００のバックアップデータのリストアなどの指示入力ができる。
【００３３】
図３は、ＭＦＰ１００のソフトウェアモジュールの構成例を示す。図３に示される各モジュール、サービスは、ＣＰＵ２２０がＲＯＭ２２１またはハードディスク装置２２８内に記憶された対応するソフトウェアを実行することで実現される。
【００３４】
ＯＳ層３０１は、一般的にはリアルタイムＯＳが使用されるが、Ｌｉｎｕｘ（登録商標）などの汎用ＯＳを用いてもよい。ＪａｖａＶＭ３０２は、Ｊａｖａ（登録商標）などの仮想マシンであり、アプリケーションの実行環境を提供する。アプリケーションフレームワーク３０３は、アプリケーションのライフサイクルを管理する機能、およびアプリケーションが共通で利用する機能を提供する。
【００３５】
リストア制御部３０４は、ＭＦＰ１００にインストールされたリストアアプリケーションを実行することにより実現される。リストア制御部３０４は、オペレータの指示に従い、バックアップ・リストアサービス１４０で管理されたバックアップデータを取得して、リストアサービス３１３を用いて、ＭＦＰ１００に適用するリストア処理を制御する。
【００３６】
ログ管理部３０５は、ＭＦＰ１００にインストールされたログ管理アプリケーションを実行することにより実現される。ジョブ制御部３１５により記録される内部ログ情報の中から、ログ管理システム１２０に送信すべきログを取得して、アプリケーション内ログ情報として管理する。ログ管理部３０５は、ログ管理システム１２０で管理されていない未送信のログ情報を、ログ番号に基づき判断して、所定のスケジュールで送信する機能を有する。アプリケーション内ログ情報の中で、送信済みとなったログは、所定のタイミングで、ログ管理アプリケーション用に確保されたハードディスク装置２２８内の管理領域から消去される。
【００３７】
なお、送信対象にできる内部ログ情報に含まれるログとしては、プリント、ファックス、コピー、スキャンといったジョブのログ、ユーザによるＭＦＰ１００へのログインおよびログアウトを記録したアクセス履歴、ＭＦＰ１００の設定変更などを記録した操作ログなどがある。
【００３８】
アプリケーション管理部３０６は、ＭＦＰ１００でのアプリケーションのインストール、アンインストール、使用期間の延長などを管理することができる。
【００３９】
Ｎａｔｉｖｅ機能部３１０は、ＭＦＰ１００内の基本的な機能を提供する。例えば、ファイル管理サービス３１１は、ハードディスク装置２２８内に記憶するファイルの作成、更新、削除などの機能を提供する。設定値管理サービス３１２は、ＭＦＰ１００の設定値のエクスポート機能およびインポート機能を提供する。
【００４０】
リストアサービス３１３は、リストア制御部３０４から指示に基づきリストア機能を提供する。リストア機能とは、リストア対象となるバックアップデータを指定場所に配置することにより、反映することである。
【００４１】
バックアップサービス３１４は、ハードディスク装置２２８の一部、または全てのデータを対象にしたバックアップデータを生成する機能を提供する。例えば、ＭＦＰ１００のファームウェア、設定情報、インストール済のアプリケーション、およびアプリケーションの設定値、ログ情報などの、ハードディスク装置２２８内に記憶されているデータは、アーカイブされ、バックアップ・リストアサービス１４０に送信されて管理される。
【００４２】
ジョブ制御部３１５は、スキャナ２２４、プリンタ２２５、ＮＷインターフェース２２６を用いて、プリント、ファックス、コピー、スキャンといったジョブの実行を制御する。また、各種ジョブを実行した場合にログを記録して、内部ログ情報としてハードディスク装置２２８に格納する。
【００４３】
なお、本実施形態では、ＪａｖａＶＭ３０２およびアプリケーションフレームワーク３０３は、ハードディスク装置２２８内に記憶されているものとする。また、Ｎａｔｉｖｅ機能３１０は、ＲＯＭ２２１に記憶されているものとする。
【００４４】
図４は、ジョブ制御部３１５が管理する内部ログ情報の例を示す。内部ログ情報は、ハードディスク装置２２８の予め決められたデータ領域内に記憶される。同図は、ログ情報４２０の例と、ジョブログ１件分の内容４００の例を示す。
【００４５】
ログ情報４２０において、１つのログ種は、１つのファイルに記憶される。すなわち、ログ情報４２０は、コピージョブログ情報ファイル４２１、プリントジョブログ情報ファイル４２２、スキャンジョブログ情報ファイル４２３、およびＦＡＸジョブログ情報ファイル４２４を有する。また、各ジョブログにおいて、ログ内容４００は、ログ番号４０１、ログ種別４０２、出力デバイス４０３、完了時刻４０４、発行者４０５、用紙タイプ４０６、ドキュメント名４０７、カラーモード４０８、ページ数／排紙枚数４０９、およびステータス４１０を含む。
【００４６】
ログ番号４０１は、ＭＦＰ１００がジョブを実行することにより発行されたジョブログの履歴を示す、すなわち、そのジョブログを識別する番号である。ログ番号４０１は、１から始まり、ＭＦＰ１００内で新規のジョブが実行される毎に１が加算される。ログ種別４０２は、ログの種類を示す。ログ種別４０２としては、例えば、コピー、プリント、スキャン、ファックスなどがある。出力デバイス４０３は、ログを記録したＭＦＰ１００を識別する情報である。出力デバイス４０３は、ＭＦＰ１００に登録された名称であり、例えば、「ＭＦＰ−１」が記録される。完了時刻４０４は、ジョブが完了した時刻であり、例えば、「２０１４／１／１  １６：１１」が記録される。発行者４０５は、ジョブを発行したユーザ名であり、例えば、「ｙａｍａｓａｋｉ」が記録される。
【００４７】
用紙タイプ４０６は、印刷ジョブを実行した用紙、またはスキャンした原稿サイズであり、例えば、「Ａ４」が記録される。ドキュメント名４０７は、印刷ジョブの原稿ドキュメント名であり、例えば、「機密．ｄｏｃ」が記録される。また、ログ種別がスキャンまたはファックスの場合、ドキュメント名４０７は、空欄になる。カラーモード４０８は、印刷ジョブまたはスキャンジョブがカラーモードであるか否かを示す。すなわち、ジョブがカラーモードであるときは、「カラー」が記録され、ジョブがモノクロモードであるときは、「モノクロ」が記録される。ページ数／排紙枚数４０９は、ジョブの論理ページ数と排紙枚数を示す。スキャンジョブなどでは排紙枚数は記録されない。ステータス４１０は、ジョブが正常に完了したか、エラーで終了したかなどの情報が記録される。
【００４８】
図５は、ジョブログの管理状態の例を示す。ジョブログの最大格納数Ｌｍａｘは、予め決まっており、例えば、５０００ログに設定されている。また、最大格納数Ｌｍａｘを格納するだけのサイズを持ったファイルは、予めハードディスク装置２２８などの記憶装置内に用意されており、かつジョブ制御部３１５によって管理されている。
【００４９】
図５（Ａ）に示す初期状態は、ＭＦＰ１００が稼動開始して、未だジョブが実行されていない状態である。初期状態では、ジョブログが１件も書き込まれていない。したがって、この状態では、ジョブ制御部３１５は、書き込み済のジョブログの書込済番号を示すＷｒｉｔｅＰｏｉｎｔｅｒ（以降、ＷＰと略す）の値として“０”を、予め確保したデータ領域内、例えば、ハードディスク装置２２８内に記憶する。なお、ＷＰの値は、ジョブ制御部３１５によって公開される手段を用い、アプリケーションから任意のタイミングで取得可能である。
【００５０】
図５（Ｂ）は、ジョブを２０回実行した後の状態を示す。同図において、ジョブ実行によりジョブログが２０件書き込み済みの状態を網掛け（右上がり対角線）で表記している。この状態では、ジョブ制御部３１５は、書き込み済のジョブログのＷＰの値として“２０”を、予め確保したデータ領域内、例えば、ハードディスク装置２２８内に記憶する。
【００５１】
図５（Ｃ）は、アプリケーションによってジョブログ１０件を読み込んだ状態を、網掛け（網点）で表記している。アプリケーションは、読み込み済みジョブログの読込済番号を示すＲｅａｄＰｏｉｎｔｅｒ（以降、ＲＰと略す）の値として１０を、予め確保したデータ領域内、例えば、ハードディスク装置２２８内に記憶する。ＲＰの値は、アプリケーションによってログ種毎に管理される。アプリケーションは、ジョブ制御部３１５によって公開される手段を用い、任意のジョブログを取得することができる。例えば、ログ番号として、ＲＰ＋１からＷＰで示される値を指定することにより、アプリケーションが未取得のログのみを選択して取得することができる。
【００５２】
図５（Ｄ）は、ジョブをジョブログの最大格納数Ｌｍａｘ以上に実行した状態を示す。ジョブが最大格納数Ｌｍａｘを超えた場合、それを超えた分のジョブログは、ログ格納ファイルの先頭から順次上書きされる。例えば、最大格納数Ｌｍａｘが５０００の場合、５００１番目のジョブログは、１番目のログが格納されている領域、すなわち、ログ格納ファイルの１番目に上書きされる。同図は、５０２０番目のログを書き込んだ状態を示す。この状態では、ＷＰの値は、５０２０となる。なお、図示しないが、同様に、１０００１番目のジョブログは、５００１番目のログが格納されている領域、すなわち、ログ格納ファイルの１番目に上書きされる。
【００５３】
図６は、アプリケーション内ログ情報の例を示す。アプリケーション内ログ情報は、ログ管理部３０５によって、ハードディスク装置２２８などの予め決められたデータ領域内に記憶される。
【００５４】
図６（Ａ）において、６０１は、アプリケーション内ログ情報のリストである。リスト６０１の項目は、ＭＦＰ１００から取得した内部ログ情報の各項目、すなわち、図４に示すログ番号４０１、ログ種別４０２、出力デバイス４０３などに関する情報を含む。但し、ログ識別番号は、１から始まる連続番号であり、ジョブログ１件を格納毎に、ログ管理部３０５が発行する。リスト６０１中のログ識別番号は、図４の内部ログ情報のログ番号４０１に対応する。図６（Ｂ）において、６０２は、送信済ログ番号である。送信済ログ番号６０２は、後述するログ送信ステップによりログ管理システム１２０への送信が完了したジョブログの識別情報である。図６（Ｃ）において、６０３は、ＲｅａｄＰｏｉｎｔｅｒ（ＲＰ）であり、ジョブ種毎に設定される。
【００５５】
図６の例では、アプリケーション内ログ情報のリスト６０１に示されるように、ログ管理部３０５は、ログ識別番号１００４までログを格納済である。また、送信済ログ番号６０２は１００２を示しているため、ログ識別番号１００２までのジョブログがログ管理システム１２０に送信済である。すなわち、送信済ログ番号６０２に登録されたログ識別番号１００２以降のログ識別番号１００３および１００４のジョブログは、ログ管理システム１２０に未送信である。また、ＲＰ６０３に示されるように、コピーのＲＰはログ番号４０１として３００１（ログ識別番号１００２に対応）を示し、プリントのＲＰはログ番号４０１として１０００６（ログ識別番号１００４に対応）を示す。すなわち、ＭＦＰ１００は、ログ番号３００１までのコピージョブを実行済であり、ログ番号１０００６までのプリントジョブを実行済みである。また、スキャンおよびファックスのＲＰは０を示しているので、ＭＦＰ１００は、この２種のジョブを実行していない。
【００５６】
図７は、リストア直後のアプリケーション内ログ情報の例である。ログ管理部３０５がリストアされた直後では、アプリケーション内ログ情報のリスト６０１は、該アプリケーション３０５がバックアップ・リストアサービス１４０にバックアップされたときの状態に戻る。すなわち、リスト６０１の最後に記載されたログ識別番号５０２と、送信済ログ番号６０２の値５０２とは一致する。従って、ログ管理システム１２０に送信すべき新規のジョブログは存在しない。また、ＲＰ６０３も、該アプリケーション３０５がバックアップ・リストアサービス１４０にバックアップされたときの状態に戻る。すなわち、コピーのＲＰは、ログ番号４０１として１５００（ログ識別番号５０２に対応）を示し、プリントのＲＰは、ログ番号４０１として５５０１（ログ識別番号５０１に対応）を示す。
【００５７】
このように、ログ管理部３０５がリストアされた直後では、アプリケーション内ログ情報のリスト６０１および送信済ログ番号６０２は、ログ管理部３０５が最後にバックアップされたときの状態に戻っている。従って、図７の送信済ログ番号は、ログ管理システム１２０が既に取得かつ格納済のジョブログに係る格納済ログ番号よりも小さいと想定される。これを放置すると、上記したようにログ抜けが発生してしまう。
【００５８】
同様に、ログ管理部３０５がリストアされた直後では、ＲＰ６０３の値も、ログ管理部３０５が最後にバックアップされたときの状態に戻っている。一方、ログ管理部３０５がリストアされたということは、ＭＦＰ１００内の記憶装置が交換されたと考えられる。この場合、ＭＦＰ１００が新規のジョブを実行したとすると、この新規のジョブの実行により記憶部に書き込まれるＷＰの値もリセットされていると想定される。すなわち、ログ管理部３０５がリストアされた直後では、ＷＰの値がＲＰの値よりも小さくなる事態が発生する。これを放置すると、リストア後に、ログ管理部３０５は、ログジョブを正しく取得できなくなる。
【００５９】
以下では、これらの問題を解決する手段について説明する。
【００６０】
図８は、ログ管理部３０５によるログ情報の送信処理を説明するためのフローチャートを示す。ＭＦＰ１００のＣＰＵがログ管理アプリケーションを実行することで実現される処理である。
【００６１】
以下では、説明を簡便にするため、ログ管理部３０５が取得および管理するジョブログは、プリントログ１種類とし、ログ種は、プリントジョブログとする。また、以下では、ＭＦＰ１００の記憶装置が故障などにより交換されていることを前提とする。また、ログ管理アプリケーションがリストアされたものとする。
【００６２】
まず、Ｓ７０１で、ログ管理アプリケーションのための初期化処理が行われる。初期化処理は、ログ管理アプリケーションの起動時に行う一般的な初期化処理のことである。すなわち、初期化処理では、ログ管理アプリケーションの機能提供に必要なメモリ領域をＲＡＭ２２２内に確保し、ハードディスク装置２２８から各種設定値および各種値を読み取り、かつ各種変数に初期値を与える。また、初期化処理では、後述する送信処理で用いる初回送信フラグ、送信開始番号、リストアフラグなどの初期化も行う。
【００６３】
次に、Ｓ７０２で、ログ管理部３０５は、ＷＰの値をジョブ制御部３１５から取得する。すなわち、ログ管理部３０５は、ジョブ制御部３１５が提供する手段（ＡＰＩ）を呼び出してＷＰの値を取得し、かつＷＰの値をＲＡＭ２２２内に書き込む。
【００６４】
次に、Ｓ７０３で、ログ管理部３０５は、ＲＡＭ２２２内に書き込まれたＷＰの値とＲＰの値を比較し、ＷＰがＲＰよりも小さいか否かを判断する。ＷＰがＲＰよりも小さい場合にはＳ７０４に進み、ＷＰがＲＰよりも小さくない場合にはＳ７０５に進む。
【００６５】
ＷＰの値がＲＰの値よりも小さくなる要因としては２点、挙げられる。１点目は、ハードディスク装置２２８の交換によってＷＰの値が初期化された点である。２点目は、ログ管理アプリケーション用に確保された管理領域内のＲＰに、リストアサービス３１３によるリストア処理によりバックアップデータに含まれるＲＰの値が反映された点である。
【００６６】
Ｓ７０４で、ログ管理部３０５は、ＲＰの値を０にリセットする。例えば、アプリケーション内ログ情報が図７で示す状態において、ログ管理部３０５が、ＷＰがＲＰよりも小さいと判断した場合を考える。この場合、図９に示すように、ログ管理部３０５は、ＲＰ６０３において、コピーとプリントのＲＰの値を０にリセットする。
【００６７】
Ｓ７０５で、ログ管理部３０５は、ＷＰの値とＲＰの値とが等しいか否かを判断する。ＷＰとＲＰの値が等しい場合、新規のジョブログが生成されていないことを意味するため、Ｓ７１２で示すように所定時間、待機して、Ｓ７０２の処理に戻る。一方、ＷＰがＲＰに等しくない場合、ＷＰがＲＰよりも大きいことになる。これは、新規のジョブログが生成されていることを意味するため、Ｓ７０６に進む。
【００６８】
Ｓ７０６で、ログ管理部３０５は、内部ログ情報からジョブログを取得する。ここでは、ログ管理部３０５は、ジョブ制御部３１５が提供する手段（ＡＰＩ）をを用いて、ＲＰ＋１からＷＰの値に対応するジョブログを内部ログ情報から取得する。
【００６９】
Ｓ７０７で、ログ管理部３０５は、ジョブログの取得に成功したジョブログを、アプリケーション内ログ情報として、ＭＦＰ１００の記憶装置にログ管理アプリケーション用に確保された管理領域に格納する。
【００７０】
Ｓ７０８で、ログ管理部３０５は、ＲＰの値を、ＷＰの値で更新する。
【００７１】
Ｓ７０４〜Ｓ７０８で、ログ管理部３０５の管理情報が更新される例を説明する。
【００７２】
図９は、例えば、ログ管理部３０５が、Ｓ７０３でＷＰ＜ＲＰと判断し、Ｓ７０４でＲＰをリセットした場合の状態を示している。ＭＦＰ１００ではハードディスクの交換が行われた後に新規の２つのプリントジョブを実行していたとする。その場合には、ジョブ制御部３１５では２つのプリントジョブのログが記録され、ＷＰの値として“２”が管理されていることになる。
【００７３】
図１０は、Ｓ７０６〜Ｓ７０８の処理が実行された後のログ管理部３０５の管理情報を示している。ログ管理部３０５は、ジョブ制御部３１５が新たに記録したログ番号１および２のジョブログを取得し、それらのログに対応する新規のログ識別番号５０３，５０４を発行する。ここで発行される新規のログ識別番号は、「送信済ログ番号＋１」となる。また、プリントジョブログのＲＰの値が、ＷＰの値“２”で更新されている。
【００７４】
ここで、この新規の２つのプリントジョブに対応するログ識別番号５０３および５０４は、ログ管理システム１２０が保持する格納済ログ番号よりも小さいことが考えられる。こういったケースにおいても、ログ識別番号５０３および５０４に対応する新規のジョブログを管理システム１２０に送信されるようにする手法については、図１１などを用いて後述する。
【００７５】
Ｓ７０９で、ログ管理部３０５は、現在時刻が、ジョブログの送信タイミングになったか否かを判断する。この送信時刻は、ログ管理部３０５内に予め登録されているものとする。送信タイミングであればＳ７１０に進み、送信タイミングでなければＳ７１２で示すように所定時間、待機して、Ｓ７０２の処理に戻る。
【００７６】
Ｓ７１０で、ログ管理部３０５は、ログ管理システム１２０へのログ送信処理を行う。この処理の詳細は、図１１で後述する。
【００７７】
Ｓ７１１で、ログ管理部３０５は、送信済ログ番号６０２を更新する。ここでは、Ｓ７１０の送信処理で、送信が成功した最後のジョブログのに対応するログ識別番号で更新される。その後、Ｓ７１２で示すように所定時間、待機して、Ｓ７０２の処理に戻る。
【００７８】
次に、図１１を用いて、図８のＳ７１０で示すログ送信処理の詳細について説明する。
【００７９】
Ｓ８０１で、ログ管理部３０５は、ＲＡＭ２２２内に記憶された初回送信フラグが１（ＯＮ）であるか否かを判断する。初回送信フラグが１である場合にはＳ８０２に進み、初回送信フラグが０の場合にはＳ８１２に進む。
【００８０】
図８のＳ７０１の初期化処理において、初回送信フラグが１（ＯＮ）に設定され、かつリストアフラグが０に設定されているものとする。初回送信フラグは、ログ管理アプリケーションの起動後、ログ管理システム１２０への１回目のログ送信処理を識別するために用意される。リストアフラグは、ログ管理アプリケーションがリストア処理の対象となったことが判定された場合に１となる。
【００８１】
Ｓ８０２で、ログ管理部３０５は、初回送信フラグを“１”から“０”（ＯＦＦ）に設定する。
【００８２】
次に、Ｓ８０３で、ログ管理部３０５は、ログ管理システム１２０に対してＮＷインターフェース２２６を介して、格納済ログ番号を要求する。この要求の応答として、ログ管理システム１２０からネットワーク１３０経由で格納済ログ番号を取得する。
【００８３】
次に、Ｓ８０４で、ログ管理部３０５は、送信済ログ番号が、ログ管理システム１２０から取得した格納済ログ番号よりも小さいか否かを確認する。送信済ログ番号が格納済ログ番号よりも小さい場合にはＳ８０５に進み、送信済ログ番号が格納済ログ番号よりも小さくない場合にはＳ８０６に進む。Ｓ８０５で、ログ管理部３０５は、リストアフラグを“０”から“１”（ＯＮ）に設定する。
【００８４】
送信済ログ番号が格納済ログ番号よりも小さい場合、ＭＦＰ１００内の記憶装置が交換され、かつ、ログ管理アプリケーションがリストア処理の対象となったことと考えることができる。なぜなら、リストアが発生すると、該アプリケーションにより保持される送信済ログ番号は、該アプリケーションがバックアップされたときの状態に戻るからである。
【００８５】
Ｓ８１２で、ログ管理部３０５は、Ｓ８０３の処理と同様に、ログ管理システム１２０からネットワーク１３０経由で格納済ログ番号を取得する。
【００８６】
Ｓ８０６で、ログ管理部３０５は、リストアフラグが１（ＯＮ）か否かを判断する。リストアフラグの値が１である場合にはＳ８０８に進み、リストアフラグの値が０である場合にはＳ８０７に進む。
【００８７】
Ｓ８０７で、ログ管理部３０５は、送信開始番号の値を、「（ログ管理システム１２０から取得した）格納済ログ番号＋１」に決定する。これにより、ログ管理システム１２０に未格納のジョブログのみを送信対象とすることができる。
【００８８】
Ｓ８０８で、ログ管理部３０５は、送信開始番号の値を、「送信済ログ番号＋１」に決定する。送信開始番号が「送信済ログ番号＋１」に設定されることで、リストア処理が発生していたとしても、ログ管理システム１２０に未送信である可能性があるジョブログを適切に送信対象とすることができる。これにより、ログ管理システム１２０でのジョブログの管理漏れの可能性を抑制でき得る。
【００８９】
Ｓ８０９で、ログ管理部３０５は、リストアフラグを“１”から“０”に設定する。
【００９０】
Ｓ８１０で、ログ管理部３０５は、送信開始番号に等しいログ識別番号を有するジョブログからログ管理システム１２０への送信を開始する。すなわち、ログ管理部３０５は、アプリケーション内ログ情報の中から、送信開始番号以降の番号に対応する全てのジョブログを含むログ情報をログ管理システム１２０に送信する。
【００９１】
次に、Ｓ８１１で、ログ管理部３０５は、ログ管理システム１２０からＳ８１０で送信したジョブログの受信及び格納の完了通知を受け取る。その後、図８で示す処理に戻る。
【００９２】
図１２を用いて、ログ管理システム１２０の記憶装置により実現されるストレージ内に蓄積されるサーバ管理ログ情報について説明する。
図１２（Ａ）では、ログ管理部１２１によって、最後に格納されたログ番号である格納済ログ番号として“１００２”という値を管理している。
【００９３】
ここで、ＭＦＰ１００のログ管理部３０５では、図９で示すようなアプリケーション内ログ情報を管理しているとする。すなわち、送付済ログ番号は、格納済ログ番号よりも小さい。
【００９４】
本実施形態では、ログ管理部３０５がリストアの発生を検知すると、前述のＳ８０７ではなく、Ｓ８０８の処理により送信開始番号を決定する。つまり、上述したような、送付済ログ番号が格納済ログ番号よりも小さいケースに、ログ管理システム１２０から取得した格納済ログ番号を基準としたジョブログの送信が行われなくなる。
【００９５】
図１２（Ｂ）は、Ｓ８０８の処理の後、Ｓ８１０でジョブログ送信が行われた場合のログ管理システム１２０におけるサーバ管理ログ情報を示している。ログ管理部１２１によって、あらたに２つのジョブログが蓄積、管理され、さらに最後に格納されたログ番号である格納済ログ番号として“５０４”という値が管理されることになる。
【００９６】
図１３で示すフローチャートを用いて、ログ管理システム１２０のログ管理部１２１による処理を説明する。本処理は、ＭＦＰ１００からの通信でデータを受信した場合に開始される。
【００９７】
Ｓ９０１で、ログ管理部１２１は、ＭＦＰ１００からネットワーク１３０を介して受信したデータが、ログ情報か否かを確認する。ログ情報を受信した場合にはＳ９０２に進み、ログ情報の受信ではなかった場合にはＳ９０７に進む。
【００９８】
Ｓ９０２で、ログ管理部１２１は、受信したログ情報の中から１レコードのジョブログを取り出す。そして、Ｓ９０３で、ログ管理部１２１は、この１レコードについて、既にサーバ管理ログ情報として蓄積されているジョブログと重複していないか否かを確認する。重複している場合にはＳ９０５に進み、重複していない場合にはＳ９０４に進む。
【００９９】
例えば、ログ管理部１２１は、Ｓ９０２で取り出したジョブログと、サーバ管理ログ情報内のジョブログとの出力デバイス、完了時刻、および発行者などのデータを比較することで重複の有無を判断する。
【０１００】
Ｓ９０４で、ログ管理部１２１は、Ｓ９０２で取り出したジョブログを、サーバ管理ログ情報として、ストレージに格納して、蓄積する。この際に、格納済ログ番号が更新される。
【０１０１】
Ｓ９０５で、ログ管理部１２１は、Ｓ９０１で受信したログ情報の全てのジョブログに対する処理が終了したか否かを判断する。全てのジョブログに対する処理が終了した場合にはＳ９０６に進み、終了していない場合にはＳ９０２に戻り、次のジョブログを取り出す。
【０１０２】
Ｓ９０６で、ログ管理部１２１は、Ｓ９０１で受信したログ情報の格納が管理要したことを示す完了通知を、ＭＦＰ１００に対して送信する。
【０１０３】
Ｓ９０７で、ログ管理部１２１は、ＭＦＰ１００からネットワーク１３０を介して受信したデータが、格納済ログ番号の問合せか否かを確認する。格納済ログ番号の問合せを受信した場合にはＳ９０８に進み、そうでない場合にはＳ９０９に進む。
【０１０４】
Ｓ９０８で、ログ管理部１２１は、ＭＦＰ１００に格納済ログ番号を送信する。また、Ｓ９０９ではＭＦＰ１００からの受信データに従うそのほかの処理を実行する。
【０１０５】
以上、説明したように、実施例１によれば、ＭＦＰ１００の記憶装置が交換され、かつログ管理部３０５のリストアが発生した場合、ログ管理部３０５は、ＷＰの初期化に合わせてＲＰもリセットする。従って、ＭＦＰ１００の記憶装置が交換された後、ログ管理部３０５は、新規のジョブログを正しく取得できる。
【０１０６】
また、実施例１では、格納済ログ番号と送信済ログ番号とを比較し、送信済ログ番号が格納済ログ番号よりも小さいときは、送信開始番号を「送信済ログ番号＋１」に設定する。従って、ＭＦＰ内で動作するアプリケーションのリストアが発生したとしても、その直後に発生したジョブログからログ管理システム１２０への送信が可能となり、ログ抜けが防止される。
【０１０７】
（実施例２）
上述の実施例１では、ログ管理部３０５からログ管理システム１２０への初回送信時に、ログ管理部３０５が保持する送信済ログ番号と、ログ管理システム１２０が保持する格納済ログ番号とを比較し、送信開始番号を決定する。これは、ＭＦＰ１００内の記憶装置の交換に起因するログ管理部３０５のリストアが発生すると、ＭＦＰ１００の再起動が発生するのが普通であるためである。
【０１０８】
しかし、ＭＦＰ１００が複数の記憶装置を備えるシステムにおいては、それら複数の記憶装置のうちの一部を交換する場合に、記憶装置の交換時であってもＭＦＰ１００の電源をオン状態に維持する応用が想定される。これにより、記憶装置の交換時であっても、ＭＦＰ１００による印刷実行を可能することで、ＭＦＰ１００の稼働効率を向上できるからである。この場合、ＭＦＰ１００の再起動、すなわち初回送信が発生しないため、記憶装置の交換によりログ管理部３０５のリストアが発生したとしても、該アプリケーション３０５は、該リストアを検出できない（図１１のＳ８０１→Ｓ８０６）。
【０１０９】
そこで、実施例２では、ＭＦＰ１００が複数の記憶装置を備えるシステムにおいて、上述の問題を解決するための改良技術を提案する。以下では、説明を簡単にするため、上述の実施例１と異なる点のみを説明する。具体的には、実施例２は、実施例１と比べると、リストアフラグの値の設定手順が異なる。すなわち、実施例２は、実施例１のリストアフラグの値を決める図１１のＳ８０１からＳ８０５までを以下に説明するフローに置き換えるものである。但し、図１１の格納済ログ番号の取得（Ｓ８０３）は、以下に説明するフローの実行中、またはその前後において実行される。本フローの終了後、Ｓ８０９を実行するためである。それ以外については、実施例１と同じであるため、その説明を省略する。なお、以下の説明において、ログ種は１種類のみとし、リストアフラグは初期化により０に設定されているものとする。
【０１１０】
図１４は、リストアフラグの設定手順を示す。
リストアフラグの値は、ＷＰ、ＲＰ、ＭＦＰ１００におけるジョブログの最大格納数Ｌｍａｘなどに基づき決定する。また、以下のフローは、図８のＷＰの取得ステップ（Ｓ７０２）において実行される。すなわち、以下のフローは、図８のＳ７０１後、図８のＳ７０３前に実行される。
【０１１１】
まず、Ｓ１１０１で、ログ管理部３０５は、ＷＰおよびＬｍａｘを取得する。続けて、Ｓ１１０２で、ログ管理部３０５は、自らが保持しているＲＰがＷＰよりも小さいか否か、およびＲＰがＷＰからＬｍａｘを減じた値よりも大きいか否かを確認する。
【０１１２】
Ｓ１１０２で、ＲＰがＷＰよりも小さく、かつＲＰがＷＰからＬｍａｘを減じた値よりも大きい場合、Ｓ１１０３で、ログ管理部３０５は、ＲＰで示されるジョブログを取得する。すなわち、ログ管理部３０５は、ジョブ制御部３１５が提供する手段を呼び出し、この手段を用いてＲＰで示されるジョブログを取得する。
【０１１３】
次に、Ｓ１１０４で、ログ管理部３０５は、Ｓ１１０３で取得したジョブログとアプリケーション内ログ情報内に記録された最新のジョブログとが一致するか否かを確認する。例えば、ログ管理部３０５は、Ｓ１１０３で取得したジョブログとアプリケーション内ログ情報内に記録された最新のジョブログとを比較し、それらに記録されている「完了時刻」および「発行者」が一致するか否かを確認する。
【０１１４】
「完了時刻」および「発行者」が一致する場合、ログ管理部３０５は、両ジョブログが一致すると判断し、本ルーチンを終了する。すなわち、図１１のＳ８０６に進む。また、「完了時刻」および「発行者」の少なくとも１つが一致しない場合、ログ管理部３０５は、両ジョブログが一致しないと判断し、Ｓ１１０５に進む。そして、Ｓ１１０５で、ログ管理部３０５は、リストアフラグを１に設定し、本ルーチンを終了する。すなわち、図１１のＳ８０６に進む。
【０１１５】
なお、Ｓ１１０４で比較対象となるジョブログの項目は、「完了時刻」および「発行者」に限られない。すなわち、Ｓ１１０４で比較対象となるジョブログの項目は、「完了時刻」および「発行者」以外であってもよい。また、Ｓ１１０４で比較対象となるジョブログの項目数も、２つに限られず、３つ以上であってもよい。
【０１１６】
ここで、Ｓ１１０１からＳ１１０５までのフローによりログ管理部３０５のリストアが発生しているか否かを判断できる理由について説明する。
【０１１７】
例えば、Ｓ１１０２で、ＲＰがＷＰよりも小さく、かつＲＰがＷＰからＬｍａｘを減じた値よりも大きい場合、図１５（Ａ）に示すように、ＷＰとＲＰは正常な関係を有する。すなわち、ＷＰは２００を示し、ＲＰは２０を示す。従って、ＲＰで示されるジョブログがアプリケーション内ログ情報内のジョブログと一致すれば、ログ管理部３０５のリストアが発生していないと想定される。よって、この場合、ログ管理部３０５は、ＲＡＭ２２２のワーク領域内のリストアフラグの値を０のままとする。
【０１１８】
また、ＲＰで示されるジョブログがアプリケーション内ログ情報内のジョブログと一致しなければ、その一致しない理由がログ管理部３０５のリストアにあると判断できる。よって、この場合、ログ管理部３０５は、ＲＡＭ２２２のワーク領域内のリストアフラグの値を１に設定する。
【０１１９】
一方、Ｓ１１０２で、ＲＰがＷＰよりも小さくなく、かつＲＰがＷＰからＬｍａｘを減じた値よりも大きくない場合、ＷＰとＲＰは正常でない関係を有すると考えられる。そこで、Ｓ１１０６で、ログ管理部３０５は、まず、ＲＰがＷＰからＬｍａｘを減じた値よりも小さいか否かを確認する。Ｓ１１０６で、ＲＰがＷＰからＬｍａｘを減じた値よりも小さい場合、後述するように、ＲＰで示されるジョブログは既に消滅している。このジョブログの消滅は、ＭＦＰ１００内の記憶装置の交換、ログ管理部３０５のリストアなどの何らかの原因により基づくと考えられる。このため、Ｓ１１０５に進み、ログ管理部３０５は、リストアフラグの値を１に設定する。
【０１２０】
ＲＰがＷＰからＬｍａｘを減じた値よりも小さい場合の例を説明する。例えば、図１５（Ｂ）に示すように、ＷＰが５２００を示し、ＲＰが２０を示す場合は、Ｌｍａｘが５０００であるから、ＲＰがＷＰからＬｍａｘを減じた値よりも小さい場合に相当する。この場合、ＷＰが５００１から５２００までのジョブログは、ＷＰが１から２００までのジョブログを上書きしている。すなわち、ＲＰ＝２０で示されるジョブログは、ＷＰ＝５０２０で示されるジョブログに置き換わっており、既に消滅していることが分かる。従って、ＲＰで示されるジョブログは取得することすらできない。
【０１２１】
このような状態、すなわち、ＲＰで示されるジョブログが既に消滅しており、かつ取得できない状態は、第一に、ログ管理部３０５のリストアによりＲＰがバックアップ時の値に戻された場合に発生すると考えられる。また、このような状態は、第二に、ＭＦＰ１００でジョブログが生成される速度が、ログ管理部３０５がジョブログを取得する速度よりも十分に大きい場合にも発生し得ると考えられる。すなわち、ＭＦＰ１００内で生成されるジョブログの生成数と、ログ管理部３０５が取得するジョブログの取得数との差分が、Ｌｍａｘを超えると、上記状態が発生し得る。
【０１２２】
これら第一および第二の場合にリストアフラグの値を１（ＯＮ）に設定する。リストアフラグの値が１に設定されることで、送信開始番号が「送信済ログ番号＋１」となる。このため、実際にログ管理部３０５のリストアが発生していた場合に、ログの消失を防止することができる。
【０１２３】
なお、第二の場合においては、ログ管理部３０５のリストアが発生していないにもかかわらず、リストアフラグが１に設定されることがある。この場合、送信開始番号が「送信済ログ番号＋１」となることで、既にログ管理システム１２０に送信済、すなわち、バックアップ済であるジョブログを再びログ管理システム１２０に送信するという事態（重複送信）が発生し得る。しかし、この場合であっても、既に述べたログ管理システム１２０の機能、具体的には、ログ管理システム１２０の重複除外処理（図１３のＳ９０３）により、同一のジョブログの重複格納を防止できる。
【０１２４】
Ｓ１１０６で、ＲＰがＷＰからＬｍａｘを減じた値よりも小さくない場合、次に、Ｓ１１０７で、ログ管理部３０５は、ＲＰがＷＰよりも大きいか否かを確認する。Ｓ１１０７で、ＲＰがＷＰよりも大きい場合、ＷＰとＲＰは正常でない関係を有する。すなわち、ＲＰがＷＰよりも大きい場合、ＭＦＰ１００内の記憶装置の交換によりＷＰがリセットされていると想定されるため、Ｓ１１０５に進み、ログ管理部３０５は、リストアフラグの値を１に設定する。
【０１２５】
また、Ｓ１１０５で、リストアフラグを１に設定した後、本ルーチンを終了する。すなわち、図１１のＳ８０６に進む。
【０１２６】
ここで、ＲＰがＷＰよりも大きい場合の例を説明する。例えば、図１５（Ｃ）に示すように、ＷＰが２０を示し、ＲＰが２００を示す場合、ＭＦＰ１００内の記憶措置の交換によりＷＰがリセットされたと考えることができる。すなわち、ＲＰは、ログ管理部３０５のリストアにより、該アプリケーション３０５のバックアップ時の値（ＲＰ＝２００）となる反面、ＷＰの値は、記憶装置の交換によりリセット後の値となる。従って、ＲＰがＷＰよりも大きい状態は、ＭＦＰ１００内の記憶装置の交換、およびログ管理部３０５のリストアが発生していると想定されるため、リストアフラグを１（ＯＮ）に設定する。
【０１２７】
Ｓ１１０７で、ＲＰがＷＰよりも大きくない場合は、Ｓ１１０２、Ｓ１１０６、およびＳ１１０７のすべてにおいて、Ｎｏであることを意味し、この場合、ＷＰとＲＰは正常な関係を有する。従って、ログ管理部３０５は、リストアフラグを１に設定することなく、本ルーチンを終了する。すなわち、図１１のＳ８０６に進む。
【０１２８】
以上、説明したように、実施例２によれば、実施例１と同様の効果を得ることができる。さらに、実施例２では、ＭＦＰ１００内の記憶装置の交換が発生したときにＭＦＰ１００の再起動が発生しなくても、ＷＰ、ＲＰ、Ｌｍａｘなどに基づき、ログ管理部３０５のリストアが発生したか否かの判断を行うことができる。従って、実施例２は、特に、記憶装置の交換時にＭＦＰ１００の電源が遮断されないようなシステムにおいて、該リストアの発生によるログ抜けを防止するのに非常に有効である。
【０１２９】
（その他の実施形態）
本発明は、上述の例の１以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介しシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１３０】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【０１３１】
１００  ＭＦＰ
１２０  ログ管理システム
１４０  バックアップ・リストアサービス
【図１】
2019155743.tif 000003
【図２】
2019155743.tif 000004
【図３】
2019155743.tif 000005
【図４】
2019155743.tif 000006
【図５】
2019155743.tif 000007
【図６】
2019155743.tif 000008
【図７】
2019155743.tif 000009
【図８】
2019155743.tif 000010
【図９】
2019155743.tif 000011
【図１０】
2019155743.tif 000012
【図１１】
2019155743.tif 000013
【図１２】
2019155743.tif 000014
【図１３】
2019155743.tif 000015
【図１４】
2019155743.tif 000016
【図１５】
2019155743.tif 000017