(57)【特許請求の範囲】
【請求項１】
応答時間を推定するためにコンピュータで実行可能な方法であって、
コンピュータシステム上で実行されることが予想されるトランザクション要求を代表するものとして代表的なトランザクション要求を選択するステップと、
負荷が軽いコンピュータシステム上で前記代表的なトランザクション要求の応答時間である、第１の応答時間を測定するステップと、
前記代表的なトランザクション要求の第１のＣＰＵ利用率を測定するステップと、
少なくとも２つの同時発生する代表的なトランザクション要求が前記コンピュータシステムにおいてアクティブであり、前記コンピュータシステムにかかる負荷は、代表的なトランザクション要求を除けば軽い状況において、前記少なくとも２つの同時発生する代表的なトランザクション要求に対する平均応答時間である、第２の応答時間を測定するステップと、
前記第１の応答時間および前記第２の応答時間を含むデータから、同時発生する代表的なトランザクション要求の数と前記同時発生する代表的なトランザクション要求に対する応答時間との関係を求めるステップと、
前記コンピュータシステムが所与の動作負荷で動作している間に、第２のＣＰＵ利用率を測定するステップと、
前記所与の動作負荷の下で、同時発生するトランザクション要求の実際の数を特定するステップと、
代表的なトランザクションの有効数を計算するステップであって、前記代表的なトランザクションの有効数は、前記同時発生するトランザクション要求の実際の数に、前記第２のＣＰＵ利用率を掛け合わせ、前記第１のＣＰＵ利用率で割った値に等しい、該計算するステップと、
前記代表的なトランザクションの有効数を、同時発生する代表的なトランザクション要求の数として、前記関係から平均システム応答時間を推定するステップと、
推定された平均システム応答時間を報告するステップと、を含む方法。
【請求項２】
応答時間を推定するための方法ステップを実行するために、コンピュータによって実行可能な命令からなるソフトウエアプログラムを具体的に具現する、コンピュータによって読取り可能なプログラム記憶媒体であって、前記方法は、
コンピュータシステム上で実行されることが予想されるトランザクション要求を代表するものとして代表的なトランザクション要求を選択するステップと、
負荷が軽いコンピュータシステム上で前記代表的なトランザクション要求の応答時間である、第１の応答時間を測定するステップと、
前記代表的なトランザクション要求の第１のＣＰＵ利用率を測定するステップと、
少なくとも２つの同時発生する代表的なトランザクション要求が前記コンピュータシステムにおいてアクティブであり、前記コンピュータシステムにかかる負荷は、代表的なトランザクション要求を除けば軽い状況において、前記少なくとも２つの同時発生する代表的なトランザクション要求に対する平均応答時間である、第２の応答時間を測定するステップと、
前記第１の応答時間および前記第２の応答時間を含むデータから、同時発生する代表的なトランザクション要求の数と前記同時発生する代表的なトランザクション要求に対する応答時間との関係を求めるステップと、
前記コンピュータシステムが所与の動作負荷で動作している間に、第２のＣＰＵ利用率を測定するステップと、
前記所与の動作負荷の下で、同時発生するトランザクション要求の実際の数を特定するステップと、
代表的なトランザクションの有効数を計算するステップであって、前記代表的なトランザクションの有効数は、前記同時発生するトランザクション要求の実際の数に、前記第２のＣＰＵ利用率を掛け合わせ、前記第１のＣＰＵ利用率で割った値に等しい、該計算するステップと、
前記代表的なトランザクションの有効数を、同時発生する代表的なトランザクション要求の数として、前記関係から平均システム応答時間を推定するステップと、
推定された平均システム応答時間を報告するステップと、を含むコンピュータによって読取り可能なプログラム記憶媒体。
【請求項３】
平均システム応答時間に対する値であって、当該値を超えた場合にコンピュータシステムは有意に劣化していると判断される値を指定するステップと、コンピュータシステムが有意に劣化していると判断された場合に、その状況を報告するステップをさらに含む、請求項１に記載のコンピュータで実行可能な方法。
【請求項４】
コンピュータシステムが有意に劣化していると報告された場合に、さらなる応答時間の劣化を防ぐための動作を行うステップをさらに含む請求項３に記載のコンピュータで実行可能な方法。
【請求項５】
前記方法が、平均システム応答時間に対する値であって、当該値を超えた場合にコンピュータシステムは有意に劣化していると判断される値を指定するステップと、コンピュータシステムが有意に劣化していると判断された場合に、その状況を報告するステップをさらに含む、請求項２に記載のコンピュータによって読取り可能なプログラム記憶媒体。
【請求項６】
前記方法が、コンピュータシステムが有意に劣化していると報告された場合に、さらなる応答時間の劣化を防ぐための動作を行うステップをさらに含む請求項５に記載のコンピュータによって読取り可能なプログラム記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は全般にコンピュータシステムに関し、より詳細には、コンピュータシステムがそのコンピュータシステム上で実行されるプロセスを提供するサービスレベルの推定に関する。
【０００２】
【従来の技術】
特定のサービスに対して、最近のコンピュータシステムの管理者が関心を寄せる最も重要な測定基準は、そのコンピュータシステムが、そのコンピュータシステム上で実行されるプロセスからの、サービスのための要求を達成するのに要する時間である。この時間は応答時間あるいはサービスレベルと呼ばれ、多くの場合に、同じプロセスによる多数のそのような要求を平均したものである。よく見られるように、応答時間の測定は、ソースコードが利用できない応用形態においては、不可能ではないにしても困難であるという問題がある。応答時間は、稼動コンピュータ時間および全ての待機時間の両方を含む、コンピュータシステムがその要求に対してサービスを提供するのに要する全クロック時間である。
【０００３】
この問題に対する１つの解決策は、「ダミー」トランザクションを作成し、その後、これらの応答時間を測定することである。しかしながら、この技術はかなり不正確であり、実際の応答時間を過小評価する傾向がある。ダミートランザクション要求の結果から生じるデータは、同じトランザクションが何度も要求される度にキャッシュされる傾向があるのに対して、ユーザのデータはキャッシュされる場合もあり、されない場合もある。こうして、ダミートランザクションに対する応答時間は、多くの場合に、通常の動作において観測されることになる応答時間より非常に速くなる。
【０００４】
【発明が解決しようとする課題】
したがって、本発明の目的は、そのプロセスのためのソースコードが利用できない場合であっても、コンピュータシステム上で実行されるプロセスに対する応答時間に対して、より典型的な値を取得するための方法を提供することである。
【０００５】
【課題を解決するための手段】
本特許明細書は、動作中のコンピュータシステムにおけるサービスレベルの推定値を得るための新規の方法に関する。この推定値は、所定のレベルの有意なサービスレベルの劣化と比較され、それによりシステム管理者にコンピュータシステムの動作状態の測定値を提供することができる。そのような測定値を得るための以前の方法は、ダミートランザクションを作成し、その応答時間を測定することに基づいていた。データキャッシュ処理に起因して、この技術によって得られた値は多くの場合に取得可能な値よりも速くなる。
【０００６】
典型的な実施形態では、ユーザから以下の入力を要求する方法が開示される。（１）典型的なトランザクションの最適な応答時間：最適な応答時間は、負荷が軽いシステム上で典型的なトランザクションを計時することにより測定することができる。この値は、最適な応答時間として定義され、典型的なトランザクション（単数または複数）のためにコンピュータシステムから予想することができる最も速い応答時間である。別法では、いくつかの典型的なトランザクションの応答時間を負荷が軽いシステム上で測定することもでき、それらの結果を合成した平均値が、最適な応答時間として特定される。より負荷が重いシステム上で測定すれば、応答時間はさらに長くなるであろう。（２）典型的なトランザクションに必要とされる中央演算装置（ＣＰＵ）利用率：この値は、実際のＣＰＵ利用率を測定する間に、所定の数のトランザクションを実行することによって測定することもできる。（３）システム性能がある所定の値だけ劣化する前に、典型的なトランザクションのために完了されることができる、同時発生するトランザクションの数。
【０００７】
コンピュータシステムが動作する際に、コンピュータシステムは種々の負荷状態を受ける。本特許明細書において開示される方法を用いると、これらの変化する負荷状態下で割り当てられるタスクを完了する際に、システムの有効性を測る(gage)ためにシステム管理者が用いることができる、推定されたシステム応答時間が得られる。システムが動作するのに応じて、２つの項目が測定される。それは、（１）未処理のトランザクション要求の数、および（２）システムＣＰＵ利用率である。ユーザから３つの入力が与えられると、未処理の要求の数およびＣＰＵ利用率を用いて、エンドユーザが経験する応答時間を近似することができる。
【０００８】
本発明の他の態様および利点は、例を用いて本発明の原理を示す添付の図面とともに取り上げられる、以下に記載される詳細な説明から明らかになるであろう。
【０００９】
【発明の実施の形態】
添付の図面は、本発明をより十分に記載するために用いられ、かつ本発明およびその固有の利点をさらに理解するために当業者によって用いられることができる視覚的な表現を提供する。これらの図面では、同様の参照番号は対応する要素を特定する。
【００１０】
例示するための図面において示されるように、本特許明細書は、動作中のコンピュータシステムにおいてサービスレベルの推定値を得るための新規の方法に関する。この推定値は、所定のレベルの有意なサービスレベル劣化と比較され、それにより、システム管理者に、コンピュータシステムの動作状態の測定値を提供することができる。そのような測定値を得るための以前の方法は、ダミートランザクションを作成し、その応答時間を測定することに基づいていた。データキャッシュ処理に起因して、この技術によって得られた値は多くの場合に取得可能な値よりも速くなる。
【００１１】
図面に関する以下の詳細な説明およびいくつかの図面では、同様の要素は、同様の参照番号で特定される。
【００１２】
代表的な実施形態では、ユーザから以下の入力を要求する方法が開示される。
（１）典型的なトランザクションの最適な応答時間：最適な応答時間は、負荷が軽いシステム上で典型的なトランザクションを計時することにより測定することができる。この値は、最適な応答時間になるように規定され、典型的なトランザクション（単数または複数）のためにコンピュータシステムから予想することができる最も速い応答時間である。別法では、いくつかの典型的なトランザクションの応答時間を負荷が軽いシステム上で測定することもでき、それらの結果を合成した平均値が、最適な応答時間として特定される。より負荷が重いシステム上で測定すれば、応答時間はさらに長くなるであろう。（２）典型的なトランザクションに必要とされる中央演算装置（ＣＰＵ）利用率：この値は、実際のＣＰＵ利用率を測定する間に、所定の数のトランザクションを実行することによって測定することもできる。（３）システム性能がある所定の値だけ劣化する前に、典型的なトランザクションのために完了されることができる、同時発生するトランザクションの数。
【００１３】
コンピュータシステムが動作する際に、コンピュータシステムは種々の負荷状態を受ける。本特許明細書において開示される方法を用いると、これらの変化する負荷状態下で割り当てられるタスクを完了する際に、システムの有効性を測るためにシステム管理者が用いることができる、推定されたシステム応答時間が得られる。システムが動作するのに応じて、２つの項目が測定される。それは、（１）未処理のトランザクション要求の数、および（２）システムＣＰＵ利用率である。ユーザから３つの入力が与えられると、未処理の要求の数およびＣＰＵ利用率を用いて、エンドユーザが経験する応答時間を近似することができる。
【００１４】
図１は、本特許明細書の種々の代表的な実施形態に記載されるコンピュータシステム１００を示す図である。図１の例では、典型的なプロセス１１０が、中央演算装置（ＣＰＵ）１３０の典型的なトランザクション要求１２０を作成する。プロセス１１０およびそのトランザクション要求１２０は、コンピュータシステム１００上で実行されることが予想されるプロセスおよびトランザクション要求を代表するもの、あるいは典型的なものとしてシステム管理者によって選択される。いかなる特定の時点においても、典型的なトランザクション要求１２０はＣＰＵ１３０のために作成されているとは限らず、典型的なプロセス１１０はコンピュータシステム１００上においてアクティブであるとは限らない。また図１には、１〜（ｎ−１）番目のプロセス１４０として示される他のプロセス１４０も示されており、そのプロセスは、この例ではコンピュータシステム１００においてアクティブであり、１〜（ｎ−１）番目のトランザクション要求１５０としてそれぞれ示される未処理の他のトランザクション要求１５０を有する。各トランザクション要求１２０、１５０はＣＰＵ１３０のリソースを消費する。詳細には、典型的なトランザクション要求１２０は、第１のＣＵＰ利用率１６０とも呼ばれる、典型的なＣＵＰ利用率１６０を消費する。ここで典型的なＣＵＰ利用率１６０は、典型的なトランザクション要求１２０を達成する際に用いられるＣＰＵの部分であり、また他の未処理のトランザクション要求１５０は他のＣＰＵ利用率１７０を消費し、他のＣＰＵ利用率１７０は、１〜（ｎ−１）番目のトランザクション要求１５０である他のトランザクション要求１５０を達成する際に用いられるＣＰＵの部分である。消費される全ＣＰＵリソースは、全ＣＰＵ利用率１８０として図１に示される。
【００１５】
図２は、本特許明細書の種々の代表的な実施形態において記載されるようなコンピュータシステム１００における、応答時間２０５対同時発生トランザクション要求２１０のグラフを示す図である。図２の曲線２００は、システム応答時間２０５のいくつかの測定を、同時発生するトランザクション要求２１０の種々の数に対して平均することにより作成されており、トランザクション要求２１０は、コンピュータシステム１００上で通常実行される典型的なものである。そのような測定を表現する多数の手段が存在しており、図２はこれらの手段のうちの１つである。他の手段には、たとえば、数値からなる表がある。図２の曲線２００は、離散した１組の測定されたデータ点に対する近似を表すことは当業者には理解されよう。
【００１６】
第１の点２１８は、負荷が軽いコンピュータシステム１００で行われた１つ（２２０）の典型的なトランザクション要求１２０の測定を表す。プロットされた応答時間２２５は、ここでは第１の応答時間２２５とも呼ばれ、典型的なトランザクション要求１２０に対する最適な応答時間２２５である。
【００１７】
曲線２００は、必要に応じて、少なくとも１つの付加的な点２２８の測定を行うことにより延長されており、プロットされた応答時間２０５は、ここでは第２の応答時間２３５とも呼ばれ、２つ以上の典型的なトランザクション要求１２０を含む第２の数２３０の同時発生する典型的なトランザクション要求１２０に対する平均応答時間である。
【００１８】
第３の点２３８の意義、同時発生するトランザクション要求１２０の有効数２４１、およびここでは推定された応答時間２４５とも呼ばれる第３の応答時間２４５は、図３に関する説明とともに以下に説明されるであろう。
【００１９】
同時発生する典型的なトランザクション要求２１０がさらに増加するような、曲線２００上のある点では、応答時間は有意に劣化し始め、第４の点２４８によって示されるように、第４の数２５０の典型的なトランザクション要求１２０が同時発生する結果として、第４の応答時間とも呼ばれる有意に劣化した応答時間２５５になるまで、ますます長くなる。この有意に劣化した応答時間２５５は、関心のあるレベルとしてシステム管理者によって規定され、さらに応答時間が劣化するのを防ぐために適当な動作を要することになる時間であり、その適当な動作は、たとえば、現在の作業負荷が低減するまで、コンピュータシステム１００にさらにアクセスが行われるのを制限する動作である。この状況が発生し続ける場合には、システム管理者は、そのような再発生を低減するようにシステム１００に対する拡張を計画することができる。
【００２０】
図３は、本特許明細書の種々の代表的な実施形態において記載されるようなシステム１００に対する推定された応答時間を得るための方法の流れ図である。ブロック３１０では、最適な応答時間２２５が測定される。最適な応答時間２２５は、図２の説明において記載されるような、負荷が軽いコンピュータシステム１００における１つの典型的なトランザクション要求１２０の応答時間である。その後、ブロック３１０はブロック３２０に制御を渡す。
【００２１】
ブロック３２０では、第１のＣＰＵ利用率１６０が測定される。第１のＣＰＵ利用率１６０は、１つの典型的なトランザクション要求１２０に対するＣＰＵ利用率である。その後、ブロック３２０はブロック３３０に制御を渡す。
【００２２】
ブロック３３０では、「ｋ」個の典型的なトランザクション要求１２０に対する応答時間が測定される。ただし「ｋ」は１より大きい数で、図２の第２の数２３０の値であり、測定された応答時間は第２の応答時間２３５である。その後、ブロック３３０はブロック３４０に制御を渡す。
【００２３】
ブロック３４０では、図には示されていないが、第３の数２４０とも呼ばれる、システム１００の動作中の未処理のトランザクション要求の数がカウントされる。その後、ブロック３４０はブロック３５０に制御を渡す。
【００２４】
ブロック３５０では、システム１００の動作中の全ＣＰＵ利用率１８０が測定される。その後、ブロック３５０はブロック３６０に制御を渡す。
【００２５】
ブロック３６０では、動作時のシステム１００に対する典型的なトランザクション要求１２０の有効数２４１が計算される。この計算は、たとえば、同時発生するトランザクション要求の実際の数を、全ＣＰＵ利用率１８０と掛け合わせ、第１のＣＰＵ利用率１６０（１つの典型的なトランザクション要求１２０に対するＣＰＵ利用率）で割ることにより実行することができる。その後、ブロック３６０はブロック３７０に制御を渡す。
【００２６】
ブロック３７０では、システム１００に対する推定された応答時間２４５が、システム１００の動作中の未処理のトランザクションの有効数２４１の第３の点２３８における交点によって得られ、図２の曲線２００が得られる。その後、ブロック３７０はブロック３８０に制御を渡す。
【００２７】
ブロック３８０では、コンピュータシステム１００の動作条件に対して推定された応答時間２４５が決定者に提供される。その決定者はここではシステム管理者とも呼ばれ、行われる決定は、たとえば、より許容可能なレベルまで応答時間を低減するための、コンピュータシステム１００へのアクセスあるいはパラメータの変更を含むことができる。その決定は、変更しないことを含むこともできる。
【００２８】
図２の曲線２００をさらに正確に表現するために、より多くのデータ点を得るためには、ブロック３４０および３５０が、種々の数の同時発生する典型的なトランザクション要求１２０に対して何度も繰り返されるであろう。
【００２９】
本発明の態様を以下に例示する。
【００３０】
１．応答時間（２０５）を推定するためにコンピュータで実行可能な方法であって、第１の応答時間（２２５）を測定するステップであって、前記第１の応答時間（２２５）は負荷が軽いコンピュータシステム（１００）上の典型的なトランザクション要求（１２０）の応答時間である、該測定するステップと、前記典型的なトランザクション要求（１２０）によって用いられる第１のＣＰＵ容量（１６０）を測定するステップとを含み、少なくとも２つの同時発生する前記典型的なトランザクション要求（１２０）が前記コンピュータシステム（１００）においてアクティブであり、前記コンピュータシステム（１００）にかかる負荷は、前記典型的なトランザクション要求（１２０）を除けば軽く、また、第２の応答時間（２３５）を測定するステップであって、前記第２の応答時間（２３５）は、第２の数（２３０）の同時発生する前記典型的なトランザクション要求（１２０）に対する平均応答時間である、該測定するステップを含み、前記コンピュータシステム（１００）が所与の動作負荷で動作している間に、全ＣＰＵ利用率（１８０）を測定するステップと、第３の数（２４０）を特定するステップであって、前記第３の数（２４０）は同時発生する前記典型的なトランザクション要求（２１０）の数である、該特定するステップと、上記の結果を用いて、動作負荷条件下において、１つの前記典型的なトランザクション要求（１２０）に対する推定された応答時間（２４５）を取得するステップと、前記推定された応答時間（２４５）を報告するステップとを含む方法。
【００３１】
２．前記推定された応答時間（２４５）を取得する前記ステップは、典型的なトランザクションの有効数（２４１）を計算するステップであって、前記典型的なトランザクションの前記有効数（２４１）は、アクティブなトランザクション（２４０）の実際の数に、前記全ＣＰＵ利用率（１８０）を掛け合わせ、前記典型的なトランザクションＣＰＵ利用率（１６０）で割った値に等しい、該計算するステップと、前記典型的なトランザクション（１２０）に対する前記平均応答時間（２０５）と、前記同時発生するアクティブな典型的なトランザクション（２１０）の数との対からなる測定値から前記平均応答時間（２４５）を推定するステップとを含む上記１に記載のコンピュータにより実行される方法。
【００３２】
３．応答時間（２０５）を推定するための方法ステップを実行するために、コンピュータによって実行可能な命令からなるソフトウエアプログラムを具体的に具現する、コンピュータによって読取り可能なプログラム記憶媒体であって、前記方法は、第１の応答時間（２２５）を測定するステップであって、前記第１の応答時間（２２５）は負荷が軽いコンピュータシステム（１００）上の典型的なトランザクション要求（１２０）の応答時間である、該測定するステップと、前記典型的なトランザクション要求（１２０）によって用いられる第１のＣＰＵ容量（１６０）を測定するステップとを含み、少なくとも２つの同時発生する前記典型的なトランザクション要求（１２０）が前記コンピュータシステム（１００）においてアクティブであり、前記コンピュータシステム（１００）にかかる負荷は、前記典型的なトランザクション要求（１２０）を除けば軽く、また、第２の応答時間（２３５）を測定するステップであって、前記第２の応答時間（２３５）は、第２の数（２３０）の同時発生する前記典型的なトランザクション要求（１２０）に対する平均応答時間である、該測定するステップを含み  前記コンピュータシステム（１００）が所与の動作負荷で動作している間に、全ＣＰＵ利用率（１８０）を測定するステップと、第３の数（２４０）を特定するステップであって、前記第３の数（２４０）は同時発生する前記典型的なトランザクション要求（２１０）の数である、該特定するステップと、上記の結果を用いて、動作負荷条件下において、１つの前記典型的なトランザクション要求（１２０）に対する推定された応答時間（２４５）を取得するステップと、前記推定された応答時間（２４５）を報告するステップとを含むコンピュータによって読取り可能なプログラム記憶媒体。
【００３３】
４．前記推定された応答時間（２４５）を取得する前記ステップは、典型的なトランザクションの有効数（２４１）を計算するステップであって、前記典型的なトランザクションの前記有効数（２４１）は、アクティブなトランザクション（２４０）の実際の数に、前記全ＣＰＵ利用率（１８０）を掛け合わせ、前記典型的なトランザクションＣＰＵ利用率（１６０）で割った値に等しい、該計算するステップと、前記典型的なトランザクション（１２０）に対する前記平均応答時間（２０５）と、前記同時発生するアクティブな典型的なトランザクション（２１０）の数との対からなる測定値から、前記平均応答時間（２４５）を推定するステップとを含む上記３に記載のコンピュータによって読取り可能なプログラム記憶媒体。
【００３４】
【発明の効果】
本特許明細書に記載される方法の代表的な実施形態では、コンピュータシステム１００上の負荷が変動する際の、典型的なトランザクション要求１２０に対する推定された応答時間が開示されてきた。
【００３５】
本特許明細書に記載される実施形態に関する従来の方法より優れた主な利点は、本発明による方法が、システムリソースの消費を抑えつつ、負荷が変動する際の実際の応答時間をより正確に近似できることである。
【００３６】
本発明は、その代表的な実施形態に関連して詳細に記載されてきたが、記載された実施形態は例として提供されており、本発明を限定するものではない。特許請求の範囲内から逸脱することなく、記載された実施形態の形態および細部に種々の変更がなされ、均等な実施形態を生み出すこともできることは当業者には理解されよう。
【図面の簡単な説明】
【図１】  本特許明細書の種々の典型的な実施形態において記載されるようなコンピュータシステムの図である。
【図２】  本特許明細書の種々の典型的な実施形態において記載されるようなコンピュータシステム上の、応答時間対同時発生トランザクション要求の数のグラフである。
【図３】  本特許明細書の種々の典型的な実施形態において記載されるようなシステムに対する推定された応答時間を得るための方法の流れ図である。
【符号の説明】
１００  コンピュータシステム
１２０  典型的なトランザクション要求
１６０  第１のＣＰＵ利用率
１８０  全ＣＰＵ利用率
２０５  応答時間
２１０  同時発生するトランザクション要求
２２５  第１の応答時間
２３５  第２の応答時間
２４０  第３の数
２４１  典型的なトランザクションの有効数
【図１】
0004008699.tif 000002
【図２】
0004008699.tif 000003
【図３】
0004008699.tif 000004