JP2023545316A - システム性能に対する複数のアプリケーションの影響の決定 - Google Patents

システム性能に対する複数のアプリケーションの影響の決定 Download PDF

Info

Publication number
JP2023545316A
JP2023545316A JP2023522927A JP2023522927A JP2023545316A JP 2023545316 A JP2023545316 A JP 2023545316A JP 2023522927 A JP2023522927 A JP 2023522927A JP 2023522927 A JP2023522927 A JP 2023522927A JP 2023545316 A JP2023545316 A JP 2023545316A
Authority
JP
Japan
Prior art keywords
application
applications
computer
healthy
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023522927A
Other languages
English (en)
Inventor
カオ,リー
シン シェン,シン
リー,ジー
ジァン ジア,ヘー
トン リュウ,ボ
ドン リー,シャオ
ジエ ハン,シェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023545316A publication Critical patent/JP2023545316A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Debugging And Monitoring (AREA)

Abstract

システム性能に対する複数のアプリケーションの影響を決定する為の、コンピュータに実装された方法であって、該方法は、コンピューティングシステム上で実行されている複数のアプリケーションについて、複数の時間セグメントの間の夫々のインスツルメンテーションデータを、プロセッサによって収集することを含む。該方法は、該複数のアプリケーションの各々について、該複数の時間セグメントの各々についての性能値及びロバスト性値を、該夫々のインスツルメンテーションデータに基づいて決定することを含む。更に、各時間セグメントについての該性能値及び該ロバスト性値を用いて、複数の健常波形が生成され、ここで、健常波形が、夫々のアプリケーションについて生成される。該方法は、第1のアプリケーションの第2のアプリケーションに対する影響因子を、該プロセッサによって決定することを更に含み、ここで、該第1のアプリケーション及び該第2のアプリケーションが、該コンピューティングシステム上で実行される。該方法は、コンピュータリソースを該第1のアプリケーションから解放し、そして、該影響因子に基づいて該コンピュータリソースを該第2のアプリケーションに割り当てることによって、該コンピュータリソースの割り当てを、該プロセッサによって調整することを更に含む。【選択図】図2

Description

