(57)【要約】【課題】ハードディスクドライブの寿命を保証できる書き込み頻度でログの書き込みを行うことである。【解決手段】情報処理装置は、ハードディスクドライブ寿命情報を基にアクセス許容間隔を計算する計算手段と、経過時間をカウントするタイマ手段と、前記経過時間が前記アクセス許容間隔に基づく第１の時間を経過する前に、アプリケーションプログラムからログを入力した場合には、前記アプリケーションプログラムからのログをメモリに書き込み、前記経過時間が前記第１の時間を経過した場合には、前記メモリに書き込まれたログをハードディスクドライブに書き込む書き込み手段とを有する。【選択図】図５
2020080017.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスクドライブ寿命情報を基にアクセス許容間隔を計算する計算手段と、
経過時間をカウントするタイマ手段と、
前記経過時間が前記アクセス許容間隔に基づく第１の時間を経過する前に、アプリケーションプログラムからログを入力した場合には、前記アプリケーションプログラムからのログをメモリに書き込み、前記経過時間が前記第１の時間を経過した場合には、前記メモリに書き込まれたログをハードディスクドライブに書き込む書き込み手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記書き込み手段は、前記経過時間が前記第１の時間を経過した後に、前記アプリケーションプログラムからログを入力した場合には、前記アプリケーションプログラムからのログを前記ハードディスクドライブに書き込み、
前記タイマ手段は、前記ハードディスクドライブにログが書き込まれてからの経過時間をカウントすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記タイマ手段は、前記アクセス許容間隔ごとの経過時間をカウントすることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１の時間は、前記アクセス許容間隔であることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１の時間は、前記アクセス許容間隔および前記ログを入力したアプリケーションプログラムの種類に基づく時間であることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１の時間は、前記アクセス許容間隔および前記入力したログに付与されているログレベルに基づく時間であることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１の時間は、前記アクセス許容間隔および前記ハードディスクドライブの状態に基づく時間であることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の時間は、前記アクセス許容間隔および前記ハードディスクドライブの健康状態に基づく時間であることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項９】
前記第１の時間は、前記アクセス許容間隔および前記ハードディスクドライブのＳＭＡＲＴ情報に基づく時間であることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項１０】
計算手段により、ハードディスクドライブ寿命情報を基にアクセス許容間隔を計算するステップと、
タイマ手段により、経過時間をカウントするステップと、
書き込み手段により、前記経過時間が前記アクセス許容間隔に基づく第１の時間を経過する前に、アプリケーションプログラムからログを入力した場合には、前記アプリケーションプログラムからのログをメモリに書き込み、前記経過時間が前記第１の時間を経過した場合には、前記メモリに書き込まれたログをハードディスクドライブに書き込むステップと
を有することを特徴とする情報処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１〜９のいずれか１項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置においては、ＪＡＶＡ（登録商標）環境に代表されるようなアプリケーションプログラム（以下、アプリ）動作環境が提供されている。ＪＡＶＡの持つプログラムの可搬性を利用して、拡張可能なアプリを提供する技術が提案されている。画像形成装置の機能やユーザビィリティの向上を図るために、上記のＪＡＶＡ環境などの環境下で動作するアプリを作成し、画像形成装置にインストールすることで、当該アプリにより所望の機能を実現できる。
【０００３】
アプリプラットフォームとしては、組み込み機器向けのＪＡＶＡアプリプラットフォームであるＯＳＧｉ（Ｏｐｅｎ  Ｓｅｒｖｉｃｅｓ  Ｇａｔｅｗａｙ  Ｉｎｉｔｉａｔｉｖｅ）Ｓｅｒｖｉｃｅ Ｐｌａｔｆｏｒｍ（以下、ＯＳＧｉ）がある。ＯＳＧｉでは、ソフトウェアモジュールの管理単位としてバンドルを定義しており、インストール／開始／停止／更新／アンインストールからなるライフサイクルを管理するための仕様を定義している。ここで、バンドルとは、ＪＡＶＡモジュールのことを指し、本明細書においては、アプリと同義である。そのため、以後、アプリのことをバンドルと表記する。このようなアプリプラットフォームでは、コピー、スキャン、プリント等の組み込み機能をバンドルが提供することができる。
【０００４】
一般的に、このバンドルの開発時、あるいは稼働時、主に、その挙動を確認する目的で、ログを出力する必要性がある。特許文献１には、ログのフォーマットや出力仕様を画像形成装置で統一的に管理するためのロギング装置が開示されている。このロギング装置は、揮発性メモリに記録したログの合計サイズが閾値に達した場合に、揮発性メモリに記録したログを不揮発性メモリに保存する。各バンドルは、このロギング装置を通して、各バンドルのプログラム上の任意の場所から、任意のタイミングでログを出力することが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２２５３１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のロギング装置では、バンドルからのログ出力のタイミングは任意であるため、不揮発性メモリにログが保存されるタイミングを予測および制御することができない。
【０００７】
一方、不揮発性メモリの代表であるハードディスクドライブ（ＨＤＤ）には、寿命がある。この寿命は、ＨＤＤへの累積書き込み回数に依存し、累積書き込み回数が一定以上の回数に達すると、故障することが知られている。特に、安価なＨＤＤは、その寿命が短いことが一般的である。近年、画像形成装置の価格を抑えるために、その一部品であるＨＤＤも安価なものを選択する傾向にある。
【０００８】
前述したように、不揮発性メモリへのログ出力を制御できないということは、バンドルのログ出力の仕様によっては、早い段階で、ＨＤＤの寿命に達してしまう可能性が考えらえる。かといって、ＨＤＤの寿命を考慮し、バンドル側にログ出力のタイミングを制御させるのは、バンドル側のプログラムを生成する上での負担が大きくなる。
【０００９】
本発明の目的は、ハードディスクドライブの寿命を保証できる書き込み頻度でログの書き込みを行うことにより、ハードディスクドライブの寿命を情報処理装置の保証期間と同等になるようにすることである。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、ハードディスクドライブ寿命情報を基にアクセス許容間隔を計算する計算手段と、経過時間をカウントするタイマ手段と、前記経過時間が前記アクセス許容間隔に基づく第１の時間を経過する前に、アプリケーションプログラムからログを入力した場合には、前記アプリケーションプログラムからのログをメモリに書き込み、前記経過時間が前記第１の時間を経過した場合には、前記メモリに書き込まれたログをハードディスクドライブに書き込む書き込み手段とを有する。
【発明の効果】
【００１１】
アプリケーションプログラムがログ出力のタイミングを意識することなく、ハードディスクドライブの寿命を保証できる書き込み頻度でログの書き込みを行うことができる。
【図面の簡単な説明】
【００１２】
【図１】画像形成装置のハードウェア構成例を示す図である。
【図２】画像形成装置のソフトウェアモジュール階層を示す図である。
【図３】ログサービスの構成例を示すブロック図である。
【図４】ログサービスの処理の流れを示すブロック図である。
【図５】ログサービスの処理の流れを時系列的に示すブロック図である。
【図６】ログサービスにおけるログ書き込み処理を示すフローチャートである。
【図７】タイマ開始処理を示すフローチャートである。
【図８】ＨＤＤアクセス基準許容間隔取得処理を示すフローチャートである。
【図９】タイマ処理によるログ書き込み処理を示すフローチャートである。
【図１０】ログサービスの処理の流れを時系列的に示すブロック図である。
【図１１】タイマ開始処理を示すフローチャートである。
【図１２】補正レベルとバンドル種別の関係を示す図である。
【図１３】ログサービスの処理の流れを時系列的に示すブロック図である。
【図１４】ログサービスにおけるログ書き込み処理を示すフローチャートである。
【図１５】タイマ開始処理を示すフローチャートである。
【図１６】タイマ見直し処理を示すフローチャートである。
【図１７】ＨＤＤアクセス補正許容間隔取得処理を示すフローチャートである。
【図１８】補正レベルとログレベルの関係を示す図である。
【図１９】ＨＤＤのＳＭＡＲＴの一例を示す図である。
【図２０】ＨＤＤアクセス補正許容間隔取得処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
図１は、本発明の第１の実施形態による画像形成装置１３０のハードウェア構成例を示す図である。画像形成装置１３０は、情報処理装置であり、印刷機能、スキャン機能およびネットワーク通信機能を有し、ログサービスにおけるハードディスクドライブ（ＨＤＤ）アクセスを一定以上の頻度でアクセスしないように制御する。画像形成装置１３０は、スキャナ部１１３とプリンタ部１１４を有し、ローカルエリアネットワーク（ＬＡＮ）１１６を介して外部デバイスに接続される。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０２に記憶されたプログラム等に基づいて、各種ハードウェアとのアクセスを統括的に制御し、各種処理を統括的に制御する。ＲＯＭ１０２は、読み出し専用の不揮発性メモリであり、画像形成装置１３０のブートプログラムおよびファームウェアなどを格納している。
【００１５】
ＲＡＭ１０３は、ＣＰＵ１０１が動作するためのシステムワークメモリであり、各種データを一時記憶するためのメモリである。このＲＡＭ１０３は、記憶した内容を電源オフ後も保持可能なＦＲＡＭ（登録商標）またはＳＲＡＭ、および電源オフ後に記憶内容が消去されるＤＲＡＭなどにより構成される。ＨＤＤ１０４は、不揮発性記憶装置であり、システムバンドルなどを格納するハードディスクドライブである。画像形成装置１３０のファームウェアは、ＨＤＤ１０４に格納される。
【００１６】
操作部Ｉ／Ｆ１０５は、システムバス１１９と操作部１１８とを接続するためのインタフェース部である。具体的には、操作部Ｉ／Ｆ１０５は、操作部１１８に表示するデータをシステムバス１１９から入力し、操作部１１８に表示すると共に、操作部１１８からの入力情報をシステムバス１１９へ出力する。操作部１１８は、画像形成装置１３０に対するユーザの指示や情報提示を入力する。ネットワークＩ／Ｆ１０６は、ＬＡＮ１１６、ワイドエリアネットワーク（ＷＡＮ）１１７およびシステムバス１１９に接続され、外部装置との情報の入出力を行う。
【００１７】
スキャナ部１１３は、紙媒体の原稿をスキャンし、画像データを生成する。スキャナＩ／Ｆ１０８は、スキャナ部１１３により生成された画像データに対して、補正、加工および編集を行う。画像形成部１０９は、画像データの方向変換、画像圧縮および伸張などを行う。プリンタＩ／Ｆ１１０は、画像形成部１０９から画像データを入力し、画像形成後のデータをプリンタ部１１４に出力する。プリンタ部１１４は、画像を印刷する。
【００１８】
図２は、画像形成装置１３０のソフトウェア２００のモジュール階層の構成例を示す図である。以下、画像形成装置１３０の制御方法を説明する。図２以降に示す各ソフトウェアは、ＲＯＭ１０２またはＨＤＤ１０４に保存されるプログラムであり、ＣＰＵ１０１により実行される。また、実行時に使用する各種情報は、ＲＡＭ１０３またはＨＤＤ１０４に保持され、ソフトウェア間で入出力される。ＣＰＵ１０１は、ネットワークＩ／Ｆ１０６を介して、外部機器との通信を行う。
【００１９】
次に、ソフトウェア２００の説明を行う。ソフトウェア２００は、オペレーティングシステム（ＯＳ）プラットフォーム２０１と、ＵＩ２０２とを有する。ＵＩ２０２は、ユーザインタフェースモジュールであり、ユーザが画像形成装置１３０に対する各種操作または設定を行う際に、画像形成装置１３０とユーザの操作との仲介を行うモジュールである。ＵＩ２０２は、ユーザの操作に従い、各種モジュールに入力情報を転送して処理の依頼、或いはデータの設定変更等を行う。
【００２０】
次に、ＪＡＶＡに係る構成について説明する。ＪＡＶＡに係るソフトウェアプラットフォームは、Ｊａｖａ（登録商標）ＶＭ２０７のランタイム環境として構成されており、インタプリタとしてのＪａｖａＶＭ２０７、ライブラリ２０８、フレームワーク群２０９により構成される。ライブラリ２０８は、標準のＡＰＩライブラリを含んでいる。フレームワーク群２０９は、ＯＳＧｉ２１０と、ＯＳＧｉ拡張部２１１とを有する。ＯＳＧｉ２１０は、単一のＪａｖａＶＭ２０７に複数のバンドル（アプリケーションプログラム）を動作させる。ＯＳＧｉ拡張部２１１は、インタフェース仕様であるＯＳＧｉ２１０に対する実装部分を担うモジュールである。ＯＳＧｉ拡張部２１１は、ＯＳＧｉ２１０の仕様を満たす範囲で、必要に応じて機能を拡張可能である。ＯＳＧｉ２１０およびＯＳＧｉ拡張部２１１は、バンドルのライフサイクルの管理やバンドル間通信機能などを提供する。
【００２１】
ＯＳＧｉ２１０上には、システムバンドル群２１２がある。システムバンドル群２１２は、コピー、スキャン、印刷等の画像形成装置１３０の基本的な組み込み機能や、複数のバンドルを管理し、新たなバンドルの追加、更新、削除をするためのバンドル管理サービス２１４を有する。バンドル管理サービス２１４は、パーソナルコンピュータからのインストール指示を受信する受信口でもある。バンドル管理サービス２１４は、インストール指示を受信すると、インストール制御サービス２１３を利用して、バンドルの追加または更新を行う。
【００２２】
また、システムバンドル群２１２は、画像形成装置１３０のログを管理するログサービス２１５を有する。ログサービス２１５は、各バンドルからのログ書き込みに対して、統一的なログ仕様でログをＨＤＤ１０４に出力するサービスである。
【００２３】
また、システムバンドル群２１２は、画像形成装置１３０の認証機能を担う認証バンドル２１６を有する。認証バンドル２１６は、ユーザが画像形成装置１３０に認証中に任意のバンドルから任意のタイミングで認証情報の問い合わせがあるため、停止できない特性を持つバンドルである。
【００２４】
ソフトウェア２００は、後からインストールするタイプの後入れバンドル群２１７を有する。後入れバンドル群２１７は、後入れバンドル２１９を有する。後入れバンドル２１９は、画像形成装置１３０において各種機能をユーザに提供する。例えば、後入れバンドル２１９は、画像の加工機能、認証管理機能、印刷制限などの部門管理機能などの機能を有する。後入れバンドル２１９は、バンドル管理サービス２１４の管理下で動作する。バンドル管理サービス２１４は、管理下に追加されたバンドルのバージョンを含むバンドル情報、およびライセンス情報などを保持している。
【００２５】
図３は、ログサービス２１５の構成例を示すブロック図である。バンドル３００は、図２で示した認証バンドル２１６を含むシステムバンドル群２１２、および後入れバンドル群２１７などのバンドル全般を示している。
【００２６】
ログサービス２１５の構成について説明する。バンドル３００は、処理３１０で示すように、ログ受信Ｉ／Ｆ部３０１を通じて、ログの内容として、ログレベルとログ内容をログサービス処理コア部３０２に出力する。ログ受信Ｉ／Ｆ部３０１は、バンドル３００からログの内容を受信するインタフェースである。ログサービス処理コア部３０２は、バンドル３００からログレベルとログ内容を受信し、その受信したログレベルとログ内容に日時などの追加情報を加えたものを、ログ出力Ｉ／Ｆ部３０５を通じて、ＲＡＭ１０３またはＨＤＤ１０４に出力する制御部である。
【００２７】
ＨＤＤアクセス許容間隔計算部３０３は、ＨＤＤ１０４からＨＤＤ寿命規格を取得し、後述するＨＤＤアクセス基準許容間隔、もしくは、ＨＤＤアクセス補正許容間隔を計算する。ログサービス処理コア部３０２は、タイマ部３０４のタイマ時間をセットする。タイマ時間が経過すると、タイマ部３０４は、処理３１１で示すように、ＲＡＭ１０３上にあるログの内容をＨＤＤ１０４に出力させる。
【００２８】
図４（ａ）は、バンドル４００，４０１とログサービス２１５の関連性を示すブロック図である。バンドル４００とバンドル４０１は、ログサービス２１５に対して、ログ出力の要求を行うバンドルである。ログサービス２１５は、ＨＤＤ寿命規格４０２をＨＤＤ１０４から取得する。ＨＤＤ寿命規格４０２は、ハードディスクドライブ寿命情報である。ログサービス２１５内のＨＤＤアクセス許容間隔計算部３０３は、このＨＤＤ寿命規格４０２と予め想定した下記の前提条件と下記の前提パラメータを利用した下記の式（１）〜（３）により、ＨＤＤアクセス基準許容間隔４０３を計算する。ＨＤＤアクセス基準許容間隔４０３は、ＨＤＤ１０４のアクセス許容間隔である。
【００２９】
上記の前提条件は、画像形成装置１３０の保証期間を５年とし、画像形成装置１３０で利用されるＨＤＤ１０４も最低５年間は故障しないようにしたいと仮定する。
【００３０】
上記の前提パラメータは、下記のパラメータＰ１およびＰ２を含む。
Ｐ１＝ＨＤＤアクセスのうちバンドルからのログ出力によるアクセスの割合（％）
Ｐ２＝ＨＤＤの１回あたりの想定アクセス時間（ｓ）
【００３１】
各バンドルがＨＤＤにアクセスするのに許容された時間（ｈ）は、下記の式（１）のＡ１で表される。
Ａ１＝ＨＤＤ寿命規格（ｈ）×Ｐ１      ・・・（１）
【００３２】
ＨＤＤの１時間当たりのアクセス許容回数は、下記の式（２）のＡ２で表される。
Ａ２＝Ａ１×３６００（ｓ）／Ｐ２／４３８００（ｈ）      ・・・（２）
ここで、４３８００（ｈ）は、５年間の時単位であり、２４（ｈ）×３６５（ｄ）×５（ｙ）で表される。
【００３３】
ＨＤＤアクセス基準許容間隔４０３は、下記の式（３）のＡ３で表される。
Ａ３＝６０（ｍｉｎ）／Ａ２      ・・・（３）
【００３４】
次に、具体例を説明する。例えば、ＨＤＤ寿命規格４０２は、７０００時間である。パラメータＰ１は、５０（％）である。パラメータＰ２は、リード／ライト時間が１（ｓ）、ロード時間が１５（ｓ）であり、合計１６（ｓ）である。
Ａ１＝７０００（ｈ）×５０（％）＝３５００（ｈ）
Ａ２＝３５００ × ３６００（ｓ）／１６（ｓ）／４３８００（ｓ）≒１８回／ｈ
Ａ３＝６０（ｍｉｎ）／１８（回／ｈ）≒ ３（ｍｉｎ／回）
【００３５】
その結果、ＨＤＤアクセス基準許容間隔４０３は、３分に１回となる。つまり、バンドルがＨＤＤにアクセスする間隔を３分に１回以上の長い間隔にしておけば、理論上は、５年間使い続けても、ＨＤＤ寿命規格４０２の７０００時間を少なくともログ出力の分では超えないといえる。
【００３６】
ログサービス２１５は、出力要求毎にログの内容を、ＨＤＤ１０４のログファイル４０６に書き込むか、一旦、ＲＡＭ１０３のログリスト４０８に書き込むかの判断４０４をする。ログサービス２１５は、判断４０４において、ＨＤＤ１０４に書き込むと判断した場合、処理４０５に示すように、ＨＤＤ１０４のログファイル４０６にログの内容を書き込む。
【００３７】
一方、ログサービス２１５は、判断４０４において、ＲＡＭ１０３に書き込むと判断した場合、処理４０７に示すように、ＲＡＭ１０３のログリスト４０８にログの内容を書き込む。また、ログサービス２１５は、タイマ４０９を生成し、処理４１０に示すように、ＨＤＤアクセス基準許容間隔４０３のタイマ時間をタイマ４０９にセットする。タイマ４０９は、経過時間をカウントし、セットされたタイマ時間が経過すると、処理４１１に示すように、ＲＡＭ１０３上のログリスト４０８の内容をＨＤＤ１０４のログファイル４０６に出力させる。
【００３８】
図４（ｂ）は、ログファイル４０６の具体的なログ群４２０の一例を示す図である。ログ群４２０は、ログ４２１〜４２３を有する。ログ４２１は、バンドルＩＤ「99997777-5555-3333-1111-000000001111」を持つバンドルによって、ログレベル「INFO」で「Device is ready.」という内容のログが出力されたものである。
【００３９】
ここで、バンドルＩＤは、バンドルを一意に識別するためのＩＤである。そのため、バンドルＩＤを参照すれば、どのバンドルから出力されたログなのかが特定可能となる。また、ログレベルは、ログの重要度を示すものである。例えば、ログレベルは、インフォレベル「INFO」、ワーニングレベル「WARN」、クリティカルレベル「CRTL」などを有する。一般的に、デバッグで利用する想定のログはINFOレベルであり、正常系から少し外れたような処理や状態であることを示す場合はWARNレベルであり、正常系ではない処理や状態であることを示す場合はCRTLレベルである。こうして、ログ内容に応じたログレベルを出力しておくことで、後で、ログを解析するときに活用することができる。
【００４０】
ログ４２２は、バンドルＩＤ「11111111-1111-1111-1111-111111111111」を持つバンドルによって、ログレベル「WARN」で「COPY Service does not start.」の内容のログが出力される。
【００４１】
ログ４２３は、バンドルＩＤ「22222222-1111-1111-1111-111111111111」を持つバンドルによって、ログレベル「CRTL」で「FAX device is not available.」の内容のログが出力される。
【００４２】
図５は、図４（ａ）で示したログサービス２１５の処理の流れを時系列的に示すブロック図である。例えば、ＨＤＤアクセス基準許容間隔４０３は、３分である。図５では、上から、タイマ４０９、ＲＡＭ１０３、ＨＤＤ１０４、ログサービス２１５、バンドル４００／バンドル４０１を示す。経過時間５４０は、最初に作成されるタイマ４０９の作成時点を起点とした時間（単位は分）である。
【００４３】
経過時間５４０が０分の処理５０１では、バンドル４００またはバンドル４０１は、ログ（ａ）５００をログサービス２１５に対して出力する。ログサービス２１５は、この時点ではタイマ４０９が作成されていないので、ログ（ａ）５００をＨＤＤ１０４のログファイル４０６にログファイル５０２として書き込む。ログファイル５０２は、ログ（ａ）５００を有する。処理５０３では、ログサービス２１５は、タイマ４０９を作成する。このとき、ＨＤＤアクセス基準許容間隔４０３は３分であるので、間隔５０４に示すように、タイマ４０９のタイマ時間は、３分にセットされる。この結果、経過時間５４０において３分までのタイマ４０９が生成される。
【００４４】
経過時間５４０が１分の処理５０６では、バンドル４００またはバンドル４０１は、ログ（ｂ）５０５をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｂ）５０５をＲＡＭ１０３のログリスト４０８にログリスト５０７として書き込む。ログリスト５０７は、ログ（ｂ）５０５を有する。
【００４５】
経過時間５４０が２分の処理５０９では、バンドル４００またはバンドル４０１は、ログ（ｃ）５０８をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｃ）５０８をＲＡＭ１０３のログリスト４０８にログリスト５１０として書き込む。ログリスト５１０は、ログ（ｂ）５０５とログ（ｃ）５０８を有する。
【００４６】
経過時間５４０が３分の処理５１１では、タイマ４０９は、３分経過したことをトリガーとする。処理５１２では、タイマ４０９は、ＲＡＭ１０３のログリスト５１０をＨＤＤ１０４のログファイル４０６にログファイル５１３として書き込み、ＲＡＭ１０３のログリストを削除する。ログファイル５１３は、ログ（ｂ）５０５とログ（ｃ）５０８を有する。ログサービス２１５は、間隔５１４に示すように、タイマ時間を３分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において６分までのタイマ４０９が生成される。
【００４７】
経過時間５４０が６分の処理５１５では、タイマ４０９が３分経過したことをトリガーとし、タイマ４０９がログリスト４０８をＨＤＤ１０４のログファイル４０６に出力しようとする。しかし、タイマ４０９は、ログリスト４０８がないので、ログリスト４０８を出力せず、ログサービス２１５は、タイマ４０９を削除する。
【００４８】
経過時間５４０が７分の処理５１７では、バンドル４００またはバンドル４０１は、ログ（ｄ）５１６をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しないので、ログ（ｄ）５１６をＨＤＤ１０４のログファイル４０６にログファイル５１８として書き込む。ログファイル５１８は、ログ（ｄ）５１６を有する。
【００４９】
処理５１９では、ログサービス２１５は、タイマ４０９を作成する。このとき、ＨＤＤアクセス基準許容間隔４０３は３分であるので、間隔５２０に示すように、タイマ４０９のタイマ時間は３分にセットされる。この結果、経過時間５４０において１０分までのタイマ４０９が生成される。
【００５０】
経過時間５４０が９分の処理５２２では、バンドル４００またはバンドル４０１は、ログ（ｅ）５２１をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｅ）５２１をＲＡＭ１０３のログリスト４０８にログリスト５２３として書き込む。ログリスト５２３は、ログ（ｅ）５２１を有する。
【００５１】
経過時間５４０が１０分の処理５２４では、タイマ４０９は、３分経過したことをトリガーとする。処理５２５では、タイマ４０９は、ＲＡＭ１０３のログリスト５２３をＨＤＤ１０４のログファイル４０６にログファイル５２６として書き込む。ログファイル５２６は、ログ（ｅ）５２１を有する。ログサービス２１５は、間隔５２７に示すように、タイマ時間を３分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において１３分までのタイマ４０９が生成される。
【００５２】
経過時間５４０が１１分の処理５２９では、バンドル４００またはバンドル４０１は、ログ（ｆ）５２８をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｆ）５２８をＲＡＭ１０３のログリスト４０８にログリスト５３０として書き込む。ログリスト５３０は、ログ（ｆ）５２８を有する。
【００５３】
経過時間５４０が１３分の処理５３１では、タイマ４０９は、３分経過したことをトリガーとする。処理５３２では、タイマ４０９は、ＲＡＭ１０３のログリスト５３０をＨＤＤ１０４のログファイル４０６にログファイル５３３として書き込む。ログファイル５３３は、ログ（ｆ）５２８を有する。ログサービス２１５は、間隔５３４に示すように、タイマ時間を３分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において１６分までのタイマ４０９が生成される。
【００５４】
図６は、ログサービス２１５のログ書き込み処理を示すフローチャートである。ステップＳ６００では、ログサービス２１５は、バンドルからのログの書き込み処理を開始する。ステップＳ６０１では、ログサービス２１５は、タイマ４０９が存在しているか否かを判断する。ログサービス２１５は、タイマ４０９が存在していない場合には、ステップＳ６０３に進み、タイマ４０９が存在している場合には、ステップＳ６０２に進む。
【００５５】
ステップＳ６０３では、ログサービス２１５は、ＨＤＤ１０４のログファイル４０６にログを書き込み、ステップＳ６０４に進む。ステップＳ６０４では、ログサービス２１５は、タイマ４０９を作成し、タイマ４０９を開始させ、ステップＳ６０５に進む。
【００５６】
ステップＳ６０２では、ログサービス２１５は、ＲＡＭ１０３のログリスト４０８にログを書き込み、ステップＳ６０５に進む。ステップＳ６０５では、ログサービス２１５は、ログ書き込み処理を終了する。
【００５７】
図７は、図６のステップＳ６０４のタイマ開始処理の詳細を示すフローチャートである。ステップＳ７００では、ログサービス２１５は、タイマ４０９を作成し、タイマ開始処理を開始する。ステップＳ７０１では、タイマ４０９は、上記のＨＤＤアクセス基準許容間隔４０３を取得する。ステップＳ７０２では、タイマ４０９は、ステップＳ７０１で取得したＨＤＤアクセス基準許容間隔４０３をセットし、タイマ時間のカウントを開始する。ステップＳ７０３では、ログサービス２１５は、タイマ開始処理を終了する。
【００５８】
図８は、図７のステップＳ７０１のＨＤＤアクセス基準許容間隔取得処理の詳細を示すフローチャートである。ステップＳ８００では、ログサービス２１５は、ＨＤＤアクセス基準許容間隔取得処理を開始する。ステップＳ８０１では、ログサービス２１５は、ＨＤＤ１０４からＨＤＤ寿命規格４０２を取得する。ステップＳ８０２では、ログサービス２１５は、ステップＳ８０１で取得したＨＤＤ寿命規格４０２と、上記のパラメータＰ１と、上記のパラメータＰ２を基に、上記の式（１）〜（３）によりＨＤＤアクセス基準許容間隔４０３を計算する。パラメータＰ１は、ＨＤＤアクセスのうちバンドルからのログ出力によるアクセスの割合（％）である。パラメータＰ２は、ＨＤＤの１回あたりの想定アクセス時間（ｓ）である。ステップＳ８０３では、ＨＤＤアクセス基準許容間隔取得処理を終了し、図７の処理に戻る。
【００５９】
図９は、タイマ４０９のログ書き込み処理を示すフローチャートである。ステップＳ９００では、タイマ４０９は、タイマ処理を開始する。ステップＳ９０１では、タイマ４０９は、タイマ時間がＨＤＤアクセス基準許容間隔４０３まで経過した否かを判断する。タイマ４０９は、タイマ時間がＨＤＤアクセス基準許容間隔４０３まで経過していない場合には待機し、タイマ時間がＨＤＤアクセス基準許容間隔４０３まで経過した場合には、ステップＳ９０２に進む。
【００６０】
ステップＳ９０２では、タイマ４０９は、ＲＡＭ１０３にログリスト４０８が存在しているか否かを判断する。タイマ４０９は、ログリスト４０８が存在している場合には、ステップＳ９０３に進み、ログリスト４０８が存在しない場合には、ステップＳ９０５に進む。
【００６１】
ステップＳ９０３では、タイマ４０９は、ＲＡＭ１０３のログリスト４０８の内容をＨＤＤ１０４のログファイル４０６に書き込み、ＲＡＭ１０３のログリスト４０８を削除し、ステップＳ９０４に進む。ステップＳ９０４では、タイマ４０９は、図７に示したタイマ開始処理を再度実行し、ステップＳ９０６に進む。
【００６２】
ステップＳ９０５では、ログサービス２１５は、タイマ４０９を削除し、ステップＳ９０６に進む。ステップＳ９０６では、ログサービス２１５は、タイマ処理を終了する。
【００６３】
以上のように、間隔５０４，５１４，５２０，５２７，５３４は、ＨＤＤアクセス基準許容間隔４０３である。タイマ４０９は、ＨＤＤアクセス基準許容間隔４０３をタイマ時間として設定し、経過時間をカウントする。タイマ４０９は、経過時間がタイマ時間を経過する前に、バンドルからログを入力した場合には、バンドルからのログをＲＡＭ１０３に書き込み、経過時間がタイマ時間を経過した場合には、ＲＡＭ１０３に書き込まれたログをＨＤＤ１０４に書き込む。
【００６４】
処理５１７では、ログサービス２１５は、タイマ４０９の経過時間がタイマ時間を経過した後に、バンドルからログを入力した場合には、バンドルからのログをＨＤＤ１０４に書き込む。処理５１９では、タイマ４０９は、ＨＤＤ１０４にログが書き込まれてからの経過時間をカウントする。
【００６５】
本実施形態によれば、ログサービス２１５のＨＤＤアクセスは、ＨＤＤアクセス基準許容間隔４０３以上の間隔でのアクセスとなる。その結果、画像形成装置１３０の保証期間内に、ログ出力のためのＨＤＤアクセスによりＨＤＤ寿命規格に達しないことが計算上保証することができる。
【００６６】
（第２の実施形態）
図１０は、本発明の第２の実施形態によるログサービス２１５の処理の流れを時系列的に示すブロック図である。例えば、ＨＤＤアクセス基準許容間隔４０３は３分である。以下、本実施形態（図１０）が第１の実施形態（図５）と異なる点を説明する。
【００６７】
経過時間５４０が０分の処理１００１では、バンドル４００またはバンドル４０１は、ログ（ａ）１０００をログサービス２１５に対して出力する。ログサービス２１５は、この時点では未だタイマ４０９が作成されていないので、ログ（ａ）１０００をＨＤＤ１０４のログファイル４０６にログファイル１００２として書き込む。ログファイル１００２は、ログ（ａ）１０００を有する。処理１００３では、ログサービス２１５は、タイマ４０９を作成する。このとき、ＨＤＤアクセス基準許容間隔４０３は３分であるので、間隔１００４に示すように、タイマ４０９のタイマ時間は、３分にセットされる。この結果、経過時間５４０において３分までのタイマ４０９が生成される。
【００６８】
経過時間５４０が１分の処理１００６では、バンドル４００またはバンドル４０１は、ログ（ｂ）１００５をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｂ）１００５をＲＡＭ１０３のログリスト４０８にログリスト１００７として書き込む。ログリスト１００７は、ログ（ｂ）１００５を有する。
【００６９】
経過時間５４０が２分の処理１００９では、バンドル４００またはバンドル４０１は、ログ（ｃ）１００８をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｃ）１００８をＲＡＭ１０３のログリスト４０８にログリスト１０１０として書き込む。ログリスト１０１０は、ログ（ｂ）１００５とログ（ｃ）１００８を有する。
【００７０】
経過時間５４０が３分の処理１０１１では、タイマ４０９は、３分経過したことをトリガーとする。処理１０１２では、タイマ４０９は、ＲＡＭ１０３のログリスト１０１０をＨＤＤ１０４のログファイル４０６にログファイル１０１３として書き込み、ＲＡＭ１０３のログリストを削除する。ログファイル１０１３は、ログ（ｂ）１００５とログ（ｃ）１００８を有する。ログサービス２１５は、間隔１０１４に示すように、タイマ時間を３分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において６分までのタイマ４０９が生成される。
【００７１】
経過時間５４０が６分の処理１０１５では、タイマ４０９は、３分経過したことをトリガーとし、ＲＡＭ１０３のログリスト４０８をＨＤＤ１０４のログファイル４０６に出力しようとする。しかし、タイマ４０９は、ログリスト４０８がないので、ログリスト４０８を出力しない。ログサービス２１５は、間隔１０１６に示すように、タイマ時間を３分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において９分までのタイマ４０９が生成される。
【００７２】
経過時間５４０が７分の処理１０１８では、バンドル４００またはバンドル４０１は、ログ（ｄ）１０１７をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｄ）１０１７をＲＡＭ１０３のログリスト４０８にログリスト１０１９として書き込む。ログリスト１０１９は、ログ（ｄ）１０１７を有する。
【００７３】
経過時間５４０が９分の処理１０２４では、タイマ４０９は、３分経過したことをトリガーとする。処理１０２１では、タイマ４０９は、ＲＡＭ１０３のログリスト１０１９をＨＤＤ１０４のログファイル４０６にログファイル１０２２として書き込む。ログファイル１０２２は、ログ（ｄ）１０１７を有する。ログサービス２１５は、間隔１０２３に示すように、タイマ時間を３分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において１２分までのタイマ４０９が生成される。
【００７４】
経過時間５４０が９分の処理１０２５では、バンドル４００またはバンドル４０１は、ログ（ｅ）１０２４をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｅ）１０２４をＲＡＭ１０３のログリスト４０８にログリスト１０２６として書き込む。ログリスト１０２６は、ログ（ｅ）１０２４を有する。
【００７５】
経過時間５４０が１１分の処理１０２８では、バンドル４００またはバンドル４０１は、ログ（ｆ）１０２７をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｆ）１０２７をＲＡＭ１０３のログリスト４０８にログリスト１０２９として書き込む。ログリスト１０２９は、ログ（ｅ）１０２４とログ（ｆ）１０２７を有する。
【００７６】
経過時間５４０が１２分の処理１０３０では、タイマ４０９は、３分経過したことをトリガーとする。処理１０３１では、タイマ４０９は、ＲＡＭ１０３のログリスト１０２９をＨＤＤ１０４のログファイル４０６にログファイル１０３２として書き込む。ログファイル１０３２は、ログ（ｅ）１０２４とログ（ｆ）１０２７を有する。ログサービス２１５は、間隔１０３３に示すように、タイマ時間を３分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において１５分までのタイマ４０９が生成される。
【００７７】
本実施形態のログサービス２１５は、図６、図７および図８に示した処理と同じ処理を行い、図９の処理の代わりに図１１の処理を行う。
【００７８】
図１１は、本実施形態によるタイマ４０９のログ書き込み処理を示すフローチャートである。ステップＳ１１００では、タイマ４０９は、タイマ処理を開始する。ステップＳ１１０１では、タイマ４０９は、タイマ時間がＨＤＤアクセス基準許容間隔４０３まで経過した否かを判断する。タイマ４０９は、タイマ時間がＨＤＤアクセス基準許容間隔４０３まで経過していない場合には待機し、タイマ時間がＨＤＤアクセス基準許容間隔４０３まで経過した場合には、ステップＳ１１０２に進む。
【００７９】
ステップＳ１１０２では、タイマ４０９は、ＲＡＭ１０３にログリスト４０８が存在しているか否かを判断する。タイマ４０９は、ログリスト４０８が存在している場合には、ステップＳ１１０３に進み、ログリスト４０８が存在しない場合には、ステップＳ１１０４に進む。
【００８０】
ステップＳ１１０３では、タイマ４０９は、ＲＡＭ１０３のログリスト４０８の内容をＨＤＤ１０４のログファイル４０６に書き込み、ＲＡＭ１０３のログリスト４０８を削除し、ステップＳ１１０４に進む。ステップＳ１１０４では、タイマ４０９は、図７に示したタイマ開始処理を再度実行し、ステップＳ１１０５に進む。ステップＳ１１０５では、タイマ４０９は、タイマ処理を終了する。
【００８１】
以上のように、間隔１００４，１０１４，１０１６，１０２３，１０３３は、ＨＤＤアクセス基準許容間隔４０３である。タイマ４０９は、ＨＤＤアクセス基準許容間隔４０３をタイマ時間として設定し、ＨＤＤアクセス基準許容間隔４０３ごとの経過時間をカウントする。タイマ４０９は、経過時間がタイマ時間を経過する前に、バンドルからログを入力した場合には、バンドルからのログをＲＡＭ１０３に書き込み、経過時間がタイマ時間を経過した場合には、ＲＡＭ１０３に書き込まれたログをＨＤＤ１０４に書き込む。本実施形態は、第１の実施形態と同様の効果を得ることができる。
【００８２】
（第３の実施形態）
本発明の第３の実施形態では、ＨＤＤアクセス基準許容間隔４０３をログの重要度に応じて動的に変更する例を説明する。ＨＤＤアクセス基準許容間隔４０３を長くすれば、ＨＤＤアクセスの回数を減らすことができる。しかしながら、ＨＤＤアクセス基準許容間隔４０３を長くするほど、ＨＤＤ１０４のログファイル４０６に書き込む前に、予期せぬシャットダウンなどにより、ログをＨＤＤ１０４のログファイル４０６に書き洩らす可能性がある。ログの性質上、重要なログを書き洩らしたくないので、ただ単に、ＨＤＤアクセス基準許容間隔４０３を長くすればいいわけではない。
【００８３】
そこで、本実施形態では、ログの重要度に応じてＨＤＤアクセス基準許容間隔４０３を変える。ログの重要度を考える一つの尺度として、どのバンドルからのログかによって重要度を分類することができる。なぜならば、画像形成装置１３０の根幹を支えるシステムバンドル群２１２からのログの方が、機能拡張のために後から入れる後入れバンドル群２１７からのログより重要なログである可能性が高い。また、認証に関わる認証バンドル２１６からのログは、後入れバンドル２１９より重要なログである可能性が高い。
【００８４】
図１２は、補正レベル１２００とバンドル種別１２０１と重み係数１２０２の関係を示す図である。補正レベル１２００は、ログの重要度を表し、数字が大きいほど重要なログであることを表す。バンドル種別１２０１は、バンドルの種類を表している。重み係数１２０２は、図１７で示すＨＤＤアクセス補正許容間隔を計算するときに利用する係数である。
【００８５】
例えば、補正レベル１２００が１の場合、バンドル種別１２０１は、後入れバンドル群２１７であり、重み係数１２０２は、１．０である。補正レベル１２００が２の場合、バンドル種別１２０１は、認証バンドル２１６であり、重み係数１２０２は、０．５（１／２）である。システムバンドル群２１２の中でも、認証バンドル２１６は特別な扱いとしている。補正レベル１２００が３の場合、バンドル種別１２０１は、システムバンドル群２１２であり、重み係数１２０２は、０．３３（１／３）である。
【００８６】
図１３は、本実施形態によるログサービス２１５の処理の流れを時系列的に示すブロック図である。本実施形態では、第１および第２の実施形態と異なり、ＨＤＤアクセス基準許容間隔４０３は６分である。以下、本実施形態（図１３）が第１の実施形態（図５）および第２の実施形態（図１０）と異なる点を説明する。
【００８７】
図１３では、上から、タイマ４０９、ＲＡＭ１０３、ＨＤＤ１０４、ログサービス２１５、後入れバンドル群２１７、認証バンドル２１６、システムバンドル群２１２を示す。経過時間５４０は、最初に作成されるタイマ４０９の作成時点を起点とした時間（単位は分）である。
【００８８】
経過時間５４０が０分の処理１３０１では、後入れバンドル群２１７の中のバンドルは、ログ（ａ）１３００をログサービス２１５に対して出力する。ログサービス２１５は、この時点では未だタイマ４０９が作成されていないので、ログ（ａ）１３００をＨＤＤ１０４のログファイル４０６にログファイル１３０２として書き込む。ログファイル１３０２は、ログ（ａ）１３００を有する。処理１３０３では、ログサービス２１５は、タイマ４０９を作成する。このとき、ＨＤＤアクセス基準許容間隔４０３は６分であるので、間隔１３０４に示すように、タイマ４０９のタイマ時間は、６分にセットされる。この結果、経過時間５４０において６分までのタイマ４０９が生成される。このとき、タイマ４０９に設定されるカレント補正レベルは、デフォルト値の１である。
【００８９】
経過時間５４０が１分の処理１３０６では、後入れバンドル群２１７の中のバンドルは、ログ（ｂ）１３０５をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｂ）１３０５をＲＡＭ１０３のログリスト４０８にログリスト１３０７として書き込む。ログリスト１３０７は、ログ（ｂ）１３０５を有する。次に、タイマ４０９は、タイマ見直し処理が必要か否かを判断する。ログ（ｂ）１３０５は、後入れバンドル群２１７の中のバンドルからのログであるので、図１２から、補正レベル１２００が１となる。タイマ４０９は、この補正レベル１２００の１と、タイマ４０９に設定されているカレント補正レベルの１とを比べると、両者の補正レベルが同じであるので、タイマ見直し処理が不要であると判断する。
【００９０】
経過時間５４０が２分の処理１３０９では、認証バンドル２１６は、ログ（ｃ）１３０８をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｃ）１３０８をＲＡＭ１０３のログリスト４０８にログリスト１３１０として書き込む。ログリスト１３１０は、ログ（ｂ）１３０５とログ（ｃ）１３０８を有する。次に、タイマ４０９は、タイマ見直し処理が必要か否かを判断する。ログ（ｃ）１３０８は、認証バンドル２１６からのログであるため、図１２から、補正レベル１２００が２となる。タイマ４０９は、この補正レベル１２００の２と、タイマ４０９に設定されているカレント補正レベルの１とを比べると、補正レベル１２００の２の方が大きいため、タイマ４０９の見直し処理１３１２が必要なる。
【００９１】
見直し処理１３１２では、タイマ４０９は、図１２から、補正レベル１２００が２の場合の重み係数１２０２として０．５（１／２）を取得する。次に、タイマ４０９は、ＨＤＤアクセス基準許容間隔４０３の６分に重み係数の０．５を掛けることにより、ＨＤＤアクセス補正許容間隔として３分を算出する。見直し処理１３１２の時点では、前回のＨＤＤ１０４への書き込みから２分が経過しているため、タイマ４０９は、間隔１３１３に示すように、上記の３分と２分の差分である１分をタイマ時間としてセットする。仮に、既に３分以上経過していて場合は、タイマ４０９は、すぐに、ＲＡＭ１０３のログリスト１３１０をＨＤＤ１０４のログファイルに書き込む。
【００９２】
経過時間５４０が３分の処理１３１４では、タイマ４０９は、処理１３０３から３分経過したことをトリガーとする。処理１３１５では、タイマ４０９は、ＲＡＭ１０３のログリスト１３１０をＨＤＤ１０４のログファイル４０６にログリスト１３１６として書き込む。ログリスト１３１６は、ログ（ｂ）１３０５とログ（ｃ）１３０８を有する。ログサービス２１５は、間隔１３１７に示すように、タイマ時間を６分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において９分までのタイマ４０９が生成される。このとき、タイマ４０９に設定されるカレント補正レベルは、デフォルト値の１である。
【００９３】
経過時間５４０が４分の処理１３１９では、後入れバンドル群２１７の中のバンドルは、ログ（ｄ）１３１８をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｄ）１３１８をＲＡＭ１０３のログリスト４０８にログリスト１３２０として書き込む。ログリスト１３２０は、ログ（ｄ）１３１８を有する。次に、タイマ４０９は、タイマ見直し処理が必要か否かを判断する。ログ（ｄ）１３１８は、後入れバンドル群２１７の中のバンドルからのログであるので、図１２から、補正レベル１２００は１である。タイマ４０９は、この補正レベル１２００の１と、タイマ４０９に設定されているカレント補正レベルの１とを比べると、両者の補正レベルが同じであるので、タイマ見直し不要と判断する。
【００９４】
経過時間５４０が９分の処理１３２１では、タイマ４０９は、６分経過したことをトリガーとする。処理１３２２では、タイマ４０９は、ＲＡＭ１０３のログリスト１３２０をＨＤＤ１０４のログファイル４０６にログファイル１３２３として書き込む。ログファイル１３２３は、ログ（ｄ）１３１８を有する。ログサービス２１５は、間隔１３２４に示すように、タイマ時間を６分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において１５分までのタイマ４０９が生成される。このとき、タイマ４０９に設定されるカレント補正レベルは、デフォルト値の１である。
【００９５】
経過時間５４０が１０分の処理１３２６では、システムバンドル群２１２の中のバンドルは、ログ（ｅ）１３２５をログサービス２１５に対して出力する。ログサービス２１５は、タイマ４０９が存在しているので、ログ（ｅ）１３２５をＲＡＭ１０３のログリスト４０８にログリスト１３２７として書き込む。ログリスト１３２７は、ログ（ｅ）１３２５を有する。次に、タイマ４０９は、タイマ見直し処理が必要か否かを判断する。ログ（ｅ）１３２５は、システムバンドル群２１２の中のバンドルからのログであるので、図１２から、補正レベル１２００は３である。タイマ４０９は、この補正レベル１２００の３と、タイマ４０９に設定されているカレント補正レベルの１とを比べると、補正レベル１２００の３の方が大きいため、タイマ４０９の見直し処理１３２９が必要なる。
【００９６】
見直し処理１３２９では、タイマ４０９は、図１２から、補正レベル１２００が３の場合の重み係数１２０２として０．３３（１／３）を取得する。次に、タイマ４０９は、ＨＤＤアクセス基準許容間隔４０３の６分に重み係数１２０２の０．３３を掛けることにより、ＨＤＤアクセス補正許容間隔として２分を算出する。見直し処理１３２９の時点では、前回のＨＤＤ１０４への書き込みから１分が経過しているため、タイマ４０９は、間隔１３３０に示すように、上記の２分と１分の差分である１分をタイマ時間としてセットする。仮に、既に２分以上経過していて場合は、タイマ４０９は、すぐに、ＲＡＭ１０３のログリスト１３２７をＨＤＤ１０４のログファイルに書き込む。
【００９７】
経過時間５４０が１１分の処理１３３１では、タイマ４０９は、処理１３２１から２分経過したことをトリガーとする。処理１３３２では、タイマ４０９は、ＲＡＭ１０３のログリスト１３２７をＨＤＤ１０４のログファイル４０６にログファイル１３３３として書き込む。ログファイル１３３３は、ログ（ｅ）１３２５を有する。ログサービス２１５は、間隔１３３４に示すように、タイマ時間を６分にセットしたタイマ４０９を再作成する。この結果、経過時間５４０において１７分までのタイマ４０９が生成される。このとき、タイマ４０９に設定されるカレント補正レベルは、デフォルト値の１である。
【００９８】
図１４は、本実施形態によるログサービス２１５のログ書き込み処理を示すフローチャートである。ステップＳ１４００では、ログサービス２１５は、バンドルからのログの書き込み処理を開始する。ステップＳ１４０１では、ログサービス２１５は、タイマ４０９が存在しているか否かを判断する。ログサービス２１５は、タイマ４０９が存在してない場合には、ステップＳ１４０４に進み、タイマ４０９が存在している場合には、ステップＳ１４０２に進む。
【００９９】
ステップＳ１４０４では、ログサービス２１５は、ログをＨＤＤ１０４のログファイル４０６に書き込み、ステップＳ１４０５に進む。ステップＳ１４０５では、ログサービス２１５は、図１５のタイマ開始処理を行い、ステップＳ１４０６に進む。
【０１００】
ステップＳ１４０２では、ログサービス２１５は、ログをＲＡＭ１０３のログリスト４０８に書き込み、ステップＳ１４０３に進む。ステップＳ１４０３では、ログサービス２１５は、図１６のタイマ見直し処理を行う。この際、ログサービス２１５は、書き込んだログがどのバンドルからのログであるのかの情報と、図１２の補正レベル１２００とを、図１６のタイマ見直し処理に渡す。その後、ログサービス２１５は、ステップＳ１４０６に進む。ステップＳ１４０６では、ログサービス２１５は、ログ書き込み処理を終了する。
【０１０１】
図１５は、図１４のステップＳ１４０５のタイマ開始処理の詳細を示すフローチャートである。ステップＳ１５００では、タイマ４０９は、タイマ開始処理を開始する。ステップＳ１５０１では、タイマ４０９は、上記のＨＤＤアクセス基準許容間隔４０３を取得する。ステップＳ１５０２では、タイマ４０９は、ステップＳ１５０１で取得したＨＤＤアクセス基準許容間隔４０３をセットし、タイマ時間のカウントを開始する。ステップＳ１５０３では、タイマ４０９は、デフォルトのカレント補正レベルとして１をセットし、ステップＳ１５０４に進む。ステップＳ１５０４では、タイマ４０９は、タイマ開始処理を終了する。
【０１０２】
図１６は、図１４のステップＳ１４０４のタイマ見直し処理の詳細を示すフローチャートである。ステップＳ１６００では、タイマ４０９は、タイマ見直し処理を開始する。ステップＳ１６０１では、タイマ４０９は、ログに応じた図１２の補正レベル１２００と、タイマ４０９に設定されているカレント補正レベルとを比較する。タイマ４０９は、ログに応じた図１２の補正レベル１２００がカレント補正レベルより大きい場合には、ステップＳ１６０２に進み、ログに応じた図１２の補正レベル１２００がカレント補正レベルより大きくない場合には、ステップＳ１６０９に進む。
【０１０３】
ステップＳ１６０２では、タイマ４０９は、図１７のＨＤＤアクセス補正許容間隔取得処理を行い、ＨＤＤアクセス補正許容間隔を取得する。ステップＳ１６０３では、タイマ４０９は、ＨＤＤアクセス補正許容間隔がタイマ開始からの経過時間より長いか否かを判断する。タイマ４０９は、ＨＤＤアクセス補正許容間隔がタイマ開始からの経過時間より長い場合には、ステップＳ１６０４に進み、ＨＤＤアクセス補正許容間隔がタイマ開始からの経過時間より長くない場合には、ステップＳ１６０６に進む。
【０１０４】
ステップＳ１６０４では、タイマ４０９は、ログに応じた図１２の補正レベル１２００を、カレント補正レベルとしてセットする。ステップＳ１６０５では、タイマ４０９は、ＨＤＤアクセス補正許容間隔とタイマ経過時間との差分をタイマ時間として再設定し、ステップＳ１６０９に進む。
【０１０５】
ステップＳ１６０６では、タイマ４０９は、ＲＡＭ１０３にログリスト４０８が存在するか否かを判断する。タイマ４０９は、ログリスト４０８が存在している場合には、ステップＳ１６０７に進み、ログリスト４０８が存在していない場合には、ステップＳ１６０９に進む。
【０１０６】
ステップＳ１６０７では、タイマ４０９は、ＲＡＭ１０３のログリスト４０８の内容をＨＤＤ１０４のログファイル４０６に書き込み、ステップＳ１６０８に進む。ステップＳ１６０８では、タイマ４０９は、図１５のタイマ開始処理を再度実行し、ステップＳ１６０９に進む。ステップＳ１６０９では、タイマ４０９は、タイマ見直し処理を終了する。
【０１０７】
図１７は、図１６のステップＳ１６０２のＨＤＤアクセス補正許容間隔取得処理の詳細を示すフローチャートである。ステップＳ１７００では、ログサービス２１５は、ＨＤＤアクセス補正許容間隔取得処理を開始する。ステップＳ１７０１では、ログサービス２１５は、ＨＤＤ１０４からＨＤＤ寿命規格４０２を取得する。ステップＳ１７０２では、ログサービス２１５は、ステップＳ１７０１で取得したＨＤＤ寿命規格４０２と、上記のパラメータＰ１と、上記のパラメータＰ２を基に、上記の式（１）〜（３）によりＨＤＤアクセス基準許容間隔４０３を計算する。
【０１０８】
ステップＳ１７０３では、ログサービス２１５は、ステップＳ１７０２で計算したＨＤＤアクセス基準許容間隔４０３に対して、ログに応じた図１２の重み係数１２０２を掛けることにより、ＨＤＤアクセス補正許容間隔を計算する。タイマ開始時は、重み係数１２０２はデフォルト値の１であり、ＨＤＤアクセス補正許容間隔は、ＨＤＤアクセス基準許容間隔と同じになる。
【０１０９】
ステップＳ１７０４では、ログサービス２１５は、ＨＤＤアクセス補正許容間隔取得処理を終了し、図１６の処理に戻る。
【０１１０】
以上のように、ログサービス２１５は、ＨＤＤアクセス基準許容間隔４０３およびログを入力したバンドルの種類に基づき、ＨＤＤアクセス補正許容間隔を計算する。タイマ４０９は、ＨＤＤアクセス補正許容間隔をタイマ時間として設定し、経過時間をカウントする。タイマ４０９は、経過時間がタイマ時間を経過する前に、バンドルからログを入力した場合には、バンドルからのログをＲＡＭ１０３に書き込み、経過時間がタイマ時間を経過した場合には、ＲＡＭ１０３に書き込まれたログをＨＤＤ１０４に書き込む。
【０１１１】
本実施形態では、ログのバンドルの種類に応じて、ＨＤＤ１０４への書き込み間隔を変えることにより、重要なログの書き洩れを少なくする効果を得ることができる。
【０１１２】
（第４の実施形態）
第３の実施形態では、ログの重要度は、どのバンドルからのログかという視点で分類することを示した。本発明の第４の実施形態では、ログの重要度は、ログに付与されたログレベルに応じて分類する。第３の実施形態（図１２）は、補正レベル１２００とバンドル種別１２０１の対応関係を示すが、第４の実施形態（図１８）は、補正レベル１８００とログレベル１８０１の対応関係を示す。
【０１１３】
図１８は、本実施形態による補正レベル１８００とログレベル１８０１と重み係数１８０２の関係を示す図である。補正レベル１８００は、ログの重要度を表し、数字が大きいほど重要なログを表す。ログレベル１８０１は、ログに付与されたログレベルを表している。重み係数１８０２は、図１６のＨＤＤアクセス補正許容間隔を計算するときに利用する係数である。
【０１１４】
例えば、補正レベル１８００が１の場合、ログレベル１８０１は、ＩＮＦＯレベルであり、重み係数１８０２は、１．０である。補正レベル１８００が２の場合、ログレベル１８０１は、ＷＡＲＮレベルであり、重み係数１８０２は、０．５（１／２）である。補正レベル１８００が３の場合、ログレベル１８０１は、ＣＲＴＬレベルであり、重み係数１８０２は、０．３３（１／３）である。
【０１１５】
この図１８は、図１２に対応するものである。よって、本実施形態では、第３の実施形態の処理の中で、図１２を参照する処理を図１８を参照する処理に置き換えて実施すればよい。つまり、ログサービス２１５は、どのバンドルからのログかではなく、そのログに付与されているログレベルに応じて、処理を変えればよい。
【０１１６】
以上のように、ログサービス２１５は、ＨＤＤアクセス基準許容間隔４０３およびログに付与されているログレベル１８０１に基づき、ＨＤＤアクセス補正許容間隔を計算する。タイマ４０９は、ＨＤＤアクセス補正許容間隔をタイマ時間として設定し、経過時間をカウントする。タイマ４０９は、経過時間がタイマ時間を経過する前に、バンドルからログを入力した場合には、バンドルからのログをＲＡＭ１０３に書き込み、経過時間がタイマ時間を経過した場合には、ＲＡＭ１０３に書き込まれたログをＨＤＤ１０４に書き込む。
【０１１７】
本実施形態によれば、ログサービス２１５は、ログに付与されたログレベル１８０１に応じて、ＨＤＤ１０４への書き込み間隔を変えることにより、重要なログの書き洩れを少なくする効果を得ることができる。
【０１１８】
（第５の実施形態）
本発明の第５の実施形態では、ＨＤＤアクセス基準許容間隔４０３は、その時点でのＨＤＤ１０４の状態に応じて動的に変更する。ＨＤＤ１０４の状態を知る手段として、ＳＭＡＲＴ情報が知られている。ＳＭＡＲＴ情報は、ＨＤＤ１０４の健康状態を示す情報であり、ＨＤＤ１０４自身が発行する情報である。例えば、ＳＭＡＲＴ情報は、現在までに発生した各種エラーの発生頻度や全てのエラー発生の中で最も状態が悪かったときのワーストエラーなどがＨＤＤ１０４本体に記憶されている。ＳＭＡＲＴ情報は、エラー以外では、過去最も高かったときの温度、積算使用時間、スタートストップ回数、不良セクタの使用状況などを含む。
【０１１９】
図１９は、ＨＤＤ１０４のＳＭＡＲＴ情報の一例を示す図である。ＩＤ１９００は、各ＳＭＡＲＴ情報に割り当てられた識別子である。属性名１９０１は、各ＳＭＡＲＴ情報の属性名である。意味１９０２は、各ＳＭＡＲＴ情報の意味を示す。現在値１９０３は、各ＳＭＡＲＴ情報のその時点での値を示す。閾値１９０４は、各ＳＭＡＲＴ情報の、この数値までは問題ないが、ここからは危険であることを示す閾値である。
【０１２０】
図２０は、図７のステップＳ７０１のＨＤＤアクセス基準許容間隔取得処理の詳細を示すフローチャートである。ログサービス２１５は、図８の処理の代わりに図２０の処理を行う。
【０１２１】
ステップＳ２０００では、ログサービス２１５は、ＨＤＤアクセス基準許容間隔取得処理を開始する。ステップＳ２００１では、ログサービス２１５は、ＨＤＤ１０４からＨＤＤ寿命規格４０２を取得する。ステップＳ２００２では、ログサービス２１５は、ステップＳ２００１で取得したＨＤＤ寿命規格４０２と、上記のパラメータＰ１と、上記のパラメータＰ２を基に、上記の式（１）〜（３）によりＨＤＤアクセス基準許容間隔４０３を計算する。
【０１２２】
ステップＳ２００３では、ログサービス２１５は、ＨＤＤ１０４から図１９のＳＭＡＲＴ情報を取得し、ＳＭＡＲＴ情報の中で、現在値１９０３が閾値１９０４を超えているものがあるか否かを判断する。ログサービス２１５は、現在値１９０３が閾値１９０４を超えているものが一つもない場合には、ステップＳ２００５に進み、現在値１９０３が閾値１９０４を超えているものが一つでもある場合には、ステップＳ２００４に進む。
【０１２３】
ステップＳ２００４では、ログサービス２１５は、ステップＳ２００２で計算したＨＤＤアクセス基準許容間隔４０３に重み係数を掛けることにより、新たなＨＤＤアクセス基準許容間隔４０３を算出し、ステップＳ２００５に進む。この重み係数は、例えば２．０の固定値であり、閾値１９０４を超えた項目の数によって、変えてもよい。新たなＨＤＤアクセス基準許容間隔４０３は、ステップＳ２００２のＨＤＤアクセス基準許容間隔４０３より長い。ステップＳ２００５では、ログサービス２１５は、ＨＤＤアクセス基準許容間隔取得処理を終了し、図７の処理に戻る。
【０１２４】
図２０は、図８に対応する。本実施形態では、第１の実施形態において、図８の処理を図２０の処理に置き換えて実施すればよい。本実施形態によれば、ログサービス２１５は、その時点のＨＤＤ１０４の状態に応じて、ＨＤＤ１０４への書き込み間隔を変えることにより、ＨＤＤ１０４の寿命を延ばす効果を得ることができる。
【０１２５】
以上のように、ログサービス２１５は、ＨＤＤアクセス基準許容間隔４０３およびＨＤＤ１０４の健康状態（ＳＭＡＲＴ情報）に基づき、新たなＨＤＤアクセス基準許容間隔４０３を計算する。タイマ４０９は、新たなＨＤＤアクセス基準許容間隔４０３をタイマ時間として設定し、経過時間をカウントする。タイマ４０９は、経過時間がタイマ時間を経過する前に、バンドルからログを入力した場合には、バンドルからのログをＲＡＭ１０３に書き込み、経過時間がタイマ時間を経過した場合には、ＲＡＭ１０３に書き込まれたログをＨＤＤ１０４に書き込む。
【０１２６】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１２７】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１２８】
１０３  ＲＡＭ、１０４  ＨＤＤ、２１５  ログサービス、３００  バンドル、３０１  ログ受信Ｉ／Ｆ部、３０２  ログサービス処理コア部、３０３  ＨＤＤアクセス許容間隔計算部、３０４  タイマ部、３０５  ログ出力Ｉ／Ｆ部、４００，４０１  バンドル、４０９  タイマ
【図１】
2020080017.tif 000003
【図２】
2020080017.tif 000004
【図３】
2020080017.tif 000005
【図４】
2020080017.tif 000006
【図５】
2020080017.tif 000007
【図６】
2020080017.tif 000008
【図７】
2020080017.tif 000009
【図８】
2020080017.tif 000010
【図９】
2020080017.tif 000011
【図１０】
2020080017.tif 000012
【図１１】
2020080017.tif 000013
【図１２】
2020080017.tif 000014
【図１３】
2020080017.tif 000015
【図１４】
2020080017.tif 000016
【図１５】
2020080017.tif 000017
【図１６】
2020080017.tif 000018
【図１７】
2020080017.tif 000019
【図１８】
2020080017.tif 000020
【図１９】
2020080017.tif 000021
【図２０】
2020080017.tif 000022