"アプリケーションの無進行状態を検出するための、コンピュータで実装される方法であって、前記アプリケーションを含む一組のアプリケーションのリソース使用量および出力を監視するステップであって、前記アプリケーションは、データ処理システムにおいて実行されている、前記ステップと、第1の時間におけるリソース使用量値および出力値を判断するために、前記リソース使用量および前記出力を測定するステップと、前記リソース使用量値がリソース使用量スケールの部分範囲に含まれ、前記出力値が出力スケールの部分範囲に含まれ、前記リソース使用量スケールの前記部分範囲が前記出力スケールの前記部分範囲に対応するかどうかを判断するステップと、前記判断が否定であることに応じて、前記アプリケーションの前記無進行状態を検出するステップと、を含む、コンピュータで実装される方法。前記監視は、監視期間にわたって実行され、前記コンピュータで実装される方法は、前記一組のアプリケーションを選択するステップと、前記データ処理システムを含む一組のデータ処理システムを、前記一組のアプリケーションの通常動作用に設定するステップと、トレーニング期間中、所定の間隔を置いて、前記一組のアプリケーションの通常リソース使用量および通常出力を測定するステップと、前記トレーニング期間にわたるリソース使用量の範囲内の、第1組の閾値を特定し、前記第1組の閾値のうちの閾値間の、一組のリソース使用量部分範囲を形成するステップと、前記トレーニング期間にわたる出力の範囲内の、第2組の閾値を特定し、前記第2組の閾値のうちの閾値間の、一組の出力部分範囲を形成するステップと、リソース使用量部分範囲を出力部分範囲にマッピングするステップと、をさらに含む、請求項1に記載のコンピュータで実装される方法。前記マッピングは、前記一組のアプリケーションのうちのいずれのアプリケーションも前記無進行状態にない場合にリソース使用量の所与の大きさに対して期待される出力の大きさを示す、請求項2に記載のコンピュータで実装される方法。前記一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、前記一組の出力部分範囲のうちの2つ以上の出力部分範囲にマッピングされる、請求項2に記載のコンピュータで実装される方法。前記アプリケーションの前記無進行状態について第2のアプリケーションに通知するステップをさらに含む、請求項1に記載のコンピュータで実装される方法。前記アプリケーションが前記無進行状態で実行され続けることを、第2のアプリケーションを使用して防ぐステップをさらに含む、請求項1に記載のコンピュータで実装される方法。使用量が測定されるリソースは、前記アプリケーションによって使用される、前記データ処理システムのコンピューティングリソースである、請求項1に記載のコンピュータで実装される方法。前記第1の時間は、監視期間内である、請求項1に記載のコンピュータで実装される方法。前記リソース使用量値が前記リソース使用量スケールの前記部分範囲に含まれ、前記出力値が前記出力スケールの対応する部分範囲を超えると、前記アプリケーションは前記無進行状態にあると検出される、請求項1に記載のコンピュータで実装される方法。コンピュータ使用可能ストレージ媒体を含むコンピュータ使用可能プログラム製品であって、前記コンピュータ使用可能ストレージ媒体は、アプリケーションの無進行状態を検出するためのコンピュータ使用可能コードを含み、前記コンピュータ使用可能コードは、前記アプリケーションを含む一組のアプリケーションのリソース使用量および出力を監視するためのコンピュータ使用可能コードであって、前記アプリケーションは、データ処理システムにおいて実行されている、前記コンピュータ使用可能コードと、第1の時間におけるリソース使用量値および出力値を判断するために、前記リソース使用量および前記出力を測定するためのコンピュータ使用可能コードと、前記リソース使用量値がリソース使用量スケールの部分範囲に含まれ、前記出力値が出力スケールの部分範囲に含まれ、前記リソース使用量スケールの前記部分範囲が前記出力スケールの前記部分範囲に対応するかどうかを判断するためのコンピュータ使用可能コードと、前記判断が否定であることに応じて、前記アプリケーションの前記無進行状態を検出するためのコンピュータ使用可能コードと、を含む、コンピュータ使用可能プログラム製品。前記監視は、監視期間にわたって実行され、前記コンピュータ使用可能プログラム製品は、前記一組のアプリケーションを選択するためのコンピュータ使用可能コードと、前記データ処理システムを含む一組のデータ処理システムを、前記一組のアプリケーションの通常動作用に設定するためのコンピュータ使用可能コードと、トレーニング期間中、所定の間隔を置いて、前記一組のアプリケーションの通常リソース使用量および通常出力を測定するためのコンピュータ使用可能コードと、前記トレーニング期間にわたるリソース使用量の範囲内の、第1組の閾値を特定し、前記第1組の閾値のうちの閾値間の、一組のリソース使用量部分範囲を形成するためのコンピュータ使用可能コードと、前記トレーニング期間にわたる出力の範囲内の、第2組の閾値を特定し、前記第2組の閾値のうちの閾値間の、一組の出力部分範囲を形成するためのコンピュータ使用可能コードと、リソース使用量部分範囲を出力部分範囲にマッピングするためのコンピュータ使用可能コードと、をさらに含む、請求項10に記載のコンピュータ使用可能プログラム製品。前記マッピングは、前記一組のアプリケーションのうちのいずれのアプリケーションも前記無進行状態にない場合にリソース使用量の所与の大きさに対して期待される出力の大きさを示す、請求項11に記載のコンピュータ使用可能プログラム製品。前記一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、前記一組の出力部分範囲のうちの2つ以上の出力部分範囲にマッピングされる、請求項11に記載のコンピュータ使用可能プログラム製品。前記アプリケーションの前記無進行状態について第2のアプリケーションに通知するためのコンピュータ使用可能コードをさらに含む、請求項10に記載のコンピュータ使用可能プログラム製品。前記アプリケーションが前記無進行状態で実行され続けることを、第2のアプリケーションを使用して防ぐためのコンピュータ使用可能コードをさらに含む、請求項10に記載のコンピュータ使用可能プログラム製品。使用量が測定されるリソースは、前記アプリケーションによって使用される、前記データ処理システムのコンピューティングリソースである、請求項10に記載のコンピュータ使用可能プログラム製品。前記第1の時間は、監視期間内である、請求項10に記載のコンピュータ使用可能プログラム製品。前記リソース使用量値が前記リソース使用量スケールの前記部分範囲に含まれ、前記出力値が前記出力スケールの対応する部分範囲を超えると、前記アプリケーションは前記無進行状態にあると検出される、請求項10に記載のコンピュータ使用可能プログラム製品。前記コンピュータ使用可能コードは、データ処理システム内のコンピュータ可読ストレージ媒体に記憶され、前記コンピュータ使用可能コードは、リモートデータ処理システムからネットワーク上で転送される、請求項10に記載のコンピュータ使用可能プログラム製品。前記コンピュータ使用可能コードは、サーバデータ処理システム内のコンピュータ可読ストレージ媒体に記憶され、前記コンピュータ使用可能コードは、リモートデータ処理システムに関連するコンピュータ可読ストレージ媒体で使用されるよう、ネットワーク上で前記リモートデータ処理システムにダウンロードされる、請求項10に記載のコンピュータ使用可能プログラム製品。アプリケーションの無進行状態を検出するデータ処理システムであって、前記データ処理システムは、ストレージ媒体を含み、コンピュータ使用可能プログラムコードを記憶するストレージデバイスと、前記コンピュータ使用可能プログラムコードを実行するプロセッサと、を含み、前記コンピュータ使用可能プログラムコードは、前記アプリケーションを含む一組のアプリケーションのリソース使用量および出力を監視するためのコンピュータ使用可能コードであって、前記アプリケーションは、データ処理システムにおいて実行されている、前記コンピュータ使用可能コードと、第1の時間におけるリソース使用量値および出力値を判断するために、前記リソース使用量および前記出力を測定するためのコンピュータ使用可能コードと、前記リソース使用量値がリソース使用量スケールの部分範囲に含まれ、前記出力値が出力スケールの部分範囲に含まれ、前記リソース使用量スケールの前記部分範囲が前記出力スケールの前記部分範囲に対応するかどうかを判断するためのコンピュータ使用可能コードと、前記判断が否定であることに応じて、前記アプリケーションの前記無進行状態を検出するためのコンピュータ使用可能コードと、を含む、データ処理システム。前記監視は、監視期間にわたって実行され、前記データ処理システムは、前記一組のアプリケーションを選択するためのコンピュータ使用可能コードと、前記データ処理システムを含む一組のデータ処理システムを、前記一組のアプリケーションの通常動作用に設定するためのコンピュータ使用可能コードと、トレーニング期間中、所定の間隔を置いて、前記一組のアプリケーションの通常リソース使用量および通常出力を測定するためのコンピュータ使用可能コードと、前記トレーニング期間にわたるリソース使用量の範囲内の、第1組の閾値を特定し、前記第1組の閾値のうちの閾値間の、一組のリソース使用量部分範囲を形成するためのコンピュータ使用可能コードと、前記トレーニング期間にわたる出力の範囲内の、第2組の閾値を特定し、前記第2組の閾値のうちの閾値間の、一組の出力部分範囲を形成するためのコンピュータ使用可能コードと、リソース使用量部分範囲を出力部分範囲にマッピングするためのコンピュータ使用可能コードと、をさらに含む、請求項21に記載のデータ処理システム。前記マッピングは、前記一組のアプリケーションのうちのいずれのアプリケーションも前記無進行状態にない場合にリソース使用量の所与の大きさに対して期待される出力の大きさを示す、請求項22に記載のデータ処理システム。前記一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、前記一組の出力部分範囲のうちの2つ以上の出力部分範囲にマッピングされる、請求項22に記載のデータ処理システム。前記アプリケーションの前記無進行状態について第2のアプリケーションに通知するためのコンピュータ使用可能コードをさらに含む、請求項21に記載のデータ処理システム。前記アプリケーションが前記無進行状態で実行され続けることを、第2のアプリケーションを使用して防ぐためのコンピュータ使用可能コードをさらに含む、請求項21に記載のデータ処理システム。使用量が測定されるリソースは、前記アプリケーションによって使用される、前記データ処理システムのコンピューティングリソースである、請求項21に記載のデータ処理システム。前記第1の時間は、監視期間内である、請求項21に記載のデータ処理システム。前記リソース使用量値が前記リソース使用量スケールの前記部分範囲に含まれ、前記出力値が前記出力スケールの対応する部分範囲を超えると、前記アプリケーションは前記無進行状態にあると検出される、請求項21に記載のデータ処理システム。特定の状況下では、アプリケーションがエラー状態に入らなくても、他の点でアプリケーションの継続した実行が望ましくないこともある。データ処理システムにおいてそのような状況を検出することは難しく、現在得られるものではないが、データ処理システムの改善されたパフォーマンスのためには望ましいことである。特許文献1は、入力測定結果と出力測定結果との相関を監視して、そのモデルを得ることを開示している。特許文献2は、コンピューティングシステムを監視しパフォーマンスメトリクスを獲得して、観測されたコンピューティングシステムのメトリクスに基づき異常を検出する方法を開示している。特許文献3は、残差閾内に出力の差があることに基づき、コンピューティングシステムの異常を検出する方法を開示している。特許文献4は、アプリケーション実行を監視して、リソーストランザクションペアの時系列データを判断し、偏差情報に基づき異常を特定する方法を開示している。非特許文献1の論文は、ソフトウェアプログラムを監視して、種々の状況下でのI/Oスループットモデルを作成し、ソフトウェアプログラムにおける異常を検出することを開示している。非特許文献2の論文は、ターゲット実行とリファレンス実行との間のパフォーマンス偏差を特徴付ける変化プロファイルに基づきパフォーマンス異常を特定する方法を開示している。例示実施形態は、アプリケーションの無進行状態noprogressstateを検出する方法、システム、およびコンピュータ使用可能プログラム製品を提供する。実施形態は、一組のアプリケーションのリソース使用量および出力を監視する。一組のアプリケーションは、該アプリケーションを含む。アプリケーションは、データ処理システムにおいて実行されている。実施形態は、リソース使用量および出力を測定して、第1の時間におけるリソース使用量値および出力値を判断する。実施形態は、リソース使用量値がリソース使用量スケールresourceusagescaleの部分範囲に含まれ、出力値が出力スケールoutputscaleの部分範囲に含まれ、リソース使用量スケールの部分範囲が出力スケールの部分範囲に対応するかどうかを判断する。実施形態は、判断が否定であれば、アプリケーションの無進行状態を検出する。別の実施形態では、監視は、監視期間monitoringperiodにわたって実行される。実施形態はさらに、一組のアプリケーションを選択する。実施形態は、一組のデータ処理システムを、一組のアプリケーションの通常動作用に設定する。一組のデータ処理システムは、該データ処理システムを含む。実施形態は、トレーニング期間trainingperiod中、所定の間隔を置いて、一組のアプリケーションの通常リソース使用量normalresourceusageおよび通常出力normaloutputを測定する。実施形態は、トレーニング期間にわたるリソース使用量の範囲内の、第1組の閾値を特定して、第1組の閾値のうちの閾値間の、一組のリソース使用量部分範囲resourceusagesub-rangeを形成する。実施形態は、トレーニング期間にわたる出力の範囲内の、第2組の閾値を特定して、第2組の閾値のうちの閾値間の、一組の出力部分範囲outputsub-rangeを形成する。実施形態は、リソース使用量部分範囲を、出力部分範囲にマッピングする。別の実施形態では、このマッピングは、一組のアプリケーションのうちのいずれのアプリケーションも無進行状態にない場合にリソース使用量の所与の大きさmeasureに対して期待される出力の大きさを示す。別の実施形態では、一組のリソース使用量部分範囲のうちのリソース使用量部分範囲は、一組の出力部分範囲のうちの2つ以上の出力部分範囲にマッピングされる。別の実施形態はさらに、アプリケーションの無進行状態について第2のアプリケーションに通知する。別の実施形態はさらに、アプリケーションが無進行状態で実行され続けることを、第2のアプリケーションを使用して防ぐ。別の実施形態では、使用量が測定されるリソースは、アプリケーションによって使用される、データ処理システムのコンピューティングリソースである。別の実施形態では、第1の時間は、監視期間内である。別の実施形態では、リソース使用量値がリソース使用量スケールの部分範囲に含まれ、出力値が出力スケールの対応する部分範囲を超えると、アプリケーションは無進行状態にあると検出される。以下、次の図面を参照しながら、単なる例として本発明の好適な実施形態について記載する。本発明の実施形態は、たとえアプリケーションがエラー状態に入っていなくても、特定の状況下ではアプリケーションの継続した実行が望ましくないこともあるということを認識している。無進行状態とは、アプリケーションの実行の、そうした状態である。無進行状態とは、アプリケーションが、適切な出力または期待される出力を生成せずにリソースを消費または予約し続ける、アプリケーションの実行の状態である。例えば、本発明の実施形態は、特定のリソースが利用可能になるのをアプリケーションが長期間待ち続けることもあるということを認識している。待機中、アプリケーションは、いかなる出力も生成せずに、または出力の期待されるもしくは閾値ボリュームよりも少ない出力を生成しながら、他のリソースをロックまたは消費し続けることもある。言い換えれば、アプリケーションは、無進行状態にあると考えられる。アプリケーションは、待機中、エラーを生成することも、エラー状態に入ることもないため、オペレーティングシステムは、アプリケーションが正常であると見なすと考えられ、アプリケーションが無進行状態で実行され続けることを許す。本発明の実施形態は、そのような無進行状態が検出されずにいるのを許すことは、コンピューティングリソースを無駄にし、さらに全体的なシステムパフォーマンスを悪化させることにもなり得るということを認識している。別の例として、本発明は、アプリケーションは、計算が結果を生成することなく大量のプロセッササイクルを消費することの原因となるエラーを含むこともあるということを認識している。この場合もやはり、アプリケーションは、無進行状態で実行されていると考えられる。この場合もやはり、アプリケーションは、エラー状態に入らず単に計算を実行し続けるため、オペレーティングシステムは、アプリケーションが正常であると見なすと考えられる。本発明は、そのような無進行状態が検出されずにいるのを許すことは、コンピューティングリソースを無駄にし、さらに全体的なシステムパフォーマンスを悪化させることにもなり得るということを認識している。本発明の実施形態は、アプリケーションが、その他多数の理由により無進行状態に入り得るということを認識している。アプリケーションの無進行状態をもたらし得るさらなるいくつかの理由としては、ソフトウェアのバグ、アプリケーションの設定のエラー、およびシステムリソースの過負荷が考えられる。本発明の実施形態はさらに、アプリケーション内のアルゴリズムが多くのシナリオに関して期待どおりに実行しても、アルゴリズムが非能率的となり得るシナリオにアプリケーションが遭遇すれば、やはりアプリケーションは無進行状態に入り得るということを認識している。本発明の実施形態により対処される無進行状態では、アプリケーションは、進行して出力を生成し得るが、そうした進行または出力は、閾値未満である。本発明の実施形態により対処される無進行状態の別の変形では、アプリケーションは、定義された期間内に、出力をまったく生成しないか、またはまったく進行しないこともある。本発明の実施形態によって対処される無進行状態の別の変形では、アプリケーションは、最終的には進行して結果を生成し得るが、そうした進行は、閾値を上回る、または他の形で許容できないような時間もしくはリソース量を消費した後であることもある。本発明の実施形態はさらに、アプリケーションの出力レベルのみを監視することは、アプリケーションの無進行状態を検出するには不十分な場合もあるということを認識している。例えば、アプリケーションの出力は、アプリケーションに対し課される要求に影響されることが多い。通常は、アプリケーションとの相互作用が増すにつれて、それに比例して増加する出力を期待することができる。逆に言えば、閾値未満のレベルの出力は、アプリケーションとの、またはアプリケーション内での低レベルのアクティビティの表れでしかないこともあり、必ずしもアプリケーションの無進行状態の表れであるとは限らない。本発明について記載するために使用される例示実施形態は、概して、上記の問題、およびデータ処理システムにおいて実行されているアプリケーションの無進行状態に関係する他の問題に対処し、解決する。例示実施形態は、アプリケーションの無進行状態を検出する方法、コンピュータ使用可能プログラム製品、およびデータ処理システムを提供する。本発明の実施形態は、望ましい出力を生成せずにリソースを消費または予約しているアプリケーションの検出を可能にするとよい。実施形態は、既存のエラー状態検出機能が、アプリケーションの無進行状態の検出にも成功できるようにしてもよい。実施形態は、そのような既存の機能に統合されてもよく、それとともに動作してもよい。例示実施形態は、単なる例として、データ、データ構造、および識別子に関して記載される。そのような記載は、本発明に関する制限的なものとしては意図されていない。例えば、ウェブサーバから出力されるページの数に関して記載される例示実施形態は、本発明の範囲内で、データベースから同様の形で供給されるクエリの数を使用して実装され得る。さらに、例示実施形態は、任意のタイプのデータ処理システムに関して実装され得る。例えば、マルチプロセッサスタンドアロンデータ処理システムに関して記載される例示実施形態は、本発明の範囲内で、マルチプロセッサ論理パーティションシステムにおいて実装されることもできる。例示実施形態は、単なる例として、特定のパラメータ、属性、および設定に関してさらに記載される。そのような記載は、本発明に関する制限的なものとしては意図されていない。本発明の実施形態は、例えば、任意のタイプのクライアントシステム、サーバシステム、プラットフォーム、またはその組み合わせなど、任意のタイプのデータ処理システムに関して実装され得る。実施形態を実装するアプリケーションは、データオブジェクト、コードオブジェクト、カプセル化された命令、アプリケーションフラグメント、サービス、およびデータ処理環境で利用可能な他のタイプのソフトウェア実装の形態をとり得る。例えば、JavaR仮想マシンJVMR:JavaVirtualMachineオブジェクト、エンタープライズJavaビーンEJBR:EnterpriseJavaBean、サーブレット、またはアプレットが、アプリケーションを具現化したものと考えられ、これに関して、またはこの中に、またはこれを使用して、本発明が実装され得る。Java、JVM、EJB、およびその他のJava関係の用語は、SunMicrosystems,Inc.の米国およびその他の国々における登録商標である。例示実施形態は、ハードウェア、ソフトウェア、またはその組み合わせにおいて実装され得る。本開示における例は、記載を明確にするためのみに使用されており、例示実施形態に関する制限的なものではない。本開示から、同様の目的のための追加のまたは異なる情報、データ、動作、アクション、タスク、アクティビティ、および操作を考えることができるが、それらは、例示実施形態の範囲内であるものとする。例示実施形態は、具体的なコード、データ構造、ファイルシステム、設計、アーキテクチャ、レイアウト、概略図、およびツールを、単なる例として使用して記載されており、例示の実施形態に関する制限的なものではない。さらに例示実施形態は、一部の例において、記載を明確にするために、特定のデータ処理環境を単なる例として使用して記載されている。例示実施形態は、他の類似または同様の目的の構造、システム、アプリケーション、またはアーキテクチャとともに使用され得る。本願明細書に記載されている任意の利点は、単なる例であり、例示実施形態に関する制限的なものとしては意図されていない。追加のまたは異なる利点が、具体的な例示実施形態によって実現され得る。さらに、特定の例示実施形態は、上記に記載された利点の一部、もしくは全部を有することも、またはいずれも有しないこともある。図面、特に図1および2を参照する。これらの図面は、例示実施形態が実装され得るデータ処理環境の例示の図である。図1および2は単なる例であり、種々の実施形態が実装され得る環境に関していかなる制限を主張することも、示唆することも意図していない。特定の実装において、以下の記載に基づき示される環境に対し、多数の変更が加えられてよい。図1は、例示実施形態が実装され得るデータ処理システムのネットワークの図的表現を示す。データ処理環境100は、例示実施形態が実装され得るコンピュータのネットワークである。データ処理環境100は、ネットワーク102を含む。ネットワーク102は、データ処理環境100内で互いに接続された様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク102は、有線、無線通信リンク、または光ファイバケーブルなどの接続を含み得る。サーバ104およびサーバ106は、ストレージユニット108と同じくネットワーク102に結合している。ソフトウェアアプリケーションが、データ処理環境100内の任意のコンピュータ上で実行され得る。さらに、クライアント110、112、および114もネットワーク102に結合している。サーバ104もしくは106、またはクライアント110、112、もしくは114などのデータ処理システムは、データを含むとよく、そこでソフトウェアアプリケーションまたはソフトウェアツールが実行されているとよい。サーバ104は、アプリケーション105を含むとよい。サーバ106は、監視アプリケーション107を含むとよい。監視アプリケーション107は、本発明の実施形態の実装を含むとよい。サーバ104および106、ストレージユニット108、ならびにクライアント110、112、および114は、有線接続、無線通信プロトコル、またはその他の適切なデータ接続性を使用してネットワーク102に結合しているとよい。クライアント110、112、および114は、例えばパーソナルコンピュータまたはネットワークコンピュータであってもよい。示されている例では、サーバ104が、ブートファイル、オペレーティングシステムイメージ、およびアプリケーションなどのデータを、クライアント110、112、および114に提供してもよい。クライアント110、112、および114は、この例では、サーバ104のクライアントであってもよい。クライアント110、112、114、またはその何らかの組み合わせは、それ自体のデータ、ブートファイル、オペレーティングシステムイメージ、およびアプリケーションを含んでもよい。データ処理環境100は、示されていない追加のサーバ、クライアント、およびその他のデバイスを含んでもよい。示されている例では、データ処理環境100はインターネットであってもよい。ネットワーク102は、互いに通信するために伝送制御プロトコル/インターネットプロトコルTCP/IP:TransmissionControlProtocol/InternetProtocolおよびその他のプロトコルを使用する、ネットワークおよびゲートウェイの集合を表現し得る。インターネットの中心には、データおよびメッセージをルーティングする数千の商用、政府機関用、教育用、およびその他のコンピュータシステムを含む主要ノードまたはホストコンピュータ間のデータ通信リンクのバックボーンがある。当然、データ処理環境100は、例えばイントラネット、ローカルエリアネットワークLAN:localareanetwork、または広域ネットワークWAN:wideareanetworkなど、いくつかの異なるタイプのネットワークとしても実装され得る。図1は、種々の例示実施形態のアーキテクチャ上の制限としてではなく、例として意図されている。データ処理環境100は、用途は他にもあるが特に、例示実施形態が実装され得るクライアントサーバ環境を実装するために使用されるとよい。クライアントサーバ環境は、クライアントデータ処理システムとサーバデータ処理システムとの相互作用を使用することでアプリケーションが機能するように、ソフトウェアアプリケーションおよびデータがネットワーク中に分散されることを可能にする。データ処理環境100はさらに、ネットワーク中に分散した相互運用可能なソフトウェアコンポーネントが一貫性あるビジネスアプリケーションとしてともにパッケージ化され得る、サービス指向アーキテクチャを採用することもできる。図2を参照する。この図面は、例示実施形態が実装され得るデータ処理システムのブロック図を示す。データ処理システム200は、例示実施形態のプロセスを実装するコンピュータ使用可能プログラムコードまたは命令が位置し得る、図1のサーバ104またはクライアント110などのコンピュータの例である。示されている例では、データ処理システム200は、ノースブリッジおよびメモリコントローラハブNB/MCH:NorthBridgeandmemorycontrollerhub202ならびにサウスブリッジおよび入出力I/O:input/outputコントローラハブSB/ICH:southbridgeandinput/outputI/Ocontrollerhub204を含むハブアーキテクチャを採用する。処理ユニット206、メインメモリ208、およびグラフィックスプロセッサ210は、ノースブリッジおよびメモリコントローラハブNB/MCH202に結合されている。処理ユニット206は、1つ以上のプロセッサを含むとよく、1つ以上の異種プロセッサシステムを使用して実装されてもよい。グラフィックスプロセッサ210は、一部の実装では、アクセラレーテッドグラフィックスポートAGP:acceleratedgraphicsportを介してNB/MCHに結合されるとよい。示されている例では、ローカルエリアネットワークLANアダプタ212が、サウスブリッジおよびI/OコントローラハブSB/ICH204に結合されている。オーディオアダプタ216、キーボードおよびマウスアダプタ220、モデム222、読み取り専用メモリROM:readonlymemory224、ユニバーサルシリアルバスUSB:universalserialbusおよびその他のポート232、ならびにPCI/PCIeデバイス234が、バス238を介してサウスブリッジおよびI/Oコントローラハブ204に結合されている。ハードディスクドライブHDD:harddiskdrive226およびCD-ROMcompactdisk-readonlymemory:コンパクトディスク読み取り専用メモリ230が、バス240を介してサウスブリッジおよびI/Oコントローラハブ204に結合されている。PCI/PCIeデバイスは、例えば、イーサネットRアダプタ、アドインカード、およびノートブックコンピュータ用のPCカードを含んでもよい。PCIはカードバスコントローラを使用し、PCIeはカードバスコントローラを使用しない。ROM224は、例えばフラッシュバイナリ入出力システムBIOS:binaryinput/outputsystemであってもよい。ハードディスクドライブ226およびCD-ROM230は、例えば、統合ドライブエレクトロニクスIDE:integrateddriveelectronicsまたはシリアルアドバンストテクノロジアタッチメントSATA:serialadvancedtechnologyattachmentインターフェイスを使用してもよい。スーパーI/OSIO:superI/Oデバイス236が、サウスブリッジおよびI/OコントローラハブSB/ICH204に結合されていてもよい。オペレーティングシステムが、処理ユニット206上で実行される。オペレーティングシステムは、図2のデータ処理システム200内の様々なコンポーネントを連携させ、その制御を提供する。オペレーティングシステムは、MicrosoftRWindowsRMicrosoftおよびWindowsは、米国およびその他の国々におけるMicrosoftCorporationの商標またはLinuxRLinuxは、米国およびその他の国々におけるLinusTorvaldsの商標などの市販のオペレーティングシステムであってもよい。JavaRプログラミングシステムなどのオブジェクト指向プログラミングシステムが、オペレーティングシステムとともに実行されてもよく、データ処理システム200上で実行されているJavaRプログラムまたはアプリケーションからオペレーティングシステムへのコールを提供するJavaは、米国およびその他の国々におけるSunMicrosystems,Inc.の商標。オペレーティングシステム、オブジェクト指向プログラミングシステム、およびアプリケーションの命令、すなわちプログラムは、ハードディスクドライブ226などのストレージデバイスに位置し、処理ユニット206によって実行されるようメインメモリ208にロードされるとよい。例示実施形態のプロセスは、コンピュータ実装命令を使用して処理ユニット206により実行されるとよく、この命令は、例えばメインメモリ208、読み取り専用メモリ224などのメモリ内、または1つ以上の周辺デバイス内に位置するとよい。図1~2のハードウェアは、実装により異なってもよい。フラッシュメモリ、等価な不揮発性メモリ、または光ディスクドライブおよび同様のものなど、他の内部ハードウェアまたは周辺デバイスが、図1~2に示されているハードウェアに加えて、またはその代わりに使用されてもよい。さらに、例示実施形態のプロセスは、マルチプロセッサデータ処理システムに適用されてもよい。一部の例示実施形態では、データ処理システム200は、携帯情報端末PDA:personaldigitalassistantであってもよい。PDAは、一般に、オペレーティングシステムファイルもしくはユーザが作成したデータ、またはその両方を記憶する不揮発性メモリを提供するフラッシュメモリを備えた構成である。バスシステムは、システムバス、I/Oバス、およびPCIバスなど、1つ以上のバスを含んでよい。当然、バスシステムは、通信ファブリックまたはアーキテクチャに接続された種々のコンポーネントまたはデバイス間のデータの転送を提供する任意のタイプの通信ファブリックまたはアーキテクチャを使用して実装され得る。通信ユニットは、モデムまたはネットワークアダプタなど、データの送受信に使用される1つ以上のデバイスを含むとよい。メモリは、例えば、メインメモリ208、またはノースブリッジおよびメモリコントローラハブ202にあるようなキャッシュなどのキャッシュとしてもよい。処理ユニットは、1つ以上のプロセッサ、すなわちCPUを含むとよい。図1~2に示されている例および上記の例は、アーキテクチャ上の制限を示唆しようとするものではない。例えば、データ処理システム200は、PDAの形態をとるのに加えて、タブレットコンピュータ、ラップトップコンピュータ、または電話デバイスともされ得る。図3を参照する。この図面は、アプリケーションの動作の一般原則のブロック図を示し、これに関して例示実施形態の実装が可能である。アプリケーション302は、図1のアプリケーション105に類似していてもよい。アプリケーション302は、一組のリソース304を消費し、一組の出力306を生成する。一組のリソースは、計算の実行において消費される、1つ以上のタイプの任意の量のリソースである。プロセッササイクル、メモリ空間、ネットワーク帯域幅、データ、および電力が、リソース304のいくつかの例である。リソース304は、アプリケーション302によって消費されるリソースである。実施形態による消費されるリソースは、アプリケーションによって実際に消費、使用、または利用される当該リソース、ならびにアプリケーションによって現在または将来の使用に向けてロック、予約、またはその他の形で保留される当該リソースを含む。一組の出力は、任意のタイプのアプリケーションの1つ以上の出力である。伝送されるデータ、記憶されるデータ、登録されるエントリ、送信される通知、公開されるデータ、作成されるプリントアウト、表示される情報、および操作される情報が、データ処理システムにおいて実行されているアプリケーションからの考えられる出力306のいくつかの例である。図4を参照する。この図面は、例示実施形態による、トレーニング期間における、消費されたリソースとアプリケーションの出力との関係のブロック図を示す。この図面に示されている測定結果および測定スケールは、図1の監視アプリケーション107などの監視アプリケーションが本発明の実施形態を実装する結果であると考えられる。実施形態による監視アプリケーションは、トレーニング期間中に消費されるリソースおよび生成される出力に関して、データ処理システムにおいて実行されている例示の一組のアプリケーションを観測または監視する。一組のアプリケーションは、同じまたは異なるデータ処理システムにおいて実行されている1つ以上のアプリケーションのすべてまたは一部である。本発明の範囲内で、一組のアプリケーションは、アプリケーションに関連する特定のプロセスを含み、アプリケーションに関連する他の特定のプロセスは除外してもよい。したがって、一組のアプリケーションは、1つ以上のデータ処理システムにおいて実行されている1つ以上のアプリケーションに関連する1つ以上のプロセス、スレッド、または実行ファイルを含んでもよい。一組の中の或るアプリケーションが、もう1つのアプリケーションのデータ処理システムとは別のデータ処理システム上で実行されている場合、第1のアプリケーションの実行が第2のアプリケーションの実行に何らかの影響を与えるのであれば、この2つのアプリケーションはその一組のアプリケーションに属する。例えば、一組の中の2つのアプリケーションが、別々のデータ処理システム上で実行されても、この2つのアプリケーションに関連する特定のプロセスは、ネットワーク上で共有リソースを求めて競合することもある。トレーニング期間は、アプリケーションが期待どおりに動作していると見なされる期間である。言い換えれば、トレーニング期間中、アプリケーション実行の既知の状況下にあるアプリケーションの挙動は予測可能または規定どおりであり、アプリケーションは無進行状態にない。トレーニング期間は、連続または不連続の1つ以上の期間であればよい。実施形態による監視アプリケーションは、トレーニング期間内に一組のアプリケーションによって消費されたリソースを、リソース使用量スケール402上に記録する。監視アプリケーションは、トレーニング期間中に一組のアプリケーションによって生成された出力を、出力スケール404上に記録する。リソース使用量スケール402の両端間は、トレーニング期間にわたる、一組のアプリケーションによるリソース使用量の範囲を示す。リソース使用量スケール402に示されている範囲は、ボリューム、カウント、経過、または別の適切な測定単位によって測定され得る。同じく、出力スケール404の両端間は、トレーニング期間にわたる、一組のアプリケーションにより生成された出力の範囲を示す。出力スケール404に示されている範囲は、ボリューム、カウント、頻度、または別の適切な測定単位によって測定され得る。監視アプリケーションは、スケール402および404内に、任意の数の部分範囲を作成するとよい。部分範囲は、範囲のうち、2つの閾値間の部分である。例えば、図4では、リソース使用量スケール402が3つの部分範囲を含むよう示されている。例示の第1の部分範囲は、範囲の始まりと下側閾値406との間にあり、範囲の始まりおよび下側閾値406を含む。例示の第2の部分範囲は、下側閾値406の後から上側閾値408まであり、上側閾値408を含む。例示の第3の部分範囲は、上側閾値408の後から範囲の終わりまであり、範囲の終わりを含む。図4ではさらに、例として、出力スケール404が3つの部分範囲を含むよう示されている。出力スケール404の例示の第1の部分範囲は、出力スケール404の範囲の始まりと下側閾値410との間にあり、出力スケール404の範囲の始まりおよび下側閾値410を含む。出力スケール404の例示の第2の部分範囲は、下側閾値410の後から上側閾値412まであり、上側閾値412を含む。出力スケール404の例示の第3の部分範囲は、上側閾値412の後から出力スケール404の範囲の終わりまであり、範囲の終わりを含む。トレーニング期間にわたってリソース使用量および出力生成を記録した後、監視アプリケーションは、リソース使用量スケール402の部分範囲を、出力スケール404の部分範囲にマッピングするとよい。例えば、リソース使用量スケール402の第1の部分範囲は、出力スケール404の第1の部分範囲に対応するとよい。言い換えれば、トレーニング期間中、一組のアプリケーションがリソース使用量スケール402の第1の部分範囲内のリソースを消費しているとき、この一組のアプリケーションは、出力スケール404の第1の部分範囲内の出力を生成しているということを、監視アプリケーションは示す。同じく、リソース使用量スケール402の第2の部分範囲は、出力スケール404の第2の部分範囲に対応するとよい。同じく、リソース使用量スケール402の第3の部分範囲は、出力スケール404の第3の部分範囲に対応するとよい。このようにリソース使用量スケール402の部分範囲を出力スケール404にマッピングすることで、監視アプリケーションは、一組のアプリケーションの動作のプロファイルを作成することができる。概して、リソース使用量スケール402の任意の部分範囲が、出力スケール404の任意の1つ以上の部分範囲に対応すればよい。言い換えれば、1つのスケール上の1つの部分範囲は、もう1つのスケール上の任意の数の部分範囲に対応してよい。さらに、スケール上の部分範囲は、それぞれ任意の適切なサイズであればよく、限定されることはなく、互いに等しい必要も、比例する必要もない。さらに、本発明の範囲内で、別々のスケール上の部分範囲は、互いに対応はしても、同じサイズまたは異なるサイズであってもよい。一実施形態において、部分範囲は、範囲ではなくスケール上の特定の値であってもよい。図5を参照する。この図面は、例示実施形態による、監視アプリケーションによって維持されるマッピングを示す。テーブル500は、図4の例示の表現のものなどの、部分範囲のマッピングを記憶する例示の方法とされ得る。実装では、テーブル500は、一組のアプリケーションの、リソース使用量部分範囲と出力部分範囲とのマッピングの、他の任意の適切な形態の記録によって置き換えられてもよい。例として、テーブル500は、1つ以上の組のアプリケーション、またはその他アプリケーション、プロセス、スレッド、もしくは実行ファイルの組み合わせに関する、出力部分範囲に対するリソース使用量部分範囲のマッピングを記憶するとよい。テーブル500は、リソース使用量部分範囲の情報を列502に、出力部分範囲の情報を列504に、さらに、対応する一組のアプリケーションの識別子などの情報を列506に記憶するとよい。テーブル500のデータの行は、所与の組のアプリケーションに関する1つのマッピングを構成する。テーブル500は、特定の組のアプリケーションに関して、1つ以上の行のマッピングを維持することもできる。テーブル500は、例示実施形態を明確にするためにいくつかの例示のマッピングを示す。行508は、アプリケーションApp.1のみを含む一組のアプリケーションに関して、リソース使用量スケールの部分範囲の識別子低閾値1の、出力スケールの部分範囲の識別子低出力閾値1へのマッピングを示す。別の例として、行510は、アプリケーションApp.2、アプリケーションApp.3、およびプロセスprocess4を含む一組のアプリケーションに関して、リソース使用量スケールの部分範囲の識別子低閾値2の、出力スケールの部分範囲の識別子高出力閾値2へのマッピングを示す。部分範囲および一組のアプリケーションは、図5では例示の識別子によって表現されている。部分範囲または一組のアプリケーションは、実装に適切な任意の形で、テーブル500内で表現されてよい。なお、さらに、特定されてマッピングが行われる部分範囲は、別々の組のアプリケーションに関して、別々のスケール上のものであってもよい。所与の組のアプリケーションに関して、1つのスケール上の単一の部分範囲が、もう一方の対応するスケール上にある2つ以上の部分範囲にマッピングされてもよい。テーブル500は、本発明の範囲内の、マッピングの他の例示の変形を備える、他の行を示している。テーブル500の構造および例示のマッピングは、本発明に対する制限的なものとして意図されてはいない。テーブル500には、任意の数の行、異なる列、および同様のマッピング情報を記憶する異なる手段が含まれてもよい。本開示から、当業者には、この他多数のマッピングの変形が明らかとなるが、それらは本発明の範囲内であるものとする。例えば、一実施形態では、複数の行が、同じ一組のアプリケーションに関するが異なる状況下での、複数のマッピングを提供してもよい。そのような複数の状況を特定するために、1つ以上の追加の列がテーブル500において使用されてもよい。そのような列は、類似の状況下におけるその一組のパフォーマンスを後から比較するために、適切な行または複数行を選択できるようにするとよい。特定の場合には、テーブル500は、まったく実装されなくてもよい。例えば一実施形態において、テーブルは、トレーニング期間のリソース使用量および出力データに基づき作成される一組のルールにより置き換えられてもよい。例えば、デフォルトのルールは、リソース使用量に関してN個の間隔があり、出力レベルに関してN個の間隔がある場合、リソース使用量測定結果および出力測定結果は、測定結果のソートされたリストに従って対応するということであってもよい。別の例示のルールは、リソース使用量の間隔Nにおける測定結果を、出力の、N未満ではない任意の間隔における測定結果に対応させてもよい。この他多数のルールが、本開示から明らかとなり、それらは本発明の範囲内であるものとする。さらに、テーブル500は、様々な方法で実装されることも、まったく存在しないことも可能であるため、マッピングは、本発明の任意の実施形態によるリソース使用量データと出力データとの対応を特定する任意の方法または技術を指す。例えば、マッピングは、リソース使用量測定結果と出力測定結果とを関連付けるルールにおいて実装される一組の論理命令の形態であってもよい。図6を参照する。この図面は、例示実施形態による、監視期間における、消費されたリソースとアプリケーションの出力との関係のブロック図を示す。この図面に示されている測定結果および測定スケールは、図4の対応するスケールに類似しているとよい。実施形態による監視アプリケーションは、監視期間中に消費されるリソースおよび生成される出力に関して、データ処理システムにおいて実行されている例示の一組のアプリケーションを観測または監視する。監視期間は、アプリケーションの無進行状態の検出が望まれる期間である。言い換えれば、アプリケーション実行の、その時点で存在する状況の下でアプリケーションの挙動が監視され、実施形態は、アプリケーションが監視期間中、無進行状態にあるかどうかを検出することである。監視期間は、連続または不連続の1つ以上の期間である。実施形態による監視アプリケーションは、監視期間内に一組のアプリケーションによって消費されたリソースを、リソース使用量スケール602上に記録する。監視アプリケーションは、監視期間内に一組のアプリケーションによって生成された出力を、出力スケール604上に記録する。リソース使用量スケール602の両端間は、トレーニング期間にわたる、一組のアプリケーションによるリソース使用量の範囲を示す。同じく、出力スケール604の両端間は、トレーニング期間にわたる、一組のアプリケーションにより生成された出力の範囲を示す。記載を明確にするために、単なる一例として、図4で説明されたように、リソース使用量スケール602および出力スケール604の第1、第2、および第3の例示の部分範囲が個別のスケール上にあり、互いにマッピングされている。監視期間内の或る時点で、監視アプリケーションは、一組のアプリケーションの現在のリソース使用量が、スケール602上のマーカ606の示されている位置に対応すると判断するとよい。その示されているリソース使用量の間、一組のアプリケーションは、スケール604上のマーカ608の示されている位置に対応する出力を生成した。マーカ606および608は、単なる例として、図のスケール上に図示されている。マーカ、部分範囲、およびスケールはすべて、本発明の範囲内で、数値的になど、任意の適切な形で表現されることができる。図4の例の続きでは、マーカ606がある部分範囲は、スケール604の上側閾値と、終わりとの間の部分範囲に対応すると仮定する。監視アプリケーションは、マーカ606および608が、トレーニング期間中にマッピングされた対応する部分範囲にないことを観測する。この例示の観測に基づき、監視アプリケーションは、一組のアプリケーションが無進行状態にある可能性があると判断することができると考えられる。例えば、マーカ606および608によって示されているように、一組のアプリケーションは、監視期間中、消費されているリソースの量に対して期待される出力よりも少ない出力を生成しているように見える。特定の組のアプリケーションにおけるそのような挙動は、その組の中の1つ以上のアプリケーションまたはプロセスが無進行状態に入ったことを示すこともある。一組のアプリケーションが無進行状態にあると、所与のリソース使用量に対して期待される出力よりも少ない出力を生成するとは限らない。例えば、マーカ610および612は、一組のアプリケーションに関する、別のリソース使用量および対応する出力生成を示し得る。マーカ610および612によれば、この一組は、少量のリソースを消費しているが、大量の出力を生成しているように見える。この一組の中のアプリケーションの特定の特性に基づき、アプリケーションは無進行状態にあり、マーカ612における出力の大きさは、結果として大量のロギングまたはデバッギングデータが出力されていることによるものであると推定できる可能性がある。図7を参照する。この図面は、例示実施形態による、アプリケーションの無進行状態を検出するために監視アプリケーションをトレーニングするプロセスのフローチャートを示す。プロセス700は、図1の監視アプリケーション107などの監視アプリケーションにおいて実装され得る。プロセス700は、一組のアプリケーションを選択することによって始まるステップ702。プロセス700は、この一組の通常動作設定にデータ処理システムを設定するステップ704。例えば、ステップ704において、プロセス700は、通常動作においてこの一組のアプリケーションと同時実行することが期待され得る他のプロセスを開始してもよい。別の例として、プロセス700は、無関係なプロセスを停止して、一組のアプリケーションおよび最小限のシステムサービスのみを実行状態のままにし、リソース使用量および出力データにおけるノイズを最小限に抑えてもよい。図4および5のものなどのスケール、部分範囲、およびマッピングの作成を促進し得る任意の適切な設定が、ステップ704において設定されてよく、限定はされない。プロセス700は、所定の間隔を置いてなど、トレーニング期間中のこの一組のリソース使用量および出力を測定するステップ706。例えばプロセス700は、測定を、特定の組のアプリケーションに関しては1秒間隔で実行してもよく、別の組に関しては1分間隔で実行してもよい。プロセス700はさらに、システムハートビートレートまたはその他の適切な期間もしくは間隔に、測定を同期させてもよい。プロセス700は、トレーニング期間にわたるリソース使用量の範囲内の一組の閾値を判断するステップ708。プロセス700は、トレーニング期間にわたる出力の範囲内の一組の閾値を判断するステップ710。閾値は、本開示の他の部分で記載したように、リソース使用量および出力の部分範囲の始まりおよび終わりを示す。プロセス700は、リソース使用量の部分範囲と、出力の部分範囲との1つ以上のマッピングを作成するステップ712。プロセス700は、その後終了する。図8を参照する。この図面は、例示実施形態による、アプリケーションの無進行状態を検出するプロセスのフローチャートを示す。プロセス800は、図1の監視アプリケーション107などの監視アプリケーションにおいて実装され得る。プロセス800は、リソース使用量および生成される出力に関して一組のアプリケーションを監視することによって始まるステップ802。プロセス800は、監視期間内の或る時点でのリソース使用量および出力の大きさを判断するステップ804。プロセス800は、監視された一組のアプリケーションに関して、リソース使用量および出力と、リソース使用量および出力の部分範囲間のマッピングとを比較するステップ806。プロセス800は、測定された現在のリソース使用量および出力が、マッピングされた部分範囲に一致または対応するかどうかを判断するステップ808。測定されたリソース使用量および出力が、マッピングされた部分範囲に対応すればステップ808のはいの経路、プロセス800はステップ804に戻り、この一組の監視を続ける。測定されたリソース使用量および出力が、マッピングされている部分範囲に対応しなければステップ808のいいえの経路、プロセス800は、一組のアプリケーションの少なくとも一部の構成要素の無進行状態を検出するステップ810。プロセス800は、その後終わるか、またはステップ804に戻ることによってこの一組の監視を続けるとよい。プロセス800は、検出結果について、通知すること、ログをとること、登録すること、またはその他の形で配布すること、もしくは伝播させることもできる。上述のブロック図内のコンポーネントおよびフローチャート内のステップは、単なる例として記載されている。コンポーネントおよびステップは、記載を明確にするために選択されたものであり、本発明の例示実施形態に対する制限的なものではない。例えば、特定の実装は、例示実施形態の範囲から逸脱することなく、コンポーネントまたはステップのいずれかを、組み合わせること、省略すること、さらに分割すること、変更すること、増加させること、削減すること、または代わりに実装することもできる。さらに、上述のプロセスのステップは、本発明の範囲内で、異なる順序で実行されることもできる。このように、例示実施形態では、データ処理システムにおいて実行されているアプリケーションの無進行状態を検出するためにコンピュータで実装される方法、装置、およびコンピュータプログラム製品が提供される。本発明の実施形態を使用すると、データ処理システムは、エラーを示すことなく望ましくない状態に入った可能性のあるアプリケーションを特定できる。そのようなアプリケーションまたはその一部を検出することは、データ処理システムが、そのアプリケーションに対し管理アクションを実行して、改善されたリソース使用効率で動作することを可能にする。本発明は、完全にソフトウェアの実施形態、またはハードウェアおよびソフトウェア両方の構成要素を含む実施形態の形態をとることができる。好適な実施形態では、本発明は、ファームウェア、常駐ソフトウェア、およびマイクロコードを含むがこれらに限定されないソフトウェアまたはプログラムコードにおいて実装される。さらに、本発明は、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとり、コンピュータまたは任意の命令実行システムにより、またはそれに関連して使用されるプログラムコードを提供することができる。本記載では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれに関連して使用されるプログラムを含むこと、記憶すること、伝達すること、伝播させること、または搬送することができる任意の有形の装置とすることができる。媒体は、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、もしくは装置もしくはデバイスまたは伝播媒体とすることができる。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリRAM、読み取り専用メモリROM、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、コンパクトディスク読み取り専用メモリCD-ROM、コンパクトディスク読み取り/書き込みCD-R/W:compactdisk-read/write、およびDVDが含まれる。さらに、コンピュータストレージ媒体がコンピュータ可読プログラムコードを含むか、または記憶し、コンピュータ可読プログラムコードがコンピュータ上で実行されると、このコンピュータ可読プログラムコードの実行が、コンピュータに、別のコンピュータ可読プログラムコードを通信リンク上で伝送させるようにしてもよい。この通信リンクは、例えば、限定はされないが、物理的または無線の媒体を使用してよい。プログラムコードの記憶もしくは実行またはその両方に適したデータ処理システムは、システムバスを介してメモリ要素に直接または間接的に結合された少なくとも1つのプロセッサを含む。メモリ要素は、プログラムコードを実際に実行する間に用いられるローカルメモリ、大容量ストレージ媒体、および、実行中にコードが大容量ストレージ媒体から読み出されなければならない回数を減らすために少なくとも一部のプログラムコードの一時的なストレージとなるキャッシュメモリを含むことができる。データ処理システムは、サーバデータ処理システムまたはクライアントデータ処理システムとしての機能を果たし得る。サーバおよびクライアントデータ処理システムは、コンピュータ可読であるなど、コンピュータ使用可能であるデータストレージ媒体を含み得る。サーバデータ処理システムに関連するデータストレージ媒体は、コンピュータ使用可能コードを含み得る。そのコンピュータ使用可能コードを、クライアントデータ処理システムが、クライアントデータ処理システムに関連するデータストレージ媒体への記憶、またはクライアントデータ処理システムでの使用などのために、ダウンロードするとよい。同じく、サーバデータ処理システムは、クライアントデータ処理システムからコンピュータ使用可能コードをアップロードしてもよい。このように、例示実施形態のコンピュータ使用可能プログラム製品の実施形態によるコンピュータ使用可能コードは、サーバおよびクライアントデータ処理システムを使用してアップロードまたはダウンロードされ得る。入出力、すなわちI/Oデバイス限定はされないが、キーボード、ディスプレイ、ポインティングデバイスなどを含むは、直接、または介在するI/Oコントローラを介して、システムに結合可能である。ネットワークアダプタもシステムに結合されて、データ処理システムが、他のデータ処理システムまたはリモートプリンタまたはストレージデバイスに、介在するプライベートまたはパブリックネットワークを介して結合された状態となることを可能にしてもよい。モデム、ケーブルモデム、およびイーサネットRカードが、現在利用可能なタイプのネットワークアダプタのごく一部である。本発明の記載は、例示および説明のために示されたものであり、包括的であることも、開示された形態の発明に限定されることも意図されていない。当業者には、多数の変更および変形が明らかとなるであろう。実施形態は、本発明の原理、実際の応用を説明して、当業者が、意図される特定の用途に適する様々な変更を用いた様々な実施形態に関して、本発明を理解できるように選ばれ、記載された。"