(57)【要約】【課題】システムの使用量と比較される適正な閾値を得ることを目的とする。【解決手段】境界値特定装置は、情報処理システムに対するサービス要求の応答時間に関する情報と前記サービス要求に使用される情報処理システムのリソース使用量に関する情報とを一定の時間間隔毎に収集する通信部と、前記応答時間と前記リソース使用量との組について、前記リソース使用量を所定間隔で分割した区間毎の応答時間のヒストグラムに所定の分布を適合させて、前記ヒストグラムと前記所定の分布との適合度を前記区間毎に算出する算出部と、前記適合度の変化に基づいて、リソース使用量の閾値を規定する境界値を特定する特定部と、を含む。【選択図】図２
2018022305.tif 000002
【特許請求の範囲】
【請求項１】
情報処理システムに対するサービス要求の応答時間に関する情報と前記サービス要求に使用される情報処理システムのリソース使用量に関する情報とを一定の時間間隔毎に収集し、
前記応答時間と前記リソース使用量との組について、前記リソース使用量を所定間隔で分割した区間毎の応答時間のヒストグラムに所定の分布を適合させて、前記ヒストグラムと前記所定の分布との適合度を前記区間毎に算出し、
前記適合度の変化に基づいて、リソース使用量の閾値を規定する境界値を特定する、
処理をコンピュータに実行させることを特徴とする境界値特定プログラム。
【請求項２】
前記適合度が所定の基準より高い区間と前記所定の基準より低い区間との境界のリソース使用量に基づいて、前記境界値を特定する、
処理を前記コンピュータに実行させることを特徴とする請求項１記載の境界値特定プログラム。
【請求項３】
前記所定の分布を規定する区間毎の変数組の推移傾向を示す直線を算出し、
算出された推移傾向を示す前記直線と所定区間における変数組との距離に基づいて、前記境界値を特定する、
処理を前記コンピュータに実行させることを特徴とする請求項１または２記載の境界値特定プログラム。
【請求項４】
前記変数組に主成分分析を行うことにより、前記直線として、前記変数組の直交回帰直線を算出し、
前記直交回帰直線と所定区間における変数組との距離が所定値以上である場合に、前記所定区間におけるリソース使用量に基づいて、前記境界値を特定する、
処理を前記コンピュータに実行させることを特徴とする請求項３記載の境界値特定プログラム。
【請求項５】
前記適合度が所定の基準より低い区間が存在せず、前記直交回帰直線と前記所定区間における変数組との距離が所定値以上である所定区間が存在しない場合、境界値が観測されないことを結果として出力する、
処理を前記コンピュータに実行させることを特徴とする請求項４記載の境界値特定プログラム。
【請求項６】
情報処理システムに対するサービス要求の応答時間に関する情報と前記サービス要求に使用される情報処理システムのリソース使用量に関する情報とを一定の時間間隔毎に収集し、
前記応答時間と前記リソース使用量との組について、前記リソース使用量を所定間隔で分割した区間毎の応答時間のヒストグラムに所定の分布を適合させて、前記ヒストグラムと前記所定の分布との適合度を前記区間毎に算出し、
前記適合度の変化に基づいて、リソース使用量の閾値を規定する境界値を特定する、
処理をコンピュータが実行することを特徴とする境界値特定方法。
【請求項７】
情報処理システムに対するサービス要求の応答時間に関する情報と前記サービス要求に使用される情報処理システムのリソース使用量に関する情報とを一定の時間間隔毎に収集する通信部と、
前記応答時間と前記リソース使用量との組について、前記リソース使用量を所定間隔で分割した区間毎の応答時間のヒストグラムに所定の分布を適合させて、前記ヒストグラムと前記所定の分布との適合度を前記区間毎に算出する算出部と、
前記適合度の変化に基づいて、リソース使用量の閾値を規定する境界値を特定する特定部と、
を備えることを特徴とする境界値特定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、境界値特定プログラム、境界値特定方法および境界値特定装置に関する。
【背景技術】
【０００２】
利用者の端末からの所定のサービス要求に応じて、所定の処理を行い、利用者の端末にレスポンスを返信するクラウドシステムが活用されている。このようなシステムでは、ハードウェアリソースやネットワークリソース等のリソースを用いて、所定の処理が行われる。該リソースの負荷が高くなると、システムに対するリクエストの応答時間が長くなり、システムが提供するサービスの質は低下する。
【０００３】
そこで、システムに用いられるリソース（例えば、Central Processing Unit(CPU)等）に関する情報が収集され、収集された情報に基づいて所定の分析がされる。例えば、分析の結果は、システムの管理者に提示され、該管理者は分析の結果に応じた対処を行う。
【０００４】
関連する技術として、ユーザ層を質的もしくは構造的な特徴により分離する技術が提案されている（例えば、特許文献１を参照）。また、ヒストグラムから積分電圧に対して正規分布でフィッティングを行い、フィッティングされた正規分布を積分電圧の確率密度分布として求める技術が提案されている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１２３０２７号公報
【特許文献２】国際公開第２０１３／０８０３８４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
システムが提供するサービスの質は、一定限度を超えて低下しないことが好ましい。このため、システムが提供するサービスの質が一定限度を超えて低下したかを、リソースの使用量と所定の閾値との比較結果に基づいて判定することが考えられる。この場合、リソースの使用量と比較する閾値が適正に設定されていないと、サービスの質が一定限度を超えて低下したかを適切に判定することが難しい。
【０００７】
１つの側面として、本発明は、システムの使用量と比較される適正な閾値を得ることを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、境界値特定プログラムは、情報処理システムに対するサービス要求の応答時間に関する情報と前記サービス要求に使用される情報処理システムのリソース使用量に関する情報とを一定の時間間隔毎に収集し、前記応答時間と前記リソース使用量との組について、前記リソース使用量を所定間隔で分割した区間毎の応答時間のヒストグラムに所定の分布を適合させて、前記ヒストグラムと前記所定の分布との適合度を前記区間毎に算出し、前記適合度の変化に基づいて、リソース使用量の閾値を規定する境界値を特定する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
１つの側面によれば、システムの使用量と比較される適正な閾値を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態のシステムの全体構成の一例を示す図である。
【図２】分析サーバの一例を示す図である。
【図３】ＣＰＵ使用率と応答時間との関係の一例を示す散布図である。
【図４】ＣＰＵ使用率と応答時間とに応じた３次元ヒストグラムの一例を示す図である。
【図５】所定区間のＣＰＵ使用率の２次元ヒストグラムの一例を示す図である。
【図６】図３に示される分布図を所定区間で分割した一例を示す図である。
【図７】ＣＰＵ使用率のヒストグラムにｅｘ−Ｇａｕｓｓｉａｎ分布をフィッティングした例を示す図（その１）である。
【図８】ＣＰＵ使用率のヒストグラムにｅｘ−Ｇａｕｓｓｉａｎ分布をフィッティングした例を示す図（その２）である。
【図９】ＣＰＵ使用率の各区間におけるパラメータ値（μ,σ,τ）の推移を示す図である。
【図１０】パラメータ値（μ,σ,τ）を３次元空間上の直交回帰直線に近似した図である。
【図１１】境界値検出後のＣＰＵ使用率と応答時間との関係を示す散布図である。
【図１２】出力結果の一例を示す図である。
【図１３】実施形態の処理の流れの一例を示すフローチャート（その１）である。
【図１４】実施形態の処理の流れの一例を示すフローチャート（その２）である。
【図１５】実施形態の処理の流れの一例を示すフローチャート（その３）である。
【図１６】境界値特定装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
＜実施形態のシステムの全体構成の一例＞
以下、図面を参照して、実施形態について説明する。図１は、実施形態のシステムの全体構成の一例を示す。図１の例において、情報処理システム１は、分析サーバ２と接続される。例えば、情報処理システム１は、ネットワークを介して、分析サーバ２と接続される。
【００１２】
情報処理システム１は、例えば、クラウドシステムであってもよい。この場合、情報処理システム１は、所定のクライアント端末から送信されたサービス要求（リクエスト）に応じた処理を行い、クライアント端末にレスポンスを返信する。
【００１３】
情報処理システム１は、サーバシステム３とスイッチ４とを含む。サーバシステム３は、サーバ装置やストレージ等を仮想化した技術により実現されてもよい。実施形態では、サーバシステム３は、ＷＥＢサーバ３Ａとアプリケーションサーバ３Ｂとデータベースサーバ３Ｃとの３階層システムを含むものとする。
【００１４】
スイッチ４は、ネットワークスイッチである。例えば、スイッチ４は、外部のネットワーク（インターネット網等）と接続されており、該外部のネットワークを経由して、上述したクライアント端末が送信したリクエストを中継する。
【００１５】
分析サーバ２は、情報処理システム１から、該情報処理システム１に関する情報を収集し、収集された情報に基づいて、情報処理システム１の分析を行う。分析サーバ２は、境界値特定装置またはコンピュータの一例である。分析サーバ２は、情報処理システム１の一部により実現されてもよい。
【００１６】
分析サーバ２は、上記のリクエストに応じて使用される、情報処理システム１のハードウェアリソースやネットワークリソース等のリソースの使用量に関する情報（以下、リソース使用量情報と称する）を、該情報処理システム１から収集する。
【００１７】
例えば、リソース使用量情報は、ＣＰＵ使用率やメモリ使用量、ディスク使用量、ネットワーク通信量等に関する情報であってよい。ディスク使用量は、ディスクに対する入出力に関する情報であってもよい。また、リソース使用量情報には、例えば、ネットワークにおけるパケットロス数やRound Trip Time(RTT)等に関する情報が含まれてもよい。
【００１８】
また、分析サーバ２は、情報処理システム１から、リクエストに対する該情報処理システム１の応答時間に関する情報（応答時間情報）を収集する。例えば、分析サーバ２は、スイッチ４が中継する通信パケットを取得（キャプチャ）して、該通信パケットに基づいて、応答時間情報を得てもよい。
【００１９】
この場合、分析サーバ２は、収集された通信パケットを解析して、プロトコルメッセージのリクエストおよびレスポンスを再構成する。そして、分析サーバ２は、再構成されたリクエストおよびレスポンスの時刻から応答時間を算出してもよい。
【００２０】
分析サーバ２は、収集したリソース使用量情報および応答時間情報を用いて、情報処理システム１の性能分析（評価）を行う。該性能分析により、情報処理システム１が提供するサービスの質が得られる。実施形態では、該サービスの質は、情報処理システム１に対するリクエストについての応答時間であるものとする。
【００２１】
実施形態では、該リクエストについての応答時間が所定の閾値を越えた際に、分析サーバ２は、サービスの質が一定限度を超えて低下したと判定するものとする。この場合、分析サーバ２は、アラートを出力してもよい。該アラートは、情報処理システム１を管理する管理者により認識されるようにしてもよい。
【００２２】
例えば、情報処理システム１を管理する管理者が分析サーバ２を操作する場合、分析サーバ２のディスプレイに、アラートを示す画面を表示してもよい。また、分析サーバ２は、管理者が操作する端末に対して、アラートを示す情報を送信してもよい。これにより、管理者は、情報処理システム１に対して何らかの対処を行う必要性を認識する。
【００２３】
従って、応答時間と比較される閾値は、適正に設定されることが好ましい。ここで、閾値が人手により設定される場合を想定する。人手により設定された閾値は、適正な値でない可能性がある。また、分析サーバ２が、リソース使用量情報を蓄積し、蓄積されたリソース使用量情報を分析することにより、閾値を設定することが考えられる。
【００２４】
例えば、情報処理システム１が正常に動作している間に蓄積されたリソース使用量情報に基づいて分析が行われると、情報処理システム１が正常に動作していない場合のリソース使用量情報が考慮されないため、適正な閾値が設定されない。
【００２５】
そして、リソースの使用量と応答時間との関係は一定の傾向（トレンド）で推移するとは限らず、リソースの使用量が所定の境界値に達すると、リソースの使用量の増加率が少なくても、応答時間は大幅に長くなることがある。
【００２６】
従って、分析サーバ２は、閾値を適正に設定することが難しいため、閾値が適正に設定されないと、分析サーバ２が、情報処理システムのサービスの質が一定限度を超えて低下したかを判定することは難しい。そこで、分析サーバ２は、上記の境界値を特定し、該境界値に基づいて閾値を規定する。
【００２７】
情報処理システム１には、複数のリソース（例えば、ＣＰＵやメモリ、ディスク等）がある。分析サーバ２は、リソース毎に、該リソースの使用量と応答時間とに基づいて、閾値を規定する境界値を特定する。該リソースの使用量は、例えば、所定の機能を実現する複数のサーバを１つに纏めた値であってもよい。
【００２８】
＜分析サーバ２の一例＞
図２は、分析サーバ２の一例を示す図である。分析サーバ２は、通信部１１と情報解析部１２と第１算出部１３と第１特定部１４と第２算出部１５と第２特定部１６と記憶部１７と制御部１８とを含む。
【００２９】
通信部１１は、情報処理システム１と通信を行い、リソース使用量情報と応答時間情報とを一定の時間間隔毎に収集する。情報解析部１２は、収集されたリソース使用量情報と応答時間情報とを解析する。
【００３０】
通信部１１は、応答時間情報およびリソース使用量情報以外の情報を収集してもよい。上述したように、応答時間情報は、情報処理システム１に対するリクエストについての応答時間に関する情報である。リソース使用量情報は、該リクエストで使用される情報処理システム１のリソースに関する情報である。
【００３１】
通信部１１は、各リソースのそれぞれについて、応答時間情報とリソース使用量情報とを一定の時間間隔毎に収集する。通信部１１が収集するリソース使用量情報は、統計的な情報であってもよい。例えば、該リソース使用量情報は、一定の集計間隔ごと（例えば、１０秒ごと）の、リソース使用量についての平均値や中央値、最大値、最小値等であってもよい。
【００３２】
通信部１１は、例えば、情報処理システム１のＷｅｂサーバ３Ａからログを収集してもよい。この場合、通信部１１が収集したログに基づいて、各サービス要求に対する応答時間に関する情報が得られる。
【００３３】
分析サーバ２は、所定期間（例えば、一日）分のリソース使用量情報および応答時間情報を収集し、該期間の終了後に境界値の算出処理等を行ってもよい。実施形態では、分析サーバ２は、過去に収集したデータに基づいて、閾値を規定する境界値を算出するものとする。このため、境界値はリアルタイムには算出されない。
【００３４】
閾値を規定する境界値の算出は、リソース使用量情報および応答時間情報に基づいて行われる。このため、リソース使用量情報および応答時間情報のサンプル数は、多い方が好ましい。
【００３５】
例えば、上記のサンプル数は、リソース使用量情報および応答時間情報を収集する期間（収集期間）を、該データを集計する時間間隔（集計時間間隔）で除算した値になる。従って、収集期間が長くなるに応じて、また集計時間間隔が短くなるに応じて、得られるサンプル数は多くなる。
【００３６】
サンプル数が少ないと、例えば、情報処理システム１が正常に動作している場合だけのリソース使用量情報および応答時間情報が収集される可能性がある。
【００３７】
情報処理システム１が正常に動作している場合だけのリソース使用量情報および応答時間情報に基づいて境界値が算出されると、該境界値は適正な値でない可能性がある。閾値を規定する境界値が適正な値でない場合、閾値も適正な値ではない。
【００３８】
このため、通信部１１は、情報処理システム１が正常に動作している場合と正常に動作していない場合との両者が含まれるデータを収集することが好ましい。
【００３９】
また、リソース使用量の値の分布は広範囲にわたっていることが好ましい。例えば、通信部１１が収集したリソース使用量情報（ＣＰＵ使用率）が「０％〜４０％」であったとする。この場合であっても、「０％〜４０％」の範囲内に、応答時間が大幅に低下した時間帯が含まれていれば、適正な境界値が算出される。
【００４０】
一方、通信部１１が収集したデータに含まれる応答時間に、大幅に低下した時間帯が含まれていない場合、分析サーバ２は、その旨を示す結果を出力してもよい。
【００４１】
リソース使用量情報の具体例を示す。以下、リソース使用量はＣＰＵ使用率であるものとして説明するが、リソース使用量はＣＰＵ使用率には限定されない。例えば、リソース使用量は、メモリ使用量であってもよい。
【００４２】
図３は、通信部１１が収集したリソース使用量情報および応答時間情報に基づいて、情報解析部１２が生成したＣＰＵ使用率と応答時間との関係を示す散布図の一例である。該散布図における各プロットは、データベースサーバ３ＣのＣＰＵ使用率に応じた情報処理システム１の応答時間を示す。
【００４３】
通信部１１は、一定の時間間隔ごと（例えば、１０秒ごと）に、リソース使用量情報および応答時間情報を収集する。情報解析部１２は、収集されたリソース使用量情報および応答時間情報に基づいて、リソース使用量および応答時間を解析する。
【００４４】
図３の例に示されるように、ＣＰＵ使用率が低い場合の各プロットは、短い応答時間の中で収束する。一方、ＣＰＵ使用率が高い場合の各プロットは、広範囲に散乱する。図４は、図３の散布図に基づく３次元ヒストグラムの一例を示す。
【００４５】
図５は、ＣＰＵ使用率を所定区間に分割した場合における応答時間の２次元ヒストグラムの一例を示す。図５の例は、図４の３次元ヒストグラムを、ＣＰＵ使用率を所定の区間で分割した場合における、各区間のＣＰＵ使用率についての２次元ヒストグラムを示す。横軸は応答時間を示し、縦軸は度数を示す。
【００４６】
図５の例に示されるように、ＣＰＵ使用率が低い場合の２次元ヒストグラムは、ｅｘ−Ｇａｕｓｓｉａｎ分布に近い分布となる。一方、ＣＰＵ使用率が高い場合の２次元ヒストグラムは、ｅｘ−Ｇａｕｓｓｉａｎ分布に沿わない不規則な分布となる。ｅｘ−Ｇａｕｓｓｉａｎ分布は、所定の分布の一例である。
【００４７】
ｅｘ−Ｇａｕｓｓｉａｎ分布は、ガウス分布（正規分布）と指数分布とを畳み込み積分した分布である。ｅｘ−Ｇａｕｓｓｉａｎ分布は、３つのパラメータ（μ,σ,τ）により決定される分布である。
【００４８】
３つのパラメータ（μ,σ,τ）のうち、パラメータ（μ,σ）は、ガウス分布を決定するパラメータである。パラメータ（τ）は、指数分布を決定するパラメータである。上記の２次元ヒストグラムが、ｅｘ−Ｇａｕｓｓｉａｎ分布に近ければ、リソース使用量と応答時間との関係は一定の傾向に沿うことを示す。
【００４９】
２次元ヒストグラムが、ｅｘ−Ｇａｕｓｓｉａｎ分布に沿わない不規則な分布であれば、リソース使用量と応答時間との関係は一定の傾向（トレンド）に沿わないことを示す。つまり、２次元ヒストグラムがｅｘ−Ｇａｕｓｓｉａｎ分布に沿わない場合、リソース使用量と応答時間との関係は不規則な関係になる。この場合、該リソース使用量に基づいて得られた閾値は適正な閾値でない可能性が高い。
【００５０】
そこで、第１算出部１３は、応答時間とリソース使用量との組について、リソース使用量（ＣＰＵ使用率）を所定間隔で分割した区間毎の応答時間のヒストグラムに所定の分布を適合（フィッティング）させる。
【００５１】
そして、第１算出部１３は、ヒストグラムとｅｘ−Ｇａｕｓｓｉａｎ分布とを適合させて、両者の適合度を上記の区間毎に算出する。第１算出部１３は、算出部の一例である。
【００５２】
実施形態では、第１算出部１３は、ＣＰＵ使用率を所定間隔で分割した区間毎の応答時間の度数を示すヒストグラムを、最尤法でｅｘ−Ｇａｕｓｓｉａｎ分布に適合させ、ヒストグラムとｅｘ−Ｇａｕｓｓｉａｎ分布との適合度を区間毎に算出する。
【００５３】
第１算出部１３は、例えば、ＣＰＵ使用率の中で最小観測値と最大観測値を求め、最小観測値から最大観測値の間を一定数（ｎ個）の区間に分割する。実施形態では、第１算出部１３は、ＣＰＵ使用率を２０の区間に分割する。ただし、分割される区間の数は２０には限定されない。
【００５４】
上記の区間数は、適切な境界値を特定するために、所定数（例えば、１５）以上であることが好ましい。図６は、図３で示した散布図のＣＰＵ使用率（０％〜１００％）が、２０の区間に分割された例を示す。この場合、１つの区間の幅は５％になる。
【００５５】
第１算出部１３は、各区間内におけるＣＰＵ使用率に対応する応答時間の度数を示すヒストグラムを作成する。また、第１算出部１３は、例えば、最尤法により、応答時間の度数を示すヒストグラムをｅｘ−Ｇａｕｓｓｉａｎ分布に適合させる（フィッティングさせる）。
【００５６】
図７は、ＣＰＵ使用率に対応する応答時間の度数を示すヒストグラム（ＣＰＵ使用率２０〜２５％の区間）にｅｘ−Ｇａｕｓｓｉａｎ分布をフィッティングした例を示す。図７の例において実線で示される曲線は、上記のフィッティングがされた曲線を示す。この場合、ｅｘ−Ｇａｕｓｓｉａｎ分布を規定する変数組の値は、μ＝３．８１、σ＝０．３１、τ＝０．８１である。
【００５７】
図８は、ＣＰＵ使用率に対応する応答時間の度数を示すヒストグラム（ＣＰＵ使用率７５〜８０％の区間）にｅｘ−Ｇａｕｓｓｉａｎ分布をフィッティングした例を示す。図８の例において実線で示される曲線は、上記のフィッティングがされた曲線を示す。この場合、ｅｘ−Ｇａｕｓｓｉａｎ分布を規定する変数組の値は、μ＝５２．０２、σ＝８．４８、τ＝４１．１７である。
【００５８】
第１算出部１３は、フィッティング結果の確からしさを検定する。第１算出部１３は、フィッティング結果の確からしさを、例えば、一標本コルモゴロフ-スミルノフ検定（以下、ＫＳ検定と称する）により算出する。なお、フィッティング結果の確からしさの検定は、ＫＳ検定には限定されない。
【００５９】
第１算出部１３は、危険域０．０５程度でＫＳ検定を行う。すなわち、検定結果の誤りを５％まで許容する。ＫＳ検定における自由度は、現在の区間に含まれるデータサンプル（リソース利用と応答時間との組データ）の数から２を引いた値とする。
【００６０】
第１特定部１４は、ＫＳ検定の結果を第１算出部１３から取得し、ヒストグラムとｅｘ−Ｇａｕｓｓｉａｎ分布との適合度の変化に基づいて、リソース使用量の閾値を規定する境界値を特定する。第１特定部１４は、特定部の一例である。
【００６１】
第１特定部１４は、例えば、ヒストグラムとｘ−Ｇａｕｓｓｉａｎ分布との適合度が所定の基準より高い区間と所定の基準より低い区間との境界のリソース使用量に基づいて、閾値の設定に用いられる境界値を特定する。該所定の基準は、閾値を規定する値であれば任意の値に設定されてよい。
【００６２】
例えば、検定の結果として、ある区間でフィッティングが棄却された場合は、第１特定部１４は、その区間と１つ前の区間との境界を境界値として特定し、出力する。この境界値は、情報処理システム１が提供するサービスの質に影響が出始めるリソース使用量である。
【００６３】
第２算出部１５は、所定の分布を規定する区間毎の変数組の推移傾向を示す線を算出する。第２算出部１５は、例えば、変数組に主成分分析を行うことにより、変数組の推移傾向を示す直線として、変数組の直交回帰直線を算出する。なお、直交回帰直線は、主成分分析以外の手法で算出されてもよい。
【００６４】
第２算出部１５は、第１算出部１３が各区間におけるフィッティングに用いたｅｘ−Ｇａｕｓｓｉａｎ分布を取得する。そして、第２算出部１５は、各ｅｘ−Ｇａｕｓｓｉａｎ分布の３つのパラメータ値（μ,σ,τ）の推移に対して、主成分分析を適用して第１成分を得る。該第１成分が示す直線が、パラメータ値（μ,σ,τ）の３次元空間上の直交回帰直線となる。
【００６５】
図９は、ＣＰＵ使用率の各区間におけるパラメータ値（μ,σ,τ）の推移を示す図である。図１０は、パラメータ値（μ,σ,τ）を３次元空間上の直交回帰直線に近似した図を示す。
【００６６】
図１０の例における直線は、１番目からｎ−１番目の区間（ｒ１，ｒ２，…，ｒｎ−１）の各パラメータに主成分分析を適用した結果として得られた直交回帰直線である。図１０において、黒点がｒ１，ｒ２，…，ｒｎ−１の区間におけるパラメータで、白点がｒｎ以降の区間から得られたパラメータである。
【００６７】
第２特定部１６は、直交回帰直線と所定区間における変数組との距離に基づいて、境界値として用いられるＣＰＵ使用率を特定する。第２特定部１６は、例えば、直交回帰直線と所定区間における変数組との距離が所定値以上である場合に、境界値として用いられるリソース使用量を特定する。
【００６８】
第２特定部１６は、例えば、ある区間の３つのパラメータ値が、直交回帰直線に沿っているかを検定し（外れ値検定）、直交回帰直線から有意に外れた場合、外れた区間を境界値として特定する。
【００６９】
第２特定部１６は、例えば、検定対象区間がｒｎであるとき、１からｎ−１までの各区間（ｒ１，ｒ２，…，ｒｎ−１）における３つのパラメータ（３次元空間上の点になる）のそれぞれと、直交回帰直線との距離（それぞれｄ１，ｄ２，…，ｄｎ−１)を算出する。
【００７０】
第２特定部１６は、検定対象区間ｒｎの３つのパラメータ（３次元空間上の点）と区間（ｒ１，ｒ２，…，ｒｎ−１）における直交回帰直線との距離ｄｎを算出する。第２特定部１６は、ｄｎがｄ１，ｄ２，…，ｄｎの中で外れ値であるかどうかをスミルノフ・グラブス検定する。外れ値であるかの検定は、スミルノフ・グラブス検定には限定されない。
【００７１】
第２特定部１６は、スミルノフ・グラブス検定を用いた結果、特定の区間におけるパラメータが外れ値であると判定すると、該パラメータは直線から有意に外れていると見做す。
【００７２】
すなわち、検定対象区間ｒｎにおける応答時間分布は、その前の区間までの応答時間の推移傾向に沿っていないため、第２特定部１６は、検定対象区間とその前の区間との境界を、境界値として特定する。
【００７３】
スミルノフ・グラブス検定では、ｄｎが以下の式を満たすと、外れ値であると判定される。ｄＡは、距離（ｄ１，ｄ２，…，ｄｎ）の平均、σは、距離（ｄ１，ｄ２，…，ｄｎ）の標準偏差である。αは所要の有意水準であり、ｔは自由度ｎ−２のｔ分布のα／ｎ×１００パーセンタイルである。
【００７４】
【数１】
2018022305.tif 000003
【００７５】
第２特定部１６は、所定数（例えば、５つ）以上の区間に対して境界値を特定する処理を行うことが好ましい。ｎ＜５である場合は、３つのパラメータ（３次元空間上の点）と直交回帰直線との距離のサンプルが少なく、直交回帰直線自体がその少ない点から求められているため、距離の分布に偏りが生じる。このため、外れ値検定が適切に実施されることが難しくなる。
【００７６】
第２特定部１６は、外れ値である点を特定しない場合もある。この場合、第２特定部１６は、境界値が検出されなかったことを結果として出力する。
【００７７】
境界値が検出されない場合、収集されたリソース使用量情報および応答時間情報では、情報処理システム１が提供するサービスの質を大きく低下する程の影響が現れていない可能性がある。また、該境界値が検出されない場合、サンプル数が少ないことに起因して、境界値が検出されない可能性がある。
【００７８】
図１１は、境界値検出後のＣＰＵ使用率とシステム全体の応答時間との関係を示す散布図である。図１１に示される例は、ＣＰＵ使用率７０％がシステムの応答時間に影響を及ぼす境界値として抽出された場合の例を示す。図１１における円は、境界値以下の応答時間を示す。図１１における×は、境界値以上の応答時間を示す。
【００７９】
図１２は、出力される結果の例を示す図である。図１２の例に示されるように、分析サーバ２は、各サーバ（各リソース）に関して、境界値として特定された値を出力するか、または「観測されず」という結果を出力する。
【００８０】
制御部１８は、分析サーバ２における各種の処理を行う。制御部１８は、第１特定部１４または第２特定部１６により特定された境界値に基づいて閾値を設定する。制御部１８は、例えば、境界値と同じ値を閾値として設定してもよいし、境界値と異なる値（例えば、境界値の９５％の値）を閾値として設定してもよい。
【００８１】
従って、実施形態の分析サーバ２は、情報処理システム１が提供するサービスの質が低下したかを判定する基準となるリソース使用量の境界値を適正に算出することができる。このため、適正な閾値が設定されるため、人手による閾値の設定が行われないため、工数が削減される。
【００８２】
また、適正な閾値に基づいてアラートが出力されるため、システムの質が低下した際の対処の手間が最小化され、サービスの質の低下を見逃す可能性が低くなり、サービスの質を高く保つことができるようになる。
【００８３】
図１３〜図１５は、実施形態の処理の流れの一例を示すフローチャートである。通信部１１は、応答時間情報とリソース使用量情報とを一定の時間間隔毎に取得する（ステップＳ１）。第１算出部１３は、リソース使用量情報の中の最小観測値から最大観測値の間を一定数（ｎ個：ｎは２以上の整数）の区間に分割する（ステップＳ２）。例えば、第１算出部１３は、最小観測値から最大観測値の間の区間を２０の区間に分割する。
【００８４】
制御部１８は、ｎ個の区間毎にループ処理を開始する（ステップＳ３）。該ループ処理の終了はステップＳ２１である。ただし、該ループ処理の途中で処理が終了する場合もある。処理中の区間をｉ（ｉは自然数）番目の区間とする。ｉは「１」から開始する。
【００８５】
第１算出部１３は、各区間に該当するリソース使用量情報を認識し（ステップＳ４）、それぞれのリソース使用量情報に対応する応答時間から、応答時間の度数を示すヒストグラムを作成する（ステップＳ５）。
【００８６】
第１算出部１３は、作成したヒストグラムを最尤法でｅｘ−Ｇａｕｓｓｉａｎ分布にフィッティングする（ステップＳ６）。第１算出部１３は、フィッティング結果として得られたｅｘ−Ｇａｕｓｓｉａｎ分布の確からしさを、ＫＳ検定を用いて検定する（ステップＳ７）。第１特定部１４は、検定結果を取得し、ｅｘ−Ｇａｕｓｓｉａｎ分布のフィッティングが棄却されたか否か判定する（ステップＳ８）。
【００８７】
フィッティングが棄却されたと判定された場合（ステップＳ８でＹＥＳ）、第１特定部１４は、(ｉ−１)番目の区間とｉ番目の区間の境界の値（例えば、ＣＰＵ使用率）を境界値として特定する。例えば、ＣＰＵ使用率の境界値が７０％である場合、ＣＰＵ使用率が７０％を超えると、情報処理システム１が提供するサービスの質が大きく低下する。
【００８８】
第１特定部１４が特定した境界値は、閾値を規定する値である。ステップＳ８でＹＥＳの場合、第１特定部１４は、特定した境界値を出力する（ステップＳ９）。制御部１８は、出力された境界値に基づいて閾値を設定する。
【００８９】
フィッティングが棄却されたと判定されない場合（ステップＳ８でＮＯ）、処理は「Ａ」に進む。「Ａ」以降の処理について、図１４の例を参照して説明する。第２算出部１５は、ｅｘ−Ｇａｕｓｓｉａｎ分布を規定する３つのパラメータ（μ,σ,τ）を３次元空間上にプロットする（ステップＳ１０）。
【００９０】
第２算出部１５は、ｉが５以上である場合（ステップＳ１１でＹＥＳ）、１番目の区間から（ｉ−１）番目の区間までの変数組（μ,σ,τ）に対して主成分分析を適用して得られた第１成分から、直交回帰直線を算出する（ステップＳ１２）。
【００９１】
制御部１８は、１番目の区間からｉ番目の区間までのループ処理を開始する（ステップＳ１３）。該ループ処理の終了は、ステップＳ１７である。処理中の区間をｊ（ｊは自然数）番目の区間とする。
【００９２】
第２特定部１６は、ステップＳ１２で得られた直交回帰直線とｊ番目の区間の変数組（μ,σ,τ）との距離（ｄｊ）を求める（ステップＳ１４）。第２特定部１６は、ｊ番目の区間の変数組（μ,σ,τ）から原点までの距離（ｄ２ｊ）を求める（ステップＳ１５）。第２特定部１６は、距離ｄｊを距離ｄ２ｊで除算して正規化する（ステップＳ１６）。
【００９３】
上述したように、直交回帰直線は、複数の変数組（μ,σ,τ）に対して主成分分析を適用することにより得られる直線である。複数の変数組（μ,σ,τ）のそれぞれの値は、ｊの値が大きくなるに応じて、大きくなる。
【００９４】
複数の変数組（μ,σ,τ）のそれぞれの値が大きくなると、直交回帰直線の値に与える影響が大きくなる。そこで、ステップＳ１６の正規化が行われることで、直交回帰直線の値に与える影響が小さくなる。
【００９５】
制御部１８は、１番目の区間からi番目の区間までのループ（j番目の区間）を終了させる（ステップＳ１７）。そして、処理は「Ｂ」に進む。「Ｂ」以降の処理について、図１５の例を参照して説明する。
【００９６】
第２特定部１６は、ｉ個の区間の正規化された距離(ｎｄ１，ｎｄ２，…, ｎｄｉ)の中で、ｎｄ１が外れ値であるかどうかをスミルノフ・グラブス検定により検定する（ステップＳ１８）。
【００９７】
なお、第２特定部１６は、正規化されていない上記の距離ｄｊを用いて、スミルノフ・グラブス検定により検定してもよい。この場合、ステップＳ１５およびＳ１６の処理は行われない。
【００９８】
第２特定部１６は、ｎｄ１が外れ値であるかを判定し（ステップＳ１９）、外れ値である場合（ステップＳ１９でＹＥＳ）、（ｉ−１）番目の区間とi番目の区間の境界の値を、境界値として特定し、出力する（ステップＳ２０）。
【００９９】
第２特定部１６が、ｎｄ１が外れ値ではないと判定した場合（ステップＳ１９でＮＯ）、制御部１８は、ｎ個の区間毎のループ（i番目の区間）を終了させる（ステップＳ２１）。また、第２特定部１６が、ステップＳ１で算出されたリソース使用量の最小観測値から最大観測値の間には、「境界値」は観測されないことを出力する（ステップＳ２２）。
【０１００】
＜境界値特定装置のハードウェア構成の一例＞
次に、分析サーバ２のハードウェア構成の一例を説明する。図１６は、分析サーバ２のハードウェア構成の一例を示す図である。図１６の例に示すように、バス１００に対して、プロセッサ１１１とRandom Access Memory(RAM)１１２とRead Only Memory(ROM)１１３とが接続される。また、該バス１００に対して、補助記憶装置１１４と媒体接続部１１５と通信インタフェース１１６とが接続される。
【０１０１】
プロセッサ１１１はＲＡＭ１１２に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行う境界値特定プログラムが適用されてもよい。
【０１０２】
ＲＯＭ１１３はＲＡＭ１１２に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置１１４は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置１１４に適用してもよい。媒体接続部１１５は、可搬型記録媒体１１８と接続可能に設けられている。
【０１０３】
可搬型記録媒体１１８としては、可搬型のメモリや光学式ディスク（例えば、Compact Disc(CD)やDigital Versatile Disc(DVD)）、半導体メモリ等を適用してもよい。この可搬型記録媒体１１８に実施形態の処理を行う境界値特定プログラムが記録されていてもよい。
【０１０４】
記憶部１７は、ＲＡＭ１１２や補助記憶装置１１４等により実現されてもよい。通信部１１は、通信インタフェース１１６により実現されてもよい。情報解析部１２、第１算出部１３、第１特定部１４、第２算出部１５、第２特定部１６および制御部１８は、与えられた境界値特定プログラムをプロセッサ１１１が実行することにより実現されてもよい。
【０１０５】
ＲＡＭ１１２、ＲＯＭ１１３、補助記憶装置１１４および可搬型記録媒体１１８は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１０６】
＜その他＞
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
情報処理システムに対するサービス要求の応答時間に関する情報と前記サービス要求に使用される情報処理システムのリソース使用量に関する情報とを一定の時間間隔毎に収集し、
前記応答時間と前記リソース使用量との組について、前記リソース使用量を所定間隔で分割した区間毎の応答時間のヒストグラムに所定の分布を適合させて、前記ヒストグラムと前記所定の分布との適合度を前記区間毎に算出し、
前記適合度の変化に基づいて、リソース使用量の閾値を規定する境界値を特定する、
処理をコンピュータに実行させることを特徴とする境界値特定プログラム。
（付記２）
前記適合度が所定の基準より高い区間と前記所定の基準より低い区間との境界のリソース使用量に基づいて、前記境界値を特定する、
処理を前記コンピュータに実行させることを特徴とする付記１記載の境界値特定プログラム。
（付記３）
前記所定の分布を規定する区間毎の変数組の推移傾向を示す直線を算出し、
算出された推移傾向を示す前記直線と所定区間における変数組との距離に基づいて、前記境界値を特定する、
処理を前記コンピュータに実行させることを特徴とする付記１記載の境界値特定プログラム。
（付記４）
前記変数組に主成分分析を行うことにより、前記直線として、前記変数組の直交回帰直線を算出し、
前記直交回帰直線と所定区間における変数組との距離が所定値以上である場合に、前記所定区間におけるリソース使用量に基づいて、前記境界値を特定する、
処理を前記コンピュータに実行させることを特徴とする付記３記載の境界値特定プログラム。
（付記５）
前記応答時間と前記リソース使用量との組について、該リソース使用量を所定間隔で分割した区間毎の応答時間の度数を示すヒストグラムを最尤法でｅｘ−Ｇａｕｓｓｉａｎ分布に適合させて、区間毎の前記適合度を算出する、
処理を前記コンピュータに実行させることを特徴とする付記１記載の境界値特定プログラム。
（付記６）
前記ヒストグラムを前記ｅｘ−Ｇａｕｓｓｉａｎ分布に適合させた場合における該適合の確からしさを一標本コルモゴロフ-スミルノフ検定により算出する、
処理を前記コンピュータに実行させることを特徴とする付記５記載の境界値特定プログラム。
（付記７）
前記直交回帰直線と前記所定区間における変数組との距離を算出し、算出された距離が外れ値であるかどうかをスミルノフ・グラブス検定により判定する、
処理を前記コンピュータに実行させることを特徴とする付記４記載の境界値特定プログラム。
（付記８）
前記適合度が所定の基準より低い区間が存在せず、前記直交回帰直線と前記所定区間における変数組との距離が所定値以上である所定区間が存在しない場合、境界値が観測されないことを結果として出力する、
処理を前記コンピュータに実行させることを特徴とする付記４記載の境界値特定プログラム。
（付記９）
情報処理システムに対するサービス要求の応答時間に関する情報と前記サービス要求に使用される情報処理システムのリソース使用量に関する情報とを一定の時間間隔毎に収集し、
前記応答時間と前記リソース使用量との組について、前記リソース使用量を所定間隔で分割した区間毎の応答時間のヒストグラムに所定の分布を適合させて、前記ヒストグラムと前記所定の分布との適合度を前記区間毎に算出し、
前記適合度の変化に基づいて、リソース使用量の閾値を規定する境界値を特定する、
処理をコンピュータが実行することを特徴とする境界値特定方法。
（付記１０）
情報処理システムに対するサービス要求の応答時間に関する情報と前記サービス要求に使用される情報処理システムのリソース使用量に関する情報とを一定の時間間隔毎に収集する通信部と、
前記応答時間と前記リソース使用量との組について、前記リソース使用量を所定間隔で分割した区間毎の応答時間のヒストグラムに所定の分布を適合させて、前記ヒストグラムと前記所定の分布との適合度を前記区間毎に算出する算出部と、
前記適合度の変化に基づいて、リソース使用量の閾値を規定する境界値を特定する特定部と、
を備えることを特徴とする境界値特定装置。
【符号の説明】
【０１０７】
１    情報処理システム
２    分析サーバ
３    サーバシステム
３Ａ    ＷＥＢサーバ
３Ｂ    アプリケーションサーバ
３Ｃ    データベースサーバ
４    スイッチ
１１    通信部
１２    情報解析部
１３    第１算出部
１４    第１特定部
１５    第２算出部
１６    第２特定部
１７    記憶部
１８    制御部
１１１    プロセッサ
１１２    ＲＡＭ
１１３    ＲＯＭ
【図１】
2018022305.tif 000004
【図２】
2018022305.tif 000005
【図３】
2018022305.tif 000006
【図４】
2018022305.tif 000007
【図５】
2018022305.tif 000008
【図６】
2018022305.tif 000009
【図７】
2018022305.tif 000010
【図８】
2018022305.tif 000011
【図９】
2018022305.tif 000012
【図１０】
2018022305.tif 000013
【図１１】
2018022305.tif 000014
【図１２】
2018022305.tif 000015
【図１３】
2018022305.tif 000016
【図１４】
2018022305.tif 000017
【図１５】
2018022305.tif 000018
【図１６】
2018022305.tif 000019