【手続補正書】
【提出日】平成29年3月27日(2017.3.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータによって実現される方法であって、
一連の時間間隔における各々の特定の時間間隔中に別個のスレッドダンプを生成することにより、一連のスレッドダンプサンプルを得るステップと、
前記一連のスレッドダンプサンプルに基づいて、スタックセグメント分類のセットを自動的に生成するステップと、
前記一連のスレッドダンプサンプルにおいて表わされる特定のスレッドごとに、コードブロックの実行時間を乗じた特定のスタックセグメントにおけるコードブロックの呼出し回数に少なくとも部分的に基づいて、前記スタックセグメント分類のセットから、前記特定のスレッドについての特定のスタックセグメント分類を自動的に選択するステップと、
前記スタックセグメント分類のセットにおける各スタックセグメント分類についての傾向を決定することにより、傾向のセットを生成するステップと、
前記傾向のセットに少なくとも部分的に基づいて異常のセットを決定するステップと、
前記異常のセットに少なくとも部分的に基づいて出力を生成するステップとを含み、
前記異常のセットは、レベルスパイク、レベルシフト、レベルドリフト、分散変動、飽和、スタックしたスレッド、残存するスレッド、デッドロック条件、上流の輻輳、下流の輻輳、リソースプールにおける輻輳、コンボイ効果、インピーダンス不整合、範囲外の測定値、または集中発生する範囲外の測定値のうち少なくとも１つを含む、コンピュータによって実現される方法。
【請求項２】
前記スタックセグメント分類のセットを自動的に生成するステップは、
前記一連のスレッドダンプサンプルにおいて表わされるスタックセグメント内におけるスタックフレームの強度が、時間の経過に応じて、指定されたしきい値を超えて逸脱し、
前記スタックセグメント内における前記スタックフレームの強度が、時間の経過に応じて、前記指定されたしきい値を超えて逸脱するとの判断に応じて、前記スタックセグメントを複数の構成スタックセグメントに自動的に分割するステップと、
前記複数の構成スタックセグメントの各々のために新しいスタックセグメント分類を生成するステップとを含む、請求項１に記載の方法。
【請求項３】
第１のスレッドダンプにおいて表わされるスレッドのスレッド名、実行コンテキストＩＤ（ＥＣＩＤ：ExecutionContextID）またはエポックカウンタが、それぞれ、第２のスレッドダンプにおいて表わされるスレッドのスレッド名、実行コンテキストＩＤ（ＥＣＩＤ）またはエポックカウンタと同じであるかどうかを判断するステップと、
前記第１のスレッドダンプにおいて表わされる前記スレッドのスレッド名、実行コンテキストＩＤ（ＥＣＩＤ）またはエポックカウンタが、それぞれ、前記第２のスレッドダンプにおいて表わされる前記スレッドのスレッド名、実行コンテキストＩＤ（ＥＣＩＤ）またはエポックカウンタと同じであるとの判断に応じて、前記第２のスレッドダンプにおいて表わされる前記スレッドが強度統計のためにカウントされるのを防止するステップとをさらに含む、請求項１または２に記載の方法。
【請求項４】
前記第１のスレッドダンプにおいて表わされる前記スレッドのＣＰＵ時間が前記第２のスレッドダンプにおいて表わされるスレッドのＣＰＵ時間と同じであると判断するステップと、
前記第１のスレッドダンプにおいて表わされる前記スレッドのスレッド名、実行コンテキストＩＤ（ＥＣＩＤ）またはエポックカウンタが、それぞれ、前記第２のスレッドダンプにおいて表わされる前記スレッドのスレッド名、実行コンテキストＩＤ（ＥＣＩＤ）またはエポックカウンタと同じであるとの判断と、前記第１のスレッドダンプにおいて表わされる前記スレッドのＣＰＵ時間が前記第２のスレッドダンプにおいて表わされるスレッドのＣＰＵ時間と同じであるとの判断とに応じて、前記第１のスレッドダンプおよび前記第２のスレッドダンプにおいて表わされる同じスレッドをスタックしたスレッドとして識別するステップとをさらに含む、請求項３に記載の方法。
【請求項５】
前記一連のスレッドダンプサンプルにおける別個のスレッドダンプサンプル内にある第１のスレッドの複数のＣＰＵ時間に変化がないことに少なくとも部分的に基づいて、前記第１のスレッドがスタックしていると判断するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記第１のスレッドダンプにおいて表わされるスレッドのＣＰＵ時間が前記第２のスレッドダンプにおいて表わされる前記スレッドのＣＰＵ時間とは異なると判断するステップと、
前記第１のスレッドダンプにおいて表わされる前記スレッドのスレッド名、実行コンテキストＩＤ（ＥＣＩＤ）またはエポックカウンタが、それぞれ、前記第２のスレッドダンプにおいて表わされる前記スレッドのスレッド名、実行コンテキストＩＤ（ＥＣＩＤ）またはエポックカウンタと同じであるとの判断と、前記第１のスレッドダンプにおいて表わされる前記スレッドの前記ＣＰＵ時間が前記第２のスレッドダンプにおいて表わされるスレッドのＣＰＵ時間とは異なるとの判断とに応じて、前記第１のスレッドダンプおよび前記第２のスレッドダンプにおいて表わされる同じスレッドを残存するスレッドとして識別するステップとを含む、請求項３または４に記載の方法。
【請求項７】
前記一連のスレッドダンプサンプルにおける別個のスレッドダンプサンプル内における第１のスレッドの複数のスレッド名、実行コンテキストＩＤ（ＥＣＩＤ）またはエポックカウンタに変化がないことに少なくとも部分的に基づいて、第１のスレッドが残存していると判断するステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記一連のスレッドダンプにおけるスレッドダンプについての第１のサンプリング間隔の第１の強度統計を維持するステップと、
特定のスレッドが、第１のサンプリング間隔および第２のサンプリング間隔にわたってスタックするかまたは残存するように決定されたとの判断に応じて、前記一連のスレッドダンプにおけるスレッドダンプについての第２のサンプリング間隔の第２の強度統計を調整するステップとをさらに含み、第２のサンプリング間隔は、スタックしているスレッドまたは残存するスレッドを繰り返しカウントすることを防止する、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記特定のスレッドのための特定のスタックセグメント分類を前記スタックセグメント分類のセットから選択するステップは、
特定のスタックトレースにおける特定のスタックフレームについての強度値を決定するステップと、
前記特定のスタックトレースにおける前記特定のスタックフレームの直前に発生する先行処理スタックフレームについての強度値を決定するステップと、
前記特定のスタックトレースにおける前記特定のスタックフレームの直後に発生する後続処理スタックフレームについての強度値を決定するステップと、
前記特定のスタックフレームについての前記強度値が前記先行処理スタックフレームについての前記強度値と全く同じであるかまたはほぼ同じであるとの判断に応じて、前記特定のスタックフレームおよび前記先行処理スタックフレームの両方に特定の分類を割当てるステップと、
前記特定のスタックフレームについての前記強度値が前記後続処理スタックフレームについての前記強度値と同じであるとの判断に応じて、前記特定のスタックフレームおよび前記後続処理スタックフレームの両方に前記特定の分類を割当てるステップとを含む、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
新しいスタックセグメント情報項目を作成するステップと、
現在のスタックセグメント情報項目の値に前記新しいスタックセグメント情報項目を割当てるステップと、
前記新しいスタックセグメント情報項目の分類に応じて新しい季節的傾向情報項目を生成するステップと、
前記現在のスタックセグメント情報項目の傾向属性の値を前記新しい季節的傾向情報項目に設定するステップとをさらに含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
一体化されたスタックセグメントを第１の新しいスタックセグメントおよび第２の新しいスタックセグメントに分割するステップと、
前記一体化されたスタックセグメントの季節的傾向情報項目の第１のクローンを作成するステップと、
前記一体化されたスタックセグメントの前記季節的傾向情報項目の第２のクローンを作成するステップと、
前記第１の新しいスタックセグメントの傾向属性の値を前記第１のクローンに設定するステップと、
前記第２の新しいスタックセグメントの傾向属性の値を前記第２のクローンに設定するステップとをさらに含む、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
スタックセグメント分類のセットを生成するステップと、
一続きのスタックセグメント分類に少なくとも部分的に基づいてスレッド分類を生成するステップとをさらに含む、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
スレッド分類のセットを生成するステップと、
スレッド間における呼出しチェーン、依存チェーンおよびクライアント・サーバチェーンのうちの１つに少なくとも部分的に基づいて一続きのスレッドの分類を生成するステップとをさらに含む、請求項１２に記載の方法。
【請求項１４】
１つ以上のスタックセグメント分類をいずれかのディメンションに割当てることによって、前記１つ以上のスタックセグメント分類を前記スタックセグメント分類のセットに編成するステップと、
前記特定のスタックセグメント分類の名前を設定するステップと、
特定のディメンションの名前を設定するステップとをさらに含む、請求項１〜１３のいずれか１項に記載の方法。
【請求項１５】
前記特定のスタックセグメント分類が割当てられているディメンションのクロス積を採用することによって、前記特定のスタックセグメント分類のクラス階層にまでドリルダウンするステップをさらに含む、請求項１４に記載の方法。
【請求項１６】
ディメンションに対する前記１つ以上のスタックセグメント分類を、暗黙知に少なくとも部分的に基づいて、ドメインディメンション、サーバディメンション、チャネルディメンション、アプリケーションディメンション、ライブラリディメンションおよびオペレーションディメンションのうち少なくとも１つに割当てるステップをさらに含む、請求項１４または１５に記載の方法。
【請求項１７】
前記暗黙知に少なくとも部分的に基づいて前記特定のスタックセグメント分類の名前を設定するステップと、
前記暗黙知に少なくとも部分的に基づいて特定のディメンションの名前を設定するステップとをさらに含み、
暗黙知に少なくとも部分的に基づいたディメンションへの割当てを、前記ドメインディメンション、前記サーバディメンション、前記チャネルディメンション、前記アプリケーションディメンション、前記ライブラリディメンションおよび前記オペレーションディメンションのうち少なくとも１つに対して行う、請求項１６に記載の方法。
【請求項１８】
人の暗黙知に基づいて１つ以上のスタックセグメントを分類するステップと、
前記人の暗黙知に少なくとも部分的に基づいて１つ以上のディメンションに１つ以上の分類を割当てるステップとをさらに含む、請求項１〜１７のいずれか１項に記載の方法。
【請求項１９】
帰納学習プロセスに少なくとも部分的に基づいて、前記スタックセグメント分類のセットにおける前記スタックセグメント分類の１つ以上を、前記スタックセグメント分類の１つ以上を生成する前に規定された１つ以上のディメンションに割当てるステップをさらに含む、請求項１〜１８のいずれか１項に記載の方法。
【請求項２０】
各々がクライアント部分およびサーバ部分を含む依存関係の複数のサブクラスを含む一般化された依存関係を格納するステップと、
特定のサブクラス依存関係の一般化されたクライアント部分を、前記特定のサブクラスの一般化されたサーバ部分よりも強度が高いクライアント部分にまでドリルダウンするステップと、
前記特定のサブクラス依存関係の一般化されたサーバ部分を、前記特定のサブクラスの一般化されたクライアント部分よりも強度が高いサーバ部分にまでドリルダウンするステップとをさらに含む、請求項１〜１９のいずれか１項に記載の方法。
【請求項２１】
暗黙知に少なくとも部分的に基づいてスレッド依存関係の知識ベースを生成するステップと、
前記スレッド依存関係に少なくとも部分的に基づいて、１対のサービングエンティティにわたる少なくとも１つの発生率を、問題の根本的原因を分析する部分として相互に関連付けるステップとをさらに含み、
前記１対のサービングエンティティは、１対のクライアントおよびサーバ、１対のサーバまたは１対のクライアントのうち少なくとも１つである、請求項１〜２０のいずれか１項に記載の方法。
【請求項２２】
前記１対のサービングエンティティ間におけるチャネルに少なくとも部分的に基づいてインピーダンス整合を実行するステップをさらに含み、
前記チャネルは、前記対における第１のサービングエンティティのためのスタックセグメントのクラスと前記対における第２のサービングエンティティのためのスタックセグメントのクラスとの間のクライアント・サーバ依存関係をサポートする、請求項２１に記載の方法。
【請求項２３】
スタックセグメントのサブ分類のスタックセグメント強度の合成に基づいて、前記特定のスタックセグメント分類のスタックセグメント強度を決定するステップと、
前記特定のスタックセグメント分類のスタックセグメントの予想される応答時間を、スタックセグメントの前記サブ分類のスタックセグメントの応答時間にセグメント化するステップとをさらに含み、
予想される応答時間をセグメント化する前記ステップは、スタックセグメント強度の合成に少なくとも部分的に基づいている、請求項１〜２２のいずれか１項に記載の方法。
【請求項２４】
コンピュータ読取可能プログラムであって、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
一連の時間間隔における各々の特定の時間間隔中に別個のスレッドダンプを生成することにより、一連のスレッドダンプサンプルを得る動作と、
前記一連のスレッドダンプサンプルに基づいて、スタックセグメント分類のセットを自動的に生成する動作と、
前記一連のスレッドダンプサンプルにおいて表わされる特定のスレッドごとに、コードブロックの実行時間を乗じた特定のスタックセグメントにおけるコードブロックの呼出し回数に少なくとも部分的に基づいて、前記スタックセグメント分類のセットから、前記特定のスレッドについての特定のスタックセグメント分類を自動的に選択する動作と、
前記スタックセグメント分類のセットにおける各スタックセグメント分類についての傾向を決定することにより、傾向のセットを生成する動作と、
前記傾向のセットに少なくとも部分的に基づいて異常のセットを決定する動作と、
前記異常のセットに少なくとも部分的に基づいて出力を生成する動作とを実行させ、
前記異常のセットは、レベルスパイク、レベルシフト、レベルドリフト、分散変動、飽和、スタックしたスレッド、残存するスレッド、デッドロック条件、上流の輻輳、下流の輻輳、リソースプールにおける輻輳、コンボイ効果、インピーダンス不整合、範囲外の測定値、または集中発生する範囲外の測定値のうち少なくとも１つを含む、コンピュータ読取可能プログラム。
【請求項２５】
一連の時間間隔における各々の特定の時間間隔中に別個のスレッドダンプを生成することにより、一連のスレッドダンプサンプルを得るための手段と、
前記一連のスレッドダンプサンプルに基づいて、スタックセグメント分類のセットを自動的に生成するための手段と、
前記一連のスレッドダンプサンプルにおいて表わされる特定のスレッドごとに、コードブロックの実行時間を乗じた特定のスタックセグメントにおけるコードブロックの呼出し回数に少なくとも部分的に基づいて、前記スタックセグメント分類のセットから、前記特定のスレッドについての特定のスタックセグメント分類を自動的に選択する動作と、
前記スタックセグメント分類のセットにおける各スタックセグメント分類についての傾向を決定することにより、傾向のセットを生成するための手段と、
前記傾向のセットに少なくとも部分的に基づいて異常のセットを決定するための手段と、
前記異常のセットに少なくとも部分的に基づいて出力を生成するための手段とを備え、
前記異常のセットは、レベルスパイク、レベルシフト、レベルドリフト、分散変動、飽和、スタックしたスレッド、残存するスレッド、デッドロック条件、上流の輻輳、下流の輻輳、リソースプールにおける輻輳、コンボイ効果、インピーダンス不整合、範囲外の測定値、または集中発生する範囲外の測定値のうち少なくとも１つを含む、コンピュータシステム。