JP2024524050A - ハイブリッドクラウド環境における誤警告を減らすパフォーマンスデータ分析 - Google Patents

ハイブリッドクラウド環境における誤警告を減らすパフォーマンスデータ分析 Download PDF

Info

Publication number
JP2024524050A
JP2024524050A JP2023575977A JP2023575977A JP2024524050A JP 2024524050 A JP2024524050 A JP 2024524050A JP 2023575977 A JP2023575977 A JP 2023575977A JP 2023575977 A JP2023575977 A JP 2023575977A JP 2024524050 A JP2024524050 A JP 2024524050A
Authority
JP
Japan
Prior art keywords
vector
cluster
time base
data points
base vector
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
JP2023575977A
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 JP2024524050A publication Critical patent/JP2024524050A/ja
Pending legal-status Critical Current

Links

Abstract

Figure 2024524050000001
コンピュータ実装方法が提供される。本方法は、コンピューティングシステムのロバストネスとパフォーマンスに対するランタイムデータポイントの影響を示すランタイムデータポイントを変換することを含む。ランタイムデータポイントはクラスタリングされ、各クラスタはそれぞれコンピューティングシステムの時間的状態を表す。各クラスタは、各クラスタのランタイムデータポイントの確率密度に基づいて3次元表現に変換される。タイムベースベクターが生成され、ベクターは第1の3次元表現から第2の3次元表現への遷移を表す。タイムベースベクターによって横断される各3次元表現は、コンピューティングシステムのそれぞれの状態を表す。タイムベースベクターは、ベースラインベクターと比較される。少なくとも部分的に比較に基づいて異常警告が発される。

Description

