(57)【特許請求の範囲】
【請求項１】
入力に基づき処理をする第１サーバと、前記第１サーバの処理結果を受け付け前記処理結果に基づき処理をする第２サーバと、を備えるシステムを監視する監視サーバであって、
前記入力の入力量を受信する受信手段と、
前記第１サーバの特性であって過去の入力量に対する過去の出力量の特性を示す第１の特性情報、及び、前記第１サーバの特性であって過去の入力量に対する過去の出力の遅延時間の特性を示す第２の特性情報を記憶する記憶手段と、
前記受信した入力の入力量と前記第１の特性情報及び前記第２の特性情報とに基づき、前記受信した入力の入力量に対応する出力量と出力時間を推定する推定手段と、
前記推定手段が推定した前記出力量及び前記出力時間に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する要求手段と、
を備える監視サーバ。
【請求項２】
前記記憶手段は、前記第１の特性情報及び前記第２の特性情報を、前記第１サーバに割り当てられたリソース量毎に複数記憶し、
前記推定手段は、前記第１サーバに現在割り当てられているリソース量に基づいて、前記複数の第１の特性情報および前記複数の第２の特性情報のうちから、特定の前記第１の特性情報および特定の前記第２の特性情報を選択し、前記特定の第１の特性情報および前記特定の第２の特性情報に基づいて、前記入力量に対応する前記出力量と前記出力時間を推定する、
請求項１に記載の監視サーバ。
【請求項３】
前記システムは複数の前記第１サーバを備え、
前記推定手段は、前記複数の第１サーバのそれぞれに対して前記入力量に対応する前記出力量と前記出力時間を推定し、推定したそれぞれの前記出力量を前記出力時間毎に足し合わせた情報を生成し、
前記要求手段は、前記推定手段が生成した情報に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する
請求項１または２に記載の監視サーバ。
【請求項４】
前記第２サーバに対して行う構成変更処理の複数の候補ごとに、当該構成変更処理の完了にかかる所要時間と、当該構成変更により見込まれる性能向上度合いとを関連付けて記憶する第２の記憶手段とをさらに備え、
前記要求手段は、前記推定手段が推定した前記出力時間までに、前記推定手段が推定した前記出力量に対応できるだけの性能向上が可能な構成変更処理を優先して選択し、構成変更の指示を行う請求項１乃至３のうちいずれか一項に記載の監視サーバ。
【請求項５】
入力に基づき処理をする第１サーバと、
前記第１サーバの処理結果を受け付け前記処理結果に基づき処理をする第２サーバと、
監視サーバと、を備え、
前記監視サーバは、
前記入力の入力量を受信する受信手段と、
前記第１サーバの特性であって過去の入力量に対する過去の出力量の特性を示す第１の特性情報、及び、前記第１サーバの特性であって過去の入力量に対する過去の出力の遅延時間の特性を示す第２の特性情報を記憶する記憶手段と、
前記受信した入力の入力量と前記第１の特性情報及び前記第２の特性情報とに基づき、前記受信した入力の入力量に対応する出力量と出力時間を推定する推定手段と、
前記推定手段が推定した前記出力量及び前記出力時間に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する要求手段と、
を有する監視システム。
【請求項６】
前記記憶手段は、前記第１の特性情報及び前記第２の特性情報を、前記第１サーバに割り当てられたリソース量毎に複数記憶し、
前記推定手段は、前記第１サーバに現在割り当てられているリソース量に基づいて、前記複数の第１の特性情報および前記複数の第２の特性情報のうちから、特定の前記第１の特性情報および特定の前記第２の特性情報を選択し、前記特定の第１の特性情報および前記特定の第２の特性情報に基づいて、前記入力量に対応する前記出力量と前記出力時間を推定する、
請求項５に記載の監視システム。
【請求項７】
前記監視システムは複数の前記第１サーバを備え、
前記推定手段は、前記複数の第１サーバのそれぞれに対して前記入力量に対応する前記出力量と前記出力時間を推定し、推定したそれぞれの前記出力量を前記出力時間毎に足し合わせた情報を生成し、
前記要求手段は、前記推定手段が生成した情報に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する
請求項５または６に記載の監視システム。
【請求項８】
前記第２サーバに対して行う構成変更処理の複数の候補ごとに、当該構成変更処理の完了にかかる所要時間と、当該構成変更により見込まれる性能向上度合いとを関連付けて記憶する第２の記憶手段とをさらに備え、
前記要求手段は、前記推定手段が推定した前記出力時間までに、前記推定手段が推定した前記出力量に対応できるだけの性能向上が可能な構成変更処理を優先して選択し、構成変更の指示を行う請求項５乃至７のうちいずれか一項に記載の監視システム。
【請求項９】
入力に基づき処理をする第１サーバと、前記第１サーバの処理結果を受け付け前記処理結果に基づき処理をする第２サーバと、を備えるシステムをコンピュータが監視する監視方法であって、
前記コンピュータは、前記入力の入力量を受信し、
前記コンピュータは、前記第１サーバの特性であって過去の入力量に対する過去の出力量の特性を示す第１の特性情報、及び、前記第１サーバの特性であって過去の入力量に対する過去の出力の遅延時間の特性を示す第２の特性情報を取得し、
前記コンピュータは、前記受信した入力の入力量と前記第１の特性情報及び前記第２の特性情報とに基づき、前記受信した入力の入力量に対応する出力量と出力時間を推定し、
前記コンピュータは、前記推定した前記出力量及び前記出力時間に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する、監視方法。
【請求項１０】
入力に基づき処理をする第１サーバと、前記第１サーバの処理結果を受け付け前記処理結果に基づき処理をする第２サーバと、に通信可能に接続されたコンピュータに、
前記第１サーバの特性であって過去の入力量に対する過去の出力量の特性を示す第１の特性情報、及び、前記第１サーバの特性であって過去の入力量に対する過去の出力の遅延時間の特性を示す第２の特性情報を取得する処理と、
前記入力の入力量を受信する処理と、
前記受信した入力の入力量と前記第１の特性情報及び前記第２の特性情報とに基づき、前記受信した入力の入力量に対応する出力量と出力時間を推定する処理と、
前記推定した前記出力量及び前記出力時間に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバから構成されるシステムを監視する技術に関する。
【背景技術】
【０００２】
サーバまたはサーバ群から構成されたシステム上でなんらかのサービスが動作している場合に、システムへの外部からの入力負荷、自身の処理負荷、または応答性能を監視し、負荷が一定以上を超えた場合に負荷軽減のための対処を行う技術が知られている。
【０００３】
特許文献１は、対象とするシステム上で動作している各通信プログラムの通信処理時間を計測し、この通信処理時間に基づいて通信サーバの負荷状況を監視する技術を開示する。特許文献１が開示する技術は、これによりここでの通信処理時間があらかじめ設定した上限値を超えた際に自動的に代替サーバの稼働要求を行う代替サーバ稼働要求手段を備えることで、負荷の監視及び負荷上昇に対する負荷軽減処理を実現する。
【０００４】
特許文献２が開示する技術は、各端末から電文を受信し、受信した電文に対応した処理を行うとともに、電文の受信に伴う負荷変動に伴ってリソースの再割り当てが実行される複数のサーバを備える。特許文献２が開示する技術は、各端末から受信した電文を入力分類表をもとに分類し、分類した項目毎に入力時系列情報として出力する。特許文献２が開示する技術は、入力時系列情報、各リソース毎の負荷変化を表す負荷時系列情報、及び電文に対応して所定時間後にサーバにかかる負荷変動量の予測値を記録した負荷予測規則をもとに各リソース毎の最小使用量の予測を行う。特許文献２が開示する技術は、これにより、サーチ文献１に記載の技術は、負荷変動が発生してもリソースの割り当てを有効に行い、応答時間などのサービスレベルを所定値に維持することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３６９２５７１号
【特許文献２】特開２００５−１２８８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
サーバに大幅な応答性能の低下が即座に引き起こされた場合、特許文献１及び特許文献２が開示する技術は、いったん応答性能の低下の発生が始まったのちに負荷軽減対策を実施する。しかしながら、既にサーバの性能低下は発生しているため、特許文献１及び特許文献２が開示する技術は、上述の状況においては、サーバが利用ユーザや他システムに悪影響を与えることを防止できない。
【０００７】
特許文献１が開示する技術は、対象システム上で当該サービスの応答性能を計測し、それに基づいて負荷軽減を実施しようとした場合、急激なシステム負荷の高まりに対して追随することが困難である。
【０００８】
特許文献２が開示する技術は、入力分類情報と負荷予測規則に基づいてフロントエンドサーバやアプリケーションサーバ等のリソースの割り当てを行うため、例えば入力電文の入力負荷が急激に増えた場合、フロントエンドサーバのリソースの割り当てが負荷に追随できない。また、入力電文の入力負荷が急激に増えた回数が十分な発生するまでは、負荷予測規則として記録されないため、応答性能低下が発生してしまう。
【０００９】
すなわち、特許文献１と特許文献２の技術では、急激な入力負荷や処理不可の向上に伴う応答性能低下を防げないという課題がある。
【００１０】
本発明の目的は、上記課題を解決し、急激な入力負荷や処理不可の向上に伴う応答性能低下を予防する監視サーバを提供することである。
【課題を解決するための手段】
【００１１】
本発明の一態様における監視サーバは、入力に基づき処理をする第１サーバと、前記第１サーバの処理結果を受け付け前記処理結果に基づき処理をする第２サーバと、を備えるシステムを監視する監視サーバであって、前記入力の入力量を受信する受信手段と、前記第１サーバの特性であって過去の入力量に対する過去の出力量の特性を示す第１の特性情報、及び、前記第１のサーバの特性であって過去の入力量に対する過去の出力の遅延時間の特性を示す第２の特性情報を記憶する記憶手段と、前記入力量と前記第１の特性情報及び前記第２の特性情報とに基づき、前記入力量に対応する前記出力量と前記出力時間を推定する推定手段と、前記推定手段が推定した前記出力量及び前記出力時間に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する要求手段と、を備える。
【００１２】
本発明の一態様における監視システムは、入力に基づき処理をする第１サーバと、前記第１サーバの処理結果を受け付け前記処理結果に基づき処理をする第２サーバと、監視サーバと、を備え、前記監視サーバは、前記入力の入力量を受信する受信手段と、前記第１サーバの特性であって過去の入力量に対する過去の出力量の特性を示す第１の特性情報、及び、前記第１のサーバの特性であって過去の入力量に対する過去の出力の遅延時間の特性を示す第２の特性情報を記憶する記憶手段と、前記入力量と前記第１の特性情報及び前記第２の特性情報とに基づき、前記入力量に対応する前記出力量と前記出力時間を推定する推定手段と、前記推定手段が推定した前記出力量及び前記出力時間に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する要求手段と、を有する。
【００１３】
本発明の一態様における監視方法は、入力に基づき処理をする第１サーバと、前記第１サーバの処理結果を受け付け前記処理結果に基づき処理をする第２サーバと、を備えるシステムをコンピュータが監視する監視方法であって、前記コンピュータは、前記第１サーバの特性であって過去の入力量に対する過去の出力量の特性を示す第１の特性情報、及び、前記第１のサーバの特性であって過去の入力量に対する過去の出力の遅延時間の特性を示す第２の特性情報を取得し、前記コンピュータは、前記入力量と前記第１の特性情報及び前記第２の特性情報とに基づき、前記入力量に対応する前記出力量と前記出力時間を推定し、前記コンピュータは、前記推定した前記出力量及び前記出力時間に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する。
【００１４】
本発明の一態様におけるプログラムは、入力に基づき処理をする第１サーバと、前記第１サーバの処理結果を受け付け前記処理結果に基づき処理をする第２サーバと、に通信可能に接続されたコンピュータに、前記第１サーバの特性であって過去の入力量に対する過去の出力量の特性を示す第１の特性情報、及び、前記第１のサーバの特性であって過去の入力量に対する過去の出力の遅延時間の特性を示す第２の特性情報を取得する処理と、前記入力の入力量を受信する処理と、前記入力量と前記第１の特性情報及び前記第２の特性情報とに基づき、前記入力量に対応する前記出力量と前記出力時間を推定する処理と、前記推定した前記出力量及び前記出力時間に基づき、前記第２サーバの構成を変更するように前記第２サーバへ要求する処理と、を実行させる。
【００１５】
また、本発明の目的は、上記のコンピュータ読み取り可能な記録媒体に格納されたプログラムによっても達成される。
【発明の効果】
【００１６】
本発明は、急激な入力負荷や処理不可の向上に伴う応答性能低下を予防する。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態における監視システム１０の構成を示すブロック図である。
【図２】本発明の第１の実施形態における監視システム１０の動作例を示すフローチャートである。
【図３】本発明の第２の実施形態における監視システム１０の構成を示すブロック図である。
【図４】本発明の第２の実施形態における監視システム１０の動作例を示すフローチャートである。
【図５】本発明の第２の実施形態における監視システム１０の動作例を示すフローチャートである。
【図６Ａ】本発明の第２の実施形態における第１記憶手段３２０Ａが記憶する第１の特性情報の例を示す図である。
【図６Ｂ】本発明の第２の実施形態における第１記憶手段３２０Ａが記憶する第２の特性情報の例を示す図である。
【図７】本発明の第２の実施形態における推定手段３３０が推定した推定結果を足し合わせた結果を表すデータ例である。
【図８】本発明の第２の実施形態における第２記憶手段３５０が記憶する構成変更処理特性情報の一例を示す図である。
【図９】本発明の各実施形態における監視システム１０を実装するコンピュータ１０００の構成例を示す概略ブロック図である。
【発明を実施するための形態】
【００１８】
以下、監視サーバ及びシステムの実施形態について、図面を参照して説明する。なお、各実施形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００１９】
＜第１の実施形態＞
以下、第１の実施形態について、図面を参照して詳細に説明する。
【００２０】
図１は、本発明の第１の実施形態における監視システム１０の構成例を示すブロック図である。図１を参照すると、本実施形態における監視システム１０は、入力に基づき処理をする第１サーバ２００と、第１サーバの処理結果を受け付け処理結果に基づき処理をする第２サーバ１００と、第１サーバ２００及び第２サーバ１００を備えるシステム５００を監視する監視サーバ３００とを備える。
【００２１】
監視サーバ３００は、受信手段３１０、推定手段３２０、記憶手段３３０、及び要求手段３４０を備える。
【００２２】
受信手段３１０は、入力の入力量を受信する。記憶手段３２０は、第１サーバの特性であって過去の入力量に対する過去の出力量の特性を示す第１の特性情報、及び、前記第１のサーバの特性であって過去の入力量に対する過去の出力の遅延時間の特性を示す第２の特性情報を記憶する。
【００２３】
推定手段３３０は、受信手段３１０が受信した入力量と記憶手段３２０から読み込んだ第１の特性情報及び第２の特性情報とに基づき、入力量に対応する出力量と出力時間を推定する。要求手段３４０は、推定手段３３０が推定した出力量及び出力時間に基づき、第２サーバ１００の構成を変更するように第２サーバ１００へ要求する。
【００２４】
図２を用いて、本実施形態の動作について説明する。図２は、本発明の第１の実施形態における監視サーバ３００の動作例を示すフローチャートである。
【００２５】
受信手段３１０は、外部入力の入力量を受信する（ステップＳ１０１）。
【００２６】
推定手段３３０は、受信手段３１０が受信した入力量と記憶手段３２０から読み込んだ第１の特性情報及び第２の特性情報とに基づき、入力量に対応する出力量と出力時間を推定する（ステップＳ１０２）。
【００２７】
要求手段３４０は、推定手段３３０が推定した出力量及び出力時間に基づき、第２サーバ１００の構成を変更するように第２サーバ１００へ要求する（ステップＳ１０３）。
【００２８】
以上のように、本実施形態によれば、推定した出力量及び出力時間に基づき、第２サーバ１００の構成を変更するように第２サーバ１００へ要求する。そのため、第２サーバ１００は推定した出力量及び出力時間に沿って構成変更できる。すなわち、本実施形態によれば、急激な入力負荷や処理不可の向上に伴う応答性能低下を予防する。
【００２９】
＜第２の実施形態＞
以下、第２の実施形態について、図面を参照して詳細に説明する。
【００３０】
図３は、本発明の第２の実施形態における監視システム１０の構成例を示すブロック図である。図３を参照すると、本発明の第２の実施形態における監視システム１０は対象サーバ１００Ａと、前段サーバ２００Ａと、監視サーバ３００と、外部サーバ群４００とを備える。対象サーバ１００Ａと、前段サーバ２００Ａと、監視サーバ３００と、外部サーバ群４００は、それぞれ有線もしくは無線ネットワークで接続され、通信を行う。第１の実施形態における第２サーバ１００は、本実施形態における対象サーバ２００と同様の構成及び機能を有する。第１の実施形態における監視サーバ３００は、本実施形態における監視サーバ３００と同様の構成及び機能を有する。
【００３１】
対象サーバ１００Ａは、第２処理手段１１０と、構成変更手段１２０とを有する。第１処理手段１１０は、前段サーバ２００Ａからの出力を受け付け、出力内容に応じた処理を行い、処理結果を出力する。第１処理手段１１０は、例えば、表の作成や、グラフィックの描画などを行うアプリケーションである。構成変更手段１２０は、要求手段３４０から要求された内容で、当該対象サーバ１００Ａの構成変更処理を行う。
【００３２】
対象サーバ１００Ａは、前段サーバ２００Ａからの出力を受け付けて入力内容に応じた処理を行い、処理結果を出力する。ここで、この対象サーバ１００Ａは、処理結果を外部サーバ群４００に送信しても良いし、再度前段サーバ２００Ａへの入力として前段サーバ２００Ａに送信してもよい。これは前段サーバ２００Ａ上のアプリケーション２１０の実装内容に依存する。
【００３３】
前段サーバ２００Ａは、前段サーバ２００Ａ１乃至２００Ａｎ（ｎは自然数）を有する。前段サーバ２００Ａ１乃至２００Ａｎのそれぞれは、第１処理手段２１０と、監視手段２２０とを有する。第１処理手段２１０は、外部サーバ群４００からの入力を受け付け、入力内容に応じた処理を行い、処理結果を対象サーバ１００Ａへ出力する。第１処理手段２１０は、例えばアプリケーションである。前段サーバ２００Ａ１乃至Ａｎのそれぞれは、外部入力を受付け、入力内容に応じた処理を実施した後、処理結果を対象サーバ１００Ａに対して出力する。
【００３４】
監視手段２２０は、外部サーバ群４００から当該監視手段２２０を有する前段サーバ、例えば前段サーバ２００Ａ１、への入力の量を示す入力量を一定時間ごとに監視する。監視手段２２０は、監視した入力量を受信手段３１０へ送信する。
【００３５】
監視サーバ３００は、受信手段３１０と、第１記憶手段３２０Ａと、推定手段３３０と、要求手段３４０と、管理手段３７０とを有する。要求手段３４０は、第２記憶手段３５０と、選択手段３６０とを有する。
【００３６】
受信手段３１０は、監視手段２２０が監視した外部入力の入力量を受信する。第１記憶手段３２０Ａは、第１の特性情報と、第２の特性情報を記憶する。第１記憶手段３２０Ａは、例えばデータベースである。第１記憶手段３２０Ａは、事前に準備された前段サーバ２００Ａ１乃至Ａｎの対象サーバ１００Ａに対する入出力に関する特性情報である第１の特性情報及び第２の特性情報を記憶する。
【００３７】
第１の特性情報は、外部サーバ群４００から前段サーバ２００Ａへの入力量と、当該入力量に対する前段サーバ２００Ａから対象サーバ１００Ａへの出力量間の特性を示す情報である。第２の特性情報は、外部サーバ群４００から前段サーバ２００Ａへの入力量と、当該入力量に対する前段サーバ２００Ａから対象サーバ１００Ａへの出力の遅延時間を示す出力時間の特性を示す情報である。
【００３８】
図６は、図３に記載の第１記憶手段３２０Ａが記憶する第１の特性情報及び第２の特性情報の例を示す図である。図６Ａは、第１記憶手段３２０Ａが記憶する第１の特性情報の例を示す図である。図６Ｂは、第１記憶手段３２０Ａが記憶する第２の特性情報の例を示す図である。図６Ａが示すように、第１の特性情報は、どれだけのＯＳ(Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ)のリソース量が割り当てられていた場合に、どれだけの入力量に対してどれだけの出力量なのか、という前段サーバ２００Ａの特性情報を含む。図６Ａが示すように、第1の特性情報は、前段サーバ２００Ａへの時間当たりの入力量に応じた時間当たりの出力量の特性が、前段サーバ２００Ａへの割り当てリソース毎に記されている。
【００３９】
図６Ａが示すように、第１の特性情報は、例えば、前段サーバ２００Ａ１の割り当てられたリソースが少ない（以下、「割り当てリソース小」と記載）場合、外部サーバ群４００からの入力量が大きい（以下、「入力量大」と記載）ときは、対象サーバ１００Ａへの出力量は大きくない（以下、「出力量小」と記載）という特性を示す。また、図６Ａが示すように、第１の特性情報は、例えば、前段サーバ２００Ａ１が割り当てリソース大の場合、入力量大のときは出力量大という特性を示す。
【００４０】
図６Ｂが示すように、第２の特性情報は、前段サーバ２００Ａで入力を観測してからその出力が対象サーバ１００Ａへの出力が到達するまでどの程度の遅延時間が発生するか、といった前段サーバ２００Ａの特性情報を含む。図６Ｂが示すように、第2の特性情報は、前段サーバ２００Ａへの時間当たりの入力量に応じて、実際に前段サーバ２００Ａから入力が処理され、出力されたのちに対象サーバ１００Ａへの入力となるまでの遅延時間が、前段サーバ２００Ａへの割り当てリソース毎に記されている。
【００４１】
図６Ｂが示すように、第２の特性情報は、例えば、前段サーバ２００Ａ１が割り当てリソース小の場合、入力量大のときは対象サーバ１００Ａへの遅延時間が大きい（以下、「出力時間大」と記載）という特性を示す。また、図６Ｂが示すように、第２の特性情報は、例えば、前段サーバ２００Ａ１が割り当てリソース大の場合、入力量大のときは出力時間小という特性を示す。
【００４２】
すなわち、図６Ａが示すように、例えば、前段サーバ２００Ａ１への時間当たりの入力量に応じた時間当たりの出力量の特性が、前段サーバ２００Ａ１への割り当てリソース毎に記されている。また、図６Ｂが示すように、例えば、前段サーバ２００Ａ１への時間当たりの入力量に応じて、実際に前段サーバ２００Ａ１から入力が処理され、出力されたのちに対象サーバ１００Ａへの入力となるまでの遅延時間が、前段サーバ２００Ａ１への割り当てリソース毎に記されている。
【００４３】
上記より、第１の特性情報は、例えば、入力量に応じて処理した結果の出力量が変わるという特性を表す。第１の特性情報は、入力量に応じて出力量が変わるという動作はサーバへの割り当てリソースによって変わる、という特性を表す。第２の特性情報は、例えば一般的なサーバにおいて、入力量が増えるとサーバの負荷が増大して処理時間が増すなど、入力量に応じて出力されるまでの遅延時間が延び、かつ、これらの動作はサーバへの割り当てリソースによって変わる、といった特性を表す。また、一般的なサーバは入力の結果として複数のサーバに対して出力する場合もあるが、第１の特性情報は、そのうち対象サーバ１００Ａのみへの出力量を記したものとなる。ここで、第１の特性情報及び第２の特性情報は、事前に準備されていてもよい。その場合、第１の特性情報及び第２の特性情報は、例えば、事前に測定が行われたり、設計仕様を元に作成されたりする。
【００４４】
図３を参照する説明に戻ると、推定手段３３０は、受信手段３１０が受信した入力量と、第１記憶手段３２０Ａが記憶する第１の特性情報及び第２の特性情報とを取得し、これらに基づき対象サーバ１００Ａへ出力する出力量及び出力時間を推定する。推定手段３３０は、前段サーバ２００Ａ全てについて出力量及び出力時間を推定し、全ての推定結果を足し合わせ、当該足し合わせた全ての推定結果を要求手段３４０に送信する。ここで、推定手段３３０が推定した推定結果を足し合わせた結果を図７に示す。図７は、推定結果を足し合わせた結果を表すデータ例である。図７の詳細な説明は後述する。
【００４５】
上記より、推定手段３３０は、受信した前段サーバ２００Ａ１乃至Ａｎへの入力量が、前段サーバ２００Ａ１乃至Ａｎ内で処理された後に対象サーバ１００Ａへ出力される時刻を示す出力時間及び、その際の出力量の推定を行う。要求手段３４０は、推定手段３３０が推定した出力量及び出力時間に基づき、第２サーバ１００の構成を変更するように対象サーバ１００Ａへ要求する。
【００４６】
第２記憶手段３５０は、構成変更処理の特性を示す情報である構成変更処理特性情報を記憶する。構成変更処理特性情報は、例えば、対象サーバ１００Ａがとりうる複数の構成変更処理に関しての、構成変更処理種別、所要時間、対応可能入力量、構成変更処理実施に必要なパラメータ、等を含む。構成変更処理種別（以下、「処理種別」と記載）は、例えば、ＣＰＵのコア追加、メモリやストレージの追加、対象サーバ１００Ａ上で動作している第２処理手段１１０に対するＯＳスケジューリングの優先度変更、第２処理手段１１０の動作対象サーバの変更、といった構成変更処理が挙げられる。構成変更処理は、上記処理に限らず、対象サーバ１００Ａアプリケーション１１０に対する性能向上効果を有する処理であれば何でもよい。
【００４７】
所要時間とは、構成変更処理種別に記載された構成変更処理を実施するのに必要な所要時間である。ＣＰＵのコア追加といった処理には例えばｍｓオーダーの時間しかかからないが、アプリケーション１１０が動作しているサーバを変更するといった処理は秒から分のオーダーの時間が掛かる等、構成変更処理の種別により所要時間は異なる。対応可能入力量（以下、「対応可能量」と記載）は、構成変更後に対象サーバ１００Ａが応答性能の大幅な劣化無しに対応可能な入力量である。対応可能量は、構成変更前と構成変更後との差分量でも良いし、構成変更後に受付可能な量でも良い。
【００４８】
構成変更処理実施に必要なパラメータ（以下、「パラメータ」と記載）は、構成変更種別毎に構成変更処理を実施するにあたって必要なパラ―メータ類であり、たとえばＣＰＵのコア追加といった構成変更処理に対しては、構成変更処理実施に必要なパラメータには、実際に追加するコア数が含まれる。
【００４９】
図８は、第２記憶手段３５０が記憶する構成変更処理特性情報の一例を示す図である。図８が示すように、構成変更処理特性情報は、例えば、処理、パラメータ、所要時間、及び、対応可能量を含む。図８が示すように、処理は、「ＣＰＵ追加」、及び、「メモリ追加」である。パラメータは、「ＣＰＵ追加」においては、「１コア」、「２コア」、及び「４コア」であり、「メモリ追加」においては、「１００ＭＢ」、「５００ＭＢ」及び、「１ＧＢ」である。
【００５０】
所要時間は、「ＣＰＵ追加」で「１コア」であれば「５０ｍｓ」となり、「ＣＰＵ追加」で「２コア」であれば「１００ｍｓ」となり、「ＣＰＵ追加」で「４コア」であれば「２００ｍｓ」となる。対応可能量は、「ＣＰＵ追加」で「１コア」であれば「５ＭＢｙｔｅ／ｓｅｃ」となり、「ＣＰＵ追加」で「２コア」であれば「１０ＭＢｙｔｅ／ｓｅｃ」となり、「ＣＰＵ追加」で「４コア」であれば「２０ＭＢｙｔｅ／ｓｅｃ」となる。
【００５１】
ここで、図８が示す対応可能量は、構成変更後の受付可能な量を想定している。また、構成変更処理特性情報は、図８の項目及び値などに限定されず、適宜設定変更されて良い。また、第２記憶手段３５０は、例えば、対象サーバ１００Ａが複数存在するときは、それぞれの対象サーバ１００Ａに対応する複数の構成変更処理特性情報を記憶する。
【００５２】
選択手段３６０は、推定手段３３０が推定した出力量及び出力時間に基づき、構成変更の必要性を判定し、必要な場合は当該推定した出力量及び出力時間と、第２記憶手段３５０が記憶する構成変更処理特性情報とに基づき、構成変更処理を選択する。選択手段３６０は、選択した構成変更処理で構成変更するように対象サーバ１００Ａへ要求する。外部サーバ群４００はネットワーク接続を通じて前段サーバ２００Ａに入力する。
【００５３】
管理手段３７０は、現在各サーバに割り当てられているＯＳリソース量（以下、「リソース量」と記載）を管理する。ここで、リソース量とは、例えば、ＣＰＵの速度及び割り当てられているＣＰＵコア数、メモリ容量、ハードディスク容量、又は、利用可能なネットワーク通信帯域などである。
【００５４】
図４及び図５を用いて、本実施形態の動作について説明する。図４及び図５は、本発明の第２の実施形態における監視システム１０の動作例を示すフローチャートである。
【００５５】
監視手段２２０は、外部サーバ群４００から前段サーバ２００Ａへの入力量を監視する（ステップＳ１０１）。監視手段２２０は、例えば、前段サーバ２００Ａ１乃至Ａｎに対する外部サーバ群４００からのネットワーク接続を通した入力（外部入力）を一定時間毎に監視し、入力量を取得する。監視手段２２０が監視する入力量は、例えば、前段サーバ２００Ａ１乃至Ａｎそれぞれに対して送信された通信量の時間当たりの値、時間当たりの処理リクエスト数、又は、時間当たりの外部サーバ４００からの接続要求数等である。
【００５６】
受信手段３１０は、監視手段２１０によって取得された前段サーバ２００Ａへの入力量を受信する（ステップＳ１０２）。受信手段３１０は、例えば、前段サーバ２００Ａ１への時間当たりの処理リクエスト数を受信する。受信手段３１０は、例えば、監視手段２２０によって取得され、送信された前段サーバ２００Ａへの時間当たりの入力量を受信する。
【００５７】
管理手段３７０は、前段サーバ２００Ａの各サーバ、すなわち前段サーバＡ１乃至Ａｎ、に現在割り当てられているリソース量を取得する（ステップＳ１０４）。
【００５８】
推定手段３３０は、第１記憶手段３２０Ａが記憶する第１の特性情報及び第２の特性情報を取得する（ステップＳ１０５）。ここで、ステップＳ１０５の処理は、例えば、ステップＳ１０２の後に行われてもよい。
【００５９】
推定手段３３０は、受信手段３１０が受信した前段サーバＡ１乃至Ａｎへの入力量と、取得した第１の特性情報及び第２の特性情報と、管理手段３７０が取得した前段サーバ２００Ａのリソース量とから、対象サーバ１００Ａへの出力量及び出力時間を推定する（ステップＳ１０６）。推定手段３３０は、ステップＳ１０２で取得した前段サーバ２００Ａ１乃至Ａｎへの入力量と、ステップＳ１０４で取得した前段サーバ２００Ａ１乃至Ａｎに現在割り当てられているＯＳリソース量と、ステップＳ１０５で取得した、事前に準備された第１の特性情報及び第２の特性情報を元に、対象サーバ１００Ａへの入力負荷及び当該入力負荷の発生時刻（遅延時刻）を推定する。
【００６０】
以下、前段サーバ２００Ａ１のリソース量が「割り当てリソース小」であり、前段サーバ２００Ａ１への入力量が３０ＭＢｙｔｅ／ｓｅｃである場合における、推定手段３３０が前段サーバ２００Ａ１についての出力量及び出力時間の推定について記載する。この場合、推定手段３３０は、図６Ａ及び図６Ｂが示す第１の特性情報及び第２の特性情報を用いることで、出力量が１０ＭＢｙｔｅ／ｓｅｃであり、出力時間が３００ｍｓであると推定する。
【００６１】
推定手段３３０は、ステップＳ１０４乃至ステップＳ１０６を、前段サーバ２００Ａ全てについて繰り返し処理を行う（ステップＳ１０３）。本実施形態においては、推定手段３３０は、前段サーバ２００Ａ１乃至２００Ａｎの全てにおいて、それぞれの入力量及び出力時間を推定する。推定手段３３０は、例えば、上記出力量及び出力時間を推定する推定処理を複数同時に行ってもよいし、１処理ずつ行ってもよい。
【００６２】
推定手段３３０は、全ての前段サーバ２００Ａの出力量及び出力時間を推定した後、全ての推定結果を足し合わせる（ステップＳ１０７）。上述の通り、図７は、推定結果を足し合わせた結果を表すデータ例である。図７が示すように、足し合わせた前段サーバ２００Ａ１乃至Ａｎから対象サーバ１００Ａへの入力量及びその到達時間の推定値は、例えば、時間毎の変化量となる。これは、前段サーバ２００Ａ１乃至Ａｎそれぞれによって入力負荷の到達時間が異なるからである。
【００６３】
図７が示すように、推定手段３３０は、例えば、前段サーバ２００Ａ２に対しては出力時間が１００ｍｓで、すなわち１００ｍｓ後に１０ＭＢｙｔｅ／ｓｅｃの出力量という推定値を算出する。推定手段３３０は、例えば、前段サーバ２００Ａ３に対しては出力時間が２００ｍｓで３０ＭＢｙｔｅ／ｓｅｃの出力量という推定値を、前段サーバ２００Ａ４に対しては出力時間が１００ｍｓで５ＭＢｙｔｅ／ｓｅｃの出力量という推定値を算出する。図７が示すように、曲線のグラフは、例えば、前段サーバ２００Ａ１乃至Ａｎの複数の予想値を重ね合わせたものである。
【００６４】
図７が示すように、このグラフの横軸が現在からの出力時間、すなわち到達時刻であり、縦軸は現在からの出力量、すなわち出力推定量である。ステップＳ１０７の処理を終えると、監視システム１０の処理は、ステップＳ２０１へ進む。推定手段３３０は、複数の推定値及び足し合わせた推定結果を選択手段３６０へ送信する（ステップＳ２０１）。
【００６５】
選択手段３６０は、送信された複数の推定値及び足し合わせた推定結果に基づき、対象サーバ１００Ａの構成変更による対応が必要か否かの判定を行う（ステップＳ２０２）。選択手段３６０は、例えば、今回の出力量の推定値の最大値、出力量の推定値の一定時間内の積分値、又は、出力量の推定値の一定時間内の増分等の出力量の推定値、を元に計算した何らかの値が、事前に定められた閾値を超えるかどうかで判定を行う。また、選択手段３６０は、例えば、現在の対象サーバ１００Ａの対応可能量を取得し、現在の対応可能量と前段サーバ２００Ａからの出力量とを比較して、構成変更の有無を判定しても良い。
【００６６】
選択手段３６０は、計算した値が閾値を超える場合においては、構成変更による対応を実施する判定を行う（ステップＳ２０２で「Ｙｅｓ」）。これは、計算した値が閾値を超えると、対象サーバ１００Ａが応答性能の大幅な劣化を引き起こす恐れがあるからである。
【００６７】
選択手段３６０は、対象サーバ１００Ａが対応可能な構成変更処理の特性が記載された構成変更処理特性情報を、第２記憶手段３５０より取得する（ステップＳ２０３）。選択手段３６０は、得られた対象サーバへの出力量及び出力時間の推測値と、構成変更処理特性情報に記載された対象サーバ１００Ａの取りうる複数の構成変更処理を元に、今回実施する構成変更処理を選択する（ステップＳ２０４）。選択手段３６０は、例えば、対象サーバ１００Ａへの出力量と出力時間の推測値を元に、閾値を超える出力量が到達する時刻を算出する。選択手段３６０は、その時刻までに完了する所要時間で、出力推定量の最大値に対応可能な対応可能量を備えた構成変更処理を、構成変更処理特性情報を元に選択する。
【００６８】
ここで、対象サーバ１００Ａの現在の対応可能量が１０ＭＢｙｔｅ／ｓｅｃであり、前段サーバ２００Ａ３からの出力量が３０ＭＢｙｔｅ／ｓｅｃ、出力時間が２００ｍｓの推定値であるとする。この場合、選択手段３６０は、対象サーバ１００Ａの現在の対応可能量と出力量を比較し、構成変更による対応を実施する判定を行う。選択手段３６０は当該推定値と、図８が示す構成変更処理特性情報とを基に、構成変更処理を選択する。選択手段３６０は、対応可能量が３０ＭＢｙｔｅ／ｓｅｃ以上となり、かつ、所要時間が２００ｍｓ以下となる構成変更処理を構成変更処理特性情報から選択する。図８が示すように、「ＣＰＵ追加」で「４コア」の場合は上記条件を満たすため、選択手段３６０は、当該構成処理を選択する。
【００６９】
選択手段３６０は、選択した構成変更処理で構成変更を行うよう、変更手段１２０へ要求する（ステップＳ２０５）。変更手段１２０は、選択手段３６０によって選択された構成変更処理に基づき、構成変更を実施する（ステップＳ２０６）。これにより、対象サーバ１００Ａの構成変更が実施される。構成変更処理実施に必要なパラメータ類は、例えば、構成変更処理特性情報に含まれるパラメータ情報が用いられる。
【００７０】
また、選択手段３６０は、計算した値が閾値を超えない場合は、構成変更による対応が不要であると判定する（ステップＳ２０２で「Ｎｏ」）。選択手段３６０が不要であると判定した場合、処理は終了する。次回、一定時間後に再度入出力負荷推定手段３２０による対象サーバ１００Ａへの入力量及びその到達時間の予測結果が図４のステップＳ１０１乃至Ｓ１０７までの処理により推定結果が推定され、かつ、送信されたら、再度図５のステップＳ２０１より処理を再度実施する。
【００７１】
以上のように、本実施形態における監視システム１０は、前段サーバ２００Ａの出力量及び出力時間を推定し、当該出力量及び出力時間の推定値と予め記憶された構成変更処理特性情報とから構成変更処理を選択し、実施する。これにより、急激な入力負荷や処理不可の向上に伴う応答性能低下を予防することが可能である。
【００７２】
また、監視システム１０は、対象サーバ１００Ａの応答性能低下を引き起こす、急激な入力負荷の向上を早期に検知することができる。これは、監視手段２２０による入力量の監視結果と、管理手段３７０による前段サーバ２００Ａのリソース量と、第１記憶手段３２０Ａによる第１の特性情報及び第２の特性情報とを元に、推定手段３２０が対象サーバ１００Ａへの出力量及び出力時間を推定するからである。
【００７３】
ここで、構成変更処理特性情報内に条件を満たす構成変更処理がない場合、選択手段３６０は、例えば、閾値を超える入力量が到達する時刻までに完了する構成変更処理という観点からまずはある一つの構成変更処理を選択、要求する。変更手段１２０が当該処理を行った場合でも対応可能入力量の点で不足する際には、選択手段３６０は、他の構成変更手段も続けて選択、要求する。これにより、完全には入力負荷の増大に時間内に対応しきれないが、一つ目の構成変更処理により負荷到達時刻までにある程度の処理増強が可能となる。その後、続けて二つ目の構成変更が完了することにより、最終的に入力予測量に対応可能な処理増強が実現されるように動作する。そのため、対象サーバ１００Ａの応答性能の大幅な劣化を防ぐという目的を達成することができる。
【００７４】
その他、図５には図示しないが、構成変更を実施したことによる対象サーバ１００Ａのリソース量に変更があれば、管理手段３７０上の該当情報を変更する。また、構成変更により図５のステップＳ２０２の判定に用いる閾値が影響を受ける場合は、この閾値の更新を行う。一般的に構成変更により入力量への対応能力が向上するため、閾値をより大きい値に変更する必要がある。一旦構成変更を実施し入力負荷への対応能力を増強した後、例えば図５のステップＳ２０２の判定時に、閾値を大幅に下回る入力量が連続して観測されるような際は、構成変更を解除して初期状態に戻してもよい。
【００７５】
図９は、本発明の各実施形態における監視システム１０を実装するコンピュータ１０００の構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インターフェース１００４と、入力デバイス１００５と、ディスプレイ装置１００６とを備える。
【００７６】
各実施形態の監視サーバ３００等は、コンピュータ１０００に実装される。監視サーバ３００等の動作は、プログラムの形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのプログラムに従って上記の処理を実行する。
【００７７】
補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インターフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、上記の処理を実行しても良い。
【００７８】
インターフェース１００４は、ＣＰＵ１００１に接続され、ネットワークあるいは外部記憶媒体に接続される。外部データがインターフェース１００４を介してＣＰＵ１００１に取り込まれても良い。入力デバイス１００５は、例えばキーボードやマウス、タッチパネルである。ディスプレイ１００６は、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）やＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイのような、ＣＰＵ１００１やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）（図示せず）等により処理された描画データに対応する画面を表示する装置である。なお、図１１が示すハードウェア構成は、一例にすぎず、図１が示す各手段それぞれが独立した論理回路で構成されていても良い。
【００７９】
また、プログラムは、前述の処理の一部を実現するためのものであっても良い。さらに、プログラムは、補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであっても良い。
【００８０】
以上、実施形態を用いて本願発明を説明したが、本願発明は必ずしも上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる（その技術的思想の範囲内において）様々な変更をし、実施することができる。
【符号の説明】
【００８１】
１０    監視システム
１００    第２サーバ
１００Ａ    対象サーバ
１１０    第２処理手段
１２０    変更手段
２００    第１サーバ
２００Ａ    前段サーバ
２１０    第１処理手段
２２０    監視手段
３００    監視サーバ
３１０    受信手段
３２０    記憶手段
３２０Ａ    第１記憶手段
３３０    推定手段
３４０    要求手段
３５０    第２記憶手段
３６０    選択手段
３７０    管理手段
４００    外部サーバ群
５００    システム
１０００    コンピュータ
１００１    ＣＰＵ
１００２    主記憶装置
１００３    補助記憶装置
１００４    インターフェース
１００５    入力デバイス
１００６    ディスプレイ装置
【図１】
0006551042.tif 000002
【図２】
0006551042.tif 000003
【図３】
0006551042.tif 000004
【図４】
0006551042.tif 000005
【図５】
0006551042.tif 000006
【図６Ａ】
0006551042.tif 000007
【図６Ｂ】
0006551042.tif 000008
【図７】
0006551042.tif 000009
【図８】
0006551042.tif 000010
【図９】
0006551042.tif 000011