(57)【要約】【課題】例示実施形態において、アプリケーションの無進行状態を検出する方法、システム、およびコンピュータ使用可能プログラム製品を提供する。【解決手段】一組のアプリケーションのリソース使用量および出力が監視される。リソース使用量および出力が測定され、所与の時間におけるリソース使用量値および出力値が判断される。リソース使用量値がリソース使用量スケールの部分範囲に含まれ、出力値が出力スケールの部分範囲に含まれ、リソース使用量スケールの部分範囲が出力スケールの部分範囲に対応するかどうか、判断が下される。判断が否定であれば、アプリケーションの無進行状態が検出される。【選択図】図５
2013525885.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの無進行状態を検出するための、コンピュータで実装される方法であって、
前記アプリケーションを含む一組のアプリケーションのリソース使用量および出力を監視するステップであって、前記アプリケーションは、データ処理システムにおいて実行されている、前記ステップと、
第１の時間におけるリソース使用量値および出力値を判断するために、前記リソース使用量および前記出力を測定するステップと、
前記リソース使用量値がリソース使用量スケールの部分範囲に含まれ、前記出力値が出力スケールの部分範囲に含まれ、前記リソース使用量スケールの前記部分範囲が前記出力スケールの前記部分範囲に対応するかどうかを判断するステップと、
前記判断が否定であることに応じて、前記アプリケーションの前記無進行状態を検出するステップと、
を含む、コンピュータで実装される方法。
【請求項２】
前記監視は、監視期間にわたって実行され、前記コンピュータで実装される方法は、
前記一組のアプリケーションを選択するステップと、
前記データ処理システムを含む一組のデータ処理システムを、前記一組のアプリケーションの通常動作用に設定するステップと、
トレーニング期間中、所定の間隔を置いて、前記一組のアプリケーションの通常リソース使用量および通常出力を測定するステップと、
前記トレーニング期間にわたるリソース使用量の範囲内の、第１組の閾値を特定し、前記第１組の閾値のうちの閾値間の、一組のリソース使用量部分範囲を形成するステップと、
前記トレーニング期間にわたる出力の範囲内の、第２組の閾値を特定し、前記第２組の閾値のうちの閾値間の、一組の出力部分範囲を形成するステップと、
リソース使用量部分範囲を出力部分範囲にマッピングするステップと、
をさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項３】
前記マッピングは、前記一組のアプリケーションのうちのいずれのアプリケーションも前記無進行状態にない場合にリソース使用量の所与の大きさに対して期待される出力の大きさを示す、請求項２に記載のコンピュータで実装される方法。
【請求項４】
前記一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、前記一組の出力部分範囲のうちの２つ以上の出力部分範囲にマッピングされる、請求項２に記載のコンピュータで実装される方法。
【請求項５】
前記アプリケーションの前記無進行状態について第２のアプリケーションに通知するステップ
をさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項６】
前記アプリケーションが前記無進行状態で実行され続けることを、第２のアプリケーションを使用して防ぐステップ
をさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項７】
使用量が測定されるリソースは、前記アプリケーションによって使用される、前記データ処理システムのコンピューティング・リソースである、請求項１に記載のコンピュータで実装される方法。
【請求項８】
前記第１の時間は、監視期間内である、請求項１に記載のコンピュータで実装される方法。
【請求項９】
前記リソース使用量値が前記リソース使用量スケールの前記部分範囲に含まれ、前記出力値が前記出力スケールの対応する部分範囲を超えると、前記アプリケーションは前記無進行状態にあると検出される、請求項１に記載のコンピュータで実装される方法。
【請求項１０】
コンピュータ使用可能ストレージ媒体を含むコンピュータ使用可能プログラム製品であって、前記コンピュータ使用可能ストレージ媒体は、アプリケーションの無進行状態を検出するためのコンピュータ使用可能コードを含み、前記コンピュータ使用可能コードは、
前記アプリケーションを含む一組のアプリケーションのリソース使用量および出力を監視するためのコンピュータ使用可能コードであって、前記アプリケーションは、データ処理システムにおいて実行されている、前記コンピュータ使用可能コードと、
第１の時間におけるリソース使用量値および出力値を判断するために、前記リソース使用量および前記出力を測定するためのコンピュータ使用可能コードと、
前記リソース使用量値がリソース使用量スケールの部分範囲に含まれ、前記出力値が出力スケールの部分範囲に含まれ、前記リソース使用量スケールの前記部分範囲が前記出力スケールの前記部分範囲に対応するかどうかを判断するためのコンピュータ使用可能コードと、
前記判断が否定であることに応じて、前記アプリケーションの前記無進行状態を検出するためのコンピュータ使用可能コードと、
を含む、コンピュータ使用可能プログラム製品。
【請求項１１】
前記監視は、監視期間にわたって実行され、前記コンピュータ使用可能プログラム製品は、
前記一組のアプリケーションを選択するためのコンピュータ使用可能コードと、
前記データ処理システムを含む一組のデータ処理システムを、前記一組のアプリケーションの通常動作用に設定するためのコンピュータ使用可能コードと、
トレーニング期間中、所定の間隔を置いて、前記一組のアプリケーションの通常リソース使用量および通常出力を測定するためのコンピュータ使用可能コードと、
前記トレーニング期間にわたるリソース使用量の範囲内の、第１組の閾値を特定し、前記第１組の閾値のうちの閾値間の、一組のリソース使用量部分範囲を形成するためのコンピュータ使用可能コードと、
前記トレーニング期間にわたる出力の範囲内の、第２組の閾値を特定し、前記第２組の閾値のうちの閾値間の、一組の出力部分範囲を形成するためのコンピュータ使用可能コードと、
リソース使用量部分範囲を出力部分範囲にマッピングするためのコンピュータ使用可能コードと、
をさらに含む、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１２】
前記マッピングは、前記一組のアプリケーションのうちのいずれのアプリケーションも前記無進行状態にない場合にリソース使用量の所与の大きさに対して期待される出力の大きさを示す、請求項１１に記載のコンピュータ使用可能プログラム製品。
【請求項１３】
前記一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、前記一組の出力部分範囲のうちの２つ以上の出力部分範囲にマッピングされる、請求項１１に記載のコンピュータ使用可能プログラム製品。
【請求項１４】
前記アプリケーションの前記無進行状態について第２のアプリケーションに通知するためのコンピュータ使用可能コード
をさらに含む、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１５】
前記アプリケーションが前記無進行状態で実行され続けることを、第２のアプリケーションを使用して防ぐためのコンピュータ使用可能コード
をさらに含む、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１６】
使用量が測定されるリソースは、前記アプリケーションによって使用される、前記データ処理システムのコンピューティング・リソースである、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１７】
前記第１の時間は、監視期間内である、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１８】
前記リソース使用量値が前記リソース使用量スケールの前記部分範囲に含まれ、前記出力値が前記出力スケールの対応する部分範囲を超えると、前記アプリケーションは前記無進行状態にあると検出される、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項１９】
前記コンピュータ使用可能コードは、データ処理システム内のコンピュータ可読ストレージ媒体に記憶され、前記コンピュータ使用可能コードは、リモート・データ処理システムからネットワーク上で転送される、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項２０】
前記コンピュータ使用可能コードは、サーバ・データ処理システム内のコンピュータ可読ストレージ媒体に記憶され、前記コンピュータ使用可能コードは、リモート・データ処理システムに関連するコンピュータ可読ストレージ媒体で使用されるよう、ネットワーク上で前記リモート・データ処理システムにダウンロードされる、請求項１０に記載のコンピュータ使用可能プログラム製品。
【請求項２１】
アプリケーションの無進行状態を検出するデータ処理システムであって、前記データ処理システムは、
ストレージ媒体を含み、コンピュータ使用可能プログラム・コードを記憶するストレージ・デバイスと、
前記コンピュータ使用可能プログラム・コードを実行するプロセッサと、
を含み、前記コンピュータ使用可能プログラム・コードは、
前記アプリケーションを含む一組のアプリケーションのリソース使用量および出力を監視するためのコンピュータ使用可能コードであって、前記アプリケーションは、データ処理システムにおいて実行されている、前記コンピュータ使用可能コードと、
第１の時間におけるリソース使用量値および出力値を判断するために、前記リソース使用量および前記出力を測定するためのコンピュータ使用可能コードと、
前記リソース使用量値がリソース使用量スケールの部分範囲に含まれ、前記出力値が出力スケールの部分範囲に含まれ、前記リソース使用量スケールの前記部分範囲が前記出力スケールの前記部分範囲に対応するかどうかを判断するためのコンピュータ使用可能コードと、
前記判断が否定であることに応じて、前記アプリケーションの前記無進行状態を検出するためのコンピュータ使用可能コードと、
を含む、データ処理システム。
【請求項２２】
前記監視は、監視期間にわたって実行され、前記データ処理システムは、
前記一組のアプリケーションを選択するためのコンピュータ使用可能コードと、
前記データ処理システムを含む一組のデータ処理システムを、前記一組のアプリケーションの通常動作用に設定するためのコンピュータ使用可能コードと、
トレーニング期間中、所定の間隔を置いて、前記一組のアプリケーションの通常リソース使用量および通常出力を測定するためのコンピュータ使用可能コードと、
前記トレーニング期間にわたるリソース使用量の範囲内の、第１組の閾値を特定し、前記第１組の閾値のうちの閾値間の、一組のリソース使用量部分範囲を形成するためのコンピュータ使用可能コードと、
前記トレーニング期間にわたる出力の範囲内の、第２組の閾値を特定し、前記第２組の閾値のうちの閾値間の、一組の出力部分範囲を形成するためのコンピュータ使用可能コードと、
リソース使用量部分範囲を出力部分範囲にマッピングするためのコンピュータ使用可能コードと、
をさらに含む、請求項２１に記載のデータ処理システム。
【請求項２３】
前記マッピングは、前記一組のアプリケーションのうちのいずれのアプリケーションも前記無進行状態にない場合にリソース使用量の所与の大きさに対して期待される出力の大きさを示す、請求項２２に記載のデータ処理システム。
【請求項２４】
前記一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、前記一組の出力部分範囲のうちの２つ以上の出力部分範囲にマッピングされる、請求項２２に記載のデータ処理システム。
【請求項２５】
前記アプリケーションの前記無進行状態について第２のアプリケーションに通知するためのコンピュータ使用可能コード
をさらに含む、請求項２１に記載のデータ処理システム。
【請求項２６】
前記アプリケーションが前記無進行状態で実行され続けることを、第２のアプリケーションを使用して防ぐためのコンピュータ使用可能コード
をさらに含む、請求項２１に記載のデータ処理システム。
【請求項２７】
使用量が測定されるリソースは、前記アプリケーションによって使用される、前記データ処理システムのコンピューティング・リソースである、請求項２１に記載のデータ処理システム。
【請求項２８】
前記第１の時間は、監視期間内である、請求項２１に記載のデータ処理システム。
【請求項２９】
前記リソース使用量値が前記リソース使用量スケールの前記部分範囲に含まれ、前記出力値が前記出力スケールの対応する部分範囲を超えると、前記アプリケーションは前記無進行状態にあると検出される、請求項２１に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的に、改善されたデータ処理システムに関し、特に、データ処理システムのパフォーマンスを監視する、コンピュータで実装される方法に関する。
【背景技術】
【０００２】
データ処理システム内に存在する状況は、そのシステムにおけるアプリケーションの実行に影響を及ぼす。例えば、意図されるとおりにアプリケーションが実行するには、データ処理システムが、適切なリソースをアプリケーションに提供できなければならない。別の例として、アプリケーションのパフォーマンスが許容範囲内となるには、アプリケーションに関連する命令を適時に実行するようプロセッサが利用可能である必要がある。
【０００３】
特定の状況下では、アプリケーションは、意図された機能を実行できないこともある。多くの場合には、そのような不具合が起こると、アプリケーションはエラー状態に入る。例えばエラー状態として、アプリケーションがクラッシュすること、または突然実行を終了することが考えられる。エラー状態のもう１つの例として、アプリケーションが、失敗した動作に対応するエラー・コードをレポートすることが考えられる。
【０００４】
データ処理システムのオペレーティング・システムなど、他のアプリケーションは、実行中のアプリケーションにより示されるエラー状態を検出する機能を含む。その結果、そうしたアプリケーションは、データ処理システムの安定性およびパフォーマンスを維持するために適切なアクションをとることができる。例えば、オペレーティング・システムは、アプリケーションに関連するプロセスを終了し、そのプロセスに拘束されているリソースを解放することもできる。別の例として、アプリケーションが発生させたエラー・コードを監視アプリケーションがトラップして、別の動作を実行するよう、アプリケーションに実行をグレースフルに終了させることもある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２００７０１７９７４６号
【特許文献２】米国特許第７５７７５５０号
【特許文献３】米国特許出願公開第２００７００２８２１９号
【特許文献４】米国特許出願公開第２００９０１９９１９６号
【非特許文献】
【０００６】
【非特許文献１】“Ｉ／Ｏ  Ｓｙｓｔｅｍ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｄｅｂｕｇｇｉｎｇ  ｕｓｉｎｇ  Ｍｏｄｅｌ−Ｄｒｉｖｅｎ  Ａｎｏｍａｌｙ  Ｃｈａｒａｃｔｅｒｉｚａｔｉｏｎ”（Ｋａｉ  Ｓｈｅｎら、４ｔｈ  ＵＳＥＮＩＸ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｆｉｌｅ  ａｎｄ  Ｓｔｏｒａｇｅ  Ｔｅｃｈｎｏｌｏｇｉｅｓ、３０９−２２、２００５）
【非特許文献２】“Ｒｅｆｅｒｅｎｃｅ−Ｄｒｉｖｅｎ  Ｐｅｒｆｏｒｍａｎｃｅ  Ａｎｏｍａｌｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ”（Ｋａｉ  Ｓｈｅｎら、ＳＩＧＭＥＴＲＩＣＳ／Ｐｅｒｆｏｒｍａｎｃｅ’０９−Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １１ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｉｎｔ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｅａｓｕｒｅｍｅｎｔ  ａｎｄ  Ｍｏｄｅｌｉｎｇ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ、ｖ３７、ｎ１、ｐ８５−９６、２００９）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特定の状況下では、アプリケーションがエラー状態に入らなくても、他の点でアプリケーションの継続した実行が望ましくないこともある。データ処理システムにおいてそのような状況を検出することは難しく、現在得られるものではないが、データ処理システムの改善されたパフォーマンスのためには望ましいことである。
【０００８】
特許文献１は、入力測定結果と出力測定結果との相関を監視して、そのモデルを得ることを開示している。
【０００９】
特許文献２は、コンピューティング・システムを監視しパフォーマンス・メトリクスを獲得して、観測されたコンピューティング・システムのメトリクスに基づき異常を検出する方法を開示している。
【００１０】
特許文献３は、残差閾内に出力の差があることに基づき、コンピューティング・システムの異常を検出する方法を開示している。
【００１１】
特許文献４は、アプリケーション実行を監視して、リソース・トランザクション・ペアの時系列データを判断し、偏差情報に基づき異常を特定する方法を開示している。
【００１２】
非特許文献１の論文は、ソフトウェア・プログラムを監視して、種々の状況下でのＩ／Ｏスループット・モデルを作成し、ソフトウェア・プログラムにおける異常を検出することを開示している。
【００１３】
非特許文献２の論文は、ターゲット実行とリファレンス実行との間のパフォーマンス偏差を特徴付ける変化プロファイルに基づきパフォーマンス異常を特定する方法を開示している。
【課題を解決するための手段】
【００１４】
例示実施形態は、アプリケーションの無進行状態（ｎｏ  ｐｒｏｇｒｅｓｓ  ｓｔａｔｅ）を検出する方法、システム、およびコンピュータ使用可能プログラム製品を提供する。実施形態は、一組のアプリケーションのリソース使用量および出力を監視する。一組のアプリケーションは、該アプリケーションを含む。アプリケーションは、データ処理システムにおいて実行されている。実施形態は、リソース使用量および出力を測定して、第１の時間におけるリソース使用量値および出力値を判断する。実施形態は、リソース使用量値がリソース使用量スケール（ｒｅｓｏｕｒｃｅ  ｕｓａｇｅ  ｓｃａｌｅ）の部分範囲に含まれ、出力値が出力スケール（ｏｕｔｐｕｔ  ｓｃａｌｅ）の部分範囲に含まれ、リソース使用量スケールの部分範囲が出力スケールの部分範囲に対応するかどうかを判断する。実施形態は、判断が否定であれば、アプリケーションの無進行状態を検出する。
【００１５】
別の実施形態では、監視は、監視期間（ｍｏｎｉｔｏｒｉｎｇ  ｐｅｒｉｏｄ）にわたって実行される。実施形態はさらに、一組のアプリケーションを選択する。実施形態は、一組のデータ処理システムを、一組のアプリケーションの通常動作用に設定する。一組のデータ処理システムは、該データ処理システムを含む。実施形態は、トレーニング期間（ｔｒａｉｎｉｎｇ  ｐｅｒｉｏｄ）中、所定の間隔を置いて、一組のアプリケーションの通常リソース使用量（ｎｏｒｍａｌ  ｒｅｓｏｕｒｃｅ  ｕｓａｇｅ）および通常出力（ｎｏｒｍａｌ  ｏｕｔｐｕｔ）を測定する。実施形態は、トレーニング期間にわたるリソース使用量の範囲内の、第１組の閾値を特定して、第１組の閾値のうちの閾値間の、一組のリソース使用量部分範囲（ｒｅｓｏｕｒｃｅ  ｕｓａｇｅ  ｓｕｂ−ｒａｎｇｅ）を形成する。実施形態は、トレーニング期間にわたる出力の範囲内の、第２組の閾値を特定して、第２組の閾値のうちの閾値間の、一組の出力部分範囲（ｏｕｔｐｕｔ  ｓｕｂ−ｒａｎｇｅ）を形成する。実施形態は、リソース使用量部分範囲を、出力部分範囲にマッピングする。
【００１６】
別の実施形態では、このマッピングは、一組のアプリケーションのうちのいずれのアプリケーションも無進行状態にない場合にリソース使用量の所与の大きさ（ｍｅａｓｕｒｅ）に対して期待される出力の大きさを示す。
【００１７】
別の実施形態では、一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、一組の出力部分範囲のうちの２つ以上の出力部分範囲にマッピングされる。
【００１８】
別の実施形態はさらに、アプリケーションの無進行状態について第２のアプリケーションに通知する。
【００１９】
別の実施形態はさらに、アプリケーションが無進行状態で実行され続けることを、第２のアプリケーションを使用して防ぐ。
【００２０】
別の実施形態では、使用量が測定されるリソースは、アプリケーションによって使用される、データ処理システムのコンピューティング・リソースである。
【００２１】
別の実施形態では、第１の時間は、監視期間内である。
【００２２】
別の実施形態では、リソース使用量値がリソース使用量スケールの部分範囲に含まれ、出力値が出力スケールの対応する部分範囲を超えると、アプリケーションは無進行状態にあると検出される。
【００２３】
以下、次の図面を参照しながら、単なる例として本発明の好適な実施形態について記載する。
【図面の簡単な説明】
【００２４】
【図１】例示実施形態が実装され得るデータ処理システムのネットワークの図的表現を示す。
【図２】例示実施形態が実装され得るデータ処理システムのブロック図を示す。
【図３】アプリケーションの動作の一般原則のブロック図を示し、これに関して例示実施形態の実装が可能である。
【図４】例示実施形態による、トレーニング期間における、消費されたリソースとアプリケーションの出力との関係のブロック図を示す。
【図５】例示実施形態による、監視アプリケーションによって維持されるマッピングを示す。
【図６】例示実施形態による、監視期間における、消費されたリソースとアプリケーションの出力との関係のブロック図を示す。
【図７】例示実施形態による、アプリケーションの無進行状態を検出するために監視アプリケーションをトレーニングするプロセスのフローチャートを示す。
【図８】例示実施形態による、アプリケーションの無進行状態を検出するプロセスのフローチャートを示す。
【発明を実施するための形態】
【００２５】
本発明の実施形態は、たとえアプリケーションがエラー状態に入っていなくても、特定の状況下ではアプリケーションの継続した実行が望ましくないこともあるということを認識している。「無進行」状態とは、アプリケーションの実行の、そうした状態である。無進行状態とは、アプリケーションが、適切な出力または期待される出力を生成せずにリソースを消費または予約し続ける、アプリケーションの実行の状態である。
【００２６】
例えば、本発明の実施形態は、特定のリソースが利用可能になるのをアプリケーションが長期間待ち続けることもあるということを認識している。待機中、アプリケーションは、いかなる出力も生成せずに、または出力の期待されるもしくは閾値ボリュームよりも少ない出力を生成しながら、他のリソースをロックまたは消費し続けることもある。言い換えれば、アプリケーションは、無進行状態にあると考えられる。
【００２７】
アプリケーションは、待機中、エラーを生成することも、エラー状態に入ることもないため、オペレーティング・システムは、アプリケーションが正常であると見なすと考えられ、アプリケーションが無進行状態で実行され続けることを許す。本発明の実施形態は、そのような無進行状態が検出されずにいるのを許すことは、コンピューティング・リソースを無駄にし、さらに全体的なシステム・パフォーマンスを悪化させることにもなり得るということを認識している。
【００２８】
別の例として、本発明は、アプリケーションは、計算が結果を生成することなく大量のプロセッサ・サイクルを消費することの原因となるエラーを含むこともあるということを認識している。この場合もやはり、アプリケーションは、無進行状態で実行されていると考えられる。この場合もやはり、アプリケーションは、エラー状態に入らず単に計算を実行し続けるため、オペレーティング・システムは、アプリケーションが正常であると見なすと考えられる。本発明は、そのような無進行状態が検出されずにいるのを許すことは、コンピューティング・リソースを無駄にし、さらに全体的なシステム・パフォーマンスを悪化させることにもなり得るということを認識している。
【００２９】
本発明の実施形態は、アプリケーションが、その他多数の理由により無進行状態に入り得るということを認識している。アプリケーションの無進行状態をもたらし得るさらなるいくつかの理由としては、ソフトウェアのバグ、アプリケーションの設定のエラー、およびシステム・リソースの過負荷が考えられる。
【００３０】
本発明の実施形態はさらに、アプリケーション内のアルゴリズムが多くのシナリオに関して期待どおりに実行しても、アルゴリズムが非能率的となり得るシナリオにアプリケーションが遭遇すれば、やはりアプリケーションは無進行状態に入り得るということを認識している。本発明の実施形態により対処される無進行状態では、アプリケーションは、進行して出力を生成し得るが、そうした進行または出力は、閾値未満である。本発明の実施形態により対処される無進行状態の別の変形では、アプリケーションは、定義された期間内に、出力をまったく生成しないか、またはまったく進行しないこともある。本発明の実施形態によって対処される無進行状態の別の変形では、アプリケーションは、最終的には進行して結果を生成し得るが、そうした進行は、閾値を上回る、または他の形で許容できないような時間もしくはリソース量を消費した後であることもある。
【００３１】
本発明の実施形態はさらに、アプリケーションの出力レベルのみを監視することは、アプリケーションの無進行状態を検出するには不十分な場合もあるということを認識している。例えば、アプリケーションの出力は、アプリケーションに対し課される要求に影響されることが多い。通常は、アプリケーションとの相互作用が増すにつれて、それに比例して増加する出力を期待することができる。逆に言えば、閾値未満のレベルの出力は、アプリケーションとの、またはアプリケーション内での低レベルのアクティビティの表れでしかないこともあり、必ずしもアプリケーションの無進行状態の表れであるとは限らない。
【００３２】
本発明について記載するために使用される例示実施形態は、概して、上記の問題、およびデータ処理システムにおいて実行されているアプリケーションの無進行状態に関係する他の問題に対処し、解決する。例示実施形態は、アプリケーションの無進行状態を検出する方法、コンピュータ使用可能プログラム製品、およびデータ処理システムを提供する。
【００３３】
本発明の実施形態は、望ましい出力を生成せずにリソースを消費または予約しているアプリケーションの検出を可能にするとよい。実施形態は、既存のエラー状態検出機能が、アプリケーションの無進行状態の検出にも成功できるようにしてもよい。実施形態は、そのような既存の機能に統合されてもよく、それとともに動作してもよい。
【００３４】
例示実施形態は、単なる例として、データ、データ構造、および識別子に関して記載される。そのような記載は、本発明に関する制限的なものとしては意図されていない。例えば、ウェブ・サーバから出力されるページの数に関して記載される例示実施形態は、本発明の範囲内で、データベースから同様の形で供給されるクエリの数を使用して実装され得る。
【００３５】
さらに、例示実施形態は、任意のタイプのデータ処理システムに関して実装され得る。例えば、マルチプロセッサ・スタンドアロン・データ処理システムに関して記載される例示実施形態は、本発明の範囲内で、マルチプロセッサ論理パーティション・システムにおいて実装されることもできる。
【００３６】
例示実施形態は、単なる例として、特定のパラメータ、属性、および設定に関してさらに記載される。そのような記載は、本発明に関する制限的なものとしては意図されていない。本発明の実施形態は、例えば、任意のタイプのクライアント・システム、サーバ・システム、プラットフォーム、またはその組み合わせなど、任意のタイプのデータ処理システムに関して実装され得る。
【００３７】
実施形態を実装するアプリケーションは、データ・オブジェクト、コード・オブジェクト、カプセル化された命令、アプリケーション・フラグメント、サービス、およびデータ処理環境で利用可能な他のタイプのソフトウェア実装の形態をとり得る。例えば、Ｊａｖａ（Ｒ）仮想マシン（ＪＶＭ（Ｒ）：Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）オブジェクト、エンタープライズＪａｖａビーン（ＥＪＢ（Ｒ）：Ｅｎｔｅｒｐｒｉｓｅ  Ｊａｖａ  Ｂｅａｎ）、サーブレット、またはアプレットが、アプリケーションを具現化したものと考えられ、これに関して、またはこの中に、またはこれを使用して、本発明が実装され得る。（Ｊａｖａ、ＪＶＭ、ＥＪＢ、およびその他のＪａｖａ関係の用語は、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．の米国およびその他の国々における登録商標である。）
【００３８】
例示実施形態は、ハードウェア、ソフトウェア、またはその組み合わせにおいて実装され得る。本開示における例は、記載を明確にするためのみに使用されており、例示実施形態に関する制限的なものではない。本開示から、同様の目的のための追加のまたは異なる情報、データ、動作、アクション、タスク、アクティビティ、および操作を考えることができるが、それらは、例示実施形態の範囲内であるものとする。
【００３９】
例示実施形態は、具体的なコード、データ構造、ファイル・システム、設計、アーキテクチャ、レイアウト、概略図、およびツールを、単なる例として使用して記載されており、例示の実施形態に関する制限的なものではない。さらに例示実施形態は、一部の例において、記載を明確にするために、特定のデータ処理環境を単なる例として使用して記載されている。例示実施形態は、他の類似または同様の目的の構造、システム、アプリケーション、またはアーキテクチャとともに使用され得る。
【００４０】
本願明細書に記載されている任意の利点は、単なる例であり、例示実施形態に関する制限的なものとしては意図されていない。追加のまたは異なる利点が、具体的な例示実施形態によって実現され得る。さらに、特定の例示実施形態は、上記に記載された利点の一部、もしくは全部を有することも、またはいずれも有しないこともある。
【００４１】
図面、特に図１および２を参照する。これらの図面は、例示実施形態が実装され得るデータ処理環境の例示の図である。図１および２は単なる例であり、種々の実施形態が実装され得る環境に関していかなる制限を主張することも、示唆することも意図していない。特定の実装において、以下の記載に基づき示される環境に対し、多数の変更が加えられてよい。
【００４２】
図１は、例示実施形態が実装され得るデータ処理システムのネットワークの図的表現を示す。データ処理環境１００は、例示実施形態が実装され得るコンピュータのネットワークである。データ処理環境１００は、ネットワーク１０２を含む。ネットワーク１０２は、データ処理環境１００内で互いに接続された様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、有線、無線通信リンク、または光ファイバ・ケーブルなどの接続を含み得る。サーバ１０４およびサーバ１０６は、ストレージ・ユニット１０８と同じくネットワーク１０２に結合している。ソフトウェア・アプリケーションが、データ処理環境１００内の任意のコンピュータ上で実行され得る。
【００４３】
さらに、クライアント１１０、１１２、および１１４もネットワーク１０２に結合している。サーバ１０４もしくは１０６、またはクライアント１１０、１１２、もしくは１１４などのデータ処理システムは、データを含むとよく、そこでソフトウェア・アプリケーションまたはソフトウェア・ツールが実行されているとよい。
【００４４】
サーバ１０４は、アプリケーション１０５を含むとよい。サーバ１０６は、監視アプリケーション１０７を含むとよい。監視アプリケーション１０７は、本発明の実施形態の実装を含むとよい。
【００４５】
サーバ１０４および１０６、ストレージ・ユニット１０８、ならびにクライアント１１０、１１２、および１１４は、有線接続、無線通信プロトコル、またはその他の適切なデータ接続性を使用してネットワーク１０２に結合しているとよい。クライアント１１０、１１２、および１１４は、例えばパーソナル・コンピュータまたはネットワーク・コンピュータであってもよい。
【００４６】
示されている例では、サーバ１０４が、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータを、クライアント１１０、１１２、および１１４に提供してもよい。クライアント１１０、１１２、および１１４は、この例では、サーバ１０４のクライアントであってもよい。クライアント１１０、１１２、１１４、またはその何らかの組み合わせは、それ自体のデータ、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションを含んでもよい。データ処理環境１００は、示されていない追加のサーバ、クライアント、およびその他のデバイスを含んでもよい。
【００４７】
示されている例では、データ処理環境１００はインターネットであってもよい。ネットワーク１０２は、互いに通信するために伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）およびその他のプロトコルを使用する、ネットワークおよびゲートウェイの集合を表現し得る。インターネットの中心には、データおよびメッセージをルーティングする数千の商用、政府機関用、教育用、およびその他のコンピュータ・システムを含む主要ノードまたはホスト・コンピュータ間のデータ通信リンクのバックボーンがある。当然、データ処理環境１００は、例えばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）など、いくつかの異なるタイプのネットワークとしても実装され得る。図１は、種々の例示実施形態のアーキテクチャ上の制限としてではなく、例として意図されている。
【００４８】
データ処理環境１００は、用途は他にもあるが特に、例示実施形態が実装され得るクライアント・サーバ環境を実装するために使用されるとよい。クライアント・サーバ環境は、クライアント・データ処理システムとサーバ・データ処理システムとの相互作用を使用することでアプリケーションが機能するように、ソフトウェア・アプリケーションおよびデータがネットワーク中に分散されることを可能にする。データ処理環境１００はさらに、ネットワーク中に分散した相互運用可能なソフトウェア・コンポーネントが一貫性あるビジネス・アプリケーションとしてともにパッケージ化され得る、サービス指向アーキテクチャを採用することもできる。
【００４９】
図２を参照する。この図面は、例示実施形態が実装され得るデータ処理システムのブロック図を示す。データ処理システム２００は、例示実施形態のプロセスを実装するコンピュータ使用可能プログラム・コードまたは命令が位置し得る、図１のサーバ１０４またはクライアント１１０などのコンピュータの例である。
【００５０】
示されている例では、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ：Ｎｏｒｔｈ  Ｂｒｉｄｇｅ  ａｎｄ  ｍｅｍｏｒｙ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ）２０２ならびにサウス・ブリッジおよび入出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）コントローラ・ハブ（ＳＢ／ＩＣＨ：ｓｏｕｔｈ  ｂｒｉｄｇｅ  ａｎｄ  ｉｎｐｕｔ／ｏｕｔｐｕｔ（Ｉ／Ｏ）ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ）２０４を含むハブ・アーキテクチャを採用する。処理ユニット２０６、メイン・メモリ２０８、およびグラフィックス・プロセッサ２１０は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２に結合されている。処理ユニット２０６は、１つ以上のプロセッサを含むとよく、１つ以上の異種プロセッサ・システムを使用して実装されてもよい。グラフィックス・プロセッサ２１０は、一部の実装では、アクセラレーテッド・グラフィックス・ポート（ＡＧＰ：ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）を介してＮＢ／ＭＣＨに結合されるとよい。
【００５１】
示されている例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２が、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４に結合されている。オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２２４、ユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）およびその他のポート２３２、ならびにＰＣＩ／ＰＣＩｅデバイス２３４が、バス２３８を介してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合されている。ハード・ディスク・ドライブ（ＨＤＤ：ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）２２６およびＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ：コンパクト・ディスク読み取り専用メモリ）２３０が、バス２４０を介してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合されている。ＰＣＩ／ＰＣＩｅデバイスは、例えば、イーサネット（Ｒ）アダプタ、アドイン・カード、およびノートブック・コンピュータ用のＰＣカードを含んでもよい。ＰＣＩはカード・バス・コントローラを使用し、ＰＣＩｅはカード・バス・コントローラを使用しない。ＲＯＭ２２４は、例えばフラッシュ・バイナリ入出力システム（ＢＩＯＳ：ｂｉｎａｒｙ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）であってもよい。ハード・ディスク・ドライブ２２６およびＣＤ−ＲＯＭ２３０は、例えば、統合ドライブ・エレクトロニクス（ＩＤＥ：ｉｎｔｅｇｒａｔｅｄ  ｄｒｉｖｅ  ｅｌｅｃｔｒｏｎｉｃｓ）またはシリアル・アドバンスト・テクノロジ・アタッチメント（ＳＡＴＡ：ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）インターフェイスを使用してもよい。スーパーＩ／Ｏ（ＳＩＯ：ｓｕｐｅｒ  Ｉ／Ｏ）デバイス２３６が、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ（ＳＢ／ＩＣＨ）２０４に結合されていてもよい。
【００５２】
オペレーティング・システムが、処理ユニット２０６上で実行される。オペレーティング・システムは、図２のデータ処理システム２００内の様々なコンポーネントを連携させ、その制御を提供する。オペレーティング・システムは、Ｍｉｃｒｏｓｏｆｔ（Ｒ）Ｗｉｎｄｏｗｓ（Ｒ）（ＭｉｃｒｏｓｏｆｔおよびＷｉｎｄｏｗｓは、米国およびその他の国々におけるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの商標）またはＬｉｎｕｘ（Ｒ）（Ｌｉｎｕｘは、米国およびその他の国々におけるＬｉｎｕｓ  Ｔｏｒｖａｌｄｓの商標）などの市販のオペレーティング・システムであってもよい。Ｊａｖａ（Ｒ）プログラミング・システムなどのオブジェクト指向プログラミング・システムが、オペレーティング・システムとともに実行されてもよく、データ処理システム２００上で実行されているＪａｖａ（Ｒ）プログラムまたはアプリケーションからオペレーティング・システムへのコールを提供する（Ｊａｖａは、米国およびその他の国々におけるＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．の商標）。
【００５３】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションの命令、すなわちプログラムは、ハード・ディスク・ドライブ２２６などのストレージ・デバイスに位置し、処理ユニット２０６によって実行されるようメイン・メモリ２０８にロードされるとよい。例示実施形態のプロセスは、コンピュータ実装命令を使用して処理ユニット２０６により実行されるとよく、この命令は、例えばメイン・メモリ２０８、読み取り専用メモリ２２４などのメモリ内、または１つ以上の周辺デバイス内に位置するとよい。
【００５４】
図１〜２のハードウェアは、実装により異なってもよい。フラッシュ・メモリ、等価な不揮発性メモリ、または光ディスク・ドライブおよび同様のものなど、他の内部ハードウェアまたは周辺デバイスが、図１〜２に示されているハードウェアに加えて、またはその代わりに使用されてもよい。さらに、例示実施形態のプロセスは、マルチプロセッサ・データ処理システムに適用されてもよい。
【００５５】
一部の例示実施形態では、データ処理システム２００は、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）であってもよい。ＰＤＡは、一般に、オペレーティング・システム・ファイルもしくはユーザが作成したデータ、またはその両方を記憶する不揮発性メモリを提供するフラッシュ・メモリを備えた構成である。バス・システムは、システム・バス、Ｉ／Ｏバス、およびＰＣＩバスなど、１つ以上のバスを含んでよい。当然、バス・システムは、通信ファブリックまたはアーキテクチャに接続された種々のコンポーネントまたはデバイス間のデータの転送を提供する任意のタイプの通信ファブリックまたはアーキテクチャを使用して実装され得る。
【００５６】
通信ユニットは、モデムまたはネットワーク・アダプタなど、データの送受信に使用される１つ以上のデバイスを含むとよい。メモリは、例えば、メイン・メモリ２０８、またはノース・ブリッジおよびメモリ・コントローラ・ハブ２０２にあるようなキャッシュなどのキャッシュとしてもよい。処理ユニットは、１つ以上のプロセッサ、すなわちＣＰＵを含むとよい。
【００５７】
図１〜２に示されている例および上記の例は、アーキテクチャ上の制限を示唆しようとするものではない。例えば、データ処理システム２００は、ＰＤＡの形態をとるのに加えて、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話デバイスともされ得る。
【００５８】
図３を参照する。この図面は、アプリケーションの動作の一般原則のブロック図を示し、これに関して例示実施形態の実装が可能である。アプリケーション３０２は、図１のアプリケーション１０５に類似していてもよい。
【００５９】
アプリケーション３０２は、一組のリソース３０４を消費し、一組の出力３０６を生成する。一組のリソースは、計算の実行において消費される、１つ以上のタイプの任意の量のリソースである。プロセッサ・サイクル、メモリ空間、ネットワーク帯域幅、データ、および電力が、リソース３０４のいくつかの例である。リソース３０４は、アプリケーション３０２によって消費されるリソースである。実施形態による「消費されるリソース」は、アプリケーションによって実際に消費、使用、または利用される当該リソース、ならびにアプリケーションによって現在または将来の使用に向けてロック、予約、またはその他の形で保留される当該リソースを含む。
【００６０】
一組の出力は、任意のタイプのアプリケーションの１つ以上の出力である。伝送されるデータ、記憶されるデータ、登録されるエントリ、送信される通知、公開されるデータ、作成されるプリントアウト、表示される情報、および操作される情報が、データ処理システムにおいて実行されているアプリケーションからの考えられる出力３０６のいくつかの例である。
【００６１】
図４を参照する。この図面は、例示実施形態による、トレーニング期間における、消費されたリソースとアプリケーションの出力との関係のブロック図を示す。この図面に示されている測定結果および測定スケールは、図１の監視アプリケーション１０７などの監視アプリケーションが本発明の実施形態を実装する結果であると考えられる。
【００６２】
実施形態による監視アプリケーションは、トレーニング期間中に消費されるリソースおよび生成される出力に関して、データ処理システムにおいて実行されている例示の一組のアプリケーションを観測または監視する。一組のアプリケーションは、同じまたは異なるデータ処理システムにおいて実行されている１つ以上のアプリケーションのすべてまたは一部である。本発明の範囲内で、一組のアプリケーションは、アプリケーションに関連する特定のプロセスを含み、アプリケーションに関連する他の特定のプロセスは除外してもよい。したがって、一組のアプリケーションは、１つ以上のデータ処理システムにおいて実行されている１つ以上のアプリケーションに関連する１つ以上のプロセス、スレッド、または実行ファイルを含んでもよい。
【００６３】
一組の中の或るアプリケーションが、もう１つのアプリケーションのデータ処理システムとは別のデータ処理システム上で実行されている場合、第１のアプリケーションの実行が第２のアプリケーションの実行に何らかの影響を与えるのであれば、この２つのアプリケーションはその一組のアプリケーションに属する。例えば、一組の中の２つのアプリケーションが、別々のデータ処理システム上で実行されても、この２つのアプリケーションに関連する特定のプロセスは、ネットワーク上で共有リソースを求めて競合することもある。
【００６４】
トレーニング期間は、アプリケーションが期待どおりに動作していると見なされる期間である。言い換えれば、トレーニング期間中、アプリケーション実行の既知の状況下にあるアプリケーションの挙動は予測可能または規定どおりであり、アプリケーションは無進行状態にない。トレーニング期間は、連続または不連続の１つ以上の期間であればよい。
【００６５】
実施形態による監視アプリケーションは、トレーニング期間内に一組のアプリケーションによって消費されたリソースを、リソース使用量スケール４０２上に記録する。監視アプリケーションは、トレーニング期間中に一組のアプリケーションによって生成された出力を、出力スケール４０４上に記録する。
【００６６】
リソース使用量スケール４０２の両端間は、トレーニング期間にわたる、一組のアプリケーションによるリソース使用量の範囲を示す。リソース使用量スケール４０２に示されている範囲は、ボリューム、カウント、経過、または別の適切な測定単位によって測定され得る。同じく、出力スケール４０４の両端間は、トレーニング期間にわたる、一組のアプリケーションにより生成された出力の範囲を示す。出力スケール４０４に示されている範囲は、ボリューム、カウント、頻度、または別の適切な測定単位によって測定され得る。
【００６７】
監視アプリケーションは、スケール４０２および４０４内に、任意の数の部分範囲を作成するとよい。部分範囲は、範囲のうち、２つの閾値間の部分である。
【００６８】
例えば、図４では、リソース使用量スケール４０２が３つの部分範囲を含むよう示されている。例示の第１の部分範囲は、範囲の始まりと下側閾値４０６との間にあり、範囲の始まりおよび下側閾値４０６を含む。例示の第２の部分範囲は、下側閾値４０６の後から上側閾値４０８まであり、上側閾値４０８を含む。例示の第３の部分範囲は、上側閾値４０８の後から範囲の終わりまであり、範囲の終わりを含む。
【００６９】
図４ではさらに、例として、出力スケール４０４が３つの部分範囲を含むよう示されている。出力スケール４０４の例示の第１の部分範囲は、出力スケール４０４の範囲の始まりと下側閾値４１０との間にあり、出力スケール４０４の範囲の始まりおよび下側閾値４１０を含む。出力スケール４０４の例示の第２の部分範囲は、下側閾値４１０の後から上側閾値４１２まであり、上側閾値４１２を含む。出力スケール４０４の例示の第３の部分範囲は、上側閾値４１２の後から出力スケール４０４の範囲の終わりまであり、範囲の終わりを含む。
【００７０】
トレーニング期間にわたってリソース使用量および出力生成を記録した後、監視アプリケーションは、リソース使用量スケール４０２の部分範囲を、出力スケール４０４の部分範囲にマッピングするとよい。例えば、リソース使用量スケール４０２の第１の部分範囲は、出力スケール４０４の第１の部分範囲に対応するとよい。言い換えれば、トレーニング期間中、一組のアプリケーションがリソース使用量スケール４０２の第１の部分範囲内のリソースを消費しているとき、この一組のアプリケーションは、出力スケール４０４の第１の部分範囲内の出力を生成しているということを、監視アプリケーションは示す。
【００７１】
同じく、リソース使用量スケール４０２の第２の部分範囲は、出力スケール４０４の第２の部分範囲に対応するとよい。同じく、リソース使用量スケール４０２の第３の部分範囲は、出力スケール４０４の第３の部分範囲に対応するとよい。このようにリソース使用量スケール４０２の部分範囲を出力スケール４０４にマッピングすることで、監視アプリケーションは、一組のアプリケーションの動作のプロファイルを作成することができる。
【００７２】
概して、リソース使用量スケール４０２の任意の部分範囲が、出力スケール４０４の任意の１つ以上の部分範囲に対応すればよい。言い換えれば、１つのスケール上の１つの部分範囲は、もう１つのスケール上の任意の数の部分範囲に対応してよい。さらに、スケール上の部分範囲は、それぞれ任意の適切なサイズであればよく、限定されることはなく、互いに等しい必要も、比例する必要もない。
【００７３】
さらに、本発明の範囲内で、別々のスケール上の部分範囲は、互いに対応はしても、同じサイズまたは異なるサイズであってもよい。一実施形態において、部分範囲は、範囲ではなくスケール上の特定の値であってもよい。
【００７４】
図５を参照する。この図面は、例示実施形態による、監視アプリケーションによって維持されるマッピングを示す。テーブル５００は、図４の例示の表現のものなどの、部分範囲のマッピングを記憶する例示の方法とされ得る。実装では、テーブル５００は、一組のアプリケーションの、リソース使用量部分範囲と出力部分範囲とのマッピングの、他の任意の適切な形態の記録によって置き換えられてもよい。
【００７５】
例として、テーブル５００は、１つ以上の組のアプリケーション、またはその他アプリケーション、プロセス、スレッド、もしくは実行ファイルの組み合わせに関する、出力部分範囲に対するリソース使用量部分範囲のマッピングを記憶するとよい。テーブル５００は、リソース使用量部分範囲の情報を列５０２に、出力部分範囲の情報を列５０４に、さらに、対応する一組のアプリケーションの識別子などの情報を列５０６に記憶するとよい。
【００７６】
テーブル５００のデータの行は、所与の組のアプリケーションに関する１つのマッピングを構成する。テーブル５００は、特定の組のアプリケーションに関して、１つ以上の行のマッピングを維持することもできる。
【００７７】
テーブル５００は、例示実施形態を明確にするためにいくつかの例示のマッピングを示す。行５０８は、アプリケーション「Ａｐｐ．１」のみを含む一組のアプリケーションに関して、リソース使用量スケールの部分範囲の識別子「低閾値１」の、出力スケールの部分範囲の識別子「低出力閾値１」へのマッピングを示す。別の例として、行５１０は、アプリケーション「Ａｐｐ．２」、アプリケーション「Ａｐｐ．３」、およびプロセス「ｐｒｏｃｅｓｓ４」を含む一組のアプリケーションに関して、リソース使用量スケールの部分範囲の識別子「低閾値２」の、出力スケールの部分範囲の識別子「高出力閾値２」へのマッピングを示す。
【００７８】
部分範囲および一組のアプリケーションは、図５では例示の識別子によって表現されている。部分範囲または一組のアプリケーションは、実装に適切な任意の形で、テーブル５００内で表現されてよい。なお、さらに、特定されてマッピングが行われる部分範囲は、別々の組のアプリケーションに関して、別々のスケール上のものであってもよい。所与の組のアプリケーションに関して、１つのスケール上の単一の部分範囲が、もう一方の対応するスケール上にある２つ以上の部分範囲にマッピングされてもよい。
【００７９】
テーブル５００は、本発明の範囲内の、マッピングの他の例示の変形を備える、他の行を示している。テーブル５００の構造および例示のマッピングは、本発明に対する制限的なものとして意図されてはいない。テーブル５００には、任意の数の行、異なる列、および同様のマッピング情報を記憶する異なる手段が含まれてもよい。本開示から、当業者には、この他多数のマッピングの変形が明らかとなるが、それらは本発明の範囲内であるものとする。
【００８０】
例えば、一実施形態では、複数の行が、同じ一組のアプリケーションに関するが異なる状況下での、複数のマッピングを提供してもよい。そのような複数の状況を特定するために、１つ以上の追加の列がテーブル５００において使用されてもよい。そのような列は、類似の状況下におけるその一組のパフォーマンスを後から比較するために、適切な行または複数行を選択できるようにするとよい。
【００８１】
特定の場合には、テーブル５００は、まったく実装されなくてもよい。例えば一実施形態において、テーブルは、トレーニング期間のリソース使用量および出力データに基づき作成される一組のルールにより置き換えられてもよい。例えば、デフォルトのルールは、リソース使用量に関してＮ個の間隔があり、出力レベルに関してＮ個の間隔がある場合、リソース使用量測定結果および出力測定結果は、測定結果のソートされたリストに従って対応するということであってもよい。別の例示のルールは、リソース使用量の間隔Ｎにおける測定結果を、出力の、Ｎ未満ではない任意の間隔における測定結果に対応させてもよい。この他多数のルールが、本開示から明らかとなり、それらは本発明の範囲内であるものとする。
【００８２】
さらに、テーブル５００は、様々な方法で実装されることも、まったく存在しないことも可能であるため、「マッピング」は、本発明の任意の実施形態によるリソース使用量データと出力データとの対応を特定する任意の方法または技術を指す。例えば、マッピングは、リソース使用量測定結果と出力測定結果とを関連付けるルールにおいて実装される一組の論理命令の形態であってもよい。
【００８３】
図６を参照する。この図面は、例示実施形態による、監視期間における、消費されたリソースとアプリケーションの出力との関係のブロック図を示す。この図面に示されている測定結果および測定スケールは、図４の対応するスケールに類似しているとよい。
【００８４】
実施形態による監視アプリケーションは、監視期間中に消費されるリソースおよび生成される出力に関して、データ処理システムにおいて実行されている例示の一組のアプリケーションを観測または監視する。監視期間は、アプリケーションの無進行状態の検出が望まれる期間である。言い換えれば、アプリケーション実行の、その時点で存在する状況の下でアプリケーションの挙動が監視され、実施形態は、アプリケーションが監視期間中、無進行状態にあるかどうかを検出することである。監視期間は、連続または不連続の１つ以上の期間である。
【００８５】
実施形態による監視アプリケーションは、監視期間内に一組のアプリケーションによって消費されたリソースを、リソース使用量スケール６０２上に記録する。監視アプリケーションは、監視期間内に一組のアプリケーションによって生成された出力を、出力スケール６０４上に記録する。
【００８６】
リソース使用量スケール６０２の両端間は、トレーニング期間にわたる、一組のアプリケーションによるリソース使用量の範囲を示す。同じく、出力スケール６０４の両端間は、トレーニング期間にわたる、一組のアプリケーションにより生成された出力の範囲を示す。記載を明確にするために、単なる一例として、図４で説明されたように、リソース使用量スケール６０２および出力スケール６０４の第１、第２、および第３の例示の部分範囲が個別のスケール上にあり、互いにマッピングされている。
【００８７】
監視期間内の或る時点で、監視アプリケーションは、一組のアプリケーションの現在のリソース使用量が、スケール６０２上のマーカ６０６の示されている位置に対応すると判断するとよい。その示されているリソース使用量の間、一組のアプリケーションは、スケール６０４上のマーカ６０８の示されている位置に対応する出力を生成した。
【００８８】
マーカ６０６および６０８は、単なる例として、図のスケール上に図示されている。マーカ、部分範囲、およびスケールはすべて、本発明の範囲内で、数値的になど、任意の適切な形で表現されることができる。
【００８９】
図４の例の続きでは、マーカ６０６がある部分範囲は、スケール６０４の上側閾値と、終わりとの間の部分範囲に対応すると仮定する。監視アプリケーションは、マーカ６０６および６０８が、トレーニング期間中にマッピングされた対応する部分範囲にないことを観測する。この例示の観測に基づき、監視アプリケーションは、一組のアプリケーションが無進行状態にある可能性があると判断することができると考えられる。例えば、マーカ６０６および６０８によって示されているように、一組のアプリケーションは、監視期間中、消費されているリソースの量に対して期待される出力よりも少ない出力を生成しているように見える。特定の組のアプリケーションにおけるそのような挙動は、その組の中の１つ以上のアプリケーションまたはプロセスが無進行状態に入ったことを示すこともある。
【００９０】
一組のアプリケーションが無進行状態にあると、所与のリソース使用量に対して期待される出力よりも少ない出力を生成するとは限らない。例えば、マーカ６１０および６１２は、一組のアプリケーションに関する、別のリソース使用量および対応する出力生成を示し得る。マーカ６１０および６１２によれば、この一組は、少量のリソースを消費しているが、大量の出力を生成しているように見える。この一組の中のアプリケーションの特定の特性に基づき、アプリケーションは無進行状態にあり、マーカ６１２における出力の大きさは、結果として大量のロギングまたはデバッギング・データが出力されていることによるものであると推定できる可能性がある。
【００９１】
図７を参照する。この図面は、例示実施形態による、アプリケーションの無進行状態を検出するために監視アプリケーションをトレーニングするプロセスのフローチャートを示す。プロセス７００は、図１の監視アプリケーション１０７などの監視アプリケーションにおいて実装され得る。
【００９２】
プロセス７００は、一組のアプリケーションを選択することによって始まる（ステップ７０２）。プロセス７００は、この一組の通常動作設定にデータ処理システムを設定する（ステップ７０４）。例えば、ステップ７０４において、プロセス７００は、通常動作においてこの一組のアプリケーションと同時実行することが期待され得る他のプロセスを開始してもよい。別の例として、プロセス７００は、無関係なプロセスを停止して、一組のアプリケーションおよび最小限のシステム・サービスのみを実行状態のままにし、リソース使用量および出力データにおけるノイズを最小限に抑えてもよい。図４および５のものなどのスケール、部分範囲、およびマッピングの作成を促進し得る任意の適切な設定が、ステップ７０４において設定されてよく、限定はされない。
【００９３】
プロセス７００は、所定の間隔を置いてなど、トレーニング期間中のこの一組のリソース使用量および出力を測定する（ステップ７０６）。例えばプロセス７００は、測定を、特定の組のアプリケーションに関しては１秒間隔で実行してもよく、別の組に関しては１分間隔で実行してもよい。プロセス７００はさらに、システム・ハートビート・レートまたはその他の適切な期間もしくは間隔に、測定を同期させてもよい。
【００９４】
プロセス７００は、トレーニング期間にわたるリソース使用量の範囲内の一組の閾値を判断する（ステップ７０８）。プロセス７００は、トレーニング期間にわたる出力の範囲内の一組の閾値を判断する（ステップ７１０）。閾値は、本開示の他の部分で記載したように、リソース使用量および出力の部分範囲の始まりおよび終わりを示す。
【００９５】
プロセス７００は、リソース使用量の部分範囲と、出力の部分範囲との１つ以上のマッピングを作成する（ステップ７１２）。プロセス７００は、その後終了する。
【００９６】
図８を参照する。この図面は、例示実施形態による、アプリケーションの無進行状態を検出するプロセスのフローチャートを示す。プロセス８００は、図１の監視アプリケーション１０７などの監視アプリケーションにおいて実装され得る。
【００９７】
プロセス８００は、リソース使用量および生成される出力に関して一組のアプリケーションを監視することによって始まる（ステップ８０２）。プロセス８００は、監視期間内の或る時点でのリソース使用量および出力の大きさを判断する（ステップ８０４）。プロセス８００は、監視された一組のアプリケーションに関して、リソース使用量および出力と、リソース使用量および出力の部分範囲間のマッピングとを比較する（ステップ８０６）。
【００９８】
プロセス８００は、測定された現在のリソース使用量および出力が、マッピングされた部分範囲に一致または対応するかどうかを判断する（ステップ８０８）。測定されたリソース使用量および出力が、マッピングされた部分範囲に対応すれば（ステップ８０８の「はい」の経路）、プロセス８００はステップ８０４に戻り、この一組の監視を続ける。
【００９９】
測定されたリソース使用量および出力が、マッピングされている部分範囲に対応しなければ（ステップ８０８の「いいえ」の経路）、プロセス８００は、一組のアプリケーションの少なくとも一部の構成要素の無進行状態を検出する（ステップ８１０）。プロセス８００は、その後終わるか、またはステップ８０４に戻ることによってこの一組の監視を続けるとよい。プロセス８００は、検出結果について、通知すること、ログをとること、登録すること、またはその他の形で配布すること、もしくは伝播させることもできる。
【０１００】
上述のブロック図内のコンポーネントおよびフローチャート内のステップは、単なる例として記載されている。コンポーネントおよびステップは、記載を明確にするために選択されたものであり、本発明の例示実施形態に対する制限的なものではない。例えば、特定の実装は、例示実施形態の範囲から逸脱することなく、コンポーネントまたはステップのいずれかを、組み合わせること、省略すること、さらに分割すること、変更すること、増加させること、削減すること、または代わりに実装することもできる。さらに、上述のプロセスのステップは、本発明の範囲内で、異なる順序で実行されることもできる。
【０１０１】
このように、例示実施形態では、データ処理システムにおいて実行されているアプリケーションの無進行状態を検出するためにコンピュータで実装される方法、装置、およびコンピュータ・プログラム製品が提供される。本発明の実施形態を使用すると、データ処理システムは、エラーを示すことなく望ましくない状態に入った可能性のあるアプリケーションを特定できる。そのようなアプリケーションまたはその一部を検出することは、データ処理システムが、そのアプリケーションに対し管理アクションを実行して、改善されたリソース使用効率で動作することを可能にする。
【０１０２】
本発明は、完全にソフトウェアの実施形態、またはハードウェアおよびソフトウェア両方の構成要素を含む実施形態の形態をとることができる。好適な実施形態では、本発明は、ファームウェア、常駐ソフトウェア、およびマイクロコードを含むがこれらに限定されないソフトウェアまたはプログラム・コードにおいて実装される。
【０１０３】
さらに、本発明は、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとり、コンピュータまたは任意の命令実行システムにより、またはそれに関連して使用されるプログラム・コードを提供することができる。本記載では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれに関連して使用されるプログラムを含むこと、記憶すること、伝達すること、伝播させること、または搬送することができる任意の有形の装置とすることができる。
【０１０４】
媒体は、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、（もしくは装置もしくはデバイス）または伝播媒体とすることができる。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク読み取り／書き込み（ＣＤ−Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ／ｗｒｉｔｅ）、およびＤＶＤが含まれる。
【０１０５】
さらに、コンピュータ・ストレージ媒体がコンピュータ可読プログラム・コードを含むか、または記憶し、コンピュータ可読プログラム・コードがコンピュータ上で実行されると、このコンピュータ可読プログラム・コードの実行が、コンピュータに、別のコンピュータ可読プログラム・コードを通信リンク上で伝送させるようにしてもよい。この通信リンクは、例えば、限定はされないが、物理的または無線の媒体を使用してよい。
【０１０６】
プログラム・コードの記憶もしくは実行またはその両方に適したデータ処理システムは、システム・バスを介してメモリ要素に直接または間接的に結合された少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードを実際に実行する間に用いられるローカル・メモリ、大容量ストレージ媒体、および、実行中にコードが大容量ストレージ媒体から読み出されなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的なストレージとなるキャッシュ・メモリを含むことができる。
【０１０７】
データ処理システムは、サーバ・データ処理システムまたはクライアント・データ処理システムとしての機能を果たし得る。サーバおよびクライアント・データ処理システムは、コンピュータ可読であるなど、コンピュータ使用可能であるデータ・ストレージ媒体を含み得る。サーバ・データ処理システムに関連するデータ・ストレージ媒体は、コンピュータ使用可能コードを含み得る。そのコンピュータ使用可能コードを、クライアント・データ処理システムが、クライアント・データ処理システムに関連するデータ・ストレージ媒体への記憶、またはクライアント・データ処理システムでの使用などのために、ダウンロードするとよい。同じく、サーバ・データ処理システムは、クライアント・データ処理システムからコンピュータ使用可能コードをアップロードしてもよい。このように、例示実施形態のコンピュータ使用可能プログラム製品の実施形態によるコンピュータ使用可能コードは、サーバおよびクライアント・データ処理システムを使用してアップロードまたはダウンロードされ得る。
【０１０８】
入出力、すなわちＩ／Ｏデバイス（限定はされないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む）は、直接、または介在するＩ／Ｏコントローラを介して、システムに結合可能である。
【０１０９】
ネットワーク・アダプタもシステムに結合されて、データ処理システムが、他のデータ処理システムまたはリモート・プリンタまたはストレージ・デバイスに、介在するプライベートまたはパブリック・ネットワークを介して結合された状態となることを可能にしてもよい。モデム、ケーブル・モデム、およびイーサネット（Ｒ）・カードが、現在利用可能なタイプのネットワーク・アダプタのごく一部である。
【０１１０】
本発明の記載は、例示および説明のために示されたものであり、包括的であることも、開示された形態の発明に限定されることも意図されていない。当業者には、多数の変更および変形が明らかとなるであろう。実施形態は、本発明の原理、実際の応用を説明して、当業者が、意図される特定の用途に適する様々な変更を用いた様々な実施形態に関して、本発明を理解できるように選ばれ、記載された。
【図１】
2013525885.tif 000003
【図２】
2013525885.tif 000004
【図３】
2013525885.tif 000005
【図４】
2013525885.tif 000006
【図５】
2013525885.tif 000007
【図６】
2013525885.tif 000008
【図７】
2013525885.tif 000009
【図８】
2013525885.tif 000010
【手続補正書】
【提出日】平成24年10月18日(2012.10.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションの無進行状態を検出するための、コンピュータで実装される方法であって、
前記アプリケーションを含む一組のアプリケーションのリソース使用量および出力を監視するステップであって、前記アプリケーションは、データ処理システムにおいて実行されている、前記ステップと、
第１の時間におけるリソース使用量値および出力値を判断するために、前記リソース使用量および前記出力を測定するステップと、
前記リソース使用量値がリソース使用量スケールの部分範囲に含まれ、前記出力値が出力スケールの部分範囲に含まれ、前記リソース使用量スケールの前記部分範囲が前記出力スケールの前記部分範囲に対応するかどうかを判断するステップと、
前記判断が否定であることに応じて、前記アプリケーションの前記無進行状態を検出するステップと、
を含む、コンピュータで実装される方法。
【請求項２】
前記監視は、監視期間にわたって実行され、前記コンピュータで実装される方法は、
前記一組のアプリケーションを選択するステップと、
前記データ処理システムを含む一組のデータ処理システムを、前記一組のアプリケーションの通常動作用に設定するステップと、
トレーニング期間中、所定の間隔を置いて、前記一組のアプリケーションの通常リソース使用量および通常出力を測定するステップと、
前記トレーニング期間にわたるリソース使用量の範囲内の、第１組の閾値を特定し、前記第１組の閾値のうちの閾値間の、一組のリソース使用量部分範囲を形成するステップと、
前記トレーニング期間にわたる出力の範囲内の、第２組の閾値を特定し、前記第２組の閾値のうちの閾値間の、一組の出力部分範囲を形成するステップと、
リソース使用量部分範囲を出力部分範囲にマッピングするステップと、
をさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項３】
前記マッピングは、前記一組のアプリケーションのうちのいずれのアプリケーションも前記無進行状態にない場合にリソース使用量の所与の大きさに対して期待される出力の大きさを示す、請求項２に記載のコンピュータで実装される方法。
【請求項４】
前記一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、前記一組の出力部分範囲のうちの２つ以上の出力部分範囲にマッピングされる、請求項２に記載のコンピュータで実装される方法。
【請求項５】
前記アプリケーションの前記無進行状態について第２のアプリケーションに通知するステップ
をさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項６】
前記アプリケーションが前記無進行状態で実行され続けることを、第２のアプリケーションを使用して防ぐステップ
をさらに含む、請求項１に記載のコンピュータで実装される方法。
【請求項７】
使用量が測定されるリソースは、前記アプリケーションによって使用される、前記データ処理システムのコンピューティング・リソースである、請求項１に記載のコンピュータで実装される方法。
【請求項８】
前記第１の時間は、監視期間内である、請求項１に記載のコンピュータで実装される方法。
【請求項９】
前記リソース使用量値が前記リソース使用量スケールの前記部分範囲に含まれ、前記出力値が前記出力スケールの対応する部分範囲を超えると、前記アプリケーションは前記無進行状態にあると検出される、請求項１に記載のコンピュータで実装される方法。
【請求項１０】
請求項１〜９の何れか１つに記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項１１】
前記コンピュータ・プログラムは、データ処理システム内のコンピュータ可読ストレージ媒体に記憶され、前記コンピュータ・プログラムは、リモート・データ処理システムからネットワーク上で転送される、請求項１０に記載のコンピュータ・プログラム。
【請求項１２】
前記コンピュータ・プログラムは、サーバ・データ処理システム内のコンピュータ可読ストレージ媒体に記憶され、前記コンピュータ・プログラムは、リモート・データ処理システムに関連するコンピュータ可読ストレージ媒体で使用されるよう、ネットワーク上で前記リモート・データ処理システムにダウンロードされる、請求項１０に記載のコンピュータ・プログラム。
【請求項１３】
アプリケーションの無進行状態を検出するデータ処理システムであって、前記データ処理システムは、
ストレージ媒体を含み、コンピュータ使用可能プログラム・コードを記憶するストレージ・デバイスと、
前記コンピュータ使用可能プログラム・コードを実行するプロセッサと、
を含み、前記コンピュータ使用可能プログラム・コードは、
前記アプリケーションを含む一組のアプリケーションのリソース使用量および出力を監視するためのコンピュータ使用可能コードであって、前記アプリケーションは、データ処理システムにおいて実行されている、前記コンピュータ使用可能コードと、
第１の時間におけるリソース使用量値および出力値を判断するために、前記リソース使用量および前記出力を測定するためのコンピュータ使用可能コードと、
前記リソース使用量値がリソース使用量スケールの部分範囲に含まれ、前記出力値が出力スケールの部分範囲に含まれ、前記リソース使用量スケールの前記部分範囲が前記出力スケールの前記部分範囲に対応するかどうかを判断するためのコンピュータ使用可能コードと、
前記判断が否定であることに応じて、前記アプリケーションの前記無進行状態を検出するためのコンピュータ使用可能コードと、
を含む、データ処理システム。
【請求項１４】
前記監視は、監視期間にわたって実行され、前記データ処理システムは、
前記一組のアプリケーションを選択するためのコンピュータ使用可能コードと、
前記データ処理システムを含む一組のデータ処理システムを、前記一組のアプリケーションの通常動作用に設定するためのコンピュータ使用可能コードと、
トレーニング期間中、所定の間隔を置いて、前記一組のアプリケーションの通常リソース使用量および通常出力を測定するためのコンピュータ使用可能コードと、
前記トレーニング期間にわたるリソース使用量の範囲内の、第１組の閾値を特定し、前記第１組の閾値のうちの閾値間の、一組のリソース使用量部分範囲を形成するためのコンピュータ使用可能コードと、
前記トレーニング期間にわたる出力の範囲内の、第２組の閾値を特定し、前記第２組の閾値のうちの閾値間の、一組の出力部分範囲を形成するためのコンピュータ使用可能コードと、
リソース使用量部分範囲を出力部分範囲にマッピングするためのコンピュータ使用可能コードと、
をさらに含む、請求項１３に記載のデータ処理システム。
【請求項１５】
前記マッピングは、前記一組のアプリケーションのうちのいずれのアプリケーションも前記無進行状態にない場合にリソース使用量の所与の大きさに対して期待される出力の大きさを示す、請求項１４に記載のデータ処理システム。
【請求項１６】
前記一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、前記一組の出力部分範囲のうちの２つ以上の出力部分範囲にマッピングされる、請求項１４に記載のデータ処理システム。
【請求項１７】
前記アプリケーションの前記無進行状態について第２のアプリケーションに通知するためのコンピュータ使用可能コード
をさらに含む、請求項１３に記載のデータ処理システム。
【請求項１８】
前記アプリケーションが前記無進行状態で実行され続けることを、第２のアプリケーションを使用して防ぐためのコンピュータ使用可能コード
をさらに含む、請求項１３に記載のデータ処理システム。
【請求項１９】
使用量が測定されるリソースは、前記アプリケーションによって使用される、前記データ処理システムのコンピューティング・リソースである、請求項１３に記載のデータ処理システム。
【請求項２０】
前記第１の時間は、監視期間内である、請求項１３に記載のデータ処理システム。
【請求項２１】
前記リソース使用量値が前記リソース使用量スケールの前記部分範囲に含まれ、前記出力値が前記出力スケールの対応する部分範囲を超えると、前記アプリケーションは前記無進行状態にあると検出される、請求項１３に記載のデータ処理システム。
【国際調査報告】
2013525885.tif 000011
2013525885.tif 000012
2013525885.tif 000013