本発明は、一般に、プログラマブルコンピューティングシステムに関し、より具体的には、ハイブリッドクラウド環境において誤警告を減らすパフォーマンスデータ分析を実行するように構成されたプログラマブルコンピューティングシステムに関する。
データサイエンスは学際的な分野であり、コンピューティングシステムが大量の非構造化データの分析と分析からの洞察の生成のために複雑なアルゴリズムを使用する。データサイエンティストは、ビジネスセンス、数学、コンピュータサイエンスの知識、コミュニケーションスキルを駆使して、これらのアルゴリズムを生成し、さまざまなコンピューティング出力を解釈する。データサイエンスの一態様として、異常検出がある。これは、コンピュータシステムが標準とは異なるデータポイントやデータ傾向を特定するプロセスである。異常データは、例えばハイブリッドクラウドコンピューティング環境において、例外を特定し、もしくはコンピューティングモデルの動作変化の指標として活用することができる。
ハイブリッドクラウドコンピューティング環境とは、集中管理されたデータセンター(プライベートクラウドコンピューティング環境)と、1つ以上のパブリッククラウドコンピューティング環境を運用するサードパーティアプリケーションとの間でデータが共有され、処理される環境である。システム管理者は、スループット、キュー長、応答時間などのデータを使用して、ハイブリッドクラウドコンピューティング環境のパフォーマンスを測定する。システムデータは予測不可能で複雑であり、システム管理者は、異常を監視し、クラウドコンピューティング環境全体のアプリケーションのパフォーマンスを測定するために、多数のパフォーマンス指標の閾値を設定する必要がある。管理者は一般的に、異常警告のトリガーとして静的な閾値を設定することで、静的な異常検知を行う。しかし、閾値の設定が低すぎると、異常検知システムが誤った警告を発してしまう可能性がある。一方、閾値が高すぎる場合、異常検知システムは警告を発することができない。
本発明の実施形態は、ハイブリッドクラウド環境における誤警告を低減するためのパフォーマンス分析のためのコンピュータ実装方法に向けられている。コンピュータ実装方法の非限定的な例は、コンピューティングシステムのロバストネスとパフォーマンスに対するランタイムデータポイントの影響を示すランタイムデータポイントを変換することを含む。ランタイムデータポイントはクラスタリングされ、各クラスタはそれぞれコンピューティングシステムの時間的状態を表す。各クラスタは、各クラスタのランタイムデータポイントの確率密度に基づいて3次元表現に変換される。タイムベースベクターが生成され、ベクターは第1の3次元表現から第2の3次元表現への遷移を表す。タイムベースベクターによって横断される各3次元表現は、コンピューティングシステムのそれぞれの状態を表す。タイムベースベクターは、ベースラインベクターと比較される。異常警告は、少なくとも部分的に比較に基づいて発される。
本発明の実施形態はさらに、タイムベースベクターの第1レグの開始データポイントと終了データポイントとがそれぞれ、第1のクラスタおよび時間的に連続する第2のクラスタに含まれるか否かを判定することによって、ベースラインベクターからのタイムベースベクターの偏差が異常の偽陽性によるものであるか否かを判定することを含む。そして、タイムベースベクターの第1レグの軌道がベースラインベクターの第1レグの軌道と比較され、軌道が閾値偏差から大きく乖離しているか否かが判定される。
本発明の実施形態はさらに、タイムベースベクターによって表される状態遷移のシーケンスを、ベースラインベクターによって表される状態遷移のシーケンスと比較することによって、ベースラインベクターからのタイムベースベクターの偏差が、異常の偽陰性によるものであるか否かを判定することを含む。
本発明の実施形態は、本明細書で説明する技術的解決策を提供し、それに応じて、異常検知のために静的閾値を使用することの技術的課題に対処する。ハイブリッドクラウドシステムおよびIT運用のための人工知能(AIOps)は、予測不可能で複雑な大量のデータを含む。システム管理者は、アプリケーションやシステムの状態を評価するために、多数のパフォーマンス指標を設定してデータを監視しなければならない。したがって、ここで説明する技術的解決策は、アプリケーションまたはシステムの時間的状態を表す3次元表現を生成する実用的なアプリケーションを提供する。さらに、ここで説明する技術的解決策は、静的なパフォーマンス指標閾値に依存するのではなく、アプリケーションまたはシステムのある時間的状態から次の時間的状態へのリアルタイムの軌道を連続的に監視することによって異常指標を生成する、関連する異常検出システムおよび他の技術的解決策を改善する。
本発明の実施形態は、ハイブリッドクラウド環境における誤警告を低減するためのパフォーマンス分析のためのシステムに向けられている。システムの非限定的な実施例は、コンピューティングシステムのロバストネスとパフォーマンスに対するランタイムデータポイントの影響を示すランタイムデータポイントを変換することを含む。システムはランタイムデータポイントをクラスタリングし、各クラスタはそれぞれコンピューティングシステムの時間的状態を表す。システムは、各クラスタのランタイムデータポイントの確率密度に基づいて、各クラスタを3次元表現に変換する。システムは、タイムベースベクターを生成し、ベクターは、第1の3次元表現から第2の3次元表現への遷移を表す。タイムベースベクターによって横断される各3次元表現は、コンピューティングシステムのそれぞれの状態を表す。システムは、タイムベースベクターをベースラインベクターと比較する。システムは、少なくとも部分的に比較に基づいて異常警告を発する。
本発明の実施形態は、ハイブリッドクラウド環境における誤警告を低減するためのパフォーマンス分析のためのコンピュータプログラム製品に向けられている。コンピュータプログラム製品の非限定的な例は、コンピューティングシステムのロバストネスとパフォーマンスに対するランタイムデータポイントの影響を示すランタイムデータポイントを変換することを含む。コンピュータプログラム製品は、ランタイムデータポイントをクラスタリングさせ、各クラスタはそれぞれコンピューティングシステムの時間的状態を表す。コンピュータプログラム製品は、各クラスタのランタイムデータポイントの確率密度に基づいて、各クラスタを3次元表現に変換させる。コンピュータプログラム製品は、タイムベースベクターを生成させ、ベクターは、第1の3次元表現から第2の3次元表現への遷移を表す。タイムベースベクターによって横断される各3次元表現は、コンピューティングシステムのそれぞれの状態を表す。コンピュータプログラム製品は、タイムベースベクターをベースラインベクターと比較させる。コンピュータプログラム製品は、少なくとも部分的に比較に基づいて異常警告を発する。
さらなる技術的特徴および利点は、本発明の技術によって実現される。本発明の実施形態および態様は、本明細書において詳細に説明され、特許請求の主題の一部とみなされる。より良く理解するために、詳細な説明および図面を参照されたい。
本明細書に記載された排他的権利の具体的内容は、明細書の最後に記載された特許請求の範囲において特に指摘され、明確に特許請求されている。本発明の実施形態の前述および他の特徴および利点は、添付の図面と併せて取られる以下の詳細な説明から明らかである。
本発明の1つ以上の実施形態による、ハイブリッドクラウド環境における誤警告を低減するためのパフォーマンス分析システムを示す図である。 本発明の1つ以上の実施形態による、クラスタリングされたパフォーマンス/ロバストネスデータポイントの2次元表現を示す図である。 本発明の1つ以上の実施形態による、パフォーマンス/ロバストネスデータポイントクラスターとタイムベースベクターの2次元表現を示す図である。 本発明の1つ以上の実施形態による、パフォーマンス/ロバストネスデータポイントクラスターとタイムベースベクターの3次元表現を示す図である。 本発明の1つ以上の実施形態による、ハイブリッドクラウド環境における誤警告を低減するためのフロー図である。 本発明の1つ以上の実施形態による、タイムベースベクターをベースラインベクターと比較するためのフロー図を示す。 本発明の1つ以上の実施形態によるクラウドコンピューティング環境を示す図である。 本発明の1つ以上の実施形態による抽象化モデルレイヤーを示す図である。 本発明の1つ以上の実施形態を実施する際に使用するコンピュータシステムのブロック図である。
ここに描かれた図は例示である。本発明の精神から逸脱することなく、図またはそこに記載された操作には多くの変形が可能である。例えば、動作を異なる順序で実行したり、動作を追加、削除、修正したりすることができる。また、「結合」という用語およびその変形は、2つの要素間に通信経路があることを説明するものであり、要素間に介在する要素/接続がなく、要素間が直接接続されていることを意味するものではない。これらの変形はすべて、本明細書の一部とみなされる。
本発明の1つ以上の実施形態は、コンピューティングシステムのリアルタイムパフォーマンスおよびロバストネスパターンと、コンピューティングシステムのベースラインパターンとの比較に基づく異常検出のための、コンピュータ実装方法、コンピューティングシステム、およびコンピュータプログラム製品を提供する。
本発明の1つ以上の実施形態は、システムデータを収集し、パフォーマンス/ロバストネスデータポイントのクラスタを生成する、異常検出のためのコンピュータ実装方法、コンピューティングシステム、およびコンピュータプログラム製品を提供することによって、上述の欠点の1つまたは複数に対処する。各クラスタは、ある時点におけるハイブリッドクラウドコンピューティング環境の状態を表す。データポイントの異なるクラスタは、2次元座標系にマッピングされる。クラスタリングされた2次元のパフォーマンス/ロバストネス値は、3次元表現に変換される。ある状態から次の時間的に連続した状態への遷移のタイムベースの軌道を表すベクターが生成される。生成されたタイムベースベクターは、異常警告を発するか否かを判定するためにベースラインベクターと比較される。
図1を参照すると、本発明の実施形態による異常検知のためのシステム100が示されている。システム100は、データからパフォーマンス/ロバストネスデータポイントを分析および計算するために、コンピューティングシステム112からシステムデータ110を収集するデータポイント生成ユニット102を含む。システム100はさらに、パフォーマンス/ロバストネスデータポイントを2次元座標系に変換し、データポイントをクラスタリングし、異なるクラスタの次元を計算するデータポイントクラスタリングユニット104を含む。システム100はさらに、データポイントの勾配と確率密度に基づいてクラスタを3次元表現に変換する3次元データポイント変換ユニット106を含む。システム100はさらに、3次元表現を横断するタイムベースの経路を表すベクターを計算し、計算されたベクターをベースラインベクターと比較するためのパフォーマンスおよびロバストネスベクターユニット108を含む。比較に基づいて、パフォーマンスおよびロバストネスベクターユニット108は、システムデータが異常を示すか否かについての予測114を行う。システム100の機能の一部または全部は、図6で示すようなクラウドコンピューティング環境50および図8で示すような処理システム800上で実行できることを理解されたい。
本発明の1つ以上の実施形態に従って、データポイント生成ユニット102は、コンピューティングシステム112からリアルタイムランタイムデータ形式のシステムデータ110を入力として受け取り、そのデータがコンピューティングシステム112のパフォーマンスおよびロバストネスに及ぼす影響を判定するように動作可能である。システムデータ110は、CPUパフォーマンス値、メモリパフォーマンス値、入出力(IO)パフォーマンス値、およびネットワークパフォーマンス値に関連するが、これらに限定されない、コンピュータハードウェアおよびソフトウェア関連データを含み得る。ハイブリッドクラウドコンピューティング環境では、システムデータ110は、任意の接続されたプライベートクラウド、パブリッククラウド、およびエッジデバイスから収集され得る。システムデータ110はさらに、サーバ側(パブリッククラウドからの要求に対するプライベートクラウドの応答時間)やエッジデバイス側(リソース負荷時間)などの複数の観点から収集される。
本発明の1つ以上の実施形態に従って、データポイント生成ユニット102は、例えば、ニューラルネットワークとして実装され、事前に訓練されたモデルを実行して、システムデータ110のデータポイントがコンピューティングシステム112のロバストネスおよびパフォーマンスに寄与する程度を表す値を生成する。ニューラルネットワークは、入力層を介してシステムデータ110をサンプリングし、隠れ層を介して特徴を抽出し、サンプリングされたデータポイントのロバストネス値およびパフォーマンス値を出力する。事実上、データポイント生成ユニット102は、システムデータ110からパフォーマンス/ロバストネスデータポイントを生成する。ロバストネスとは、コンピューティングシステムのハードウェアおよびソフトウェアが、コンピューティングシステムの動作中に発生するエラーに対する鈍感さである。パフォーマンスとは、コンピューティングシステム112によって実行される作業の尺度である。データポイント生成ユニット102は、時系列データに基づく予測のために設計された放射基底関数(RBF)ネットワークとして構成することができる。RBFネットワークは、入力層、隠れ層、出力層を含むフィードフォワードネットワークである。RBFネットワークは、その普遍的な近似機能と学習速度に基づいて、他のニューラルネットワークと区別される。RBFネットワークは、項目の予測値目標値が予測変数の他の項目(例えば、パフォーマンス値やロバストネス値)と類似しているという概念で動作する活性化関数としてRBF関数を使用する。RBFネットワークは、各システムデータポイントがパフォーマンスとロバストネスの両方に与える影響度がどの程度低いか、またはどの程度高いかについて、値の範囲内で値を生成する。例えば、あるシステムデータポイントは、パフォーマンスへの影響力は低いが、ロバストネスへの影響力は高い場合がある。一方、別のシステムデータポイントは、パフォーマンスへの影響力は高いが、ロバストネスへの影響力は低いかもしれない。パフォーマンスとロバストネスの値をシステムデータポイントに割り当てることで、データポイント生成ユニット102はパフォーマンス/ロバストネスのデータポイントを生成する。
データポイントクラスタリングユニット104は、データポイント生成ユニット102からロバストネス/パフォーマンスデータポイントを受け取り、本発明の1つ以上の実施形態に従って、その点を2次元座標系(例えば、デカルト座標系)にマッピングする。例えば、データポイントクラスタリングユニット104は、ロバストネス/パフォーマンスデータポイントを2次元グリッドにマッピングすることができ、この場合、X軸は、ロバストネスに対するシステムデータポイントの影響について低い値から高い値までの範囲を表し、Y軸は、パフォーマンスに対するシステムデータポイントの影響について低い値から高い値までの範囲を表す。
ロバストネス/パフォーマンスデータポイントが2次元座標系にマッピングされると、データポイントクラスタリングユニット104は、ロバストネス/パフォーマンスデータポイントをデータポイント群にクラスタリングする。例えば、データポイントクラスタリングユニット104は、各データポイントが最も近いクラスタ重心に向かって、ロバストネス/パフォーマンスデータポイントの最も近いクラスタの方向に反復的に割り当てられる平均シフトモデル(モードシーキングアルゴリズム)を使用することができる。各反復の後、データポイントクラスタリングユニット104は、各データポイントをクラスタ中心に近づける。多くの反復の後、データポイントクラスタリングユニット104はデータポイントの移動を停止し、データポイントはクラスタに割り当てられる。各クラスタは、各クラスタがある時点におけるコンピューティングシステム112の特徴であるように、コンピューティングシステム112の状態とみなされる。各クラスタを判定すると、データポイントクラスタリングユニット104は、各状態についてコンピューティングシステム112の側面を特徴付けることができる。たとえば、全体的なコンピューティングシステム112について、クラスタが高いパフォーマンスおよび低いロバストネスを示す場合、コンピューティングシステム112は高い同時実行性として特徴付けることができる。しかし、クラスタが低パフォーマンスおよび中程度のロバストネスとして特徴付けられる場合、コンピューティングシステム112はCPU競合によって特徴付けられることができる。重心クラスタから所定の距離だけ離れたデータポイントは外れ値とみなされ、どのクラスタにも割り当てられない。データポイントクラスタリングユニット104は、接続性クラスタリングモデル、密度クラスタリングモデル、セントロイドクラスタリングモデル、および分布クラスタリングモデルなど、さまざまな他のクラスタリングアルゴリズムを使用することもできる。
3次元データポイント変換ユニット106は、データポイントの2次元表現を3次元表現に変換する。3次元データポイント変換ユニット106は、各状態の「重心」を計算することから始める。本発明のいくつかの実施形態では、3次元データポイント変換ユニット106は以下の関係を使用する。
Figure 2024524050000002
ここで、PC(SK)はパフォーマンス軸に沿った点、RC(SK)はロバストネス軸に沿った点(まとめて重心座標)であり、nは状態kの点の数、mは状態の総数であり、pはクラスタのデータポイントのパフォーマンス軸に沿った点であり、rはクラスタのデータポイントのパフォーマンス軸に沿った点であり、Centerは重心である。そして、3次元データポイント変換ユニット106は、以下の関係を用いて各状態の確率を算出する。
Figure 2024524050000003
ここで、すべての状態の確率の和が1に等しい。
そして、3次元データポイント変換ユニット106は、以下の関係を用いて各状態の確率密度を算出する。
Figure 2024524050000004
Figure 2024524050000005
ここで、hは状態kの最大の確率密度を示し、Dは状態kの面積を示す。
3次元データポイント変換ユニット106は、2次元のクラスタ(状態)を3次元表現に変換し、クラスタの局所的な高さはその局所的な確率密度によって定義される。視覚的には、この構造は、山が高い確率密度の領域として定義され、谷が低い確率密度の領域として定義される山岳地帯に似ている。
次に、パフォーマンスおよびロバストネスベクターユニット108は、コンピューティングシステム112の状態の進行の軌道を追跡するタイムベースの3次元ベクターを計算する。例えば、タイムベースベクターは、コンピューティングシステム112が高同時実行状態からリソース競合状態へ遷移することを表すことができる。次に、パフォーマンスおよびロバストネスベクターユニット108は、生成されたタイムベースベクターの軌道からの任意の偏差をベースラインベクターの軌道と比較し、エラー警告が発されるべきか否かを判定する。
本システム100は、関連する異常検知システムよりも正確な異常警告を提供する。関連する異常検知システムは、コンピューティングシステムの時間における単一の時点に焦点を当てるのに対し、本明細書で説明するシステム100は、コンピューティングシステム112の状態の遷移に目を向ける。3次元軌道は、ある状態から次の状態への遷移を表すことができるだけでなく、システム100の3次元コンポーネントは、3次元構造の上昇を通じて、ランタイムデータポイントの局所的な集中を分析することを可能にする。
「ニューラルネットワーク」および「機械学習」という語句は、データから学習する電子システムの機能を広く説明する。機械学習システム、エンジン、またはモジュールは、外部のクラウド環境(例えば、クラウドコンピューティング環境50)などにおいて、現在未知である入力と出力との間の機能的関係を学習するように訓練することができる機械学習アルゴリズムを含むことができる。1つ以上の実施形態において、機械学習機能は、現在未知の機能を実行するように訓練される能力を有する、データポイント生成ユニット102とパフォーマンスおよびロバストネスベクターユニット108とを使用して実装され得る。機械学習および認知科学において、ニューラルネットワークは、動物、特に脳の生物学的神経ネットワークに触発された統計的学習モデルのファミリーである。ニューラルネットワークは、多数の入力に依存するシステムや関数を推定または近似するために使用できる。
データポイント生成ユニット102とパフォーマンスおよびロバストネスベクターユニット108は、シミュレートされた「ニューロン」として機能し、電子信号の形で互いの間で「メッセージ」を交換する、相互接続されたプロセッサ要素のいわゆる「ニューロモーフィック」システムとして具現化することができる。生物学的ニューロン間のメッセージを伝達するシナプス神経伝達物質接続のいわゆる「可塑性」と同様に、模擬ニューロン間の電子メッセージを伝達するデータポイント生成ユニット102とパフォーマンスおよびロバストネスベクターユニット108との接続には、所与の接続の強さまたは弱さに対応する数値重みが提供される。トレーニング中、重みは経験に基づいて調整され、データポイント生成ユニット102とパフォーマンスおよびロバストネスベクターユニット108を入力に適応させ、学習できるようにすることができる。ネットワークの設計者によって決定された関数によって重み付けされ、変換された後、これらの入力ニューロンの活性化は、しばしば「隠れ」ニューロンと呼ばれる他の下流ニューロンに渡される。このプロセスは、出力ニューロンが活性化されるまで繰り返される。活性化された出力ニューロンは、どの文字が読み出されたかを判定する。
図2を参照すると、本発明の実施形態に従って、2次元座標系200にマッピングされたパフォーマンス/ロバストネスデータポイントの図が示されている。第1のパフォーマンス/ロバストネスデータポイント202が、第1のクラスタ204の一部として示されている。外れ値データポイント206は、さらに、任意の示されたクラスタの外側に示されている。図示されているように、6つのクラスタS1、S2、S3、S4、S5、およびS6はそれぞれ、複数のパフォーマンス/ロバストネスデータポイント202を含み、2次元座標系200の様々な位置に示されている。各クラスタは、所定の時点におけるコンピューティングシステム112の状態を表す。6つのクラスタS1、S2、S3、S4、S5、およびS6は、必ずしも時間的順序で番号付けされているわけではなく、むしろ説明の目的で番号付けされている。2次元座標系200の軸は、ロバストネス軸(x軸)およびパフォーマンス軸(y軸)を含む。各軸が、パフォーマンスまたはロバストネスのいずれにも影響されないことを表す原点から遠ざかるにつれて、パフォーマンスまたはロバストネスのいずれかに及ぼす影響が増大する。例えば、S1クラスタ204は、9つのパフォーマンス/ロバストネスデータポイント202を含み、高いパフォーマンスと低いロバストネスを示す位置にある。
図3Aを参照すると、本発明の実施形態に従って、2次元座標系300にマッピングされた図2に示されたクラスタの図解が示されている。図示されているように、第1のタイムベースベクター304は、S1クラスタ302からS2クラスタ306まで延びている。第2のタイムベースベクター312は、S3クラスタ308からS4クラスタ310まで延びている。図3Bを参照すると、本発明の実施形態に従って、3次元座標系320にマッピングされた図2に示されたクラスタの図が示されている。図示されているように、第1のタイムベースベクター324は、S1クラスタ322からS2クラスタ326まで延びている。第2のタイムベースベクター332は、S3クラスタ328からS4クラスタ330まで延びている。各3次元構造の相対的な高さは、基礎となる各クラスタのパフォーマンス/ロバストネスデータポイントの確率密度に基づいている。見られるように、パフォーマンス/ロバストネスデータポイントの確率密度はS5クラスタ336よりもS6クラスタ334の方が大きく、したがってS6クラスタ334の高さはS5クラスタ336の高さよりも大きい。
図4を参照すると、ハイブリッドクラウド環境における誤警告を低減するためのパフォーマンス分析のための方法400が示されている。説明された方法400の一部または全部は、図6で示すようなクラウドコンピューティング環境50および図8に示すような処理システム800上で実行され得ることが理解されるべきである。ブロック402において、データポイント生成ユニット102は、コンピューティングシステム112からシステムデータ110を受信し、パフォーマンス/ロバストネスデータポイントを生成することができる。システムデータ110は、データポイント生成ユニット102のニューラルネットワークによって実行されるモデルの入力として入力することができる。データポイント生成ユニット102は、システムデータ110をサンプリングし、モデルを利用して、パフォーマンスおよびロバストネスを示す特徴を抽出することができる。データポイント生成ユニット102はさらに、2次元座標系(例えば、デカルト座標)に対するパフォーマンス/ロバストネスのデータポイントを生成する。
ブロック404において、データポイントクラスタリングユニット104は、生成されたパフォーマンス/ロバストネスデータポイントをクラスタリングする。各クラスタは、パフォーマンスおよびロバストネスを示すデータポイントを含み、さらに、特定の時間におけるコンピューティングシステム112の状態を表す。クラスタが識別されると、データポイントクラスタリングユニット104は、2次元座標系におけるクラスタの位置決めに基づいて、関連するクラスタによって表されるコンピューティングシステム112の状態を判定する。クラスタリングは、例えば、パフォーマンス/ロバストネスデータポイントを反復的にクラスタリングする平均シフトモデルなどのモデルを実行するニューラルネットワークによって実行することができる。
ブロック406では、3次元データポイント変換ユニット106が、パフォーマンス/ロバストネスデータポイントを2次元表現から3次元表現に変換する。3次元データポイント変換ユニット106は、各状態(クラスタ)の重心を計算する。次に、3次元データポイント変換ユニット106は、各状態の確率を計算し、これらの確率を用いて各状態の確率密度を計算する。確率密度には、局所的な極大値および極小値が含まれ、各3次元状態の局所的な標高は、局所的な極大値および極小値に比例する。
ブロック408において、パフォーマンスおよびロバストネスベクターユニット108は、ある状態から時間的に次の状態へのコンピューティングシステム112の進行を表す、3次元のタイムベースベクターを生成する。パフォーマンスおよびロバストネスベクターユニット108は、状態間の時間的関係の指標についてシステムデータ110を分析する。例えば、パフォーマンスおよびロバストネスベクターユニット108は、状態が発生した時間的順序を判定するために、タイムスタンプデータ、条件文、連続実行文を検索する。次に、パフォーマンスおよびロバストネスベクターユニット108は、ブロック410において、予測114を生成するために、生成されたタイムベースベクターの3次元軌道をベースラインベクターの軌道と比較する。ブロック412において、パフォーマンスおよびロバストネスベクターユニット108は、比較に基づいてエラー警告を評価する。ブロック410および412は、図5を参照してより具体的に説明される。
図5を参照すると、本発明の実施形態による、パフォーマンス/ロバストネスベクターを比較し、エラー警告を評価するための方法500が示されている。説明される方法400の一部または全部は、図6に示すようなクラウドコンピューティング環境50および図8に示すような処理システム800上で実行され得ることが理解されるべきである。ブロック502において、パフォーマンスおよびロバストネスベクターユニット108は、履歴データを収集し、履歴データからパフォーマンス/ロバストネスデータポイントを生成することによって、ベースラインベクターを事前学習する。次に、パフォーマンスおよびロバストネスベクターユニット108は、パフォーマンス/ロバストネスデータポイントの2次元クラスタのクラスタを生成する。各クラスタは、ある時点におけるコンピューティングシステム112の状態を表す。次に、パフォーマンスおよびロバストネスベクターユニット108は、クラスタのデータポイントの確率密度に基づいて、2次元クラスタを3次元表現に変換する。次に、パフォーマンスおよびロバストネスベクターユニット108は、ある状態からコンピューティングシステムの時間的に次の状態への遷移を記述するタイムベースのベースラインベクターを生成する。
ブロック504において、パフォーマンスおよびロバストネスベクターユニット108は、次に、生成されたタイムベースベクターの軌道をベースラインベクターの軌道と比較して、生成されたタイムベースベクターとベースラインベクターとが閾値偏差よりも大きく乖離しているか否かを判定する。例えば、閾値偏差は、過去のデータから導出された確率分布に基づく標準偏差とすることができる。したがって、偏差が標準偏差より大きく、一致しない場合、パフォーマンスおよびロバストネスベクターユニット108は、ブロック506に進み、偽陽性であるか否かを判定する。
ブロック506において、パフォーマンスおよびロバストネスベクターユニット108は、生成されたタイムベースベクターの各レグとベースラインベクターの各レグとを反復的に比較することによって、偽陽性であるか否かを判定するように進む。生成されたタイムベースベクターおよびベースラインベクターのそれぞれの第1のレグは、時間的に最初であるため、パフォーマンスおよびロバストネスベクターユニット108は、まず、このレグの組を分析し、次に、残りのレグを順次比較するように進む。パフォーマンスおよびロバストネスベクターユニット108は、レグの組が閾値偏差よりも大きく乖離していると判定した場合、その乖離が外れ値データの結果に基づくものであるか否かを判定する。開始データポイントと終了データポイントの両方がそれぞれのクラスタに関連付けられている場合、パフォーマンスおよびロバストネスベクターユニット108は偏差を検証することができる。しかし、レグの終了データポイントが外れ値データポイント(例えば、図2に示された外れ値データポイント206)である場合、パフォーマンスおよびロバストネスベクターユニット108は、さらに偏差を分析する。終了データポイントが外れ値データポイントである場合、パフォーマンスおよびロバストネスベクターユニット108は、外れ値データポイントを終了データポイントとして除去し、外れ値データポイントを終了データポイントとせずに、生成されたタイムベースベクターの新しいレグを再計算する。パフォーマンスおよびロバストネスベクターユニット108は、次の連続するレグからの終了データポイントを新しい終了データポイントとして使用する。事実上、パフォーマンスおよびロバストネスベクターユニット108は、外れ値データポイントを除去し、ベクターの2つの連続するレグを1つのレグに折りたたむ。次に、パフォーマンスおよびロバストネスベクターユニット108は、新たに生成されたレグをベースラインベクターのレグと比較して、それらの軌道が閾値偏差内にあるか否かを判定する。
生成されたタイムラインベクターおよびベースラインベクターまたは新たに生成されたタイムラインベクターおよびベースラインベクターの元のレグの少なくとも1つのレグが閾値偏差から大きく逸脱している場合、誤検出はなく、パフォーマンスおよびロバストネスベクターユニット108は、ブロック510において異常警告を発する。しかしながら、生成されたタイムラインベクターおよびベースラインベクター又は新たに生成されたタイムラインベクターおよびベースラインベクターの元のレグ部の各レグ部が閾値偏差から大きく乖離していない場合、パフォーマンスおよびロバストネスベクターユニット108は、ブロック508において、偽陰性であるか否かを判定する。パフォーマンスおよびロバストネスベクターユニット108は、生成されたタイムラインベクターの状態進行がベースラインベクターと一致することを検証する。例えば、生成されたタイムベースベクターの状態進行が状態1から状態3、状態4、状態5、状態6である場合、パフォーマンスおよびロバストネスベクターユニット108は、ベースラインベクターも状態1から状態3、状態4、状態5、状態6と進行することを検証する。パフォーマンスおよびロバストネスベクターユニット108が、比較が偽陰性を確立しないと判定した場合、プロセスはブロック512で終了する。しかしながら、パフォーマンスおよびロバストネスベクターユニット108が、比較が偽陰性を確立しないと判定した場合、パフォーマンスおよびロバストネスベクターユニット108は、ブロック510において異常警告を発する。警告は、ソフトウェアエンジニア、ソフトウェア開発者、または他の適切な人のディスプレイ上に表示される視覚的アイコンの形態とすることができる。
本発明のいくつかの実施形態では、システム100は、複数のパブリッククラウドと動作可能な通信を行うプライベートクラウドを含むハイブリッドクラウドシステムのコンポーネントを監視している。例えば、システム100は、プライベートクラウド、パブリッククラウド、アプリケーション、またはそれらの組み合わせを監視することができる。システム100はさらに、異常警告が偽陽性または偽陰性の結果ではないと判定することに応答して、リソースが再ビジョニングされることを指示することができる。パフォーマンスおよびロバストネスベクターユニット108が、パフォーマンス/ロバストネスデータがハイブリッドクラウドコンピューティングシステムの1つのコンポーネントで異常が発生していることを示唆する異常予測114を生成した場合、クラウドコンピューティングシステムの他の側面におけるサービスの中断を制限するための措置を指示することができる。例えば、プライベートクラウドで異常が予測される場合、データポイント生成ユニット102は、収集されたシステムデータ110のいずれかがパブリッククラウド上で実行されているアプリケーションまたはパブリッククラウド自体に関連するか否かを判定する。異常は、パブリッククラウドまたはパブリッククラウド上で実行されているアプリケーションに対して利用可能な専用メモリまたは専用処理能力の予期せぬ減少を示唆する可能性がある。この状況では、パフォーマンスおよびロバストネスベクターユニット108は、1つ以上の他のパブリッククラウド専用の過剰なメモリまたは処理能力、または未使用のメモリまたは処理能力を、プライベートクラウドにおける異常に関連するパブリッククラウドまたはアプリケーションに向けてリダイレクトすることができる。代替案として、異常はパブリッククラウドで予測されてもよい。例えば、パフォーマンスおよびロバストネスベクターユニット108は、異常がプライベートクラウドのリソースの消耗をもたらすと判定することができる。この例では、パフォーマンスおよびロバストネスベクターユニット108は、プライベートクラウドに、より多くのリソースをパブリッククラウドにリダイレクトするように指示するか、またはプライベートクラウドまたはパブリッククラウドに、流出の原因となっているアプリケーションのサポートを中止するように指示し得る。システム100は、ハイブリッドクラウドコンピューティングシステムのコア機能を維持するために、リソースの他のリダイレクトを引き起こし得ることが理解されるべきである。
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載した教示の実装形態はクラウドコンピューティング環境に限定されない。むしろ、本発明の実施形態は、現在公知のまたは将来開発される他の任意の種類のコンピュータ環境と共に実施することができる。
クラウドコンピューティングは、設定可能なコンピューティングリソースの共有プール(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、記憶装置、アプリケーション、仮想マシンおよびサービス)へ、簡便かつオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルであり、リソースは、最小限の管理労力または最小限のサービスプロバイダとのやり取りによって速やかに準備(provision)およびリリースできるものである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの実装モデルを含むことがある。
特性は以下の通りである。
オンデマンド・セルフサービス:クラウドの消費者は、サービスプロバイダとの人的な対話を必要することなく、必要に応じて自動的に、サーバ時間やネットワークストレージなどのコンピューティング能力を一方的に準備することができる。
ブロード・ネットワークアクセス:コンピューティング能力はネットワーク経由で利用可能であり、また、標準的なメカニズムを介してアクセスできる。それにより、異種のシンまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、PDA)による利用が促進される。
リソースプーリング:プロバイダのコンピューティングリソースはプールされ、マルチテナントモデルを利用して複数の消費者に提供される。様々な物理リソースおよび仮想リソースが、需要に応じて動的に割り当ておよび再割り当てされる。一般に消費者は、提供されたリソースの正確な位置を管理または把握していないため、位置非依存(location independence)の感覚がある。ただし消費者は、より高い抽象レベル(例えば、国、州、データセンタ)では場所を特定可能な場合がある。
迅速な柔軟性(elasticity):コンピューティング能力は、迅速かつ柔軟に準備することができるため、場合によっては自動的に、直ちにスケールアウトし、また、速やかにリリースされて直ちにスケールインすることができる。消費者にとって、準備に利用可能なコンピューティング能力は無制限に見える場合が多く、任意の時間に任意の数量で購入することができる。
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブユーザアカウント)に適したある程度の抽象化レベルでの測定機能を活用して、リソースの使用を自動的に制御し最適化する。リソース使用量を監視、制御、および報告して、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供することができる。
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを利用できることである。当該そのアプリケーションは、ウェブブラウザ(例えばウェブメール)などのシンクライアントインターフェースを介して、各種のクライアント装置からアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージや、個別のアプリケーション機能さえも含めて、基礎となるクラウドインフラストラクチャの管理や制御は行わない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラム言語およびツールを用いて、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャに展開(deploy)することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージを含む、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、展開されたアプリケーションを制御でき、かつ場合によってはそのホスティング環境の構成も制御できる。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、オペレーティングシステムやアプリケーションを含む任意のソフトウェアを消費者が展開および実行可能な、プロセッサ、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースを準備することである。消費者は、基礎となるクラウドインフラストラクチャの管理や制御は行わないが、オペレーティングシステム、ストレージ、および展開されたアプリケーションを制御でき、かつ場合によっては一部のネットワークコンポーネント(例えばホストファイアウォール)を部分的に制御できる。
展開モデルは以下の通りである。
プライベートクラウド:このクラウドインフラストラクチャは、特定の組織専用で運用される。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
コミュニティクラウド:このクラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス)を持つ特定のコミュニティをサポートする。このクラウドインフラストラクチャは、当該組織または第三者によって管理することができ、オンプレミスまたはオフプレミスで存在することができる。
パブリッククラウド:このクラウドインフラストラクチャは、不特定多数の人々や大規模な業界団体に提供され、クラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:このクラウドインフラストラクチャは、2つ以上のクラウドモデル(プライベート、コミュニティまたはパブリック)を組み合わせたものとなる。それぞれのモデル固有の実体は保持するが、標準または個別の技術によってバインドされ、データとアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースティング)を実現する。
クラウドコンピューティング環境は、ステートレス性(statelessness)、低結合性(low coupling)、モジュール性(modularity)および意味論的相互運用性(semantic interoperability)に重点を置いたサービス指向型環境である。クラウドコンピューティングの中核にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
ここで図6を参照すると、例示的なクラウドコンピューティング環境50が描かれている。図示されるように、クラウドコンピューティング環境50は1つまたは複数のクラウドコンピューティングノード10を含む。これらに対して、クラウド消費者が使用するローカルコンピュータ装置(例えば、パーソナルデジタルアシスタント(PDA)もしくは携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、もしくは自動車コンピュータシステム54Nまたはこれらの組み合わせなど)は通信を行うことができる。ノード10は互いに通信することができる。ノード10は、例えば、上述のプライベート、コミュニティ、パブリックもしくはハイブリッドクラウドまたはこれらの組み合わせなど、1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化(不図示)することができる。これにより、クラウドコンピューティング環境50は、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはこれらの組み合わせを提供することができ、クラウド消費者はこれらについて、ローカルコンピュータ装置上にリソースを維持する必要がない。なお、図6に示すコンピュータ装置54A~Nの種類は例示に過ぎず、コンピューティングノード10およびクラウドコンピューティング環境50は、任意の種類のネットワークもしくはネットワークアドレス指定可能接続(例えば、ウェブブラウザの使用)またはその両方を介して、任意の種類の電子装置と通信可能であることを理解されたい。
ここで図7を参照すると、クラウドコンピューティング環境50(図6)によって提供される一連の機能抽象化レイヤが示されている。なお、図7に示すコンポーネント、レイヤおよび機能は例示に過ぎず、本発明の実施形態はこれらに限定されないことをあらかじめ理解されたい。図示するように、以下のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェアレイヤ60は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム61、縮小命令セットコンピュータ(RISC)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶装置65、ならびにネットワークおよびネットワークコンポーネント66が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。
仮想化レイヤ70は、抽象化レイヤを提供する。当該レイヤから、例えば以下の仮想エンティティを提供することができる:仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75。
一例として、管理レイヤ80は以下の機能を提供することができる。リソース準備81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を可能にする。計量および価格設定82は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費に対する請求またはインボイス送付を可能にする。一例として、これらのリソースはアプリケーションソフトウェアのライセンスを含んでよい。セキュリティは、データおよび他のリソースに対する保護のみならず、クラウドコンシューマおよびタスクの識別確認を可能にする。ユーザポータル83は、コンシューマおよびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されたサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を可能にする。サービス品質保証(SLA)の計画および履行85は、SLAに従って将来必要になると予想されるクラウドコンピューティングリソースの事前手配および調達を可能にする。
ワークロードレイヤ90は、クラウドコンピューティング環境が利用可能な機能の例を提供する。このレイヤから提供可能なワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想化93、データ分析処理94、取引処理95、ならびに、ハイブリッドクラウド環境における誤警告を減らすためのパフォーマンス分析96が含まれる。
本発明の1つ以上の実施形態において、図1のシステム100のハードウェア/ソフトウェアモジュールは、図8に示す処理システム800上に実装することができる。ここで図8に目を向けると、実施形態に従ったコンピュータシステム800が概して示されている。コンピュータシステム800は、本明細書で説明されるように、様々な通信技術を利用する任意の数および組み合わせのコンピューティングデバイスおよびネットワークから構成され、もしくはそれらを採用する、またはその組み合わせの電子的なコンピュータフレームワークとすることができる。コンピュータシステム800は、容易に拡張可能(scalable)であり、拡張可能(extensible)であり、モジュール化可能であり得、異なるサービスに変更する能力、または他の機能から独立していくつかの機能を再構成する能力を有し得る。コンピュータシステム800は、例えば、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはスマートフォンであってもよい。いくつかの例では、コンピュータシステム800は、図6のノード10のようなクラウドコンピューティングノードであってもよい。コンピュータシステム800は、プログラムモジュールなどのコンピュータシステム実行可能命令がコンピュータシステムによって実行されるという一般的な文脈で説明され得る。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータシステム800は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散クラウドコンピューティング環境において実施され得る。分散型クラウドコンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルおよびリモートのコンピュータシステムの記憶媒体の両方に配置されてもよい。
図8に示すように、コンピュータシステム800は、1つまたは複数の中央処理装置(CPU)801a、801b、801cなど(集合的または一般的にプロセッサ801と呼ぶ)を有する。プロセッサ801は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成とすることができる。処理回路とも呼ばれるプロセッサ801は、システムバス802を介して、システムメモリ803および他の様々な構成要素に結合される。システムメモリ803は、リードオンリーメモリ(ROM)804およびランダムアクセスメモリ(RAM)805を含むことができる。ROM804は、システムバス802に結合され、コンピュータシステム800の特定の基本機能を制御する基本入出力システム(BIOS)を含むことができる。RAMは、プロセッサ801が使用するためにシステムバス802に結合された読み書きメモリである。システムメモリ803は、動作中の前記命令の動作のための一時的なメモリ空間を提供する。システムメモリ803は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ、フラッシュメモリ、または任意の他の適切なメモリシステムを含むことができる。
コンピュータシステム800は、システムバス802に結合された入出力(I/O)アダプタ806および通信アダプタ807を含む。I/Oアダプタ806は、ハードディスク808もしくは任意の他の同様のコンポーネントと通信する小型コンピュータシステムインターフェース(SCSI)アダプタまたはその組み合わせであってもよい。I/Oアダプタ806およびハードディスク808は、本明細書では集合的に大容量記憶装置810と呼ばれる。
コンピュータシステム800上で実行するためのソフトウェア811は、大容量記憶装置810に記憶され得る。大容量記憶装置810は、プロセッサ801によって読み取り可能な有形記憶媒体の一例であり、ソフトウェア811は、様々な図にあわせて本明細書で後述されるような、コンピュータシステム800を動作させるためのプロセッサ801による実行のための命令として記憶される。コンピュータプログラム製品およびそのような命令の実行の例は、本明細書においてより詳細に説明される。通信アダプタ807は、システムバス802を、外部ネットワークであってもよいネットワーク812と相互接続し、コンピュータシステム800が他のそのようなシステムと通信することを可能にする。一実施形態では、システムメモリ803および大容量記憶装置810の一部は、図8に示される様々な構成要素の機能を調整するために、IBM Corporationからのz/OSまたはAIXオペレーティングシステムなどの任意の適切なオペレーティングシステムであってよいオペレーティングシステムを集合的に記憶する。
追加の入出力デバイスは、ディスプレイアダプタ815およびインターフェースアダプタ816を介してシステムバス802に接続されているように示されている。一実施形態では、アダプタ806、807、815、および816は、中間バスブリッジ(不図示)を介してシステムバス802に接続される1つまたは複数のI/Oバスに接続され得る。ディスプレイ819(例えば、スクリーンまたはディスプレイモニタ)は、ディスプレイアダプタ815によってシステムバス802に接続され、このディスプレイアダプタ815は、グラフィックス集約型アプリケーションのパフォーマンスを向上させるためのグラフィックスコントローラおよびビデオコントローラを含むことができる。キーボード821、マウス822、スピーカ823などは、インターフェースアダプタ816を介してシステムバス802に相互接続することができ、このインターフェースアダプタ816は、例えば、複数のデバイスアダプタを単一の集積回路に統合したスーパーI/Oチップを含むことができる。ハードディスクコントローラ、ネットワークアダプタ、グラフィックスアダプタなどの周辺デバイスを接続するのに適したI/Oバスは、通常、PCI(Peripheral Component Interconnect)などの共通プロトコルを含む。したがって、図8に構成されるように、コンピュータシステム800は、プロセッサ801の形態の処理能力と、システムメモリ803および大容量記憶装置810を含む記憶能力と、キーボード821およびマウス822のような入力手段と、スピーカ823およびディスプレイ819を含む出力能力とを含む。
いくつかの実施形態では、通信アダプタ807は、特にインターネットスモールコンピュータシステムインターフェースなどの任意の適切なインターフェースまたはプロトコルを使用してデータを送信することができる。ネットワーク812は、特に、セルラーネットワーク、無線ネットワーク、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、またはインターネットであってもよい。外部のコンピューティングデバイスは、ネットワーク812を介してコンピュータシステム800に接続することができる。いくつかの例では、外部コンピューティングデバイスは、外部ウェブサーバまたはクラウドコンピューティングノードであってもよい。
図8のブロック図は、コンピュータシステム800が図8に示された構成要素のすべてを含むことを示すことを意図していないことを理解されたい。むしろ、コンピュータシステム800は、図8に図示されていない任意の適切な少ない構成要素または追加の構成要素(例えば、追加のメモリ構成要素、組み込みコントローラ、モジュール、追加のネットワークインターフェースなど)を含むことができる。さらに、コンピュータシステム800に関して本明細書で説明される実施形態は、任意の適切なロジックで実装され得、ここで、本明細書で言及されるロジックは、様々な実施形態において、任意の適切なハードウェア(例えば、プロセッサ、組み込みコントローラ、または特定用途向け集積回路など)、ソフトウェア(例えば、アプリケーションなど)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組み合わせを含み得る。
本発明の様々な実施形態を、関連する図面を参照しながら本明細書で説明する。本発明の範囲から逸脱することなく、本発明の代替実施形態を考案することができる。様々な接続および位置関係(例えば、上、下、隣接など)が、以下の説明および図面において要素間に規定される。これらの連結もしくは位置関係またはその両方は、別段の指定がない限り、直接的であっても間接的であってもよく、本発明はこの点で限定することを意図していない。従って、エンティティの結合は、直接的な結合または間接的な結合のいずれかを指すことができ、エンティティ間の位置関係は、直接的な位置関係または間接的な位置関係とすることができる。さらに、本明細書に記載される様々なタスクおよびプロセスステップは、本明細書に詳細に記載されない追加のステップまたは機能性を有する、より包括的な手順またはプロセスに組み込むことができる。
本明細書で説明する方法の1つ以上は、それぞれ当該技術分野でよく知られている以下の技術のいずれかまたはその組み合わせで実施することができる:データ信号に論理機能を実装するための論理ゲートを有するディスクリート論理回路、適切な組み合わせ論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)など。
簡潔にするために、本発明の態様の作成および使用に関連する従来技術は、本明細書で詳細に説明される場合もあれば、説明されない場合もある。特に、本明細書に記載される様々な技術的特徴を実施するためのコンピューティングシステムおよび特定のコンピュータプログラムの様々な態様は周知である。従って、簡潔にするために、多くの従来の実施態様の詳細は、本明細書において簡単に言及されるだけであるか、または周知のシステムもしくはプロセスまたはその両方の詳細を提供することなく完全に省略される。
いくつかの実施形態では、様々な機能または行為が、所定の場所で、もしくは1つ以上の装置またはシステムの動作に関連して、またはその両方で行われ得る。いくつかの実施形態では、所定の機能または行為の一部を第1の装置または場所で実行し、機能または行為の残りを1つまたは複数の追加の装置または場所で実行することができる。
本明細書で用いる用語は、特定の実施形態を説明するためのものに過ぎず、本発明を限定することを意図したものではない。本明細書において、単数形「ある/1つの/一の(a)」、「ある/1つの/一の(an)」および「その/当該(the)」は、文脈からそうではないことが明らかでない限り、複数形を含む。さらに、本明細書で使用される場合、「含む(comprise)」もしくは「含んでいる(comprising)」またはその両方の用語は、記載された特徴、整数、工程、動作、要素もしくはコンポーネントまたはこれらの組み合わせの存在を特定するものであるが、1つ以上の他の特徴、整数、工程、動作、要素、コンポーネントもしくはそれらのグループまたはこれらの組み合わせが存在したり、追加されたりすることを排除するものではない。
以下の特許請求の範囲におけるすべての対応する構造、材料、行為、および同等物またはステッププラス関数要素は、特に主張されているように、他の請求された要素と組み合わせて機能を実行するための任意の構造、材料、または行為を含むことを意図している。本開示は、例示および説明の目的で提示されたが、網羅的であることを意図するものではなく、または開示された形態に限定されることを意図するものではない。多くの修正および変形は、本開示の範囲および精神から逸脱することなく、当業者には明らかであろう。実施形態は、本開示の原理および実際の適用を最もよく説明し、当業者が、企図される特定の使用に適した様々な修正を伴う様々な実施形態について本開示を理解できるようにするために選択および説明された。
本明細書に描かれた図は例示である。本開示の精神から逸脱することなく、図またはそこに記載されたステップ(または操作)には多くの変形が可能である。例えば、動作は、異なる順序で実行することができ、または動作は、追加、削除または変更することができる。また、「結合」という用語は、2つの要素間に信号経路があることを説明するものであり、間に介在する要素/接続がない要素間の直接的な接続を意味するものではない。これらの変形はすべて本開示の一部とみなされる。
以下の定義および略語は、特許請求の範囲および明細書の解釈のために使用される。本明細書で使用される場合、用語「からなる(comprises)」、「から構成されている(comprising)」、「含む(includes)」、「含んでいる(including)」、「有する(has)」、「有している(having)」、「含む(contains)」または「含んでいる(containing)」、またはそれらの他の変形は、非排他的な包含をカバーすることを意図している。例えば、要素のリストからなる組成物、混合物、プロセス、方法、成形品、又は装置は、必ずしもそれらの要素のみに限定されるものではなく、明示的に列挙されていない、又はそのような組成物、混合物、プロセス、方法、成形品、又は装置に固有の他の要素を含み得る。
さらに、「例示的(exemplary)」という用語は、本明細書では、「例、実例、または説明として役立つ」という意味で使用される。本明細書において「例示的」として記載される実施形態または設計は、必ずしも、他の実施形態または設計よりも好ましいまたは有利であると解釈されるものではない。用語「少なくとも1つの(at least one)」および「1つ以上の(one or more)」は、1以上の任意の整数、すなわち、1、2、3、4などを含むと理解される。「複数の(a plurality)」という用語は、2以上の整数、すなわち2、3、4、5などを含むと理解される。「接続(connection)」という用語は、間接的な「接続」と直接的な「接続」の両方を含むことができる。
「約(about)」、「実質的に(substantially)」、「およそ(approximately)」という用語およびその変形は,出願時に利用可能な機器に基づく特定の量の測定に関連する誤差の程度を含むことを意図している。例えば、「約(about)」は、所与の値の±8%、5%、又は2%の範囲を含むことができる。
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含んでよい。
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な非網羅的な例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD-ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶装置は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理装置に、または、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくはワイヤレスネットワークネットワークまたはその組み合わせ)を介して外部コンピュータまたは外部記憶装置にダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバー、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバーまたはその組み合わせで構成される。各コンピューティング/処理装置のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理装置内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、統合回路のための構成データ、またはSmalltalk、C++などのオブジェクト指向プログラミング言語と「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバ上で実行可能である。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され、または(例えば、インターネットサービスプロバイダーを使用したインターネット経由で)外部コンピュータに接続されてよい。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用してパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図もしくはブロック図またはその両方を参照して本明細書に記載されている。フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令がフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/動作を実装するための手段を生成するように、機械を生成するためにコンピュータのプロセッサまたは他のプログラム可能なデータ処理装置に提供されることができる。これらのコンピュータ可読プログラム命令はまた、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実装する命令を含む生成品の1つを命令が記憶されたコンピュータ可読プログラム命令が構成するように、コンピュータ、プログラム可能なデータ処理装置、もしくは特定の方法で機能する他のデバイスまたはその組み合わせに接続可能なコンピュータ可読記憶媒体の中に記憶されることができる。
コンピュータ、他のプログラム可能な装置、または他のデバイス上でフローチャートもしくはブロック図またはその両方の1つまたは複数のブロックで指定された機能/行為を実行する命令のように、コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の操作ステップを実行し、コンピュータ実装された過程を生成することができる。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品が実行可能な実装の構成、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、モジュール、セグメント、または命令の一部を表してよく、これは、指定された論理機能を実装するための1つまたは複数の実行可能命令を構成する。いくつかの代替の実施形態では、ブロックに示されている機能は、図に示されている順序とは異なる場合がある。例えば、連続して示される2つのブロックは、実際には、実質的に同時に、部分的または全体的に時間的に重複する方法で実行されるか、またはブロックは、関係する機能に応じて逆の順序で実行される場合がある。ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、指定された機能または動作を実行する、または特別な目的のハードウェアとコンピュータ命令の組み合わせを実行する特別な目的のハードウェアベースのシステムによって実装できることにも留意されたい。
本発明の様々な実施形態の説明は、例示の目的で提示されているが、網羅的であることを意図するものではなく、開示される実施形態に限定されることを意図するものでもない。本発明の範囲および精神から逸脱することなく、多くの修正および変更が可能であることは当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、市場で見られる技術に対する実際の適用または技術的改善を最もよく説明するため、または当業者が本明細書に記載の実施形態を理解できるようにするために選択された。

