(57)【要約】  本発明は、システムの負荷情報をリクエスト情報に基づいて推定することを可能にするリクエスト負荷モデルを効率的に構築する。本発明における負荷推定システムは、少なくとも１つの対象システムに接続される管理サーバを含む負荷推定システムである。管理サーバは、対象システムの負荷情報を、対象システムのリクエスト情報を分類化したリクエスト分類と関係づけた、リクエスト負荷モデルを生成するモデル生成手段を備え、モデル生成手段は、リクエスト情報の分類化の過程において、リクエスト分類毎の負荷情報の推定分布情報に基づいて細分類化の対象となるリクエスト分類を選択することを特徴とする。
2015146100.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの対象システムに接続される管理サーバを含む負荷推定システムであって、
前記管理サーバは、前記対象システムの負荷情報を、前記対象システムのリクエスト情報を分類化したリクエスト分類と関係づけた、リクエスト負荷モデルを生成するモデル生成手段を備え、
前記モデル生成手段は、前記リクエスト情報の前記分類化の過程において、前記リクエスト分類毎の前記負荷情報の推定分布情報に基づいて細分類化の対象となる前記リクエスト分類を選択することを特徴とする、負荷推定システム。
【請求項２】
前記リクエスト分類毎の前記負荷情報の前記推定分布情報は、前記リクエスト分類に対する前記負荷情報の分布を表現する関数または統計値であり、前記対象システムの前記負荷情報と前記リクエスト分類から推定されることを特徴とする、請求項１に記載の負荷推定システム。
【請求項３】
前記モデル生成手段は、前記細分類化の対象となった前記リクエスト分類に対して、複数の分類ルールをそれぞれ適用した際の評価を行い、最も評価値の高い前記分類ルールを前記対象の前記リクエスト分類に適用することを特徴とする、請求項１または２に記載の負荷推定システム。
【請求項４】
前記評価値は、前記リクエスト分類に関する情報を用いて前記対象システムの前記負荷情報を回帰させた際の回帰誤差、または、回帰時の学習に用いなかった前記負荷情報および前記リクエスト分類を用いたテスト誤差の値に基づいて決定されることを特徴とする、請求項１乃至３のいずれかに記載の負荷推定システム。
【請求項５】
前記分類ルールが、前記リクエスト情報を適当な区切り文字により分割した際に抽出された文字列を用いて、前記リクエスト情報に前記文字列が存在するか否かで２分類化する分類化手法を含むことを特徴とする、請求項１乃至４のいずれかに記載の負荷推定システム。
【請求項６】
前記モデル生成手段は、前記リクエスト分類の前記推定分布情報から計算される基準値が一定値以上の場合に、その前記リクエスト分類を細分類化の対象とすることを特徴とする、請求項１乃至５のいずれかに記載の負荷推定システム。
【請求項７】
前記基準値として、標準偏差値を用いることを特徴とする、請求項６に記載の負荷推定システム。
【請求項８】
前記管理サーバが、該当する前記リクエスト情報に含まれるリクエストが前記対象システムで実行された場合の前記負荷を前記リクエスト負荷モデルを用いて予測する予測手段を更に備えたことを特徴とする、請求項１乃至７のいずれかに記載の負荷推定システム。
【請求項９】
対象システムの負荷情報を、前記対象システムのリクエスト情報を分類化したリクエスト分類を用いて関係づけたリクエスト負荷モデルを生成し、
前記リクエスト情報の前記分類化の過程において、前記リクエスト分類毎の前記負荷情報の推定分布情報に基づいて細分類化の対象となる前記リクエスト分類を選択する、負荷推定方法。
【請求項１０】
対象システムの負荷情報を、前記対象システムのリクエスト情報を分類化したリクエスト分類を用いて関係づけたリクエスト負荷モデルを生成する処理と、
前記リクエスト情報の前記分類化の過程において、前記リクエスト分類毎の前記負荷情報の推定分布情報に基づいて細分類化の対象となる前記リクエスト分類を選択する処理と、をコンピュータに実行させるプログラムを読み取り可能な不揮発性記録媒体。
【請求項１１】
外部装置からのリクエスト情報の分類と当該リクエスト情報に対応する前記外部装置の負荷情報とを取得する取得手段と、
前記取得された負荷情報に基づいて、リクエスト情報の分類毎に負荷情報の分布を生成する生成手段とを有し、
前記生成手段は、負荷情報の分布に応じて当該負荷情報の分布に対応するリクエスト情報の分類を分割する情報処理装置。
【請求項１２】
外部装置からのリクエスト情報の分類と当該リクエスト情報に対応する前記外部装置の負荷情報とを取得し、
前記取得された負荷情報に基づいて、リクエスト情報の分類毎に負荷情報の分布を生成し、
前記生成の過程において、負荷情報の分布に応じて当該負荷情報の分布に対応するリクエスト情報の分類を分割する情報処理方法。
【請求項１３】
外部装置からのリクエスト情報の分類と当該リクエスト情報に対応する前記外部装置の負荷情報とを取得する取得処理と、
前記取得された負荷情報に基づいて、リクエスト情報の分類毎に負荷情報の分布を生成する生成処理と、
前記生成処理において、負荷情報の分布に応じて当該負荷情報の分布に対応するリクエスト情報の分類を分割する処理と、をコンピュータに実行させるプログラムを読み取り可能な不揮発性記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置の負荷を推定するための負荷推定システム、そのための情報処理装置、負荷推定方法、及び、プログラム記憶媒体に関する。
【背景技術】
【０００２】
特許文献１では、リクエスト情報をキーワードレベルで分類化し、分類化した情報とコンピュータシステムの負荷情報との相関を用いて、リクエスト情報と負荷情報の関係をモデル化する手法が提案されている。【０００３】
特許文献２では、コンピュータによる資源の使用率の推移をトランザクションに対して予測する手法が提案されている。その手法では、コンピュータにおけるＣＰＵやメモリなどの資源の使用率に関する情報およびトランザクションの処理単位ごとの処理数に関する情報のそれぞれの時系列データに基づいて、統計的に時系列分析を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４９５２３０９号公報
【特許文献２】特開２００６−０２４０１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記文献の技術を用いた場合、以下のような課題がある。【０００６】
すなわち、特許文献１において、リクエスト情報をキーワードレベルで分類化した情報が妥当か否かを評価する場合、負荷への影響が高い分類方法から影響が低い分類方法まで、総当り的に分類方法の比較を行う方式が採用される。このため、その評価は、効率的でない、という課題がある。【０００７】
また、特許文献２では、トランザクション（特許文献１のリクエスト情報に相当）に対する資源使用率（特許文献１の負荷情報に相当）の算出式を回帰分析で求める。したがって、算出式の各項をトランザクション処理単位で構成する際の妥当性の評価が、やはり特許文献１と同様に網羅的な評価となり効率的でない、という課題がある。【０００８】
以上説明したように、特許文献１および２では、リクエスト情報あるいはトランザクションに対してシステムの負荷情報を推定するモデルを効率的に生成することができないという課題がある。【０００９】
本発明の目的は、システムの負荷情報をリクエスト情報に基づいて推定することを可能にするリクエスト負荷モデルを効率的に構築すること、である。
【課題を解決するための手段】
【００１０】
本発明の一態様における負荷推定システムは、少なくとも１つの対象システムに接続される管理サーバを含む負荷推定システムであって、前記管理サーバは、前記対象システムの負荷情報を、前記対象システムのリクエスト情報を分類化したリクエスト分類を用いて関係づけた、リクエスト負荷モデルを生成するモデル生成手段を備え、前記モデル生成手段は、前記リクエスト情報の前記分類化の過程において、前記リクエスト分類毎の前記負荷情報の推定分布情報に基づいて細分類化の対象となる前記リクエスト分類を選択することを特徴とする。【００１１】
本発明の一態様における情報処理装置は、外部装置からのリクエスト情報の分類と当該リクエスト情報に対応する前記外部装置の負荷情報とを取得する取得手段と、取得された負荷情報に基づいて、リクエスト情報の分類毎に負荷情報の分布を生成する生成手段とを有し、生成手段は、負荷情報の分布に応じて当該負荷情報の分布に対応するリクエスト情報の分類を分割する。【００１２】
本発明の一態様における負荷推定方法は、外部装置からのリクエスト情報の分類と当該リクエスト情報に対応する前記外部装置の負荷情報とを取得し、取得された負荷情報に基づいて、リクエスト情報の分類毎に負荷情報の分布を生成し、生成の過程において、負荷情報の分布に応じて当該負荷情報の分布に対応するリクエスト情報の分類を分割する。【００１３】
本発明の一態様における他の負荷推定方法は、対象システムの負荷情報を、前記対象システムのリクエスト情報を分類化したリクエスト分類を用いて関係づけたリクエスト負荷モデルを生成し、前記リクエスト情報の前記分類化の過程において、前記リクエスト分類毎の前記負荷情報の推定分布情報に基づいて細分類化の対象となる前記リクエスト分類を選択する。【００１４】
本発明の一態様における記憶媒体は、対象システムの負荷情報を、前記対象システムのリクエスト情報を分類化したリクエスト分類を用いて関係づけたリクエスト負荷モデルを生成する処理と、前記リクエスト情報の前記分類化の過程において、前記リクエスト分類毎の前記負荷情報の推定分布情報に基づいて細分類化の対象となる前記リクエスト分類を選択する処理と、をコンピュータに実行させるプログラムを記憶する。
【発明の効果】
【００１５】
本発明によれば、システムの負荷情報をリクエスト情報に基づいて推定することを可能にするリクエスト負荷モデルを効率的に構築することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明による第一の実施形態の負荷推定システムの構成の一例を示すブロック図である。
【図２】図２は、本発明による第一の実施形態における管理サーバをコンピュータ装置で実現したハードウェア回路を示すブロック図である。
【図３】図３は、本発明による第一の実施形態における対象システムの負荷情報の一例を示す図である。
【図４】図４は、本発明による第一の実施形態における対象システムのリクエスト情報の一例を示す図である。
【図５】図５は、本発明による第一の実施形態における「分類１」の推定分布情報の一例を示す図である。
【図６】図６は、「分類１」に対して、２分類化の分類ルールを適用した際のリクエスト情報の分類結果の一例を示す図である。
【図７】図７は、本発明による第一の実施形態において、各分類の各リクエスト数を用いて負荷情報を求める回帰式を示す図である。
【図８】図８は、「分類１」および「分類２」の推定分布情報の一例を示す図である。
【図９】図９は、「分類１」、「分類２」および「分類３」の推定分布情報の一例を示す図である。
【図１０】図１０は、本発明による第一の実施形態におけるシステム情報収集部の動作を示すフローチャートである。
【図１１】図１１は、本発明による第一の実施形態におけるモデル生成部の動作を示すフローチャートである。
【図１２】図１２は、本発明による第二の実施形態の負荷推定システムの構成の一例を示すブロック図である。
【図１３】図１３は、本発明による第三の実施形態の負荷推定システムの構成の一例を示すブロック図である。
【図１４】図１４は、本発明による第四の実施形態の負荷推定システムの構成の一例を示すブロック図である。
【図１５】図１５は、本発明による第五の実施形態の負荷推定システムの構成の一例を示すブロック図である。
【図１６】図１６は、第六の実施形態に係る、情報処理装置６０００の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１７】
＜第一の実施の形態＞
発明を実施するための第一の形態について、図面を参照して詳細に説明する。
【００１８】
図１は、本発明による第一の実施形態の負荷推定システムの構成の一例を示すブロック図である。
【００１９】
図１を参照すると、本発明による第一の実施形態における負荷推定システム１０００は、管理サーバ１００と、対象システム２００と、モデルデータベース３０１と、システム情報データベース３０２とを含む。対象システム２００は、自対象システムの負荷を計測し、負荷情報およびリクエスト情報を出力するシステム情報計測部２０１を備える。負荷情報は、図３を用いて後述され、リクエスト情報は、図４を用いて後述される。管理サーバ１００は、システム情報収集部１０１とモデル生成部１０２とを備える。
【００２０】
システム情報収集部１０１は、システム情報計測部２０１から対象システム２００の負荷情報およびリクエスト情報を収集し、システム情報データベース３０２へ格納する。たとえば、システム情報収集部１０１は、定期的に、対象システム２００を検索し、そこからシステム情報計測部２０１を介して負荷情報およびリクエスト情報を取得し、システム情報データベース３０２へ格納する。
【００２１】
モデル生成部１０２は、システム情報データベース３０２から対象システム２００の負荷情報およびリクエスト情報を取得し、それら情報に基づいてリクエスト分類に対する負荷情報の推定分布情報と対象システム２００のリクエスト負荷モデルとを生成する。さらに、モデル生成部１０２は、生成されたリクエスト負荷モデルと推定分布情報とをモデルデータベース３０１へ格納する。推定分布情報とリクエスト分類は、後述される。
【００２２】
ここで、システム情報収集部１０１、モデル生成部１０２、および、システム情報計測部２０１は、論理回路等のハードウェアで構成される。
【００２３】
また、モデルデータベース３０１、および、システム情報データベース３０２は、ディスク装置、半導体メモリ等の記憶装置である。
【００２４】
また、システム情報収集部１０１、および、モデル生成部１０２は、コンピュータである管理サーバ１００のプロセッサが、図示されないメモリ上のプログラムを実行することで実現される機能であっても良い。
【００２５】
また、システム情報計測部２０１は、コンピュータである対象システム２００のプロセッサが、図示されないメモリ上のプログラムを実行することで実現される機能であっても良い。
【００２６】
図２は、本発明の第一の実施形態における管理サーバ１００を、コンピュータ装置である情報処理装置５００で実現したハードウェア回路を示すブロック図である。なお、対象システム２００も管理サーバ１００と同様の構成とする。
【００２７】
図２に示されるように、情報処理装置５００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）５０１、メモリ５０２、ハードディスク等の記憶装置５０３、およびネットワーク接続用のＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）５０４（インターフェース５０４）を含む。また、情報処理装置５００は、バス５０５を介して入力装置５０６および出力装置５０７に接続されている。Ｉ／Ｆ５０４は、図１のシステム情報収集部１０１の一部に対応する。
【００２８】
ＣＰＵ５０１は、オペレーティングシステムを動作させて情報処理装置５００の全体を制御する。また、ＣＰＵ５０１は、例えばドライブ装置などに装着された記録媒体５０８からメモリ５０２にプログラムやデータを読み出す。また、ＣＰＵ５０１は、第一の実施の形態におけるモデル生成部１０２、および、システム情報収集部１０１の一部として機能し、プログラムに基づいて各種の処理を実行する。ＣＰＵ５０１は、複数のＣＰＵによって構成されていてもよい。
【００２９】
記憶装置５０３は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または半導体メモリ等である。記憶媒体５０８は、不揮発性記憶装置であり、そこにＣＰＵ５０１が実行するプログラムを記録する。記憶媒体５０８は、記憶装置５０３の一部であってもよい。また、プログラムは、通信網に接続されている図示しない外部コンピュータからＩ／Ｆ５０４を介してダウンロードされてもよい。
【００３０】
入力装置５０６は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力装置５０６は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネルでもよい。出力装置５０７は、例えばディスプレイで実現され、出力を確認するために用いられる。
【００３１】
以上のように、図１に示す第一の実施の形態における管理サーバ１００は、図２に示されるハードウェア構成によって実現される。ただし、図２の情報処理装置５００は、図２の構成に限定されない。例えば、入力装置５０６、出力装置５０７は、インターフェース５０４を介して外付けされるものでもよい。
【００３２】
また、情報処理装置５００は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００３３】
図３は、システム情報データベース３０２に格納される対象システム２００の負荷情報を例示する図である。図３において、負荷情報は、対象システム２００が消費するリソース量を指し、負荷情報として一定期間ごとの平均計測値が記録されている。図３の場合、リソース量は、平均ＣＰＵ使用率（％）、平均メモリ使用量（ＭＢ（メガビット））である。対象システム２００の負荷情報は、そのシステムの種類に基づき、仮想サーバ単位、物理サーバ単位、または、その複数の単位で、システム情報計測部２０１によって計測される。例えば、仮想環境においては、ＣＰＵ使用率は、仮想マシン単位で計測される場合もあるし、物理マシン単位で計測される場合もある。
【００３４】
ここでは、負荷情報として平均ＣＰＵ使用率と平均メモリ使用量を例にとったが、これ以外の負荷測定が可能なリソース量または負荷値であれば他の指標を用いてもよい。
【００３５】
図４は、システム情報データベース３０２に格納される対象システム２００のリクエスト情報を例示する図である。リクエスト情報は、対象システム２００がリクエストと、そのリクエストを受信した日付と時刻（たとえば、８／２０  ０：０１）と、リクエストの分類（リクエスト分類とも言う）とを有する。リクエストは、対象システム２００がデータ処理のための発生する情報であり、たとえば、「GET/func1/a.html」や「GET/func2/a.html」を含む。リクエスト分類の初期状態において、図３に示すように全てのリクエストは同じリクエスト分類（「分類１」）に属するものとする。
【００３６】
次に、モデル生成部１０２における、対象システム２００に対するリクエスト分類に対する負荷情報の推定分布情報の生成について、説明する。最初、モデル生成部１０２は、システム情報データベース３０２からリクエスト情報と負荷情報を読み出し、各リクエスト分類（以下、単に分類と記述）に対する負荷の推定分布情報を計算する。各分類の推定分布情報は、各リクエスト分類あたりの負荷の分布に関する情報である。各分類の推定分布情報は、特定の分布関数でもよいし、統計量に基づく他の分布情報でもよい。本実施の形態では、各分類の推定分布情報をガウス分布として扱う。この場合、推定分布情報の生成は、単一のガウス分布のパラメータ推定を行うことにも相当する。モデル生成部１０２におけるパラメータ推定の手法は、最尤推定やベイズ推定などの既存の手法でもよい。
【００３７】
図５は、「分類１」の推定分布情報の例を示す図である。図５において、横軸は平均ＣＰＵ使用率、縦軸は平均メモリ使用量であり、分布の密度が等高線によって示される。このように各分類の推定分布情報は、分類内の負荷値に対する標準偏差を計算可能な分布または統計情報として計算されたデータである。各分類の推定分布情報は、モデル生成部１０２によってモデルデータベース３０１に格納される。
【００３８】
次に、モデル生成部１０２は、リクエスト情報を階層的に細分類化することでリクエスト負荷モデルを生成する。最初、モデル生成部１０２は、細分類化するべき分類を、各分類の推定分布情報（図５に示す分布）から計算される標準偏差を基準に選択する。初期状態では、「分類１」しか分類は存在しないため、モデル生成部１０２は、「分類１」を細分類化の対象として選択する。次に、モデル生成部１０２は、選択した分類に対して細分類化を行う。細分類化の手法としては、例えば、リクエスト情報に含まれるキーワードの有り無しによる２分類化が挙げられるが、ここでは手法は問わない。説明のため、本実施の形態では、キーワードの有り無しによる２分類化を細分類化の手法として使うことにする。
【００３９】
図６は、「分類１」に対して、キーワード「ｆｕｎｃ１」の有る無しによる２分類化という分類ルールを適用した際のリクエストの分類結果を表すデータを示す図である。この分類結果を表すデータは、モデルデータベース３０１または図２の情報処理装置５００のメモリ５０２または、記憶装置５０３に記憶される分類情報である。
【００４０】
キーワードの有り無しによる２分類化の場合、分類ルールはキーワードの数だけ存在する。キーワードは、リクエスト情報におけるリクエストを適当な区切り文字によって分割した際の文字列を利用する。モデル生成部１０２は、細分類化の対象となっている分類に対して、１つずつ分類ルールを適用してから評価を行う。ここでの適用は仮適用であり、モデル生成部１０２は、１つの評価が終わった時点で元の分類に戻す。
【００４１】
なお、一つの分類ルールを適用した後の分類の評価は、各分類のリクエスト数を用いて負荷情報を求める回帰式を、分類の評価基準に基づいて評価することである。
【００４２】
また、モデル生成部１０２は、分類の評価基準として、一つの分類ルールを適用した分類情報を用いて負荷情報をモデル化し、モデル化した際の回帰誤差またはテスト誤差を用いる。テスト誤差を評価基準として用いる場合、モデル生成部１０２は、システム情報データベース３０２に格納されたデータ（負荷情報とリクエスト情報）のうち、一部を学習用のデータとして、他の一部を評価用のテストデータとして利用する。回帰誤差を利用する場合は、モデル生成部１０２は、システム情報データベース３０２に格納された全てのデータを学習データに用いる。モデル生成部１０２は、この回帰の回帰誤差またはテスト誤差の値（評価値）が、小さいほど、評価がより高い分類ルールであると判定する。
【００４３】
図７はリクエスト負荷モデルの一例であり、モデル生成部１０２がリクエストの負荷を予測するための回帰式の一例を示す数式である。図７に示すリクエスト負荷モデルは、対象システムの負荷情報を、対象システムのリクエスト情報を分類化したリクエスト分類を用いて関係づけたものである。図７に示す式（１）において、Ｕｉは、ｉ番目（ｉ＝１、２、３、・・・、ｐ）の計測期間に計測されたシステムの負荷情報で、Ｗｋは、ｋ番目（ｋ＝１、２、３、・・・、ｑ）のリクエスト分類（リクエストはｑ種類に分類されるとした場合）の負荷値（たとえば、平均ＣＰＵ使用率と平均メモリ使用率）である。また、Ｎｉｋはｉ番目の計測期間に計測されたリクエスト分類ｋのリクエスト数である。
【００４４】
対象システム２００の負荷情報は、一定期間の平均値であるため、個々のリクエストとは直接紐づいていない。このため、複数のリクエストがシステム上で実行された際の負荷の合計値が、システムの負荷情報としてモデルデータベース３０１に記録される。
【００４５】
合計値であるシステムの負荷情報は、個々のリクエスト単位に分解することができる。この場合、モデル生成部１０２は、例えば、図７の式（１）の方程式を解くことにより負荷値Ｗｋを求めればよい。
【００４６】
なお、本実施の形態では、リクエスト負荷モデルの一例として上述の線形回帰モデル以外の他のモデル（手法）を用いて評価してもよい。また、リクエスト分類は、一般的には明示的に与えられていないため、本実施の形態の負荷推定システム１０００では、リクエスト情報の分類化と各リクエスト分類の負荷値の推定（式（１）の方程式を解くこと）をまとめて実施する。
【００４７】
図８および図９は、分類の細分類化を行った場合の推定分布情報の例を示す図である。
【００４８】
分類の追加は、既に存在する分類のいずれか１つに対して、分類ルールを適用し、たとえば、図６に示すように細分類化することで行う。分類化が進むにつれ、分類数が増加する。したがって、次に細分類化する分類を効率的に決定（または選択）する方法が重要となる。例えば、リクエストが１０種類に分類されている場合、細分類化の対象は１０種類存在する。
【００４９】
モデル生成部１０２は、リクエスト情報の分類化の過程において、各分類の推定分布情報に基づいて細分類化の対象となる分類を選択する。これにより、モデル生成部１０２は、効率的な分類化を実現する。もし、前述した特許文献１および２のように、細分類化の対象となる分類の選択基準が無い場合、負荷への影響が低い分類も含めて総当り的に評価を行うことになるため、効率が悪い。
【００５０】
各分類の推定分布情報は、図５と同様に、分類内の負荷値に対する標準偏差を計算可能な分布または統計情報として計算される。
【００５１】
以上のように、モデル生成部１０２は、まず、現在の分類の推定分布情報に基づいて細分類化する分類を選択する。モデル生成部１０２は、分類の選択基準の１つとして、各分類の推定分布情報から計算される標準偏差を使う。標準偏差がより大きい分類では、負荷値の異なるリクエストが混在している可能性が高くなるため、標準偏差のより大きい分類が細分類の対象として適している。
【００５２】
複数の分類がある場合、モデル生成部１０２は、各分類のうち標準偏差値が最も大きくなる分類を選び、さらに、選択した分類に対し細分類化を実施する。図８に示す例の場合、「分類１」の標準偏差が大きいため、モデル生成部１０２は、細分類化の対象として「分類１」を選択し、前述した分類化と同様の工程を繰り返す。図９に示すように、「分類１」が「分類１A」「分類１B」に細分類化された場合、モデル生成部１０２は、再度、分類１A、１Bのそれぞれの推定分布情報を計算する。
【００５３】
分類化自体の手法に関しては、モデル生成部１０２は、既存の手法を利用し、例えば、あるキーワードを含むか否かの２つに分類化する手法などを用いる（図６を参照）。分類化では、モデル生成部１０２は、あらかじめ用意した分類ルールを１つずつ細分化の対象となった分類に適用し、さらに、たとえば、各分類のリクエスト数を用いて負荷情報を求める回帰式を、分類の評価基準に基づいて評価を行う。
【００５４】
モデル生成部１０２は、評価によって得られる評価値が分類ルールを適用する前の値より高くなる複数の分類ルールのうち、評価値の最も高い分類ルールを最終的に適用することで分類情報を更新する。モデル生成部１０２は、細分類化により分類情報が更新された場合、各分類の推定分布情報を再び計算する。そして、モデル生成部１０２は、各分類の推定分布情報から計算される標準偏差値が最も大きくなる分類を選び、さらに、選択した分類に対し細分類化を実施する。そして、モデル生成部１０２は、どの分類ルールを適用しても、誤差（回帰誤差またはテスト誤差の値である評価値）が改善されない場合、細分類化を行わず終了する。
【００５５】
このように、モデル生成部１０２は、細分類化の対象となる分類の選択と、細分類化を繰り返し行い、分類ルールの評価時に用いるリクエスト負荷モデルから求められる誤差が分類ルール適用前より改善しなくなった時点で細分類化を終了する。すなわち、モデル生成部１０２は、上記の分類の評価を全ての分類ルールに対して行い、評価の最も高い分類ルールを最終的な分類ルールとして適用しながら、分類化を終了する。
【００５６】
分類の推定分布情報は、リクエストの負荷の特性を反映させたものであり、リクエストの負荷を予測する際の予測値の信頼性（正確性）を評価する際にも利用することができる。例えば、予測対象のリクエストが分類される分類の推定分布情報から求めた標準偏差の値が高い場合、モデル生成部１０２は、リクエスト負荷モデルを用いて計算される負荷の予測値の信頼性は低いと判断することができる。
【００５７】
以上により、モデル生成部１０２は、リクエスト分類毎の推定分布情報に基づいて細分類化の対象となる分類を選択することで、効率的にリクエスト情報とシステムの負荷情報を関係づけるリクエスト負荷モデルを構築することが可能となる。
【００５８】
次に、図１０および図１１に示すフローチャートを参照して、本実施の形態の負荷推定システム１０００全体の動作について詳細に説明する。
【００５９】
図１０は、本発明による第一の実施形態において、システム情報収集部１０１の動作を示すフローチャートである。
【００６０】
図１０を参照すると、システム情報収集部１０１は、一定時間待機し（S1）、一定時間経過すると対象システム２００のシステム情報計測部２０１から負荷情報およびリクエスト情報を取得し、システム情報データベース３０２へ格納する（Ｓ２）。システム情報収集部１０１は、システムが停止するまで、S1およびS２の処理を、一定時間ごとに繰り返す。
【００６１】
図１１は、本発明による第一の実施形態において、モデル生成部１０２におけるリクエスト分類化の動作を示すフローチャートである。
【００６２】
図１１を参照すると、モデル生成部１０２は、まず、分類ルールを用意する（Ｓ３）。
次に、モデル生成部１０２は、システム情報データベース３０２からリクエスト情報を取得し、取得した全てのリクエスト情報を同じ分類ルールとして初期化する（Ｓ４）。
【００６３】
そして、モデル生成部１０２は、各分類に対して推定分布情報を生成し、全ての分類の推定分布情報を構築し（Ｓ５）、全ての分類を未評価分類としてマークする（Ｓ６）。マークするとは、たとえば、所定のフラグを付与することである。
【００６４】
また、モデル生成部１０２は、未評価の分類が存在するかを判定する（S7）。S7で、「はい」の場合、モデル生成部１０２は、未評価の全ての分類から算出される推定分布情報から標準偏差を算出し、標準偏差値の最も高い分類を細分化の対象となる分類として選択する（Ｓ８）。未評価分類が存在しない場合（Ｓ７で「いいえ」）、モデル生成部１０２は、処理を終了する（Ｓ１５）。
【００６５】
モデル生成部１０２は、選択された未評価分類に対して、分類ルールを１つずつ適用し、評価を行う。具体的に、モデル生成部１０２は、選択された分類に対し、全ての分類ルールを評価したかを判定する（S9）。評価していない場合、選択された分類に対し未評価の分類ルールの１つを選択し適用する（S10）。次にモデル生成部１０２は、リクエスト負荷モデルを用いて、分類ルールを適用した際の誤差を評価する（S11）。モデル生成部１０２は、評価によって得られる評価値を図２のメモリ５０２に記憶した後、分類を分類ルール適用前の状態に戻す（Ｓ１２）。モデル生成部１０２は、選択された未評価分類に対して、他の一つの分類ルールを適用し、S9乃至S１２を繰り返す。
【００６６】
モデル生成部１０２は、分類ルールの評価が完了した際（S9で「はい」）、分類ルールの適用前に比べ評価値が増加した場合（S13で「はい」）、メモリ５０２に記憶されている評価値のうち、最も評価値の高い分類ルールを適用し、分類情報を更新する（Ｓ１４）。
【００６７】
この後、モデル生成部１０２の処理は、S5に戻り、再度、細分類化の工程を繰り返す（Ｓ５〜Ｓ９）。
【００６８】
また、モデル生成部１０２は、分類ルールの評価が完了した際、分類ルールの適用前に比べ評価値が増加した分類ルールが無い場合（Ｓ１３で「いいえ」）、評価値が増加しなかった分類を評価済み分類としてマークし（S16）、未評価分類の評価の判定を行う（Ｓ７）。
【００６９】
本実施形態に係る負荷推定システム１０００は、以下に記載するような効果を奏する。
【００７０】
システムの負荷情報をリクエスト情報に基づいて推定することを可能にするリクエスト負荷モデルを効率的に構築することを可能にする。
【００７１】
その理由は、リクエスト分類毎の推定分布情報に基づいて細分類化の対象を選択するからである。
【００７２】
＜第二の実施の形態＞
次に、本発明による第二の実施形態について図面を参照して詳細に説明する。
【００７３】
図１２は、本発明による第二の実施形態の負荷推定システム２０００の構成の一例を示すブロック図である。
【００７４】
図１２を参照すると、第二の実施形態は、第一の実施形態の構成に加え、管理サーバ１００が予測部１０３を備える。
【００７５】
本実施形態は、管理サーバ１００が、対象システム２００から負荷情報およびリクエスト情報を取得し、リクエスト負荷モデルおよび推定分布情報を生成し、モデルデータベース３０１に格納するまでは、第一の実施形態と同じである。
【００７６】
予測部１０３は、リクエスト情報に関する入力を受け付け、該当するリクエスト情報に含まれるリクエストが対象システム２００で実行された際の負荷を予測する。
【００７７】
まず、予測部１０３は、モデルデータベース３０１から対象システム２００のリクエスト負荷モデルおよび推定分布情報を取得する。
【００７８】
そして、予測部１０３は、リクエスト情報がどのリクエスト分類に属するかの判定を行い、該当したリクエスト分類に対するリクエスト負荷モデルを用いて負荷の値を予測する。その際、予測部１０３は、該当分類の推定分布情報を用いて、負荷の予測値の信頼性のデータ（たとえば、推定分布情報の標準偏差の値）を同時に出力してもよい。
【００７９】
ここで、予測部１０３は、論理回路等のハードウェアで構成される。
【００８０】
また、予測部１０３は、コンピュータである管理サーバ１００のプロセッサが、図示されないメモリ上のプログラムを実行することで実現されても良い。
【００８１】
本実施形態に係る負荷推定システム２０００は、以下に記載するような効果を奏する。
【００８２】
リクエストが対象システム２００で実行された際の負荷の予測を可能にする。
【００８３】
その理由は、モデルデータベース３０１から取得した対象システム２００のリクエスト負荷モデルおよび推定分布情報を用いるからである。
【００８４】
＜第三の実施の形態＞
次に、本発明による第三の実施形態について図面を参照して詳細に説明する。
【００８５】
図１３は、本発明による第三の実施形態の負荷推定システム３０００の構成の一例を示すブロック図である。
【００８６】
図１３を参照すると、第三の実施形態の構成は、第一の実施形態の構成において、複数の対象システムが存在する。ここでは、対象システムが２つ存在する場合について説明するが、３つ以上の場合も同様である。
【００８７】
システム情報収集部１０１は、対象システム２００および対象システム２１０からシステム情報計測部２０１およびシステム情報計測部２１１を介して、負荷情報およびリクエスト情報を収集し、システム情報データベース３０２へ格納する。モデル生成部１０２は、システム情報データベース３０２から負荷情報およびリクエスト情報を取得し、対象システム毎にリクエスト負荷モデルを構築するが、リクエスト情報として他の対象システムのリクエスト情報を用いてリクエスト負荷モデルを生成してもよい。
【００８８】
これにより、例えば、対象システムの１つがＷＥＢサーバであり、もう一方の対象システムがアプリケーションサーバである場合に、モデル生成部１０２は、ＷＥＢサーバのリクエスト情報とアプリケーションサーバの負荷情報を紐づけたリクエスト負荷モデルを生成できる。
【００８９】
なお、本実施形態は、前述の第二の実施形態で示した予測部１０３を本実施形態の負荷推定システム３０００に適用してもよい。
【００９０】
本実施形態に係る負荷推定システム３０００は、以下に記載するような効果を奏する。
【００９１】
システムの負荷情報をリクエスト情報に基づいて推定することを可能にするリクエスト負荷モデルを効率的に構築することを可能にする。
【００９２】
その理由は、リクエスト分類毎の推定分布情報に基づいて細分類化の対象を選択するからである。
【００９３】
＜第四の実施の形態＞
次に、本発明による第四の実施形態について図面を参照して詳細に説明する。
【００９４】
図１４は、本発明による第四の実施形態の負荷推定システム４０００の構成の一例を示すブロック図である。
【００９５】
図１４を参照すると、第四の実施形態の構成は、第三の実施形態と同様の構成を持つが、さらに、対象システム間に処理の流れが定義されている。流れは、対象システム間の破線矢印で示している。ただし、対象システムの構成や流れは図１４に限定されない。処理の流れは、対象システム２００から対象システム２２０、対象システム２００から対象システム２３０、対象システム２１０から対象システム２２０、対象システム２１０から対象システム２３０の４つである。
【００９６】
ここで、例えば、対象システム２００および対象システム２１０を前対象システム、対象システム２２０および対象システム２３０を後対象システムと定義する。
【００９７】
システム情報収集部１０１は、対象システム２００、対象システム２１０、対象システム２２０および対象システム２３０から、システム情報計測部２０１、システム情報計測部２１１、システム情報計測部２２１およびシステム情報計測部２３１を介して、負荷情報およびリクエスト情報を収集し、システム情報データベース３０２へ格納する。
【００９８】
モデル生成部１０２は、システム情報データベース３０２から負荷情報およびリクエスト情報を取得し、対象システム毎にリクエスト負荷モデルを構築する。モデル生成部１０２は、前対象システムについては、対象システム自身の負荷情報およびリクエスト情報を用いてリクエスト負荷モデルを構築する。
【００９９】
これに対し、後対象システムのリクエスト負荷モデルを構築するためには、モデル生成部１０２は、全ての前対象システムのリクエスト情報を合わせた統合リクエスト情報を作り、さらに、全ての後対象システムの負荷情報を足し合わせた統合負荷情報を作る。モデル生成部１０２は、統合リクエスト情報と統合負荷情報を用いて、リクエスト負荷モデルを構築し、これを後対象システムのリクエスト負荷モデルとする。これは、例えば、複数のＷＥＢサーバと複数のアプリケーションサーバが存在する場合において、ＷＥＢサーバのリクエスト情報に紐づけてアプリケーションサーバのリクエスト負荷モデルを構築する場合に役に立つ。
【０１００】
なお、前述の第二の実施形態で示した予測部１０３が本実施形態の負荷推定システムに適用されてもよい。
【０１０１】
本実施形態に係る負荷推定システム４０００は、以下に記載するような効果を奏する。
【０１０２】
システムの負荷情報をリクエスト情報に基づいて推定することを可能にするリクエスト負荷モデルを効率的に構築することを可能にする。
【０１０３】
その理由は、リクエスト分類毎の推定分布情報に基づいて細分類化の対象を選択するからである。
【０１０４】
＜第五の実施の形態＞
次に、本発明による第五の実施形態について図面を参照して詳細に説明する。
【０１０５】
図１５は、第五の実施形態に係る、負荷推定システム５０００の構成の一例を示すブロック図である。図１５において、実線のブロック部分は、第一乃至第四の実施形態における負荷推定システムの基本となる構成に対応する。
【０１０６】
負荷推定システム５０００は、管理サーバ１００を含む。図１５において、負荷推定システム５０００は、管理サーバ１００のほかに対象システム２００を含むが、対象システム２００は、負荷推定システムに外部接続する装置でもよい。
【０１０７】
管理サーバ１００は、対象システム２００の負荷情報を、対象システム２００のリクエスト情報を分類化したリクエスト分類を用いて関係づけた、リクエスト負荷モデルを生成するモデル生成部１０２を備える。
【０１０８】
モデル生成部１０２は、リクエスト情報の分類化の過程において、リクエスト分類毎の負荷情報の推定分布情報に基づいて細分類化の対象となるリクエスト分類を選択する。
【０１０９】
本実施形態に係る負荷推定システム５０００は、以下に記載するような効果を奏する。
【０１１０】
負荷推定システム５０００は、システムの負荷情報をリクエスト情報に基づいて推定することを可能にするリクエスト負荷モデルを効率的に構築することを可能にする。
【０１１１】
その理由は、リクエスト分類毎の推定分布情報に基づいて細分類化の対象を選択するからである。
【０１１２】
＜第六の実施の形態＞
次に、本発明による第六の実施形態について図面を参照して詳細に説明する。
【０１１３】
図１６は、本発明による第六の実施形態に係る、情報処理装置６０００の構成の一例を示すブロック図である。
【０１１４】
情報処理装置６０００は、取得部１５０と、生成部１６０とを含む。情報処理装置６０００は、図示しない外部装置の負荷を推定する機能を含む。
【０１１５】
取得部１５０は、外部装置からのリクエスト情報の分類と当該リクエスト情報に対応する図示しない外部装置の負荷情報とを取得する。
【０１１６】
生成部１６０は、取得された負荷情報に基づいて、リクエスト情報の分類毎に負荷情報の分布を生成する。生成部１６０は、負荷情報の分布に応じて当該負荷情報の分布に対応するリクエスト情報の分類を分割する。
【０１１７】
本実施形態に係る情報処理装置６０００は、以下に記載するような効果を奏する。
【０１１８】
システムの負荷情報をリクエスト情報に基づいて推定することを可能にするリクエスト負荷モデルを効率的に構築することを可能にする。
【０１１９】
その理由は、生成部１６０は、負荷情報の分布に応じて、当該負荷情報の分布に対応するリクエスト情報の分類を分割するからである。これにより、生成部１６０は、効率的な分類化を実現する。前述した特許文献１および２のように、細分類化の対象となる分類の選択基準が無い場合、負荷への影響が低い分類も含めて総当り的に評価を行う必要性がなくなる。
【０１２０】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０１２１】
この出願は、２０１４年３月２８日に出願された日本出願特願２０１４−０６７６０２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１２２】
１０００    負荷推定システム
１００    管理サーバ
１０１    システム情報収集部
１０２    モデル生成部
１０３    予測部
２０００    負荷推定システム
２００、２１０、２２０、２３０    対象システム
２０１、２１１、２２１、２３１    システム情報計測部
３０００    負荷推定システム
３０１    モデルデータベース
３０２    システム情報データベース
４０００    負荷推定システム
５００    情報処理装置
５０１    ＣＰＵ
５０２    メモリ
５０３    記憶装置
５０４    Ｉ／Ｆ
５０５    バス
５０６    入力装置
５０７    出力装置
５０８    記録媒体
５０００    負荷推定システム
６０００    情報処理装置
【図１】
2015146100.tif 000003
【図２】
2015146100.tif 000004
【図３】
2015146100.tif 000005
【図４】
2015146100.tif 000006
【図５】
2015146100.tif 000007
【図６】
2015146100.tif 000008
【図７】
2015146100.tif 000009
【図８】
2015146100.tif 000010
【図９】
2015146100.tif 000011
【図１０】
2015146100.tif 000012
【図１１】
2015146100.tif 000013
【図１２】
2015146100.tif 000014
【図１３】
2015146100.tif 000015
【図１４】
2015146100.tif 000016
【図１５】
2015146100.tif 000017
【図１６】
2015146100.tif 000018
【手続補正書】
【提出日】平成28年9月23日(2016.9.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つの対象システムに接続される管理サーバを含む負荷推定システムであって、
前記管理サーバは、前記対象システムの負荷情報を、前記対象システムのリクエスト情報を分類化したリクエスト分類と関係づけた、リクエスト負荷モデルを生成するモデル生成手段を備え、
前記モデル生成手段は、前記リクエスト情報の前記分類化の過程において、前記リクエスト分類毎の前記負荷情報の推定分布情報に基づいて細分類化の対象となる前記リクエスト分類を選択することを特徴とする、負荷推定システム。
【請求項２】
前記リクエスト分類毎の前記負荷情報の前記推定分布情報は、前記リクエスト分類に対する前記負荷情報の分布を表現する関数または統計値であり、前記対象システムの前記負荷情報と前記リクエスト分類から推定されることを特徴とする、請求項１に記載の負荷推定システム。
【請求項３】
前記モデル生成手段は、前記細分類化の対象となった前記リクエスト分類に対して、複数の分類ルールをそれぞれ適用した際の評価を行い、最も評価値の高い前記分類ルールを前記対象の前記リクエスト分類に適用することを特徴とする、請求項１または２に記載の負荷推定システム。
【請求項４】
前記評価値は、前記リクエスト分類に関する情報を用いて前記対象システムの前記負荷情報を回帰させた際の回帰誤差、または、回帰時の学習に用いなかった前記負荷情報および前記リクエスト分類を用いたテスト誤差の値に基づいて決定されることを特徴とする、請求項１乃至３のいずれかに記載の負荷推定システム。
【請求項５】
前記分類ルールが、前記リクエスト情報を適当な区切り文字により分割した際に抽出された文字列を用いて、前記リクエスト情報に前記文字列が存在するか否かで２分類化する分類化手法を含むことを特徴とする、請求項１乃至４のいずれかに記載の負荷推定システム。
【請求項６】
前記モデル生成手段は、前記リクエスト分類の前記推定分布情報から計算される基準値が一定値以上の場合に、その前記リクエスト分類を細分類化の対象とすることを特徴とする、請求項１乃至５のいずれかに記載の負荷推定システム。
【請求項７】
前記基準値として、標準偏差値を用いることを特徴とする、請求項６に記載の負荷推定システム。
【請求項８】
前記管理サーバが、該当する前記リクエスト情報に含まれるリクエストが前記対象システムで実行された場合の前記負荷を前記リクエスト負荷モデルを用いて予測する予測手段を更に備えたことを特徴とする、請求項１乃至７のいずれかに記載の負荷推定システム。
【請求項９】
対象システムの負荷情報を、前記対象システムのリクエスト情報を分類化したリクエスト分類を用いて関係づけたリクエスト負荷モデルを生成し、
前記リクエスト情報の前記分類化の過程において、前記リクエスト分類毎の前記負荷情報の推定分布情報に基づいて細分類化の対象となる前記リクエスト分類を選択する、負荷推定方法。
【請求項１０】
対象システムの負荷情報を、前記対象システムのリクエスト情報を分類化したリクエスト分類を用いて関係づけたリクエスト負荷モデルを生成する処理と、
前記リクエスト情報の前記分類化の過程において、前記リクエスト分類毎の前記負荷情報の推定分布情報に基づいて細分類化の対象となる前記リクエスト分類を選択する処理と、をコンピュータに実行させるコンピュータ・プログラム。
【請求項１１】
外部装置からのリクエスト情報の分類と当該リクエスト情報に対応する前記外部装置の負荷情報とを取得する取得手段と、
前記取得された負荷情報に基づいて、リクエスト情報の分類毎に負荷情報の分布を生成する生成手段とを有し、
前記生成手段は、負荷情報の分布に応じて当該負荷情報の分布に対応するリクエスト情報の分類を分割する情報処理装置。
【請求項１２】
外部装置からのリクエスト情報の分類と当該リクエスト情報に対応する前記外部装置の負荷情報とを取得し、
前記取得された負荷情報に基づいて、リクエスト情報の分類毎に負荷情報の分布を生成し、
前記生成の過程において、負荷情報の分布に応じて当該負荷情報の分布に対応するリクエスト情報の分類を分割する情報処理方法。
【請求項１３】
外部装置からのリクエスト情報の分類と当該リクエスト情報に対応する前記外部装置の負荷情報とを取得する取得処理と、
前記取得された負荷情報に基づいて、リクエスト情報の分類毎に負荷情報の分布を生成する生成処理と、
前記生成処理において、負荷情報の分布に応じて当該負荷情報の分布に対応するリクエスト情報の分類を分割する処理と、をコンピュータに実行させるコンピュータ・プログラム。
【国際調査報告】
2015146100.tif 000019
2015146100.tif 000020