(57)【要約】      （修正有）【課題】周辺装置により認識されない異常が周辺装置で発生した場合に、周辺装置が取得するログの詳細度を上げる情報処理装置、情報処理システム、情報処理装置を提供する。【解決手段】収集するログの詳細度を切り替え可能な周辺装置２０に接続される情報処理装置１０は、情報処理装置で発生するイベントＥＶを監視する監視部１２と、周辺装置へのアクセスに対する異常を監視部が検出した場合、ログの詳細度を上げさせる第１の指示を周辺装置に発行し、アクセスに対する異常が回復しないエラーを監視部が検出した場合、収集したログを保存させる第２の指示を周辺装置に発行する制御部１４とを有する。【選択図】図１
2018022402.tif 000002
【特許請求の範囲】
【請求項１】
収集するログの詳細度を切り替え可能な周辺装置に接続される情報処理装置において、
前記情報処理装置で発生するイベントを監視する監視部と、
前記周辺装置へのアクセスに対する異常を前記監視部が検出した場合、前記ログの詳細度を上げさせる第１の指示を前記周辺装置に発行し、前記アクセスに対する異常が回復しないエラーを前記監視部が検出した場合、収集したログを保存させる第２の指示を前記周辺装置に発行する制御部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御部は、前記アクセスに対する異常の回復を前記監視部が検出した場合、詳細度を上げて収集したログを破棄させる第３の指示を前記周辺装置に発行することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ログの詳細度が上がったことに基づいて第１の状態から第２の状態に変更される状態保持部を備え、
前記制御部は、前記異常を前記監視部が検出した場合であっても、前記状態保持部が前記第２の状態を保持する場合、前記第１の指示の発行を抑止することを特徴とする請求項１または請求項２記載の情報処理装置。
【請求項４】
前記制御部は、前記第１の指示に対応して、前記周辺装置から詳細度を上げた通知を受信した場合、前記状態保持部を第１の状態から前記第２の状態に変更し、前記第２の指示に対応して、前記周辺装置からログを保存した通知を受信した場合、前記状態保持部を前記第２の状態から前記第１の状態に変更することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記監視部は、前記周辺装置へのアクセスのリトライが発生した場合、前記異常を検出し、前記周辺装置へのアクセスのリトライに対するタイムアウトが発生した場合、前記エラーを検出することを特徴とする請求項１ないし請求項４のいずれか１項記載の情報処理装置。
【請求項６】
前記周辺装置へのアクセスは、通信線を介して前記周辺装置に送信される前記周辺装置への接続要求を含み、
前記監視部は、前記接続要求のリトライが発生した場合、前記異常を検出し、前記接続要求のリトライに対するタイムアウトが発生した場合に、前記エラーを検出することを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記情報処理装置で発生するイベントのログを保持するログ保持部を備え、
前記監視部は、前記ログ保持部に保持されたログを所定の周期で参照することで、前記情報処理装置で発生するイベントを監視することを特徴とする請求項１ないし請求項６のいずれか１項記載の情報処理装置。
【請求項８】
前記制御部は、前記周辺装置へのアクセスに対する異常を前記監視部が複数回検出したことに基づいて、前記第１の指示を前記周辺装置に発行することを特徴とする請求項１ないし請求項７のいずれか１項記載の情報処理装置。
【請求項９】
収集するログの詳細度を切り替え可能な周辺装置と、前記周辺装置に接続される情報処理装置とを有する情報処理システムにおいて、
前記情報処理装置は、
前記情報処理装置で発生するイベントを監視する監視部と、
前記周辺装置へのアクセスに対する異常を前記監視部が検出した場合、前記ログの詳細度を上げさせる第１の指示を前記周辺装置に発行し、前記アクセスに対する異常が回復しないエラーを前記監視部が検出した場合、収集したログを保存させる第２の指示を前記周辺装置に発行する制御部と
を備えることを特徴とする情報処理システム。
【請求項１０】
前記周辺装置は、
前記周辺装置で発生するイベントのログを、前記第１の指示を受ける前に第１の詳細度で第１の記憶部に記録し、前記第１の指示を受けた後に前記第１の詳細度より詳細な第２の詳細度で前記第１の記憶部に記録する記録部と、
前記第２の指示に基づいて、前記第１の記憶部に記録された前記第２の詳細度のログを、第２の記憶部に保存する保存部と
を備えることを特徴とする請求項９記載の情報処理システム。
【請求項１１】
前記保存部が前記第２の詳細度のログを前記第２の記憶部に保存した後、前記記録部は、前記第１の記憶部に記録されたログを破棄することを特徴とする請求項１０記載の情報処理システム。
【請求項１２】
前記記録部は、前記第２の指示に基づいて、前記周辺装置で発生するイベントのログを、前記第１の詳細度で前記第１の記憶部に記録することを特徴とする請求項１０または請求項１１記載の情報処理システム。
【請求項１３】
前記第２の詳細度のログは、通信線を介して前記情報処理装置との間で伝送されるパケットの情報を含むことを特徴とする請求項１０ないし請求項１２のいずれか１項記載の情報処理システム。
【請求項１４】
収集するログの詳細度を切り替え可能な周辺装置に接続される情報処理装置の制御方法において、
前記情報処理装置が有する監視部が、前記情報処理装置で発生するイベントを監視し、
前記周辺装置へのアクセスに対する異常を前記監視部が検出した場合、前記情報処理装置が有する制御部が、前記ログの詳細度を上げさせる第１の指示を前記周辺装置に発行し、
前記アクセスに対する異常が回復しないエラーを前記監視部が検出した場合、前記情報処理装置が有する制御部が、収集したログを保存させる第２の指示を前記周辺装置に発行すること
を特徴とする情報処理装置の制御方法。
【請求項１５】
収集するログの詳細度を切り替え可能な周辺装置に接続される情報処理装置の制御プログラムにおいて、
前記情報処理装置が有する監視部に、前記情報処理装置で発生するイベントを監視させ、
前記周辺装置へのアクセスに対する異常を前記監視部が検出した場合、前記情報処理装置が有する制御部に、前記ログの詳細度を上げさせる第１の指示を前記周辺装置に発行させ、
前記アクセスに対する異常が回復しないエラーを前記監視部が検出した場合、前記情報処理装置が有する制御部に、収集したログを保存させる第２の指示を前記周辺装置に発行させること
を特徴とする情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムに関する。
【背景技術】
【０００２】
ネットワークを介して接続される装置のログを取得する管理サーバにおいて、取得したログにエラー等の異常を示す情報が含まれる場合、ログの詳細度を「粗」から「密」に切り替える手法が提案されている（例えば、特許文献１参照）。また、通信回線を介してホストに接続される端末装置において、通信回線上で発生するエラーのリトライ動作が所定回数に達した場合、通信トレース情報の取得を開始する手法が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２３６２３１号公報
【特許文献２】特開平６−８９２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ログを出力する装置に発生した異常を装置自身が認識しない場合、装置は正常を示すログを出力し、ログの詳細度は「粗」に維持される。この場合、装置の異常は、ログの監視では検出されない。詳細度が「粗」のログは、詳細度が「密」のログに比べて情報量が少ないため、ログを用いて装置の異常原因を解析する場合の効率は低下する。
【０００５】
１つの側面では、本件開示の情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムは、周辺装置により認識されない異常が周辺装置で発生した場合に、周辺装置が取得するログの詳細度を上げることを目的とする。
【課題を解決するための手段】
【０００６】
一つの観点によれば、収集するログの詳細度を切り替え可能な周辺装置に接続される情報処理装置は、情報処理装置で発生するイベントを監視する監視部と、周辺装置へのアクセスに対する異常を監視部が検出した場合、ログの詳細度を上げさせる第１の指示を周辺装置に発行し、アクセスに対する異常が回復しないエラーを監視部が検出した場合、収集したログを保存させる第２の指示を周辺装置に発行する制御部とを有する。
【０００７】
別の観点によれば、収集するログの詳細度を切り替え可能な周辺装置と、周辺装置に接続される情報処理装置とを有する情報処理システムにおいて、情報処理装置は、情報処理装置で発生するイベントを監視する監視部と、周辺装置へのアクセスに対する異常を監視部が検出した場合、ログの詳細度を上げさせる第１の指示を周辺装置に発行し、アクセスに対する異常が回復しないエラーを監視部が検出した場合、収集したログを保存させる第２の指示を周辺装置に発行する制御部とを有する。
【０００８】
別の観点によれば、収集するログの詳細度を切り替え可能な周辺装置に接続される情報処理装置の制御方法は、情報処理装置が有する監視部が、情報処理装置で発生するイベントを監視し、周辺装置へのアクセスに対する異常を監視部が検出した場合、情報処理装置が有する制御部が、ログの詳細度を上げさせる第１の指示を周辺装置に発行し、アクセスに対する異常が回復しないエラーを監視部が検出した場合、情報処理装置が有する制御部が、収集したログを保存させる第２の指示を周辺装置に発行する。
【０００９】
さらなる別の観点によれば、収集するログの詳細度を切り替え可能な周辺装置に接続される情報処理装置の制御プログラムは、情報処理装置が有する監視部に、情報処理装置で発生するイベントを監視させ、周辺装置へのアクセスに対する異常を監視部が検出した場合、情報処理装置が有する制御部に、ログの詳細度を上げさせる第１の指示を周辺装置に発行させ、アクセスに対する異常が回復しないエラーを監視部が検出した場合、情報処理装置が有する制御部に、収集したログを保存させる第２の指示を周辺装置に発行させる。
【発明の効果】
【００１０】
本件開示の情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムは、周辺装置により認識されない異常が周辺装置で発生した場合に、周辺装置が取得するログの詳細度を上げることができる。
【図面の簡単な説明】
【００１１】
【図１】情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの一実施形態を示す図である。
【図２】図１に示す情報処理システムの動作の一例を示す図である。
【図３】図１に示す情報処理システムの動作の別の例を示す図である。
【図４】情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの別の実施形態を示す図である。
【図５】図４に示すサーバの要部の機能ブロックの一例を示す図である。
【図６】図４に示すＯＳイベントログに格納されるイベントの一例を示す図である。
【図７】図４に示すストレージの要部の機能ブロックの一例を示す図である。
【図８】図４に示すストレージログに記録される情報の一例を示す図である。
【図９】図４に示す情報処理システムの動作の一例を示す図である。
【図１０】図９に示す動作の続きを示す図である。
【図１１】図４に示す情報処理システムの動作の別の例を示す図である。
【図１２】図５に示すエージェントが実行する処理の一例を示す図である。
【図１３】図７に示すログ管理プログラムが実行する処理の一例を示す図である。
【図１４】情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの別の実施形態におけるエージェントの一例を示す図である。
【図１５】図１４に示すエージェントが実行する処理の一例を示す図である。
【図１６】情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムのさらなる別の実施形態におけるエージェントが実行する処理の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を用いて実施形態が説明される。
【００１３】
図１は、情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの一実施形態を示す。図１に示す情報処理システムＳＹＳ１は、サーバ等の情報処理装置１０と、通信線ＣＬを介して情報処理装置１０に接続されたストレージ等の周辺装置２０とを有する。情報処理装置１０は、監視部１２、制御部１４および状態保持部１６を有する。周辺装置２０は、記録部２２、保存部２４、第１の記憶部２６および第２の記憶部２８を有する。
【００１４】
なお、情報処理装置１０は、図示しないＣＰＵ（Central Processing Unit）を有しており、例えば、監視部１２、制御部１４および状態保持部１６は、ＣＰＵが実行する制御プログラムにより実現される。また、記録部２２および保存部２４は、周辺装置２０が有する図示しないＣＰＵが実行するログ管理プログラムにより実現される。
【００１５】
監視部１２は、情報処理装置１０で発生するイベントＥＶを監視する。監視部１２は、監視したイベントが周辺装置２０へのアクセスに対する異常を示す場合、異常情報ＡＢＮを出力し、監視したイベントが周辺装置２０へのアクセスに対する異常が回復しないエラーを示す場合、エラー情報ＥＲＲを出力する。また、監視部１２は、監視したイベントが周辺装置２０へのアクセスに対する異常が回復し、アクセスが正常に実行されたことを示す場合、正常情報ＮＯＲＭを出力する。
【００１６】
制御部１４は、監視部１２から異常情報ＡＢＮを受信した場合、第１の指示ＩＮＳ１を周辺装置２０に発行する。すなわち、制御部１４は、周辺装置２０へのアクセスに対する異常を監視部１２が検出した場合、第１の指示ＩＮＳ１を発行する。制御部１４は、監視部１２からエラー情報ＥＲＲを受信した場合、第２の指示ＩＮＳ２を周辺装置２０に発行する。すなわち、制御部１４は、周辺装置２０へのアクセスに対する異常が回復しないエラーを監視部１２が検出した場合、第２の指示ＩＮＳ２を発行する。さらに、制御部１４は、監視部１２から正常情報ＮＯＲＭを受信した場合、第３の指示ＩＮＳ３を周辺装置２０に発行する。すなわち、制御部１４は、周辺装置２０へのアクセスに対する異常が回復し、アクセスが正常に実行されたことを監視部１２が検出した場合、第３の指示ＩＮＳ３を発行する。
【００１７】
状態保持部１６は、第１の指示ＩＮＳ１が周辺装置２０に発行されたことに基づいて、第１の状態（例えば、論理０）から第２の状態（例えば、論理１）に変更される。また、状態保持部１６は、第２の指示ＩＮＳ２または第３の指示ＩＮＳ３が周辺装置２０に発行されたことに基づいて、第２の状態から第１の状態に変更される。状態保持部１６の状態は、制御部１４により変更されてもよく、情報処理装置１０内の他の要素により変更されてもよい。なお、制御部１４は、状態保持部１６が論理１を保持中に監視部１２から異常情報ＡＢＮを受信した場合、第１の指示ＩＮＳ１の周辺装置２０への発行を抑止する。また、情報処理装置１０に状態保持部１６を設けずに、制御部１４は、異常情報ＡＢＮを受信する毎に第1の指示ＩＮＳ１を周辺装置２０に発行してもよい。
【００１８】
周辺装置２０の記録部２２は、情報処理装置１０から第１の指示ＩＮＳ１を受ける前、周辺装置２０で発生するイベントのログＬ１ＥＶを第１の記憶部２６に記録する。記録部２２は、情報処理装置１０から第１の指示ＩＮＳ１を受けた後、周辺装置２０で発生するイベントのログＬ１ＥＶに加えて、ログＬ２ＥＶを第１の記憶部２６に記録する。第１の記憶部２６に記録されるログＬ１ＥＶは、第１の詳細度のログの一例であり、第１の記憶部２６に記録されるログＬ１ＥＶ、Ｌ２ＥＶは、第２の詳細度のログの一例である。
【００１９】
このように、周辺装置２０は、第１の指示ＩＮＳ１に基づいて、第１の記憶部２６に記録するログを、第１の詳細度から、第１の詳細度より詳細度の高い第２の詳細度に切り替える。換言すれば、制御部１４は、第１の記憶部２６に記録するログの詳細度を第１の詳細度から第２の詳細度に上げさせる第１の指示ＩＮＳ１を発行する。
【００２０】
また、記録部２２は、情報処理装置１０から第２の指示ＩＮＳ２または第３の指示ＩＮＳ３を受けた場合、第１の記憶部２６に記録するログを第２の詳細度から第１の詳細度に切り替える。そして、記録部２２は、周辺装置２０で発生するイベントのログＬ１ＥＶを第１の記憶部２６に記録する。
【００２１】
保存部２４は、第２の指示ＩＮＳ２に基づいて、第１の記憶部２６に記録された第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを、第２の記憶部２８に保存する。なお、保存部２４は、ログＬ１ＥＶ、Ｌ２ＥＶを第２の記憶部２８に保存した後、第１の記憶部２６に記録された第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを破棄してもよい。保存部２４は、第３の指示ＩＮＳ３に基づいて、第１の記憶部２６に記録された第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを、第２の記憶部２８に保存することなく破棄する。例えば、第１の記憶部２６は、電源が遮断された場合に情報が失われる揮発性の記憶素子を有し、第２の記憶部２８は、電源が遮断されても情報を保持し続ける不揮発性の記憶素子を有する。この場合、第２の記憶部２８に保存された第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶは、周辺装置２０の電源が遮断された場合にも失われることなく保持される。
【００２２】
図２は、図１に示す情報処理システムＳＹＳ１の動作の一例を示す。図２に示す情報処理装置１０の動作は、情報処理装置の制御方法および情報処理装置の制御プログラムにより実現される。
【００２３】
監視部１２は、情報処理装置１０で発生するイベントＥＶを監視し、周辺装置２０へのアクセスに対する異常を示すイベントＥＶが発生したことを検出した場合、異常情報ＡＢＮを出力する（図２（ａ））。制御部１４は、状態保持部１６が論理０を保持している期間に監視部１２から異常情報ＡＢＮを受信した場合、第１の指示ＩＮＳ１を周辺装置２０に発行する（図２（ｂ））。なお、状態保持部１６は、初期状態において論理０を保持している（図２（ｃ））。
【００２４】
制御部１４は、第１の指示ＩＮＳ１を周辺装置２０に発行したことに基づいて、状態保持部１６の値を論理０から論理１に変更する（図２（ｄ））。なお、制御部１４は、第１の指示ＩＮＳ１を発行した後、第２の詳細度でログの記録を開始した通知を周辺装置２０から受信したことに基づいて、状態保持部１６の値を論理０から論理１に変更してもよい。
【００２５】
周辺装置２０において、記録部２２は、第１の指示ＩＮＳ１を受ける前、周辺装置２０で発生するイベントのログＬ１ＥＶを第１の記憶部２６に順次記録する（図２（ｅ））。なお、記録部２２は、第１の指示ＩＮＳ１を受ける前、周辺装置２０で発生するイベントのログＬ１ＥＶを、第１の記憶部２６の代わりに第２の記憶部２８に順次記録してもよい。記録部２２は、第１の指示ＩＮＳ１を受けた後、ログＬ１ＥＶに加えてログＬ２ＥＶを第１の記憶部２６に記録する（図２（ｆ））。
【００２６】
制御部１４は、状態保持部１６が論理１を保持している期間に監視部１２から異常情報ＡＢＮを受信した場合、第１の指示ＩＮＳ１の周辺装置２０への発行を抑止する（図２（ｇ））。周辺装置２０は、第２の詳細度でログＬ１ＥＶ、Ｌ２ＥＶの取得を開始した後に、第１の指示ＩＮＳ１を繰り返し受信することがないため、第１の指示ＩＮＳ１を繰り返し受信する場合に比べて、記録部２２の制御を簡易にすることができる。また、第１の指示ＩＮＳ１を繰り返し受信することがないため、記録部２２が誤動作することを抑止することができる。
【００２７】
次に、監視部１２は、周辺装置２０へのアクセスに対する異常が回復しないエラーを示すイベントＥＶが発生したことを検出し、エラー情報ＥＲＲを出力する（図２（ｈ））。制御部１４は、監視部１２からエラー情報ＥＲＲを受信した場合、第２の指示ＩＮＳ２を周辺装置２０に発行する（図２（ｉ））。
【００２８】
周辺装置２０の保存部２４は、第２の指示ＩＮＳ２を受けたことに基づいて、第１の記憶部２６に記録されたログＬ１ＥＶ、Ｌ２ＥＶを読み出し、読み出したログＬ１ＥＶ、Ｌ２ＥＶを第２の記憶部２８に格納する（図２（ｊ））。すなわち、保存部２４は、第２の指示ＩＮＳ２に基づいて、第１の記憶部２６に記録された第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを第２の記憶部２８に保存する。
【００２９】
記録部２２は、保存部２４が第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを第２の記憶部２８に保存した後、第１の記憶部２６に記録された第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを破棄する（図２（ｋ））。また、記録部２２は、第２の指示ＩＮＳ２を受けたことに基づいて、周辺装置２０で発生する第１の詳細度のログＬ１ＥＶの第１の記憶部２６への記録を開始する（図２（ｌ））。すなわち、記録部２２は、第２の指示ＩＮＳ２を受けたことに基づいて、第１の記憶部２６に記録するログを、第２の詳細度から第１の詳細度に変更する。なお、記録部２２は、第２の指示ＩＮＳ２を受けた後、周辺装置２０で発生するイベントのログＬ１ＥＶを、第１の記憶部２６の代わりに第２の記憶部２８に順次記録してもよい。
【００３０】
情報処理装置１０の制御部１４は、第２の指示ＩＮＳ２を周辺装置２０に発行したことに基づいて、状態保持部１６の値を論理１から論理０に変更する（図２（ｍ））。なお、制御部１４は、第２の指示ＩＮＳ２を発行した後、第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを第２の記憶部２８に保存した通知を周辺装置２０から受信したことに基づいて、状態保持部１６の値を論理１から論理０に変更してもよい。
【００３１】
図２に示す動作では、情報処理装置１０から周辺装置２０へのアクセスにおいて、周辺装置２０で認識されない異常が発生した場合にも、周辺装置２０は、第１の指示ＩＮＳ１に基づいて第２の詳細度でログＬ１ＥＶ、Ｌ２ＥＶを記録することができる。これにより、通常動作時に取得されるログＬ１ＥＶに比べて詳細なログＬ１ＥＶ、Ｌ２ＥＶを用いて、周辺装置２０の動作に異常があるか否かを解析する不良解析等を実施することができる。
【００３２】
これに対して、情報処理装置１０が第１の指示ＩＮＳ１を発行する機能を持たない場合、監視部１２で検出した周辺装置２０へのアクセスに対する異常は、周辺装置２０により認識されない。この場合、周辺装置２０は、通常動作時と同様に、第１の詳細度のログＬ１ＥＶを記録し続ける。しかしながら、第１の詳細度のログＬ１ＥＶは、第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶに比べて情報量が少ないため、ログＬ１ＥＶだけで周辺装置２０の不良解析等を実施することは、困難な場合がある。この場合、例えば、情報処理装置１０と周辺装置２０との間で伝送される情報を取得するトレーサ等の解析装置を通信線ＣＬに接続し、周辺装置２０の不良解析等が実施される。しかしながら、トレーサ等の解析装置を用いて不良解析を実施する場合、不具合の事象が再現するまで待たなくてはならず、ログＬ１ＥＶ、Ｌ２ＥＶを用いて不良解析を実施する場合に比べて、不良解析の効率は低下する。
【００３３】
さらに、不良解析の効率を向上するために、周辺装置２０の動作中に、第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを第１の記憶部２６に常時記録する場合、第１の記憶部２６の記憶容量が不足するおそれがある。ログＬ１ＥＶ、Ｌ２ＥＶの常時記録に対応するために第１の記憶部２６の記憶容量を増やす場合、周辺装置２０のコストは増加する。
【００３４】
図３は、図１に示す情報処理システムＳＹＳ１の動作の別の例を示す。図２と同一または同様の動作については、詳細な説明は省略する。図３に示す情報処理装置１０の動作は、情報処理装置の制御方法および情報処理装置の制御プログラムにより実現される。
【００３５】
記録部２２が第１の指示ＩＮＳ１に基づいて、ログＬ１ＥＶ、Ｌ２ＥＶの第１の記憶部２６への記録を開始し、制御部１４が、監視部１２から２回目の異常情報ＡＢＮを受信するまでの動作は、図２と同じである。
【００３６】
図３に示す例では、監視部１２は、周辺装置２０へのアクセスに対する異常が回復し、アクセスが正常に実行されたことを検出した場合、制御部１４に正常情報ＮＯＲＭを出力する（図３（ａ））。制御部１４は、監視部１２から正常情報ＮＯＲＭを受信した場合、第３の指示ＩＮＳ３を周辺装置２０に発行する（図３（ｂ））。
【００３７】
周辺装置２０の記録部２２は、第３の指示ＩＮＳ３を受信した場合、第１の記憶部２６に記録した第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを破棄し、第１の詳細度のログＬ１ＥＶの第１の記憶部２６への記録を開始する（図３（ｃ）、（ｄ））。周辺装置２０へのアクセスに対する異常が回復し、アクセスが正常に実行された場合、周辺装置２０の不良解析は実施されない。第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを破棄することで、第１の記憶部２６の記憶容量が不足することを抑止することができ、その後の第１の詳細度のログＬ１ＥＶが記録されない不具合を抑止することができる。
【００３８】
制御部１４は、第３の指示ＩＮＳ３を周辺装置２０に発行したことに基づいて、状態保持部１６の値を論理１から論理０に変更する（図３（ｅ））。なお、制御部１４は、第３の指示ＩＮＳ３を発行した後、第１の記憶部２６に記録された第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを破棄した通知を周辺装置２０から受信したことに基づいて、状態保持部１６の値を論理１から論理０に変更してもよい。
【００３９】
以上、図１から図３に示す実施形態では、周辺装置２０で認識されない異常が発生した場合にも、周辺装置２０は、第１の指示ＩＮＳ１に基づいて第２の詳細度でログＬ１ＥＶ、Ｌ２ＥＶを記録することができ、不良解析に有用な情報を取得することができる。また、第２の詳細度でログＬ１ＥＶ、Ｌ２ＥＶは、常時記録されることはなく、情報処理装置１０が周辺装置２０へのアクセスに対する異常を検出した場合に記録される。このため、最小限の記憶容量の第１の記憶部２６を用いて、不良解析に有用な情報を記録することができる。
【００４０】
周辺装置２０へのアクセスに対する異常が回復した場合、第１の記憶部２６に記録された第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶを破棄することで、第１の記憶部２６の記憶容量が不足することを抑止することができる。この結果、第１の記憶部２６の記憶容量を最小限にすることができる。
【００４１】
状態保持部１６が保持する値に基づいて、第１の指示ＩＮＳ１を発行するか否かを決定することで、周辺装置２０が第１の指示ＩＮＳ１を繰り返し受信することを抑止することができ、記録部２２の制御を簡易にすることができる。
【００４２】
なお、図２および図３において、通信線ＣＬ上のノイズ等により、１回目の異常情報ＡＢＮに基づく第１の指示ＩＮＳ１が周辺装置２０に届かない場合、周辺装置２０は、第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶの記録を開始しない。情報処理装置１０は、第２の詳細度でログＬ１ＥＶ、Ｌ２ＥＶの記録を開始した通知を周辺装置２０から受信しないため、状態保持部１６の値を論理０に維持する。この場合、２回目の異常情報ＡＢＮに基づいて第１の指示ＩＮＳ１が発行され、周辺装置２０は、２回目の異常情報ＡＢＮに対応して、第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶの記録を開始する。このように、周辺装置２０からの通知に基づいて、状態保持部１６に保持される論理を変更することで、第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶが記録されない不具合を抑止することができる。すなわち、周辺装置２０の誤動作を抑止することができる。
【００４３】
周辺装置２０は、第２の指示ＩＮＳ２に基づいて、第１の記憶部２６に記録されたログＬ１ＥＶ、Ｌ２ＥＶを第２の記憶部２８に保存した後に破棄し、第３の指示ＩＮＳ３に基づいて、第１の記憶部２６に記録されたログＬ１ＥＶ、Ｌ２ＥＶを破棄する。これにより、第１の記憶部２６が第２の詳細度のログＬ１ＥＶ、Ｌ２ＥＶによりオーバフローすることを抑止することができる。また、周辺装置２０は、第２の指示ＩＮＳ２または第３の指示ＩＮＳ３を受信した後、第１の記憶部２６に第１の詳細度のログＬ１ＥＶを記録することができる。
【００４４】
図４は、情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの別の実施形態を示す。図４に示す情報処理システムＳＹＳ２は、業務ネットワーク３００と管理ネットワーク４００のそれぞれを介して互いに接続されたサーバ１００およびストレージ２００を有する。サーバ１００は、情報処理装置の一例であり、ストレージ２００は、周辺装置の一例である。
【００４５】
例えば、サーバ１００は、ｉＳＣＳＩ（Internet Small Computer System Interface）プロトコルを用いてストレージ２００にアクセスし、ストレージ２００は、ＳＡＮ（Storage Area Network）ストレージシステムとして機能する。なお、業務ネットワーク３００および管理ネットワーク４００には、複数のサーバ１００が接続されてもよい。また、サーバ１００とストレージ２００とは、１つの建屋内に設置されてもよく、互いに離れた別の建屋（遠隔地）に設置されてもよい。
【００４６】
サーバ１００は、ＣＰＵ１１０と、ＣＰＵ１１０に接続されたメモリ１２０、ＨＤＤ（Hard Disk Drive）１６０および管理インタフェース１７０とを有する。ストレージ２００は、業務ネットワーク３００を介してサーバ１００によりアクセスされる外部記憶装置である。ストレージ２００は、ＣＰＵ２１０と、ＣＰＵ２１０に接続されたメモリ２２０、ＨＤＤ２６０、複数台のＨＤＤ２６２および管理インタフェース２７０とを有する。なお、サーバ１００には、ＨＤＤ１６０の代わりにＳＳＤ（Solid State Drive）が搭載されてもよく、ストレージ２００には、ＨＤＤ２６０およびＨＤＤ２６２の代わりにＳＳＤが搭載されてもよい。
【００４７】
メモリ１２０は、ＣＰＵ１１０が実行するＯＳ（Operating System）１３０およびエージェント１４０と、ＯＳイベントログ１５０とが格納される記憶領域を有する。例えば、メモリ１２０は、複数のＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）を搭載したメモリモジュールである。ＯＳ１３０およびエージェント１４０は、サーバ１００の起動時にＨＤＤ１６０からメモリ１２０に転送される。ＯＳイベントログ１５０は、サーバ１００で発生するイベントのログを保持するログ保持部の一例である。
【００４８】
エージェント１４０は、ＯＳ１３０の管理下で実行されるソフトウェアであり、ＣＰＵ１１０が実行するエージェント１４０により、イベント監視部１４２、ストレージ制御部１４４およびリトライフラグ１４６の機能が実現される。なお、リトライフラグ１４６は、メモリ１２０におけるエージェント１４０外の領域またはＣＰＵ１１０内のレジスタに割り当てられてもよい。例えば、エージェント１４０は、ストレージ２００の製造メーカにより提供される。エージェント１４０により実現される機能の例は、図５で説明される。
【００４９】
ＯＳ１３０は、サーバ１００に実装される各種電子部品を利用可能にし、サーバ１００の全体の動作を管理する。また、ＯＳ１３０は、サーバ１００内で発生した各種イベントを示すイベント情報をＯＳイベントログ１５０として保持する。なお、ＯＳイベントログ１５０が格納される領域は、ＨＤＤ１６０に割り当てられてもよい。ＯＳイベントログ１５０に格納されるイベントの例は、図６に示される。以下の説明では、イベントと、イベントを示すイベント情報とは、符号ＥＶで示される。
【００５０】
ＨＤＤ１６０には、ＣＰＵ１１０が実行するＯＳ１３０、エージェント１４０およびアプリケーション等の各種プログラムと、ＣＰＵ１１０が処理するデータ等の各種情報とが格納される。管理インタフェース１７０は、管理ネットワーク４００に接続されたストレージ２００等の他の装置との接続を管理し、管理ネットワーク４００を介して伝送される情報を送受信する。
【００５１】
ストレージ２００のメモリ２２０は、ＣＰＵ２１０が実行するＯＳ２３０およびログ管理プログラム２４０と、ストレージログ２５０とが格納される記憶領域を有する。ストレージログ２５０が格納される記憶領域は、第１の記憶部の一例である。例えば、メモリ２２０は、複数のＳＤＲＡＭを搭載したメモリモジュールである。ＯＳ２３０およびログ管理プログラム２４０は、ストレージ２００の起動時にＨＤＤ２６０からメモリ２２０に転送される。ＯＳ２３０は、ストレージ２００に実装される各種電子部品を利用可能にし、ストレージ２００全体の動作を管理する。ログ管理プログラム２４０は、ＯＳ２３０の管理下で実行されるソフトウェアであり、ＣＰＵ２１０が実行するログ管理プログラム２４０により、ログ切替部２４２、ログ制御部２４４およびログ記録部２４６の機能が実現される。ログ管理プログラム２４０により実現される機能の例は、図７で説明される。
【００５２】
ＨＤＤ２６０には、ＣＰＵ２１０が実行するＯＳ２３０、ストレージ２００の動作を制御するストレージ制御プログラムおよびＣＰＵ２１０が処理するデータ等の各種情報とが格納される。ＨＤＤ２６２の各々には、業務ネットワーク３００を介して接続されるサーバ１００等の情報処理装置で処理されるデータ等の情報が格納される。管理インタフェース２７０は、管理ネットワーク４００に接続されたサーバ１００等の他の装置との接続を管理し、管理ネットワーク４００を介して伝送される情報を送受信する。
【００５３】
図５は、図４に示すサーバ１００の要部の機能ブロックの一例を示す図である。イベント監視部１４２は、ＯＳイベントログ１５０に格納されたイベント情報ＥＶを所定の時間間隔で読み出し、読み出したイベント情報ＥＶの中に特定のイベント情報ＥＶ（ＥＶ１０、ＥＶ２０、ＥＶ３０）が含まれるか否かを監視する。イベント監視部１４２は、イベント情報ＥＶ１０、ＥＶ２０、ＥＶ３０のいずれかを検出した場合、検出したイベント情報ＥＶをストレージ制御部１４４に通知する。例えば、イベント監視部１４２は、５分ごとに、直前の５分間に発生したイベントに対応するイベント情報ＥＶをＯＳイベントログ１５０から読み出す。イベント監視部１４２は、サーバ１００で発生するイベントを監視する監視部の一例である。
【００５４】
イベント監視部１４２が、ＯＳイベントログ１５０に保持されたログを所定の周期で参照することで、イベントを常時監視する場合に比べて、イベント監視部１４２の動作頻度を下げることができる。この結果、イベントを常時監視する場合に比べて、エージェント１４０を実行するためのＣＰＵ１１０の負荷を軽減することができ、サーバ１００の処理性能への影響を小さくすることができる。
【００５５】
イベント情報ＥＶ１０は、ストレージ２００への接続要求等のリトライが発生したことを示す。例えば、リトライは、ストレージ２００に発行した接続要求に対して、ストレージ２００からエラー応答を受信した場合、またはストレージ２００から応答がない場合にストレージ２００に発行される。イベント情報ＥＶ２０は、ストレージ２００への所定数のリトライが失敗し、リトライタイムアウトが発生したことを示す。イベント情報ＥＶ３０は、ストレージ２００へのリトライに対応する処理が正常に完了したことを示す。すなわち、イベント情報ＥＶ３０は、リトライに対応してストレージ２００が正常応答を発行したことを示す。
【００５６】
ストレージ制御部１４４は、イベント監視部１４２から受信したイベント情報ＥＶとリトライフラグ１４６の値とに基づいて、ストレージ２００への指示を管理インタフェース１７０に出力する。また、ストレージ制御部１４４は、管理インタフェース１７０を介して受信するストレージ２００からの指示に基づいて、リトライフラグ１４６を論理０（第１の状態）にリセットまたは論理１（第２の状態）にセットする。
【００５７】
エージェント１４０の動作の例は、図９から図１２で説明される。ストレージ制御部１４４は、イベント監視部１４２によるイベントの監視結果に基づいて、ストレージ２００に指示を発行する制御部の一例である。リトライフラグ１４６は、ストレージ２００が収集するログの詳細度に応じて論理０または論理１が設定される状態保持部の一例である。
【００５８】
図６は、図４に示すＯＳイベントログ１５０に格納されるイベント情報ＥＶの一例を示す図である。ＯＳイベントログ１５０は、イベント情報ＥＶとイベントの内容を示す情報とがイベント毎に格納される。
【００５９】
例えば、ＯＳイベントログ１５０には、図５で説明したイベント情報ＥＶ１０、ＥＶ２０、ＥＶ３０以外に、ストレージ２００への接続要求と、ストレージ２００への接続要求の正常完了を示すイベント情報とが格納される。また、ＯＳイベントログ１５０には、サーバ１００の正常起動と、ＯＳイベントログ１５０にイベント情報を格納するイベントログサービスの開始と、イベントログサービスの終了と、サーバ１００のシャットダウン処理の開始等とを示すイベント情報が格納される。なお、ＯＳイベントログ１５０に格納されるイベント情報ＥＶは、図６に示す例に限定されない。また、ＯＳイベントログ１５０には、図６に示す項目の他に、イベントの発生日時を示す情報と、イベントを発生したドライバ等を識別するソース名等との情報が、イベント毎に格納されてもよい。
【００６０】
図７は、図４に示すストレージ２００の要部の機能ブロックの一例を示す図である。ログ切替部２４２は、管理インタフェース２７０を介してサーバ１００から受信する指示に基づいて、ログ記録部２４６の動作モードを切り替える切替情報をログ記録部２４６に出力する。また、ログ切替部２４２は、サーバ１００から受信する指示に基づいて、ストレージ情報ＳＴＲの取得開始、取得停止、保存または破棄を示すログ制御情報をログ制御部２４４に通知する。
【００６１】
ログ制御部２４４は、ログ切替部２４２から受信したログ制御情報をログ記録部２４６に出力する。また、ログ制御部２４４は、ログ記録部２４６から受信する完了通知に基づいて、リトライフラグ１４６をセットまたはリセットさせる指示を、管理インタフェース２７０を介してサーバ１００に出力する。なお、ログ制御部２４４は、ログ切替部２４２の機能を含んでもよい。この場合、ログ制御部２４４がサーバ１００からの指示を受信し、切替情報は、ログ制御部２４４からログ記録部２４６に出力される。
【００６２】
ログ記録部２４６は、ログ切替部２４２から受信する切替情報に基づいて、ストレージ情報ＳＴＲをストレージログ２５０に格納する動作モードを、通常モードまたは詳細モードのいずれかに切り替える。通常モードおよび詳細モードの例は、図８で説明される。
【００６３】
ログ記録部２４６は、ログ制御部２４４からのログ制御情報に基づいて、ストレージ情報ＳＴＲをストレージログ２５０に格納する処理を開始し、または、ストレージ情報ＳＴＲをストレージログ２５０に格納する処理を停止する。ログ記録部２４６は、ログ制御部２４４からのログ制御情報に基づいて、ストレージログ２５０に保持されたストレージ情報ＳＴＲをＨＤＤ２６０に保存する処理、または、ストレージログ２５０に保持されたストレージ情報ＳＴＲを破棄する処理を実行する。ログ記録部２４６は、ログ制御部２４４からのログ制御情報に基づいて実行した処理の結果を示す完了通知をログ制御部２４４に出力する。ログ記録部２４６は、通常モードおよび詳細モードにおいて、ストレージ情報ＳＴＲをストレージログ２５０に記録する記録部の一例である。また、ログ記録部２４６は、ストレージログ２５０に記録されたストレージ情報ＳＴＲをＨＤＤ２６０に保存する保存部の一例である。ＨＤＤ２６０は、ストレージ情報ＳＴＲが保存される第２の記憶部の一例である。なお、ログ制御部２４４からの通知に基づいて、ストレージログ２５０に保持されたストレージ情報ＳＴＲを、ＨＤＤ２６０に保存する処理、または、破棄する処理は、ログ制御部２４４により実行されてもよい。この場合、ログ制御部２４４は、ストレージログ２５０に含まれるストレージ情報ＳＴＲをＨＤＤ２６０に保存する保存部として機能する。
【００６４】
図８は、図４に示すストレージログ２５０に記録される情報の一例を示す図である。ストレージ２００内で発生するストレージ情報ＳＴＲは、ストレージ２００の電源の投入、ＨＤＤ２６２に対するリード動作およびライト動作等のストレージ２００の正常動作時に発生するイベントを示す情報を含む。ストレージ情報ＳＴＲは、ストレージ２００に搭載される電源装置、ＨＤＤ２６０、ＨＤＤ２６２およびメモリ２２０等の電子部品の状態を示す情報を含む。ストレージ情報ＳＴＲは、サーバ１００からの接続要求、リード要求およびライト要求に対するエラー応答等、サーバ１００からの要求に対する異常処理を示す情報を含む。ストレージ情報ＳＴＲは、サーバ１００とストレージ２００との間で伝送されるパケットの情報（以下、パケット情報）を含む。
【００６５】
ログ記録部２４６は、通常モードでは、パケット情報を除くストレージ情報ＳＴＲをストレージログ２５０に格納し、詳細モードでは、パケット情報を含む、図８に示す全てのストレージ情報ＳＴＲをストレージログ２５０に格納する。パケット情報を除くストレージ情報ＳＴＲは、第１の詳細度のログの一例であり、パケット情報を含む全てのストレージ情報ＳＴＲは、第２の詳細度のログの一例である。
【００６６】
図９および図１０は、図４に示す情報処理システムＳＹＳ２の動作の一例を示す図である。図１０は、図９に示す動作の続きを示す。なお、図９および図１０では、ストレージ２００への接続要求に対するエラー応答に基づいて、接続要求のリトライが発生する例を示す。しかしながら、ストレージ２００へのリード要求またはライト要求に対するエラー応答に基づいて、リード要求またはライト要求のリトライが発生する場合にも、図９および図１０と同様に動作する。イベント監視部１４２は、接続要求のリトライ、リード要求のリトライまたはライト要求のリトライを、ストレージ２００へのアクセスに対して発生した異常として検出する。
【００６７】
例えば、図４に示す業務ネットワーク３００が、ケーブルの抜き差し等により一時的に遮断された場合、サーバ１００とストレージ２００との通信は一時的に遮断される。サーバ１００は、ストレージ２００との通信を復旧するためにストレージ２００に接続要求を発行する。ここで、ストレージ２００は、突然発生した通信の遮断により、サーバ１００との間で通信をするために保持している情報の一部を失ったとする。例えば、情報の一部の消失は、サーバ１００と通信するためにストレージ２００が実行する通信プログラムのバグにより発生する。
【００６８】
情報の一部の消失により、ストレージ２００は、正当なサーバ１００からの接続要求を、不当なサーバ１００からの接続要求と判断し、接続要求に対するエラー応答をサーバ１００に送信する。接続要求に対するエラー応答は、悪意のある接続要求に対してストレージ２００のアクセスを拒否するための応答であり、正常な処理である。
【００６９】
リトライフラグ１４６は、初期状態において論理０にリセットされている（図９（ａ））。エージェント１４０のイベント監視部１４２は、ＯＳイベントログ１５０に格納されたイベント情報ＥＶを所定の時間間隔で読み出す（図９（ｂ））。例えば、ＯＳイベントログ１５０から読み出されるイベント情報ＥＶは、サーバ１００が正常に起動されたことを示す情報およびストレージ２００への接続要求の発生を示す情報を含む（図９（ｃ）、（ｄ））。
【００７０】
図９に示す例では、サーバ１００は、接続要求に対するエラー応答をストレージ２００から受信し、接続要求のリトライをストレージ２００に発行する。図４に示すＯＳ１３０は、ストレージ２００へのリトライを示すイベント情報ＥＶ１０をＯＳイベントログ１５０に格納する（図９（ｅ））。なお、サーバ１００は、接続要求に対する正常応答およびエラー応答のいずれも受信することなく所定時間が経過した場合にも、接続要求のリトライをストレージ２００に発行する。
【００７１】
イベント監視部１４２は、ＯＳイベントログ１５０から読み出したイベント情報ＥＶにイベント情報ＥＶ１０（リトライ）が含まれることを検出する（図９（ｆ））。イベント監視部１４２は、ストレージ制御部１４４を介してリトライフラグ１４６が論理０であることを確認し、イベント情報ＥＶ１０をストレージ制御部１４４に出力する（図９（ｇ））。これにより、リトライの発生がストレージ制御部１４４に通知される。
【００７２】
ストレージ制御部１４４は、イベント情報ＥＶ１０の受信に基づいて、詳細モードによるストレージ情報ＳＴＲの取得をストレージ２００に指示する（図９（ｈ））。以下の説明では、詳細モードによりストレージログ２５０に格納されるストレージ情報ＳＴＲは、”詳細ログ”とも称される。詳細ログの取得の指示は、ログの詳細度を上げさせる第１の指示の一例である。図５および図７で説明したように、ストレージ制御部１４４と、ログ切替部２４２およびログ制御部２４４との間の通信は、管理ネットワーク４００を介して実行される。サーバ１００とストレージ２００との管理ネットワーク４００を介した接続が確立されていない場合、ストレージ制御部１４４は、管理インタフェース１７０にストレージ２００との接続を確立させる。
【００７３】
ストレージ２００のログ切替部２４２は、サーバ１００からの詳細ログの取得の指示に基づいて、ログ記録部２４６の動作モードを通常モードから詳細モードに切り替える（図９（ｉ））。また、ログ切替部２４２は、サーバ１００からの詳細ログの取得の指示をログ制御部２４４に通知する（図９（ｊ））。ログ制御部２４４は、詳細ログの取得の指示に基づいて、詳細ログの取得を開始させる指示をログ記録部２４６に出力する（図９（ｋ））。
【００７４】
ログ記録部２４６は、動作モードを通常モードから詳細モードに切り替える（図９（ｌ））。そして、ログ記録部２４６は、図８に示すパケット情報を含む詳細なストレージ情報ＳＴＲをストレージログ２５０に格納する処理を開始し、詳細ログの取得を開始したことを示す完了通知をログ制御部２４４に出力する（図９（ｍ））。
【００７５】
ログ制御部２４４は、完了通知に基づいて、詳細ログの取得の開始をサーバ１００に通知する（図９（ｎ））。エージェント１４０のストレージ制御部１４４は、ストレージ２００からの通知に基づいて、リトライフラグ１４６を論理１にセットする（図９（ｏ））。セット状態のリトライフラグ１４６は、リトライ処理の実行中を示し、詳細ログの取得中を示す。ストレージ２００からの通知に基づいてリトライフラグ１４６をセットすることで、ストレージ２００が、詳細ログの取得の指示を受信せずに詳細ログの取得が開始していない場合に、リトライフラグ１４６がセットされることを抑止することができる。この場合、次のリトライの発生に基づいて、詳細ログの取得の指示が発行されるため、ストレージ２００は、詳細ログの取得を開始することができ、ストレージ２００が詳細ログを取得しない誤動作を抑止することができる。
【００７６】
詳細ログの取得中、サーバ１００は、接続要求に対する最初のリトライに対するエラー応答をストレージ２００から受信し、接続要求に対する２回目のリトライをストレージ２００に再度発行する。ＯＳ１３０は、リトライを示すイベント情報ＥＶ１０をＯＳイベントログ１５０に格納する（図９（ｐ））。
【００７７】
イベント監視部１４２は、ＯＳイベントログ１５０にイベント情報ＥＶ１０が含まれるため、ストレージ制御部１４４を介してリトライフラグ１４６の値を確認する（図９（ｑ））。イベント監視部１４２は、リトライフラグ１４６の論理１に基づいて、ストレージログ２５０への詳細ログの取得中であることを検出し、イベント情報ＥＶ１０のストレージ制御部１４４への出力を抑止する。このため、ストレージ制御部１４４は、ストレージログ２５０への詳細ログの取得を指示しない。すなわち、リトライフラグ１４６の値に基づいて、詳細ログを取得中か否かを判定することで、詳細ログの取得指示が、エージェント１４０からストレージログ２５０に重複して出力されることを抑止することができる。
【００７８】
この後、サーバ１００は、接続要求のリトライの発行を繰り返し、ＯＳ１３０は、リトライを示すイベント情報ＥＶ１０をＯＳイベントログ１５０に格納する（図９（ｒ）、（ｓ））。イベント監視部１４２は、ＯＳイベントログ１５０にイベント情報ＥＶ１０が含まれるが、リトライフラグ１４６が論理１であるため、イベント情報ＥＶ１０のストレージ制御部１４４への出力を抑止する（図９（ｔ）、（ｕ））。
【００７９】
次に、図１０において、サーバ１００は、接続要求の４回目のリトライに対するエラー応答をストレージ２００から受信し、接続要求に対する５回目のリトライをストレージ２００に再度発行する。ＯＳ１３０は、リトライを示すイベント情報ＥＶ１０をＯＳイベントログ１５０に格納する（図１０（ａ））。
【００８０】
サーバ１００は、接続要求に対する５回目のリトライを発行したにも拘わらず、接続要求に対する正常応答をストレージ２００から受信しないため、リトライタイムアウトを発生する。なお、リトライタイムアウトを判定するリトライの回数は、５回に限定されない。ＯＳ１３０は、リトライタイムアウトの発生に基づいて、ストレージ２００へのリトライに対するタイムアウトの発生を示すイベント情報ＥＶ２０をＯＳイベントログ１５０に格納する（図１０（ｂ））。
【００８１】
イベント監視部１４２は、イベント情報ＥＶ２０をストレージ制御部１４４に出力する（図１０（ｃ））。これにより、リトライタイムアウトの発生がストレージ制御部１４４に通知される。イベント監視部１４２は、リトライタイムアウトを、ストレージ２００へのアクセスに対する異常が回復しないエラーとして検出する。なお、イベント監視部１４２は、リード要求の所定数のリトライに対して正常応答をストレージ２００から受信しない場合に発生するリードタイムアウトを、ストレージ２００へのアクセスに対する異常が回復しないエラーとして検出してもよい。同様に、イベント監視部１４２は、ライト要求の所定数のリトライに対して正常応答をストレージ２００から受信しない場合に発生するライトタイムアウトを、ストレージ２００へのアクセスに対する異常が回復しないエラーとして検出してもよい。
【００８２】
ストレージ制御部１４４は、イベント情報ＥＶ２０の受信に基づいて、ストレージログ２５０に格納された詳細ログの保存をストレージ２００に指示する（図１０（ｄ））。詳細ログの保存の指示は、第２の指示の一例である。ストレージ２００のログ切替部２４２は、サーバ１００からの詳細ログの保存の指示に基づいて、ログ記録部２４６の動作モードを詳細モードから通常モードに切り替える（図１０（ｅ））。また、ログ切替部２４２は、サーバ１００からの詳細ログの保存の指示をログ制御部２４４に通知する（図１０（ｆ））。
【００８３】
ログ記録部２４６は、動作モードを詳細モードから通常モードに切り替え、ストレージログ２５０への詳細ログの格納を停止し、ストレージログ２５０への通常モードでのストレージ情報ＳＴＲの格納を開始する（図１０（ｇ））。ログ制御部２４４は、詳細ログの保存の指示に基づいて、詳細ログを保存する指示をログ記録部２４６に出力する（図１０（ｈ））。ログ記録部２４６は、ストレージログ２５０に保持された詳細ログをＨＤＤ２６０に保存（コピー）し、保存が完了したことを示す完了通知をログ制御部２４４に出力する（図１０（ｉ））。例えば、ログ記録部２４６は、ストレージログ２５０からＨＤＤ２６０に詳細ログをコピーした後、ストレージログ２５０に保持された詳細ログを破棄する。
【００８４】
ログ制御部２４４は、完了通知に基づいて、詳細ログの取得の停止と保存の完了とをサーバ１００に通知する（図１０（ｊ））。エージェント１４０のストレージ制御部１４４は、ストレージ２００からの通知に基づいて、リトライフラグ１４６を論理０にリセットする（図１０（ｋ））。リセット状態のリトライフラグ１４６は、リトライ処理が実行されていないことを示し、詳細ログが取得されていないことを示す。リトライフラグ１４６を論理０にリセットすることで、その後ストレージ２００へのリトライが発生した場合、サーバ１００は、リトライフラグ１４６の論理０に基づいて、ストレージ２００に詳細ログの取得を指示することができる。換言すれば、次のリトライの発生時に詳細ログが取得されない不具合を抑止することができる。
【００８５】
この後、サーバ１００は、リトライタイムアウトに対するエラー処理等を実行する。また、情報処理システムＳＹＳ２の管理者または情報処理システムＳＹＳ２のベンダ等は、ＨＤＤ２６０に保持された詳細ログに基づいて、リトライが繰り返し発生した要因を解析する。
【００８６】
図１１は、図４に示す情報処理システムＳＹＳ２の動作の別の例を示す図である。図９および図１０と同一または同様の動作については、詳細な説明は省略する。図１１において、リトライフラグ１４６が論理１にセットされるまでの動作は、図９と同じである。
【００８７】
図１１に示す例では、接続要求に対するエラー応答に対する１回目のリトライに対応して、ストレージ２００から正常応答が発行され、サーバ１００とストレージ２００との接続が完了する。図４に示すＯＳ１３０は、ストレージ２００への接続の完了を示すイベント情報ＥＶ３０をＯＳイベントログ１５０に格納する（図１１（ａ））。
【００８８】
イベント監視部１４２は、ＯＳイベントログ１５０から読み出したイベント情報ＥＶにイベント情報ＥＶ３０（リトライの正常完了の検出）が含まれることを検出する（図１１（ｂ））。イベント監視部１４２は、イベント情報ＥＶ３０をストレージ制御部１４４に出力する（図１１（ｃ））。これにより、リトライの正常完了がストレージ制御部１４４に通知される。
【００８９】
ストレージ制御部１４４は、イベント情報ＥＶ３０の受信に基づいて、詳細ログの取得の停止をストレージ２００に指示する（図１１（ｄ））。詳細ログの取得を停止する指示は、第３の指示の一例である。ストレージ２００のログ切替部２４２は、サーバ１００からの詳細ログの取得停止の指示に基づいて、ログ記録部２４６の動作モードを詳細モードから通常モードに切り替える（図１１（ｅ））。また、ログ切替部２４２は、サーバ１００からの詳細ログの取得停止の指示をログ制御部２４４に通知する（図１１（ｆ））。ログ制御部２４４は、詳細ログの取得を停止する指示に基づいて、詳細ログの取得を停止させ、ストレージログ２５０に保持されたストレージ情報ＳＴＲを破棄させる指示をログ記録部２４６に出力する（図１１（ｇ））。
【００９０】
ログ記録部２４６は、動作モードを詳細モードから通常モードに切り替える（図１１（ｈ））。そして、ログ記録部２４６は、ストレージログ２５０に保持された詳細ログを破棄する処理を開始し、詳細ログの破棄が完了したことを示す完了通知をログ制御部２４４に出力する（図１１（ｉ））。
【００９１】
ログ制御部２４４は、完了通知に基づいて、詳細ログの取得を停止し、詳細モードから通常モードに遷移したことサーバ１００に通知する（図１１（ｊ））。エージェント１４０のストレージ制御部１４４は、ストレージ２００からの通知に基づいて、リトライフラグ１４６を論理０にリセットする（図１１（ｋ））。そして、サーバ１００によるストレージ２００へのアクセスが開始され、通常モードでのストレージ情報ＳＴＲをストレージログ２５０に格納する処理が開始される。
【００９２】
図１２は、図５に示すエージェント１４０が実行する処理の一例を示す図である。図１２に示す処理は、サーバ１００のＣＰＵ１１０がエージェント１４０を実行することで実現される。すなわち、図１２は、情報処理装置の制御方法および情報処理装置の制御プログラムの一例を示す。図１２に示す処理は、例えば、５分毎に実行される。
【００９３】
まず、ステップＳ１００において、イベント監視部１４２は、直前の５分間に発生したイベント情報ＥＶをＯＳイベントログ１５０から読み出す。次に、ステップＳ１０２において、イベント監視部１４２は、ストレージ２００へのリトライ（ＥＶ１０）が発生したか否かを判定する。リトライが発生した場合、処理はステップＳ１０４に移行され、リトライが発生していない場合、処理はステップＳ１１０に移行される。
【００９４】
ステップＳ１０４において、イベント監視部１４２は、リトライフラグ１４６の値を判定する。リトライフラグ１４６が論理０の場合、詳細ログを取得するため、処理はステップＳ１０６に移行され、リトライフラグ１４６が論理１の場合、既に発行されたリトライにより詳細ログを取得中であるため、処理はステップＳ１１０に移行される。
【００９５】
ステップＳ１０６において、ストレージ制御部１４４は、管理ネットワーク４００を介してストレージ２００に接続する（コネクションの確立）。次に、ステップＳ１０８において、ストレージ制御部１４４は、詳細ログの取得をストレージ２００に指示し、処理を終了する。
【００９６】
ステップＳ１１０において、イベント監視部１４２は、ＯＳイベントログ１５０に格納されたイベント情報ＥＶに基づいて、リトライタイムアウト（ＥＶ２０）が発生したか否かを判定する。リトライタイムアウトが発生した場合、処理はステップＳ１１４に移行され、リトライタイムアウトが発生していない場合、処理はステップＳ１１２に移行される。
【００９７】
ステップＳ１１２において、イベント監視部１４２は、ＯＳイベントログ１５０に格納されたイベント情報ＥＶに基づいて、リトライが正常に完了したか（ＥＶ３０）否かを判定する。リトライが正常に完了した場合、処理はステップＳ１１８に移行され、リトライが正常に完了していない場合、処理は終了する。
【００９８】
ステップＳ１１４において、ストレージ制御部１４４は、管理ネットワーク４００を介してストレージ２００に接続する（コネクションの確立）。次に、ステップＳ１１６において、ストレージ制御部１４４は、詳細ログの取得の停止と詳細ログの保存とをストレージ２００に指示し、処理を終了する。ストレージ２００は、ストレージ制御部１４４からの指示に基づいて、詳細ログの取得を停止し、ストレージログ２５０に記録された詳細ログをＨＤＤ２６０に保存し、ストレージログ２５０に記録された詳細ログを破棄する。
【００９９】
ステップＳ１１８において、ストレージ制御部１４４は、管理ネットワーク４００を介してストレージ２００に接続する（コネクションの確立）。次に、ステップＳ１２０において、ストレージ制御部１４４は、詳細ログの破棄をストレージ２００に指示し、処理を終了する。ストレージ２００は、ストレージ制御部１４４からの指示に基づいて、ストレージログ２５０に記録された詳細ログを破棄する。
【０１００】
図１３は、図７に示すログ管理プログラム２４０が実行する処理の一例を示す。図１３に示す処理は、エージェント１４０からの指示を受信する毎に実行される。
【０１０１】
まず、ステップＳ２００において、ログ切替部２４２は、サーバ１００から詳細ログの取得の指示を受信したか否かを判定する。詳細ログの取得の指示を受信した場合、処理はステップＳ２０２に移行され、詳細ログの取得の指示を受信していない場合、処理はステップＳ２０６に移行される。
【０１０２】
ステップＳ２０２において、ログ切替部２４２は、ログ記録部２４６の動作モードを通常モードから詳細モードに切り替える。ログ記録部２４６は、詳細ログの取得を開始する。次に、ステップＳ２０４において、ログ制御部２４４は、詳細ログの取得を開始したことをサーバ１００に通知し、サーバ１００にリトライフラグ１４６をセットさせ、処理を終了する。
【０１０３】
ステップＳ２０６において、ログ切替部２４２は、サーバ１００から詳細ログの保存の指示を受信したか否かを判定する。詳細ログの保存の指示を受信した場合、処理はステップＳ２０８に移行され、詳細ログの保存の指示を受信していない場合、処理はステップＳ２１０に移行される。ステップＳ２０８において、ログ記録部２４６は、ストレージログ２５０に保持された詳細ログをＨＤＤ２６０に保存し、処理をステップＳ２１２に移行する。
【０１０４】
ステップＳ２１０において、ログ切替部２４２は、サーバ１００から詳細ログの取得を停止する指示を受信したか否かを判定する。詳細ログの取得を停止する指示を受信した場合、処理はステップＳ２１２に移行され、詳細ログの取得を停止する指示を受信していない場合、処理は終了する。
【０１０５】
ステップＳ２１２において、ログ記録部２４６は、詳細ログの取得を停止し、ストレージログ２５０に保持された詳細ログを破棄し、処理をステップＳ２１４に移行する。
【０１０６】
ステップＳ２１４において、ログ切替部２４２は、ログ記録部２４６の動作モードを詳細モードから通常モードに切り替える。ログ記録部２４６は、通常モードでのストレージ情報ＳＴＲの取得を開始する。次に、ステップＳ２１６において、ログ制御部２４４は、通常モードでのストレージ情報ＳＴＲの取得を開始したことをサーバ１００に通知し、サーバ１００にリトライフラグ１４６をリセットさせ、処理を終了する。
【０１０７】
以上、図４から図１３に示す実施形態においても、図１から図３に示す実施形態と同様の効果を得ることができる。例えば、ストレージ２００で認識されない異常が発生した場合にも、ストレージ２００は、サーバ１００からの指示に基づいて詳細ログを記録することができ、不良解析に有用な情報を取得することができる。また、詳細ログは、リトライの発生に基づいてストレージログ２５０に記録され、リトライタイムアウトの発生に基づいてＨＤＤ２６０に保存される。さらに、詳細ログは、リトライタイムアウトの発生またはリトライの正常完了に基づいて破棄される。このため、ストレージログ２５０として割り当てる記憶容量を最小限にすることができ、不良解析に有用な情報をストレージログ２５０に記録することができる。
【０１０８】
リトライフラグ１４６により、ストレージ２００が詳細ログの取得の指示を繰り返し受信することを抑止することができ、ストレージ２００のログ切替部２４２およびログ記録部２４６の制御を簡易にすることができる。ストレージ２００からの通知に基づいてリトライフラグ１４６をセットすることで、リトライフラグ１４６の状態と、ストレージ２００の状態とが不一致になることを抑止することができ、ストレージ２００が詳細ログを取得しない誤動作を抑止することができる。
【０１０９】
リトライタイムアウト等のエラーの発生した場合、業務ネットワーク３００にトレーサ等の解析装置を接続して、エラーの発生が再現するまで待つことなく、ストレージ２００に保存された詳細ログに基づいてエラーが発生した要因を解析することができる。
【０１１０】
さらに、図４から図１３に示す実施形態では、イベント監視部１４２が、ＯＳイベントログ１５０に保持されたログを所定の周期で監視することで、イベントＥＶを常時監視する場合に比べて、イベント監視部１４２の動作頻度を下げることができる。この結果、イベントＥＶを常時監視する場合に比べて、エージェント１４０を実行するためのＣＰＵ１１０の負荷を軽減することができ、サーバ１００の処理性能への影響を小さくすることができる。
【０１１１】
ストレージログ２５０の記憶容量を最小限にすることで、メモリ２２０に占めるストレージログ２５０の容量を相対的に小さくでき、メモリ２２０にストレージログ２５０を割り当てることによるストレージ２００の性能低下の影響を小さくすることができる。
【０１１２】
図１４は、情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムの別の実施形態におけるエージェントの一例を示す。図５と同一または同様の要素については、同じ符号を付し、詳細な説明は省略する。
【０１１３】
図１４に示すエージェント１４０Ａは、図５に示すエージェント１４０のイベント監視部１４２の代わりにイベント監視部１４２Ａを有する。イベント監視部１４２Ａは、リトライフラグ１４６がリセットされたことに基づいて”０”にクリアされ、イベント情報ＥＶ１０の検出回数をカウントするカウンタ１４３Ａを有する。そして、イベント監視部１４２Ａは、カウンタ１４３Ａのカウンタ値が所定値になった場合、イベント情報ＥＶ１０をストレージ制御部１４４に出力する。例えば、所定値は”３”である。すなわち、イベント監視部１４２Ａは、ストレージ２００へのリトライ（イベント情報ＥＶ１０）を３回検出した場合、詳細ログの取得の開始をストレージ制御部１４４に指示する。
【０１１４】
接続要求等のリトライがストレージ２００に連続して発行される場合、リトライの要因は、互いに同じである場合が多く、その場合、リトライの発行後のストレージ２００のログは、互いに同様になる。例えば、図１０および図１１では、ストレージ制御部１４４は、１回目のリトライからリトライタイムアウトまでのストレージ２００の詳細ログをストレージログ２５０に記録する。これに対して、この実施形態では、ストレージ制御部１４４は、３回目のリトライからリトライタイムアウトまでのストレージ２００の詳細ログをストレージログ２５０に記録する。これにより、ストレージログ２５０に重複して記録される詳細ログを減らすことができ、ストレージログ２５０のサイズを最小限にすることができる。
【０１１５】
エージェント１４０Ａのその他の機能は、図５に示すエージェント１４０の機能と同様である。また、エージェント１４０Ａを含むサーバ１００の構成と、サーバ１００に接続されるストレージ２００の構成とは、図４と同様であり、エージェント１４０Ａを含むサーバ１００とストレージ２００とにより情報処理システムが構築される。
【０１１６】
図１５は、図１４に示すエージェントが実行する処理の一例を示す。図１２と同一または同様の処理については、詳細な説明は省略する。図１５は、ステップＳ１０２とステップＳ１０４の間にステップＳ１０３が追加されることを除き、図１２に示す処理と同じである。
【０１１７】
図１５では、ステップＳ１０２において、イベント監視部１４２は、ストレージ２００へのリトライ（ＥＶ１０）が発生した場合、処理をステップＳ１０３に移行する。ステップＳ１０３において、イベント監視部１４２は、カウンタ１４３Ａのカウンタ値が”ｎ”を超えたか否かを判定する。例えば、”ｎ”は、”２”である。カウンタ値が”ｎ”を超えた場合、処理はステップＳ１０４に移行され、カウンタ値が”ｎ”以下の場合、詳細ログを取得する条件を満足しないため、処理はステップＳ１１０に移行される。
【０１１８】
以上、図１４および図１５に示す実施形態においても、図１から図１３に示す実施形態と同様の効果を得ることができる。さらに、図１４および図１５に示す実施形態では、以下の効果を得ることができる。すなわち、ストレージ２００へのリトライ回数が所定値を超えた場合に詳細ログの取得を開始することで、ストレージログ２５０に記録される詳細ログの重複度を下げることができ、ストレージログ２５０のサイズを最小限にすることができる。
【０１１９】
図１６は、情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラムのさらなる別の実施形態におけるエージェントが実行する処理の一例を示す。図１２と同一または同様の処理については、詳細な説明は省略する。図１６は、図１２に示すステップＳ１１８とステップＳ１２０が実行されないことを除き、図１２に示す処理と同じである。
【０１２０】
すなわち、図１６では、ステップＳ１１２において、イベント監視部１４２は、リトライが正常に完了した場合、処理をステップＳ１１４に移行し、リトライが正常に完了していない場合、処理を終了する。これにより、リトライタイムアウトが発生した場合だけでなく、リトライが正常に完了した場合にも、詳細ログをストレージ２００のＨＤＤ２６０に保存することができる。例えば、リトライタイムアウトとリトライの正常完了とが繰り返し発生する場合、リトライが正常に完了した場合の詳細ログに、不具合の発生要因が含まれている可能性がある。このような場合、リトライタイムアウト時のみだけでなく、リトライの正常完了時にも詳細ログを取得することで、リトライタイムアウト時のみに詳細ログを取得する場合に比べて、ストレージ２００の不具合の要因を解析する効率を向上することができる。なお、図１６に示すステップＳ１０２とステップＳ１０４の間に、図１５に示すステップＳ１０３が追加されてもよい。
【０１２１】
以上、図１６に示す実施形態においても、図１から図１５に示す実施形態と同様の効果を得ることができる。さらに、図１６に示す実施形態では、リトライが正常に完了した場合にも詳細ログを保存することで、リトライタイムアウト時のみに詳細ログを取得する場合に比べて、ストレージ２００の不具合を解析する効率を向上することができる。
【０１２２】
なお、図４以降に示す実施形態では、エージェント１４０を含むサーバ１００とログ管理プログラム２４０を含むストレージ２００とが、業務ネットワーク３００を介して互いに接続される例が説明された。しかしながら、ログ管理プログラム２４０を含むストレージ２００は、エージェント１４０を含むサーバ１００内に設けられてもよい。また、情報処理システムＳＹＳ２は、ストレージ２００の代わりに、接続要求、リード要求またはライト要求に基づいて動作するＤＶＤ（Digital Versatile Disc）ドライブ等の他の周辺装置を有してもよい。
【０１２３】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１２４】
１０…情報処理装置；１２…監視部；１４…制御部；１６…状態保持部；２０…周辺装置；２２…記録部；２４…保存部；１００…サーバ；１１０…ＣＰＵ；１２０…メモリ；１３０…ＯＳ；１４０、１４０Ａ…エージェント；１４２、１４２Ａ…イベント監視部；１４３Ａ…カウンタ；１４４…ストレージ制御部；１４６…リトライフラグ；１５０…ＯＳイベントログ；１６０…ＨＤＤ；１７０…管理インタフェース；２００…ストレージ；２１０…ＣＰＵ；２２０…メモリ；２４０…ログ管理プログラム；２４２…ログ切替部；２４４…ログ制御部；２４６…ログ記録部；２５０…ストレージログ；２６０、２６２…ＨＤＤ；２７０…管理インタフェース；３００…業務ネットワーク；４００…管理ネットワーク；ＡＢＮ…異常情報；ＣＬ…通信線；ＥＲＲ…エラー情報；ＥＶ…イベント；ＥＶ１０、ＥＶ２０、ＥＶ３０…イベント情報；ＩＮＳ１…第１の指示；ＩＮＳ２…第２の指示；ＩＮＳ３…第３の指示；Ｌ１ＥＶ、Ｌ２ＥＶ…ログ；ＮＯＲＭ…正常情報；ＳＴＲ…ストレージ情報；ＳＹＳ１、ＳＹＳ２…情報処理システム
【図１】
2018022402.tif 000003
【図２】
2018022402.tif 000004
【図３】
2018022402.tif 000005
【図４】
2018022402.tif 000006
【図５】
2018022402.tif 000007
【図６】
2018022402.tif 000008
【図７】
2018022402.tif 000009
【図８】
2018022402.tif 000010
【図９】
2018022402.tif 000011
【図１０】
2018022402.tif 000012
【図１１】
2018022402.tif 000013
【図１２】
2018022402.tif 000014
【図１３】
2018022402.tif 000015
【図１４】
2018022402.tif 000016
【図１５】
2018022402.tif 000017
【図１６】
2018022402.tif 000018