Claims (20)

  1. プロセッサにより、コンピューティングシステムのロバストネスとパフォーマンスに対するランタイムデータポイントの影響を示すランタイムデータポイントを変換することと、
    前記プロセッサにより、前記ランタイムデータポイントをクラスタリングすることであって、各クラスタはそれぞれ前記コンピューティングシステムの時間的状態を表す、クラスタリングすることと、
    前記プロセッサにより、各クラスタの前記ランタイムデータポイントの確率密度に基づいて、各クラスタを3次元表現に変換することと、
    前記プロセッサにより、第1の3次元表現から第2の3次元表現への遷移を表すタイムベースベクターを生成することであって、前記タイムベースベクターによって横断される各3次元表現は、前記コンピューティングシステムのそれぞれの状態を表す、生成することと、
    前記プロセッサにより、前記生成されたタイムベースベクターをベースラインベクターと比較することと、
    前記プロセッサにより、少なくとも部分的に前記比較に基づいて異常警告を発することと、を含むコンピュータ実装方法。
  2. 少なくとも部分的に前記比較に基づいて前記ベースラインベクターからの前記タイムベースベクターの偏差が、異常の偽陽性によるものであるか否かを判定することと、
    少なくとも部分的に前記偽陽性の判定に基づいて、前記ベースラインベクターからの前記タイムベースベクターの偏差が、異常の偽陰性によるものであるか否かを判定することと、を含む請求項1に記載のコンピュータ実装方法。
  3. 前記ベースラインベクターからの前記タイムベースベクターの前記偏差が、異常の偽陽性によるものであるか否かを判定することは、
    前記タイムベースベクターの第1レグの開始データポイントと終了データポイントが、それぞれ第1のクラスタおよび時間的に連続する第2のクラスタに含まれるか否かを判定することと、
    前記タイムベースベクターの前記第1レグの軌道と前記ベースラインベクターの第1レグの軌道とを、前記軌道が閾値偏差から大きく乖離しているか否かを判定するために比較することと、を含む請求項2に記載のコンピュータ実装方法。
  4. 前記ベースラインベクターからの前記タイムベースベクターの前記偏差が、前記異常の偽陰性によるものであるか否かを判定することは、前記タイムベースベクターによって表される状態遷移のシーケンスを、前記ベースラインベクターによって表される状態遷移のシーケンスと比較することを含む、請求項2に記載のコンピュータ実装方法。
  5. 前記偏差が偽陽性を示すものではないという前記判定に基づいて、前記異常警告を発するようにすることをさらに含む、請求項2に記載のコンピュータ実装方法。
  6. 前記偽陰性の判定に基づいて前記異常警告を発するようにすることをさらに含む、請求項2に記載のコンピュータ実装方法。
  7. 前記クラスタを3次元表現に変換することは、各クラスタの前記ランタイムデータポイントの確率分布に基づく、請求項1に記載のコンピュータ実装方法。
  8. コンピュータ可読命令を有するメモリと、
    前記コンピュータ可読命令を実行するための1つまたは複数のプロセッサと、を含み、前記コンピュータ可読命令は、動作を実行するために前記1つまたは複数のプロセッサを制御し、前記動作は、
    コンピューティングシステムのロバストネスとパフォーマンスに対するランタイムデータポイントの影響を示すランタイムデータポイントを変換することと、
    前記ランタイムデータポイントをクラスタリングすることであって、各クラスタはそれぞれ前記コンピューティングシステムの時間的状態を表す、クラスタリングすることと、
    各クラスタの前記ランタイムデータポイントの確率密度に基づいて、各クラスタを3次元表現に変換することと、
    第1の3次元表現から第2の3次元表現への遷移を表すタイムベースベクターを生成することであって、前記タイムベースベクターによって横断される各3次元表現は、前記コンピューティングシステムのそれぞれの状態を表す、生成することと、
    前記生成されたタイムベースベクターをベースラインベクターと比較することと、
    少なくとも部分的に前記比較に基づいて異常警告を発することと、を含むシステム。
  9. 前記動作は、
    少なくとも部分的に前記比較に基づいて前記ベースラインベクターからの前記タイムベースベクターの偏差が、異常の偽陽性によるものであるか否かを判定することと、
    少なくとも部分的に前記偽陽性の判定に基づいて、前記ベースラインベクターからの前記タイムベースベクターの偏差が、異常の偽陰性によるものであるか否かを判定することと、を含む請求項8に記載のシステム。
  10. 前記ベースラインベクターからの前記タイムベースベクターの前記偏差が、異常の偽陽性によるものであるか否かを判定することは、
    前記タイムベースベクターの第1レグの開始データポイントと終了データポイントが、それぞれ第1のクラスタおよび時間的に連続する第2のクラスタに含まれるか否かを判定することと、
    前記タイムベースベクターの前記第1レグの軌道と前記ベースラインベクターの第1レグの軌道とを、前記軌道が閾値偏差から大きく乖離しているか否かを判定するために比較することと、を含む請求項9に記載のシステム。
  11. 前記ベースラインベクターからの前記タイムベースベクターの前記偏差が、前記異常の偽陰性によるものであるか否かを判定することは、前記タイムベースベクターによって表される状態遷移のシーケンスを、前記ベースラインベクターによって表される状態遷移のシーケンスと比較することを含む、請求項9に記載のシステム。
  12. 前記偏差が偽陽性を示すものではないという前記判定に基づいて、前記異常警告を発するようにすることをさらに含む、請求項9に記載のシステム。
  13. 前記偽陰性の判定に基づいて警告を発することをさらに含む、請求項9に記載のシステム。
  14. 前記クラスタを3次元表現に変換することは、各クラスタの前記パフォーマンス/ロバストネスデータポイントの確率分布に基づく、請求項8に記載のシステム。
  15. プログラム命令を具現化したコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、前記プログラム命令は、プロセッサに動作を実行させるために前記プロセッサによって実行可能であり、前記動作は、
    コンピューティングシステムのロバストネスとパフォーマンスに対するランタイムデータポイントの影響を示すランタイムデータポイントを変換することと、
    前記ランタイムデータポイントをクラスタリングすることであって、各クラスタはそれぞれ前記コンピューティングシステムの時間的状態を表す、クラスタリングすることと、
    各クラスタの前記ランタイムデータポイントの確率密度に基づいて、各クラスタを3次元表現に変換することと、
    第1の3次元表現から第2の3次元表現への遷移を表すタイムベースベクターを生成することであって、前記タイムベースベクターによって横断される各3次元表現は、前記コンピューティングシステムのそれぞれの状態を表す、生成することと、
    前記生成されたタイムベースベクターをベースラインベクターと比較することと、
    少なくとも部分的に前記比較に基づいて異常警告を発することと、を含むコンピュータプログラム製品。
  16. 前記動作は、
    少なくとも部分的に前記比較に基づいて前記ベースラインベクターからの前記タイムベースベクターの偏差が、異常の偽陽性によるものであるか否かを判定することと、
    少なくとも部分的に前記偽陽性の判定に基づいて、前記ベースラインベクターからの前記タイムベースベクターの偏差が、異常の偽陰性によるものであるか否かを判定することと、を含む請求項15に記載のコンピュータプログラム製品。
  17. 前記ベースラインベクターからの前記タイムベースベクターの前記偏差が、異常の偽陽性によるものであるか否かを判定することは、
    前記タイムベースベクターの第1レグの開始データポイントと終了データポイントが、それぞれ第1のクラスタおよび時間的に連続する第2のクラスタに含まれるか否かを判定することと、
    前記タイムベースベクターの前記第1レグの軌道と前記ベースラインベクターの第1レグの軌道とを、前記軌道が閾値偏差から大きく乖離しているか否かを判定するために比較することと、を含む請求項16に記載のコンピュータプログラム製品。
  18. 前記ベースラインベクターからの前記タイムベースベクターの前記偏差が、前記異常の偽陰性によるものであるか否かを判定することは、前記タイムベースベクターによって表される状態遷移のシーケンスを、前記ベースラインベクターによって表される状態遷移のシーケンスと比較することを含む、請求項16に記載のコンピュータプログラム製品。
  19. 前記偏差が偽陽性を示すものではないという前記判定に基づいて、前記異常警告を発するようにすることをさらに含む、請求項16に記載のコンピュータプログラム製品。
  20. 前記クラスタを3次元表現に変換することは、各クラスタの前記パフォーマンス/ロバストネスデータポイントの確率分布に基づく、請求項15に記載のコンピュータプログラム製品。
