(57)【要約】  資源使用状況分析ツール２３が、各測定期間において前記コンピュータシステムによって処理されたリクエストの数が記述されているリクエスト分類ログ３１と、前記各測定期間における前記コンピュータシステムの資源の使用状態が記述されているシステムログ３２〜３４とから、前記処理されたリクエストの数の変動を表すリクエスト数変動パラメータと前記コンピュータシステムの資源の使用率及び／又は使用量の変動を表す資源変動パラメータとを算出する。非同期処理検知モジュール５１が、前記リクエスト数変動パラメータと前記資源変動パラメータとから、前記コンピュータシステムが前記リクエストを処理する上でレスポンスを返した後に行われる処理である後処理と、前記リクエストの処理とは無関係に行われるが定常的には行われない処理である突発処理とのうちの少なくとも一方の発生を検知する。
2009008279.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのサーバを含むサーバ網と、
前記サーバ網から情報を収集する管理装置と
を具備するコンピュータシステムであって、
前記管理装置は、
各測定期間において前記コンピュータシステムによって処理されたリクエストの数が記述されているリクエストログから前記処理されたリクエストの数の変動を表すリクエスト数変動パラメータを算出し、前記各測定期間における前記コンピュータシステムの資源の使用状態が記述されているシステムログから前記コンピュータシステムの資源の使用率及び／又は使用量の変動を表す資源変動パラメータを算出する変動パラメータ算出手段と、
前記リクエスト数変動パラメータと前記資源変動パラメータとから、前記コンピュータシステムが前記リクエストを処理する上でレスポンスを返した後に行われる処理である後処理と、前記リクエストの処理とは無関係に行われるが定常的には行われない処理である突発処理とのうちの少なくとも一方の発生を検知する非同期処理検知手段とを具備する
コンピュータシステム。
【請求項２】
請求の範囲１に記載のコンピュータシステムであって、
前記サーバ網は、前記サーバ網内の前記サーバの負荷を分散する負荷分散装置を更に具備し、
前記管理装置は、前記サーバ網に加えて、前記負荷分散装置からも情報を収集する
コンピュータシステム。
【請求項３】
請求の範囲１に記載のコンピュータシステムであって、
前記管理装置は、
前記リクエスト数変動パラメータ及び前記資源変動パラメータと、前記後処理及び／又は前記突発処理の発生との対応関係を示す判定テーブルを更に備え、
前記非同期処理検知手段は、前記判定テーブルを用いて前記後処理及び／又は前記突発処理の発生を検知する
コンピュータシステム。
【請求項４】
請求の範囲１に記載のコンピュータシステムであって、
前記管理装置は、
或る測定期間において、前記リクエスト数変動パラメータが前記処理されたリクエストの数の変動が所定値よりも大きいことを示しており、且つ、前記資源変動パラメータが前記資源の使用率及び／又は使用量の変動が所定範囲内であることを示している場合、前記非同期処理検知手段は前記或る測定期間において前記後処理が発生していると判定する
コンピュータシステム。
【請求項５】
請求の範囲１に記載のコンピュータシステムであって、
前記管理装置は、
或る測定期間において、前記リクエスト数変動パラメータが前記処理されたリクエストの数が減少していることを示しており、且つ、前記資源変動パラメータが前記資源の使用率及び／又は使用量の変動が所定範囲内であることを示している場合、前記非同期処理検知手段は、前記或る測定期間において前記後処理が発生していると判定する
コンピュータシステム。
【請求項６】
請求の範囲１に記載のコンピュータシステムであって、
前記管理装置は、
或る測定期間において、前記リクエスト数変動パラメータが前記処理されたリクエストの数の変動が所定範囲内であることを示しており、且つ、前記資源変動パラメータが、前記資源の使用率及び／又は使用量の変動が所定値よりも大きいことを示している場合、前記非同期処理検知手段は、前記或る測定期間において前記突発処理が発生していると判定する
コンピュータシステム。
【請求項７】
請求の範囲１に記載のコンピュータシステムであって、
前記管理装置は、
或る測定期間において、前記リクエスト数変動パラメータが前記処理されたリクエストの数の変動が所定範囲内であることを示しており、且つ、前記資源変動パラメータが、前記資源の使用率及び／又は使用量が増加していることを示している場合、前記非同期処理検知手段は、前記或る測定期間において前記突発処理が発生していると判定する
コンピュータシステム。
【請求項８】
請求の範囲１に記載のコンピュータシステムであって、
前記管理装置は、
システムログ生成手段を更に備え、
前記システムログ生成手段は、前記システムログを前記複数のサーバの階層毎に生成し、
前記非同期処理検知手段は、前記後処理及び／又は前記突発処理の発生を算出する
コンピュータシステム。
【請求項９】
請求の範囲１に記載のコンピュータシステムであって、
前記管理装置は、
更に、
リクエスト分類手段と、
資源使用状況算出手段とを備え、
前記リクエストは、Ｗｅｂリクエストであり、
前記リクエスト分類手段は、前記リクエストログから前記各測定期間において前記コンピュータシステムによって処理されたＷｅｂリクエストの数を、前記Ｗｅｂリクエストの種類毎に記述しているリクエスト分類ログを生成し、
前記資源使用状況算出手段は、前記システムログから前記後処理及び／又は前記突発処理の発生が検知された測定期間における前記資源の使用率及び／又は使用量の測定データを除去して生成された抽出システムログを生成し、前記リクエスト分類ログと前記抽出システムログとを用いて、前記Ｗｅｂリクエスト一つの処理に使用される資源の使用量であるリクエスト処理資源使用量を、前記Ｗｅｂリクエストの種類毎に算出する
コンピュータシステム。
【請求項１０】
請求の範囲１に記載のコンピュータシステムであって、
前記管理装置は、
更に、
前記後処理及び／又は前記突発処理の発生が検出された時には前記コンピュータシステムのサーバ資源の使用率及び／又は使用量の上限値を相対的に高い第１値に設定し、前記後処理及び／又は前記突発処理の発生が検出されない時には前記コンピュータシステムのサーバ資源の使用率及び／又は使用量の上限値を相対的に低い第２値に設定する上限値設定手段を備える
コンピュータシステム。
【請求項１１】
請求の範囲９に記載のコンピュータシステムであって、
前記管理装置は、
更に、前記リクエスト処理資源使用量を用いて、ユーザに課金される利用料金を示す課金データを生成する課金データ生成手段を具備する
コンピュータシステム。
【請求項１２】
請求の範囲９に記載のコンピュータシステムであって、
前記管理装置は、
更に、前記リクエスト処理資源使用量から、前記測定期間毎におけるＷｅｂリクエストの種類毎の前記資源の利用状況を算出し、算出された前記資源の利用状況をグラフとして表示するシステム管理データ生成手段を具備する
コンピュータシステム。
【請求項１３】
請求の範囲１に記載のコンピュータシステムで使用される管理装置。
【請求項１４】
リクエストを処理するコンピュータシステムを管理するコンピュータシステム管理方法であって、
各測定期間において前記コンピュータシステムによって処理されたリクエストの数が記述されているリクエストログと前記各測定期間における前記コンピュータシステムの資源の使用状態が記述されているシステムログから、前記処理されたリクエストの数の変動を表すリクエスト数変動パラメータと前記コンピュータシステムの資源の使用率及び／又は使用量の変動を表す資源変動パラメータとを算出するステップと、
前記リクエスト数変動パラメータと前記資源変動パラメータとから、前記コンピュータシステムが前記リクエストを処理する上でレスポンスを返した後に行われる処理である後処理と、前記リクエストの処理とは無関係に行われるが定常的には行われない処理である突発処理とのうちの少なくとも一方の発生を検知するステップとを具備する
コンピュータシステム管理方法。
【請求項１５】
請求の範囲１４に記載のコンピュータシステム管理方法であって、
更に、
前記後処理及び／又は前記突発処理の発生が検出された時に前記コンピュータシステムのサーバ資源の使用率及び／又は使用量の上限値を相対的に高い第１値に設定するステップと、
前記後処理及び／又は前記突発処理の発生が検出されない時に前記コンピュータシステムのサーバ資源の使用率及び／又は使用量の上限値を相対的に低い第２値に設定するステップとを備える
コンピュータシステム管理方法。
【請求項１６】
請求の範囲１４に記載のコンピュータシステム管理方法を実現するためのプログラムコードを記録した計算機読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに関し、特に、コンピュータシステムで行われる処理を監視することによりコンピュータシステムを管理する技術に関する。
【背景技術】
【０００２】
最も伝統的には、コンピュータシステムは、ユーザ（又は前段階のサーバ）からリクエストを受け取ると、そのリクエストに応答して所望の処理を行い、処理の結果をレスポンスとしてユーザに（又は前段階のサーバに）返すように構成される。以下では、あるリクエストがあったときに当該リクエストに対するレスポンスを返す処理を、「同期処理」と呼ぶこととする。「同期処理」を行うコンピュータシステムでは、レスポンスタイムに基づくシステム管理が有効である。「同期処理」の管理については、レスポンスタイムだけを監視しても充分なシステム管理を行うことができる。【０００３】
しかし、近年のコンピュータシステムでは、リクエストを受け取った後、レスポンスを返すまでの間にのみ処理が行われるとは限らない。近年の多くのコンピュータシステムでは、「同期処理」以外の処理が行われることがある。「同期処理」以外の処理（即ち、リクエストを受け取った後、レスポンスを返すまでの間に行われる、当該リクエストに関連する処理以外の処理）を、以下では、「非同期処理」と呼ぶこととする。【０００４】
例えば、「後処理」は、「非同期処理」の一つである。「後処理」とは、サーバがリクエストを処理する上で、ユーザに（あるいは前段階のサーバに）レスポンスを返した後に行われる処理のことである。後処理は、大量の処理を効率的に実行し、レスポンス向上（即ち、レスポンスタイムの短縮）のためのテクニックとして知られている。後処理の実行を適切にスケジュールすれば、サーバ負荷を平準化することもできる。【０００５】
図１は、Ｗｅｂサーバ、アプリケーションサーバ、データベースサーバの３階層構成のサーバ網を採用するコンピュータシステムにおいて行われる「後処理」を説明する図である。図１の構成のコンピュータシステムでは、Ｗｅｂサーバは、Ｗｅｂリクエストを受け付け、必要な場合にはアプリケーションサーバにリクエストを送付してアプリケーションサーバを呼び出す。リクエストを受け取ったアプリケーションサーバは、必要な場合にはデータベースサーバにリクエストを送付してデータベースサーバを呼び出す。データベースサーバは、受け取ったリクエストに応答して必要な処理を行ってレスポンスを返す。ただし、データベースサーバは、アプリケーションサーバから受け取ったリクエストに関連する処理のうち、レスポンスの後に実行することが許容される処理については、レスポンスを返した後に実行する。即ち、データベースサーバは、「後処理」を行う。データベースサーバにおける「後処理」の例は、例えば、Ａ．  Ｔａｎａｋａ  ｅｔ  ａｌ．，  “Ｃａｐａｃｉｔｙ  Ｐｌａｎｎｉｎｇ  ｆｏｒ  Ｃｌｉｅｎｔ  Ｓｅｒｖｅｒ  Ｄａｔａｂａｓｅ  Ｓｙｓｔｅｍｓ：  Ａ  Ｃａｓｅ  Ｓｔｕｄｙ”，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １９９５  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｅａｓｕｒｅｍｅｎｔ  ａｎｄ  Ａｎａｌｙｓｉｓ，  ｐｐ．  １１０−１１７に開示されている。この論文は、データベースサーバＯｒａｃｌｅ（米国オラクル社の登録商標）の内部動作が、ユーザにレスポンスを返すＳｈａｄｏｗとＬＧＷプロセスと、それらとは非同期に実行されるＤＢｗｒｉｔｅｒｓとから構成されていることを開示している。【０００６】
データベースサーバからアプリケーションサーバにレスポンスが返されると、アプリケーションサーバは、受け取ったレスポンスを利用して必要な処理を行い、ウェブサーバにレスポンスを返す。ただし、アプリケーションサーバは、Ｗｅｂサーバから受け取ったリクエストに関連する処理のうち、レスポンスの後に実行することが許容される処理については、レスポンスを返した後に実行する。即ち、アプリケーションサーバは、「後処理」を行う。また、アプリケーションサーバにおいて行われる後処理の例は、例えば、皆本房幸著、「ＪＢｏｓｓ入門」、技術評論社、ｐ．２０２に開示されている。この文献に記載されているように、アプリケーションサーバの実現の一形態であるＥＪＢ（Ｅｎｔｅｒｐｒｉｓｅ  Ｊａｖａ（登録商標）  Ｂｅａｎ）では、メッセージ駆動型Ｂｅａｎという機能を用いて「後処理」が行われる。【０００７】
更に、アプリケーションサーバからＷｅｂサーバにレスポンスが返されるとＷｅｂサーバは、受け取ったレスポンスを利用して必要な処理を行い、ユーザにレスポンスを返す。ただし、Ｗｅｂサーバは、受け取ったＷｅｂリクエストに関連する処理のうち、レスポンスの後に実行することが許容される処理については、レスポンスを返した後に実行する。即ち、Ｗｅｂサーバは、「後処理」を行う。【０００８】
更に、特開２００３−２８０９３１号公報は、オンライントランザクション処理とは切り離して実行可能なコンポーネントに対して非同期に処理を実行させるための技術を開示している。この特許文献は、レスポンスタイムの向上と、実行タイミングの適切なスケジューリングによるシステム負荷の分散の効果について言及している。【０００９】
上述の「後処理」以外の「非同期処理」としては、ウィルスチェックプログラムやスクリーンセイバーによる処理のように、定常的には行われないけれども、リクエスト処理とは無関係に行われる処理が挙げられる。以下では、定常的には行われない、リクエスト処理とは無関係に行われる処理を「突発処理」とよぶ。たとえリクエストを受け取っていなくても、「突発処理」が行われるとサーバ資源が使用される。【００１０】
「後処理」や「突発処理」のような「非同期処理」が行われるコンピュータシステムでは、レスポンスタイムを監視しても充分ではない。「非同期処理」を行わないコンピュータシステムでは、レスポンスタイムと資源使用率との間に強い相関があるため、レスポンスタイムだけを監視してシステム管理を行うことによって充分なシステム管理を行うことができていた。しかし、「非同期処理」を行うコンピュータシステムでは、レスポンスタイムと資源使用率との間の相関が弱く、レスポンスタイムによる管理では充分でないことがある。例えば、「後処理」が行われるようなコンピュータシステムでは、「後処理」が処理されずに大量に溜まってしまった場合、その溜まった処理を行うための処理が突然実行されてしまうことがある。このような場合には、レスポンスタイムを監視しても、サーバ資源の適切な管理を行うことができない。加えて、「突発処理」に関しては、そもそもリクエストに起因して行われる処理ではないので、レスポンスタイムの監視は有効でないことが多い。【００１１】
一般的なサーバの運用管理においては、サーバ資源の使用率・使用量に余裕を持たせて運用が行われる。即ち、サーバ資源の使用率・使用量の上限値は、コンピュータシステム本来の能力よりも低い値に抑えられる。例えば、コンピュータシステムの運用においては、ＣＰＵ使用率の上限値は、１００％に設定されるのではなく、不測の事態に備えるために６０〜８０％に押さえて設定される。上限値は、コンピュータシステムの能力を左右する重要な設定の一つである。上限値を低めに設定すると、不測の事態には対応できるものの、サーバ資源の有効利用という観点では非効率といわざるを得ない。逆に、上限値を高めに設定すると、不測の事態に備えることができないというジレンマがある。上限値は、一般に、長年の運用経験と勘に基づいて設定されることが多いが、このような設定法は、客観性に乏しい点で問題である。【００１２】
サーバの運用管理を適切に行うためには、「非同期処理」の有無に応じた管理を行うことが望ましい。「非同期処理」の発生の有無を検知する技術としては、例えば、特開２００３−１５７１８５号公報に記載のように、コンピュータシステム上で動作するプロセス間の通信関係を分析し、処理が同期的に行われるのか非同期的に行われるのかを判断するための技術が知られている。当該技術は、プロセスの関係を、タイミング図などを用いて把握するものであり、オペレーションシステム内にソフトウェア・プローブという専用の測定の仕組みを埋め込む必要があるという欠点や、万が一のバグなどを考えると安定稼働中のシステムに対しては適用しにくいという欠点がある。また、当該技術は、大量のイベント・トレースデータを収集するためのコストがかかり、やはり運用中のシステムに適用することが難しい場合もある。
【発明の開示】
【００１３】
したがって、本発明の目的は、「非同期処理」の発生、特に、「後処理」や「突発処理」の発生を、簡便に検知することができる技術を提供することにある。
【００１４】
本発明のコンピュータシステムは、変動パラメータ算出部と、非同期処理検知部とを具備する。変動パラメータ算出部は、各測定期間において前記コンピュータシステムによって処理されたリクエストの数が記述されているリクエストログから前記処理されたリクエストの数の変動を表すリクエスト数変動パラメータを算出し、前記各測定期間における前記コンピュータシステムの資源の使用状態が記述されているシステムログから前記コンピュータシステムの資源の使用率及び／又は使用量の変動を表す資源変動パラメータを算出する。非同期処理検知部は、前記リクエスト数変動パラメータと前記資源変動パラメータとから、前記コンピュータシステムが前記リクエストを処理する上でレスポンスを返した後に行われる処理である後処理と、前記リクエストの処理とは無関係に行われるが定常的には行われない処理である突発処理とのうちの少なくとも一方の発生を検知する。
【００１５】
本発明によれば、「非同期処理」の発生、特に、「後処理」や「突発処理」の発生を、簡便に検知することができる技術を提供することができる。
【図面の簡単な説明】
【００１６】
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。【００１７】
【図１】図１は、３階層構成のコンピュータシステムで行われる後処理について説明する図である。
【図２】図２は、本発明の一実施例におけるコンピュータシステムの構成を示すブロック図である。
【図３】図３は、リクエストログの内容を示す図である。
【図４】図４は、システムログの内容を示す表である。
【図５】図５は、運用管理装置のソフトウェア構成を示すブロック図である。
【図６】図６は、リクエスト分類ログの内容を示す図である。
【図７】図７は、「後処理」及び「突発処理」の発生の検知アルゴリズムを示すフローチャートである。
【図８Ａ】図８Ａは、判定テーブルの内容の一例を示す図である。
【図８Ｂ】図８Ｂは、判定テーブルの内容の他の例を示す図である。
【図８Ｃ】図８Ｃは、判定テーブルの内容の更に他の例を示す図である。
【図８Ｄ】図８Ｄは、判定テーブルの内容の更に他の例を示す図である。
【図９】図９は、Ｗｅｂリクエスト一つの処理に使用される資源の使用率・使用量の推定を行うための運用管理装置７のソフトウェア構成の例を示す図である。
【図１０Ａ】図１０Ａは、抽出システムログを生成する処理の一例を示すフローチャートである。
【図１０Ｂ】図１０Ｂは、抽出システムログを生成する処理の他の例を示すフローチャートである。
【図１１】図１１は、課金処理とコンピュータシステムの負荷や能力の分析とを行うためのソフトウェア構成を示す図である。
【図１２Ａ】図１２Ａは、単価テーブルの内容の例を示す表である。
【図１２Ｂ】図１２Ｂは、単価テーブルの内容の他の例を示す表である。
【図１３】図１３は、ユーザデータの内容を示す図である。
【図１４Ａ】図１４Ａは、ＣＰＵ出力テーブルの内容を示す表である。
【図１４Ｂ】図１４Ｂは、メモリ出力テーブルの内容を示す図である。
【図１５Ａ】図１５Ａは、Ｗｅｂリクエストの種類毎のＣＰＵ使用率を示すグラフの一例である。
【図１５Ｂ】図１５Ｂは、特定の測定期間における各資源の使用率を、Ｗｅｂリクエストの種類毎に表示するグラフの一例である。
【発明を実施するための最良の形態】
【００１８】
図２は、本発明の一実施例におけるコンピュータシステム１の構成を示すブロック図である。本実施例のコンピュータシステム１は、クライアント２からＷｅｂリクエストを受け付け、受け付けたＷｅｂリクエストの処理を行う。本明細書にいうＷｅｂリクエストとは、ＨＴＴＰで定められているメッセージであり、通常、コンピュータシステム１に置かれたファイルを参照したり、ＣＧＩ（ｃｏｍｍｏｎ  ｇａｔｅｗａｙ  ｉｎｔｅｒｆａｃｅ）を起動したりするために使用される。【００１９】
本実施例のコンピュータシステム１は、３階層方式のサーバ網を採用している。具体的には、コンピュータシステム１は、Ｗｅｂ層（プレゼンテーション層）を構成するＷｅｂサーバ４と、機能層を構成するアプリケーションサーバ（ＡＰサーバ）５と、データ層を構成するデータベースサーバ（ＤＢサーバ）６とを備えている。本実施例では、Ｗｅｂサーバ４、及びＡＰサーバ５は複数であり、ＤＢサーバ６は、単一であるが、各層のサーバの数は、適宜に変更可能である。コンピュータシステム１は、更に負荷分散装置３を備えていてもよい。本実施例では、負荷分散装置３は、サーバ網とは別のハードウェア内に構成されている。一方で、負荷分散装置３とサーバ網が同じハードウェア内に構成される場合も考えられる。【００２０】
負荷分散装置３は、クライアント２から送られてくるＷｅｂリクエストを受け取り、適当な負荷分散アルゴリズムを用いてＷｅｂリクエストをＷｅｂサーバ４に分配する。Ｗｅｂサーバ４は、送られてくるＷｅｂリクエストを処理し、処理結果をレスポンスとしてクライアント２に返す。必要がある場合、Ｗｅｂサーバ４は、ＡＰサーバ５の機能を利用する。この場合、Ｗｅｂサーバ４は、ＡＰリクエストを生成してＡＰサーバ５に所望の処理をさせる。ＡＰサーバ５は、Ｗｅｂサーバ４から送られてくるＡＰリクエストに応答して業務ロジックを実行し、処理結果をレスポンスとしてＷＷＷで使用されているフォーマット（例えば、ＨＴＭＬフォーマット、及びＸＭＬフォーマット）でＷｅｂサーバ４に返す。ＡＰサーバ５は、必要であればデータベースサーバ６にリクエストを送り、データベースサーバ６にアクセスする。データベースサーバ６は、データベースを備えており、ＡＰサーバ５から送られてくるリクエストに応じてデータベースの検索及び更新を行う。データベースサーバ６は、データベースの検索結果や更新完了の通知をレスポンスとしてＡＰサーバ５に返す。【００２１】
コンピュータシステム１を管理するために、コンピュータシステム１には運用管理装置７が用意されている。本実施例では、運用管理装置７としては、通信装置７ａ、記憶装置７ｂ、演算装置７ｃ、表示装置７ｄ、及び入力装置７ｅを備えたコンピュータ装置が使用される。運用管理装置７には、コンピュータシステム１を管理するための様々なソフトウェアがインストールされている。コンピュータシステム１の管理には、各種のログ、具体的には、負荷分散装置３から送られるリクエストログ１１、及びＷｅｂサーバ４、アプリケーションサーバ５、及びデータベースサーバ６のそれぞれから送られてくるシステムログが使用される。図２では、Ｗｅｂサーバ４から送られてくるシステムログは符号１２で、ＡＰサーバ５から送られてくるシステムログは符号１３で、ＤＢサーバ６から送られてくるシステムログは符号１４で参照されている。本実施例では、運用管理装置７は、負荷分散装置３とは別のハードウェア内に構成されている。一方で、運用管理装置７と負荷分散装置３が同じハードウェア内に構成される場合も考えられる。また、運用管理装置７が、コンピュータシステム１の中にある場合と、コンピュータシステム１の外にある場合の両方が考えられる。【００２２】
リクエストログ１１は、コンピュータシステム１に到着したＷｅｂリクエストに関する記録であり、典型的には、Ｗｅｂリクエストが処理された時刻及びそのＷｅｂリクエストの種類が記述されている。本実施例では、Ｗｅｂリクエストは、それに記述されているメソッドによって様々な種類に分類される。Ｗｅｂリクエストには、例えば、ＧＥＴメソッドを含むＧＥＴリクエスト、ＰＵＴメソッドを含むＰＵＴリクエスト、ＰＯＳＴメソッドを含むＰＯＳＴリクエスト、ＤＥＬＥＴＥメソッドを含むＤＥＬＥＴＥリクエストがある。【００２３】
図３は、本実施例におけるリクエストログ１１の内容を示す図である。図２には、リクエストログ１１のうち、一のＷｅｂリクエストに対応する部分のみが図示されている。本実施例では、リクエストログ１１に下記の情報が書き込まれている。第１に、リクエストログ１１には、当該Ｗｅｂリクエストを発行したクライアント２のＩＰアドレス１１ａと、（ＲＦＣ１４１３に定義された）クライアント２のアイデンティティ１１ｂと、Ｗｅｂリクエストを発行したクライアント２のユーザＩＤ１１ｃとが記述される。図３のリクエストログ１１では、アイデンティティ１１ｂは、”−”（ハイフン）として記述されているが、これは、クライアント２のアイデンティティ１１ｂの情報が入手できなかったことを示している。ユーザＩＤ１１ｃは、ＨＴＴＰ認証が成功したユーザに対して付与され、認証が失敗した場合には、ユーザＩＤ１１ｃは、”−”（ハイフン）として記述される。【００２４】
更に、リクエストログ１１には、当該Ｗｅｂリクエストが処理された時刻１１ｄと、当該Ｗｅｂリクエストの種類１１ｅ（即ち、当該Ｗｅｂリクエストに記述されているメソッド）と、当該Ｗｅｂリクエストによって参照されるドキュメントのＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）１１ｆと、ＨＴＴＰプロトコルのバージョン番号１１ｇとが記述される。当該Ｗｅｂリクエストが処理された時刻１１ｄは、当該Ｗｅｂリクエストの処理が終了した時刻と定義されてもよく、Ｗｅｂリクエストが到着した時刻と定義されてもよい。図３の例では、Ｗｅｂリクエストの種類は、ＧＥＴリクエストであり、使用されているＨＴＴＰプロトコルのバージョン番号は、１．１である。【００２５】
加えて、リクエストログ１１には、当該Ｗｅｂリクエストの処理が成功、不成功を示すステータスコード１１ｈと、当該Ｗｅｂリクエストの処理の結果、クライアント２に返送されるデータの（ヘッダを除く）バイト数１１ｉとが記述される。【００２６】
本実施例では、負荷分散装置３から送られてくるリクエストログ１１がコンピュータシステム１の管理に使用されるが、その代わりに、Ｗｅｂサーバ４のそれぞれから送られてくるリクエストログが使用されてもよい。【００２７】
一方、システムログ１２、１３、１４は、それぞれ、Ｗｅｂサーバ４、アプリケーションサーバ５、及びデータベースサーバ６における資源の使用状況を、各測定期間について記述する記録である。一実施例では、各測定期間は、定められた時間間隔（例えば、５分）として定義される。ただし、測定期間の長さが可変であってもよい。図４は、システムログ１２の内容を示す表である。本実施例では、各システムログ１２には、対応するＷｅｂサーバ４のＣＰＵ使用率とメモリ使用量とが５分間隔で記述されている。即ち、システムログ１２には、対応するＷｅｂサーバ４のＣＰＵ使用率とメモリ使用量とが、長さが５分である各測定期間のそれぞれについて記述されている。システムログ１３、１４も同様の内容を有している。システムログ１３には、対応するＡＰサーバ５のＣＰＵ使用率とメモリ使用量とが５分間隔で記述され、システムログ１４には、ＤＢサーバ６のＣＰＵ使用率とメモリ使用量とが５分間隔で記述される。【００２８】
このような内容のシステムログを作成する機能は、Ｗｉｎｄｏｗｓ（マイクロソフト社の登録商標）やＵＮＩＸ（Ｔｈｅ  Ｏｐｅｎ  Ｇｒｏｕｐの登録商標）のような一般的なオペレーティングシステムであれば、通常、備えられている。オペレーティングシステムの機能を利用することは、システムログを生成する特別な仕組みをオペレーティングシステム、Ｗｅｂサーバ４、ＡＰサーバ５、ＤＢサーバ６に用意する必要をなくし、実装コストを低減するために有効である。【００２９】
運用管理装置７は、上述のリクエストログ１１及びシステムログ１２、１３、１４を用いてコンピュータシステム１の管理を行う。本実施例の運用管理装置７の特徴の一つは、運用管理装置７が、リクエストログ１１及びシステムログ１２、１３、１４から「非同期処理」の発生、即ち、「後処理」及び「突発処理」の発生を検知するように構成されていることである。詳細には、運用管理装置７は、リクエストログ１１からＷｅｂリクエストの数の変動を検知し、更に、システムログ１２、１３、１４から各サーバの資源の使用率・使用量の変動、より具体的にはＣＰＵ使用率及びメモリ使用量の変動を検知する；システムログ１２からＷｅｂサーバ４のＣＰＵ使用率及びメモリ使用量の変動が検知され、システムログ１３からＡＰサーバ５のＣＰＵ使用率及びメモリ使用量の変動が検知され、システムログ１４からＤＢサーバ６のＣＰＵ使用率及びメモリ使用量の変動が検知される。更に、運用管理装置７は、検知したＷｅｂリクエストの数の変動及びＣＰＵ使用率及びメモリ使用量の変動の一致・不一致から、Ｗｅｂサーバ４、ＡＰサーバ５、ＤＢサーバ６それぞれにおける「後処理」及び「突発処理」の発生を検知する。以下、運用管理装置７の動作について詳細に説明する。【００３０】
図５は、運用管理装置７にインストールされているソフトウェア構成の例を示すブロック図である。運用管理装置７の記憶装置７ｂには、リクエスト分類ツール２１と、システムログ統合ツール２２と、資源使用状況分析ツール２３とがインストールされている。これらのソフトウェアプログラムにより、コンピュータシステム１の運用及び管理が行われる。【００３１】
以下では、運用管理装置７の動作を詳細に説明する。
運用管理装置７のリクエスト分類ツール２１は、負荷分散装置３から送られてくるリクエストログ１１を分析し、各測定期間においてコンピュータシステム１によって処理されたＷｅｂリクエストの数を、Ｗｅｂリクエストの種類毎に算出するプログラムである。算出結果は、リクエスト分類ログ３１として記憶装置７ｂに保存される。【００３２】
図６は、リクエスト分類ログ３１の内容を示す表である。本実施例では、リクエスト分類ログ３１は、各測定期間において処理されたＷｅｂリクエストの数を、Ｗｅｂリクエストの種類毎に記述している。図６の例では、１０：００〜１０：０５の測定期間では、種類”Ｒ１”のＷｅｂリクエスト（例えば、ＧＥＴリクエスト）が２０回、種類”Ｒ２”のＷｅｂリクエスト（例えば、ＰＯＳＴリクエスト）が１０回処理されていることが、リクエスト分類ログ３１によって示されている。本実施例では、全ての測定期間の長さが、５分であるとしてリクエスト分類ログ３１が記述されているが、測定期間の長さは一定であるとは限らないことに留意されたい。【００３３】
一方、システムログ統合ツール２２は、Ｗｅｂサーバ４、ＡＰサーバ５、及びＤＢサーバ６のそれぞれから送られてくるシステムログ１２、１３、１４から、Ｗｅｂ層システムログ３２、機能層システムログ３３、データ層システムログ３４を生成するプログラムである。Ｗｅｂ層システムログ３２とは、各測定期間におけるＷｅｂ層全体における資源の使用状況を記述する記録である。システムログ統合ツール２２は、Ｗｅｂ層システムログ３２を、Ｗｅｂサーバ４のそれぞれから受け取ったシステムログ１２を統合することによって生成する。本実施例では、システムログ統合ツール２２は、各Ｗｅｂサーバ４におけるＣＰＵ使用率を平均することにより、Ｗｅｂ層全体としてのＣＰＵ使用率を算出し、各Ｗｅｂサーバ４におけるメモリ使用量を加算することにより、Ｗｅｂ層全体としてのメモリ使用量を算出する。算出されたＣＰＵ使用率及びメモリ使用量が、Ｗｅｂ層システムログ３２に記述される。同様に、機能層システムログ３３、データ層システムログ３４は、それぞれ、機能層、データ層全体における資源の使用状況を、測定期間毎に記述する記録である。本実施例では、データ層は、単一のＤＢサーバ６によって構成されているから、データ層システムログ３４としてＤＢサーバ６のシステムログ１４がそのまま使用されてもよい。【００３４】
資源使用状況分析ツール２３は、リクエスト分類ログ３１、Ｗｅｂ層システムログ３２、機能層システムログ３３、及びデータ層システムログ３４、コンピュータシステム１における資源の使用状況を分析するプログラムである。資源使用状況分析ツール２３は、「非同期処理」の発生、より具体的には、「後処理」及び「突発処理」の発生を検知する非同期処理検出モジュール５１を含んでいる。非同期処理検出モジュール５１は、記憶装置７ｂに用意されている判定テーブル５２を用いて「後処理」及び「突発処理」の発生を検知するソフトウェアプログラムである。非同期処理検出モジュール５１がＷｅｂ層、機能層、データ層のそれぞれにおける「後処理」及び「突発処理」の発生を検知する手順を以下で詳細に説明する。【００３５】
「後処理」及び「突発処理」の発生の検知には、測定期間”ｉ”（ｉ＝１〜ｍ）において取得された下記の測定データが使用される。（ａ）測定期間”１”〜”ｍ”のそれぞれにおける種類Ｒ１〜ＲｎそれぞれのＷｅｂリクエストの数：ＮＲ１（１）〜ＮＲ１（ｍ）、ＮＲ２（１）〜ＮＲ２（ｍ）、・・・、ＮＲｎ（１）〜ＮＲｎ（ｍ）（ｂ）測定期間”１”〜”ｍ”のそれぞれにおけるＷｅｂ層、機能層、データ層のＣＰＵ使用率ρＷ（１）〜ρＷ（ｍ）、ρＦ（１）〜ρＦ（ｍ）、ρＤ（１）〜ρＤ（ｍ）、及び（ｃ）測定期間”１”〜”ｍ”のそれぞれにおけるＷｅｂ層、機能層、データ層のメモリ使用量：ＭＷ（１）〜ＭＷ（ｍ）、ＭＦ（１）〜ＭＦ（ｍ）、ＭＤ（１）〜ＭＤ（ｍ）ここで、”Ｗ”は、Ｗｅｂ層を示す添字であり、”Ｆ”は、機能層を示す添字であり、”Ｄ”は、データ層を示す添字であることに留意されたい。【００３６】
「後処理」及び「突発処理」の発生の検知の基本的な考え方は、下記のとおりである。
非同期処理検出モジュール５１は、特定の層（例えば、Ｗｅｂ層）のＣＰＵ使用率とメモリ使用率の変動が小さいにも関らず、特定の測定期間”ｔ”においてＷｅｂリクエストの数の変動が大きい場合（特に、Ｗｅｂリクエストの数が大きく減少している場合）、測定期間”ｔ”において当該特定の層において「後処理」が発生していると判断する。このような判断手法は、「後処理」が、Ｗｅｂリクエストが減少しているにも関らず各サーバの負荷が変動しない（即ち、減少しない）という現象として現れるという考えに基づいている。【００３７】
一方、Ｗｅｂリクエストの数の変動が小さいにも関らず、特定の測定期間”ｔ”において特定の層（例えば、Ｗｅｂ層）のＣＰＵ使用率とメモリ使用率の変動が大きい場合（特に、ＣＰＵ使用率とメモリ使用率が大きく増大している場合）、測定期間”ｔ”において当該特定の層において「突発処理」が発生していると判断する。このような判断手法は、「突発処理」がＷｅｂリクエストに無関係にＣＰＵ使用率とメモリ使用率が大きく増大するという現象として現れるという考えに基づいている。【００３８】
以下では、「後処理」及び「突発処理」の発生の検知アルゴリズムについて詳細に説明する。以下では、一例として、Ｗｅｂ層における「後処理」及び「突発処理」の発生について取り上げる。使用されるデータは、（ａ）測定期間”１”〜”ｍ”のそれぞれにおける種類Ｒ１〜ＲｎそれぞれのＷｅｂリクエストの数ＮＲ１（１）〜ＮＲ１（ｍ）、ＮＲ２（１）〜ＮＲ２（ｍ）、・・・、ＮＲｎ（１）〜ＮＲｎ（ｍ）と、測定期間”１”〜”ｍ”のそれぞれにおけるＷｅｂ層のＣＰＵ使用率ρＷ（１）〜ρＷ（ｍ）及びメモリ使用量ＭＷ（１）〜ＭＷ（ｍ）である。以下では、添字”Ｗ”を省略して説明する。【００３９】
検知アルゴリズムでは、内部変数としてＮ１〜ＮｎとρとＭとが用いられる。これらの内部変数は、直近の測定データの移動平均を保存するために使用される。測定期間”ｔ”における「後処理」及び「突発処理」の発生の検知の際には、最近のｋ個（ｋは２以上の整数）の測定期間”ｔ−ｋ”〜測定期間”ｔ−１”の測定データの平均が移動平均として算出され、これらの内部変数に保存される。即ち、Ｎｊは、種類ＲｊのＷｅｂリクエストの数ＮＲｊ（ｔ−ｋ）〜ＮＲｊ（ｔ−１）の平均を保存する内部変数であり、ρは、ＣＰＵ使用率ρ（ｔ−ｋ）〜ρ（ｔ−１）の平均を保存する内部変数である。【００４０】
重み付けされた移動平均が算出されて内部変数Ｎ１〜Ｎｎ、ρ、及びＭに保存されてもよい。この場合、重み付けされた移動平均の算出に使用される重み付け係数ａ１〜ａｋは、運用管理装置７の記憶装置７ｂに予め用意されていてもよく、ユーザによって運用管理装置７に入力されてもよい。【００４１】
図７は、測定期間”ｋ＋１”〜”ｍ”における「後処理」及び「突発処理」の発生の検知アルゴリズムの詳細を示すフローチャートである。以下、各ステップについて説明する。【００４２】
ステップＳ１：
ステップＳ１では、初期化が行われる。まず、カウンタｔがｔ＝ｋ＋１に設定される。これにより、以下では、測定期間”ｋ＋１”における「後処理」及び「突発処理」の発生の有無が判断される。更に、内部変数Ｎ１〜Ｎｎ、ρ、及びＭが下記のように設定される：
（ａ）重み付けが行われない場合
Ｎｊ＝｛ＮＲｊ（ｔ−ｋ）＋ＮＲｊ（ｔ−ｋ＋１）＋・・・＋ＮＲｊ（ｔ−１）｝／ｋ，
＝｛ＮＲｊ（１）＋ＮＲｊ（２）＋・・・＋ＮＲｊ（ｋ）｝／ｋ，  （ｊ＝１〜ｎ）
・・・（２１ａ）
ρ＝｛ρ（ｔ−ｋ）＋ρ（ｔ−ｋ＋１）＋・・・＋ρ（ｔ−１）｝／ｋ，
＝｛ρ（１）＋ρ（２）＋・・・＋ρ（ｋ）｝／ｋ，              ・・・（２１ｂ）
Ｍ＝｛Ｍ（ｔ−ｋ）＋Ｍ（ｔ−ｋ＋１）＋・・・＋Ｍ（ｔ−１）｝／ｋ，
＝｛Ｍ（１）＋Ｍ（２）＋・・・＋Ｍ（ｋ）｝／ｋ，              ・・・（２１ｃ）
（ｂ）重み付けが行われる場合
Ｎｊ＝｛ａｋＮＲｊ（ｔ−ｋ）＋ａｋ−１ＮＲｊ（ｔ−ｋ＋１）＋・・・
＋ａ１ＮＲｊ（ｔ−１）｝／（ａ１＋ａ２＋・・・＋ａｋ），
＝｛ａｋＮＲｊ（１）＋ａｋ−１ＮＲｊ（２）＋・・・
＋ａ１ＮＲｊ（ｋ）｝／（ａ１＋ａ２＋・・・＋ａｋ），（ｊ＝１〜ｎ）
・・・（２１ａ’）
ρ＝｛ａｋρ（ｔ−ｋ）＋ａｋ−１ρ（ｔ−ｋ＋１）＋・・・
＋ａ１ρ（ｔ−１）｝／（ａ１＋ａ２＋・・・＋ａｋ），
＝｛ａｋρ（１）＋ａｋ−１ρ（２）＋・・・
＋ａ１ρ（ｋ）｝／（ａ１＋ａ２＋・・・＋ａｋ），        ・・・（２１ｂ’）
Ｍ＝｛ａｋＭ（ｔ−ｋ）＋ａｋ−１Ｍ（ｔ−ｋ＋１）＋・・・
＋ａ１Ｍ（ｔ−１）｝／（ａ１＋ａ２＋・・・＋ａｋ），
＝｛ａｋＭ（１）＋ａｋ−１Ｍ（２）＋・・・
＋ａ１Ｍ（ｋ）｝／（ａ１＋ａ２＋・・・＋ａｋ），    ・・・（２１ｃ’）【００４３】
重み付けは、測定データの変動の有無の判断において、一部の測定データを重視するために行われる。最近の測定データほど重要である場合には、
ａ１＞ａ２＞・・・＞ａｋ，が成立するように、重み付け係数ａ１〜ａｋが定められる。【００４４】
図７に示されているように、初期化の後（即ち、カウンタｔと内部変数の設定の後）、処理はステップＳ２に進む。【００４５】
ステップＳ２：
ステップＳ２では、測定期間”ｔ”における測定データ：ＮＲ１（ｔ）〜ＮＲｎ（ｔ）、ρ（ｔ）、及びＭ（ｔ）が読み込まれる。測定データの読み込みの後、処理はステップＳ３に進む。【００４６】
ステップＳ３：
ステップＳ３では、内部変数Ｎ１〜Ｎｎ、ρ、及びＭを用いて測定期間”ｔ”における「後処理」及び「突発処理」の発生の判断が行われる。より具体的には、まず、変動パラメータＤＮ、Ｄρ、ＤＭが算出される。ここで、変動パラメータＤＮは、Ｗｅｂリクエストの数の変動の態様を示すパラメータであり、変動パラメータＤρは、（Ｗｅｂ層の）ＣＰＵ使用率の変動の態様を示すパラメータであり、変動パラメータＤＭは、（Ｗｅｂ層の）メモリ使用量の変動の態様を示すパラメータである。変動パラメータＤＮ、Ｄρ、ＤＭと、設定値δＮ、δρ、ΔδＭとの間の大小関係から、「後処理」、「突発処理」の発生が検知される。【００４７】
一実施例では、変動パラメータＤＮ、Ｄρ、ＤＭは、下記の式で算出される：
ＤＮ＝（Σ｜ＮＲｊ（ｔ）−Ｎｊ｜２）１／２，    ・・・（２２ａ）
Ｄρ＝（｜ρ（ｔ）−ρ｜２）１／２，          ・・・（２２ｂ）
ＤＭ＝（｜Ｍ（ｔ）−Ｍ｜２）１／２，          ・・・（２２ｃ）
ただし、Σは、ｊ＝１〜ｎについての和を表す。【００４８】
Ｗｅｂリクエストの数の変動の大きさは、変動パラメータＤＮと設定値δＮとの比較によって判断される。変動パラメータＤＮが設定値δＮよりも大きければ、測定期間”ｔ”においてＷｅｂリクエストの数が変動したと判断され、そうでなければ、Ｗｅｂリクエストの数の変動は小さいと判断される。同様に、変動パラメータＤρが設定値δρよりも大きければ、測定期間”ｔ”においてＣＰＵ使用率が変動したと判断され、そうでなければ、ＣＰＵ使用率の変動は小さいと判断される。更に、変動パラメータＤＭが設定値δＭよりも大きければ、測定期間”ｔ”においてメモリ使用量が変動したと判断され、そうでなければ、メモリ使用量の変動は小さいと判断される。【００４９】
判定テーブル５２は、変動パラメータＤＮ、Ｄρ、ＤＭと設定値δＮ、δρ、δＭとの間の大小関係の組み合わせと、「後処理」、「突発処理」の発生との関係を記述しており、「後処理」、「突発処理」の発生は、判定テーブル５２を参照しながら、変動パラメータＤＮ、Ｄρ、ＤＭと設定値δＮ、δρ、δＭとの間の大小関係の組み合わせに基づいて判断される。図８Ａは、判定テーブル５２の内容の一例を示す表である。一実施例では、変動パラメータＤＮが設定値δＮ以上であり（又は、設定値δＮよりも大きく）、変動パラメータＤρが設定値δρより小さく（又は、設定値δρ以下であり）、且つ、変動パラメータＤＭが設定値δＭより小さい（又は、設定値δＭ以下である）場合、測定期間”ｔ”において「後処理」が発生したと判断される。また、変動パラメータＤＮが設定値δＮよりも小さく（又は、設定値δＮ以下であり）、変動パラメータＤρが設定値δρ以上であり（又は、設定値δρよりも大きく）、且つ、変動パラメータＤＭが設定値δＭ以上である（又は、設定値δＭよりも大きい）場合、測定期間”ｔ”において「突発処理」が発生したと判断される。【００５０】
また、Ｗｅｂリクエストの数の変動の態様が、ＣＰＵ使用率及びメモリ使用量の両方の変動の態様と一致している場合に、「後処理」、「突発処理」のような「非同期処理」は発生していないと判断される。即ち、変動パラメータＤＮ、Ｄρ、ＤＭが、それぞれ設定値δＮ、δρ、δＭよりも小さい（又は、設定値δＮ、δρ、δＭ以下である）場合、及び、変動パラメータＤＮ、Ｄρ、ＤＭが、それぞれ設定値δＮ、δρ、δＭ以上である（又は、設定値δＮ、δρ、δＭよりも大きい）場合、「非同期処理」は発生していないと判断される。【００５１】
上記の判断手法のいずれにおいても、Ｗｅｂリクエストの数の変動の態様が、ＣＰＵ使用率及びメモリ使用量の一方の変動の態様と一致し他方とは一致しない場合（図８Ａの記号「＊１」、「＊１’」、「＊２」、「＊２’」で示されている場合」には、非同期処理の発生の有無は厳密には決まらない。しかし、このような事態は通常発生しないので、非同期処理が発生していないとして判断することにしても問題はない。また、Ｗｅｂリクエストの処理のために、主にＣＰＵのみを消費し、メモリはあまり消費しないという知識が事前にある場合には、判定テーブル５２から変動パラメータＤＭの列を除外し、図８Ａの記号「＊１」で示されている場合に「突発処理」が発生したと判断し、図８Ａの記号「＊２」で示されている場合に「後処理」が発生したと判断することもできる。逆に、メモリは消費するがＣＰＵを消費しないようなＷｅｂリクエストの場合には、判定テーブル５２から変動パラメータＤρの列を除外し、図８Ａの記号「＊１’」で示されている場合に「突発処理」が発生したと判断し、図８Ａの記号「＊２’」で示されている場合に「後処理」が発生したと判断することもできる。【００５２】
上記の判断手法では、Ｗｅｂリクエストの数、ＣＰＵ使用率、メモリ使用率の変動は把握できるが、それらが実際に増大しているか減少しているかの判断は行われていない。「後処理」の発生は、Ｗｅｂリクエストの数が減少してもＣＰＵ使用率、メモリ使用率が余り下がらないという現象として現れる。一方、Ｗｅｂリクエストの数が増大した場合には、通常、直ぐにＣＰＵ使用率、メモリ使用率が増大するという現象として現れる。したがって、これらの現象を考慮すると、Ｗｅｂリクエストの数の変動については、増加、減少の区別が行われることが望ましい。【００５３】
Ｗｅｂリクエストの数の増加、減少を考慮する場合、変動パラメータＤＮは、下記の式で算出される：
ＤＮ＝Σ（ＮＲｊ（ｔ）−Ｎｊ），    ・・・（２２ａ’）
式（２ａ’）において、変動パラメータＤＮが、測定期間”ｔ”のＷｅｂリクエストの数ＮＲｊ（ｔ）と移動平均Ｎｊとの差の総和として定義されていることに留意されたい。変動パラメータＤρ、ＤＭは、上記の式（２２ｂ）、（２２ｃ）として定義される。【００５４】
図８Ｂは、変動パラメータＤＮが式（２２ａ’）によって算出される場合の判定テーブル５２の内容の一例を示す表である。一実施例では、変動パラメータＤＮが設定値−δＮ以下であり（又は、設定値−δＮよりも小さく）、変動パラメータＤρが設定値δρより小さく（又は、設定値δρ以下であり）、且つ、変動パラメータＤＭが設定値δＭより小さい（又は、設定値δＭ以下である）場合、測定期間”ｔ”において「後処理」が発生したと判断される。また、変動パラメータＤＮの絶対値｜ＤＮ｜が設定値δＮよりも小さく（又は、設定値δＮ以下であり）、変動パラメータＤρが設定値δρ以上であり、（又は、設定値δρより大きく）、且つ、変動パラメータＤＭが設定値δＭより以上である（又は、設定値δＭより大きい）場合、測定期間”ｔ”において「突発処理」が発生したと判断される。【００５５】
Ｗｅｂリクエストの数に加えて、ＣＰＵ使用率及びメモリ使用量についても、増加、減少を区別して扱ってもよい。この場合、変動パラメータＤρ、ＤＭは、下記の式で算出される：
Ｄρ＝Σ（ρ（ｔ）−ρ），        ・・・（２２ｂ’）
ＤＭ＝Σ（Ｍ（ｔ）−Ｍ），        ・・・（２２ｃ’）
変動パラメータＤＮは、上述の式（２ａ’）によって算出される。【００５６】
図８Ｃは、変動パラメータＤＮ、Ｄρ、ＤＭが式（２２ａ’）〜（２２ｃ’）によって算出される場合の判定テーブル５２の内容の一例を示す表である。一実施例では、変動パラメータＤＮが設定値−δＮ以下であり（又は、設定値−δＮよりも小さく）、変動パラメータＤρの絶対値｜Ｄρ｜が設定値δρより小さく（又は、設定値δρ以下であり）、且つ、変動パラメータＤＭの絶対値｜ＤＭ｜が設定値δＭより小さい（又は、設定値δＭ以下である）場合、測定期間”ｔ”において「後処理」が発生したと判断される。一方、変動パラメータＤＮの絶対値｜ＤＮ｜が設定値δＮよりも小さく（又は、設定値δＮ以下であり）、変動パラメータＤρが設定値δρ以上であり、（又は、設定値δρより大きく）、且つ、変動パラメータＤＭが設定値δＭより以上である（又は、設定値δＭより大きい）場合、測定期間”ｔ”において「突発処理」が発生したと判断される。【００５７】
Ｗｅｂリクエストの数の増加、減少を考慮する場合（即ち、図８Ｂ、図８Ｃに示された内容の判定テーブル５２が使用される場合）においても、Ｗｅｂリクエストの数の変動の態様が、ＣＰＵ使用率及びメモリ使用量の一方の変動の態様と一致し他方とは一致しない場合（即ち、図８Ａ〜図８Ｄの記号「＊」、「＊１」、「＊１’」、「＊２」、「＊２’」で示されている場合）には、非同期処理の発生の有無は厳密には決まらない。しかし、このような事態は通常発生しないので、非同期処理が発生していないとして判断することにしても問題はない。ただし、Ｗｅｂリクエストの処理のために、主にＣＰＵのみを消費し、メモリはあまり消費しないという知識が事前にある場合には、判定テーブル５２から変動パラメータＤＭの列を除外し、図８Ａの記号「＊１」で示されている場合に「突発処理」が発生したと判断し、図８Ａの記号「＊２」で示されている場合に「後処理」が発生したと判断することもできる。逆に、メモリは消費するがＣＰＵを消費しないようなＷｅｂリクエストの場合には、判定テーブル５２から変動パラメータＤρの列を除外し、図８Ａの記号「＊１’」で示されている場合に「突発処理」が発生したと判断し、図８Ａの記号「＊２’」で示されている場合に「後処理」が発生したと判断することもできる。【００５８】
なお、判定テーブル５２は、図８Ａ〜図８Ｃのように全ての場合における判断を含む必要はなく、図８Ｄに示されているように、最低限、検知したい「突発処理」と「後処理」の発生する条件だけを記述したものであってもかまわない。【００５９】
図７に示されているように、ステップＳ３において「後処理」及び「突発処理」の発生が検知されなかった場合、処理はステップＳ５に進み、「後処理」及び「突発処理」の発生が検知された場合、処理はステップＳ６に進む。【００６０】
ステップＳ５：
「後処理」及び「突発処理」の発生が検知されなかった場合、内部変数が下記のように更新される：
（ａ）重み付けが行われない場合
Ｎｊ＝｛ＮＲｊ（ｔ−ｋ＋１）＋ＮＲｊ（ｔ−ｋ＋２）＋・・・＋ＮＲｊ（ｔ）｝／ｋ，
（ｊ＝１〜ｎ）                                            ・・・（２３ａ）
ρ＝｛ρ（ｔ−ｋ＋１）＋ρ（ｔ−ｋ＋２）＋・・・＋ρ（ｔ）｝／ｋ，
・・・（２３ｂ）
Ｍ＝｛Ｍ（ｔ−ｋ＋１）＋Ｍ（ｔ−ｋ＋２）＋・・・＋Ｍ（ｔ）｝／ｋ，
・・・（２３ｃ）
（ｂ）重み付けが行われる場合
Ｎｊ＝｛ａｋＮＲｊ（ｔ−ｋ＋１）＋ａｋ−１ＮＲｊ（ｔ−ｋ＋２）＋・・・
＋ａ１ＮＲｊ（ｔ）｝／（ａ１＋ａ２＋・・・＋ａｋ），
（ｊ＝１〜ｎ）      ・・・（２３ａ’）
ρ＝｛ａｋρ（ｔ−ｋ＋１）＋ａｋ−１ρ（ｔ−ｋ＋２）＋・・・
＋ａ１ρ（ｔ）｝／（ａ１＋ａ２＋・・・＋ａｋ），
・・・（２３ｂ’）
Ｍ＝｛ａｋＭ（ｔ−ｋ＋１）＋ａｋ−１Ｍ（ｔ−ｋ＋２）＋・・・
＋ａ１Ｍ（ｔ）｝／（ａ１＋ａ２＋・・・＋ａｋ），
・・・（２３ｃ’）【００６１】
「後処理」及び「突発処理」の発生が検知された場合には、内部変数の更新が行われないことに留意されたい。これにより、「後処理」又は「突発処理」が発生した測定期間に得られた測定データは、移動平均の算出に使用されない。内部変数の更新の後、処理はステップＳ６に進む。【００６２】
ステップＳ６：
ステップＳ６では、カウンタｔの値が１増加される。カウンタｔの更新の後、処理はステップＳ７に進む。【００６３】
ステップＳ７：
ステップＳ７では、処理が続行されるかが判断される。カウンタｔの値が測定データの個数ｍ以下である場合には、処理はステップＳ２に進み、上記と同様の処理が行われる。カウンタｔの値が測定データの個数ｍを超えた場合には処理が終了される。このようなアルゴリズムにより、各測定期間における「非同期処理」、特に、「後処理」及び「突発処理」の発生が検知される。【００６４】
なお、本実施例では、「後処理」及び「突発処理」の両方が検知されているが、「後処理」及び「突発処理」の一方のみが検知されてもよい。また、本実施例では、ＣＰＵ使用率及びメモリ使用量の両方から「後処理」及び「突発処理」が検知されているが、ＣＰＵ使用率又はメモリ使用量の一方のみから「後処理」及び／又は「突発処理」が検知されてもよい。更に、本実施例では、Ｗｅｂリクエストの数の変動を用いて「後処理」及び／又は「突発処理」が検知されているが、機能層及びデータ層における「後処理」及び／又は「突発処理」の検出においては、コンピュータシステム１によって処理されたＷｅｂリクエストの数の代わりに、機能層のＡＰサーバ５が受け取って処理したリクエストの数及びデータ層のＤＢサーバ６が受け取って処理したリクエストの数が使用されてもよい。【００６５】
「後処理」及び「突発処理」の発生の検知結果の一つの適用例は、サーバの運用管理の効率化である。「後処理」及び「突発処理」が少ないコンピュータシステムでは、サーバ資源のほとんど全てが、リクエスト処理に費やされていることになる。そのため、このようなコンピュータシステムでは、サーバ資源の使用率・使用量（例えば、ＣＰＵ使用率やメモリ使用量）の上限値を高めに設定し、サーバ資源の運用効率を高めることができる。一方、「後処理」及び「突発処理」が多いコンピュータシステムでは、サーバ資源の運用効率を高めるためにサーバ資源の使用率・使用量の上限値を高めに設定すると、「後処理」及び「突発処理」が原因でサーバ資源の使用率・使用量が定められた上限値を超えてしまう可能性が高まり、ひいてはレスポンスタイムの急激な悪化を引き起こすことがある。「後処理」及び「突発処理」が多いコンピュータシステムでは、サーバ資源の運用効率を高めることよりも、安定運用のために上限値を低めに設定することが好ましい。より具体的には、運用管理装置７には、Ｗｅｂサーバ４、アプリケーションサーバ５、及びデータベースサーバ６のそれぞれに対してサーバ資源の使用率・使用量の上限値を設定するソフトウェアプログラムが組み込まれる。各サーバにおいて「後処理」及び「突発処理」の発生が検知された場合には、当該サーバのサーバ資源の使用率・使用量（例えば、ＣＰＵ使用率やメモリ使用量）の上限値が相対的に高い値に設定され、「後処理」及び「突発処理」の発生が検知されない場合には、サーバ資源の使用率・使用量（例えば、ＣＰＵ使用率やメモリ使用量）の上限値が相対的に低い値に設定される。例えば、各サーバにおいて「後処理」及び「突発処理」の発生が検知された場合には、当該サーバのサーバ資源のＣＰＵ使用率が６０％に設定され、各サーバにおいて「後処理」及び「突発処理」の発生が検知されない場合には、当該サーバのサーバ資源のＣＰＵ使用率が８０％に設定される。このような動作によれば、「後処理」及び「突発処理」の発生の有無に応じて、サーバ資源の使用率・使用量の上限値を適切に設定することができる。【００６６】
「後処理」及び「突発処理」の発生の検知結果の他の適用例は、Ｗｅｂリクエスト一つの処理に使用される資源の使用率・使用量の推定である。現在のＷｅｂアプリケーションでは、複数の種類のＷｅｂリクエストが一つのプロセスで処理される。Ｗｅｂサーバとして用いられる代表的なソフトウェアであるＡｐａｃｈｅは、その典型的な例である。このようなソフトウェアの場合には、たとえ各プロセスが消費するＣＰＵ時間を測定することができたとしても、Ｗｅｂリクエストが消費するＣＰＵ時間をＷｅｂリクエストの種類毎に特定することはできない。現在用いられているＷｅｂサーバや、データベースサーバには、このような動作をするものが多い。このような状況では、プロセス毎のＣＰＵ時間やメモリ使用量を算出しても、コンピュータシステムの管理の上では充分とはいえず、Ｗｅｂリクエスト一つの処理に使用されるＣＰＵ時間やメモリ使用量を推定することが望まれる。そして、後述されるように、Ｗｅｂリクエストの数とＣＰＵ時間やメモリ使用量の間の多重回帰分析を用いれば、あるコンピュータシステムにおいてＷｅｂリクエスト一つの処理に使用される資源の使用量は推定可能である。しかしながら、「後処理」又は「突発処理」が発生している測定期間において得られたＣＰＵ時間やメモリ使用量の測定データは、多重回帰分析のモデルに従わないため、推定に用いるには不適切である。そこで、Ｗｅｂリクエスト一つの処理に使用される資源の使用率・使用量の推定においては、「後処理」及び「突発処理」が発生した測定期間に得られた測定データを前処理において除いておくことが望ましい。【００６７】
以下では、「後処理」及び「突発処理」の発生を検出し、その検出結果を利用してＷｅｂリクエスト一つの処理に使用される資源の使用率・使用量の推定を行う処理について説明する。【００６８】
図９は、Ｗｅｂリクエスト一つの処理に使用される資源の使用率・使用量の推定を行うための運用管理装置７のソフトウェア構成を示す概念図である。上述のように、運用管理装置７のリクエスト分類ツール２１は、負荷分散装置３から送られてくるリクエストログ１１を分析し、コンピュータシステム１によって処理されたＷｅｂリクエストの数を、測定期間毎に、且つ、Ｗｅｂリクエストの種類毎に算出する。算出結果は、リクエスト分類ログ３１として記憶装置７ｂに保存される。システムログ統合ツール２２は、Ｗｅｂサーバ４、ＡＰサーバ５、及びＤＢサーバ６のそれぞれから送られてくるシステムログ１２、１３、１４から、Ｗｅｂ層システムログ３２、機能層システムログ３３、データ層システムログ３４を生成する。【００６９】
資源使用状況分析ツール２３は、非同期処理検出モジュール５１を用いて各測定期間において「後処理」又は「突発処理」が発生しているかを検出する。上述のように、「後処理」の「突発処理」の発生の検出には、判定テーブル５２が使用される。更に、資源使用状況分析ツール２３は、Ｗｅｂ層システムログ３２、機能層システムログ３３、及びデータ層システムログ３４に記述された測定データのうちから、「後処理」及び「突発処理」のいずれかが発生した測定期間の測定データを除去してＷｅｂ層抽出システムログ５３、機能層抽出システムログ５４、及びデータ層抽出システムログ５５を生成する。【００７０】
図１０Ａは、資源使用状況分析ツール２３がＷｅｂ層抽出システムログ５３、機能層抽出システムログ５４、及びデータ層抽出システムログ５５を生成する処理を示す図である。図１０Ａの処理は、図７に示された処理に、「後処理」又は「突発処理」が発生していない測定期間”ｔ”の測定データをＷｅｂ層抽出システムログ５３、機能層抽出システムログ５４、及びデータ層抽出システムログ５５として出力する処理（ステップＳ４）を付け加えたものである。【００７１】
測定期間”ｔ”において特定の層において「後処理」又は「突発処理」が発生していると判断された場合、当該測定期間の当該特定の層の測定データは「不適切」であると判断され、除去される。この場合、ステップＳ３が実行された後、ステップＳ６に処理が進む。【００７２】
一方、測定期間”ｔ”において、Ｗｅｂ層において「後処理」又は「突発処理」が発生していないと判断された場合、測定期間”ｔ”のＷｅｂ層の測定データは、資源の使用量の推定に使用されるのに「適切」であると判断される。この場合、測定期間”ｔ”のＷｅｂ層の測定データは、ステップＳ４において抽出Ｗｅｂ層システムログ５３を格納するファイルに出力される。同様に、測定期間”ｔ”において機能層において「後処理」又は「突発処理」が発生していないと判断された場合、測定期間”ｔ”の機能層の測定データは、ステップＳ４において機能層抽出システムログ５４を格納するファイルに出力される。更に、測定期間”ｔ”においてデータ層において「後処理」又は「突発処理」が発生していないと判断された場合、測定期間”ｔ”のデータ層の測定データは、ステップＳ４においてデータ層抽出システムログ５４を格納するファイルに出力される。【００７３】
ある測定期間において「後処理」又は「突発処理」の発生の有無が厳密には決定出来ない場合でも（図８Ａ〜８Ｃの記号「＊」で示されている場合」、基本的には、当該測定期間の測定データは、資源の使用量の推定に使用されるのに「適切」であると判断される。ただし、管理者の設定により、当該測定期間の測定データが「不適切」であると判断されてもよい。「不適切」であると判断された場合には、当該測定期間の測定データは、Ｗｅｂ層抽出システムログ５３、機能層抽出システムログ５４、及びデータ層抽出システムログ５５のファイルには出力されない。【００７４】
図１０Ａの処理では、連続した測定期間の測定データが除去される可能性があるが、測定データが余りにも連続して除去されることはＷｅｂリクエスト一つの処理に使用される資源の使用量の推定に好ましくない。このような問題に対処するために、図１０Ｂに示されているように、下記のステップＳ８が追加的に行われてもよい。【００７５】
ステップＳ８：
ステップＳ３において測定期間”ｔ”の測定データが資源の使用量の推定に使用されるのに「不適切」であると判断された場合、ステップＳ８で再判定が行われる。ステップＳ８では、測定データが連続して除去された測定期間の数がカウントされる。カウントされた測定期間の数が設定値を超えた場合には、処理はステップＳ４に進む、即ち、「適切」と判断された場合と同じ処理が行われる。【００７６】
より具体的には、ステップＳ８では、測定データが連続して除去された測定期間の数を示す内部変数ｐと、直近に測定データが除去された測定期間に対応するカウンタｔの値を記憶する内部変数ｐｔが用いられる。内部変数ｐ及びｐｔは、ステップＳ１で０に初期化される。また、測定データが連続して除去された測定期間の数の許容最大値ｐ＿ｍａｘが事前に設定される。ステップＳ８では、カウンタｔの値が、内部変数ｐｔの値とが比較され、
ｐｔ＋１＝ｔ，
が成立すれば、内部変数ｐの値が１だけ増加され、内部変数ｐｔの値がｔで上書きされる。内部変数ｐの値がｐ＿ｍａｘを超えた場合、内部変数ｐ、ｐｔが０に初期化され、処理はステップＳ４に進む。そうでなければ、処理はステップＳ６に進む。【００７７】
Ｗｅｂ層抽出システムログ５３、機能層抽出システムログ５４、及びデータ層抽出システムログ５５が作成されると、資源使用状況分析ツール２３は、リクエスト分類ログ３１、Ｗｅｂ層抽出システムログ５３、機能層抽出システムログ５４、及びデータ層抽出システムログ５５から、一のＷｅｂリクエストを処理するために必要な資源の使用量を算出する。一のＷｅｂリクエストを処理するために必要な資源の使用量は、Ｗｅｂ層、機能層、データ層のそれぞれについて、Ｗｅｂリクエストの種類毎に算出する。本実施例では、資源使用状況分析ツール２３は、Ｗｅｂリクエストを処理するために必要なＣＰＵ時間及びメモリ使用量を、Ｗｅｂ層、機能層、データ層のそれぞれについて算出する。一のＷｅｂリクエストを処理するためにＷｅｂ層において消費されるＣＰＵ時間及びメモリ使用量の算出は、下記のようにして行われる。【００７８】
まず、全ての測定期間の長さが一定値Δｔである場合について説明する。測定期間”ｉ”における、Ｗｅｂ層全体としてのＣＰＵ使用率をρＷ（ｉ）、Ｗｅｂ層全体としてのメモリ使用量をＭＷ（ｉ）、処理された種類”Ｒｊ”のＷｅｂリクエストの数をＮＲｊ（ｉ）、種類”Ｒｊ”のＷｅｂリクエスト一つを処理するのに要するＷｅｂ層のＣＰＵ時間をＵＲｊＷ、メモリ使用量をＭＲｊＷとすると、下記の式が成立する：
2009008279.tif 000003
ここで、Δｔは、各測定期間の長さであり、ρＺＷは、Ｗｅｂリクエストの処理が行われない状況におけるＷｅｂ層全体としてのＣＰＵ使用率であり、ＭＺＷは、Ｗｅｂリクエストの処理が行われない状況におけるＷｅｂ層におけるメモリ使用量である。Σは、全種類のＷｅｂリクエストについての和を意味している。種類”Ｒｊ”のＷｅｂリクエストの数ＮＲｊ（ｉ）は、リクエスト分類ログ３１に記述されており、Ｗｅｂ層全体としてのＣＰＵ使用率ρＷ（ｉ）及びメモリ使用量ＭＷ（ｉ）は、抽出Ｗｅｂ層システムログ５２に記述されている。【００７９】
コンピュータシステムでは、一般に、その稼動を維持するためにＷｅｂリクエストの有無に無関係にある程度の資源が使用されることに留意されたい。例えば、Ａｐａｃｈｅが稼動するＷｅｂサーバでは、Ｗｅｂリクエストの有無に無関係に所定数のプロセスが永続的に動作する。そのため、プロセスを実行可能な状態に維持するためだけでも、ＣＰＵやメモリが使用される。加えて、コンピュータシステムでは、多くの場合、システムを管理するためのプロセスが動作しており、このプロセスによってＣＰＵやメモリが使用される。以下では、Ｗｅｂリクエストの処理が行われない状況（非リクエスト処理状況）におけるＣＰＵ使用率を、デフォルトＣＰＵ使用率といい、Ｗｅｂリクエストの処理が行われない状況におけるメモリ使用量をデフォルトメモリ使用量という。【００８０】
複数の測定データρＷ（１）〜ρＷ（ｍ）、及び、ＮＲｊ（１）〜ＮＲｊ（ｍ）から、種類”Ｒｊ”のＷｅｂリクエストのＣＰＵ時間ＵＷＲｊ、及びΔｔ・ρＷＺを算出する問題は、多重回帰分析によって解くことができる。具体的には、ＣＰＵ時間ＵＷＲ１、ＵＷＲ２、・・・、及びΔｔ・ρＷＺは、下記式によって算出される：
2009008279.tif 000004
ここで、ｔＸは、行列Ｘの転置行列であり、行列Ｘは、下記式で表される：
2009008279.tif 000005
なお、測定回数ｍは、Ｗｅｂリクエストの種類の数ｎよりも大きく、且つ、行列（ｔＸ  Ｘ）の逆行列が存在するような値に設定される。【００８１】
メモリ使用量ＭＲ１Ｗ、ＭＲ２Ｗ、・・・及びＭＺＷについても同様に、下記式によって算出される：
2009008279.tif 000006
また、式（２ａ）、（２ｂ）、（３）のベクトル・行列においては、「不適切」と判断された測定データ（「後処理」又は「突発処理」が発生している測定に対応する行は除かれていることに留意されたい。【００８２】
算出されたＣＰＵ時間ＵＲ１Ｗ、ＵＲ２Ｗ、・・・、ＵＲｎＷ、デフォルトＣＰＵ使用率ρＺＷ、メモリ使用量ＭＲ１Ｗ、ＭＲ２Ｗ、・・・、ＭＲｎＷ、及びデフォルトメモリ使用量ＭＺＷは、Ｗｅｂ層の分析結果データ３６として記憶装置７ｂに保存される。【００８３】
機能層、データ層についても同様の手順が行われる。１つのＷｅｂリクエストの処理のために機能層で消費されるＣＰＵ時間及びメモリ使用量、並びに、機能層のデフォルトＣＰＵ使用率及びデフォルトメモリ使用量は、リクエスト分類ログ３１及び、機能層システムログ３３から上記と同様の手順によって算出される。算出されたＣＰＵ時間、メモリ使用量、デフォルトＣＰＵ使用率及びデフォルトメモリ使用量は、機能層の分析結果データ３６として記憶装置７ｂに保存される。以下では、機能層において種類”Ｒｊ”のＷｅｂリクエスト１つを処理するために消費されるＣＰＵ時間及びメモリ使用量は、それぞれ、ＵＲｊＦ、ＭＲｊＦと記載され、機能層のデフォルトＣＰＵ使用率及びメモリ使用量は、それぞれ、ρＺＦ、ＭＺＦと記載される。【００８４】
同様に、１つのＷｅｂリクエストの処理のためにデータ層で消費されるＣＰＵ時間及びメモリ使用量、並びに、データ層のデフォルトＣＰＵ使用率及びデフォルトメモリ使用量が、リクエスト分類ログ３１とデータ層システムログ３４から上記と同様の手順によって算出される。算出されたＣＰＵ時間、メモリ使用量、デフォルトＣＰＵ時間及びデフォルトメモリ使用量は、データ層の分析結果データ３７として記憶装置７ｂに保存される。以下では、データ層において種類”Ｒｊ”のＷｅｂリクエスト１つを処理するために消費されるＣＰＵ時間及びメモリ使用量は、それぞれ、ＵＲｊＤ、ＭＲｊＤと記載され、機能層のデフォルトＣＰＵ時間及びメモリ使用量は、それぞれ、ρＺＤ、ＭＺＤと記載される。【００８５】
各測定期間の長さは、可変であることも可能である。この場合、式（１ａ）の代わりに、下記式が成立する：
2009008279.tif 000007
ここで、Δｔ（ｉ）は、測定期間”ｉ”の長さである。各測定期間の長さが可変である場合についても、式（１ｂ）はそのまま成立することに留意されたい。【００８６】
式（１ａ’）、（１ｂ）の関係を用いると、各測定期間の長さが可変である場合についても、種類”Ｒｊ”のＷｅｂリクエストのＣＰＵ時間ＵＷＲｊ及びデフォルトＣＰＵ使用率ρＺＷを、多重回帰分析によって算出することができる。より具体的には、ＣＰＵ時間ＵＷＲ１、ＵＷＲ２、・・・、及びρＺＷは、複数の測定データρＷ（１）〜ρＷ（ｍ）、ＮＲｊ（１）〜ＮＲｊ（ｍ）及び各測定期間の長さΔｔ（ｉ）を用いて、下記式によって算出可能である：
2009008279.tif 000008
ここで、ｔＹは、下記式で表される行列Ｙの転置行列である：
2009008279.tif 000009
【００８７】
同様に、メモリ使用量ＭＲ１Ｗ、ＭＲ２Ｗ、・・・、ＭＲｎＷ、及びデフォルトメモリ使用量ＭＺＷは、下記式によって算出可能である：
2009008279.tif 000010
【００８８】
また、上述の実施例では、ＣＰＵ時間及びメモリ使用量が分析されているが、他の資源についても同様の分析を行うことが可能である。例えば、ネットワークインターフェースの使用量（通常、ｂｙｔｅ／ｓｅｃ）やディスクインターフェース（ＳＣＳＩインターフェース）の使用量（通常、ｂｙｔｅ／ｓｅｃ）についても、同様の分析が行われることが可能である。ネットワークインターフェース、ディスクインターフェースの使用量については、「リード」と「ライト」とを別々に分析してもよい。ディスクインターフェースの使用量ではなく、ディスクインターフェースの使用率が分析されてもよい。この場合、ディスクインターフェースの使用率Πは、ディスクのキュー長Ｗを使用して、下記式：
Π＝Ｑ／（Ｑ＋１）として定義されてもよい。【００８９】
本実施例では、資源使用状況分析ツール２３によって得られた、Ｗｅｂ層、機能層、及びデータ層の分析結果データ３５、３６、３７（即ち、１つのＷｅｂリクエストの処理のためにＷｅｂ層、機能層、データ層それぞれで消費されるＣＰＵ時間及びメモリ使用量、並びにデフォルトＣＰＵ使用率及びデフォルトメモリ使用量）は、以下の２つの目的で使用される：第１に、Ｗｅｂ層、機能層、及びデータ層の分析結果データ３５、３６、３７は、ユーザに対する課金処理のために使用される。分析結果データ３５、３６、３７から、１つのＷｅｂリクエストの処理に課せられる単価がＷｅｂリクエストの種類毎に算出され、算出された単価とＷｅｂリクエストの数から、各ユーザに課せられる料金が決定される。【００９０】
第２に、Ｗｅｂ層、機能層、及びデータ層の分析結果データ３５、３６、３７は、コンピュータシステム１の負荷や能力を、Ｗｅｂリクエストの種類という観点から分析するために使用される。例えば、各測定期間における特定の資源の使用率が、分析結果データ３５、３６、３７を用いてＷｅｂリクエストの種類毎に分析される。また、特定の測定期間における各資源の使用率が、分析結果データ３５、３６、３７を用いてＷｅｂリクエストの種類毎に分析される。【００９１】
図１１は、課金処理とコンピュータシステム１の負荷や能力の分析とを行うためのソフトウェア構成を示す図である。運用管理装置７には、課金データ生成ツール２４とシステム管理データ生成ツール２５とユーザデータ作成ツール２６がインストールされ、これらのツールにより課金処理とコンピュータシステム１の負荷や能力の分析が行われる。以下、本実施例で行われる課金処理とコンピュータシステム１の負荷や能力の分析について詳細に説明する。【００９２】
（課金処理）
各ユーザに課される利用料金は、基本的には、各ユーザが発行したＷｅｂリクエストを処理するために必要であった資源の使用量に応じて決定されることが望ましい。【００９３】
一つの問題は、（Ｗｅｂリクエストの有無に関らず）コンピュータシステム１の稼動を維持するために資源が消費される点である。特に、メモリは、Ｗｅｂリクエストを処理しなくても、プロセスが実行可能な状態になるだけで消費されるため、Ｗｅｂリクエストの有無に関係なく使用される量が大きい。このような状況では、コンピュータシステム１の稼動を維持するための資源の使用量（以下では、共通的な資源使用量という）に対しても、各ユーザに使用料金が課されることが望ましい場合がある。【００９４】
もう一つの問題は、「後処理」及び「突発処理」が検出されたために測定データが除去された測定期間においても資源が消費される点である。これらの資源使用量に対しても、各ユーザに使用料金が課せられることが望ましい場合がある。【００９５】
本実施例で行われる課金処理では、共通的な資源使用量に対する利用料金を、各Ｗｅｂリクエストに配分することにより、共通的な資源使用量に対する適正な課金が実現されている。加えて、本実施例では、「後処理」及び「突発処理」が検出された測定期間の資源使用量に対する利用料金を、各Ｗｅｂリクエストに配分することにより、当該測定期間における資源使用量に対する適正な課金が実現されている。以下、本実施例で行われる課金処理について詳細に説明する。なお、以下では、一実施例として、Ｗｅｂ層における課金処理を説明するが、他の２つの層（機能層及びデータ層）に対しても、同様の処理方法が適用される。【００９６】
図１２Ａ、図１２Ｂに示されているように、運用管理装置７の記憶装置７ｂには単価テーブル３８が用意され、この単価テーブル３８が課金処理に使用される。全ての測定期間の長さが一定値Δｔである場合、一実施例では、図１２Ａに示されているように、単価テーブル３８には、Ｗｅｂ層、機能層、及びデータ層のそれぞれについて、一測定期間（本実施例では５分）あたりのＣＰＵ単価とメモリ単価が記述される。以下では、Ｗｅｂ層における一測定期間（本実施例では５分）あたりのＣＰＵ単価がＣＣＰＵＷと記載され、一測定期間あたりのメモリ単価がＣＭＷと記載される。【００９７】
一方、測定期間の長さが可変である場合には、単価テーブル３８には、Ｗｅｂ層、機能層、及びデータ層のそれぞれについて、単位時間当たりのＣＰＵ単価とメモリ単価が記述されてもよい。この場合、Ｗｅｂ層における測定期間”ｉ”におけるＣＰＵ単価は、Ｗｅｂ層における単位時間当たりのＣＰＵ単価をｃＣＰＵＷとすると、Δｔ（ｉ）・ｃＣＰＵＷである。同様に、Ｗｅｂ層における測定期間”ｉ”におけるメモリ単価は、Ｗｅｂ層における単位時間当たりのメモリ単価をｃＭＷとすると、Δｔ（ｉ）・ｃＭＷである。【００９８】
その代わりに、図１２Ｂに示されているように、単価テーブル３８に、一測定期間当たり（又は単位時間当たりの）のＷｅｂ層のコンピュータシステム運用コストと、ＣＰＵの寄与率、及びメモリの寄与率が記述されることも可能である。全ての測定期間の長さが一定である場合には、一測定期間当たりのコンピュータシステム運用コストにＣＰＵの寄与率を乗じて一測定期間あたりのＣＰＵ単価が算出される。更に、Ｗｅｂ層のコンピュータシステム運用コストにメモリの寄与率を乗じることにより、一測定期間あたりのメモリ単価が算出される。一方、測定期間の長さが可変である場合には、単位期間当たりのコンピュータシステム運用コストにＣＰＵの寄与率を乗じて単位時間あたりのＣＰＵ単価が算出される。更に、Ｗｅｂ層のコンピュータシステム運用コストにメモリの寄与率を乗じることにより、単位時間あたりのメモリ単価が算出される。【００９９】
課金データ生成ツール２４は、Ｗｅｂ層の分析結果データ３５と、単価テーブル３８に記述されているＣＰＵ単価ＣＣＰＵＷとメモリ単価ＣＭＷとを用いて、１つのＷｅｂリクエストに対するＷｅｂ層の単価を決定する。具体的には、測定期間”ｉ”の種類”Ｒｊ”のＷｅｂリクエスト１つの処理に対するＷｅｂ層の単価μＲｊＷ（ｉ）は、下記のように決定される。【０１００】
測定期間”ｉ”において、種類”Ｒｊ”のＷｅｂリクエストを処理するために消費されるＣＰＵ時間は、ＮＲｊ（ｉ）・ＵＲｊＷである。また、各測定期間において、Ｗｅｂリクエストの処理に無関係に消費されるデフォルトＣＰＵ時間は、全ての測定期間の長さが一定値Δｔである場合にはΔｔ・ρＺＷであり、測定期間の長さが可変である場合には、Δｔ（ｉ）・ρＺＷである。【０１０１】
本実施例では、Ｗｅｂリクエストの処理に無関係にＷｅｂ層で消費されるデフォルトＣＰＵ時間Δｔ・ρＷを、Ｗｅｂリクエストの種類のそれぞれに配分することによってＷｅｂ層における「仮想的なＣＰＵ消費時間」が決定される。具体的には、全ての測定期間の長さが一定である場合には、測定期間”ｉ”の種類”Ｒｊ”のＷｅｂリクエストのＷｅｂ層における仮想的なＣＰＵ消費時間ＣＰＵ＿ＲｊＷ（ｉ）は、下記式：
2009008279.tif 000011
によって算出される。式（４）の第１項は、上述のとおり、種類”Ｒｊ”のＷｅｂリクエストを処理するためにＷｅｂ層において実際に消費されるＣＰＵ時間である。一方、第２項は、Ｗｅｂリクエストの処理に無関係にＷｅｂ層において消費されるデフォルトＣＰＵ時間Δｔ・ρＺＷの、種類”Ｒｊ”のＷｅｂリクエストへの割り当て分である。【０１０２】
一方、測定期間の長さが可変である場合には、仮想的なＣＰＵ消費時間ＣＰＵ＿ＲｊＷ（ｉ）は、下記式：
2009008279.tif 000012
によって算出される。【０１０３】
上記のようにして算出された仮想的なＣＰＵ時間を用いて、測定期間”ｉ”における種類”Ｒｊ”のＷｅｂリクエスト一つのＷｅｂ層のＣＰＵ単価μＲｊＣＰＵ（ｉ）Ｗは、全ての測定期間の長さが一定である場合には、下記式：
2009008279.tif 000013
によって算出され、測定期間の長さが可変である場合には、
2009008279.tif 000014
によって算出される。【０１０４】
メモリ使用量についても同様にしてＷｅｂ層のメモリ単価μＲｊＭ（ｉ）Ｗが算出される。より具体的には、測定期間”ｉ”の種類”Ｒｊ”のＷｅｂリクエストのＷｅｂ層における「仮想的なメモリ使用量」Ｍ＿ＲｊＷ（ｉ）が、下記式：
2009008279.tif 000015
によって算出される。ここで、ＭＲｊＷは、種類”Ｒｊ”のＷｅｂリクエスト一つを処理するためのＷｅｂ層におけるメモリ使用量である。一方、ρＺＷは、Ｗｅｂ層のデフォルトメモリ使用量である。【０１０５】
更に、測定期間”ｉ”における種類”Ｒｊ”のＷｅｂリクエスト一つのＷｅｂ層のメモリ単価μＲｊＭ（ｉ）Ｗが、全ての測定期間の長さが一定である場合には、下記式：
2009008279.tif 000016
によって算出され、測定期間の長さが可変である場合には、
2009008279.tif 000017
によって算出される。【０１０６】
測定期間”ｉ”における種類”Ｒｊ”のＷｅｂリクエスト一つのＷｅｂ層における単価μＲｊＷ（ｉ）は、ＣＰＵ単価μＲｊＣＰＵ（ｉ）Ｗとメモリ単価μＲｊＭ（ｉ）Ｗの和として算出される。即ち、Ｗｅｂリクエスト一つのＷｅｂ層における単価μＲｊＷ（ｉ）は、下記式：
μＲｊＷ（ｉ）＝μＲｊＣＰＵ（ｉ）Ｗ＋μＲｊＭ（ｉ）Ｗ，                  ・・・（９ａ）
によって算出される。式（９ａ）で得られた単価μＲｊＷ（ｉ）を、測定期間”１”〜”ｍ”のうち測定データが除去されなかった測定期間に関して各測定期間に処理されたＷｅｂリクエストの数を乗じながら和をとることで、種類ＲｊのＷｅｂリクエストの処理に対するＷｅｂ層のコストＮＲｊＷを下記式のように算出することができる：
ＮＲｊＷ＝ΣμＲｊＷ（ｉ）・ＮＲｊ（ｉ），                              ・・・（９ｂ）
式（９ｂ）において、Σは、測定期間”１”〜”ｍ”のうち測定データが除去されなかった測定期間に関する和を意味している。【０１０７】
更に、対象の測定期間に各ユーザが発行したＷｅｂリクエストの数が、ユーザデータ作成ツール２６によってＷｅｂリクエストの種類毎に算出され、その結果を示すユーザデータ３９が記憶装置７ｂに保存される。図１３は、ユーザデータ３９の内容の例を示す表である。図１３の例では、集計期間は５分である。図１３の表において、”ＮＲｊＵｋ（ｉ）”は、測定期間”ｉ”においてユーザＵｋが発行した、種類”Ｒｊ”のＷｅｂリクエストの数を意味している。【０１０８】
課金データ生成ツール２４は、上述のようにして算出されたＷｅｂリクエスト一つのＷｅｂ層における単価μＲｊＷ（ｉ）と、ユーザデータ３９から、測定期間”ｉ”において各ユーザＵｋに課せられるＷｅｂ層の料金ＦＵｋＷ（ｉ）を下記式によって算出する：
ＦＵｋＷ（ｉ）＝ΣμＲｊＷ（ｉ）・ＮＲｊＵｋ（ｉ），      ・・・（１０ａ）
式（１０ａ）において、Σは、全てのＷｅｂリクエストの種類についての和を意味している。式（１０ａ）で得られた単価ＦＵｋＷ（ｉ）を、測定期間”１”〜”ｍ”のうち測定データが除去されなかった測定期間に関して和をとることで、測定データが除去されなかった測定期間においてユーザＵｋに課せられるＷｅｂ層の料金ＦＵｋＷを、下記式のように算出することができる：
ＦＵｋＷ＝ΣＦＵｋＷ（ｉ），      ・・・（１０ｂ）
式（９ａ）において、Σは、測定期間”１”〜”ｍ”のうち測定データが除去されなかった測定期間に関する和を意味している。【０１０９】
上記の処理では、測定データが除去された測定期間に関するコストは、各ユーザに配分されていない。測定データが除去された測定期間について各ユーザＵｋに課せられる料金の増分ΔＦＵｋＷは、下記のようにして算出される。まず、測定期間の長さが一定である場合について説明する。【０１１０】
Ｗｅｂ層に関して測定データが除去された測定期間がｐ１、ｐ２、・・・、ｐＬのＬ個であるとする（Ｌ＜ｍ）。このとき、Ｌ個の測定期間のＣＰＵ時間に相当するコスト（Ｌ・ＣＣＰＵＷ）が、Ｗｅｂ層におけるＣＰＵ時間の未配分コストとして運用管理装置７の記憶装置７ｂに記憶される。同様に、Ｗｅｂ層におけるメモリの未配分コストが（Ｌ・ＣＭＷ）も記憶装置７ｂに記憶される。これらの未配分コストの和が、Ｗｅｂ層におけるトータルの未配分コスト（Ｌ・ＣＣＰＵＷ＋Ｌ・ＣＭＷ）である。この未配分コスト（Ｌ・ＣＣＰＵＷ＋Ｌ・ＣＭＷ）をユーザＵｋに課せられるＷｅｂ層の料金ＦＵｋＷを用いて次のように案分することで、測定データが除去された測定期間について各ユーザＵｋに課せられる料金の増分ΔＦＵｋＷが算出される：
2009008279.tif 000018
ここで、Σは、全てのユーザＵｋに対する和を意味している。この増分ΔＦＵｋＷを用いて、ユーザＵｋに課せられるＷｅｂ層の料金は、ＦＵｋＷ＋ΔＦＵｋＷと算出される。【０１１１】
一方、測定期間の長さが可変である場合には、Ｗｅｂ層に関して測定データが除去された測定期間ｐ１、ｐ２、・・・、ｐＬのＣＰＵ時間に相当するコストは、ΣｃＣＰＵＷ・Δｔ（ｐｉ）であり、メモリ使用量に相当するコストは、ΣｃＣＰＵＷ・Δｔ（ｐｉ）である。ここで、Σは、Ｗｅｂ層に関して測定データが除去された測定期間ｐ１、ｐ２、・・・、ｐＬについての和である。上記と同様に、この未配分コストをユーザＵｋに課せられるＷｅｂ層の料金ＦＵｋＷを用いて次のように案分することで、測定データが除去された測定期間について各ユーザＵｋに課せられる料金の増分ΔＦＵｋＷが算出される：
2009008279.tif 000019
ここで、左側のΣは、Ｗｅｂ層に関して測定データが除去された測定期間ｐ１、ｐ２、・・・、ｐＬに関する和であり、右側のΣは、全てのユーザＵｋに対する和を意味している。この増分ΔＦＵｋＷを用いて、ユーザＵｋに課せられるＷｅｂ層の料金は、ＦＵｋＷ＋ΔＦＵｋＷと算出される。【０１１２】
他の二層、即ち、機能層及びデータ層についても、同様にしてユーザに課される料金ＦＵｋＦ＋ΔＦＵｋＦ、ＦＵｋＤ＋ΔＦＵｋＤが算出される。課金データ生成ツール２４は、各ユーザＵｋに課せられる料金ＦＵｋＷ＋ΔＦＵｋＷ、ＦＵｋＦ＋ΔＦＵｋＦ、ＦＵｋＤ＋ΔＦＵｋＤを記述する課金データ４０を生成し、記憶装置７ｂに保存する。【０１１３】
（コンピュータシステムの負荷及び能力の分析）
コンピュータシステム１の負荷及び能力の分析は、システム管理データ生成ツール２５によって行われる。具体的には、システム管理データ生成ツール２５は、上述のＷｅｂ層、機能層、及びデータ層の分析結果データ３５、３６、３７から、下記のデータを生成する。【０１１４】
第１に、システム管理データ生成ツール２５は、Ｗｅｂ層、機能層、データ層それぞれにおける資源の使用率や使用量を、Ｗｅｂリクエストの種類毎、且つ測定期間毎に算出する機能を有している。本実施例では、システム管理データ生成ツール２５は、Ｗｅｂ層、機能層、及びデータ層の分析結果データ３５、３６、３７から、各層におけるＣＰＵ使用率をＷｅｂリクエストの種類毎且つ測定期間毎に算出し、算出されたＣＰＵ使用率を記述したＣＰＵ出力テーブル４１を記憶装置７ｂに保存する。測定期間”ｉ”における、種類”Ｒｊ”のＷｅｂリクエストのＷｅｂ層におけるＣＰＵ使用率ΨＲｊＷ（ｉ）、機能層におけるＣＰＵ使用率ΨＲｊＦ（ｉ）、データ層におけるＣＰＵ使用率ΨＲｊＤ（ｉ）は、それぞれ、全ての測定期間の長さが一定である場合には下記式：
ΨＲｊＷ（ｉ）＝ＮＲｊ（ｉ）・ＵＲｊＷ／Δｔ，      ・・・（１１ａ）
ΨＲｊＦ（ｉ）＝ＮＲｊ（ｉ）・ＵＲｊＦ／Δｔ，      ・・・（１１ｂ）
ΨＲｊＤ（ｉ）＝ＮＲｊ（ｉ）・ＵＲｊＤ／Δｔ，      ・・・（１１ｃ）
によって算出され、測定期間の長さが可変である場合には下記式：
ΨＲｊＷ（ｉ）＝ＮＲｊ（ｉ）・ＵＲｊＷ／Δｔ（ｉ），      ・・・（１２ａ）
ΨＲｊＦ（ｉ）＝ＮＲｊ（ｉ）・ＵＲｊＦ／Δｔ（ｉ），      ・・・（１２ｂ）
ΨＲｊＤ（ｉ）＝ＮＲｊ（ｉ）・ＵＲｊＤ／Δｔ（ｉ），      ・・・（１２ｃ）
によって算出される。図１４Ａは、ＣＰＵ出力テーブル４１のうち、Ｗｅｂ層に対応する部分の内容を示している。ここでいう「”種類Ｒｊ”のＷｅｂリクエストのＷｅｂ層におけるＣＰＵ使用率ΨＲｊＷ（ｉ）」は、”種類Ｒｊ”のＷｅｂリクエスト１つについて算出されるのではなく、”種類Ｒｊ”のＷｅｂリクエスト全体について算出されていることに留意されたい。機能層、データ層におけるＣＰＵ使用率ΨＲｊＦ（ｉ）、ΨＲｊＤ（ｉ）についても同様である。【０１１５】
更にシステム管理データ生成ツール２５は、Ｗｅｂ層、機能層、データ層それぞれにおけるメモリ使用量を、Ｗｅｂリクエストの種類毎、且つ測定期間毎に算出し、算出されたメモリ使用量を記述したメモリ出力テーブル４２を記憶装置７ｂに保存する。図１４Ｂは、メモリ出力テーブル４２のうちＷｅｂ層に対応する部分の内容を示す表である。本実施例では、測定期間”ｉ”における、種類”Ｒｊ”のＷｅｂリクエストのＷｅｂ層におけるメモリ使用量ΦＲｊＷ（ｉ）、機能層におけるメモリ使用量ΦＲｊＦ（ｉ）、データ層におけるメモリ使用量ΦＲｊＤ（ｉ）は、それぞれ、下記式：
ΦＲｊＷ（ｉ）＝ＮＲｊ（ｉ）・ＭＲｊＷ，      ・・・（１３ａ）
ΦＲｊＦ（ｉ）＝ＮＲｊ（ｉ）・ＭＲｊＦ，      ・・・（１３ｂ）
ΦＲｊＤ（ｉ）＝ＮＲｊ（ｉ）・ＭＲｊＤ，      ・・・（１３ｃ）
によって算出される。図１４Ｂは、メモリ出力テーブル４２のうち、Ｗｅｂ層に対応する部分の内容を示している。【０１１６】
更に、システム管理データ生成ツール２５は、ＣＰＵ出力テーブル４１及びメモリ出力テーブル４２の内容をグラフによって表示する機能を有している。具体的には、システム管理データ生成ツール２５は、各測定期間におけるＷｅｂリクエストの種類毎の資源の利用率・使用量をグラフとして表示する機能を有している。例えば、図１５Ａに示されているように、システム管理データ生成ツール２５は、各測定期間におけるＷｅｂリクエストの種類毎のＷｅｂ層のＣＰＵ利用率及びデフォルトＣＰＵ利用率を、グラフとして表示する。システム管理データ生成ツール２５は、メモリ使用量についても同様のグラフを表示するように構成される。このようなグラフは、コンピュータシステム１の現状を把握するために有用である。【０１１７】
更にシステム管理データ生成ツール２５は、ある特定の測定期間における各資源の利用状況を、Ｗｅｂリクエストの種類毎に表示する機能を有している。例えば、システム管理データ生成ツール２５は、図１５Ｂに示されているように、特定の測定期間（図１５Ｂでは１０：００〜１０：０５）におけるＷｅｂ層のＣＰＵ使用率、メモリ使用率、ネットワーク使用率、ディスク使用率をＷｅｂリクエストの種類毎にグラフとして表示する。ここで、種類”Ｒｊ”のＷｅｂリクエストのＷｅｂ層のメモリ使用率とは、Ｗｅｂ層の実際のメモリ使用量ＭＲｊＷをオペレーティングシステムによって管理されている全メモリ量で除算することによって得られる数値である。オペレーティングシステムによって管理されている全メモリ量は、通常のオペレーティングシステムで管理されている値である。メモリの利用状況を、メモリ利用率として定義することにより、図１５Ｂに図示されているように、縦軸を「資源利用率（％）」として定義された一つのグラフに、複数の資源の利用状況をまとめて表示することができる。図１５Ａのグラフと同様に、図１５Ｂのグラフは、コンピュータシステム１の現状を把握するために有用である。なお、システム管理データ生成ツール２５は、更に複数の測定期間（例えば、１０：００〜１０：０５と、１０：０５〜１０：１０の二つの測定期間）における各資源の利用状況を、Ｗｅｂリクエスト毎に表示する機能を有することもできる。具体的には、各測定期間の資源利用率を算出後、それらの平均値を算出することで、上記と同様にグラフとして表示することができる。【０１１８】
Ｗｅｂ層、機能層、データ層に含まれるＣＰＵ、メモリが同等の機能・性能を有している場合には、コンピュータシステム１全体としての資源の使用率や使用量を、Ｗｅｂリクエストの種類毎、且つ測定期間毎に算出することも有用である。一実施例では、コンピュータシステム１全体としてのＣＰＵ使用率やメモリ使用量が、Ｗｅｂリクエストの種類毎、且つ測定期間毎に算出される。具体的には、測定期間”ｉ”における、種類”Ｒｊ”のＷｅｂリクエストのコンピュータシステム１全体としてのＣＰＵ使用率ΨＲｊ（ｉ）は、全ての測定期間の長さが一定である場合には下記式：
ΨＲｊ（ｉ）＝ＮＲｊ（ｉ）・ＵＲｊ／Δｔ，      ・・・（１４ａ）
によって算出され、測定期間の長さが可変である場合には下記式：
ΨＲｊ（ｉ）＝ＮＲｊ（ｉ）・ＵＲｊ／Δｔ（ｉ），      ・・・（１４ａ’）
によって算出される。ここで、ＵＲｊは、Ｗｅｂ層、機能層、データ層のそれぞれにおいて、種類”Ｒｊ”のＷｅｂリクエスト一つが消費するＣＰＵ時間の和であり、下記式：
ＵＲｊ＝ＵＲｊＷ＋ＵＲｊＦ＋ＵＲｊＤ，            ・・・（１４ｂ）
で定義される。一方、測定期間”ｉ”における、種類”Ｒｊ”のＷｅｂリクエストのコンピュータシステム１全体としてのメモリ使用量ΦＲｊ（ｉ）は、下記式：
ΦＲｊ（ｉ）＝ＮＲｊ（ｉ）・ＭＲｊ，      ・・・（１５ａ）
によって算出される。ここで、ＭＲｊは、Ｗｅｂ層、機能層、データ層のそれぞれにおいて、種類”Ｒｊ”のＷｅｂリクエスト一つのメモリ使用量の和であり、下記式：
ＭＲｊ＝ＭＲｊＷ＋ＭＲｊＦ＋ＭＲｊＤ，            ・・・（１５ｂ）
で定義される。【０１１９】
更に、システム管理データ生成ツール２５は、コンピュータシステム１の負荷が比較的軽いときのＷｅｂリクエストのレスポンスタイム（応答時間）を、Ｗｅｂリクエストの種類毎に推定する機能を有している。レスポンスタイムは、コンピュータシステム１の能力を分析するために有効なパラメータである。具体的には、システム管理データ生成ツール２５は、種類”Ｒｊ”のＷｅｂリクエストのレスポンスタイムＴＲｊを下記式によって算出する：
ＴＲｊ＝ＵＲｊＷ＋ＵＲｊＦ＋ＵＲｊＤ，      ・・・（１５ｃ）
上述のように、ＵＲｊＷ、ＵＲｊＦ、ＵＲｊＤは、それぞれ、Ｗｅｂ層、機能層、データ層において種類”Ｒｊ”のＷｅｂリクエスト１つを処理するために使用されるＣＰＵ時間であり、そのＣＰＵ時間の和は、概ね、負荷が比較的軽いときのレスポンスタイムと一致する。算出されたレスポンスタイムは、レスポンスタイムデータ４３として記憶装置７ｂに保存される。【０１２０】
通常、負荷が比較的軽い状態でのレスポンスタイムを得るためには、専用の実験環境を用意して測定実験を行なう必要がある。ところが、本実施例の手法を用いると、常に何らかのリクエスト処理を行なっているような実運用環境においてもレスポンスタイムを測定することができる。そのため、専用の実験環境を用意する必要がない。【０１２１】
以上には、本発明の好適な実施例が説明されているが、本発明は、様々に変形可能であり、上述の実施例に限定して解釈されてはならない。【０１２２】
例えば、上述の実施例では、Ｗｅｂリクエストの種類は、それに含まれるメソッドで定義されているが、異なる定義であってもよい。例えば、Ｗｅｂリクエストの種類は、当該Ｗｅｂリクエストによって参照されるＵＲＬによって定義されてもよい。【０１２３】
また、本実施例では、コンピュータシステム１は、Ｗｅｂ層、機能層、データ層の３階層に階層化されたサーバ網であるが、２層や、４層以上に階層化されたサーバ網のコンピュータシステムに本発明が適用されることも可能である。また、本発明は、階層化されていないコンピュータシステムに適用されることも可能である。【０１２４】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。【０１２５】
本出願は、２００７年７月１０日に出願された日本国特許出願２００７−１８０８４３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2009008279.tif 000020
【図２】
2009008279.tif 000021
【図３】
2009008279.tif 000022
【図４】
2009008279.tif 000023
【図５】
2009008279.tif 000024
【図６】
2009008279.tif 000025
【図７】
2009008279.tif 000026
【図８Ａ】
2009008279.tif 000027
【図８Ｂ】
2009008279.tif 000028
【図８Ｃ】
2009008279.tif 000029
【図８Ｄ】
2009008279.tif 000030
【図９】
2009008279.tif 000031
【図１０Ａ】
2009008279.tif 000032
【図１０Ｂ】
2009008279.tif 000033
【図１１】
2009008279.tif 000034
【図１２Ａ】
2009008279.tif 000035
【図１２Ｂ】
2009008279.tif 000036
【図１３】
2009008279.tif 000037
【図１４Ａ】
2009008279.tif 000038
【図１４Ｂ】
2009008279.tif 000039
【図１５Ａ】
2009008279.tif 000040
【図１５Ｂ】
2009008279.tif 000041
【国際調査報告】
2009008279.tif 000042
2009008279.tif 000043
2009008279.tif 000044
2009008279.tif 000045