本発明は、一般的にコンピューティングシステムに関し、特に、複数のアプリケーションを実行するコンピューティングシステムの性能に対する該複数のアプリケーションの影響を動的に定量化することに関する。
コンピューティングシステムのリアルタイム解析の為に取り込まれたパラメータを監視する慣用的な監視システムは、リアルタイム又はほぼリアルタイムのデータを評価し、そして、それらのデータを閾値、限界値、又は他の指標と比較して、エラー又は警告状態が存在しうるかを判断しうる。該取り込まれたパラメータは、機械で生成されたインスツルメンテーションデータのリアルタイム解析を含むことができる。アラートがトリガーされるときに、何らかの伝達が人間の管理者に行われ、該管理者は是正措置を取りうる。そのようなシステムは、問題が既に生じていることを検出することができる反応型である傾向がある。
本発明の1つの観点に従うと、システム性能に対する複数のアプリケーションの影響を決定する為の、コンピュータに実装された方法は、コンピューティングシステム上で実行されている幾つかのアプリケーションについて、複数の時間セグメントの間の夫々のインスツルメンテーションデータを、プロセッサによって収集することを含む。該方法は、該複数のアプリケーションの各々について、該複数の時間セグメントの各々についての性能値及びロバスト性値を、該夫々のインスツルメンテーションデータに基づいて、該プロセッサによって決定することを更に含む。該方法は、各時間セグメントについての該性能値及び該ロバスト性値を用いて、実行している夫々のアプリケーションについての健常波形を、該プロセッサによって生成することを更に含む。該方法は、第1のアプリケーションの第2のアプリケーションに対する影響因子を、該プロセッサによって決定することを更に含み、ここで、該第1のアプリケーション及び該第2のアプリケーションは、実行されているアプリケーションである。該方法は、コンピュータリソースを該第1のアプリケーションから解放し、そして、該影響因子に基づいて該コンピュータリソースを該第2のアプリケーションに割り当てることによって、該コンピュータリソースの割り当てを、該プロセッサによって調整することを更に含む。
本発明の1以上の実施態様において、該健常波形を生成することが、各時間セグメントについての該性能値及び該ロバスト性値を極座標へと、該プロセッサによって変換すること、並びに、該複数のアプリケーションの各々についての該極座標を該夫々の健常波形へと、該プロセッサによって変換することを含む。
本発明の1以上の実施態様において、該影響因子は、該第1のアプリケーションの第1の健常波形と該第2のアプリケーションの第2の健常波形との間のピアソン相関係数を計算することによって決定される。
本発明の1以上の実施態様において、該影響因子を決定することが、該第1の健常波形及び該第2の健常波形の各々における頂点を識別することを更に含む。
本発明の1以上の実施態様において、該影響因子は、下記の式によって計算される
本発明の1以上の実施態様において、該方法は、該第2のアプリケーションの実行中にシステム障害を検出することに応答して、
該影響因子が閾値を超えることに応答して該第1のアプリケーションに関連付けられた実行記録を格納すること、及び、
該影響因子が該閾値未満であることに応答して該第1のアプリケーションの実行記録を格納しないこと
を更に含む。
本発明の1以上の実施態様において、該方法は、該第2のアプリケーションの実行中にシステム障害を検出することに応答して、該複数のアプリケーションの実行記録から、該第1のアプリケーションに関連付けられた実行記録のみを該影響因子が閾値を超えることに基づいて解析することを更に含む。
本発明の他の観点に従うと、システムは、メモリデバイス、及び該メモリデバイスに接続された1以上の処理ユニットを備えている。該1以上の処理ユニットは、システム性能に対する複数のアプリケーションの影響を決定する為の方法を実行する。
本発明の更なる他の観点に従うと、1以上のコンピュータ実行可能な命令がその中に格納されているところのストレージデバイスを備えているコンピュータプログラム製品であって、1以上の処理ユニットによって実行されるときに、該1以上の処理ユニットに、システム性能に対する複数のアプリケーションの影響を決定する為の方法を実行させる。
本発明の1以上の実施態様に従うと、コンピュータに実装された方法は、コンピューティングシステム上で実行されている複数のアプリケーションについて、複数の時間セグメントの間の夫々のインスツルメンテーションデータを、プロセッサによって収集することを含む。該方法は、該複数のアプリケーションの各々について、該複数の時間セグメントの各々についての性能値及びロバスト性値を、該夫々のインスツルメンテーションデータに基づいて、該プロセッサによって決定することを更に含む。該方法は、各時間セグメントについての該性能値及び該ロバスト性値を用いて、該複数のアプリケーションからの夫々のアプリケーションについての健常波形を含む複数の健常波形を、該プロセッサによって生成することを更に含む。該方法は、実行されている、第1のアプリケーションの第2のアプリケーションに対する影響因子を、該プロセッサによって決定することを更に含む。該方法は、該第2のアプリケーションの実行中にシステム障害を検出することに応答して、該複数のアプリケーションの実行記録から、該第1のアプリケーションに関連付けられた実行記録のみを該影響因子が閾値を超えることに基づいて解析することを更に含む。
本発明の他の観点に従うと、コンピュータに実装された方法は、コンピューティングシステム上で実行されている複数のアプリケーションについて、複数の時間セグメントの間の夫々のインスツルメンテーションデータを、プロセッサによって収集することを含む。該方法は、該複数のアプリケーションの各々について、該複数の時間セグメントの各々についての性能値及びロバスト性値を、該夫々のインスツルメンテーションデータに基づいて、該プロセッサによって決定することを更に含む。該方法は、各時間セグメントについての該性能値及び該ロバスト性値を用いて、実行されている該複数のアプリケーションからの夫々のアプリケーションについての健常波形を含む複数の健常波形を、該プロセッサによって生成することを更に含む。該方法は、第1のアプリケーションの第2のアプリケーションに対する影響因子を、該プロセッサによって決定することを更に含む。該方法は、該第2のアプリケーションの実行中にシステム障害を検出することに応答して、
該影響因子が閾値を超えることに応答して該第1のアプリケーションに関連付けられた実行記録を、該プロセッサによって格納すること、及び、
該影響因子が該閾値未満であることに応答して該第1のアプリケーションの実行記録を格納しないこと
を更に含む。
追加の特徴及び利点は、本明細書に記載されている技術を通じて実現される。他の実施態様及び観点は、本明細書において詳細に記載されている。より良く理解する為に、本明細書及び図面が参照される。
本発明とみなされる主題は、本明細書に添付された特許請求の範囲において特に指摘され、且つ明確に請求されている。前述された及び他の特徴及び利点は、添付の図面と併せて取り上げられる以下の詳細な説明から明らかである。
図1は、本発明の1以上の実施態様に従うシステムのブロック図を図示する。 図2は、本発明の1以上の実施態様に従う、システム性能に対する複数のアプリケーションの影響を動的に決定する為のフローチャート図を図示する。 図3は、本発明の1以上の実施態様に従う、複数のアプリケーションについての性能-ロバストネスデータ(performance-robustness data)の例示的なレンダリング図を図示する。 図4は、本発明の1以上の実施態様に従う、性能-ロバスト性曲線を極座標(r,θ)で表したプロットを図示する。 図5は、本発明の1以上の実施態様に従う、複数のアプリケーションの為の健常波形(health-waveforms)を図示する。 図6は、本発明の1以上の実施態様に従う、2つの健常波形を比較する方法のフローチャート図を図示する。 図7は、本発明の1以上の実施態様に従う、図5におけるプロットを参照した、健常波形の比較の視覚的描写を図示する。 図8は、本発明の1以上の実施態様に従う、アプリケーションの複数の対の間で計算された影響因子(influence-factors)を図示する。 図9は、本発明の1以上の実施態様に従う、システム障害を診断する為の方法のフローチャート図を図示する。 図10は、本発明の1つの実施態様に従うコンピュータシステムを図示する。 図11は、本発明の1以上の実施態様に従うクラウドコンピューティング環境を図示する。 図12は、本発明の1以上の実施態様に従う抽象化モデル層を図示する。
本明細書における図面は縮尺通りでない場合があることに留意されるべきである。添付の図面及び開示された実施態様の以下の詳細な説明において、図面に例示された様々な要素は、2桁、3桁、又は4桁の参照番号が付されている。ほとんどの場合、各参照番号の左端の1以上の桁は、その要素が最初に図示される図面に対応する。
本発明の実施態様は、該コンピューティングシステムの1以上の性能パラメータの増分性能変化に基づいて、コンピューティングシステムにおいて実行されるアプリケーションの対話的影響の定量分析及び測定を容易にする。該性能パラメータは、該コンピューティングシステムの動作を定量化するインスツルメンテーションデータを含むことができる。例えば、システム管理機能(SMF:System Management Facility)は、メインフレームコンピュータの為のIBM z/OS(登録商標)のコンポーネントであり、ファイル又はデータセットに活動の記録を書き出す為の標準化された方法を提供する。SMFは、IBMメインフレームのオペレーティングシステム上で実行されているベースライン活動、例えば、入出力(I/O:input/output)、ネットワーク活動、ソフトウェア使用、エラー状態、及びプロセッサ使用率等の活動を包含する上記ベースライン活動、のインスツルメンテーションを提供する。SMFは、多くの監視及び自動化ユーティリティの為の基礎を形成する。本発明の実施態様は、SMF、又はIBM z/OS(登録商標)に限定されるものではなく、寧ろ、コンピューティングシステムの性能パラメータを有する実行記録を取り込む為に任意の技術が使用されることができ、並びにそれらの性能パラメータは、該コンピューティングシステムの性能を改善する為に、本明細書において記載されているように解析されることができることが理解される。該実行記録は、リアルタイムで解析されることができる。代替的に又は追加的に、本発明の1以上の実施態様は、保存されるべきデータの量を減らす為に、どの実行記録が保存されるべきか(若しくはどの実行記録が保存されないか、又はどの実行記録が保存され且つどの実行記録が保存されないか)を決定することを容易にし、並びに、そのデータを解析する為に必要な時間及び他のリソースを減らす。更に、本発明の1以上の実施態様において、該実行記録が保存された後、該実行記録がオフラインで解析される。
コンピューティングシステムの性能データを解析すること、特にリアルタイムで解析すること、に関連付けられた技術的な課題は、そのような性能データを大量に解析することを含む。例えば、実行中の各アプリケーションについて、該性能データは、パラメータ、例えば、メモリ使用量、ストレージ使用量、ページング、プロセッサ使用率、プロセッサ使用時間、入出力メトリクス、ネットワーク使用量、割り込み使用量、及び該アプリケーションによるコンピューティングリソースの使用量を示す他の任意のそのようなインスツルメンテーション関連データ、を包含することができる。更に、該性能データはまた、該コンピューティングシステム上で同時に実行される幾つかのアプリケーション(例えば、ソフトウェアプログラム、プロセス、デーモン等)の性能パラメータを包含する。従って、アプリケーション間の関係を決定することがまた技術的な課題である。加えて、該性能データは、幾つかの時間セグメントで、所定の頻度、例えば、10分毎に1分間、又は15分毎に10秒間、又は他の任意のそのような頻度、で取り込まれる。代替的に、又は追加的に、該性能データは、イベント、例えば、アプリケーションが開始されたとき、又はアプリケーションが実行を完了したとき、又は1以上のアプリケーションの実行に関連する他の任意のそのようなイベント、に基づいて取り込まれることが可能である。
本発明の実施態様は、該コンピューティングシステムにおいて同時に実行されている他の1以上のアプリケーションの性能に対する1つのアプリケーションの影響を定量化することで、そのような技術的課題に対処する。ひいては、本発明の実施態様は、該コンピューティングシステムにおける性能問題の根本原因を突き止める為の改良された技術を提供することを容易にする。例えば、性能問題を解析するときに、アナリストは、影響関連データを使用して、該性能問題が生じた/識別された時間セグメントの間に最も高い影響を与える(influencing applications)アプリケーション(リーダー)から該システム性能を解析することを開始することができる。更に、本発明の実施態様は、影響を受けるアプリケーション(influenced applications)の将来の性能を予測することを容易にする。例えば、影響を与えるアプリケーション(リーダー)の性能傾向は、影響を受けるアプリケーション(フォロワー)の性能傾向を予測する為に使用されることができる。加えて、本発明の実施態様は、システムの健全性をより機敏且つ効率的に監視及び予測することを容易にする。例えば、時間セグメントにおけるアプリケーションの影響の判断を容易にすることによって、システム管理ルールは、アナリスト又はシステムプログラマによって予め定義される必要はない。寧ろ、該システム管理が動的に行われることができ、従って機敏性(agility)を改善する。また、影響関連データに基づいて、時間セグメントの間に、該システムの主要業績評価指標(KPI:Key Performance Indicator)が動的に測定されることができる。該システムの健全性を判断する為には、すべてのアプリケーションを監視するよりも、影響力のあるものだけを監視することが効率的である。
本発明の実施態様は、コンピュータシステム上で実行されているアプリケーション間の影響を判断することを容易にし、並びに異なる時間セグメント中の増分システム健全性変化に基づいてそのような影響の程度を解析し、夫々のアプリケーションによって引き起こされる該システムの夫々の健全性曲線を定量化することを更に容易にする。
図1は、本発明の1以上の実施態様に従う、システム100のブロック図を図示する。システム100は、システムアナライザ110によって任意の性能関連問題について監視及び解析されるコンピュータシステム101を備えている。システムアナライザ110は、コンピュータシステム101とは別のブロックとして図示されているが、本発明の1以上の実施態様において、システムアナライザ110はコンピュータシステム101それ自体の一部であることができることに留意されるべきである。他の実施態様において、システムアナライザ110は、コンピュータシステム101とは別個のデバイスであることができる。
システムアナライザ110は、本明細書に記載された1以上の方法を実行し、並びにシステム性能に対する1以上のアプリケーションの影響、並びにコンピュータシステム101において実行されている他のアプリケーションに対する影響を決定することを容易にする。本発明の1以上の実施態様において、システムアナライザ110は、アプリケーション106の間でコンピュータシステム101の1以上のリソースの割り当てを調整することができる。システムアナライザ110はまた、コンピュータシステム101において実行中のアプリケーションのうち、どのアプリケーションが実行記録を保存することができるかを決定することができる。更に、本発明の1以上の実施態様において、システムアナライザ110は、コンピュータシステム101の性能を解析する為の実行記録を決定する。本発明の1以上の実施態様において、システムアナライザ110は、該実行記録を用いてコンピュータシステム101の1以上の問題を診断する。
コンピュータシステム101は、任意のタイプのコンピューティングデバイス、例えば、メインフレームコンピュータ、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、電話、モデム、ルータ、又はハードウェアとソフトウェアとを備えている他の任意のコンピューティングシステム、であることができる。コンピュータシステム101は、1以上のハードウェアリソース102、例えば、プロセッサ、メモリデバイス、ストレージディスク、通信ハードウェア、グラフィックプロセッサ、デジタル信号プロセッサ、入出力デバイス、キャッシュメモリデバイス、を備えている。コンピュータシステム101は、1以上のソフトウェアリソース104、例えば、ハイパーバイザー、仮想マシン、オペレーティングシステム、データベースシステム、電子商取引システム、通信システム、人工知能リソース、を包含する。1以上の実施態様において、ハードウェアリソース102及びソフトウェアリソース104は、コンピュータシステム101上で実行されている1以上のアプリケーション106によってアクセスされる。ハードウェアリソース102及びソフトウェアリソース104は、コンピュータシステム101によって提供される夫々のアプリケーションプログラミングインタフェースを介してアクセスされる。
該アプリケーション106は、ウェブサーバ、データベースアクセスサーバ、ウェブブラウザ、ゲーム、メディアストリーミングアプリケーション、スプレッドシートアプリケーション、ワードプロセッシングアプリケーション、数学アプリケーション、シミュレーションアプリケーション、企業ソフトウェアアプリケーション、又は任意の他のタイプのソフトウェアアプリケーションを包含することができるが、これらに限定されない。そのようなソフトウェアアプリケーションは、任意の分野、例えば、これに限定されるものではないが、数学シミュレーション、ヘルスケア、科学/工学研究、小売、金融、ビジネス等、で使用されることができる。図1は、コンピュータシステム101上で同時実行されている4つのアプリケーション、すなわち、アプリケーション-A 106A、アプリケーション-B 106B、アプリケーション-C 106C、及びアプリケーション-D 106Dを図示する。しかしながら、他の実施態様において、任意の他の数のアプリケーションがコンピュータシステム101上で同時に実行されることが理解される。本発明の実施態様は、上述された4つのアプリケーションを含む例を用いて本明細書において記載されているが、本発明は、そのような例によって限定されるものではない。
図2は、本発明の1以上の実施態様に従って、システム性能に対するアプリケーションの影響を動的に決定する為の方法200のフローチャート図を図示する。方法200は、ブロック202で、時間セグメントの間の複数のアプリケーション106の各々について、インスツルメンテーションデータX={x1,x2,x3,...,xn}を集めることを含む。インスツルメンテーションデータXは、1以上のシステムパラメータ測定データxi、例えば、プロセッサ使用量、メモリ使用量、ストレージディスク使用量、ネットワーク使用量、オペレーティングシステム使用量、仮想マシン使用量、ハイパーバイザー使用量、及びハードウェアリソース102若しくはソフトウェアリソース104又はそれらの組み合わせの使用量を示す他の任意のパラメータ、を含む。
該時間セグメントは、性能データが取り込まれる所定の持続時間又は時点(timepoint)であることができる。例えば、集められた該性能データ(X)は、特定の時点、例えば、午前10時若しくは午前11時30分又は他の任意のそのような時間、で観測されるデータであることができる。これは、該性能データが集められる所定の時点であってもよい。
代替的には、集められた該インスツルメンテーションデータ(X)は、例えば、開始時点(例えば、午前10時)から終了時点(例えば、午前11時)までの特定の継続時間にわたって観測された性能データの集まりであることができる。開始時点及び終了時点は、予め設定されることができ、又はシステム100の動作に基づいて動的に決定されることができる。該集まりは、合計、平均、幾何平均、中央値、最大値、最小値、加重平均、若しくは他の任意のそのような統計関数又はそれらの組み合わせであることができる。言い換えれば、複数のアプリケーション106の各々について、インスツルメンテーションデータが開始時点から終了時点まで取り込まれ、そして、該取り込まれたデータにおいて1以上の統計演算が行われ、その結果が性能データとして保存される。アプリケーション106A~106Dのシナリオ例において、アプリケーション106A~106Dに対応して、夫々XA,XB,XC,XDの4組のインスツルメンテーションデータが集められる。
ブロック204で、集められたインスツルメンテーションデータXの各々について性能値及びロバスト性値(PR:performance and robustness)が予測される。多変数システムにおいて、PR予測値は不確実性の影響を定量化し、ひいては情報に基づいた決定を行うことを容易にする。PR予測値はまた、予測された性能と運転性能との間のギャップを低減する。該PR予測値は、コンピュータシステム101の性能に影響を与える不確実な影響力のあるパラメータを識別する。該PR予測値は、集められたインスツルメンテーションデータ(X)から最も影響力のある不確実性ソースを識別することを容易にすることができる。
様々なPRモデリング及び予測技術が知られており、並びに本発明の実施態様は、既知のPRモデリング及び予測技術のいずれかを使用することができる。例えば、本発明の実施態様において、該PR値は、複数のアプリケーション106の各々についてインスツルメンテーションデータXを受信するニューラルネットワークを使用して決定される。1つの実施態様において、該ニューラルネットワークは、該複数のアプリケーションの各々について、対応するPR値を提供する為に、放射状基底関数(RBF:radial basis function)を用いて訓練される。従って、PR値は夫々、アプリケーション106A、106B、106C及び106Dの各々について、並びにインスツルメンテーションデータXが取り込まれる間の各時間セグメントについて得られる。
図3は、本発明の1以上の実施態様に従う、複数のアプリケーションについてのPRデータの例示的な描画を図示する。図示されたプロット300において、性能はY軸302に沿ってプロットされており、並びにロバスト性はX軸304に沿ってプロットされている。プロット300は、アプリケーション106A~106D夫々に対応する4つの曲線306A~306Dを含む。各曲線306A、306B、306C及び306Dは、様々な時間セグメントに対応するアプリケーション106A、106B、106C及び106DについてのPR値を図示する。各時間セグメントは、図3において、矢印(ベクトル)として表される。図3において、1つのアプリケーション当たり4つの時間セグメントが表されているが、本発明の他の実施態様において、異なる数の時間セグメントが解析されることができる。
図2におけるフローチャート図を再び参照すると、ブロック206で、方法200は、該PR値を極座標(r、θ)にマッピングすることを含む。図4は、本発明の1以上の実施態様に従う、極座標(r、θ)において、曲線PR-A 306A、PR-B 306B、PR-C 306C、及びPR-D 306Dを図示する対応するプロット400を図示する。極座標は、例えば、下記のデカルト座標(P,R)座標から計算されることができる。
ここで、rは原点から点までの距離であり、xは性能値であり、yはロバスト性値であり;並びに、
ここで、θはゼロ軸に対する角度(度)である。
更に、工程208では、該複数のアプリケーション106の各々についての極座標が、対応する健常波形に変換される。該健常波形は、アプリケーション106の実行中のシステム性能を表す。該システム性能は、リソース使用率に関連付けられている。従って、該健常波形は、アプリケーション106による実行中のコンピューティングシステム101のリソース(102、104)の使用量を表し、ここで、各波形は、対応するアプリケーションによる使用量を表す。図5は、本発明の1以上の実施態様に従う、複数のアプリケーションの健常波形を図示する。該健常波形506A、506B、506C及び506Dは、Y軸502及びX軸504を有するデカルト座標においてプロット500上に示される。PR曲線406A~406Dの各々の極座標は、次元削減関数(dimensionality reduction function)を用いて、対応する健常波形506A~506Dのデカルト座標へと変換される。
ここで、tは時間を表し、並びに(a0,θ0)はPR曲線406A~406Dにおける各ベクトルの開始点である。
図5に示されているように、プロット500は、プロット400から得られたものであり、同様に、そのプロット400は、プロット300から得られたものである。健常波形506A~506Dは夫々、PR曲線306A~306Dに対応する。
図2におけるフローチャート図を参照すると、方法200は、ブロック210で、一対の健常波形を比較して、該健常波形のどちらが先行し、及びどちらが後行しているかを検出することを更に含む。
図6は、本発明の1以上の実施態様に従う、2つの健常波形を比較する為の方法600のフローチャート図を図示する。図7は、プロット500を参照した比較の視覚的描写を図示する。比較される健常波形のペアは、HW-A 506A及びHW-B 506Bである。
ブロック602で、第1の健常波形(HW-A 506A)について、第1の頂点(crest-point)(t2)及び第1の谷点(trough-point)(t1)が識別される。健常波形における谷点は、fの値(t1での値=ft1(rt1,θt1))を有し、並びに少なくとも閾値数の連続する前の点がfの値を連続的に減少させ、そして、少なくとも閾値数の後続点がfの値を連続的に増加させる点(t1 702)(X軸)を決定することによって識別される。図7において、t1 702はHW-A 506Aの最小点又は谷点である。
健常波形における頂点は、fの値(t2での値=ft2(rt2,θt2))を有し、並びに少なくとも閾値数の連続する前の点がfの値を連続的に増加させ、そして、少なくとも閾値数の後続点がfの値を連続的に減少させる点(t2 704)(X軸)を決定することによって識別される。図7において、t2 704はHW-A 506A上の最大点又は頂点である。
谷点及び頂点を決定する為に使用される点の閾値数は、予め決められた値であることができる。代替的に又は追加的に、該点の閾値数は、健常波形の点の数に基づいて動的に構成されることができる。本発明の1以上の実施態様において、第1の健常波形(例えば、HW-A 506A)についての点の閾値数は、第2の健常波形(例えば、HW-B 506B)の為に用いられる点の閾値数とは異なることができる。
更に、ブロック604で、比較対象である第2の健常波形について、谷点及び頂点が検出される。図7において、HW-B 506B上の谷点t3 706と頂点t4 708が示されている。
ブロック606で、比較される2つの健常波形間の相関関係が、谷点及び頂点に基づいて決定される。例えば、t1とt2との間の差が、t3とt4との間の差の所定の閾値内にある場合、2つの健常波形は、リーダー・フォロワー関係を有すると見なされてもよい。他の実施態様において、該相関関係が、他の手法に基づいて判定されてもよい。
図7において図示された例示的なシナリオにおいて、HW-A 306AがHW-D 306Dをリードし、2つの健常波形は頂点のタイミングと谷点のタイミングが非常に似ていることが分かる。同様に、HW-C 306Cは、HW-B 306Bの健常波形に密接に追従している。
ブロック608で、比較される2つの健常波形に対応するアプリケーション間の影響が、谷点及び頂点に基づいて決定される。例えば、該影響は、ピアソン相関係数(PCC:Pearson Correlation Coefficient)を計算することにより2つの対応するアプリケーション間の影響因子の組を計算することによって決定される。
例えば、アプリケーション106Aとアプリケーション106Bとの間の影響因子は、谷点t1 702、t3 706、及び頂上点t2 704、t4 708を使用して計算される。影響因子は方向性であること、すなわち、アプリケーション106Bにおけるアプリケーション106Aの影響因子は、アプリケーション106Aにおけるアプリケーション106Bの影響因子とは異なることに留意されるべきである。
図8は、本発明の1以上の実施態様に従う、アプリケーションの組の間で計算された影響因子を図示する。アプリケーション106A、106B及び106C間の影響因子が図示されているが、アプリケーション106の他の可能な組み合わせ間の影響因子が計算されることができることが理解される。図示されている影響因子は例示的な値であること、並びに他の実施態様において、該影響因子の値は変化することができることがまた理解されるべきである。
図6のフローチャート図に戻って参照すると、該計算された影響因子は、ブロック610で、相関が該アプリケーション間に存在するかを判断する為に使用される。例えば、該2つのアプリケーション間の影響因子のうちの少なくとも1つが所定の閾値以下(又は、閾値超)である場合、比較される健常波形に対応する2つのアプリケーションの間にリーダー・フォロワー関係が存在しないとみなされることができる。そのような場合、該方法は、ブロック612で、比較されている2つの健常波形中に追加の谷点及び頂点が存在するかを判断することを更に含む。追加の谷点及び頂点が存在する場合、上述された操作は、追加の谷点及び頂点について繰り返されることができる。追加の谷点及び頂点が存在しない場合、ブロック614で、該2つのアプリケーションは、いかなる影響関係も有しないものとしてマーク付けされ、そして、他のアプリケーションは、方法200を使用して解析される。
代替的には、ブロック610で、関係が識別された場合、ブロック616で、該2つのアプリケーション間の影響因子が保存される。
この様式において、コンピューティングシステム101において同時に実行されている他のアプリケーションにおける第1のアプリケーション(例えば、106A)の影響が決定される。また、第1のアプリケーションにおける他のアプリケーションの各々の影響がまた決定される。アプリケーションの第2のアプリケーションに対する影響力が、該第2のアプリケーションにおける第1のアプリケーションの影響因子によって表される。該第1のアプリケーションと該第2のアプリケーションとの間の関係は、該2つのアプリケーション間の影響因子の組によって表される。
図2におけるフローチャート図に戻って参照すると、ブロック212で、該影響因子は、コンピューティングシステム101からのハードウェアリソース102及びソフトウェアリソース104の割り当てを調整する為に使用される。例えば、図7から分かるように、アプリケーション106Aはt2(704)で最大リソースを使用し、t1(702)で最小リソースを使用し、及びアプリケーション106Bは以下の順序で発生しているt4(708)、t2(704)、t1(702)、及びt4(708)で最大リソースを使用する。従って、アプリケーション106Aによって使用されていた複数のリソースの少なくとも一部がt2(704)以降に解放されて(割り当て解除されて)、t4(708)を見越してアプリケーション106Bに割り当てられることができる。
代替的に又は追加的に、実質的に時間t4 708において、アプリケーション106B及びアプリケーション106Cの両方が、夫々の頂点を有する。従って、両方のアプリケーションは、実質的に同時に最大リソースを使用している。従って、アプリケーション106A及び106Cからのリソースの少なくとも一部が解放され、そして、アプリケーション106B及び106Dに割り当てられるように、リソース割り当てが調整されることができる。リソース割り当ての他の調整がまた行われることができる。
割り当てられ且つ解放されるリソースは、メモリ、キャッシュ、プロセッサ、ソフトウェアライセンス(API)、及び他の任意のハードウェアリソース102、若しくはソフトウェアリソース104、を包含することができるが、これらに限定されるものでない。そのようなリソース割り当て調整は、動的に、すなわちランタイムで、実行されることができ、アプリケーション106の性能を改善し、ひいてはコンピューティングシステム101の性能を改善することができる。
加えて、システム障害、例えば、リソースの輻輳、デッドロック、又は他の種類の障害、の場合、診断が該影響因子を用いて行われることができる。図9は、本発明の1以上の実施態様に従う、システム障害を診断する為の方法900のフローチャート図を図示する。コンピューティングシステム101が、アプリケーション106Dの実行中に障害を経験することを考える。図9に示されているように、方法900は、ブロック902で、障害を経験したアプリケーション(この場合、アプリケーション106D)の先行アプリケーションの1組(a set of leading applications)を決定することを含む。先行アプリケーションの該1組は、該アプリケーション106Dにおける少なくとも所定の閾値の影響因子を有するアプリケーションのみを含む。従って、アプリケーション106Dにおけるアプリケーション106Aの影響因子が少なくとも所定の閾値である場合にのみ、アプリケーション106Aはアプリケーション106Dの先行アプリケーションの該1組にある。
1組の実施態様において、ブロック903で、先行アプリケーションの該1組からのアプリケーションのみが、そのような解析の為にそれらの実行記録を保存する。該実行記録は、システムダンプ、実行ログ、又はアプリケーション106によって提供される任意の他のタイプの実行記録を含むことができる。従って、それらの実行記録を格納するアプリケーションの数を減らすことによって、該実行記録によって必要とされる時間の量並びに記憶領域の量が減らされることができ、従って改善されることができる。
更に、ブロック904で、該先行アプリケーションの該組中のアプリケーションの実行記録のみが解析される。全てのアプリケーション106がそれらの実行記録を保存している場合でさえも、同時に実行される全てのアプリケーション106の実行を解析する代わりに、該先行アプリケーションの該1組のアプリケーションの実行記録のみが解析される。従って、障害発生時の診断の効率が改善されることができる。該解析は、手動又は自動で行われることができる。
本発明の実施態様は、コンピューティングシステムの性能を改善する為の実用的なアプリケーションを提供する。本発明の実施態様は、そのような診断の為に若しくは解析又は保存且つ解析しなければならないデータの量を減らすことによって、コンピューティングシステムの性能問題の根本原因の診断の改善を容易にする。本発明の実施態様はまた、該システム上で実行されている1以上のアプリケーションの性能を予測し、そして、それに応じてコンピューティングリソース(ハードウェア若しくはソフトウェア又はそれらの組み合わせ)の割り当てを更に調整することを容易にする。更に、本発明の実施態様は、既存の技術と比較して、より機敏に且つ効率的な方法においてシステムの健全性を監視且つ予測することを容易にする。1以上の影響因子に基づいて、本発明の実施態様は、全てのアプリケーションを監視することに代えて、どのようなアプリケーションが監視されるべきであるかを識別することを容易にすることができる。更に、該システムのKPIが該影響因子に基づいて時間セグメント毎に動的に測定され、そして、該先行アプリケーションに関連付けられたもののみが監視されることができ、従って、監視されるべきデータ量を削減し、効率を改善することができる。
ここで、図10を参照すると、1つの実施態様に従うコンピュータシステム1000が概略的に示されている。コンピュータシステム1000は、本発明の1以上の実施態様におけるコンピューティングシステム101であることができる。代替的に又は追加的に、コンピュータシステム1000は、本発明の1以上の実施態様におけるシステムアナライザ110であることができる。コンピュータシステム1000は、本明細書に記載されているように、電子、コンピュータフレームワークであることができ、該電子、コンピュータフレームワークは、様々な通信技術を利用するコンピューティングデバイス及びネットワークの任意の数及び組み合わせを備えている若しくは使用する又はそれらを備えており且つ使用する。コンピュータシステム1000は、異なるサービスに変更したり、一部の機能を他と独立して再構成したりする能力を有する、容易にスケーラブルで、エクステンシブルで、及びモジュール化可能であることができる。コンピュータシステム1000は、例えば、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、又はスマートフォンであってもよい。幾つかの例において、コンピュータシステム1000は、クラウドコンピューティングノードであってもよい。コンピュータシステム1000は、コンピュータシステム実行可能命令、例えばプログラムモジュール、がコンピュータシステムによって実行されるという一般的な文脈において記載されうる。一般的に、プログラムモジュールは、特定のタスクを実行する、又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造等を含んでいてもよい。コンピュータシステム1000は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散型クラウドコンピューティング環境において実施されてもよい。分散型クラウドコンピューティング環境において、プログラムモジュールは、ローカル及びリモートコンピュータシステム記憶媒体、例えばメモリストレージデバイスを包含する上記のローカル及びリモートコンピュータシステム記憶媒体、の両方に配置されてもよい。
図10において示されているように、コンピュータシステム1000は、1以上の中央処理装置(CPU:central processing unit)1001a、1001b、1001c等(集合的に又は一般的に1以上のプロセッサ1001として云われる)を備えている。プロセッサ1001は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、又は任意の数の他の構成であることができる。プロセッサ1001は、処理回路としてまた云われ、システムバス1002を介して、システムメモリ1003及び他の様々なコンポーネントに接続される。システムメモリ1003は、読み取り専用メモリ(ROM:read only memory)1004とランダムアクセスメモリ(RAM:random-access memory)1005を備えていることができる。ROM 1004は、システムバス1002に接続され、並びにコンピュータシステム1000の或る基本機能を制御する基本入力/出力システム(BIOS:basic input/output system)を備えていることができる。該RAMは、プロセッサ1001によって使用する為にシステムバス1002に接続された読み書き可能なメモリである。システムメモリ1003は、動作中に上記命令の動作の為の一時的なメモリ空間を提供する。システムメモリ1003は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ、フラッシュメモリ、又は他の任意の適切なメモリシステムを包含することができる。
コンピュータシステム1000は、システムバス1002に接続された入出力(I/O)アダプタ1006及び通信アダプタ1007を備えている。I/Oアダプタ1006は、ハードディスク1008若しくは任意の他の同様のコンポーネント又はそれらの組み合わせと通信するスモールコンピュータシステムインタフェース(SCSI:small computer system interface)アダプタであってもよい。I/Oアダプタ1006及びハードディスク1008は、本明細書において、まとめて、マスストレージ1010と云われる。
コンピュータシステム1000上で実行する為のソフトウェア1011は、マスストレージ1010に格納されてもよい。マスストレージ1010は、プロセッサ1001によって読み取り可能な有形記憶媒体の一例であり、ここで、ソフトウェア1011は、コンピュータシステム1000を動作させる為にプロセッサ1001によって実行する為の命令として格納されており、例えば、様々な図面に関して以下に説明されているようなものである。コンピュータプログラム製品の例及びそのような命令の実行は、本明細書においてより詳細に議論されている。通信アダプタ1007は、システムバス1002を、外部ネットワークであってもよいネットワーク1012と相互接続し、コンピュータシステム1000が他のそのようなシステムと通信することを可能にする。1つの実施態様において、システムメモリ1003及びマスストレージ1010の一部は、図10に示されている様々なコンポーネントの機能を調整する為に、任意の適切なオペレーティングシステム、例えば、IBMコーポレーションからのz/OS又はAIXオペレーティングシステム、であってもよいオペレーティングシステムをまとめて格納する。
追加の入出力デバイスは、ディスプレイアダプタ1015及びインタフェースアダプタ1016を介してシステムバス1002に接続されるように示されている。1つの実施態様において、アダプタ1006、1007、1015及び1016は、中間バスブリッジ(図示せず)を介してシステムバス1002に接続されている1以上のI/Oバスに接続されていてもよい。ディスプレイ1019(例えば、スクリーン又はディスプレイモニタ)は、ディスプレイアダプタ1015によってシステムバス1002に接続され、それは、グラフィックス集約型アプリケーションの性能を向上させる為のグラフィックスコントローラと、ビデオコントローラとを備えていてもよい。キーボード1021、マウス1022、スピーカ1023等は、インタフェースアダプタ1016を介してシステムバス1002に相互接続されることができ、それは、例えば、複数のデバイスアダプタを単一の集積回路に統合したスーパーI/Oチップを備えていてもよい。周辺装置を接続する為の適切なI/Oバス、例えば、ハードディスクコントローラ、ネットワークアダプタ及びグラフィックスアダプタ、は典型的には、共通プロトコル、PCI(Peripheral Component Interconnect)、を包含する。従って、図10に構成されているように、コンピュータシステム1000は、プロセッサ1001の形態の処理能力、並びにストレージ能力、例えば、システムメモリ1003及びマスストレージ1010を包含する上記のストレージ能力、入力手段、例えばキーボード1021及びマウス1022、並びに出力能力、例えば、スピーカ1023及びディスプレイ1019を包含する上記の出力能力、を備えている。
幾つかの実施態様において、通信アダプタ1007は、任意の適切なインタフェース又はプロトコル、例えば、なかんずく、インターネットスモールコンピュータシステムインタフェース、を使用してデータを送信することができる。ネットワーク1012は、とりわけ、セルラーネットワーク、無線ネットワーク、ワイドエリアネットワーク(WAN:wide area network)、ローカルエリアネットワーク(LAN:local area network)、又はインターネットであってもよい。外部のコンピューティングデバイスは、ネットワーク1012を通じてコンピュータシステム1000に接続されてもよい。幾つかの例において、外部コンピューティングデバイスは、外部ウェブサーバ又はクラウドコンピューティングノードであってもよい。
図10のブロック図は、コンピュータシステム1000が図10において示されているコンポーネントの全てを備えていることを示すことを意図されていないことが理解されたい。寧ろ、コンピュータシステム1000は、図10において図示されていない任意の適切な少数の又は追加のコンポーネント(例えば、追加のメモリコンポーネント、組み込みコントローラ、モジュール、追加のネットワークインタフェースなど)を備えていることができる。更に、コンピュータシステム1000に関して本明細書に記載されている実施態様は、任意の適切なロジックで実装されていてもよく、本明細書において言及されているロジックは、様々な実施態様において、任意の適切なハードウェア(例えば、とりわけ、プロセッサ、組み込みコントローラ、又はアプリケーション特定集積回路)、ソフトウェア(例えば、とりわけ、アプリケーション)、ファームウェア、又はハードウェア、ソフトウェア及びファームウェアの任意の適切な組み合わせを含みうる。
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に列挙されている教示の実装はクラウドコンピューティング環境に限定されないことが理解されるべきである。寧ろ、本発明の実施態様は、現在知られている又は後に開発される任意の他の種類のコンピューティング環境と組み合わされて実装されることができる。
クラウドコンピューティングは、最小限の管理労力又はサービスのプロバイダとの相互作用で迅速にプロビジョニングされ且つ解放されることができる構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理(processing)、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの便利なオンデマンドネットワークアクセスを可能にする為のサービス提供のモデルである。このクラウドモデルは、少なくとも5つの特徴、少なくとも3つのサービスモデル、及び少なくとも4つのデプロイメントモデル(deployment model)を含みうる。
特徴は下記の通りである。
オンデマンドセルフサービス(On-demand self-service):クラウドコンシューマ(cloud consumer)は、サービスのプロバイダとのヒューマンインターラクション(human interaction)を必要とせずに、自動的に必要に応じて、コンピューティング機能、例えばサーバ時間及びネットワークストレージ、を一方的にプロビジョニングすることができる。
ブロードネットワークアクセス:機能は、ネットワークを介して利用可能であり、及び異種のシン(thin)クライアント・プラットフォーム又はシック(thick)クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
リソースのプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数のコンシューマにサービスを提供する為にプールされ、及び様々な物理リソースと仮想リソースが需要に従って動的に割り当てられ及び再割り当てされる。コンシューマは一般的に、提供されたリソースの正確な場所についての制御又は知識を有していないが、より高いレベルの抽象化での場所(例えば、国、州又はデータセンター)を特定できうるという点で、場所に依存しないといえる。
迅速な順応性:機能は、迅速且つ弾力的にプロビジョニングされ、場合によっては自動的に、迅速にスケールアウトされ、迅速にリリースされて迅速にスケールインされうる。コンシューマにとって、プロビジョニングに利用可能な機能はしばしば、無制限であり及びいつでも任意の量で購入されることができる。
測定されたサービス:クラウド・システムは、サービスの種類(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザアカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御し及び最適化する。リソース使用は監視され、制御され、及び報告されることができ、利用されるサービスのプロバイダ及びコンシューマの両方についての透明性を提供することができる。
サービスモデルは下記の通りである。
サービスとしてのソフトウェア(SaaS:Software as a Service):クラウドインフラストラクチャにおいて実行しているプロバイダのアプリケーションを使用する為に、コンシューマに提供される機能である。該アプリケーションは、シン・クライアント・インタフェース、例えばウェブブラウザ(例えば、ウェブベースの電子メール)、を通じて、様々なクライアント・装置からアクセス可能である。該コンシューマは、制限されたユーザ固有のアプリケーション構成設定の在りうる例外として、基礎をなすクラウドインフラストラクチャ、例えば、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又は個々のアプリケーション機能さえも包含する基礎をなすクラウドインフラストラクチャ、を管理又は制御しない。
サービスとしてのプラットフォーム(PaaS:Platform as a Service):プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウドインフラストラクチャ上にデプロイする為に、該コンシューマに提供される機能である。該コンシューマは、基礎をなすクラウドインフラストラクチャ、例えば、ネットワーク、サーバ、オペレーティングシステム、又はストレージを包含する基礎をなすクラウドインフラストラクチャ、を管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対して制御を有する。
サービスとしてのインフラストラクチャ(IaaS:Infrastructure as a Service):コンシューマが、オペレーティングシステム及びアプリケーションを含むことができる任意のソフトウェアをデプロイ及び実行することができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティングリソースをプロビジョニングする為に、該コンシューマに提供される機能である。該コンシューマは、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、デプロイされたアプリケーションに対する制御、並びに、場合によっては、ネットワーク・コンポーネント(例えば、ホストのファイアウォール)を選択することの制限された制御を有する。
デプロイメントモデル(Deployment Models)は下記の通りである。
プライベートクラウド:クラウドインフラストラクチャは、ある組織の為のみに運営される。該クラウドインフラストラクチャは、該組織又は第三者によって管理され得、及びオンプレミス(on-premises)又はオフプレミス(off-premises)に存在しうる。
コミュニティクラウド:クラウドインフラストラクチャは、幾つかの組織によって共有され、及び共通の関心事項(例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス考慮事項)を有する特定のコミュニティをサポートする。該クラウドインフラストラクチャは、該組織又は第三者によって管理され得、及びオンプレミス又はオフプレミスに存在しうる。
パブリッククラウド:クラウドインフラストラクチャは、一般公衆又は大規模な業界グループに対して利用可能であり、及びクラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:クラウドインフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術(例えば、クラウド間の負荷分散の為のクラウド・バースティング)によって一緒にされる2以上のクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
クラウドコンピューティング環境は、無国籍性(statelessness)、低結合性、モジュール性、及びセマンティック相互運用性(semantic interoperability)に焦点を有する指向されたサービスである。クラウドコンピューティングの中核(heart)は、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図11を参照すると、例示的なクラウドコンピューティング環境50が図示されている。図示されているように、クラウドコンピューティング環境50は、クラウドコンシューマ、例えば、パーソナルデジタルアシスタント(PDA:personal digital assistant)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C若しくは自動車コンピュータシステム54N等又はそれらの組み合わせ、によって用いられるローカルコンピューティングデバイスが通信しうる1以上のクラウドコンピューティングノード10を備えている。ノード10は、互いに通信しうる。それらは、1以上のネットワーク、例えば、本明細書において記載されている、プライベートクラウド、コミュニティクラウド、パブリッククラウド、若しくはハイブリッドクラウド、又はそれらの組み合わせ、において物理的又は仮想的にグループ化されていてもよい(図示せず)。これにより、クラウドコンピューティング環境50は、クラウドコンシューマがローカルコンピューティングデバイス上のリソースを維持する必要がないサービスとして、インフラストラクチャ、プラットフォーム若しくはソフトウェア又はそれらの組み合わせを提供することができる。図11に示されているコンピューティングデバイス54A~54Nの種類は、例示のみを意図されていること、並びにコンピューティングノード10及びクラウドコンピューティング環境50は、任意の種類のネットワーク若しくはネットワークアドレス可能接続又はそれらの組み合わせを介して(例えば、ウェブブラウザを使用して)任意の種類のコンピュータ化されたデバイスと通信することが理解される。
ここで図12を参照すると、クラウドコンピューティング環境50(図11)によって提供される機能的抽象化層の1組が示されている。図12に示されているコンポーネント、層及び機能は、単に例示であることが意図されていること、並びに本発明の実施態様はそれらに限定されないことが理解されるべきである。図示されている通り、下記の複数の層及び対応する複数の機能が提供される。
ハードウェア及びソフトウェア層60は、ハードウェアコンポーネント及びソフトウェアコンポーネントを包含する。ハードウェアコンポーネントの例は、メインフレーム61、RISC(Reduced Instruction Set Computer(縮小命令セット・コンピュータ))アーキテクチャ・ベースのサーバ62;サーバ63;ブレード・サーバ64;記憶デバイス65;並びに、ネットワーク及びネットワーキングコンポーネント66を包含する。幾つかの実施態様において、ソフトウェアコンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67及びデータベース・ソフトウェア68を包含する。
仮想化層70は、抽象化層を提供し、この抽象化層から、仮想エンティティの下記の例が提供されうる:すなわち、仮想サーバ71;仮想ストレージ72;仮想ネットワーク73;例えば仮想プライベートネットワークを包含する該仮想ネットワーク73;仮想アプリケーション及びオペレーティングシステム74;並びに、仮想クライアント75。
1つの例において、管理層80は、以下で説明される複数の機能を提供しうる。リソース・プロビジョニング81は、クラウドコンピューティング環境内でタスクを実行する為に利用されるコンピューティングリソース及び他のリソースの動的な調達を提供する。計量及び価格決定82は、リソースがクラウドコンピューティング環境内で利用される場合のコスト追跡と、これらのリソースの消費についての課金又は請求とを提供する。1つの例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを包含しうる。セキュリティは、クラウドコンシューマ及びタスクに対する識別検証と、データ及び他のリソースに対する保護とを提供する。ユーザ・ポータル83は、コンシューマ及びシステム管理者の為に、クラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されるサービスレベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント(SLA:Service Level Agreement)の計画及び履行85は、将来の要件がSLAに従って予測されるクラウド・コンピューティング・リソースの為の事前配置及びその調達を提供する。
ワークロード層90は、該クラウドコンピューティング環境が利用されうる複数の機能の例を提供する。この層から提供されうる複数のワークロード及び複数の機能の例は、マッピング及びナビゲーション91;ソフトウェア開発及びライフサイクル管理92;仮想教室教育の提供93;データ解析処理94;トランザクション処理95;並びに、システム性能解析96を包含する。
本説明において、語「コンピュータプログラム媒体」、「コンピュータ使用可能な媒体」、「コンピュータプログラム製品」及び「コンピュータ可読媒体」は一般的に、媒体、例えばメモリ、を云う為に使用される。コンピュータプログラム(コンピュータ制御ロジックとも云われる)は、メモリ内に格納される。そのようなコンピュータプログラムは、実行されるときに、本明細書において論じられた本発明の特徴をコンピュータシステムに実行させることが可能である。特に、該コンピュータプログラムは、実行される場合に、コントローラが本明細書において記載された特徴及び動作を実行することを可能にする。従って、そのようなコンピュータプログラムは、コンピュータシステムのコントローラを可能にする。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用する為の命令を保持且つ記憶することができる有形のデバイスであることができる。該コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又はこれらの任意の適切な組み合わせでありうるが、これらに限定されない。該コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、下記を包含する:ポータブルのコンピュータディスケット(登録商標)、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read only memory)、消去可能なプログラム可能な読み取り専用メモリ(EPROM(erasable programmable read-only memory)又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブル・コンパクトディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリスティック、フロッピーディスク、機械的に符号化されたデバイス、例えば、パンチカード若しくは命令が記録されている溝内の隆起構造又はこれらの任意の適切な組み合わせ。本明細書において使用される場合、該コンピュータ可読記憶媒体は、一時的な信号それ自体、例えば、電波又は他の自由に伝播する電磁波、導波管若しくは他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して送信される電気信号、であると解釈されるべきでない。
本明細書に記載された機能ユニットの多くは、モジュールとして表示されている。本発明の実施態様は、多種多様なモジュール実装に適用される。例えば、モジュールは、カスタムVLSI回路又はゲートアレイを含むハードウェア回路、市販の半導体、例えば、論理チップ、トランジスタ又は他のディスクリートコンポーネント、として実装されることができる。プログラマブルハードウェアデバイス、例えば、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス等、においてモジュールがまた実装されることができる。
モジュールはまた、様々な種類のプロセッサによる実行の為にソフトウェアで実装することができる。実行可能コードの識別されたモジュールは例えば、オブジェクト、手順又は関数として編成されることができるコンピュータ命令の1以上の物理的又は論理的ブロックを備えていることができる。それにもかかわらず、識別されたモジュールの実行可能コードは、物理的に一緒に配置される必要はなく、異なる場所に格納された異種の命令を含むことができ、それらが論理的に接続されるときに、モジュールを構成し且つモジュールの為の述べられた目的を達成する。
以下の定義及び略語は、特許請求の範囲及び明細書の解釈の為に使用されるものとする。本明細書で使用される場合、語「含む」(comprises)、「含んでいる」(comprising)、「包含する」(includes)、「包含している」(including)、「有する」(has)、「有している」(having)、「含有する」(contains)、又はそれらの他の変形は、非排他的な含有をカバーすることを意図している。例えば、要素のリストを含む組成物、混合物、プロセス、方法、物品又は装置は、必ずしもそれらの要素のみに限定されるものではなく、明示的にリストされていない他の要素又はかかる組成物、混合物、プロセス、方法、物品、又は装置に固有の要素を備えていることができる。
本明細書において使用されている語は、特定の実施態様を説明する目的のみのものであり、本発明を限定することを意図するものでない。本明細書において使用される場合、単数形「1つ」(a)、「1つ」(an)及び「該」(the)は、文脈が明らかにそうでないことを示していない限り、複数形をまた含むように意図されている。本明細書において使用される場合、語「含む」(comprises)若しくは「含んでいる」(comprising)又はそれらの組み合わせは、述べられた特徴、整数、工程、操作、要素、若しくはコンポーネント又はそれらの組み合わせの存在を規定するが、1以上の他の特徴、整数、工程、操作、要素、コンポーネント、若しくはそれらの群の存在或いは追加、又はそれらの組み合わせを排除しないことが更に理解されるであろう。
加えて、語「例示的な」及それらの変形は、本明細書において、「例、実例、又は説明として役立つ」ことを意味する為に用いられる。本明細書において「例示的」として説明される任意の実施態様又は設計は、必ずしも他の実施態様又は設計よりも好ましい又は有利であると解釈されるものではない。語「少なくとも1つ」、「1以上」、及びそれらの変形は、1以上の任意の整数、すなわち、1、2、3、4等を含むことができる。語「複数の」及びその変形は、2以上の任意の整数、すなわち、2、3、4、5等を含むことができる。語「接続」及びその変形は、間接的な「接続」及び直接的な「接続」の両方を含むことができる。
語「約」、「実質的に」、「ほぼ」、及びそれらの変形は、出願時に利用可能な機器に基づく特定の量の測定に関連付けられた誤差の程度を含むことを意図している。例えば、「約」は、所与の値の±8%、5%、又は2%の範囲を含むことができる。
本明細書において、「信号通信中」、「通信中」、「通信可能に接続」、及びそれらの変形は互換的に使用されることができ、並びにそれらは、情報又はデータを交換する為に電気信号を使用して、任意のシステム、ハードウェア、ソフトウェア、プロトコル又はフォーマットを使用して、該交換が無線で又は有線接続を介して生じるかどうかにかかわらず、情報又はデータを交換する為の電気信号を使用する任意の結合、接続又は相互作用を云うことができる。
本発明の観点は、本発明の実施態様に従う、方法、装置(システム)及びコンピュータプログラム製品若しくはコンピュータプログラムのフローチャート図若しくはブロック図又はそれらの組み合わせを参照して本明細書において記載されている。該フローチャート図若しくは該ブロック図又はそれらの組み合わせの各ブロック、並びに該フローチャート図若しくは該ブロック図又はそれらの組み合わせにおける複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されることができることが理解されるであろう。
図面中のフローチャート図及びブロック図は、本発明の様々な実施態様に従う、システム、方法及びコンピュータプログラム製品若しくはコンピュータプログラムの在りうる実装の、アーキテクチャ、機能及び動作を示す。これに関連して、該フローチャート図又はブロック図における各ブロックは、命令のモジュール、セグメント、又はその一部を表し得、それは、特定された1以上の論理機能を実装する為の1以上の実行可能命令を含む。幾つかの代替の実装において、該ブロックにおいて示されている機能は、図面中に示されている順序とは異なって生じうる。例えば、連続して示されている2つのブロックは、実際には、関与する機能に依存して、同時に、実質的に同時に、部分的又は全体的に時間的に重複する様式で実行される1つの工程として達成されうるか、又は該ブロックは、逆の順序で実行されうる。該ブロック図若しくはフローチャート図又はこれらの組み合わせの各ブロック、並びに該ブロック図若しくはフローチャート図又はこれらの組み合わせの複数のブロックの組み合わせは、特定された機能又は動作を実行する特別な目的のハードウェアベースのシステムによって実装することができ、又は特別な目的のハードウェアとコンピュータ命令との組み合わせを実行することができることに留意されたい。
以下の請求項において、機能要素に加えて全ての手段又は工程の対応する構造、材料、行為、及び等価物は、具体的に請求された他の請求項の要素と組み合わせて機能を実行する為の任意の構造、材料、又は行為を含むことが意図されている。本発明の詳細な説明は、例示及び説明の目的で示されたが、網羅的であること、又は開示された形態における本発明に限定されることを意図していない。多くの修正及び変形が、本発明の範囲から逸脱すること無しに、当業者には明らかであろう。該実施態様は、本発明の原理及び実用化を最もよく説明する為に、また、当業者が、企図される特定の用途に適するように様々な修正を加えた様々な実施態様について本発明を理解できるように選択され及び記載されたものである。
当業者は、現在及び将来の両方において、添付の特許請求の範囲の範囲内に入る様々な改良及び強化を行うことができることが理解されるであろう。

Claims (25)

  1. システム性能に対する複数のアプリケーションの影響を決定する為の、コンピュータに実装された方法であって、
    コンピューティングシステム上で実行されている複数のアプリケーションについて、複数の時間セグメントの間の夫々のインスツルメンテーションデータを、プロセッサによって収集すること;
    前記複数のアプリケーションの各々について、前記複数の時間セグメントの各々についての性能値及びロバスト性値を、前記夫々のインスツルメンテーションデータに基づいて、前記プロセッサによって決定すること;
    各時間セグメントについての前記性能値及び前記ロバスト性値を用いて、前記複数のアプリケーションからの夫々のアプリケーションについての健常波形を含む複数の健常波形を、前記プロセッサによって生成すること;
    第1のアプリケーションの第2のアプリケーションに対する影響因子を、前記プロセッサによって決定すること、ここで、前記第1のアプリケーション及び前記第2のアプリケーションは、前記複数のアプリケーションからのものである;並びに、
    コンピュータリソースを前記第1のアプリケーションから解放し、そして、前記影響因子に基づいて前記コンピュータリソースを前記第2のアプリケーションに割り当てることによって、前記コンピュータリソースの割り当てを、前記プロセッサによって調整すること
    を含む、前記方法。
  2. 前記健常波形を生成することが、
    各時間セグメントについての前記性能値及び前記ロバスト性値を極座標へと、前記プロセッサによって変換すること;
    前記複数のアプリケーションの各々についての前記極座標を前記夫々の健常波形へと、前記プロセッサによって変換すること
    を含む、請求項1に記載の、コンピュータに実装された方法。
  3. 前記影響因子が、前記第1のアプリケーションの第1の健常波形と前記第2のアプリケーションの第2の健常波形との間のピアソン相関係数を計算することによって決定される、請求項1又は2に記載の、コンピュータに実装された方法。
  4. 前記影響因子を決定することが、前記第1の健常波形及び前記第2の健常波形の各々における頂点を識別することを更に含む、請求項3に記載の、コンピュータに実装された方法。
  5. 前記影響因子が、下記の式によって計算される、請求項3に記載の、コンピュータに実装された方法
  6. 前記第2のアプリケーションの実行中にシステム障害を検出することに応答して、前記影響因子が閾値を超えることに応答して前記第1のアプリケーションに関連付けられた実行記録を格納すること、及び、前記影響因子が前記閾値未満であることに応答して前記第1のアプリケーションの実行記録を格納しないことを更に含む、請求項1~5のいずれか1項に記載の、コンピュータに実装された方法。
  7. 前記第2のアプリケーションの実行中にシステム障害を検出することに応答して、前記複数のアプリケーションの実行記録から、前記第1のアプリケーションに関連付けられた実行記録のみを前記影響因子が閾値を超えることに基づいて解析することを更に含む、請求項1~5のいずれか1項に記載の、コンピュータに実装された方法。
  8. システムであって、該システムが、
    メモリデバイス;及び、
    前記メモリデバイスに接続された1以上の処理ユニット、ここで、前記1以上の処理ユニットが、システム性能に対する複数のアプリケーションの影響を決定する為の方法を実行するように構成されている、
    を備えており、前記方法が、
    コンピューティングシステム上で実行されている複数のアプリケーションについて、複数の時間セグメントの間の夫々のインスツルメンテーションデータを、プロセッサによって収集すること;
    前記複数のアプリケーションの各々について、前記複数の時間セグメントの各々についての性能値及びロバスト性値を、前記夫々のインスツルメンテーションデータに基づいて決定すること;
    各時間セグメントについての前記性能値及び前記ロバスト性値を用いて、前記複数のアプリケーションからの夫々のアプリケーションについての健常波形を含む複数の健常波形を生成すること;
    第1のアプリケーションの第2のアプリケーションに対する影響因子を決定すること、ここで、前記第1のアプリケーション及び前記第2のアプリケーションは、前記複数のアプリケーションからのものである;並びに、
    コンピュータリソースを前記第1のアプリケーションから解放し、そして、前記影響因子に基づいて前記コンピュータリソースを前記第2のアプリケーションに割り当てることによって、前記コンピュータリソースの割り当てを調整すること
    を含む、前記システム。
  9. 前記健常波形を生成することが、
    各時間セグメントについての前記性能値及び前記ロバスト性値を極座標へと変換すること;
    前記複数のアプリケーションの各々についての前記極座標を前記夫々の健常波形へと変換すること
    を含む、請求項8に記載のシステム。
  10. 前記影響因子が、前記第1のアプリケーションの第1の健常波形と前記第2のアプリケーションの第2の健常波形との間のピアソン相関係数を計算することによって決定される、請求項8又は9に記載のシステム。
  11. 前記影響因子を決定することが、前記第1の健常波形及び前記第2の健常波形の各々における頂点を識別することを含む、請求項10に記載のシステム。
  12. 前記影響因子が、下記の式によって計算される、請求項10に記載のシステム
  13. 前記方法が、前記第2のアプリケーションの実行中にシステム障害を検出することに応答して、
    前記影響因子が閾値を超えることに応答して前記第1のアプリケーションに関連付けられた実行記録を格納すること、及び、
    前記影響因子が前記閾値未満であることに応答して前記第1のアプリケーションの実行記録を格納しないこと
    を更に含む、請求項8~12のいずれか1項に記載のシステム。
  14. 前記方法が、前記第2のアプリケーションの実行中にシステム障害を検出することに応答して、前記複数のアプリケーションの実行記録から、前記第1のアプリケーションに関連付けられた実行記録のみを前記影響因子が閾値を超えることに基づいて解析することを更に含む、請求項8~12のいずれか1項に記載のシステム。
  15. 1以上のコンピュータ実行可能な命令がその中に格納されているところのストレージデバイスを備えているコンピュータプログラム製品であって、1以上の処理ユニットによって実行されるときに、該1以上の処理ユニットに、システム性能に対する複数のアプリケーションの影響を決定する為の方法を実行させる、コンピュータプログラム製品であって、該方法は、
    コンピューティングシステム上で実行されている複数のアプリケーションについて、複数の時間セグメントの間の夫々のインスツルメンテーションデータを、プロセッサによって収集すること;
    前記複数のアプリケーションの各々について、前記複数の時間セグメントの各々についての性能値及びロバスト性値を、前記夫々のインスツルメンテーションデータに基づいて決定すること;
    各時間セグメントについての前記性能値及び前記ロバスト性値を用いて、前記複数のアプリケーションからの夫々のアプリケーションについての健常波形を含む複数の健常波形を生成すること;
    第1のアプリケーションの第2のアプリケーションに対する影響因子を決定すること、ここで、前記第1のアプリケーション及び前記第2のアプリケーションは、前記複数のアプリケーションからのものである;並びに、
    コンピュータリソースを前記第1のアプリケーションから解放し、そして、前記影響因子に基づいて前記コンピュータリソースを前記第2のアプリケーションに割り当てることによって、前記コンピュータリソースの割り当てを調整すること
    を含む、前記コンピュータプログラム製品。
  16. 前記健常波形を生成することが、
    各時間セグメントについての前記性能値及び前記ロバスト性値を極座標へと変換すること;
    前記複数のアプリケーションの各々についての前記極座標を前記夫々の健常波形へと変換すること
    を含む、請求項15に記載のコンピュータプログラム製品。
  17. 前記影響因子が、前記第1のアプリケーションの第1の健常波形と前記第2のアプリケーションの第2の健常波形との間のピアソン相関係数を計算することによって決定される、請求項15又は16に記載のコンピュータプログラム製品。
  18. 前記影響因子を決定することが、前記第1の健常波形及び前記第2の健常波形の各々における頂点を識別することを含む、請求項17に記載のコンピュータプログラム製品。
  19. 前記影響因子が、下記の式によって計算される、請求項17に記載のコンピュータプログラム製品
  20. 前記方法が、前記第2のアプリケーションの実行中にシステム障害を検出することに応答して、
    前記影響因子が閾値を超えることに応答して前記第1のアプリケーションに関連付けられた実行記録を格納すること、及び、
    前記影響因子が前記閾値未満であることに応答して前記第1のアプリケーションの実行記録を格納しないこと
    を更に含む、請求項15~19のいずれか1項に記載のコンピュータプログラム製品。
  21. 前記第2のアプリケーションの実行中にシステム障害を検出することに応答して、前記複数のアプリケーションの実行記録から、前記第1のアプリケーションに関連付けられた実行記録のみを前記影響因子が閾値を超えることに基づいて解析することを更に含む、請求項15~19のいずれか1項に記載のコンピュータプログラム製品。
  22. コンピュータに実装された方法であって、
    コンピューティングシステム上で実行されている複数のアプリケーションについて、複数の時間セグメントの間の夫々のインスツルメンテーションデータを、プロセッサによって収集すること;
    前記複数のアプリケーションの各々について、前記複数の時間セグメントの各々についての性能値及びロバスト性値を、前記夫々のインスツルメンテーションデータに基づいて、前記プロセッサによって決定すること;
    各時間セグメントについての前記性能値及び前記ロバスト性値を用いて、前記複数のアプリケーションからの夫々のアプリケーションについての健常波形を含む複数の健常波形を、前記プロセッサによって生成すること;
    第1のアプリケーションの第2のアプリケーションに対する影響因子を、前記プロセッサによって決定すること、ここで、前記第1のアプリケーション及び前記第2のアプリケーションは、前記複数のアプリケーションからのものである;並びに、
    前記第2のアプリケーションの実行中にシステム障害を検出することに応答して、前記複数のアプリケーションの実行記録から、前記第1のアプリケーションに関連付けられた実行記録のみを前記影響因子が閾値を超えることに基づいて、前記プロセッサによって解析すること
    を含む、前記方法。
  23. 前記影響因子が、下記の式によって計算される、請求項22に記載の、コンピュータに実装された方法
  24. コンピュータに実装された方法であって、
    コンピューティングシステム上で実行されている複数のアプリケーションについて、複数の時間セグメントの間の夫々のインスツルメンテーションデータを、プロセッサによって収集すること;
    前記複数のアプリケーションの各々について、前記複数の時間セグメントの各々についての性能値及びロバスト性値を、前記夫々のインスツルメンテーションデータに基づいて、前記プロセッサによって決定すること;
    各時間セグメントについての前記性能値及び前記ロバスト性値を用いて、前記複数のアプリケーションからの夫々のアプリケーションについての健常波形を含む複数の健常波形を、前記プロセッサによって生成すること;
    第1のアプリケーションの第2のアプリケーションに対する影響因子を、前記プロセッサによって決定すること、ここで、前記第1のアプリケーション及び前記第2のアプリケーションは、前記複数のアプリケーションからのものである;並びに、
    前記第2のアプリケーションの実行中にシステム障害を検出することに応答して、
    前記影響因子が閾値を超えることに応答して前記第1のアプリケーションに関連付けられた実行記録を、前記プロセッサによって格納すること、及び、
    前記影響因子が前記閾値未満であることに応答して前記第1のアプリケーションの実行記録を格納しないこと
    を含む、前記方法。
  25. 前記影響因子が、下記の式によって計算される、請求項24に記載の、コンピュータに実装された方法
JP2023522927A 2020-10-19 2021-10-08 システム性能に対する複数のアプリケーションの影響の決定 Pending JP2023545316A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/073,504 US11620205B2 (en) 2020-10-19 2020-10-19 Determining influence of applications on system performance
US17/073,504 2020-10-19
PCT/IB2021/059239 WO2022084791A1 (en) 2020-10-19 2021-10-08 Determining influence of applications on system performance

Publications (1)

Publication Number Publication Date
JP2023545316A true JP2023545316A (ja) 2023-10-27

Family

ID=81186452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023522927A Pending JP2023545316A (ja) 2020-10-19 2021-10-08 システム性能に対する複数のアプリケーションの影響の決定

Country Status (6)

Country Link
US (1) US11620205B2 (ja)
JP (1) JP2023545316A (ja)
CN (1) CN116194889A (ja)
DE (1) DE112021004680T5 (ja)
GB (1) GB2613754B (ja)
WO (1) WO2022084791A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200241999A1 (en) * 2020-03-25 2020-07-30 Intel Corporation Performance monitoring for short-lived functions

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050191609A1 (en) 2004-02-14 2005-09-01 Adaptigroup Llc Method and system for improving performance on standardized examinations
US7496667B2 (en) 2006-01-31 2009-02-24 International Business Machines Corporation Decentralized application placement for web application middleware
US8255902B1 (en) 2008-03-17 2012-08-28 Symantec Corporation Systems and methods for determining and quantifying the impact of an application on the health of a system
US7966278B1 (en) 2008-03-27 2011-06-21 Symantec Corporation Method for determining the health impact of an application based on information obtained from like-profiled computing systems using clustering
US8219983B1 (en) 2008-03-31 2012-07-10 Symantec Corporation Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system
US9774517B2 (en) 2012-11-26 2017-09-26 EMC IP Holding Company LLC Correlative monitoring, analysis, and control of multi-service, multi-network systems
US20130283102A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deployment of Profile Models with a Monitoring Agent
EP3061018A4 (en) 2013-10-25 2017-05-10 Sysomos L.P. Systems and methods for dynamically determining influencers in a social data network using weighted analysis
US9882836B2 (en) 2014-06-03 2018-01-30 International Business Machines Corporation Adjusting cloud resource allocation
US10073753B2 (en) 2016-02-14 2018-09-11 Dell Products, Lp System and method to assess information handling system health and resource utilization
CN107613107A (zh) 2017-08-31 2018-01-19 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN111107429A (zh) 2018-10-26 2020-05-05 深圳Tcl新技术有限公司 提高电视系统性能的方法、装置及计算机可读存储介质
US11055568B2 (en) * 2019-07-10 2021-07-06 Vmware, Inc. Method and system that measure application response time
US11573823B2 (en) * 2019-11-18 2023-02-07 International Business Machines Corporation Parallel execution of applications

Also Published As

Publication number Publication date
GB2613754B (en) 2023-10-18
US11620205B2 (en) 2023-04-04
WO2022084791A1 (en) 2022-04-28
GB202304336D0 (en) 2023-05-10
US20220121548A1 (en) 2022-04-21
GB2613754A (en) 2023-06-14
DE112021004680T5 (de) 2023-08-03
CN116194889A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
Yadwadkar et al. Selecting the best vm across multiple public clouds: A data-driven performance modeling approach
US10838803B2 (en) Resource provisioning and replacement according to a resource failure analysis in disaggregated data centers
US11050637B2 (en) Resource lifecycle optimization in disaggregated data centers
Zhu et al. A performance interference model for managing consolidated workloads in QoS-aware clouds
US8402468B2 (en) Capacity planning based on resource utilization as a function of workload
US10754720B2 (en) Health check diagnostics of resources by instantiating workloads in disaggregated data centers
US8756307B1 (en) Translating service level objectives to system metrics
US11188408B2 (en) Preemptive resource replacement according to failure pattern analysis in disaggregated data centers
US10761915B2 (en) Preemptive deep diagnostics and health checking of resources in disaggregated data centers
Barker et al. Cloud services brokerage: A survey and research roadmap
US9875169B2 (en) Modeling real capacity consumption changes using process-level data
US10243819B1 (en) Template generation based on analysis
US20120221373A1 (en) Estimating Business Service Responsiveness
WO2022062964A1 (en) Detecting performance degradation in remotely deployed applications
US11379290B2 (en) Prioritizing and parallelizing the capture of data for debugging computer programs
US10831580B2 (en) Diagnostic health checking and replacement of resources in disaggregated data centers
JP2023545970A (ja) エンタープライズ・レベルのビッグ・データ・ワークロード向けのクエリ・エンジンの自動スケーリング
JP2023530829A (ja) 電力-性能ベースのシステム管理
US10579748B2 (en) Capacity planning for systems with multiprocessor boards
US11599404B2 (en) Correlation-based multi-source problem diagnosis
JP2023545316A (ja) システム性能に対する複数のアプリケーションの影響の決定
Perennou et al. Workload characterization for a non-hyperscale public cloud platform
US20210349705A1 (en) Performance sensitive storage system upgrade
US11163592B2 (en) Generation of benchmarks of applications based on performance traces
KR102672580B1 (ko) 비정상 이벤트에 대한 가상 머신의 처리 용량 증가

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230511

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20230512

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20230512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240319