JP2023575977A 2021-06-09 2022-05-26 ハイブリッドクラウド環境における誤警告を減らすパフォーマンスデータ分析 Pending JP2024524050A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/342,714 2021-06-09

Publications (1)

Publication Number Publication Date
JP2024524050A true JP2024524050A (ja) 2024-07-05

Family

ID=

Similar Documents

Publication Publication Date Title
US11836576B2 (en) Distributed machine learning at edge nodes
JP2022511716A (ja) 非集中的な分散型深層学習
US10585717B2 (en) Hybrid acceleration in a processing environment
US11283863B1 (en) Data center management using digital twins
US11574254B2 (en) Adaptive asynchronous federated learning
US10977112B2 (en) Performance anomaly detection
US11144429B2 (en) Detecting and predicting application performance
US10902260B2 (en) Estimating a height of a cloud depicted in an image
US10606975B2 (en) Coordinates-based generative adversarial networks for generating synthetic physical design layout patterns
US11663505B2 (en) Estimating performance and required resources from shift-left analysis
US11449772B2 (en) Predicting operational status of system
US20220292390A1 (en) Uniform artificial intelligence model conversion
US20210056457A1 (en) Hyper-parameter management
WO2023077989A1 (en) Incremental machine learning for a parametric machine learning model
US11210155B1 (en) Performance data analysis to reduce false alerts in a hybrid cloud environment
US20220309381A1 (en) Verification of data removal from machine learning models
JP2024524050A (ja) ハイブリッドクラウド環境における誤警告を減らすパフォーマンスデータ分析
CN116194889A (zh) 确定应用对系统性能的影响
US12032465B2 (en) Interpolating performance data
US20230092253A1 (en) Interpolating performance data
US20230274169A1 (en) Generating data slice rules for data generation
US12034747B2 (en) Unsupervised learning to simplify distributed systems management
US11948056B2 (en) Communication-efficient data parallel ensemble boosting
US11601337B1 (en) Virtual server geolocation detection
US20230281518A1 (en) Data subset selection for federated learning