(57)【要約】【課題】  出力する値が時間の経過によって変化し得る情報出力装置から所定の時間パターンで測定値などの値を収集する情報収集装置が、値の収集を行えない間の、値の喪失を低減する情報出力装置を提供する。【解決手段】  本発明の情報出力装置は、出力手段にアクセスして値を取得する情報収集装置の前記アクセスを、前記出力手段から検出する検出手段と、検出された複数の前記アクセスから、前記アクセスが行われた時刻に規則性が存在する複数の前記アクセスを抽出する抽出手段と、抽出された前記複数のアクセスの時刻から、次に前記アクセスが行われる時刻である予測時刻を前記規則性に基づき予測する予測手段と、予測された前記時刻までに前記アクセスが検出されない場合、前記アクセスで取得される前記値を前記出力手段から取得し、取得の時刻に対応付けて情報記憶手段に格納する取得手段と、前記情報記憶手段と、前記情報記憶手段に格納されている前記値を前記情報収集装置に送信する送信手段とを含む。【選択図】      図１１
2014164633.tif 000002
【特許請求の範囲】
【請求項１】
出力手段にアクセスして値を取得する情報収集装置の前記アクセスを、前記出力手段から検出する検出手段と、
検出された複数の前記アクセスから、前記アクセスが行われた時刻に規則性が存在する複数の前記アクセスを抽出する抽出手段と、
抽出された前記複数のアクセスの時刻から、次に前記アクセスが行われる時刻である予測時刻を前記規則性に基づき予測する予測手段と、
予測された前記時刻までに前記アクセスが検出されない場合、前記アクセスで取得される前記値を前記出力手段から取得し、取得の時刻に対応付けて情報記憶手段に格納する取得手段と、
前記情報記憶手段と、
前記情報記憶手段に格納されている前記値を前記情報収集装置に送信する送信手段と
を含む情報出力装置。
【請求項２】
前記予測手段は、前記アクセスが行われた時刻が等しい間隔である複数の前記アクセスを抽出し、
前記予測手段は、前記アクセスが前記間隔で継続して行われる場合の、次に前記アクセスが行われる時刻を、前記予測時刻として算出する
請求項１に記載の情報出力装置。
【請求項３】
測定対象に対する測定の結果を前記値として取得する測定手段と、
前記出力手段と、
請求項１又は２に記載の情報出力装置。
【請求項４】
前記情報収集装置と、請求項１乃至３のいずれかに記載の情報出力装置とを含む情報処理システム。
【請求項５】
出力手段にアクセスして値を取得する情報収集装置の前記アクセスを、前記出力手段から検出し、
検出された複数の前記アクセスから、前記アクセスが行われた時刻に規則性が存在する複数の前記アクセスを抽出し、
抽出された前記複数のアクセスの時刻から、次に前記アクセスが行われる時刻である予測時刻を前記規則性に基づき予測し、
予測された前記時刻までに前記アクセスが検出されない場合、前記アクセスで取得される前記値を前記出力手段から取得し、取得の時刻に対応付けて情報記憶手段に格納し、
前記情報記憶手段に格納されている前記値を前記情報収集装置に送信する
情報出力方法。
【請求項６】
前記アクセスが行われた時刻が等しい間隔である複数の前記アクセスを抽出し、
前記アクセスが前記間隔で継続して行われる場合の、次に前記アクセスが行われる時刻を、前記予測時刻として算出する
請求項５に記載の情報出力方法。
【請求項７】
測定対象に対する測定の結果を前記値として取得し、
前記出力手段により、前記値を出力する
請求項５又は６に記載の情報出力方法。
【請求項８】
コンピュータを、
出力手段にアクセスして値を取得する情報収集装置の前記アクセスを、前記出力手段から検出する検出手段と、
検出された複数の前記アクセスから、前記アクセスが行われた時刻に規則性が存在する複数の前記アクセスを抽出する抽出手段と、
抽出された前記複数のアクセスの時刻から、次に前記アクセスが行われる時刻である予測時刻を前記規則性に基づき予測する予測手段と、
予測された前記時刻までに前記アクセスが検出されない場合、前記アクセスで取得される前記値を前記出力手段から取得し、取得の時刻に対応付けて情報記憶手段に格納する取得手段と、
前記情報記憶手段と、
前記情報記憶手段に格納されている前記値を前記情報収集装置に送信する送信手段と
して動作させる情報出力プログラム。
【請求項９】
コンピュータを、
前記アクセスが行われた時刻が等しい間隔である複数の前記アクセスを抽出する前記予測手段と、
前記アクセスが前記間隔で継続して行われる場合の、次に前記アクセスが行われる時刻を、前記予測時刻として算出する前記予測手段と
して動作させる請求項８に記載の情報出力プログラム。
【請求項１０】
コンピュータを、
測定対象に対する測定の結果を前記値として取得する測定手段と、
前記出力手段と、
して動作させる請求項８又は９に記載の情報出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報出力装置、情報出力方法、及び情報出力プログラムに関する。
【背景技術】
【０００２】
センサやその他の方法によって得られる、装置や環境の状態を表す測定値を、定期的に採取する装置が、例えば、例えば特許文献１、特許文献２、特許文献３に記載されている。定期的に採取された測定値は、例えば、測定対象の装置に障害が発生した場合、その障害の原因の調査や解析に使用される。定期的に採取された測定値は、また、測定対象の装置における障害の発生の予測に使用される。定期的に採取された測定値は、例えば、測定対象の複数の情報処理装置とそれらの装置で動作するソフトウェアで構成される業務システムの監視に使用される。定期的に採取された測定値は、業務システムを構成する情報処理装置やソフトウェアの相互関係や相互関係の時間的な推移の把握及び業務システムのチューニングにも使用される。あるいは、定期的に採取された測定値は、例えば、測定対象の複数の装置やそれらの装置を取り巻く環境の相互作用や時間的変化の把握、情報処理装置のために使用される。
【０００３】
特許文献１及び特許文献２には、監視対象となっているストレージネットワーク構成要素から、性能情報を収集する性能情報収集サーバが記載されている。性能情報収集サーバでは、監視対象の種類毎の、性能情報を収集するソフトウェアである性能情報収集エージェントが、タイマーにより定期的に起動されて、性能情報である性能の測定値の収集を行う。各エージェントはそれぞれの監視対象と直接通信して測定値を取得する。性能情報収集エージェントは、ホストサーバで動作する性能管理ソフトからの要求に応じて、取得した測定値を送信する。性能管理ソフトは、エージェント群が取得した測定値を収集し、蓄積する。性能管理ソフトは、ストレージネットワーク管理者等からの要求に応じて測定値を提供する。
【０００４】
さらに、特許文献２の性能情報収集エージェントは、性能管理ソフトからの要求が長期間ない場合も、収集した測定値を保持する。性能情報収集エージェントは、性能管理ソフトからの要求に応じて、保持する測定値を送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１５７９３３号公報
【特許文献２】特開２００８−１０８１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１のシステムでは、性能管理ソフトが動作するホストサーバが、例えば障害のために動作を停止した場合、性能管理ソフトは性能情報収集エージェントに対して要求を行わない。従って、ホストサーバが動作を停止してる間の測定値は得られない。
【０００７】
また、特許文献１及び特許文献２のシステムでは、性能情報収集サーバが、例えば障害のために動作を停止した場合、性能情報収集エージェントは性能情報収集を行わない。従って、性能情報収集サーバが動作を停止している間の測定値は得られない。
【０００８】
本発明の目的は、出力する値が時間の経過によって変化し得る情報出力装置から所定の時間パターンで測定値などの値を収集する情報収集装置が、値の収集を行えない間の、値の喪失を低減する情報出力装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の情報出力装置は、出力手段にアクセスして値を取得する情報収集装置の前記アクセスを、前記出力手段から検出する検出手段と、検出された複数の前記アクセスから、前記アクセスが行われた時刻に規則性が存在する複数の前記アクセスを抽出する抽出手段と、抽出された前記複数のアクセスの時刻から、次に前記アクセスが行われる時刻である予測時刻を前記規則性に基づき予測する予測手段と、予測された前記時刻までに前記アクセスが検出されない場合、前記アクセスで取得される前記値を前記出力手段から取得し、取得の時刻に対応付けて情報記憶手段に格納する取得手段と、前記情報記憶手段と、前記情報記憶手段に格納されている前記値を前記情報収集装置に送信する送信手段とを含む。
【００１０】
本発明の情報出力方法は、出力手段にアクセスして値を取得する情報収集装置の前記アクセスを、前記出力手段から検出し、検出された複数の前記アクセスから、前記アクセスが行われた時刻に規則性が存在する複数の前記アクセスを抽出し、抽出された前記複数のアクセスの時刻から、次に前記アクセスが行われる時刻である予測時刻を前記規則性に基づき予測し、予測された前記時刻までに前記アクセスが検出されない場合、前記アクセスで取得される前記値を前記出力手段から取得し、取得の時刻に対応付けて情報記憶手段に格納し、前記情報記憶手段に格納されている前記値を前記情報収集装置に送信する。
【００１１】
本発明の情報出力プログラムは、コンピュータを、出力手段にアクセスして値を取得する情報収集装置の前記アクセスを、前記出力手段から検出する検出手段と、検出された複数の前記アクセスから、前記アクセスが行われた時刻に規則性が存在する複数の前記アクセスを抽出する抽出手段と、抽出された前記複数のアクセスの時刻から、次に前記アクセスが行われる時刻である予測時刻を前記規則性に基づき予測する予測手段と、予測された前記時刻までに前記アクセスが検出されない場合、前記アクセスで取得される前記値を前記出力手段から取得し、取得の時刻に対応付けて情報記憶手段に格納する取得手段と、前記情報記憶手段と、前記情報記憶手段に格納されている前記値を前記情報収集装置に送信する送信手段として動作させる。
【発明の効果】
【００１２】
本発明には、出力する値が時間の経過によって変化し得る情報出力装置から所定の時間パターンで値を収集する情報収集装置が、値の収集を行えない間の、値の喪失を低減することができるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】図１は、第１の実施形態の情報処理システム５の構成の例を表す図である。
【図２】図２は、第１の実施形態の情報処理システム５の構成の変形例を表す図である。
【図３】図３は、第１の実施形態の情報出力装置１の動作の例を表すフローチャートである。
【図４】図４は、第１の構成例の情報処理装置１が実行するソフトウェアの構成の例を表す図である。
【図５】図５は、第１の構成例の障害時情報採取モジュール１０１による障害時情報採取時の全体の動作の例を表すフローチャートである。
【図６】図６は、各構成例のアクセス情報取得部１１１によるアクセス情報の採取時の動作の例を表すフローチャートである。
【図７】図７は、各構成例の周期的アクセス検出部１１２による周期的アクセス検出時の動作の例を表すフローチャートである。
【図８】図８は、周期的アクセステーブルの例を表す図である。
【図９】図９は、第２の構成例の構成を表す図である。
【図１０】図１０は、第２の構成例の障害時情報採取モジュール１０１による障害時情報採取時の動作を表すフローチャートである。
【図１１】図１１は、第２の実施形態の情報出力装置１の構成を表す図である。
【図１２】図１２は、第１の実施形態の情報処理システム５の構成の第２の変形例を表す図である。
【発明を実施するための形態】
【００１４】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１５】
図１は、本実施形態の情報処理システム５の構成の例を表す図である。
【００１６】
図１を参照すると、情報処理システム５は、情報出力装置１と、情報収集装置３を含む。情報出力装置１と情報収集装置３は、例えば有線や無線によるネットワークで接続され、通信可能である。情報出力装置１には、センサ４が接続されていてもよい。
【００１７】
図１の例では、情報出力装置１は、検出部１０と、抽出部１１と、予測部１２と、取得部１３と、情報記憶部１４と、送信部１５と、測定部２１と、出力部２２とを含む。
【００１８】
情報出力装置１のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｙｔｅｍ）は、情報出力装置１のプロセッサを情報出力装置１の各構成要素として動作させる、カーネル空間で動作するモジュールを含んでいてもよい。そして、情報出力装置１のプロセッサが、このモジュールを実行することにより、情報出力装置１の各構成要素として動作してもよい。
【００１９】
情報収集装置３は、情報出力装置１に含まれていてもよい。この場合、例えば、情報出力装置１は、情報出力装置１のプロセッサを情報収集装置３として動作させる、ユーザ空間で動作するプログラムを記憶していてもよい。情報出力装置１のプロセッサを情報収集装置３として動作させるプログラムは、情報採取ツールとも表記される。そして、例えば、情報出力装置１のプロセッサが、この情報採取ツールを実行することで、情報収集装置３として動作してもよい。複数の情報収集装置３が存在してもよい。
【００２０】
図２は、本実施形態の情報処理システム５の構成の変形例を表す図である。
【００２１】
図２の情報処理システム５は、情報出力装置１と、測定装置２と、情報収集装置３を含む。測定装置２には、センサ４が接続されていてもよい。
【００２２】
図２の例では、情報出力装置１は、検出部１０と、抽出部１１と、予測部１２と、取得部１３と、情報記憶部１４と、送信部１５とを含む。また、測定装置２は、測定部２１と、出力部２２とを含む。他の点では、図２の情報処理システム５は、図１の情報処理システム５と同じである。第１の実施形態の情報出力装置１は、図２の情報出力装置１及び測定装置２によって構成されていてもよい。
【００２３】
図１２は、本実施形態の情報処理システム５の構成の第２の変形例を表す図である。
【００２４】
図１２の例では、情報出力装置１は、検出部１０と、抽出部１１と、予測部１２と、取得部１３と、情報記憶部１４と、送信部１５と、出力部２２とを含む。また、測定装置２は、測定部２１を含む。他の点では、図１２の情報処理システム５は、図２の情報処理システム５と同じである。第１の実施形態の情報出力装置１は、図１２の情報出力装置１及び測定装置２によって構成されていてもよい。
【００２５】
以下、情報処理システム５の構成が図１の構成である場合について説明する。図２や図１２の例のように、測定部２１が測定装置２に含まれる場合、測定部２１の測定の対象は、情報出力装置１及び測定装置２のいずれか一方又は双方の内外の状態である。
【００２６】
測定部２１は、例えば、情報出力装置１の内外の状態を測定するセンサ４から、測定結果を測定値として取得する。センサ４は、状態を測定するセンサであれば、どのようなセンサであってもよい。測定値は、センサ４による測定の結果を表す数値である。測定値は、例えば、温度、風量、回転数、気圧、湿度、降水量等の値である。測定値は、これらの値に限定されない。センサ４の出力が電圧やパルス数などであり、測定値がアナログ値である場合、測定部２１は、測定値をデジタル化する。情報出力装置１が、プロセッサにより処理を実行する情報処理装置である場合、測定部２１は、情報出力装置１のシステムの状態表す値を取得してもよい。この場合、センサ４は情報出力装置１に接続されていなくてよい。システムの状態は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用率、メモリ使用量、図示されない記憶装置に対するＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）回数、Ｉ／Ｏのビジー率、転送レート、スループットなどである。以下の説明では、これらのシステムの状態を表す値も、測定値に含まれる。システムの状態を表す１個又は複数の値は、性能情報とも表記される。測定値は、センサによる測定値と、システムの状態を表す値の組み合わせであってもよい。
【００２７】
出力部２２は、例えば、情報収集装置３や取得部１３からの測定値の要求に応じて、測定部２１による測定値を送信する。また、出力部２２は、情報収集装置３からの測定値を要求するアクセスがあった場合、アクセスの時刻とアクセスにより要求された測定値の種類を、検出部１０に通知してもよい。本発明の各実施形態の説明は、出力部２２が出力する値が、前述のような測定値である場合の説明である。しかし、出力部２２が出力する値は、必ずしも測定値でなくてもよい。出力部２２が出力する値は、時間の経過に応じて変化しうる値であれば、測定値でなくてもよい。
【００２８】
検出部１０は、情報収集装置３から、例えば出力部２２に対する、測定値を要求するアクセスを検出する。検出部１０は、検出されたアクセスの、アクセスの時刻とアクセスの種類を対応付けて、アクセス記憶部１６に格納してもよい。アクセスの時刻とアクセスの種類の組は、アクセス情報とも表記される。アクセスの種類は、例えば、アクセスにより要求された測定値の種類である。検出部１０が、検出されたアクセスのアクセス情報を保持していてもよい。
【００２９】
アクセス記憶部１６は、アクセスの時刻とアクセスの種類を対応付けて記憶する。
【００３０】
抽出部１１は、検出された複数のアクセスの時刻から、アクセスの時刻に規則性があるアクセスを抽出する。すなわち、抽出部１１は、検出された複数のアクセスの時刻から、決まった時間パターンで行われるアクセスを抽出する。複数の種類のアクセスが検出されている場合、抽出部１１は、アクセスの種類毎に、アクセスの時刻に規則性があるアクセスを抽出する。複数の情報収集装置３からのアクセスが検出されている場合、抽出部１１は、アクセス元の情報収集装置３毎に、アクセスの時刻に規則性があるアクセスを抽出する。複数の情報収集装置３からの、複数の種類のアクセスが検出されている場合、抽出部１１は、情報収集装置３とアクセスの種類との組み合わせ毎に、アクセスの時刻に規則性があるアクセスを抽出する。抽出部１１は、必ずしも、時間パターンに正確に従ったアクセスだけを規則性があるアクセスと判定しなくてよい。抽出部１１は、アクセス時刻と時間パターン通りの時刻の差が所定の範囲に含まれていれば、そのアクセスはその時間パターンで表される規則性があるアクセスであると判定する。抽出部１１が、アクセスの時刻に規則性があると判定するための条件は、例えばシステムの設計者により予め決められていればよい。
【００３１】
抽出部１１は、例えば、同じ情報収集装置３からほぼ等しい時間間隔で行われる同じ種類のアクセスを、アクセスの時刻に規則性があるアクセスとして抽出する。以下では、このようなアクセスを、周期的アクセスとも表記する。この場合、複数のアクセスの時間間隔は、必ずしも正確に同一でなくてよい。抽出部１１は、例えば、アクセスの時刻のある時間間隔からのずれが、例えばシステムの管理者により予め定められた範囲に含まれるアクセスを、規則性があるアクセスとして抽出すればよい。この範囲は、例えば、プラスマイナス５パーセント以内あるいはプラスマイナス１０パーセント以内など、周期的アクセスの時間間隔に対する割合で表される時間である。この範囲は、例えば、プラスマイナス１秒以内あるいはプラスマイナス１００ミリ秒以内など、定量的に表された時間であってもよい。
【００３２】
予測部１２は、アクセスの時刻に規則性があるアクセスとして抽出されたアクセスのアクセス情報から、次にアクセスが行われる時刻を予測する。複数の種類のアクセスが検出されている場合、予測部１２は、アクセスの種類毎に、次にアクセスが行われる時刻を予測する。複数の情報収集装置３からのアクセスが検出されている場合、予測部１２は、アクセス元の情報収集装置３毎に、次にアクセスが行われる時刻を予測する。複数の情報収集装置３からの、複数の種類のアクセスが検出されている場合、予測部１２は、情報収集装置３とアクセスの種類との組み合わせ毎に、次にアクセスが行われる時刻を予測する。
【００３３】
取得部１３は、アクセスが行われることが予測された時刻までに、その時刻に行われることが予測された種類のアクセスが行われない場合、その予測された種類のアクセスにより取得される測定値を、出力部２２から取得する。取得部１３は、取得した測定値を、取得した時刻に対応付けて、情報記憶部１４に格納する。測定値の種類が複数存在する場合、取得部１３は、測定値の種類と、測定値に、さらに、その測定値が取得された時刻を対応付けて、情報記憶部１４に格納する。複数の情報収集装置３が存在する場合、取得部１３は、さらに、前述の予測された時刻にアクセスを行うことが予測される情報収集装置３の識別子を、測定値に対応付けて情報記憶部１４に格納する。
【００３４】
情報記憶部１４は、取得部１３により取得された測定値を、その測定値が取得された時刻に対応付けて記憶する。複数の種類の測定値が存在する場合、情報記憶部１４は、測定値に、さらに、測定値の種類を対応付けて記憶する。複数の情報収集装置３が存在する場合、情報記憶部１４は、測定値に、さらに、情報収集装置３の識別子を対応付けて記憶する。
【００３５】
送信部１５は、情報収集装置３からの要求に応じて、情報記憶部１４に格納されている測定値を、要求の送信元の情報収集装置３に送信する。情報記憶部１４が複数の種類の測定値を記憶する場合、送信部１５は、測定値の種類毎に、測定値を送信する。複数の情報収集装置３が存在する場合、送信部１５は、要求の送信元の情報収集装置３に対応付けられている測定値を、要求の送信元の情報収集装置３に送信する。なお、出力部２２が情報出力装置１に含まれる場合、出力部２２が送信部１５として動作してもよい。
【００３６】
次に、本実施形態の情報出力装置１の動作について、図面を参照して詳細に説明する。
【００３７】
図３は、本実施形態の情報出力装置１の動作の例を表すフローチャートである。
【００３８】
図３を参照すると、まず、検出部１０が、出力部２２に対する、測定値を取得するためのアクセスを検出する（ステップＳ１０１）。
【００３９】
出力部２２は、情報収集装置３から測定値の要求を受信すると、要求された測定値を、要求元の情報収集装置３に送信する。検出部１０は、その測定値の要求と、その要求を出力部２２が受信した時刻を検出する。出力部２２は、例えば、要求された測定値の種類の識別子と、要求元の情報収集装置３の識別子と、要求を受信した時刻の組を、検出部１０に送信してもよい。検出部１０は、この組を受信することで、測定値を取得するためのアクセスを検出してもよい。あるいは、検出部１０は、例えば以下のように、測定値を取得するためのアクセスを検出してもよい。なお、検出部１０による、測定値を取得するためのアクセスの検出方法は、以下に限られない。測定値を取得するためのアクセスの検出方法は、他の既存の方法でもよい。
【００４０】
出力部２２は、測定値毎に割り当てられた特殊なファイルを介して、測定値を提供するよう構成されていてもよい。すなわち、情報出力装置１は、例えば、情報収集装置３が、ある種類の測定値に対して割り当てられているファイルを読むと、その種類の測定値が読み出されるように、構成されていてもよい。この場合、検出部１０は、例えば、それぞれの種類の測定値に割り当てられているファイルに対するＩ／Ｏをフックして、それらのファイルに対するアクセスを検出することにより、測定値を取得するためのアクセスを検出する。そして、検出部１０は、アクセスが行われたファイルを特定することにより、読み出された測定値の種類を特定する。また、検出部１０は、ファイルに対してアクセスを行った情報収集装置３を特定する。このようなファイルを提供する実装の例として、例えば、procfsやsysfsなどの、疑似ファイルシステムや仮想ファイルシステムがある。
【００４１】
あるいは、出力部２２は、情報収集装置３から測定値の種類を特定する識別子を受信すると、その識別子で特定される種類の測定値を、識別子の送信元の情報収集装置３に送信するよう、構成されていてもよい。この場合、検出部１０は、例えば、出力部２２に送信された測定値の種類の識別子と、その識別子の送信元の情報収集装置３を検出すればよい。
【００４２】
情報出力装置１と測定装置２が別の装置である場合、出力部２２は、例えば、アクセス情報を、例えばファイルに記録するよう構成されていてもよい。アクセス情報は、例えば、測定値の要求を行った情報収集装置３の識別子と、要求された測定値の種類の識別子と、要求を受信した時刻を含む情報である。検出部１０は、アクセス情報が記録されたファイルを定期的に読み出し、読み出したファイルに新しいアクセス情報が含まれていることを検出することで、測定値を取得するためのアクセスを検出してもよい。
【００４３】
検出部１０は、検出したアクセスのアクセス情報を、例えばアクセス記憶部１６に格納する。
【００４４】
次に、抽出部１１が、例えばアクセス記憶部１６に格納されているアクセス情報から、アクセスされた時刻に規則性があるアクセスを抽出する（ステップＳ１０２）。
【００４５】
前述のように、規則性があるアクセスは、例えば同じ時間間隔で行われているアクセスである。抽出部１１は、前述のように、例えば、同じ情報収集装置３から、同じ種類の測定値に対する複数の要求が、同じ時間間隔で行われている場合、それらの複数の要求のためのアクセスを抽出する。規則性があるアクセスは、必ずしも等間隔のアクセスだけに限られない。
【００４６】
次に、予測部１２が、次にアクセスが行われる時刻を予測する（ステップＳ１０３）。
【００４７】
ある情報収集装置３からの、ある種類の測定値を要求する、時間Ｔ毎の複数のアクセスが抽出された場合、予測部１２は、同じ情報収集装置３から同じ種類の測定値を要求するアクセスが、抽出されたアクセスの後にも同じ間隔で行われると予測する。そして、予測部１２は、抽出されたアクセスの後にも、時間Ｔ毎にアクセスが行われる場合の、次にアクセスが行われる時刻を算出することで、次にアクセスが行われる時刻を予測する。
【００４８】
前述のように、複数の情報収集装置３が測定値を要求するアクセスを行っている場合、予測部１２は、情報収集装置３毎に、次にアクセスが行われる時刻を予測する。複数の種類の測定値が存在する場合、予測部１２は、測定値の種類毎に、次にアクセスが行われる時刻を予測する。
【００４９】
出力部２２と情報収集装置３との間の通信に障害が発生しておらず、情報収集装置３が正常に動作していれば、情報収集装置３が、予測された時刻にアクセスを行うことが期待される。
【００５０】
予測された時刻までに、予測された情報収集装置３からの予測された種類の測定値を要求するアクセスを、検出部１０が検出した場合（ステップＳ１０４、Ｙ）、情報出力装置１の動作は、ステップＳ１０１に戻る。
【００５１】
出力部２２と情報収集装置３との間の通信に障害が発生していたり、情報収集装置３に障害が発生していれば、情報収集装置３が出力部２２にアクセスを行えない場合、検出部１０は、予測された時刻に予測されたアクセスを検出しない。また、出力部２２と情報収集装置３との間の通信に遅延が発生している場合も、検出部１０は、予測された時刻までに予測されたアクセスを検出しない。
【００５２】
予測された時刻までに、予測された情報収集装置３からの予測された種類の測定値を要求するアクセスが検出されなかった場合（ステップＳ１０４、Ｎ）、取得部１３は、予測された時刻に、予測された種類の測定値を取得する（ステップＳ１０５）。取得部１３は、例えば、出力部２２から、測定値を取得する。取得部１３は、例えばセンサ４の測定結果を測定値として取得する測定部２１から、直接測定値を取得してもよい。
【００５３】
取得部１３は、取得した測定値を、その測定値を取得した時刻に対応付けて、情報記憶部１４に格納する。複数の情報収集装置３が存在する場合、取得部１３は、取得した測定値を、さらに、予測された時刻にその測定値を取得することが予測された情報収集装置３の識別子を対応付けて、情報記憶部１４に格納する。
【００５４】
送信部１５が情報収集装置３からの測定値の送信要求を受信しない場合（ステップＳ１０７、Ｎ）、情報出力装置１の動作は、ステップＳ１０１に戻る。
【００５５】
送信部１５は、情報収集装置３から測定値の送信要求を受信した場合（ステップＳ１０７、Ｙ）、情報記憶部１４に格納されている測定値を情報収集装置３に送信する（ステップＳ１０８）。送信部１５は、測定値とその測定値に対応付けられている時刻の組を、情報収集装置３に送信すればよい。
【００５６】
また、検出部１０が、予測された時刻を過ぎた時刻に予測されたアクセスを検出した場合、送信部１５は、検出されたアクセスの送信元の情報収集装置３に、情報記憶部１４に格納されている測定値を送信してもよい。
【００５７】
複数の情報収集装置３が存在する場合、送信部１５は、送信要求を送信した情報収集装置３の識別子に対応付けられている測定値を、その情報収集装置３に送信する。
【００５８】
以上で説明した本実施形態には、出力する値が時間の経過によって変化し得る情報出力装置から所定の時間パターンで値を収集する情報収集装置が、値の収集を行えない間の、値の喪失を低減することができるという効果がある。
【００５９】
また、本実施形態には、所定の時間パターンで測定対象から測定値を収集する情報収集装置３の、測定値の収集するためのアクセスが遅延した場合にも、所定の時間パターンに従った時刻における測定値を得ることができるという第２の効果がある。
【００６０】
その理由は、予測部１２により、情報収集装置３による測定値を収集するアクセスが予測された時刻に、検出部１０がアクセスを検出しない場合、取得部１３が、そのアクセスにより取得される測定値を取得し、情報記憶部１４に格納するからである。このことにより、所定の時間パターンで測定値を収集するアクセスを行う情報収集装置３が、アクセスを行えない間及び所定の時間パターンでアクセスを行えない間の測定値が、情報記憶部１４に格納される。そして、送信部１５が、情報記憶部１４に格納されている測定値を、情報収集装置３に送信する。予測部１２は、検出部１０により検出された、情報収集装置３による測定値を収集するアクセスの時刻から、次のアクセスの時刻を予測する。
【００６１】
（第１の構成例）
次に、第１の実施形態の第１の構成例について、図面を参照して詳細に説明する。
【００６２】
本構成例では、１台の情報処理装置が、第１の実施形態における情報出力装置１及び情報収集装置３として動作する。本構成例では、情報処理装置が、情報処理装置のＯＳが持つ情報採取機能により、情報出力装置１の測定部２１として動作する。情報採取機能は、所定の期間における、情報処理装置の、ＣＰＵ使用率、メモリ使用量、記憶装置に対するＩ／Ｏ回数、Ｉ／Ｏビジー率、転送レート、スループットなどの性能情報を取得する。また、情報処理装置が、情報処理装置のＯＳのモジュールであり、例えばカーネル空間で動作する、障害時情報採取モジュールを実行することにより、情報出力装置１の測定部２１以外の各構成要素として動作する。さらに、情報処理装置は、情報を採取するツールである情報採取ツールを実行することにより、情報収集装置３として動作する。本構成例では、情報採取ツールは、例えば上述のような性能情報を採取する、性能ツールである。
【００６３】
性能ツールには、ＯＳが持つ情報採取機能により採取され、上述のprocfsやsysfs等により提供される、特定のメモリ領域に記録された性能情報を取得し、人間が理解しやすい形式に加工して出力する方式をとるものが多い。そのため、カーネル空間内で性能情報が更新されていても、ユーザ空間で動作する性能ツールが動作できない状態に陥った場合、性能ツールは更新された性能情報を採取することはできない。
【００６４】
障害の原因究明につなげられるよう、採取したデータの変化を追跡可能にするために、性能ツールは定期的に情報採取を行うことが多い。しかし、性能ツールの障害のために、性能ツールが情報採取をできなくなると、障害発生中の情報は得られない。また、性能ツールの障害のために、情報採取のタイミングがずれると、採取された情報を使用した解析の結果が不正確になることがある。
【００６５】
図４は、本構成例の情報処理装置が実行するソフトウェアの構成の例を表す図である。
【００６６】
本構成例の情報処理装置では、障害時情報採取モジュール１０１と性能情報取得機能１０２を含むＯＳ１００が動作している。また、情報処理装置は、性能ツール１０３を実行している。障害時情報採取モジュール１０１は、ＯＳ１００の性能情報取得機能１０２と、性能ツール１０３の間に配置される。障害時情報採取モジュール１０１は、アクセス情報取得部１１１と、周期的アクセス検出部１１２と、代理情報採取部１１３と、障害時情報読み出し部１１４を含む。
【００６７】
障害時情報採取モジュール１０１が、第１の実施形態の情報出力装置１の測定部２１以外の各構成要素として動作する。性能情報取得機能１０２が、第１の実施形態の測定部２１として動作する。性能ツール１０３が、情報収集装置３として動作する。また、アクセス情報取得部１１１は、第１の実施形態の検出部１０と、送信部１５として動作する。アクセス情報取得部１１１は、さらに、出力部２２の機能を含んでいてもよい。その場合、性能情報取得機能１０２は、出力部２２の機能を含まない。周期的アクセス検出部１１２は、第１の実施形態の抽出部１１と、予測部１２として動作する。代理情報採取部１１３は、第１の実施形態の取得部１３と、情報記憶部１４として動作する。
【００６８】
本構成例の測定対象は、情報処理装置の「性能情報」である。性能情報は、前述のように、例えば、所定の期間における、ＣＰＵ使用率、メモリ使用量、記憶装置に対するＩ／Ｏ回数、Ｉ／Ｏビジー率、転送レート、スループットなどの、情報処理装置の状態を表す情報である。
【００６９】
アクセス情報取得部１１１は、性能ツール１０３が性能情報取得機能１０２へアクセスした際のアクセス情報を採取する。アクセス情報は、性能情報取得機能１０２へのアクセス時刻とアクセスにより取得される性能情報の種類である。以下では、アクセスにより取得される性能情報の種類は、アクセス情報の種類とも表記される。
【００７０】
また、アクセス情報取得部１１１は、性能情報が代理情報採取部１１３によって採取されている場合、代理採取された性能情報を性能ツール１０３へ返す。
【００７１】
周期的アクセス検出部１１２は、アクセス情報取得部１１１が取得したアクセス情報の種類とアクセス時刻から、性能ツール１０３によってどの性能情報がどのような間隔で採取されているかを検出する。周期的アクセス検出部１１２は、アクセス情報取得部１１１によりアクセス情報が取得されたアクセスから、一定の間隔で行われているアクセスである周期的アクセスのアクセス情報を検出する。
【００７２】
そして、周期的アクセス検出部１１２は、周期的アクセスの検出後、性能ツール１０３が正常な周期で性能情報の採取を行っているかどうか監視する。周期的アクセス検出部１１２は、遅延が発生した場合、性能ツール１０３の代わりに正常な周期で性能情報を代理採取するために、代理情報採取部１１３を呼び出す。周期的アクセス検出部１１２は、検出された周期的アクセスが継続して行われる場合アクセスが行われる時刻に、検出された周期的アクセスと同じ種類のアクセスが行われれば、性能ツール１０３が正常な周期で性能情報の採取を行っていると判定する。また、周期的アクセス検出部１１２は、検出された周期的アクセスが継続して行われる場合アクセスが行われる時刻までに、検出された周期的アクセスと同じ種類のアクセスが行われない場合、遅延が発生したと判定する。
【００７３】
代理情報採取部１１３は、検出された周期的なアクセスのアクセス情報から予測される次のアクセスの時刻までに、性能ツール１０３によるアクセスが検出されなかった場合、検出された周期的なアクセスにより採取される性能情報を採取して記録する。
【００７４】
障害時情報読み出し部１１４は、代理情報採取部１１３によって記録された性能情報を読み出し、出力する。性能ツール１０３が動作できないシステムの状態では、性能情報の読み出しが困難なことが予想される。そのため、障害時情報採取モジュール１０１は、正常状態に復旧後、性能情報の読み出しを可能にする機能として、障害時情報読み出し部１１４を有する。
【００７５】
次に、本構成例の動作について図面を参照して説明する。
【００７６】
まず、本構成例の障害時情報採取モジュール１０１の動作について、図５〜図７を用いて説明する。
【００７７】
図５は、本構成例の障害時情報採取モジュール１０１による障害時情報採取時の全体の動作の例を表すフローチャートである。
【００７８】
イベントが発生した場合（ステップＡ１）、障害時情報採取モジュール１０１の動作は、発生したイベントの種類によって分岐する。ステップＡ１のイベントは、性能ツール１０３からのアクセス要求、周期的アクセス時刻のタイマ発火、代理採取済みの性能情報の読み出し要求の３つのイベントのうちのいずれかである。
【００７９】
まずは、発生したイベントが、性能ツール１０３からのアクセス要求である場合の、障害時情報採取モジュール１０１の動作について説明する。アクセス要求は、性能情報を要求するアクセスである。以下の各変形例の説明では、アクセス要求は、単にアクセスとも表記される。
【００８０】
性能ツール１０３による性能情報取得機能１０２へのアクセスの、アクセス情報取得部１１１による検知時が、イベントが性能ツール１０３からのアクセス要求である場合の、イベントの発生契機である。例えば、ＯＳ１００の、性能情報を採取する機能がprocfsやsysfs等の擬似ファイルシステムへ集約されている場合、アクセス情報取得部１１１は、これらの擬似ファイルシステム上のファイルからの読み込みを、アクセスとして検出する。言い換えると、アクセス情報取得部１１１は、これらの擬似ファイルシステム上のファイル読み込みをフックすることで、性能情報取得機能１０２へのアクセスを検知する。性能ツール１０３による性能情報取得機能１０２へのアクセスの検知の方法は、既存の他の方法でもよい。
【００８１】
性能ツール１０３による性能情報取得機能１０２へのアクセスが検知されると、アクセス情報取得部１１１は、性能ツール１０３が性能情報取得機能１０２へアクセスした際のアクセス時刻とアクセス情報の種類を、アクセス情報として採取する（ステップＡ２）。
【００８２】
性能ツール１０３がprocfsやsysfs等の擬似ファイルシステム上のファイルから性能情報を得る場合、アクセス情報の種類は、procfsやsysfs等の擬似ファイルシステム上のファイル名によって判別される。この場合のアクセス情報の種類は、ファイル名そのものであってもよい。アクセス情報取得部１１１は、検出されたアクセスのアクセス情報を記憶する。アクセス情報取得部１１１は、例えば、過去の所定時間内に検出されたアクセスのアクセス情報を記憶していればよい。アクセス情報取得部１１１は、例えば図示されない記憶部に、検出されたアクセスのアクセス情報を格納してもよい。
【００８３】
周期的アクセス検出部１１２は、アクセス情報取得部１１１がアクセス情報を取得したアクセスが、周期的なアクセスであるかどうかを検出する（ステップＡ３）。
【００８４】
周期的アクセス検出部１１２は、検出した周期的なアクセスの、アクセス情報の種類と、アクセス間隔と、次のアクセス予定時刻を含む周期的アクセステーブルを生成してもよい。そして、周期的アクセス検出部１１２は、生成した周期的アクセステーブルを保持してもよい。
【００８５】
例えば、まず、周期的アクセス検出部１１２は、検出されたアクセスと同じ種類の周期的アクセスを、周期的アクセステーブルから抽出する。そして、抽出された周期的アクセスの次のアクセス予定時刻と、検出されたアクセスの検出時刻を比較する。周期的アクセス検出部１１２は、アクセス予定時刻と検出時刻の差が、例えば所定時間以下である場合、検出されたアクセスが、抽出された周期的アクセスの、次のアクセスであると判定すればよい。上述のアクセス予定時刻は、抽出された周期的アクセスの次のアクセス予定時刻である。また、上述の検出時刻は、検出されたアクセスの検出時刻である。
【００８６】
また、検出されたアクセスと同じ種類の、次のアクセス予定時刻と検出時刻の差が所定の時間以下である周期的アクセスが存在しない場合、周期的アクセス検出部１１２は、検出されたアクセスが周期的アクセステーブルの周期的アクセスではないと判定する。この場合、周期的アクセス検出部１１２は、例えば次のように、検出されたアクセスが新たな周期的アクセスであるか否かを判定する。周期的アクセス検出部１１２は、アクセス情報取得部１１１が記憶するアクセス情報における、検出されたアクセスと同じ種類で、ほぼ同じ時間間隔で所定回数以上継続して検出されたアクセス情報の有無を判定する。周期的アクセス検出部１１２は、検出されたアクセスと同じ種類で、ほぼ同じ時間間隔で所定回数以上継続して検出されたアクセス情報が存在する場合、検出されたアクセスを、新たな周期的アクセスであると判定する。検出されたアクセスが、新たな周期的アクセスであると判定された場合、周期的アクセス検出部１１２は、その新たな周期的アクセスの情報を、周期的アクセステーブルに追加する。
【００８７】
図８は、周期的アクセステーブルの例を表す図である。図８の周期的アクセステーブルは、さらに、性能情報が代理採取済みであるかどうかを表す代理採取を含む。代理採取は、代理情報採取部１１３が、アクセス予定時刻に、性能ツール１０３の代わりに性能情報を取得することを表す。代理採取がＹｅｓである場合、その種類のアクセスにより採取される種類の性能情報に、代理情報採取部１１３によって代理採取が行われた性能情報があることを表す。代理採取がＮｏである場合、その種類のアクセスにより採取される種類の性能情報に、代理情報採取部１１３によって代理採取が行われた性能情報が無いことを表す。代理採取の値は、ＹｅｓやＮｏでなくてもよい。「代理採取」は、予め定められたＹｅｓに対応する値とＮｏに対応する値の、いずれかで表されていればよい。
【００８８】
次に、代理情報採取部１１３は、検出されたアクセスで取得される性能情報が、代理情報採取部１１３によって代理採取されているかどうかを確認する（ステップＡ４）。
【００８９】
代理情報採取部１１３は、アクセス要求に対応する周期的アクセステーブルの「代理採取」がＹｅｓである場合、検出されたアクセスで取得される性能情報が代理採取済みであると確認する。代理情報採取部１１３は、アクセス要求に対応する周期的アクセステーブルの「代理採取」がＮｏである場合、検出されたアクセスで取得される性能情報が代理採取済みでないと確認する。
【００９０】
性能情報が代理採取されていれば（ステップＡ４、Ｙ）、周期的アクセス検出部１１２によって性能ツール１０３の遅延が確認され、代理情報採取部１１３によって正常な周期で性能情報の代理採取が行われたことを意味する。性能情報が代理採取されている場合、代理情報採取部１１３は、代理採取された性能情報を性能ツール１０３へ返す（ステップＡ５）。
【００９１】
性能ツール１０３への代理採取された性能情報の送信後、代理情報採取部１１３は、その性能情報を保持する必要はない。そのため、代理情報採取部１１３は、送信済みの代理採取した性能情報を破棄する。また、代理情報採取部１１３は、代理採取した性能情報へのアクセス要求に対応する周期的アクセステーブルの「代理採取」のマークを外す。すなわち、代理情報採取部１１３は、その周期的アクセステーブルの「代理採取」をＮｏに変更する。
【００９２】
検出されたアクセス要求により採取される性能情報が代理採取済みでなければ（ステップＡ４、Ｎ）、性能情報取得機能１０２が性能ツール１０３に性能情報を渡す（ステップＡ６）。すなわち、性能ツール１０３は性能情報取得機能１０２から性能情報を採取する。
【００９３】
検出されたアクセス要求が周期的アクセスであれば、周期的アクセス検出部１１２は、検出されたアクセス要求に対応するアクセステーブルを更新する（ステップＡ７）。周期的アクセス検出部１１２は、アクセス要求に対応する周期的アクセステーブルの「次のアクセス予定時刻」を、アクセス間隔をもとに更新する。周期的アクセス検出部１１２は、アクセス要求が検出された時刻をもとにアクセス間隔を修正してから、「次のアクセス予定時刻」を更新してもよい。
【００９４】
また、周期的アクセス検出部１１２は、周期的アクセス時刻のタイマの再設定を行う（ステップＡ８）。周期的アクセス時刻のタイマは、周期的アクセステーブルの周期的アクセスの、現在時刻以降で最も近い「次のアクセス予定時刻」までに、その「次のアクセス予定時刻」に対応する種類のアクセスが検出されなかった場合、発火するよう設定される。周期的アクセス検出部１１２は、更新された周期的アクセステーブルをもとに、周期的アクセス時刻のタイマを再設定する。
【００９５】
周期的アクセステーブルの「次のアクセス予定時刻」は、ステップＡ７及び後述のステップＡ１０の処理により、現在時刻以降の時刻に設定されている。周期的アクセス検出部１１２は、周期的アクセス時刻のタイマは周期的アクセステーブルから、「次のアクセス予定時刻」が現在時刻に最も近い、周期的アクセスを選び出す。周期的アクセス検出部１１２は、タイマが選び出された周期的アクセスの「次のアクセス予定時刻」に設定されておらず、タイマの更新が必要であれば、タイマをその「次のアクセス予定時刻」に再設定する。
【００９６】
以上が、性能ツール１０３からの性能情報の読み出し要求イベント発生時の処理である。
【００９７】
続いて、周期的アクセス時刻のタイマ発火時の処理について説明する。
【００９８】
前述のように、周期的アクセス時刻のタイマは、周期的アクセステーブルから読み出された、現在時刻に最も近い「次のアクセス予定時刻」に設定されている。例えば通信路の遅延により性能ツール１０３によるアクセス要求の時間がその「次のアクセス予定時刻」を超過した場合や、障害の発生により性能ツール１０３がアクセス要求を行えない場合、性能ツール１０３による周期的な情報採取は行われない。性能ツール１０３による情報採取が行われないまま、時刻が「次のアクセス予定時刻」を過ぎた場合、周期的アクセス時刻のタイマ発火のイベントが発生する。
【００９９】
したがって、周期的アクセス時刻のタイマの発火は、性能ツール１０３によって周期的な性能情報の採取が実施されなかったことを意味する。性能ツール１０３による、周期的な性能情報の採取の不実施は、例えば性能ツール１０３からのアクセス要求の遅延により生じる。
【０１００】
発生したイベントが、周期的アクセス時刻のタイマの発火である場合、代理情報採取部１１３は、タイマ発火の原因となった、「次のアクセス予定時刻」が現在時刻に最も近い周期的アクセスを特定する。代理情報採取部１１３は、特定された周期的アクセスのアクセス情報の種類に対応する性能情報を、性能ツール１０３の代わりに性能情報取得機能１０２から採取し、記録する（ステップＡ９）。
【０１０１】
次に、周期的アクセステーブルを更新する（ステップＡ１０）。具体的には、代理情報採取部１１３は、周期的アクセステーブルの、特定された前述の周期的アクセスの「代理採取」をＹｅｓに更新する。また、代理情報採取部１１３は、ステップＡ７と同様に、「次のアクセス予定時刻」を更新する。
【０１０２】
代理情報採取部１１３は、さらに、ステップＡ８と同様に、周期的アクセス時刻のタイマ再設定を行う（ステップＡ１１）。
【０１０３】
以上が、周期的アクセス時刻のタイマ発火時の処理である。
【０１０４】
最後に、代理採取済みの性能情報の読み出し要求のイベントの発生時の処理について説明する。
【０１０５】
代理採取済みの性能情報の読み出し要求イベントの発生契機は、代理情報採取部１１３によって代理採取された性能情報の読み出し要求が発生した時である。
【０１０６】
性能ツール１０３からの読み出し要求があれば、障害時情報読み出し部１１４は、代理情報採取部１１３によって代理採取された性能情報の有無を確認後、代理採取された性能情報を読み出し、出力する（ステップＡ１２）。
【０１０７】
周期的アクセスの「次のアクセス予定時刻」に性能ツール１０３によって採取されなかった性能情報は、代理情報採取部１１３によって採取され、記録される。性能ツール１０３の周期的アクセスを阻害していた障害が解消した正常状態に復旧後、代理採取された性能情報の、障害時情報読み出し部１１４による読み出し可能となる。これによって、性能ツール１０３は、性能ツール１０３が動作できなかった期間の性能情報を、障害時情報読み出し部１１４を介して読み出すことができる。
【０１０８】
以上が、代理採取済みの性能情報の読み出し要求イベントの発生時の処理である。
【０１０９】
以降、障害時情報採取モジュール１０１は、３つのイベントのいずれかの発生を契機に、発生したイベントに応じた上述の処理を繰り返す（ステップＡ１３）。この３つのイベントは、上述のように、性能ツール１０３からのアクセス要求、周期的アクセス時刻のタイマ発火、代理採取済みの性能情報の読み出し要求である。
【０１１０】
次に、ステップＡ２の、アクセス情報取得部１１１によるアクセス情報の採取時の動作について、図面を参照して詳細に説明する。
【０１１１】
図６は、本構成例のアクセス情報取得部１１１によるアクセス情報の採取時の動作を表すフローチャートである。
【０１１２】
図６を参照すると、まず、アクセス情報取得部１１１は、性能ツール１０３による性能情報取得機能１０２へのアクセス検知すると、そのアクセス時刻を採取する（ステップＢ１）。
【０１１３】
続いて、アクセス情報取得部１１１は、アクセス先である性能情報取得機能１０２の種類を、アクセス情報の種類として採取する（ステップＢ２）。
【０１１４】
アクセス情報取得部１１１は、採取したアクセス時刻とアクセス情報の種類を、アクセス情報として記録する（ステップＢ３）。
【０１１５】
以上の処理の終了後、障害時情報採取モジュール１０１の処理は、アクセス要求発生時のフローに復帰する。
【０１１６】
次に、ステップＡ３の、周期的アクセス検出部１１２による周期的アクセス検出時の動作について、図面を参照して詳細に説明する。
【０１１７】
図７は、本構成例の周期的アクセス検出部１１２による周期的アクセス検出時の動作の例を表すフローチャートである。
【０１１８】
図７を参照すると、まず、周期的アクセス検出部１１２は、アクセス情報取得部１１１によって採取されたアクセス情報の種類を元に、そのアクセス要求が周期的アクセスとして周期的アクセステーブルに登録されているかどうかを確認する（ステップＣ１）。
【０１１９】
周期的アクセス検出部１１２によって検出された周期的アクセスの情報は、アクセス情報の種類をキーに、図８の例のような周期的アクセステーブルに登録される。周期的アクセステーブルでのエントリの有無が、周期的アクセスであるかどうかの判断基準である。
【０１２０】
検出されたアクセス要求が周期的アクセスとして周期的アクセステーブルに登録済みであれば（ステップＣ１、Ｙ）、検出されたアクセス要求は、検出済みの周期的アクセスである。そのため、障害時情報採取モジュール１０１の動作は、アクセス要求発生時のフローに復帰する。
【０１２１】
検出されたアクセス要求が、周期的アクセスとして周期的アクセステーブルに登録されていなければ（ステップＣ１、Ｎ）、周期的アクセス検出部１１２は、検出されたアクセス要求に対応するアクセス情報を取得する（ステップＣ２）。ステップＣ２で、周期的アクセス検出部１１２は、検出されたアクセス要求の種類と同じ種類の、これまでに検出され記録されたアクセス情報を、アクセス情報取得部１１１から取得する。取得されたアクセス情報は、検出されたアクセス要求が未検出の周期的アクセスであるかどうかを判定するために使用される。
【０１２２】
続いて、周期的アクセス検出部１１２は、取得したアクセス情報のアクセス時刻から、アクセスの間隔を計算する（ステップＣ３）。
【０１２３】
周期的アクセス検出部１１２は、計算されたアクセス間隔を元に、アクセス要求が周期的アクセスであるかを検出する（ステップＣ４）。
【０１２４】
周期的アクセス検出部１１２は、例えば、一定回数以上同じアクセス間隔でアクセスがあった場合に、検出された、性能情報取得機能１０２へのアクセスが周期的であると判断する。
【０１２５】
未登録の周期的アクセスが検出された場合（ステップＣ４、Ｙ）、周期的アクセス検出部１１２は、アクセス情報の種類をキーとして、周期的アクセステーブルに新規エントリを登録する（ステップＣ５）。そして、周期的アクセス検出部１１２は、検出されたアクセス情報のアクセス時刻と、計算されたアクセス間隔から、次のアクセス予定時刻を予測する。周期的アクセス検出部１１２は、周期的アクセステーブルに登録された新規エントリに、アクセス間隔と次のアクセス予定時刻とを設定する（ステップＣ６）。
【０１２６】
以上の処理の終了後、障害時情報採取モジュール１０１の動作は、アクセス要求発生時のフローに復帰する。
【０１２７】
以上の本構成例の説明では、代理採取される性能情報の値は、採取される情報の種類毎に一個である。しかし、代理採取される性能情報の値の数は、以上に限られない。例えば、複数の周期に渡る周期的アクセスの途絶が発生した場合、アクセスの途絶が発生しなければその周期的アクセスで取得される性能情報の複数の値を、代理情報採取部１１３が代理採取してよい。
【０１２８】
（第２の構成例）
図９は、第２の構成例の構成を表す図である。
【０１２９】
図９の情報取得装置２００が、第１の実施形態の情報出力装置１である。図９のリモート情報収集ツール２０３は、ネットワーク２０４を介して情報取得装置２００に接続された情報処理装置で動作するプログラムである。この情報処理装置が、第１の実施形態の情報収集装置３である。図９では、リモート情報収集ツール２０３が動作する情報処理装置は、省略されている。情報取得装置２００には、センサ２０１が接続されている。情報取得装置２００では、障害時情報採取モジュール１０１が動作している。また、情報取得装置２００は、センサ情報取得機能２０２を備える。
【０１３０】
第１の構成例は、性能ツール１０３と性能情報取得機能１０２が、同一のＯＳ１００上で動作している場合の例である。それに対して、本構成例は、リモート情報収集ツール２０３がネットワーク２０４で接続された情報取得装置２００のセンサ情報取得機能２０２から各種情報を取得する場合の例である。このリモート情報収集ツール２０３は、遠隔地にあるセンサから情報を収集するツールや、ネットワーク通信で各種情報を採取するツールである。
【０１３１】
センサ情報取得機能２０２は、性能情報ではなく、センサ２０１によって測定された測定値をセンサ情報として提供する点を除き、性能情報取得機能１０２と同じである。リモート情報収集ツール２０３は、各種情報の採取を、ネットワーク２０４を介して他の装置から行う点を除き、性能ツール１０３と同じである。
【０１３２】
リモート情報収集ツール２０３の特徴は、ネットワーク２０４越しに情報取得装置２００から各種情報を採取する点である。そのため、情報採取するために利用しているネットワーク２０４等の通信の手段が障害のために動作しなくなった場合、リモート情報収集ツール２０３が正常に動作していても、リモート情報収集ツール２０３は更新された各種情報を採取できない。
【０１３３】
本構成例は、リモート情報収集ツール２０３が、ネットワーク２０４を介して、例えば遠隔地にある情報取得装置２００のセンサ情報取得機能２０２からセンサ情報を採取する例である。センサ情報取得機能２０２を含む情報取得装置２００は、遠隔地のセンサの傍に配置される。センサ情報は、第１の変形例の性能情報と同様に、専用のファイルを経由して採取される。
【０１３４】
図９の本変形例の障害時情報採取モジュール１０１は、ネットワーク２０４を介さずに、センサ情報取得機能２０２と通信することができる。障害時情報採取モジュール１０１は、図４の障害時情報採取モジュール１０１と同様に、アクセス情報取得部１１１と、周期的アクセス検出部１１２と、代理情報採取部１１３と、障害時情報読み出し部１１４を含む。
【０１３５】
アクセス情報取得部１１１は、リモート情報収集ツール２０３によるネットワーク２０４越しのセンサ情報取得機能２０２へのアクセスを検出する。そして、アクセス情報取得部１１１は、検出されたアクセスのアクセス情報を採取する。アクセス情報は、センサ情報取得機能２０２へのアクセス時刻とアクセス情報の種類である。
【０１３６】
また、アクセス情報取得部１１１は、第１の構成例と同様、センサ情報が代理情報採取部１１３によって採取されている場合、代理採取されたセンサ情報をリモート情報収集ツール２０３へ返す。
【０１３７】
周期的アクセス検出部１１２は、第１の構成例と同様、アクセス情報取得部１１１が検出したアクセスから、アクセス情報取得部１１１が取得したアクセス情報の種類とアクセス時刻によって、周期的アクセスを検出する。
【０１３８】
そして、周期的アクセス検出部１１２は、検出された周期的アクセスの周期に従って、アクセスが行われているかどうかを監視する。周期的アクセス検出部１１２は、検出された周期的アクセスから予想されるアクセスの時刻に対して、アクセスの遅延が発生した場合、検出された周期的アクセスの周期に従った周期で情報を代理採取させるために、代理情報採取部１１３を呼び出す。
【０１３９】
代理情報採取部１１３は、第１の構成例と同様、検出された周期的アクセスから予想されるアクセスの時刻にアクセスが行われない場合、リモート情報収集ツール２０３の代わりに、センサ情報取得機能２０２からセンサ情報を採取して記録する。
【０１４０】
障害時情報読み出し部１１４は、第１の構成例と同様、代理情報採取部１１３によって記録された情報を読み出し、出力する。
【０１４１】
本構成例では、第１の構成例とは異なり、障害時情報読み出し部１１４は、読み出された情報を、ネットワーク２０４越しに出力できる。本構成例では、リモート情報収集ツール２０３は、リモート情報収集ツール２０３が動作する情報処理装置にネットワーク２０４により接続された、例えば遠隔地にある情報取得装置２００が含むセンサ情報取得機能２０２から、センサ情報の採取を行う。障害時情報読み出し部１１４は、ネットワーク２０４によって接続された情報処理装置で動作するリモート情報収集ツール２０３に対して、読み出されたセンサ情報を出力する。
【０１４２】
本構成例の障害時情報採取モジュール１０１の動作について、図１０のフローチャートを用いて説明する。
【０１４３】
図１０は、本構成例の障害時情報採取モジュール１０１による障害時情報採取時の動作を表すフローチャートである。
【０１４４】
障害時情報採取モジュール１０１は、３つのイベントのいずれかの発生を契機に、発生したイベントに応じた処理を実行する（ステップＤ１）。３つのイベントは、リモート情報収集ツール２０３からのアクセス要求と、周期的アクセス時刻のタイマ発火と、代理採取済みのタイマ情報の読み出し要求である。
【０１４５】
まず、リモート情報収集ツール２０３からのアクセス要求のイベントが発生した場合の処理について説明する。
【０１４６】
リモート情報収集ツール２０３からのアクセス要求のイベントの発生契機は、アクセス情報取得部１１１が、リモート情報収集ツール２０３によるセンサ情報取得機能２０２へのアクセスを検知した時である。
【０１４７】
情報取得装置２００は、第１の構成例と同じように、センサ情報取得機能２０２が採取したセンサ情報を、例えばセンサ情報毎に割り当てられた専用のファイルを経由して提供するよう、構成されていてもよい。例えば、情報取得装置２００はセンサ情報毎に割り当てられているファイルを読むと、採取されたセンサ情報が出力されるよう構成されていてもよい。この場合のアクセス検出方法の例は、それらの専用のファイルからの読み出しをフックすることで、それらのファイルへのアクセスを検出することである。
【０１４８】
リモート情報収集ツール２０３によるセンサ情報取得機能２０２へのアクセスが検知されると、アクセス情報取得部１１１はアクセス情報を採取する（ステップＤ２）。アクセス情報取得部１１１は、リモート情報収集ツール２０３がセンサ情報取得機能２０２へアクセスした際のアクセス時刻とアクセス情報の種類を、アクセス情報として採取する。
【０１４９】
アクセス情報取得部１１１は、アクセス情報の種類を、例えば、センサ情報毎に割り当てられた専用のファイル名によって判別する。アクセス情報の種類は、センサ情報毎に割り当てられた専用のファイル名そのものであってもよい。
【０１５０】
本構成例では、ネットワーク２０４越しに情報収集が行われる。情報収集のためのアクセス要求を行う、複数のリモート情報収集ツール２０３が存在していてよい。その場合、アクセス情報取得部１１１は、さらに、リモート情報収集ツール２０３の識別子を取得する。リモート情報収集ツール２０３の識別子は、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスやポート番号等の接続元情報である。アクセス情報の種類は、接続もと情報と、センサ情報毎のファイル名の組み合わせであってもよい。
【０１５１】
本構成例では、性能情報ではなく、センサ情報取得機能２０２からセンサ情報が採取される点と以上を除き、ステップＤ２からステップＤ８の処理は、それぞれ、図５のステップＡ２からステップＡ８の処理と同じである。従って、以上の説明以外の、ステップＤ２からステップＤ８の説明は省略される。
【０１５２】
続いて、周期的アクセス時刻のタイマ発火のイベントの発生時の処理について説明する。
【０１５３】
周期的アクセス時刻のタイマには、第１の構成例と同様、現在時刻以降で、現在時刻に最も近い、周期的アクセステーブルの「次のアクセス予定時刻」が設定されている。従って、周期的アクセス時刻のタイマ発火イベントの発生契機は、リモート情報収集ツール２０３による、タイマに設定されている「次のアクセス予定時刻」に対応する種類のアクセスが行われないまま、その「次のアクセス予定時刻」になった場合である。すなわち、周期的アクセス時刻のタイマ発火のイベントは、検出された周期的アクセスから予測される時刻に予測されるアクセスが行われなかった場合に、発生する。
【０１５４】
周期的アクセス時刻のタイマは、第１の構成例と同様、周期的アクセス検出部１１２によって検出された周期的アクセスから予測される、アクセスが行われる時刻に設定される。周期的アクセス時刻のタイマが発火は、リモート情報収集ツール２０３による周期的なセンサ情報の採取が検出されなかったことを意味する。リモート情報収集ツール２０３からのアクセス要求が遅延した場合や、ネットワーク２０４に障害が発生した場合に、リモート情報収集ツール２０３による周期的なセンサ情報の採取は検出されない。この場合、周期的アクセス検出部１１２は、代理情報採取部１１３を呼び出す。代理情報採取部１１３は、周期的アクセス時刻のタイマに設定されている「次のアクセス予定時刻」に行われると予測されていたアクセスにより取得されるセンサ情報を、リモート情報収集ツール２０３の代わりにセンサ情報取得機能２０２から採取する。そして、代理情報採取部１１３は、取得したセンサ情報を記録する（ステップＤ９）。
【０１５５】
ステップＤ１０とステップＤ１１の処理は、それぞれ、図５の第１の変形例のステップＡ１０とステップＡ１１の処理と同じであるので、説明を省略する。
【０１５６】
最後に、代理採取済みのセンサ情報の読み出し要求のイベントの発生時の処理について説明する。
【０１５７】
代理採取済みのセンサ情報の読み出し要求のイベントは、障害時情報読み出し部１１４が、リモート情報収集ツール２０３から、代理情報採取部１１３によって代理採取されたセンサ情報の読み出し要求を受信したとき、発生する。
【０１５８】
代理採取済みのセンサ情報の読み出し要求のイベントが発生すると、障害時情報読み出し部１１４は、代理情報採取部１１３によって代理採取されたセンサ情報の有無を確認する。障害時情報読み出し部１１４は、代理情報採取部１１３によって代理採取されたセンサ情報が存在する場合、代理採取されたセンサ情報を読み出す。障害時情報読み出し部１１４は、センサ情報の読み出し要求の送信元のリモート情報収集ツール２０３に対して、読み出されたセンサ情報を出力する（ステップＤ１２）。
【０１５９】
例えば、ネットワーク２０４に障害が発生した場合や、リモート情報収集ツール２０３が停止した場合、リモート情報収集ツール２０３はセンサ情報を採取できない。リモート情報収集ツール２０３が周期的アクセスの「次のアクセス予定時刻」に採取しなかったセンサ情報は、代理情報採取部１１３によって記録される。例えば、ネットワーク２０４とリモート情報収集ツール２０３が正常な状態に復旧し、リモート情報収集ツール２０３は情報取得装置２００に対するアクセスが可能になる。リモート情報収集ツール２０３は、情報取得装置２００に対してアクセスできれば、代理情報採取部１１３によって代理採取されたセンサ情報を、障害時情報読み出し部１１４を介して、読み出すことができる。
【０１６０】
これによって、リモート情報収集ツール２０３は、リモート情報収集ツール２０３が動作できない期間やネットワーク２０４に障害が発生している期間のセンサ情報を読み出すことができる。
【０１６１】
本構成例では、リモート情報収集ツール２０３は、ネットワーク２０４越しに情報収集を行う。１台の端末で動作するリモート情報収集ツール２０３が、複数の情報取得装置２００からセンサ情報を採取してもよい。あるいは、それぞれ異なる端末で動作する複数のリモート情報収集ツール２０３が、同じ情報取得装置２００からセンサ情報を採取してもよい。本構成例の障害時情報読み出し部１１４は、ネットワーク２０４で接続された端末で動作するリモート情報収集ツール２０３に対して、ネットワーク２０４越しにセンサ情報を出力できる。
【０１６２】
以上が、代理採取済みのセンサ情報の読み出し要求イベントの発生時の処理である。
【０１６３】
以上で説明した本構成例では、ネットワーク２０４に障害が発生した時も情報採取の継続が可能である。
【０１６４】
次に、本発明の第２の実施形態について、図面を参照して詳細に説明する。
【０１６５】
図１１は、本実施形態の情報出力装置１の構成を表す図である。
【０１６６】
図１１を参照すると、本実施形態の情報出力装置１は、出力部２２にアクセスして値を取得する情報収集装置３の前記アクセスを、前記出力部２２から検出する検出部１０と、検出された複数の前記アクセスから、前記アクセスが行われた時刻に規則性が存在する複数の前記アクセスを抽出する抽出部１１と、抽出された前記複数のアクセスの時刻から、次に前記アクセスが行われる時刻である予測時刻を前記規則性に基づき予測する予測部１２と、予測された前記時刻までに前記アクセスが検出されない場合、前記アクセスで取得される前記値を前記出力部２２から取得し、取得の時刻に対応付けて情報記憶部１４に格納する取得部１３と、前記情報記憶部１４と、前記情報記憶部１４に格納されている前記値を前記情報収集装置３に送信する送信部１５とを含む。
【０１６７】
以上で説明した本実施形態には、第１の実施形態と同じ効果がある。
【０１６８】
その理由は、第１の実施形態の効果の理由と同じである。
【０１６９】
情報出力装置１、測定装置２、情報収集装置３は、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
【０１７０】
検出部１０、抽出部１１、予測部１２、取得部１３、送信部１５、測定部２１、出力部２２は、例えば、プログラムを記憶する記録媒体からメモリに読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサにより実現することができる。また、情報記憶部１４、アクセス記憶部１６は、コンピュータが含むメモリやハードディスク装置により実現することができる。あるいは、検出部１０、抽出部１１、予測部１２、取得部１３、情報記憶部１４、送信部１５、アクセス記憶部１６、測定部２１、出力部２２の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【０１７１】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１７２】
１    情報出力装置
２    測定装置
３    情報収集装置
４、２０１    センサ
５    情報処理システム
１０    検出部
１１    抽出部
１２    予測部
１３    取得部
１４    情報記憶部
１５    送信部
１６    アクセス記憶部
２１    測定部
２２    出力部
１００    ＯＳ
１０１    障害時情報採取モジュール
１０２    性能情報取得機能
１０３    性能ツール
１１１    アクセス情報取得部
１１２    周期的アクセス検出部
１１３    代理情報採取部
１１４    障害時情報読み出し部
２００    情報取得装置
２０２    センサ情報取得機能
２０３    リモート情報収集ツール
２０４    ネットワーク
【図１】
2014164633.tif 000003
【図２】
2014164633.tif 000004
【図３】
2014164633.tif 000005
【図４】
2014164633.tif 000006
【図５】
2014164633.tif 000007
【図６】
2014164633.tif 000008
【図７】
2014164633.tif 000009
【図８】
2014164633.tif 000010
【図９】
2014164633.tif 000011
【図１０】
2014164633.tif 000012
【図１１】
2014164633.tif 000013
【図１２】
2014164633.tif 000014