(57)【要約】【課題】コンピュータシステムの待ち行列モデルを生成するためのコンピュータ実施方法を提供すること。【解決手段】本開示の実装形態は、複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、サービス要求を受信および処理するコンピュータシステムにそのワークロードを適用するステップと、ワークロードの要求ごとにコンピュータシステムの応答時間を測定するステップと、応答時間に基づくクラスごとの平均サービス需要、およびコンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、平均サービス需要およびワークロードの特徴に基づいて待ち行列モデルを生成するステップとを含む、コンピュータ実施方法を提供する。【選択図】図１
2011086295.tif 000002
【特許請求の範囲】
【請求項１】
複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、
サービス要求を受信および処理するコンピュータシステムに前記ワークロードを適用するステップと、
前記ワークロードの要求ごとに前記コンピュータシステムの応答時間を測定するステップと、
前記応答時間に基づくクラスごとの平均サービス需要、および前記コンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、
前記平均サービス需要および前記ワークロードの特徴に基づいて前記待ち行列モデルを生成するステップとを備える、待ち行列モデルを生成するコンピュータ実施方法。
【請求項２】
前記ワークロードのそれぞれの要求に対応する複数の到着待ち行列長を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の到着待ち行列長にさらに基づく、請求項1に記載の方法。
【請求項３】
前記複数の到着待ち行列長のそれぞれの到着待ち行列長が、要求の発着時間を報告するログファイルから決定される、請求項2に記載の方法。
【請求項４】
前記ワークロードのそれぞれの要求に対応する複数の残余時間を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の残余時間にさらに基づく、請求項1に記載の方法。
【請求項５】
平均サービス需要を推定するステップが、前記測定された応答時間に基づいて直線回帰および最尤法解析のうちの1つを使用して前記基本的な待ち行列モデルにおける平均サービス需要を推定するステップを備える、請求項1に記載の方法。
【請求項６】
前記待ち行列モデルを生成するステップが、前記平均サービス需要を使用して前記基本的な待ち行列モデルをパラメータ化するステップを備える、請求項1に記載の方法。
【請求項７】
複数の入力を使用して前記待ち行列モデルを処理することによってコンピュータシステムの性能を評価するステップをさらに備える、請求項1に記載の方法。
【請求項８】
1つまたは複数のプロセッサに結合されており、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、
サービス要求を受信および処理するコンピュータシステムに前記ワークロードを適用するステップと、
前記ワークロードの要求ごとに前記コンピュータシステムの応答時間を測定するステップと、
前記応答時間に基づくクラスごとの平均サービス需要、および前記コンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、
前記平均サービス需要および前記ワークロードの特徴に基づいて前記待ち行列モデルを生成するステップとを備える動作を実行させる命令を内部に格納した、コンピュータ可読記憶媒体。
【請求項９】
前記動作が、前記ワークロードのそれぞれの要求に対応する複数の到着待ち行列長を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の到着待ち行列長にさらに基づく、請求項8に記載の記憶媒体。
【請求項１０】
前記複数の到着待ち行列長のそれぞれの到着待ち行列長が、要求の発着時間を報告するログファイルから決定される、請求項9に記載の記憶媒体。
【請求項１１】
前記動作が、前記ワークロードのそれぞれの要求に対応する複数の残余時間を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の残余時間にさらに基づく、請求項8に記載の記憶媒体。
【請求項１２】
平均サービス需要を推定するステップが、前記測定された応答時間に基づいて直線回帰および最尤法解析のうちの1つを使用して前記基本的な待ち行列モデルにおける平均サービス需要を推定するステップを備える、請求項8に記載の記憶媒体。
【請求項１３】
前記待ち行列モデルを生成するステップが、前記平均サービス需要を使用して前記基本的な待ち行列モデルをパラメータ化するステップを備える、請求項8に記載の記憶媒体。
【請求項１４】
複数の入力を使用して前記待ち行列モデルを処理することによってコンピュータシステムの性能を評価するステップをさらに備える、請求項8に記載の記憶媒体。
【請求項１５】
サービス要求を受信および処理するコンピュータシステムと、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合されており、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、
前記コンピュータシステムに前記ワークロードを適用するステップと、
前記ワークロードの要求ごとに前記コンピュータシステムの応答時間を測定するステップと、
前記応答時間に基づくクラスごとの平均サービス需要、および前記コンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、
前記平均サービス需要および前記ワークロードの特徴に基づいて前記待ち行列モデルを生成するステップとを備える動作を実行させる命令を内部に格納したコンピュータ可読記憶媒体とを備える、システム。
【請求項１６】
前記動作が、前記ワークロードのそれぞれの要求に対応する複数の到着待ち行列長を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の到着待ち行列長にさらに基づく、請求項15に記載のシステム。
【請求項１７】
前記複数の到着待ち行列長のそれぞれの到着待ち行列長が、要求の発着時間を報告するログファイルから決定される、請求項16に記載のシステム。
【請求項１８】
前記動作が、前記ワークロードのそれぞれの要求に対応する複数の残余時間を決定するステップをさらに備え、平均サービス需要を推定するステップが前記複数の残余時間にさらに基づく、請求項15に記載のシステム。
【請求項１９】
平均サービス需要を推定するステップが、前記測定された応答時間に基づいて直線回帰および最尤法解析のうちの1つを使用して基本的な待ち行列モデルにおける平均サービス需要を推定するステップを備える、請求項15に記載の記憶媒体。
【請求項２０】
前記コンピュータシステムが、アプリケーションを実行するアプリケーションサーバ、および前記要求を生成する1つまたは複数のクライアントシステムを備える、請求項15に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、応答時間に基づいてサービスリソース消費を推定することに関する。
【背景技術】
【０００２】
ソフトウェアおよびハードウェアシステムのスケーラビリティを予測するために、解析法またはシミュレーションによって性能モデルが実装されうる。より具体的には、ソフトウェアおよびハードウェアシステムへの要求が、その要求に応答するために使用されるシステムリソースに要求を出す。このようなシステムの性能予測を得るためのモデリングおよび評価技法はあるが、サービス需要の良い推定を提供できるリソース消費推定方法はほとんどない。サービス需要は性能モデルの指定において重要なパラメータである。したがって、代表的であり堅牢であるモデルを定義するためのサービス需要の正確な推定が所望される。
【０００３】
従来、中央処理装置(CPU)使用率は、ソフトウェアおよびハードウェアシステムのサービス需要を推定するために実装されてきた。しかし、CPU使用率の使用にはいくつか欠乏しているものがある。たとえば、CPU使用率測定は、ハードウェア上で実行されるオペレーティングシステムへのアクセスを必要とし、また専門のCPUサンプリング計測も必要とする。CPUサンプリング計測は通常のシステム活動を干渉して、不正確なCPU使用率測定を提供する可能性がある。いくつかのシナリオでは、たとえば仮想環境などにおいて、ハイパーバイザオーバーヘッドのフィルタリングが必要なために正確なCPU使用率サンプリングがより困難である。他のシナリオでは、モデル化されるために、システムはCPU使用率データをサーバに提供しないウェブサービスプロバイダなどの第三者に所有される。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の実装により、コンピュータシステムの待ち行列モデルを生成するためのコンピュータ実施方法が提供される。ある実装形態では、本方法は複数のサービス要求を備えるワークロードを定義するステップであって、それぞれのサービス要求が複数のクラスのうちの1つのクラスに対応するステップと、サービス要求を受信および処理するコンピュータシステムにそのワークロードを適用するステップと、ワークロードの要求ごとにコンピュータシステムの応答時間を測定するステップと、応答時間に基づくクラスごとの平均サービス需要、およびコンピュータシステムを表す基本的な待ち行列モデルを推定するステップと、平均サービス需要およびワークロードの特徴に基づいて待ち行列モデルを生成するステップとを含む。ワークロードの特徴は、1秒あたり平均5つの要求を有する指数到着時間間隔などの、待ち行列内に到着する要求の到着時間間隔分布を含むことができるが、これに限定されない。
【０００５】
いくつかの実装形態では、本方法は、ワークロードのそれぞれの要求に対応する複数の到着待ち行列長を決定するステップであって、平均サービス需要を推定するステップが複数の到着待ち行列長にさらに基づくステップをさらに含む。複数の到着待ち行列長のそれぞれの到着待ち行列長は、要求の発着時間を報告するログファイルから決定されうる。
【０００６】
いくつかの実装形態では、本方法は、ワークロードのそれぞれの要求に対応する複数の残余時間を決定するステップであって、平均サービス需要を推定するステップが複数の残余時間にさらに基づくステップをさらに含む。それぞれの残余時間は、処理されるべき要求の到着時に作業中の要求の処理を完了するために残っている時間に対応できる。
【０００７】
いくつかの実装形態では、平均サービス需要を推定するステップは、測定された応答時間に基づいて、直線回帰法解析および最尤法解析のうちの1つを使用して基本的な待ち行列モデル内の平均サービス需要を推定するステップを含む。
【０００８】
いくつかの実装形態では、待ち行列モデルを生成するステップは、平均サービス需要を使用して基本的な待ち行列モデルをパラメータ化するステップを含む。
【０００９】
いくつかの実装形態では、基本的な待ち行列モデルは待ち行列モデルの特徴における仮定を含み、その特徴はスケジューリングおよびサービス需要分布のうちの少なくとも1つを備える。
【００１０】
いくつかの実装形態では、コンピュータシステムはアプリケーションを実行するアプリケーションサーバ、および要求を生成する1つまたは複数のクライアントシステムを含む。
【００１１】
いくつかの実装形態では、本方法は、待ち行列モデルを処理することによってコンピュータシステムの性能を評価するステップをさらに含む。
【００１２】
本開示は、1つまたは複数のプロセッサに結合されており、1つまたは複数のプロセッサによって実行されると、その1つまたは複数のプロセッサに本明細書で提供された方法の実施に従って動作を実行させる命令を内部に格納したコンピュータ可読記憶媒体も提供する。
【００１３】
本開示は、本明細書で提供された方法を実施するためのシステムをさらに提供する。システムは、サービス要求を受信および処理するコンピュータシステム、1つまたは複数のプロセッサ、ならびに1つまたは複数のプロセッサに結合されており、1つまたは複数のプロセッサによって実行されると、その1つまたは複数のプロセッサに本明細書で提供された方法の実施に従って動作を実行させる命令を内部に格納したコンピュータ可読記憶媒体を含む。
【００１４】
本開示による方法は、本明細書に記載される態様および特徴のどのような組合せも含むことができることを理解されたい。すなわち、本開示による方法は、本明細書に特に記載された態様および特徴の組合せに限定されず、提供された態様および特徴のどのような組合せも含む。
【００１５】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の記述において説明される。本開示の他の特徴および諸利点は、記述および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】本開示の実装による例示的なシステムアーキテクチャの略図である。
【図２】例示的な企業資源計画(ERP)システムの機能ブロック図である。
【図３】例示的なERPアプリケーションに対応する例示的な待ち行列モデルの機能ブロック図である。
【図４】本開示の実装形態による応答時間ベースの手法の概要を示す図である。
【図５】測定された応答時間と測定された待ち行列長との間の直線関係を示すグラフである。
【図６Ａ】本開示の実装形態による応答時間手法に基づく応答時間予測と従来の利用ベースの手法との比較を示すグラフである。
【図６Ｂ】本開示の実装形態による応答時間手法に基づく応答時間予測と従来の利用ベースの手法との比較を示すグラフである。
【図７Ａ】異なるサーバ利用レベルでの例示的な平均相対誤差を示すグラフである。
【図７Ｂ】異なるサーバ利用レベルでの例示的な平均相対誤差を示すグラフである。
【図７Ｃ】異なるサーバ利用レベルでの例示的な平均相対誤差を示すグラフである。
【図８Ａ】図7Aの平均相対誤差に対応する例示的な累積分布関数(CDF)を示す図である。
【図８Ｂ】図7Bの平均相対誤差に対応する例示的な累積分布関数(CDF)を示す図である。
【図８Ｃ】図7Cの平均相対誤差に対応する例示的な累積分布関数(CDF)を示す図である。
【図９】本開示の実装形態によって実行されうる例示的なステップを示す流れ図である。
【図１０】本開示の実装形態を実行するために使用されうる例示的なコンピュータシステムの略図である。
【発明を実施するための形態】
【００１７】
様々な図面における同様の参照記号は同様の要素を示している。
【００１８】
図1を特に参照すると、例示的なシステム100が示されている。図１の例示的システム100は、ネットワーク110を介して1つまたは複数のバックエンドサーバシステム106と通信する複数のクライアントコンピュータ102を含む企業資源計画(ERP)システムとして提供されうる。ネットワークは、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、セルラー式ネットワーク、またはいくつもの数のモバイルクライアントとサーバとを接続するそれらの組合せなどの、大規模コンピュータネットワークとして提供されうる。いくつかの実装形態では、クライアント102はサーバシステム106に直接(たとえば、ネットワークを通じて接続せずに)接続されてよい。
【００１９】
クライアントコンピュータ102は、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、携帯情報端末(PDA)、セルラー式電話、ネットワークアプライアンス、カメラ、スマートフォン、EGPRS(enhanced general packet radio service)移動電話、メディアプレイヤー、ナビゲーション装置、電子メール装置、ゲーム機、あるいはこれらのデータ処理装置または他のデータ処理装置のうちのいずれかの2つ以上の組合せを含む、様々な形式の処理装置を表すが、これらに限定されない。サーバシステム106は、アプリケーションサーバ112およびデータベース114を含み、ウェブサーバ、アプリケーションサーバ、プロキシサーバ、ネットワークサーバ、および/またはサーバファームを含む様々な形式のサーバを表すことを目的としているが、これらに限定されない。一般に、サーバシステム106はアプリケーションサービスを求めるユーザ要求を受け取って、ネットワーク110を介してこのようなサービスをいくつもの数のクライアント装置102にも提供する。いくつかの実装形態では、サーバシステム106は、サービスプロバイダがウェブサービスに関するデータを管理およびアクセスできる中心点を提供できる。
【００２０】
動作中、複数のクライアント102がネットワーク110を通じてサーバシステム106と通信できる。たとえばブラウザベースのアプリケーションなどのアプリケーションを実行するために、それぞれのクライアント102はサーバシステム106との対応するセッションを確立できる。それぞれのセッションは、サーバシステム106とそれぞれの個々のクライアント102との間の双方向情報交換を含むことができる。この双方向情報交換は、サーバシステム106に伝えられる、クライアント102で生成された要求を含むことができる。サーバシステム106は要求を受信し、複数の要求を待ち行列に入れ、要求に基づいて処理を実行し、要求しているクライアント102に応答を提供する。
【００２１】
本開示の実装形態は、図1を参照して上記で論じたシステム100などのコンピュータソフトウェアおよびハードウェアシステム上のサービス需要の正確な推定を対象にする。本開示の実装形態を示すためにERPシステムが使用されるが、本開示の適用性はERPシステムに限定されない。より具体的には、本開示は、どのようなタイプの多段配列プログラムアプリケーション、ハードウェアのモデリング(たとえば、ディスクドライブまたはメモリ)、および/またはネットワークリンクも含む、どのようなコンピュータソフトウェアおよびハードウェアシステムにも適用できるが、これらに限定されない。
【００２２】
本開示の実装形態は、マルチクラスワークロードについてのサービス需要を推定するために、測定された要求の応答時間を使用する推定方法を提供する。応答時間は、要求を完了するための端から端までの時間として提供され、サービス時間(たとえば、その要求に関心が向けられている、またはサービスされている時間)およびリソース競合のための遅延(たとえば、バッファリングのための待ち時間)の両方を含む。ワークロード(すなわち要求のボディ)はいくつかのクラス(すなわちトランザクションのタイプ)を含むことができる。本開示の実装形態は、応答時間測定に基づいてクラスごとのサービス需要とも呼ばれるサービス時間の推定に取り組む。
【００２３】
開示された応答時間ベースの手法が改良された性能予測をもたらすことを示している本開示の実装形態を示すために、非限定的な例として実社会の産業ERPアプリケーションが使用される。応答時間はアプリケーションを実行することによってしばしば直接ログを取られる、および/または外部オブザーバによって得ることができるので、本開示の応答時間ベースの手法はより広範囲に適用可能である。さらに、利用データをサーバに公開しない、サービスプロバイダなどの第三者によって所有されるシステムにとって、応答時間は容易に入手可能であってよい。
【００２４】
本開示のサービス需要推定方法は、これに限定されないが、先着順(FCFS)スケジューリングを有するシステムで実装することができ、直線回帰推定手法および最尤推定手法に基づく。応答時間ベースの直線回帰は、要求の平均応答時間と要求がシステムに到着するときに見られる待ち時間長とを関連付ける正確な方程式を使用し、これらは両方ともアプリケーションログから容易に得ることができる。最尤手法は測定された応答時間の分布全体を考慮し、推定精度の向上を実現できる。本開示は、位相型分布を使用して、尤度値を求めるための、およびリソース消費を推定するための計算法を提供する。
【００２５】
この情報は、基本的なシステムのモデルを作る待ち行列モデルをパラメータ化するために使用される。本明細書で使用されるように、パラメータ化はモデル、この場合は待ち行列モデルの完全なまたは関連する仕様に必要なパラメータを決定および定義する処理を含む。待ち行列モデルは、実際の待ち行列システムに近似するモデルであり、定常状態性能測定を使用して待ち行列行動を解析できる。待ち行列モデルは、A/B/S/K/N/Discとして提供されるケンドールの記号を使用して表すことができ、上記でAは到着時間間隔分布であり、Bはサービス時間分布であり、Sはたとえばサーバの数であり、Kはシステム容量であり、Nは呼び人口であり、Discは仮定されるサービス規律である。いくつかの例では、K、N、およびDiscは省略され、表記法はA/B/Sになる。分布のための標準的な表記法Aおよび/またはBは、マルコフ(指数)分布を意味するM、k位相を有するアーラン分布を意味するEk、退化(または決定論的)分布を意味するD(定数)、一般分布を意味するG(任意)、および位相型分布を意味するPHを含む。
【００２６】
以下でより詳細に論じる計算結果は、利用ベースの手法と比較して応答時間ベースの手法の改良された精度を示している。さらに、本開示の応答時間ベースの手法の本質的な利点は、サーバでの応答時間がシステム内の要求によって招かれるすべてのレイテンシ低下に依存することである。したがって、応答時間は帯域幅、メモリ、および入力/出力(I/O)競合遅延を説明するので、応答時間は本質的により包括的な性能のディスクリプタである。本開示の応答時間ベースの手法は、そうでなければ従来の手法によって無視されてしまう遅延を容易に説明する。
【００２７】
次に図2を参照すると、簡略化された例示的なアプリケーションサーバシステム200が示されている。図2の簡略化されたアーキテクチャは、本開示の実装形態を示すために使用される非限定的な例として提示される。システム200はアプリケーションサーバシステム202およびワークロードジェネレータ204を含む。ワークロードジェネレータ204は、アプリケーションサーバシステム202に要求を転送する複数のクライアント装置（たとえばクライアント102）として機能し、アプリケーションサーバシステム202のリソースにサービス需要を出す。システム200は、SAP AG of Walldorf, Germanyによって提供されるSAP Business Suiteに含まれるものなどの1つまたは複数のアプリケーションプログラムのうちのERPアプリケーションを含むことができる。図2の例示的システム200は2層構造で提供され、共通の仮想マシン上にインストールされたアプリケーションサーバおよびデータベースサーバを含む。図2の例において、および本説明のために、他のどのような仮想マシンも物理的なマシン上で実行しない。しかし本開示はこのような構成に限定されないことを理解されたい。
【００２８】
システム200は、これに限定されないが、標準的なビジネストランザクション(たとえば販売注文および請求書の作成および/または一覧作成)を含みうる動作 (たとえば販売および流通)のワークロードを使用してストレステストにかけられる。ワークロードジェネレータ204は、N個のユーザ206の固定グループによって要求が発行される、クローズドタイプのワークジェネレータでよい。ユーザによって提出された要求が完了すると、新しい要求をシステムに提出する前に、指数分布の思考時間(たとえば、平均時間Zは10秒に等しい)が終了する。すべてのユーザ206は要求の同じシーケンスをERPアプリケーションに循環的に提出する。要求の提出後、アプリケーションサーバは複数の並行ユーザ206からの要求を処理する。この処理はデータベース208から抽出した情報を使用して実現できる。アプリケーションサーバは、待ち行列内の要求をバッファしてその要求を作業過程212に転送する、ディスパッチャ210を使用する。作業過程212は、要求を並行して供給する個別のオペレーティングシステムスレッドとして提供されうる。作業過程212は、対話型プログラムを実行する対話処理として実行されてもよく、データベース変更を実行するアップデート処理として実行されてもよい。
【００２９】
要求のリソース消費を推定するために測定された応答時間（RMEAS）が使用されれば、ERPアプリケーション（たとえば図2の）の性能を説明する基本的な待ち行列モデルのパラメータ化が著しく改良される。このタスクのために考慮された性能モデルは、これに限定されないが、基本的なM/M/1//Nモデル300を含み、その例示的な構造は図3に示されている。図3の例示的モデル300は、遅延サーバ302、ならびにウェイティングバッファ306、作業過程およびデータベースシステム308を含むERPシステム304を含む。M/M/1//Nモデル300は、N個のユーザの有限母集団によって生成された要求を有するM/M/1/待ち行列である。これは、ユーザの思考時間のモデルを作る遅延ステーション、続いてクローズドループ上の待ち行列ステーションで構成されるクローズド待ち行列ネットワークとしても見ることができる。ウェイティングバッファ306はERPシステム304における流入制御を表し、作業過程において実行されるとサーバは要求のリソース消費のモデルを作る。
【００３０】
データベースサーバの利用は5%未満であるのが一般的である。したがってデータベース層での待ち行列の影響はごくわずかであり、データベースから暫定的データへの合計時間
【００３１】
【数１】
2011086295.tif 000003
【００３２】
は作業過程におけるサービス需要の構成要素として使用されうる。待ち行列モデルにおける思考時間およびサービス需要の両方が指数分布されると仮定されうる。この仮定は、ERPシステムにおける実際のサービス需要分布の良い近似として検証されている。測定されたサービス需要(すなわち標準偏差と平均との比率)の変動係数(CV)はCV=[1:02;1:35]における異なるバリデーションに値域を定めるのに対し、理論的な指数はCV=1である。モデル仮定と一致して、バリデーションについてのすべての思考時間も指数分布を使用して生成されている。
【００３３】
待ち行列モデルをパラメータ化する場合、基本的な待ち行列モデルが初めに決定される。基本的な待ち行列モデルは、コンピュータシステム（たとえばCPU）のリソースからの要求の発着を表す確率論的モデルである。基本的な待ち行列モデルは、リソースモデル化によって供給される要求の性能に影響を及ぼす現象を捉えるためにアナリストの抽象的概念として提供される。コンピュータシステムを説明するためにこのような待ち行列モデルについて定義される特徴は、リソーススケジューリング規律およびそれらのサービス時間分布、ならびに他のリソースとの相互接続および/またはそれぞれのリソースでの要求到着の統計的特徴を含む。この情報に基づいて、たとえば標準的なマルコフ連鎖理論を使用して基本的な待ち行列モデルが提供されうる。その次に、基本的な待ち行列モデルおよび測定された応答時間を処理することによって決定されうる推定された平均サービス需要に基づいて、最後のまたは対象の待ち行列モデルがパラメータ化されうる。本開示において提供される平均サービス需要の推定によって、基本的な待ち行列モデルにおける1つまたは複数のリソースモデル化についてのサービス時間分布のパラメータ化ができるようになる。
【００３４】
モデルによって予測された応答時間が、すべての可能な数のユーザNのための実際のシステムの測定された応答時間(RMEAS)に正確に一致するように、サーバでの要求の平均サービス需要(E[D])が決定される。軽負荷と重負荷とでERPシステムの動作に非常に異なって影響を及ぼすキャッシングの大きな役割のため、サービス需要はモデルにおけるユーザNの数の関数として指定される(すなわちE[D]≡E[D](N))。この推定手法は複雑なソフトウェアシステムのモデルを作る際に通常使用される。
【００３５】
次に図4を参照すると、本開示は応答時間測定(RMEAS)に基づいて待ち行列モデルの直接パラメータ化を提供する。より具体的には、測定された応答時間の分布またはモーメントに最もよく一致するようにサービス需要が推定される。これは図4に示されるようなモデリング方法論における重要なパラダイム変化を必要とする。図4のモデリング方法論はデータ収集400、モデリング仮定(たとえばスケジューリングおよびサービス分布)402、需要推定404、ならびにモデル生成およびソリューション406を含む。モデルのソリューションは、平均応答時間、平均スループット、およびランダムな時点で待ち行列内の一定数の要求を観測する確率についての値によって提供されうる。
【００３６】
応答時間はスケジューリングまたはサービス需要分布に関連するいくつかのシステムプロパティに依存するので、スケジュール上の仮定または一般的な形式の分布は、サービス需要推定活動の開始より前に行われる。仮定は、スケジューリングのタイプ（たとえばFCFSスケジューリング）、モデル化されるべきワークロードクラスの数、およびそれぞれの要求のサービス需要の分布(たとえば、指数分布)を含むことができるが、これらに限定されない。したがって、返されたサービス需要は、それらが使用されることになるモデルの特徴に依存する。対象のモデルに関連する可能な限り高いサービス需要推定を決定するために、最後のモデルの特徴の予備仮定が提供される。モデリング活動の目的は、実験的観測とモデル予測との間のよい合致を得ることなので、本開示の応答時間ベースの手法はモデル仮定の下で最高のパラメータを返すことによってこの目的を実現することにより強い焦点を置く。
【００３７】
上記で論じたように、例示的ERPシステムは指数分布されたサービス需要を有するFCFS待ち行列としてモデル化されうる。たとえば、指数分布はイベントが一定の平均レートで連続的および単独で発生する処理におけるイベント間の時間を説明できる。これらの仮定の下で、n個のウェイティング要求およびサービス中の1つの要求を有するシステムを発見する要求は、以下のように確率変数の合計の分布によって与えられる応答時間分布を受信する:
R=T+D1+D2+...+Dn+ Dn+1  (1)
上式で、Tはサービス中の要求の完了前の残余時間であり、1≦i≦nであるDiはi番目に待ち行列に入れられた要求のサービス需要であり、Dn+1は新たに到着した要求のサービス需要である。指数分布の定義によって、TはDと等しく、したがって確率変数Rの分布はn+1個の指数確率変数のコンボリューションである点に留意されたい。
【００３８】
平均応答時間が以下の関係を満たすのがわかっていることを、単純な微分によって示すことができる。
E[R]=E[D](1+E[A])  (2)
上式でE[D]は平均サービス需要であり、E[A]は到着時に要求によって観測される平均待ち行列長である。式2は、新しい要求の到着時にERPシステムにおける要求の平均数の知識がある場合は要求の平均サービス需要を推定するために使用されうる。値Aは、実行された実験のログファイルから得ることができ、要求の発着時間を報告する。
【００３９】
【数２】
2011086295.tif 000004
【００４０】
の推定は、X連続要求（たとえば、X=20）のグループについてRMEASおよび測定されたA値を平均化することによって得られたE[R]およびE[A]のサンプルのシーケンスを使用して式2の直線回帰によって得ることができる。ERPシステムにおけるE[R]とE[A]との間の測定された直線関係の例示的なグラフィカルな説明は図5で提供される。
【００４１】
式2より、直線回帰によってE[D]の値を求めることができる:
【００４２】
【数３】
2011086295.tif 000005
【００４３】
上式で、指数iは測定活動において収集されたi番目の値を意味し、
【００４４】
【数４】
2011086295.tif 000006
【００４５】
および
【００４６】
【数５】
2011086295.tif 000007
【００４７】
はそれぞれX連続iサンプル（たとえばX=20）で平均される応答時間および到着待ち時間長である。
【００４８】
上述の式を基礎として使用して、本開示は直線回帰技法および最尤技法に基づいてマルチクラス要求のためのサービス需要推定アルゴリズムを提供し、それぞれについては例示的な待ち行列シナリオを使用して以下でさらに詳細に説明する。例示的な説明のためだけに、ユーザが合計I個のサンプルの入力トレースをサービス需要推定アルゴリズムに提供したと仮定する。これは、これらに限定されないが、クラスcの要求についての測定された応答時間(Rc)のシーケンス、およびそれぞれのクラスc要求によって到着時に見られる対応するクラスk要求の待ち行列長
【００４９】
【数６】
2011086295.tif 000008
【００５０】
を含むことができる。ワークロードクラスの数はKで表される。
【００５１】
ある実装形態では、指数サービスの仮定が廃棄されるか複数のクラスが考慮される場合、式3で与えられた直線関係は変更しない。したがって、複数のクラスを有する非生産形式待ち行列ネットワークにおけるFCFS待ち行列を推定するために導出された数式の変形が以下のように提供される:
【００５２】
【数７】
2011086295.tif 000009
【００５３】
上式で1k,cは、k=cの場合1に等しく、k≠cの場合は0に等しい。Tcは、クラスc要求の到着の瞬間に実行中である要求の完了前の残余時間であり、Kは要求クラスの数であり、E[Dk]はクラスkの平均サービス需要であり、
【００５４】
【数８】
2011086295.tif 000010
【００５５】
は新たに到着した要求と現在サービス中の要求の両方を除くシステムにおいて待ち行列に入っているクラスkの要求の平均数である。
【００５６】
式4は、たとえばGI/GI/1/FCFS待ち行列におけるクラスcの要求の平均要求時間を提供できる。GIは一般的な独立分布を示しており、要求が相互に独立している特定のタイプの一般分布である。FCFSスケジューリングを有するGI/GI/1待ち行列の例示的な場合では、システムがn+1個の待ち行列に入っている要求（すなわちウェイティング中のn個の要求とサービス中の要求）を有するときに到着するクラスcの要求の応答時間を説明する確率変数が以下のように提供される:
Rc=Tc+D1+D2+…+Dn+Dc  (5)
上式で、Tcはサービス中の現在の要求の完了前の残余時間であり、1≦i≦nであるDiはi番目に待ち行列に入っている要求のサービス需要であり、Dcは新たに到着した要求のサービス需要である。
【００５７】
到着待ち行列長がAc=nであることが条件とされている予想をすると:
【００５８】
【数９】
2011086295.tif 000011
【００５９】
上式で、C(i)は位置i(1≦i≦n)における要求のクラスである。
【００６０】
要求クラスの関数としてのサービス需要は以下のように表すことができる：
【００６１】
【数１０】
2011086295.tif 000012
【００６２】
式7を式6に代入すると:
【００６３】
【数１１】
2011086295.tif 000013
【００６４】
続いて平均応答時間は以下に基づいて決定されうる:
【００６５】
【数１２】
2011086295.tif 000014
【００６６】
上式で、
【００６７】
【数１３】
2011086295.tif 000015
【００６８】
は、クラスcの要求による到着時に待ち行列内でウェイティング中のクラスk要求の平均数
【００６９】
【数１４】
2011086295.tif 000016
【００７０】
である。
【００７１】
クラス需要E[Dk]の推定は、非負最小二乗アルゴリズム(たとえば、Mathworks, Inc.によってMATLABにおいて提供されるlsgnonneg)などの回帰法を使用して式4から得ることができ、推定上の信頼区間は標準的な数式を使用して生成されうる。式4は、クラスごとの応答時間Rcおよび到着待ち行列長Acが知られている場合、平均サービス需要E[Dk]を推定するための直線回帰において使用されうる。一般に、E[Tc]を直接測定するのは難しい場合がある。したがって、この量を推定するために近似が必要である。これを実現するために、これに限定されないが、標準的なポアソン到着近似Tc=Dkを含むことができる近似スキームが実装されうる。
【００７２】
例示的なGI/GI/1/FCFS待ち行列内に残余時間数式(Tc)についての正確な結果がないため、以下の残余時間についての再生理論数式が使用される:
【００７３】
【数１５】
2011086295.tif 000017
【００７４】
上式で、CVcはクラスcのサービス需要分布の変動係数である。これは明らかにGI/GI/1/FCFS待ち行列における近似であり、到着ストリームがポアソン過程の場合、正確な数式になる。CVcの値が先験的に知られていない場合、研究中のシステムに適していると仮定される異なるCVc値についての式4の値を求めることはまだ可能である。式4の最小二乗解法において最小平均残余誤差を生じさせる、したがって観測に最適である変形係数のグループであるセットがCVc値の最良の推定値として選択される。これは、非指数サービス分布のための式4の可能なアプリケーションについての一般的なスキーマを概説する。
【００７５】
いくつかの実装形態では、一定のサンプルパスを観測する確率の解析式に基づいて確率変数の統計を推論するために最尤推定が使用されうる。平均サービス需要推定の範囲内で、すべての1≦i≦IについてRiはi番目に観測または測定された応答時間を示させることによって最大尤度を公式化でき、上式でIは測定された応答時間の総数である。測定された応答時間のシーケンスを観測する確率R1,…,Ri,…,RIが最大になるように、それぞれのクラス1≦k≦K平均サービス需要E[Dk]が求められる。公式にこれは平均サービス需要のセットE[D1],…,E[Dk]を発見することとして表すことができる。これは以下の最大化問題を解決する:
【００７６】
【数１６】
2011086295.tif 000018
【００７７】
すべてのクラスk について、E[Dk]≧0であることを条件とする。応答時間を独立確率変数と仮定すると、式11における同時確率の数式は以下の積に簡約される:
【００７８】
【数１７】
2011086295.tif 000019
【００７９】
積を和として同等に表現するために対数を取ると以下が提供される:
【００８０】
【数１８】
2011086295.tif 000020
【００８１】
上式で、ここでは独立変数は以下のように提供される尤度関数である:
【００８２】
【数１９】
2011086295.tif 000021
【００８３】
課題は研究中の問題を表す尤度関数についての、および最大値を効率的に計算できる数式を得ることである。最適化はコストがかかりすぎる場合があるので、この数式は解析的に扱いやすいことも重要である。特に、平均サービス需要の推定は積形式待ち行列に基づく標準的な容量立案モデルの仕様についての著しいパラメータなので、本明細書は平均サービス需要の推定に焦点を合わせる。
【００８４】
いくつかの実装形態では、尤度関数を導くための1つの方法は、サブジェクトシステムのサービスおよび応答時間の両方を、それらの評価についての効率的な数式を享受する位相型分布によって特徴付ける。不要な複雑性を避けるために、指数分布のサービス需要の場合の手法が説明され、一般的なサービス需要に関するこれの外延が提供される。
【００８５】
たとえば、現在サービス中の要求を含む、n1,…,nk要求がクラスごとに待ち行列に入っているときにシステムに到着する要求が考慮される。すべてのクラスについて指数サービス需要を仮定でき、クラスkの平均サービス率がμk=1/E[Dk]で示される。k番目の要求についての応答時間の分布は、レートμ1でn1指数サービス需要の合計によって与えられ、レートμ2でn2指数サービス需要の合計によって与えられ、すべてのKクラスについて同様である。したがって、これはマルコフ連鎖における吸収時間としてn=n1+…+nk状態でモデル化でき、それぞれが要求サービスのための待ち時間を表している。非限定的な例示として、K=2クラスがあり、到着時に見られる待ち行列がn1=3およびn2=2の場合、両方の到着した要求およびサービス中の1つの要求を含めて、以下の(D0, D1)表現で位相型分布によって吸収時間を提供できる:
【００８６】
【数２０】
2011086295.tif 000022
【００８７】
D0マトリクスは、吸収につながらない状態iから状態jへの遷移を表す(i, j)の位置に非対角要素を有し、D1要素は吸収に関連する遷移である。D0の対角はこのようなので、D0プラスD1は、経時的なアクティブ状態の進化を説明するマルコフ連鎖の無限小生成作用素である。
【００８８】
(D0, D1)表現により、要求が応答時間Riを受信する確率が効率的に決定できるようになる。吸収するための時間は位相型分布(D0, D1)の確率密度によって説明される。吸収マルコフ連鎖の基本的理論から、これは以下のように容易に提供される:
【００８９】
【数２１】
2011086295.tif 000023
【００９０】
上式で
【００９１】
【数２２】
2011086295.tif 000024
【００９２】
は、吸収直後の要求の元の状態を表す要素
【００９３】
【数２３】
2011086295.tif 000025
【００９４】
を有する行ベクトルであり、E[D1],…,E[Dk]の知識はレートμ1,…, μkを知っていることに等しい。D1内に吸収につながる単一の遷移があるため、式17において、常に
【００９５】
【数２４】
2011086295.tif 000026
【００９６】
であり、式17を評価することの主要コストはマトリクス指数の計算であるとすぐに結論付けられる。これは、一意化技法を使用して、またはパデ展開(たとえばMATLABで提供される)によって、効率的な方法で推定することができる。上述の手法は、位相型として推定することができる非指数サービス需要に一般化されうる。
【００９７】
この概念は
【００９８】
【数２５】
2011086295.tif 000027
【００９９】
にクラスkのサービス需要の位相型表現を示させることによって説明されうる。非限定的な例示として、アーラン-2分布について、これは以下のように提供される:
【０１００】
【数２６】
2011086295.tif 000028
【０１０１】
および
【０１０２】
【数２７】
2011086295.tif 000029
【０１０３】
これは確率ベクトル
【０１０４】
【数２８】
2011086295.tif 000030
【０１０５】
を暗示する。
【０１０６】
指数ケースの同じ例として、およびサービスが例示的なアーラン-2分布を使用して分布されると、待ち行列内で費やされる応答時間は以下のように表現できる:
【０１０７】
【数２９】
2011086295.tif 000031
【０１０８】
上式で
【０１０９】
【数３０】
2011086295.tif 000032
【０１１０】
である。一般的に
【０１１１】
【数３１】
2011086295.tif 000033
【０１１２】
と
【０１１３】
【数３２】
2011086295.tif 000034
【０１１４】
の状態空間サイズは異なるので、
【０１１５】
【数３３】
2011086295.tif 000035
【０１１６】
項は位相型分布の適切な初期化を保証する。上述の数式は、尤度関数を計算するために式17を使用してすぐに値を求めることができる。唯一の違いは、これはより大きなマトリクスを含むことである。
【０１１７】
いくつかのパラメータによって指定された超指数分布などのサービス需要分布について、上述の手法は、平均を除くすべてのモーメントが先験的に固定されることか(たとえば、サービス処理の変動性を推測することによって)、これらの追加パラメータを未知の変数として最尤処理に統合することのどちらかを必要とする。これは、最初のMモーメント
【０１１８】
【数３４】
2011086295.tif 000036
【０１１９】
、1≦m≦Mによって位相型分布が一意に指定される場合、ログ
【０１２０】
【数３５】
2011086295.tif 000037
【０１２１】
の形式の条件付き確率の値を求めるために最尤推定問題の構造を変化させる。たとえば、3つのパラメータによって超指数分布が完全に決定されうる。したがって、最初の3つのモーメント
【０１２２】
【数３６】
2011086295.tif 000038
【０１２３】
は分布を完全に指定するのに十分である。
【０１２４】
扱うのが最も難しい高変動性分布がある場合、増加する数のクラスにおけるワークロードを分解するのがより実用的である。このように、それぞれのクラスのサービス分布を指数によって推定することができる。たとえば、ワークロードクラスが密度
【０１２５】
【数３７】
2011086295.tif 000039
【０１２６】
である超指数サービス需要を有し、到着レートがλの場合、ワークロードは指数サービス需要が
【０１２７】
【数３８】
2011086295.tif 000040
【０１２８】
および
【０１２９】
【数３９】
2011086295.tif 000041
【０１３０】
である2つのクラス、ならびに到着レートλ1=pλおよびλ2=(1-p)λによってそれぞれ推定することができる。これにより、より単純な指数仮定の下で焦点を平均サービス需要推定に合わせることができるようになる。したがって、サービス需要解析の肝心な点は、マルチクラス設定における指数分布サービス需要を確実に推定できることである。
【０１３１】
次に図6Aおよび6Bを参照すると、従来のCPU利用ベースの手法と比較した応答時間ベースの手法の精度が強調されている。図6Aは、本開示の応答時間ベースの手法を使用してそれぞれパラメータ化された例示的なM/M/1//N待ち行列モデルについての推定およびモデル予測精度結果を提供する。図6Bは、CPU利用ベースの手法を使用してそれぞれパラメータ化された例示的なM/M/1//N待ち行列モデルについての推定およびモデル予測精度結果を提供する。図6Bは、CPU利用ベースの手法に従ってパラメータ化されたモデルが、基本的なERPシステムの測定された応答時間(RMEAS)を著しく低く推定する応答時間推定(RCPU)を提供することを示している。この場合、完了した要求の数に対するそれぞれの要求の総CPU消費
【０１３２】
【数４０】
2011086295.tif 000042
【０１３３】
と、データベースからのデータを使えるように設定するための総時間
【０１３４】
【数４１】
2011086295.tif 000043
【０１３５】
との合計の直線回帰によって決定される、
【０１３６】
【数４２】
2011086295.tif 000044
【０１３７】
と等しいE[D]でパラメータ化されている例示的待ち行列モデルに基づいてRCPU値が決定される。
【０１３８】
図6Bは、CPU利用ベースの手法に従ってパラメータ化されたモデルが、基本的なERPシステムの測定された応答時間(RMEAS)を著しく高く推定する応答時間推定(RTWP)を提供することも示している。この場合、完了された要求の数に対してワーク処理において費やされた合計時間
【０１３９】
【数４３】
2011086295.tif 000045
【０１４０】
の直線回帰によって決定される、
【０１４１】
【数４４】
2011086295.tif 000046
【０１４２】
と等しいE[D]でパラメータ化されている例示的待ち行列モデルに基づいてRTWP値が決定される。図6Aに見られるように、図6Bで考慮される利用ベースのサービス需要推定と比較して、質の高い予測の生産において本開示の応答時間ベースの手法の方がより効率的である。
【０１４３】
本開示による応答時間ベースのサービス需要推定の精度は、たとえば60、600、および3600秒のシミュレーション期間を使用して待ち行列システムシミュレータによって生成される利用および応答時間トレースを参照して図示することもできる。このようなシミュレータは数値計算環境およびプログラミング言語(たとえば、Mathworks, Inc.によって提供されるMATLAB)を使用して書くことができ、標準的な性能測定ならびに要求によって到着時に見られる待ち行列長のログを取るためにプログラムできる。到着時間間隔および平均サービス需要は指数分布から生成でき、シミュレーションについて固定された利用レベルを一致させるためにそれらの平均が割り振られる。
【０１４４】
シミュレーションは、600秒の例示的期間にわたるシステム利用および応答時間測定に基づき、低、中、および高サーバ利用レベル(たとえば、ρ∈{0.1,0.5,0.9})ならびに要求クラスK∈{1,2,5}で実行されている。応答時間測定は要求ごとに収集でき、利用は毎秒サンプリングできる。これは、容易に個々の要求の応答時間のログを取るが、きめ細かい、または要求ごとの解決で利用を調べられない、現代のシステムにおける一般的な状況である。需要推定精度は従来のCPU利用ベースの手法(UR)と比較され、本開示による方法は応答時間ベースの回帰(RR)および最大尤度(ML)を含む。
【０１４５】
それぞれのシミュレーションについて、クラスKの数および利用ρの異なる選択に対応して、以下によって提供される誤差関数に基づいて推定精度を評価することができる:
【０１４６】
【数４５】
2011086295.tif 000047
【０１４７】
これはシミュレーションにおいて使用される正確な値E[DEXACT,k]について推定されたサービス需要E[DEST,k]のすべてのクラスのにわたる平均相対誤差である。シミュレーションごとに、それぞれのクラスのE[DEXACT,k]値が[0,1]の範囲の一様分布でランダムに導かれる。
【０１４８】
図7A〜7Cは、ランダムサービス需要で100のシミュレーションにわたってΔを平均化することによって決定された平均値E[Δ]を示している、ならびに同数のクラスKおよびサーバ利用ρを有している例示的なグラフを含む。図7Aは、単一の要求クラスに対応するグラフであり、サーバ利用レベル0.1、0.5、および0.9についての平均相対誤差値を示している。図7Bは2つの要求クラスに対応するグラフであり、サーバ利用レベル0.1、0.5、および0.9についての平均相対誤差値を示しており、図7Cは5つの要求クラスに対応するグラフであり、同様にサーバ利用レベル0.1、0.5、および0.9についての平均相対誤差値を示している。図7A〜7Cにおいて、UR-1はすべての利用可能なサンプル上のCPU利用ベースの回帰についての平均相対誤差値を示しており、UR-50sは50個の連続サンプルにわたって測定を平均化しているCPU利用ベースの回帰についての平均相対誤差値を示しており、UR-30 reqは30個の要求がそれぞれの分割内に入るように30個の連続サンプルによって形成される分割上の平均を使用してCPU利用ベースの回帰についての平均相対誤差値を示している。RR-1 reqはすべての利用可能サンプルを使用して応答時間ベースの回帰についての平均相対誤差値を示しており、RR-30 reqは同じクラスの30個の要求の分割にわたる平均を使用する。MLは、すべての利用可能なサンプルを使用して応答時間ベースの最大尤度についての平均相対誤差値を示している。
【０１４９】
図8A〜8Cは、ρ=0.5およびK=1、2、5についての100個のランダムモデルにわたるΔの累積分布関数(CDF)を示す例示的なグラフを含む。図8A〜8Cは、作図を簡略化するために、および図示していないカーブは図7A〜7Cと一致する定性的結論につながるので、UR-30 req、RR-30 req、およびMLについてのCDFだけを含む。
【０１５０】
単一の平均サービス需要E[D]だけが推定されるので、単一クラスのシナリオが最も単純なシナリオである。このケースではほとんどの方法がうまく実行され、異なる利用レベルについて誤差約5%を示す(図7A参照)。UR-1だけが、中負荷(ρ=0.5)でさえ30%を上回る誤差値を特徴とする質の低い結果をもたらす。この影響は、サンプル期間内の不十分な数のイベントの観点から説明でき、基数のうちのわずかだけを有する値のサブセットでサンプル平均が計算されるので(たとえば、1、2、または3つの要求でも)、直線回帰式を無効にする。したがって、UR-30 reqおよびUR-50 sにおいて使用される集約は、UR-1 sの誤差を取り除いてUR-30 req のためにE[Δ]を5%未満に下げることに極めて好ましい影響を与える。さらにRR法はすべての利用レベルに質の高い結果をもたらす。MLも同様にすべての利用レベルに質の高い結果をもたらす。図7Aの観測が誤差分布によって確認される。より具体的には、図8Aはすべての技法について、多くの方法に低い高誤差率を12%の約95パーセンタイルでもたらす。したがって、単一クラスのケースではUR-1 sを除く技法は正確な結果をもたらす。
【０１５１】
単一からマルチクラスワークロードに移動する場合、図7Bに示されるように誤差が増える。2つの要求クラスを考慮する場合、MLは最小誤差を有し、中負荷の状況 (ρ=0.5)で8%未満の誤差をもたらす。UR-1 sの質と比較してML性能の質が強調され、同じ利用レベルについて約35%の誤差値が見られる。利用サンプルの集約は単一クラスのシナリオと同じくらい効果的であるとは判明せず、UR-30 reqならびにUR-50 sはUR-1 reqとはそれほど異ならない。RR-1 reqはUR法よりもよい結果をもたらす。分布解析は、ρ=0.5について同様の結果を提示する。たとえば図8Bで、MLは17%の95パーセンタイルを有し、RR-30 reqおよびUR-30 reqはそれぞれ54%および61%の95パーセンタイルを有する。
【０１５２】
図7Cは、5クラスのシナリオに移動すると結果の質が著しく変更するという事実を示している。より具体的には、特に高負荷において一般的な精度が低下する（すべての図面について縦軸が異なる点に留意されたい）。これは、推定されるべき多数のサービス需要の結果と推測される。UR-1 s、UR-30 req、およびUR-50 sは一貫して大きな誤差を有し、UR法の間の最良の結果はρ=0.5のケースにおけるUR-1 sによって実現されている。URについての集約は、やはり精度の向上にはつながらない。RR-1 reqは、中程度の利用レベルにおいて同様の結果をもたらし、RR-30 reqは誤差値を悪化させる。少なくとも低および中程度の利用レベルで質の高い結果をもたらす唯一の方法はMLである(12%未満の誤差)。すべての方法にとって負荷の重いケースは困難に見える。図8CにおけるK=5のシナリオのCDFは、21%未満の誤差の生産の95%を実現するMLの質を強調する。RR-30 reqは111%の95パーセンタイルを有し、UR-30 reqについては162%である。UR-1 sについては(図7Cには示せず)56%である。したがって、総合的にMLがより堅牢である。
【０１５３】
図7A〜7Cおよび8A〜8Cでもたらされる例示的な結果は、異なる利用値についての600秒内のイベントのセットに対応する中程度のサイズのデータセット内のマルチクラス推定は困難な課題であることを示している。MLはこのような推定をほとんどすべての場合堅牢に実行する。MLの結果は、限定された情報(たとえば低利用)で極めて良い。すべての実験においてRR-1 reqはRR-30 reqよりも効果的に見え、低および中負荷において一般的にUR法に対抗する。
【０１５４】
次に図９を参照すると、本開示によって実行されうる例示的なステップを流れ図が示している。ステップ902でワークロードが生成され、ワークロードはコンピュータシステムによって処理されうる複数のクラスを含む複数のサービス要求を含む。コンピュータシステムは、アプリケーションを実行するアプリケーションサーバ、および要求を生成する1つまたは複数のクライアントシステムを含むことができる。ステップ904でコンピュータシステムにワークロードが適用され、ステップ906でワークロードの要求ごとに応答時間が測定される。ステップ908で、応答時間および基本的な待ち行列モデルに基づいてクラスごとに平均サービス需要が推定される。基本的な待ち行列モデルは、最後の待ち行列モデルの特徴の仮定を含むことができ、その特徴はスケジューリングおよびサービス需要分布のうちの少なくとも1つを備える。
【０１５５】
平均サービス需要を推定するステップは、測定された応答時間に基づいて直線回帰および最尤法解析のうちの1つを使用して基本的な待ち行列モデルにおける平均サービス需要を推定するステップを含むことができる。平均サービス需要を推定するステップは、複数の到着待ち行列長にさらに基づくことができ、その複数の到着待ち行列長はワークロードのそれぞれの要求に対応する。複数の到着待ち行列長のそれぞれの到着待ち行列長は、要求の発着時間を報告するログファイルから決定されうる。平均サービス需要を推定するステップは、複数の残余時間にさらに基づくことができる。複数の残余時間は、ワークロードのそれぞれの要求に対応できる。それぞれの残余時間は、処理されるべき要求の到着時に作業中の要求の処理を完了するために残っている時間に対応できる。
【０１５６】
ステップ910で、平均サービス需要およびワークロードの特徴に基づいて待ち行列モデルが生成される。ワークロードの特徴は、1秒あたり平均5つの要求を有する指数到着時間間隔などの、待ち行列内に到着する要求の到着時間間隔分布を含むことができるが、これに限定されない。待ち行列モデルを生成するステップは、平均サービス需要を使用して基本的な待ち行列モデルをパラメータ化するステップを含むことができる。ステップ912で、複数の入力を使用して待ち行列モデルを処理することによって、コンピュータシステムの性能が評価される。
【０１５７】
次に図10を参照すると、本開示の実装を実行するために使用されうる例示的なハードウェアコンポーネント1000の略図が提供されている。システム1000は、本明細書に記載された方法に関連して記載される動作のために使用されうる。たとえば、システム1000はアプリケーションサーバシステム106内に含まれてよい。システム1000は、プロセッサ1010、メモリ1020、記憶装置1030、および入力/出力装置1040を含む。それぞれのコンポーネント1010、1020、1030、および1040はシステムバス1050を使用して相互接続されている。プロセッサ1010はシステム1000内で実行するための命令を処理できる。ある実装形態では、プロセッサ1010はシングルスレッドプロセッサである。他の実装形態では、プロセッサ1010はマルチスレッドプロセッサである。プロセッサ1010は、ユーザインターフェースのためのグラフィック情報を入力/出力装置1040上に表示するためにメモリ1020または記憶装置1030内に格納された命令を処理できる。
【０１５８】
メモリ1020はシステム1000内に情報を格納する。ある実装形態ではメモリ1020はコンピュータ可読媒体である。ある実装形態ではメモリ1020は揮発性メモリユニットである。他の実装形態ではメモリ1020は非揮発性メモリユニットである。記憶装置1030はシステム1000に大容量記憶装置を提供できる。ある実装形態では記憶装置1030はコンピュータ可読媒体である。様々な異なる実装形態では、記憶装置1030はフロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置でもよく、テープ装置でもよい。入力/出力装置1040は、システム1000に入力/出力動作を提供する。ある実装形態では、入力/出力装置1040はキーボードおよび/またはポインティングデバイスを含む。他の実装形態では、入力/出力装置1040はグラフィカルユーザインターフェースを表示するためのディスプレイユニットを含む。
【０１５９】
記載した機能は、デジタル電子回路内、またはコンピュータハードウェア、ファームウェア、ソフトウェア内に実装されてもよく、それらの組合せ内に実装されてもよい。装置は、プログラム可能プロセッサによって実行するために、機械可読記憶装置内などの情報担体内に有形に実装されたコンピュータプログラム製品内に実装されてよく、方法ステップは、入力データ上で動作して出力を生成することによって、記載された実装形態の機能を実行するために命令のプログラムを実行しているプログラム可能プロセッサによって実行されてよい。記載した機能は、データ記憶システムからデータおよび命令を受信するために、ならびにデータ記憶システムにデータおよび命令を伝送するために結合された少なくとも1つのプログラム可能プロセッサ、少なくとも1つの入力装置、ならびに少なくとも1つの出力装置を含む、プログラム可能システム上で実行可能な1つまたは複数のコンピュータプログラム内に有利に実装されてよい。コンピュータプログラムは、一定の活動を実行するために、または一定の結果をもたらすために、コンピュータ内で直接または間接に使用されうる命令のセットである。コンピュータプログラムは、コンパイラ型またはインタープリタ型言語を含むどのような形式のプログラミング言語でも書き込むことができ、スタンドアロン型プログラムとして、あるいはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットを含むどのような形式でも展開されうる。
【０１６０】
命令のプログラムの実行に適したプロセッサには、例として汎用および専用マイクロプロセッサの両方、ならびに単一プロセッサ、またはどのような種類のコンピュータの複数のプロセッサのうちの1つもある。一般的に、プロセッサは読出し専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信することになる。コンピュータの不可欠な要素は命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つまたは複数のメモリである。一般的にコンピュータは、データファイルを格納するための1つまたは複数の大容量記憶装置も含むか、それと通信するために動作可能なように結合されており、このような装置は内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびに光ディスクを含む。コンピュータプログラム命令およびデータを有形に実装するのに適した記憶装置には、例としてEPROM、 EEPROM、およびフラッシュメモリ装置などの半導体メモリ装置、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含むすべての形式の非揮発性メモリがある。プロセッサおよびメモリはASICs（特定用途向け集積回路）で代用されてもよく、その中に組み込まれてもよい。
【０１６１】
ユーザとの対話を提供するために、ユーザに情報を表示するためのCRT（ブラウン管）またはLCD（液晶ディスプレイ）モニタなどのディスプレイ装置、ならびにユーザがコンピュータに入力を提供できるキーボードおよびマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に機能が実装されうる。
【０１６２】
機能は、データサーバなどのバックエンドコンポーネントを含むコンピュータシステム、あるいはアプリケーションサーバまたはインターネットサーバなどのミドルウェアコンポーネントを含むコンピュータシステム、あるいはグラフィカルユーザインターフェースまたはインターネットブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピュータシステム、あるいはそれらのどのような組合せ内にも実装されうる。システムのコンポーネントは通信ネットワークなどのどのような形式または媒体のデジタルデータ通信によっても接続されうる。通信ネットワークの例にはLAN、WAN、ならびにインターネットを形成するコンピュータおよびネットワークがある。
【０１６３】
コンピュータシステムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般的に相互に離れており、通常は記載されたネットワークのようなネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータの上で稼動しており互いにクライアントとサーバの関係を有する、コンピュータプログラムによって生じる。
【０１６４】
さらに、図面に示した論理フローは、望ましい結果を達成するために示した特定の順序、または連続順序を必ずしも必要としない。さらに、記載したフローから他の諸ステップが提供されてもよく、そこから諸ステップが削除されてもよく、および記載したシステムに他のコンポーネントが追加されてもよく、そこから削除されてもよい。したがって、他の実装形態は添付の特許請求の範囲内である。
【０１６５】
本開示のいくつかの実装形態を説明してきた。しかし、本開示の趣旨および範囲から逸脱することなしに様々な改変形態が作成されてよいことが理解されよう。したがって、他の実装形態は添付の特許請求の範囲内である。
【符号の説明】
【０１６６】
100  例示的システム
102  クライアントコンピュータ
106  バックエンドサーバシステム
110  ネットワーク
112  アプリケーションサーバ
114  データベース
200  アプリケーションサーバシステム
202  アプリケーションサーバシステム
204  ワークロードジェネレータ
206  ユーザ
208  データベース
210  ディスパッチャ
212  作業過程
300  M/M/1//Nモデル
302  遅延サーバ
304  ERPシステム
306  ウェイティングバッファ
308  作業過程およびデータベースシステム
400  データ収集
402  モデリング仮定(たとえばスケジューリングおよびサービス分布)
404  需要推定
406  モデル生成およびソリューション
1000  例示的なハードウェアコンポーネント
1010  プロセッサ
1020  メモリ
1030  記憶装置
1040  入力/出力装置
1050  システムバス
【図１】
2011086295.tif 000048
【図２】
2011086295.tif 000049
【図３】
2011086295.tif 000050
【図４】
2011086295.tif 000051
【図５】
2011086295.tif 000052
【図６Ａ】
2011086295.tif 000053
【図６Ｂ】
2011086295.tif 000054
【図８Ａ】
2011086295.tif 000055
【図８Ｂ】
2011086295.tif 000056
【図８Ｃ】
2011086295.tif 000057
【図９】
2011086295.tif 000058
【図１０】
2011086295.tif 000059
【図７Ａ】
2011086295.tif 000060
【図７Ｂ】
2011086295.tif 000061
【図７Ｃ】
2011086295.tif 000062
【外国語明細書】
2011086295.tif 000063
2011086295.tif 000064
2011086295.tif 000065
2011086295.tif 000066
2011086295.tif 000067
2011086295.tif 000068
2011086295.tif 000069
2011086295.tif 000070
2011086295.tif 000071
2011086295.tif 000072
2011086295.tif 000073
2011086295.tif 000074
2011086295.tif 000075
2011086295.tif 000076
2011086295.tif 000077
2011086295.tif 000078
2011086295.tif 000079
2011086295.tif 000080
2011086295.tif 000081
2011086295.tif 000082
2011086295.tif 000083
2011086295.tif 000084
2011086295.tif 000085
2011086295.tif 000086
2011086295.tif 000087
2011086295.tif 000088
2011086295.tif 000089
2011086295.tif 000090
2011086295.tif 000091
2011086295.tif 000092
2011086295.tif 000093
2011086295.tif 000094
2011086295.tif 000095
2011086295.tif 000096
2011086295.tif 000097
2011086295.tif 000098
2011086295.tif 000099
2011086295.tif 000100
2011086295.tif 000101
2011086295.tif 000102
2011086295.tif 000103
2011086295.tif 000104
2011086295.tif 000105