(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-01
(45)【発行日】2023-12-11
(54)【発明の名称】異種コンピューティング資源の使用量を単一の測定単位として定量化する方法
(51)【国際特許分類】
G06F 11/34 20060101AFI20231204BHJP
【FI】
G06F11/34 142
(21)【出願番号】P 2021500507
(86)(22)【出願日】2019-03-22
(86)【国際出願番号】 US2019023712
(87)【国際公開番号】W WO2019183566
(87)【国際公開日】2019-09-26
【審査請求日】2022-03-22
(32)【優先日】2018-03-23
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-06-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520366639
【氏名又は名称】インフラサイト ソフトウェア コーポレイション
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100158551
【氏名又は名称】山崎 貴明
(72)【発明者】
【氏名】マーティン ティモシー エー
(72)【発明者】
【氏名】スチュワート マイロン エル
【審査官】木村 雅也
(56)【参考文献】
【文献】米国特許出願公開第2012/0311600(US,A1)
【文献】米国特許出願公開第2014/0075380(US,A1)
【文献】特開2011-186546(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
複数の物理コンピューティング資源のそれぞれについて1つ以上の資源属性を受信するステップであって、前記複数の物理コンピューティング資源は、少なくとも1つのグラフィックス・プロセッシングシステムを含み、前記グラフィックス・プロセッシングシステムは
前記資源属性として、(i)グラフィックスプロセッサの可変クロック速度、および(ii)可変のグラフィックスメモリ
のクロック速度を有する、受信するステップと、
ある期間にわたる、前記複数の物理コンピューティング資源のそれぞれについての資源計算部分および資源割り当てを受信するステップと、
前記期間にわたる前記複数の物理コンピューティング資源についての単一の使用量値を
決定するステップであって、
1つ以上のプロセッサを使用して、前記複数の物理コンピューティング資源の
それぞれの前記1つ以上の資源属性に少なくとも基づいて、前記複数の物理コンピューティング資源のそれぞれについての
使用量を計算すること、
前記複数の物理コンピューティング資源の
それぞれについて、各
個々の物理コンピューティング資源の前記資源割り当ておよび前記資源計算部分に少なくとも基づいて、変換ユニットを生成すること、
前記複数の物理コンピューティング資源の
それぞれについて、前記各
個々の物理コンピューティング資源に関連する少なくとも1つの変換ユニットを使用して、前記各
個々の物理コンピューティング資源に関連する前記
使用量を正規化すること、および
前記複数の物理コンピューティング資源のそれぞれについての前記正規化された
使用量を合計して、前記期間にわたる前記複数の物理コンピューティング資源を表す前記単一の使用量値を生成すること、
によって決定するステップと、
を含む方法。
【請求項2】
前記複数の物理コンピューティング資源は、複数の異種物理コンピューティング資源を含む、請求項1に記載の方法。
【請求項3】
前記複数の物理コンピューティング資源は、フィールドプログラマブルゲートアレイ、特定用途向け集積回路、システムオンチップ、デジタルシグナルプロセッサ、マイクロコントローラ、又は適応型コンピューティングアクセラレーション・プラットフォームのうちの1又は2以上をさらに含む、
請求項1に記載の方法。
【請求項4】
各
個々の物理コンピューティング資源について前記
使用量を正規化することは、その各
個々の物理コンピューティング資源に関連する変換ユニットによってそれぞれの物理コンピューティング資源についての前記
使用量を除算することであって、前記変換ユニットはそのそれぞれの物理コンピューティング資源についての資源計算部分によって除算された資源割り当てである、除算すること、をさらに含む請求項1に記載の方法。
【請求項5】
前記複数の物理コンピューティング資源の各利用可能な物理コンピューティング資源について、1つ以上の利用可能な資源属性を決定するステップと、
前記期間にわたって前記複数の物理コンピューティング資源の最大量の利用可能な資源を表わす単一の利用可能な資源値を決定するステップと、
前記1つ以上の利用可能な資源属性に少なくとも基づいて前記複数の物理コンピューティング資源の各利用可能な物理コンピューティング資源についての可用性の
使用量を計算するステップと、
各利用可能な物理コンピューティング資源について、前記各利用可能な物理コンピューティング資源に関連する少なくとも1つの前記変換ユニットを使用して、前記各利用可能な物理コンピューティング資源に関連する前記可用性の
使用量を正規化するステップと、
前記利用可能な物理コンピューティング資源のそれぞれについての前記正規化された可用性の
使用量を合計して、前記単一の利用可能な資源値を生成するステップと、
をさらに含む請求項1に記載の方法。
【請求項6】
1つ以上のプロセッサによって実行された時に、1又は2以上の動作を実行させる1つ以上の命令を格納した少なくとも1つのコンピュータ可読ストレージ媒体であって、前記動作は、
複数の物理コンピューティング資源のそれぞれについて1つ以上の資源属性を受信するステップであって、前記複数の物理コンピューティング資源は、少なくとも1つのグラフィックス・プロセッシングシステムを含み、前記グラフィックス・プロセッシングシステムは資源属性として、(i)グラフィックスプロセッサの可変クロック速度、および(ii)可変のグラフィックスメモリ
のクロック速度を有する、受信するステップと、
ある期間にわたる、前記複数の物理コンピューティング資源のそれぞれについての資源計算部分および資源割り当てを受信するステップと、
前記期間にわたる前記複数の物理コンピューティング資源についての単一の使用量値を
決定するステップであって、
前記1つ以上のプロセッサを使用して、前記複数の物理コンピューティング資源の
それぞれの前記1つ以上の資源属性に少なくとも基づいて、前記複数の物理コンピューティング資源のそれぞれについての
使用量を計算すること、
前記複数の物理コンピューティング資源の
それぞれについて、各
個々の物理コンピューティング資源の前記資源割り当ておよび前記資源計算部分に少なくとも基づいて、変換ユニットを生成すること、
前記複数の物理コンピューティング資源の
それぞれについて、前記各
個々の物理コンピューティング資源に関連する少なくとも1つの変換ユニットを使用して、前記各物理コンピューティング資源に関連する前記
使用量を正規化すること、および
前記複数の物理コンピューティング資源のそれぞれについての前記正規化された
使用量を合計して、前記期間にわたる前記複数の物理コンピューティング資源を表す前記単一の使用量値を生成すること、
によって決定するステップと、
を含むコンピュータ可読ストレージ媒体。
【請求項7】
前記複数の物理コンピューティング資源は、複数の異種物理コンピューティング資源を含む、請求項6に記載のコンピュータ可読ストレージ媒体。
【請求項8】
前記複数の物理コンピューティング資源は、フィールドプログラマブルゲートアレイ、特定用途向け集積回路、システムオンチップ、デジタルシグナルプロセッサ、マイクロコントローラ、又は適応型コンピューティングアクセラレーション・プラットフォームのうちの1又は2以上をさらに含む、
請求項6に記載のコンピュータ可読ストレージ媒体。
【請求項9】
各
個々の物理コンピューティング資源について前記
使用量を正規化することは、その各
個々の物理コンピューティング資源に関連する変換ユニットによってそれぞれの物理コンピューティング資源についての前記
使用量を除算することであって、前記変換ユニットはそのそれぞれの物理コンピューティング資源についての資源計算部分によって除算された資源割り当てである、除算すること、をさらに含む請求項6に記載のコンピュータ可読ストレージ媒体。
【請求項10】
前記動作は、
前記複数の物理コンピューティング資源の各利用可能な物理コンピューティング資源について、1つ以上の利用可能な資源属性を決定するステップと、
前記期間にわたって前記複数の物理コンピューティング資源の最大量の利用可能な資源を表わす単一の利用可能な資源値を決定するステップと、
前記1つ以上の利用可能な資源属性に少なくとも基づいて前記複数の物理コンピューティング資源の各利用可能な物理コンピューティング資源についての可用性の
使用量を計算するステップと、
各利用可能な物理コンピューティング資源について、前記各利用可能な物理コンピューティング資源に関連する少なくとも1つの前記変換ユニットを使用して、前記各利用可能な物理コンピューティング資源に関連する前記可用性の
使用量を正規化するステップと、
前記利用可能な物理コンピューティング資源のそれぞれについての前記正規化された可用性の
使用量を合計して、前記単一の利用可能な資源値を生成するステップと、
をさらに含む請求項6に記載のコンピュータ可読ストレージ媒体。
【請求項11】
前記複数の物理コンピューティング資源の少なくとも1つについての前記資源計算部分および前記資源割り当ては1つ以上のプラグインを介して受信される、請求項6に記載のコンピュータ可読ストレージ媒体。
【請求項12】
前記動作は、前記期間にわたる各物理コンピューティング資源に対応する、ピーク使用量、底値使用量、又は平均使用量の1つ以上を決定するステップを含む、請求項6に記載のコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2018年3月23日に出願された「Quantifying Usage of Disparate Computing Resources as a Single Unit of Measure(異種コンピューティング資源の使用量を単一の測定単位として定量化)」という名称の米国仮特許出願第62/647,335号、並びに2018年6月27に出願された「Quantifying Usage of Disparate Computing Resources as a Single Unit of Measure(異種コンピューティング資源の使用量を単一の測定単位として定量化)」という名称の米国仮特許出願第62/690,533号の利益を主張するものであり、これらの文献のどちらもその全体が引用により本明細書に組み入れられる。
本開示は、一般にコンピューティングに関し、より具体的には、異種コンピューティング資源(disparate computer resources)の使用量(usage)を測定して、使用量を単一の測定単位(single unit of measure)として定量化することに関する。
【背景技術】
【0002】
クラウドコンピューティングにより、ユーザ(例えば、個人又は組織)は、サードパーティによって保守及び/又は管理されたコンピューティング資源を賃借することができる。これにより、ユーザは物理ハードウェア、データセンターの不動産、電気、データセンターの人員、及び/又はソフトウェアライセンスに莫大な投資を行う必要もなく、ユーザの個別のコンピューティングニーズに合ったコンピューティング資源を賃借することができる。
【0003】
クラウドコンピューティングシステムの実施例は、物理資源(例えば、プロセッサ及びメモリ)、及び/又は仮想資源(例えば、仮想プロセッサ及び仮想メモリ)を含むことができる。クラウドコンピューティングシステムにアクセスするユーザは、自己のワークロードを実行できる資源量を賃借することができる。賃借するコンピューティング資源量は、理論上の最大ワークロードに基づいて推定することができる。理論上の最大ワークロードは、利用可能な資源のほぼ全て(例えば、およそ100%)を使用すると仮定する。言い換えれば、ユーザは、資源要件の急増によるシステム性能問題を回避するために、自己のワークロードの実行に必要な最大資源量を賃借することになる。しかしながら、使用量の急増が発生するのはまれであって、平均的に必要な資源は理論上の最大値を下回る可能性があり、これは浪費(例えば、未使用コンピューティング資源の賃借)につながる。
【0004】
クラウドコンピューティングプロバイダは、ユーザが使用(又は消費)する実際の資源量とは対照的に、(所定の時間に)賃借する資源量に基づいた価格設定モデルを実施することができる。これらの資源は、事前設定された中央処理装置(CPU)、メモリ(例えば、ランダムアクセスメモリ)、ストレージ、グラフィックス・プロセッシングユニット(GPU)、専用ネットワーク機能(例えば、所定のネットワーク速度を提供するための)、フィールドプログラマブルゲートアレイ(FPGA)、及び/又は他の何れかのコンピューティング資源を備えたサーバとしてパッケージ化することができる。パッケージ化されたサーバは一般に、ユーザがある期間(例えば、秒、分、時間、日、週、月、年の間隔、及び/又は他の時間間隔)、賃借することができるインスタンスと呼ぶことができる。従って、ユーザは、自己が使用すると推定する(例えば、使用量の急増に基づいて推定できる)最大コンピューティング資源に基づいて、インスタンスを賃借することができる。インスタンスで資源を賃借することで、ユーザは賃借契約期間のほとんどの間、コンピューティング資源の一部分しか使用しない場合がある。言い換えれば、これにより、ユーザは消費しない資源に対しても支払う結果となり、クラウドコンピューティングプロバイダは、未使用資源の賃借により財政的な恩恵を受けることができる、
【先行技術文献】
【特許文献】
【0005】
【文献】米国仮特許出願第62/647,335号
【文献】米国仮特許出願第62/690,533号
【発明の概要】
【0006】
これらの及び他の特徴及び利点は、図面を参照しながら以下の詳細な説明を読むと、より良く理解されるであろう。
【図面の簡単な説明】
【0007】
【
図1】本開示の実施形態による、コンピューティングネットワークの概略的な実施例を示す。
【
図2A】本開示の実施形態による、
図1のコンピューティングネットワークで使用可能なコンピューティングシステムの概略的な実施例を示す。
【
図2B】本開示の実施形態による、
図2Aのコンピューティングシステムの概略的な実施例を示す。
【
図3A】本開示の実施形態による、
図2のコンピューティングシステムで使用可能なコンピューティング資源の使用量を測定するための計測器の概略的な実施例を示す。
【
図3B】本開示の実施形態による、
図3Aの計測器と共に使用可能なメトリック/属性コレクタの概略的な実施例を示す。
【
図3C】本開示の実施形態による、
図3Aの計測器と共に使用可能な分析プラットフォームの概略的な実施例を示す。
【
図3D】本開示の実施形態による、資源使用量を示すプロット(又はグラフ)である。
【
図4】本開示の実施形態による、
図3の計測器と共に使用可能な変換ユニットジェネレータの概略的な実施例を示す。
【
図5】本開示の実施形態により、異種コンピューティング資源の使用量を単一の測定単位として定量化する方法のフローチャート例である。
【
図6】本開示の実施形態による、利用可能な異種コンピューティング資源(例えば、使用済み及び非アクティブな資源)の合計を単一の測定単位として定量化する方法のフローチャート例である。
【発明を実施するための形態】
【0008】
本明細書では、一般に、コンピューティングにおける物理資源使用量を測定して、使用量を単一の測定単位として定量化するためのシステム、方法、及び装置が開示される。例えば、異種コンピューティング資源を測定して、共通の測定単位に正規化(例えば、変換)することができ、正規化された測定値の各々は、総使用量を単一の値として表現できるように合計することができる。異種コンピューティング資源を単一の単位で表現することによって、資源使用量(又は消費量)をリアルタイムにモニタリングすることができ、ワークロードを最適化して、利用可能な資源の使用量を改善することができ、及び/又は浪費を削減することができる。
【0009】
(仮想資源とは対照的に)物理資源を測定することで、実際の使用量のより正確な測定値を取得することができる。例えば、バルーニングとして知られる技術の使用により、仮想資源に基づく使用量の測定が、物理資源の実際の使用量を過大に推定する場合がある。言い換えれば、仮想資源のみを測定する時に、ワークロードが実際に物理資源内で消費するよりも多くの資源がワークロードによって消費(又は使用)されると仮想資源が示すことがある。一部の事例では、消費されるとして示された仮想資源量が、利用可能な物理資源を超えることがある。
【0010】
本明細書で使用するグラフィックス・プロセッシングユニット(GPU)は、概して、少なくともグラフィックスプロセッサ及び/又はグラフィックスメモリを含むコンピューティング資源を指すことができるが、一部の事例では、GPUは、概して、グラフィックス・プロセッシングシステム(GPS)と呼ばれることがある。
【0011】
図1は、コンピューティングネットワーク100の概略的な実施例を示す。図示のように、コンピューティングネットワーク100は、デバイス102及びコンピューティングシステム104を含み、各々がネットワーク106(例えば、インターネット)に通信可能に結合される。コンピューティングシステム104は、1又は2以上のワークロード110を実行するように構成された物理コンピューティング資源108を含むことができる。1又は2以上のワークロード110は、例えば、1又は2以上のオペレーティングシステム112、1又は2以上のアプリケーション114、及び/又は1又は2以上のアイドルプロセス113のうちの1又は2以上を含むことができる。アイドルプロセス113は、(例えば、コンピューティングシステム104のハードウェアの動作の結果として)コンピューティングシステム104の動作に関連するバックグラウンドプロセスとすることができ、アプリケーション114及び/又はオペレーティングシステム112を実行する要求を、例えばデバイス102から受信しなかった場合でも、物理コンピューティング資源108の少なくとも一部分を消費することができる。言い換えれば、コンピューティングシステム104がアイドル状態の時でも、コンピューティングシステム104は、電源オン時のコンピューティングシステム104の物理ハードウェアの動作のために、物理コンピューティング資源108の少なくとも一部分を依然として消費している。
【0012】
ワークロード110の1又は2以上は、デバイス102(例えば、オペレーティングシステム112及び/又はアプリケーション114)によって生成される要求に応答して実行することができる。例えば、デバイス102がネットワーク106を通じてコンピューティングシステム104に要求を伝達することによって、1又は2以上のアプリケーション114の実行を要求することができる。要求が受信されると、コンピューティングシステム104は、物理コンピューティング資源108の少なくとも一部分をアプリケーション114の実行に割り当てることができる。アプリケーション114が実行されるのに応答して、コンピューティングシステム104は、データをデバイス102に返送することができる。例えば、デバイス102に返送されたデータを用いて、デバイス102のディスプレイ116上にグラフィカルユーザインタフェースを生成することができる。その後、デバイス102のユーザは、グラフィカルユーザインタフェースと相互作用して、デバイス102は、コンピューティングシステム104上でアプリケーション114の異なる部分を実行させる更なる命令をコンピューティングシステム104に送信できるようになる。
【0013】
図示のように、計測器118を設けることができる。計測器118は、ある期間(例えば、所定の又は所定以外の期間)にわたってワークロード110(例えば、アイドルプロセス113、オペレーティングシステム112、及び/又はアプリケーション114)が使用する物理コンピューティング資源108の使用量を測定するように構成されたハードウェア、ソフトウェア、及び/又はファームウェアの何れかの組み合わせを含むことができる。例えば、計測器118は、1又は2以上の動作を実行するために、1又は2以上のメモリ(例えば、何れかの種類の有形の非一時的ストレージ媒体であり、磁気記録媒体(例えば、ハードディスクドライブ)、光ディスク、読み出し専用メモリ(ROM)等の半導体デバイス、ダイナミック及びスタティックRAM等のランダムアクセスメモリ(RAM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリ、磁気又は光学カード、又は電子命令を記憶するための何れかのタイプのストレージ媒体のうちの何れか1又は2以上を含むことができる)上に記憶されて、1又は2以上のプロセッサ(例えば、INTEL、ADVANCED MICRO DEVICES、IBM、ARM、ORACLEから市販されているプロセッサ及び/又は他の何れかのプロセッサ)によって実行されるように構成されたソフトウェアとして実施することができる。更なる実施例として、計測器118は、回路(例えば、特定用途向け集積回路)として実装することができる。
【0014】
物理コンピューティング資源108の使用量は、コンピューティングシステム104上で実行中のホストオペレーティングシステム(例えば、アセンブリ言語で記述されたオペレーティングシステム)及び/又はハイパーバイザを用いて測定することができる。例えば、計測器118は、コンピューティングシステム104上で実行中のハイパーバイザを介して、ホストオペレーティングシステムの資源使用量の測定を可能にするように構成された1又は2以上のプラグインを有するプラグインデータベースを含むことができる。更なる実施例として、計測器118は、物理コンピューティング資源108から直接的に(例えば、ホストオペレーティングシステムを用いて)資源使用量を測定するように構成することができる。一部の事例では、計測器118は、複数の異なるコンピューティングシステム104にわたる物理コンピューティング資源の使用量を測定することができる。
【0015】
計測器118は、物理コンピューティング資源108の使用量を測定して、物理コンピューティング資源108の各々を共通の測定単位に正規化し、正規化されたコンピューティング資源を組み合わせて、組み合わされた(例えば、総計の)使用量を単一の単位として表すことができるようにする。言い換えれば、計測器118は、概して、複数の異種コンピューティング資源の使用量を、コンピューティング資源108の使用量を表す単一の単位として定量化するものとすることができる。例えば、計測器118は、ある期間にわたる複数の異種コンピューティング資源の使用量を測定して、その期間にわたる使用量を表す単一の使用量値を生成するように構成することができる。
【0016】
バルーニングの影響を緩和及び/又は回避するために、計測器118は、例えば、仮想資源使用量とは対照的に物理資源使用量を測定する。従って、例えば、仮想マシンの物理資源使用量は、より正確に測定することができる。一部の事例では、計測器118はまた、使用可能な物理コンピューティング資源108(例えば、使用済み及び非アクティブな資源)の最大量を測定して、物理コンピューティング資源108の各物理資源の測定量を共通の測定単位に正規化し、次いで正規化された資源を合計して、単一の単位として表された利用可能な物理資源の最大量を取得することができる。利用可能な資源の最大量を測定することによって、ユーザは、ワークロード110を実行するための物理コンピューティング資源108の量を最適化することができる。付加的に又は代替的に、計測器118は、コンピューティングシステム104を実行するのに必要な物理コンピューティング資源108の最小量(例えば、アイドルプロセス113が使用する資源のみ)を測定して、物理コンピューティング資源108の各物理資源の測定量を共通の測定単位に正規化し、次に正規化された資源を合計して、(例えば、コンピューティングシステム104が動作中であるが、1又は2以上のオペレーティングシステム112及び/又はアプリケーション114を実行していない時に)使用する必要がある物理資源の最小量を表す単一の単位を取得する。
【0017】
一部の事例では、計測器118は、ある期間(例えば、資源使用量の課金期間、契約期間、1時間、1日、1週間、及び/又は他の何れかの期間)にわたる物理資源の使用量を測定して、その期間にわたる物理資源の使用量を表す単一の使用量値を生成するように構成することができる。次に、測定された使用量は、ある期間に購入するのに適切な資源量を決定するために利用し、及び/又は実際の使用量に基づいて請求を作成するために用いることができる。結果として、資源消費ユーザは、購入する資源量を削減することができ、資源提供者は、販売提供する総資源量を低減して、及び/又は未使用資源を他のユーザに割り当てることができる。
【0018】
一部の事例では、計測器118は、コンピューティングシステム104のコンピューティング資源108へのデバイス102のアクセスを有効及び/又は無効にするように構成することができる。言い換えれば、計測器118は、デバイス102をコンピューティングシステム104に選択的に通信可能に結合及び/又は分離するように構成することができる。例えば、計測器118は、ある期間の満了後(例えば、契約期間の経過)、契約条項の不履行(例えば、支払い不履行、コンピューティング資源の誤用、及び/又は同様のもの)、及び/又はある期間にわたって測定された資源使用量が所定量(又は閾値)を超過又は非超過に応答して、コンピューティング資源108の少なくとも一部分へのデバイス102によるアクセスを無効にすることができる。更なる実施例として、計測器118は、所定の時間に(例えば、契約期間の開始時に)コンピューティング資源108へのアクセスを可能にすることができる。
【0019】
一部の事例では、計測器118は、コンピューティング資源108の少なくとも一部分へのアクセスを、可用性に基づいて選択的に有効及び無効にするように構成することができる。例えば、デバイス102は、他のユーザがコンピューティング資源108を使用していない時に、このコンピューティング資源108の少なくとも一部分にアクセスすることができる。しかしながら、他のユーザがコンピューティング資源108へのアクセスを要求した時には、デバイス102によるコンピューティング資源108の少なくとも一部分へのアクセスを計測器118に無効にさせるリコール要求を計測器118に送信して、他のユーザがコンピューティング資源108にアクセスできるようにする。結果として、計測器118は、概して、例えば、1又は2以上のアプリケーション114又はオペレーティングシステム112を実行するために使用されていないコンピューティング資源108の量を低減するように構成されるとすることができる。
【0020】
図示のように、計測器118は、デバイス102、コンピューティングシステム104、及び/又はネットワーク106に通信可能に結合することができる。一部の事例では、計測器118の少なくとも一部分は、デバイス102及び/又はコンピューティングシステム104に含めることができる。付加的又は代替的に、計測器118の少なくとも一部分は、デバイス102及び/又はコンピューティングシステム104の1又は2以上に(例えば、ネットワーク106を用いて)通信可能に結合されたサードパーティデバイスに含めることができる。
【0021】
デバイス102は、パーソナルコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、スマートウォッチ、スマートテレビ、フィットネス・トラッカー、スマートスケール(物体の重さを計量するための)、スマートサーモスタット、スマートセキュリティモニタリングシステム(例えば、屋内及び/又は屋外カメラシステム、ドアベル、警報システム、施錠システム、照明システム、及び/又は他の何れかのスマートセキュリティモニタリングシステム)、スマートディスプレイ(例えば、ネットワーク106と通信するように構成されたディスプレイ)、スマート医療システム(例えば、超音波システム、分子イメージングシステム、コンピュータ断層撮影システム、X線システム、及び/又は他の何れかのスマート医療システム)、遠隔健康管理デバイス、ゲームデバイス(例えば、ゲーム機、手持ち式ゲーム機器、仮想現実ヘッドセット、及び/又は他の何れかのゲームデバイス)、モノのインターネットデバイス(例えば、自律走行車、コネクテッド家電、ドローン、ロボット、及び/又は他の何れかのモノのインターネットデバイス)、サーバ、及び/又はコンピューティングシステム104と通信可能な他の何れかのデバイスのうちの何れか1又は2以上を含むことができる。
【0022】
図2Aは、
図1のコンピューティングシステム104の概略的な実施例を示す。図示のように、コンピューティングシステム104の物理コンピューティング資源108は、中央処理装置(CPU)202と、メモリ204と、ストレージ206と、ネットワークインタフェース208と、グラフィックス・プロセッシングユニット(GPU)210と、を含むことができる。CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、及びGPU210の各々は、これらに関連付けられた1又は2以上のメトリック/属性を有する。
【0023】
付加的又は代替的に、コンピューティング資源108は、他の資源209を含むことができる。他の資源209は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、テンソル・プロセッシングユニット(TPU)、インテリジェンス・プロセッシングユニット(IPU)、ニューラル・プロセッシングユニット(NPU)、ビジョン・プロセッシングユニット(VPU)、デジタルシグナルプロセッサ(DSP)、アクセラレーテッド・プロセッシングユニット(APU)、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)、プログラマブルSoC、特定用途向け標準品(ASSP)、適応型コンピューティングアクセラレーション・プラットフォーム(ACAP)、マイクロコントローラ、及び/又は他の何れかのコンピューティング資源のうちの何れか1又は2以上を含むことができる。
【0024】
図2Bに示すように、CPU202は、プロセッシングコア数212、プロセッサクロック速度214、及び/又はプロセッサ負荷216のメトリック/属性と関連付けることができる。プロセッシングコア数212は、CPU202にとって利用可能な独立したプロセッシングユニット(又はコア)の数を示す。プロセッサクロック速度214は、CPU202のコアの各々のデフォルトのクロック速度を示す。プロセッサ負荷216は、CPU202によって実行される計算作業の量を示す。CPU202は、例えば、コンピュータ命令を実行できるシングル及び/又はマルチコアプロセッサを含むあらゆるコンピュータプロセッサとすることができる。CPU202の実施例は、INTEL、ADVANCED MICRO DEVICES、IBM、ARM、ORACLEから市販されているプロセッサ及び/又は他の何れかのプロセッサを含むことができる。
【0025】
メモリ204は、利用可能な総メモリ量218及び/又はメモリ使用量220のメトリック/属性と関連付けることができる。メモリ204は、有形の非一時的メモリとすることができる。メモリ204は、揮発性メモリとすることができる。例えば、メモリ204は、ランダムアクセスメモリ(RAM)とすることができる。RAMの実施例は、例えば、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、高速ページモードDRAM(FPM DRAM)、extended data out DRAM (EDO DRAM)、同期ダイナミックRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、RAMBUSダイナミックRAM (RDRAM)、及び/又は他の何れかの形態のRAMを含むことができる。
【0026】
ストレージ206は、利用可能な総ストレージ量222、総ストレージ使用量224、ストレージ206への書き込みバイト数226、及び/又はストレージ206からの読み出しバイト数228のメトリック/属性と関連付けることができる。ストレージ206は、不揮発性メモリとすることができる。例えば、ストレージ206は、何れかのタイプの有形の非一時的ストレージ媒体を含むことができ、磁気記録媒体(例えば、ハードディスクドライブ)、光ディスク、読み出し専用メモリ(ROM)等の半導体デバイス、ダイナミック及びスタティックRAM等のランダムアクセスメモリ(RAM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリ、磁気又は光学カード、又は電子命令を記憶するための何れかのタイプのストレージ媒体のうちの何れか1又は2以上を含むことができる。
【0027】
ネットワークインタフェース208は、送信バイト数230及び/又は受信バイト数232のメトリック/属性と関連付けることができる。ネットワークインタフェース208は、ネットワーク106(
図1)に通信可能に結合するように構成することができる。例えば、ネットワークインタフェース208は、Ethernetネットワーク、ワイヤレスネットワーク、ファイバーチャネルネットワーク、ファイバー分散データインタフェース(FDDI)ネットワーク、銅線分散データインタフェース(CDDI)ネットワーク、及び/又は他の何れかのネットワークに通信可能に結合するように構成されたネットワークインタフェースコントローラとすることができる。
【0028】
GPU210は、グラフィックスプロセッサのデフォルトクロック速度234、グラフィックスプロセッサの可変クロック速度236、グラフィックスプロセッサ負荷238、グラフィックスメモリのデフォルトクロック速度240、可変のグラフィックスメモリクロック速度242、グラフィックスメモリ負荷244、グラフィックスメモリバス246、利用可能なグラフィックスメモリ総量248、グラフィックスメモリ使用量250、及び/又はシェーダ量252のメトリック/属性と関連付けることができる。グラフィックスプロセッサのデフォルトクロック速度234は、GPU210のプロセッサのデフォルトクロック速度を示し、グラフィックスプロセッサの可変クロック速度236は、グラフィックスプロセッサの可変のクロック速度を示す。一部の事例では、グラフィックスプロセッサの可変クロック速度236は、グラフィックスプロセッサのデフォルトクロック速度234のクロック速度を超えることがある。他の場合に、グラフィックスプロセッサの可変クロック速度236は、グラフィックスプロセッサのデフォルトクロック速度234を超えることはない。同様に、グラフィックスメモリのデフォルトクロック速度240は、グラフィックスメモリのデフォルトクロック速度を示し、可変のグラフィックスメモリのクロック速度242は、グラフィックスメモリが実際に実行されているクロック速度を示す。一部の事例では、可変のグラフィックスメモリのクロック速度242は、グラフィックスメモリのデフォルトクロック速度240よりも大きくなることがある。他の場合には、可変のグラフィックスメモリのクロック速度242は、グラフィックスメモリのデフォルトクロック速度240よりも小さく(又はこれに等しく)なることがある。グラフィックスメモリ負荷244は、GPUメモリ上で実行される読み出し及び/又は書き込み動作の量を示す。グラフィックスメモリバス246は、GPU210のバスサイズを示す。
【0029】
GPU210は、一体型及び/又は専用GPUを含むことができる。例えば、GPUは、例えば、INTEL、NVIDIA、ADVANCED MICRO DEVICES製のGPUの何れか、及び/又は他の何れかのGPUを含むことができる。GPU210が一体型GPUを含む時は、メトリック/属性は、一体型GPUの共有資源に少なくとも部分的に基づくことができる。
【0030】
CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、及びGPU210については、単数で示されているが、コンピューティングシステム104は、複数の物理CPU、メモリ、ストレージ、ネットワークインタフェース、及びGPUを含むことができ、これらの1又は2以上は、例えば、コンピューティングシステム104の性能を改善するために協働するように構成できることを理解されたい。同様に、コンピューティングシステム104が他の資源209の1又は2以上を含む場合、他の資源209の各々の1又は2以上が存在し得る。
【0031】
図3Aは、
図1の計測器118の概略的な実施例を示す。図示のように、計測器118は、物理コンピューティング資源108(
図2)に通信可能に結合されたメトリック/属性コレクタ302と、計算機305と、分析プラットフォーム312と、を含むことができる。メトリック/属性コレクタ302、計算機305、及び/又は分析プラットフォーム312の各々は、異なるコンピューティングシステム(又は環境)にわたって分散することができる。一部の事例では、メトリック/属性コレクタ302、計算機305、分析プラットフォーム312のうちの1又は2以上は、同じコンピューティングシステムに配置することができる。例えば、メトリック/属性コレクタ302、計算機305、及び/又は分析プラットフォーム312のうちの1又は2以上は、デバイス102上に配置することができる。更なる実施例として、メトリック/属性コレクタ302、計算機305、分析プラットフォーム312のうちの1又は2以上は、ネットワーク106及び/又はコンピューティングシステム104に通信可能に結合された個別のデバイス上に配置することができる。更なる実施例として、メトリック/属性コレクタ302、計算機305、分析プラットフォーム312のうちの1又は2以上は、コンピューティングシステム104上に配置することができる。
【0032】
メトリック/属性コレクタ302は、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209の1又は2以上のうちの1又は2以上に対して1又は2以上のメトリック/属性を要求する。例えば、メトリック/属性コレクタ302は、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209の1又は2以上のうちの1又は2以上で実行中のハイパーバイザに対して(例えば、プラグインを用いて)1又は2以上のメトリック/属性を要求することができる。更なる実施例として、メトリック/属性コレクタ302は、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209の1又は2以上のうちの1又は2以上で実行中のホストオペレーティングシステム(例えば、アセンブリ言語で記述されたオペレーティングシステム)に対して1又は2以上のメトリック/属性を要求することができる。
【0033】
メトリック/属性コレクタ302が、CPU202に対して1又は2以上のメトリック/属性を要求すると、要求されたメトリック/属性を、CPUサイクル利用計算機304に入力することができる。CPUサイクル利用計算機304は、利用されるCPUサイクル
利用(CPU cycle utilization)に対応するメトリック/属性を、CPU202に対して要求されたメトリック/属性に少なくとも部分的に基づいて生成することができる。例えば、CPUサイクル利用計算機304は、プロセッシングコア数212、プロセッサクロック速度214、及びプロセッサ負荷216に少なくとも部分的に基づいて、CPUサイクル利用を生成することができる。これらの場合に、CPUサイクル利用計算機304は、以下の方程式に従って、利用されるCPUサイクルを生成することができる。
【数1】
【0034】
メトリック/属性コレクタ302が、GPU210に対して1又は2以上のメトリック/属性を要求すると、要求されたメトリック/属性は、GPUプロセッササイクル利用計算機306及び/又はGPUメモリサイクル利用計算機308に入力することができる。GPUプロセッササイクル利用計算機306及び/又はGPUメモリサイクル利用計算機308は、GPU210に対して要求されたメトリックに少なくとも部分的に基づいて、GPUプロセッササイクル利用及びGPUメモリサイクル利用のそれぞれに対応するメトリック/属性を生成することができる。
【0035】
例えば、GPUプロセッササイクル利用計算機306は、グラフィックスプロセッサの可変クロック速度236及びグラフィックスプロセッサ負荷238に少なくとも部分的に基づいて、GPUプロセッササイクル利用を生成することができる。これらの場合、GPUプロセッササイクル利用計算機306は、以下の方程式に従って、利用されるGPUプロセッササイクルを生成することができる。
【数2】
【0036】
更なる実施例として、GPUメモリサイクル利用計算機308は、可変のグラフィックスメモリクロック速度242及びグラフィックスメモリ負荷244に少なくとも部分的に基づいて、GPUサイクル利用を生成することができる。これらの場合、GPUメモリサイクル利用計算機308は、以下の方程式に従って、消費されるGPUメモリのクロックサイクルを生成することができる。
【数3】
【0037】
メトリック/属性コレクタ302が、ストレージ206に対して1又は2以上のメトリック/属性を要求すると、メトリック/属性は、ディスクIO計算機310に入力することができる。ディスクIO計算機310は、ある期間(例えば、1秒)にわたってストレージ306に対して読み書きされた総ビット数に対応するメトリック/属性を生成することができる。従って、一部の事例では、ディスクIO計算機310は、その期間にわたる書き込みバイト数226及び読み出しバイト数228を追加して、ディスクIOに対応するメトリック/属性を生成することができる。この期間が1秒を超える場合は、書き込みバイト数226及び読み出しバイト数228を総秒数で除算することができる。この期間が1秒未満の場合は、書き込みバイト数226及び読み出しバイト数228を1秒の数分の1で除算することができる。
【0038】
メトリック/属性コレクタ302が、ネットワークインタフェース208に対して1又は2以上のメトリック/属性を要求すると、メトリック/属性は、ネットワークIO計算機311に入力することができる。ネットワークIO計算機311は、ある期間(例えば、1秒)にわたってネットワークインタフェース208によって送受信された総ビット数に対応するメトリック/属性を生成することができる。従って、一部の事例では、ネットワークIO計算機311は、その期間にわたる送信バイト数230及び受信バイト数232を追加して、ネットワークIOに対応するメトリック/属性を生成することができる。この期間が1秒を超える場合は、送信バイト数230及び受信バイト数232を総秒数で除算することができる。この期間が1秒未満の場合は、送信バイト数230及び受信バイト数232を1秒の数分の1で除算することができる。
【0039】
図示のように、分析プラットフォーム312は、例えば、計算機305の1又は2以上から出力された1又は2以上のメトリック/属性を含む、物理コンピューティング資源108に関連するメトリック/属性の1又は2以上を受信することができる。一部の事例では、分析プラットフォーム312は、他の資源209の1又は2以上のそれぞれに対応する1又は2以上の資源計算機331を含むことができる。計算機305の1又は2以上から出力された1又は2以上のメトリック/属性は、例えば、CPUサイクル利用(例えば、CPUサイクル利用計算機394から出力される)、GPUプロセッササイクル利用(例えば、GPUプロセッササイクル計算機306によって出力される)、GPUメモリサイクル利用(例えば、GPUメモリサイクル利用計算機308によって出力される)、ディスクIO(ディスクIO計算機301によって出力される)、及び/又はネットワークIO(例えば、ネットワークIO計算機311によって出力される)のうちの1又は2以上を含むことができる。分析プラットフォーム312は、受信したメトリック/属性を1又は2以上の変換ユニットを用いて変換することができる。一部の事例では、各メトリック/属性は、対応する変換ユニットを有する。例えば、分析プラットフォーム312は、CPU変換ユニット314、メモリ変換ユニット316、ストレージ変換ユニット318、ネットワーク変換ユニット320、GPUプロセッサ変換ユニット322、GPUメモリ変換ユニット324、GPUメモリ速度変換ユニット326、ディスクIO変換ユニット328、及び/又はコンピューティング資源に対応する他の何れかの変換ユニット(例えば、FPGA資源、ASIC資源、SoC資源、DSP資源、マイクロコントローラ資源、ACAP資源、及び/又は同様のもののような他の資源209の1又は2以上のための変換ユニット)を利用することができる。
【0040】
分析プラットフォーム312は、各物理資源(例えば、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、及びGPU210)の使用量を、物理資源に対応するそれぞれの変換ユニット(例えば、CPU変換ユニット314、メモリ変換ユニット316、ストレージ変換ユニット318、ネットワーク変換ユニット320、GPUプロセッサ変換ユニット322、GPUメモリ変換ユニット324、GPUメモリ速度変換ユニット326、及びディスクIO変換ユニット328)で除算することで、異種コンピューティング資源を正規化された単位に変換して、各物理資源の正規化されたそれぞれの使用量を得ることができる。一部の事例では、分析プラットフォーム312は、他の資源209の1又は2以上を標準単位に変換するように構成することができる。例えば、分析プラットフォーム312は、他の資源変換ユニット329を含むことができる。
【0041】
次に、正規化された使用量を合計して、総使用量値を取得することができる。付加的又は代替的に、本明細書の開示に照らせば容易に理解されるように、一部の事例では、正規化された使用量は、コンピューティング資源タイプ(例えば、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209のうちの1又は2以上)に従って合計して、特定の資源の正規化使用量値を取得することができる。例えば、GPU210の物理資源(例えば、GPUプロセッサ及び/又はGPUメモリ)の正規化使用量を合計して、総GPU使用量を生成することができる。特定の物理資源の正規化使用量の他の実施例は、総FPGA使用量、総ASIC使用量、総DSP使用量、総SoC使用量、総マイクロコントローラ使用量、総ACAP使用量、総TPU使用量、及び/又はそれぞれの資源に対応する他の何れかの総使用量を含むことができる。
【0042】
図3Bは、多数(例えば、複数)の異なるユーザの資源使用量をモニタリングして、各ユーザの使用量をそれぞれのユーザと関連付けるように構成されたメトリック/属性コレクタ302の実施例とすることができるメトリック/属性コレクタ303を示す。言い換えれば、メトリック/属性コレクタ303は、資源使用量に対応するメトリックを受信するように構成される。メトリック/属性コレクタ303は、ハードウェア、ソフトウェア、及び/又はファームウェアの何れかの組み合わせを含むことができる。
【0043】
メトリック/属性コレクタ303は、コンピューティングシステム104、デバイス102、及び/又はネットワーク106に通信可能に結合された他の何れかのデバイスのうちの何れか1又は2以上と共に含めるように構成することができる。例えば、デバイス102は、メトリック/属性コレクタ303を含むことができる。デバイス102がメトリック/属性コレクタ303を含む場合、メトリック/属性コレクタ303のユーザは、メトリック/属性コレクタ303がデバイス102上で実行されない時と比較して、ユーザのネットワークセキュリティへの僅かな修正で計測器118を利用することができる。
【0044】
図示のように、メトリック/属性コレクタ303は、通信リンク330を介してコンピューティングシステム104に通信可能に結合される。通信リンク330は、データ(例えば、コンピューティング資源108に関連するメトリック/属性)をメトリック/属性コレクタ303に送信することができる。通信リンク330上で送信されるデータは、データへの無許可アクセスを防ぐために暗号化することができる。図示のように、メトリック/属性コレクタ303は、コンピューティングシステム104から遠隔とすることができる(例えば、異なるサーバ上、異なるネットワーク内、及び/又は異なるデバイス上で動作)。しかしながら、一部の事例では、メトリック/属性コレクタ303は、コンピューティングシステム104に対して局所的とすることができる(例えば、同じサーバ上、同じネットワーク上、及び/又は同じデバイス上で動作)。
【0045】
メトリック/属性コレクタ303はまた、通信リンク362を介して分析プラットフォーム312と通信するように構成することもできる。通信リンク362上で送信されるデータは、データへの無許可アクセスを防ぐために暗号化することができる。一部の事例では、メトリック/属性コレクタ303が、分析プラットフォーム312を含むことができる。従って、メトリック/属性コレクタ303は、通信リンク362上でデータを送信することができない。
【0046】
分析プラットフォーム312は、単一の正規化単位として表された総リソース使用量値を生成することができる。図示のように、分析プラットフォーム312は、メトリック/属性コレクタ303から遠隔とすることができる(例えば、異なるサーバ上、異なるネットワーク内、及び/又は異なるデバイス上で動作)。しかしながら、一部の事例では、分析プラットフォーム312は、メトリック/属性コレクタ303に対して局所的とすることができる(例えば、同じサーバ上、同じネットワーク上、及び/又は同じデバイス上で動作)。
【0047】
図示のように、メトリック/属性コレクタ303は、少なくとも1つのコレクタコア332と、少なくとも1つのコレクタメトリックレシーバ334と、少なくとも1つのコレクタシンクロナイザ336と、少なくとも1つのプラグインデータベース338と、少なくとも1つのコレクタオートメータ340と、少なくとも1つのマシンマネージャ342と、少なくとも1つのデータベースマネージャ344と、少なくとも1つのアカウントマネージャ346と、少なくとも1つのマシンコレクションマネージャ348と、を含むことができる。コレクタコア332は、コレクタメトリックレシーバ334、コレクタシンクロナイザ336、プラグインデータベース338、コレクタオートメータ340、マシンマネージャ342、コレクタデータベースマネージャ344、アカウントマネージャ346、及びマシンコレクションマネージャ348の各々と通信し、及び/又は各々を管理する。
【0048】
コレクタメトリックレシーバ334は、1又は2以上のユーザ及び/又はワークロードのコンピューティング資源108の使用量を表すメトリック/属性を受信するように構成される。一部の事例では、コレクタメトリックレシーバ334は、計算機305の1又は2以上を含むことができる。
【0049】
資源使用量の少なくとも一部分は、1又は2以上のユーザと関連付けることができる。例えば、資源使用量の少なくとも一部分は、アカウントマネージャ346を用いて1又は2以上のアカウント350と関連付けることができる。アカウント350は、1又は2以上の資源消費ユーザ352と関連付けることができる。結果として、複数のアカウント350及び/又は資源消費ユーザ352の資源使用量は、同時にモニタリングすることができる。例えば、企業体は、その従業員(例えば、資源消費ユーザ352)が関連付けられたアカウント350を有することができる。結果として、従業員がコンピューティング資源108にアクセスすると、使用量が企業体に対応するアカウント350と関連付けられる。使用量をアカウント350と関連付けることによって、単一のメトリック/属性コレクタ303を用いて複数のアカウント350をモニタリングすることができ、これは、メトリック/属性コレクタ303を各アカウント350及び/又は資源消費ユーザ352と関連付ける場合と比較すると、消費する資源を削減することができる。
【0050】
アカウント350は、資源消費ユーザ352にとってアクセス可能で且つコンピューティング資源108を用いて動作する1又は2以上のマシン354(例えば、仮想又は物理)と関連付けることができる。マシン354は、例えば、オペレーティングシステム112及び/又はアプリケーション114のうちの1又は2以上を含むことができる。例えば、マシン354は、LINUXベースのオペレーティングシステム、WINDOWSベースのオペレーティングシステム、MACベースのオペレーティングシステム、及び/又は仮想又は物理環境における他の何れかのコンピューティングシステムを実行するように構成することができる。一部の事例では、マシン354は、ゲストオペレーティングシステムを実行しなくとも、1又は2以上のワークロード110(例えば、アプリケーション114)を実行するように構成することができる。例えば、マシン354は、何れの形態の仮想化がなくとも物理マシン上で1又は2以上のアプリケーション114を直接実行するように構成することができるか、或いはコンテナを実行して、1又は2以上のアプリケーション114をコンテナ内で実行するように構成することができる。従って、コンテナは、概して、マシン354の1又は2以上のカーネル上で実行するように構成された隔離環境とすることができる。コンテナは、物理又は仮想マシン上で実行することができる。
【0051】
マシンコレクションマネージャ348により、複数のマシン354を少なくとも1つのマシンコレクション356と関連付けることができる。マシンコレクションマネージャ348はまた、複数のコンテナ又は一意に識別された(例えば、タグ付けされた)ワークロードを少なくとも1つのコレクションと関連付けることができる。一部の事例では、複数のマシンコレクション356は、それぞれのアカウント350と関連付けることができる。例えば、それぞれのアカウント350の所有者(又は許可されたユーザ)が、1又は2以上のマシン354をそれぞれのマシンコレクション356に追加することができる。各マシンコレクション356は、複数のマシン354を含むことができ、それらの各々が、例えば、異なるオペレーティングシステム112及び/又はアプリケーション114を実行するように構成される(例えば、アプリケーション114はコンテナを用いて実行することができる
【0052】
プラグインデータベース338は、メトリック/属性コレクタ303によってアクセスするように構成することができ、メトリック/属性コレクタ303が1又は2以上のコンピューティングシステム104と通信して、例えば、資源使用量を測定できるようにする1又は2以上のプラグイン358(例えば、プラグイン358は、ドライバ、リスナ、パブリッシャ、又は同様のものとすることができる)を含むことができる。各コンピューティングシステム104は、各々が異なるオペレーティングシステム112及び/又はアプリケーション114を実行するように構成された1又は2以上のマシン354を含むように構成することができる。言い換えれば、プラグイン358により、メトリック/属性コレクタ303は複数の異なるコンピューティング環境にわたる資源使用量を同時にモニタリングすることができる。例えば、プラグイン358は、LIINUXプラグイン、WINDOWSプラグイン、MACプラグイン、SOLARISプラグイン、VMWAREプラグイン、HYPER-Vプラグイン、CITRIX XENプラグイン、OPENSTACKプラグイン、OPENSHIFTプラグイン、KUBERNETESプラグイン、DOCKERプラグイン、PIVOTALプラグイン、AMAZONプラグイン、MICROSOFTプラグイン、GOOGLEプラグイン、ベアメタルプラグイン(例えば、非仮想マシンと直接通信するように構成されたプラグイン)、及び/又は複数の動作システム/環境にわたる使用量のモニタリングを可能にする他の何れかのプラグインを含むことができる。プラグイン358はまた、1又は2以上の仮想及び/又は物理環境のモニタリングを同時に可能にすることもできる。プラグイン358はまた、課金情報、ソフトウェアプログラム利用、賃借されたソフトウェアライセンス、及び/又は他の何れかの更なるユーザアカウント情報のモニタリングも可能にすることができる。
【0053】
プラグイン358は、アクティブ化(例えば、メトリック/属性コレクタ303は、それぞれのプラグイン358を用いてそれぞれのコンピューティングシステム104と通信することができる)、又は非アクティブ化(例えば、メトリック/属性コレクタ303は、それぞれのプラグイン358を用いてそれぞれのコンピューティングシステム104と通信することができない)するように構成することができる。
【0054】
マシンマネージャ342により、マシン354をそれぞれのマシンコレクション356に割り当てる及び/又は関連付けることができる。マシンマネージャ342は、マシンコレクション356内のマシン354を分析して、例えば、マシン354の仕様及び/又はオペレーティングシステムを決定することができる。仕様は、例えば、コンピューティング資源108(例えば、利用可能なメモリ、ストレージ、及び/又は同様のもの)に関連する情報を含むことができる。
【0055】
マシンマネージャ342はまた、メトリック/属性コレクタ303によってモニタリングされるべき新規マシンの検索も行うことができる。マシンマネージャ342は、特定のアカウント350及び/又は資源消費ユーザ352に関連付けられた新規IPアドレスを検索することによって新規マシンを検出することができる。
【0056】
コレクタデータベースマネージャ344は、メトリック/属性コレクタ303によって受信及び/又は生成されたデータを管理する。例えば、コレクタデータベースマネージャ344は、マシン354、マシンコレクション356、アカウント350、及びこれらに関連する資源使用量(例えば、メトリック/属性)に関連する1又は2以上のレコード(例えば、データ)を受信して及び/又は記憶させることができる。コレクタデータベースマネージャ344はまた、データを消去することもできる。例えば、コレクタデータベースマネージャ344は、それぞれのマシン354、それぞれのマシンコレクション356、及び/又はそれぞれのアカウント350に関連するレコードを消去することができる。一部の事例では、コレクタデータベースマネージャ344は、それぞれのマシン354、それぞれのマシンコレクション356、及び/又はそれぞれのアカウント350に関連するレコードを切り捨てることができる。消去及び/又は切り捨ては、例えば、ある期間の経過後、及び/又はそれぞれのアカウント350の非アクティブ化/終了後に行うことができる。
【0057】
コレクタデータベースマネージャ344は、通信リンク366を介してコレクタデータベース364と通信して、1又は2以上のレコードをコレクタデータベース364上に記憶させることができる。図示のように、コレクタデータベース364は、メトリック/属性コレクタ303から遠隔とすることができる(例えば、異なるサーバ及び/又は異なるネットワーク上で動作)。しかしながら、一部の事例では、コレクタデータベース364は、メトリック/属性コレクタ303に対して局所的とすることができる(例えば、同じサーバ上、同じネットワーク上、及び/又は同じデバイス上で動作)。通信リンク366を介して送信されるデータは、送信中のデータへの無許可アクセスを防ぐために暗号化することができる。一部の事例では、コレクタデータベース364上に記憶されたレコードは、レコードへの無許可アクセスを防ぐために暗号化することができる。例えば、コレクタデータベース364上に記憶されたレコードは、透過的データ暗号化(TDE)を用いて暗号化することができる。
【0058】
コレクタシンクロナイザ336は、例えば、コレクタデータベースマネージャ344と通信することができ、コレクタデータベースマネージャ344が受信するデータを複製及び/又はバックアップすることができる。例えば、コレクタシンクロナイザ336は、コレクタデータベース364上に記憶された及び/又は記憶されることになっている1又は2以上のレコードをコレクタバックアップ368に複製することができる。一部の事例では、コレクタバックアップ368上に記憶されるレコードは、無許可アクセスを防ぐために暗号化することができる。1又は2以上のレコードに変更が加えられると、コレクタシンクロナイザ336は、その変更のみをコレクタバックアップ368に複製及び/又はバックアップすることができる。結果として、コレクタシンクロナイザ336は、レコード全体をコレクタバックアップ368に複製するわけではない。図示のように、コレクタシンクロナイザ336は、コレクタバックアップ368と通信リンク370を介して通信することができる。通信リンク370を介して送信されるデータは、送信中のデータへの無許可アクセスを防ぐために暗号化することができる。図示のように、コレクタバックアップ368は、メトリック/属性コレクタ303から遠隔とすることができる(例えば、異なるサーバ上、異なるネットワーク内、及び/又は異なるデバイス上で動作)。しかしながら、一部の事例では、コレクタバックアップ368は、メトリック/属性コレクタ303に対して局所的とすることができる(例えば、同じサーバ上、同じネットワーク上、及び/又は同じデバイス上で動作)。
【0059】
一部の事例では、少なくとも1つのバックアップコレクタ397を設けることができる。バックアップコレクタ397は、メトリック/属性コレクタ303と実質的に同じ動作を行い、メトリック/属性コレクタ303と並行で(又は同時に)実行するように構成することができる。一部の事例では、バックアップコレクタ397は、メトリック/属性コレクタ303から遠隔になるように構成される(例えば、異なるサーバ上、異なるネットワーク内、及び/又は異なるデバイス上で動作)。結果として、メトリック/属性コレクタ303の障害の場合に、計測器118は、資源使用量のモニタリングを継続することができる。言い換えれば、バックアップコレクタ397は、概して、冗長性を提供するものとすることができる。一部の事例では、例えば、n+2の冗長性を達成できるように、2又はそれ以上のバックアップコレクタ397が存在する場合がある。従って、バックアップコレクタ397は、メトリック/属性コレクタ303に関して本明細書で議論する機能の何れか1又は2以上を含むことができる。バックアップコレクタ397は、通信リンク399を介してコンピューティングシステム104と通信することができる。通信リンク399を介して送信されるデータは、送信中のデータへの無許可アクセスを防ぐために暗号化することができる。
【0060】
バックアップコレクタ397はまた、独立したレコードを生成するように構成することもできる。独立したレコードは、例えば、監査プロセス中及び/又はデータリカバリプロセスにおいて(例えば、メトリック/属性コレクタ303が障害を経験する場合)使用することができる。一部の事例では、コレクタバックアップ368は、バックアップコレクタ397を含むことができる。
【0061】
図示のように、メトリック/属性コレクタ303はまた、コレクタオートメータ340も含むことができる。コレクタオートメータ340は、メトリック/属性コレクタ303の1又は2以上の機能を自動化することができる。例えば、コレクタオートメータ340は、メトリック/属性コレクタ303に所定の動作(例えば、メトリック/属性の受信開始又は終了、データベースクリーンアップの開始、コンピューティング資源108へのアクセスの有効又は無効化、1又は2以上のプラグイン358のアクティブ化又は非アクティブ化、及び/又は他の何れかの動作)を実行させるトリガイベントを受信するように構成することができる。トリガイベントは、例えば、新規マシンの発見、契約期間の満了、所定の資源量の使用、それぞれのマシンコレクション356への新規マシンの追加、及び/又は同様のものを含むことができる。一部の事例では、トリガイベントは、ある期間の満了とすることができる。例えば、1秒、2秒、3秒、4秒、又は5秒ごとに(又は他の何れかの適切な間隔で)、メトリック/属性コレクタ303は、新規マシンに対応する新規のインターネットプロトコル(IP)アドレスを検索することができる。これらの場合に、メトリック/属性コレクタ303は、概して、セルフアップデートすると表現することができる。
【0062】
これも図示のように、管理者ユーザインタフェース372は、コレクタコア332に通信可能に結合することができる。管理者ユーザインタフェース372は、メトリック/属性コレクタ303のオペレータが、メトリック/属性コレクタ303を制御及び/又は修正して、及び/又はメトリック/属性コレクタ303によって生成及び/又は受信されるデータをレビューするためのインタフェースを提供することができる。例えば、管理者ユーザインタフェース372は、アカウント350又は資源消費ユーザ352ベースで使用量概要を表示及び/又は生成させるように構成することができる。管理者ユーザインタフェース372はまた、例えば、1又は2以上のマシン354の手動追加、1又は2以上のレコードの調整及び/又は消去、新規アカウント350の追加又は削除、プラグイン358の追加又は削除、コレクタオートメータ340のためのトリガの調整/作成、例えば、契約期間に応答した、所定の時間における資源使用量のモニタリングの継続及び/又は中断、及び/又は他の何れかの管理タスクを行うために使用することもできる。
【0063】
図示のように、管理者ユーザインタフェース372は、通信リンク374を介してコレクタコア332と通信することができる。通信リンク374を介して送信されるデータは、送信中のデータへの無許可アクセスを防ぐために暗号化することができる。図示のように、管理者ユーザインタフェース372は、メトリック/属性コレクタ303から遠隔とすることができる(例えば、異なるサーバ上、異なるネットワーク内、及び/又は異なるデバイス上で動作)。しかしながら、一部の事例では、管理者ユーザインタフェース372は、メトリック/属性コレクタ303に対して局所的とすることができる(例えば、同じサーバ上、同じネットワーク上、及び/又は同じデバイス上で動作)。
【0064】
一部の事例では、例えば、管理者ユーザインタフェース372は、ウェブブラウザ上に生成して表示することができる。更なる実施例として、一部の事例では、管理者ユーザインタフェース372は、ネットワーク接続(例えば、インターネット)を通じてメトリック/属性コレクタ303と通信するコンピュータ上で実行されるアプリケーションとすることができる。更なる実施例として、一部の事例では、管理者ユーザインタフェース372は、局所的に(例えば、メトリック/属性コレクタ303と同じデバイス上で)実行されるアプリケーションとすることができる。
【0065】
図3Cは、
図3Aの分析プラットフォーム312の例とすることができる分析プラットフォーム360の例を示す。分析プラットフォーム360は、概して、ある期間にわたって受信された複数のメトリック/属性を正規化単位に正規化(例えば、変換)して、正規化されたメトリック/属性を合計して、その期間の単一の正規化単位として表された総資源使用量値を生成するように構成されるものとすることができる。言い換えれば、分析プラットフォーム360は、ある期間にわたる総資源使用量を表す単一の使用量値を生成するように構成することができる。分析プラットフォーム360は、ハードウェア、ソフトウェア、及び/又はファームウェアの何れかの組み合わせを含むことができる。一部の事例では、分析プラットフォーム360は、メトリック/属性コレクタ302と同じサーバ上及び/又は同じネットワーク上で実行することができる。他の場合に、分析プラットフォーム360は、メトリック/属性コレクタ302とは異なるサーバ及び/又は異なるネットワーク上(例えば、ユーザのネットワーク及び/又はサーバ上)で実行することができる。
【0066】
分析プラットフォーム360は、コンピューティング資源108の使用量を表す1又は2以上のメトリック/属性をメトリック/属性コレクタ302及び/又は1又は2以上のバックアップコレクタ397のうちの1又は2以上から受信するように構成することができる。一部の事例では、分析プラットフォーム360は、1又は2以上のメトリック/属性をコンピューティングシステム104から受信することができる。これらの場合には、計測器118が、メトリック/属性コレクタ302を含まず、分析プラットフォーム360がプラグインデータベース338を含むことができる。分析プラットフォーム360は、メトリック/属性を、例えば、JavaScript Object Notation(JSON)ファイル、Comma Separated Values(CSV)ファイル、及び/又は他の何れかのファイルタイプの形態で受信することができる。
【0067】
分析プラットフォーム360は、コンピューティングシステム104、デバイス102、及び/又はネットワーク106に通信可能に結合された他の何れかのデバイスのうちの何れか1又は2以上と共に含めるように構成することができる。例えば、デバイス102は、分析プラットフォーム360を含むことができる。デバイス102が分析プラットフォーム360を含む場合、分析プラットフォーム360のユーザは、分析プラットフォーム360がデバイス102上で実行されない時と比較して、ユーザのネットワークセキュリティへの僅かな修正で計測器118を利用することができる。一部の事例では、デバイス102が分析プラットフォーム360を含む場合、分析プラットフォーム360は、例えば、ローカルネットワーク上の、例えば各々がそれぞれのデバイスを有する1又は2以上のユーザの資源使用量を分析するように構成することができる。付加的又は代替的に、デバイス102が分析プラットフォーム360及びメトリック/属性コレクタ302の両方を含む場合は、公衆ネットワーク(例えば、インターネット)上では、コンピューティング資源108の使用量を表すメトリック/属性のみを送信する必要がある。
【0068】
分析プラットフォーム360は、少なくとも1つの分析コア376と、少なくとも1つの分析メトリックレシーバ378と、少なくとも1つの分析シンクロナイザ380と、少なくとも1つの分析データベースマネージャ382と、少なくとも1つの分析オートメータ384と、少なくとも1つの使用量アナライザ386と、少なくとも1つの通知ジェネレータ388と、少なくとも1つのサブスクリプションマネージャ390と、少なくとも1つの交換/契約マネージャ393と、を含むことができる。分析コア376は、概して、分析メトリックレシーバ378、分析シンクロナイザ380、分析データベースマネージャ382、分析オートメータ384、使用量アナライザ386、通知ジェネレータ388、及びサブスクリプションマネージャ390の各々と通信して及び/又はこれを管理するものとすることができる。
【0069】
図示のように、分析コア376は、分析メトリックレシーバ378に通信可能に結合される。分析メトリックレシーバ378は、コンピューティング資源108の使用量を表すメトリック/属性を、メトリック/属性コレクタ302から受信する。分析メトリックレシーバ378は、計算機305の1又は2以上を含むことができる。一部の事例では、分析メトリックレシーバ378は、単一の正規化単位として表された総資源使用量値を生成するように構成することができる。これらの場合に、分析コア376は、単一の正規化単位として表された総資源使用量値を受信するように構成することができる。言い換えれば、分析コア376は、単一の正規化単位として表された総資源使用量値を生成するように構成することができる。
【0070】
分析コア376及び/又は分析メトリックレシーバ378は、使用量アナライザ386と通信することができる。使用量アナライザ386は、それぞれのアカウント350及び/又は資源消費ユーザ352に関連する使用量をモニタリングして、標準使用量、ピーク使用量、及び/又は底値使用量を作成(又は決定)する。言い換えれば、標準使用量、ピーク使用量、及び/又は底値使用量は、コンピューティング資源108のそれぞれに対応する受信したメトリック/属性に少なくとも部分的に基づくことができる。一部の事例では、例えば、ピーク使用量は、ある期間(例えば、1時間、1日、1週間、1ヶ月、及び/又は他の何れかの適切な期間)にわたる最大使用量を表すことができ、底値使用量は、ある期間(例えば、1時間、1日、1週間、1ヶ月、及び/又は他の何れかの適切な期間)にわたる最小使用量を表すことができ、標準使用量は、ある期間(例えば、1時間、1日、1週間、1ヶ月、及び/又は他の何れかの適切な期間)にわたる平均使用量を表すことができる。一部の事例では、ピーク使用量は、ある期間にわたる最大使用量を近似する(例えば、実際の最大使用量の5%、10%、又は15%以内の使用量値)ことができ、底値使用量は、ある期間にわたる最小使用量を近似する(例えば、実際の最小使用量の5%、10%、又は15%以内の使用量値)ことができる。
【0071】
標準使用量、ピーク使用量、及び/又は底値使用量は、個々のコンピューティング資源、複数のコンピューティング資源、及び/又はコンピューティング資源を形成する1又は2以上の下位資源(例えば、GPU210のグラフィックスプロセッサ及びグラフィックスメモリのうちの1又は2以上)に対応することができる。例えば、標準使用量、ピーク使用量、及び/又は底値使用量は、複数のコンピューティング資源の各々(例えば、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209の1又は2以上の各々)に関して生成することができる。これらの場合に、各資源の標準使用量、ピーク使用量、及び/又は底値使用量は、正規化単位として及び/又は非正規化単位(例えば、個々の資源に対応する単位)とすることができる。更なる実施例として、複数のコンピューティング資源(例えば、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209の1又は2以上のうちの2又はそれ以上)に対応する標準使用量、ピーク使用量、及び/又は底値使用量を生成することができる。これらの場合に、標準使用量、ピーク使用量、及び/又は底値使用量は、単一の正規化単位として表すことができる。
【0072】
一部の事例では、使用量アナライザ386は、総合ピーク使用量平均を生成するように構成することができる。総合ピーク使用量平均は、概して、2又はそれ以上のそれぞれの所定の期間に対応する2又はそれ以上のピーク使用量値の平均とすることができる。例えば、ピーク使用量を1週間の各日に関して決定して平均することで、1週間の総合ピーク使用量平均を決定することができる。付加的又は代替的に、使用量アナライザ386は、総合底値使用量平均を生成するように構成することができる。総合底値使用量平均は、概して、2又はそれ以上のそれぞれの所定の期間に対応する2又はそれ以上の底値使用量値の平均とすることができる。例えば、底値使用量を1週間の各日に関して決定して平均することで、1週間の総合底値使用量平均を決定することができる。
【0073】
総合ピーク使用量平均及び/又は総合底値使用量平均は、個々のコンピューティング資源及び/又は複数のコンピューティング資源に対応することができる。例えば、総合ピーク使用量平均及び/又は総合底値使用量平均は、複数のコンピューティング資源の各々(例えば、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209の1又は2以上の各々)に関して生成することができる。これらの場合に、各資源の総合ピーク使用量平均及び/又は総合底値使用量平均は、正規化単位として及び/又は非正規化単位(例えば、個々の資源に対応する単位)として表すことができる。更なる実施例として、複数のコンピューティング資源(例えば、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209の1又は2以上のうちの2又はそれ以上)に対応する総合ピーク使用量平均及び/又は総合底値使用量平均を生成することができる。これらの場合に、総合ピーク使用量平均及び/又は総合底値使用量平均は、単一の正規化単位として表すことができる。
【0074】
標準平均使用量は、概して、反復時間間隔中のある期間にわたる実際の資源使用量の複数の測定値を取り出して、測定値を平均することで計算される平均資源使用量とすることができる。例えば、実際の資源使用量を5日間、毎日午前11時に測定することができ、これらの測定値に基づいて、午前11時の平均使用量を計算することができる。ピーク平均使用量は、概して、反復時間間隔中のある期間にわたる実際の資源使用量の複数の測定値を取り出して、最も高い使用量を有する測定値部分(例えば、資源使用量の最も高い5%、10%、15%、20%、25%、35%、40%、50%、又は60%)を選択して、選択した部分の平均を計算することで計算される平均資源使用量とすることができる。例えば、実際の資源使用量を5日間、毎日午前11時に測定することができ、3つの最高測定値に基づいて、午前11時のピーク平均使用量を計算することができる。底値平均使用量は、概して、反復時間間隔中のある期間にわたる実際の資源使用量の複数の測定値を取り出して、最も低い使用量を有する測定値部分(例えば、資源使用量の最も低い5%、10%、15%、20%、25%、35%、40%、50%、又は60%)を選択して、選択した部分の平均を計算することで計算される平均資源使用量とすることができる。例えば、実際の資源使用量を5日間、毎日午前11時に測定することができ、3つの最低測定値に基づいて、午前11時の底値平均使用量を計算することができる。
【0075】
標準平均使用量、ピーク平均使用量、及び/又は底値平均使用量は、個々のコンピューティング資源及び/又は複数のコンピューティング資源に対応することができる。例えば、標準平均使用量、ピーク平均使用量、及び/又は底値平均使用量は、複数のコンピューティング資源の各々(例えば、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209の1又は2以上の各々)に関して生成することができる。これらの場合に、各資源の標準平均使用量、ピーク平均使用量、及び/又は底値平均使用量は、正規化単位として及び/又は非正規化単位(例えば、個々の資源に対応する単位)として表すことができる。更なる実施例として、複数のコンピューティング資源(例えば、CPU202、メモリ204、ストレージ206、ネットワークインタフェース208、GPU210、及び/又は他の資源209の1又は2以上のうちの2又はそれ以上)に対応する標準平均使用量、ピーク平均使用量、及び/又は底値平均使用量を生成することができる。これらの場合に、標準平均使用量、ピーク平均使用量、及び/又は底値平均使用量は、単一の正規化単位として表すことができる。
【0076】
使用量アナライザ386は、標準平均使用量、ピーク平均使用量、及び底値平均使用量のそれぞれに基づいて、標準平均使用量パターン392、ピーク平均使用量パターン394、及び底値平均使用量パターン395を生成することができる(明確にするために
図3?に図示)。標準平均使用量パターン392は、異なる所定の時間(又は所定の期間)に対応する複数の標準平均使用量値を含むデータセットとすることができる。ピーク平均使用量パターン394は、異なる所定の時間(又は所定の期間)に対応する複数のピーク平均使用量値を含むデータセットとすることができる。底値平均使用量パターン395は、異なる所定の時間(又は所定の期間)に対応する複数の底値平均使用量値を含むデータセットとすることができる。
【0077】
標準平均使用量パターン392に対応するデータセットをピーク平均使用量パターン394に対応するデータセットと比較して、1又は2以上の所定の時間(又は所定の期間)の閾値使用量値又は範囲を決定することができる。例えば、所定の時間の閾値使用量値は、それぞれの所定時間における標準平均使用量値とピーク平均使用量値の平均を取ることで、取得することができる。更なる実施例として、閾値使用量範囲は、それぞれの所定時間における標準平均使用量値からピーク平均使用量値にわたる範囲として表すことができる。
【0078】
付加的又は代替的に、底値平均使用量パターン395に対応するデータセットをピーク平均使用量パターン394に対応するデータセットと比較して、1又は2以上の所定の時間(又は所定の期間)の閾値使用量値又は範囲を決定することができる。例えば、所定の時間の閾値使用量値は、それぞれの所定時間における底値平均使用量値とピーク平均使用量値の平均を取ることで、取得することができる。更なる実施例として、閾値使用量範囲は、それぞれの所定時間における底値平均使用量値からピーク平均使用量値にわたる範囲として表すことができる。
【0079】
付加的又は代替的に、標準平均使用量パターン392に対応するデータセットを底値平均使用量パターン395に対応するデータセットと比較して、1又は2以上の所定の時間(又は所定の期間)の閾値使用量値又は範囲を決定することができる。例えば、所定の時間の閾値使用量値は、それぞれの所定時間における標準平均使用量値と底値平均使用量値の平均を取ることで、取得することができる。更なる実施例として、閾値使用量範囲は、それぞれの所定時間における底値平均使用量値から標準平均使用量値にわたる範囲として表すことができる。
【0080】
付加的又は代替的に、閾値使用量値は、底値平均使用量値、ピーク平均使用量値、底値使用量値(すなわち、所定の時間にわたる最小使用量)又は総合底値使用量平均値、及び/又はピーク使用量値(すなわち、所定の時間にわたる最大使用量)又は総合ピーク使用量平均値とすることができる。
【0081】
通知ジェネレータ388は、例えば、所定の時間(又は所定の時間間隔)において閾値使用量値を満たす、超える、及び/又は超えない資源使用量、及び/又は閾値使用量範囲外の資源使用量のうちの1又は2以上に応答して、通知を生成させるように構成することができる。言い換えれば、通知は、資源使用量の閾値又は閾値使用量範囲との比較に少なくとも部分的に基づいて生成させることができる。例えば、閾値使用量値を超える使用量を検出することは、無許可の第三者による資源の使用を示すことがあり、底値平均使用量値を超えない使用量を検出することは、ハードウェア障害を示すことがある(例えば、コンピューティング資源108の少なくとも一部分が誤動作している可能性がある)。
【0082】
一部の事例では、使用量アナライザ386は、外れ値(例えば、閾値使用量範囲外の資源使用量)を識別するように構成することができる。例えば、使用量アナライザ386は、機械学習を利用して、高使用量及び低使用量の期間を識別することができる。高使用量及び/又は低使用量の期間中、使用量アナライザ386は、少なくともある期間において(例えば、10分、30分、60分、2時間、及び/又は他の何れかの時間帯)、使用量がピーク平均使用量値を超えない及び/又は底値平均使用量値を超えない場合に、使用量を外れ値として識別することができる。結果として、通知ジェネレータ388は、外れ値の検出に応答して、通知を生成しないように構成することができる。更に、外れ値が識別されると、使用量アナライザ386は、例えば、外れ値が複数回、検出されない限り、この外れ値を標準平均使用量パターン392、ピーク平均使用量パターン394、及び/又は底値平均使用量パターン395の計算から除外することができる。従って、標準平均使用量パターン392、ピーク平均使用量パターン394、及び/又は底値平均使用量パターン395の各々は、概して、機械学習を用いて生成されるものとすることができる。
【0083】
一部の事例では、使用量アナライザ386は、計測器118の他のユーザの使用量を分析して、他のユーザが類似の使用パターンを経験しているかどうかを決定することができる。例えば、複数のユーザが底値平均使用量値を超えない資源使用量を経験している場合、ハードウェア障害を示すことがある(例えば、コンピューティング資源108の少なくとも一部分が誤動作している可能性がある)。この場合は、通知ジェネレータ388が通知を生成させることができる。
【0084】
生成された通知は、例えば、電話通話、SMSテキストメッセージ、電子メール、ファックス、触感(例えば、スマートウォッチ、フィットネス・トラッカー、遠隔ヘルスモニタリングデバイス、及び/又は他の何れかのウェアラブルデバイスを介して)、分析プラットフォーム360及び/又はメトリック/属性コレクタ302を管理するためにアプリケーション又はソフトウェア内で生成されるアラート(例えば、アプリケーション内メッセージ)、及び/又は他の何れかのタイプのアラートを介して、アカウント350の1又は2以上の所有者/ユーザに送信されるアラートの形態が可能である。
【0085】
使用量アナライザ386は、ある期間にわたって定期的に発生する高資源使用量の期間及び低資源使用量の期間を、例えば機械学習を用いて決定することができる。高資源使用量及び低資源使用量の期間が識別されると、例えば、アラートを発生させる閾値使用量を調整することができる。例えば、高資源使用量であると分かっている期間中は、低資源使用量であると分かっている期間中よりも、アラートを発生させるための閾値使用量を高くするように調整することができる。
【0086】
使用量アナライザ386はまた、1又は2以上のユーザ及び/又はアカウントの消費資源の単位当たりのコストを表すベンチマーク(例えば、平均コスト指標)を生成するように構成することもできる。使用量アナライザ386は、1又は2以上のアカウント350、資源消費ユーザ352、及び/又はマシンコレクション356に関連する、単一の正規化単位として表された総資源使用量値を受信することができる。一部の事例では、使用量アナライザ386は、ワークロードタイプ(例えば、SPARKクラスタワークロード、ELASTICSEARCHワークロード、データ保管ワークロード、災害復旧ワークロード、開発者ワークロード、品質保証ワークロード、製造ワークロード、及び/又は同様のもの)、サービスプロバイダ(例えば、AMAZON、MICROSOFT、GOOGLE、及び/又は他の何れかのサービスプロバイダ)、ハードウェアプロバイダ(例えば、DELL、SUPERMICRO、HP、及び/又は他の何れかのハードウェアプロバイダ)、ハードウェア構成、ハイパーバイザ(例えば、VMWARE、CITRIX、OPENSTRACK、及び/又は他の何れかのハイパーバイザ)、及び/又はグループ(例えば、技術部、販売部、又は営業部等の組織内の業務単位)に対応する総資源使用量値を受信することができる。
【0087】
使用量アナライザ386はまた、消費される資源に関連するコストデータも受信することができる。コストデータは、コンピューティングシステム104(例えば、サービスプロバイダ)から、ユーザ入力から、及び/又は他の何れかのソースから受信することができる。コストデータは、それぞれのアカウント350、資源消費ユーザ352、マシンコレクション356、ワークロードタイプ、及び/又はグループに関連する総資源使用量のコストを表すものとすることができる。消費される資源に関連するコストデータは、複数のコロケーションコスト、ハードウェアコスト、ネットワーキングコスト、クラウドホスティングコスト、労働コスト、ソフトウェアライセンスコスト、コンプライアンスコスト、管理サービスコスト、コンサルタントコスト、サポートコスト、開発者/操作教育コスト、サイバーセキュリティコスト、マイグレーション機会コスト、及び/又は消費される資源のための他の何れかの関連コストのうちの1又は2以上を含むことができる。次に使用量アナライザ386は、総資源使用量のコストを総資源使用量値で除算して、単位消費値当たりのコストを取得することができる。使用量アナライザ386は、単位消費当たりのコストを利用して、ベンチマーク(例えば、平均コスト指標)を生成することができる。
【0088】
次に、単位消費値当たりのコストは、例えば、マーケットベンチマーク(例えば、1又は2以上の計測器118の全ユーザにわたる平均の単位当たりのコスト)、グループ又は業界ベンチマーク(例えば、所定の業界又はグループ内の全ユーザにわたる平均の単位当たりのコスト)、ワークロードベンチマーク(例えば、所定のワークロードを実行する全ユーザにわたる平均の単位当たりのコスト)、サービスプロバイダベンチマーク(例えば、AMAZON、MICROSOFT、GOOGLE、及び/又は他の何れかのサービスプロバイダ)、及び/又は同様のものと比較することができる。グループ又は業界のベンチマークは、例えば、会社の規模(例えば、時価総額、歳入、及び/又は同様のもの)、特定の会社内又は複数の会社にわたる業務単位又は部署(例えば、販売部、技術部、及び/又は同様のもの)及び/又は他の何れかのグループ分けに基づくことができる。
【0089】
一部の事例では、使用量アナライザ386はまた、マーケットベンチマーク、グループ又は業界ベンチマーク、サービスプロバイダベンチマーク、及び/又はワークロードベンチマークを生成するように構成することもできる。例えば、使用量アナライザ386は、1又は2以上の異なるユーザに対応する1又は2以上のアカウント350の資源使用量及び資源コストに関連するデータにアクセスするように構成することができる。
【0090】
一部の事例では、使用量アナライザ386は、分析プラットフォーム360と分離することができる。例えば、使用量アナライザ386は、複数の分析プラットフォーム360及び/又はメトリック/属性コレクタ302と通信するように構成することができる。一部の事例では、分析プラットフォーム360から遠隔で、特定のグループ又は業界、特定のアカウント、特定のワークロードの平均使用量及び平均コスト、及び複数の異なるユーザにわたる同様のものを決定するように構成されたマーケット使用量アナライザが存在することがある。これらの場合には、特定の分析プラットフォーム360のための平均使用量及び平均コストを決定するように構成された局所使用量アナライザも存在することができる。
【0091】
一部の事例では、使用量アナライザ386はまた、消費されるコンピューティング資源108を分析して、コンピューティング資源108上で実行されるワークロード110が、コンピューティング資源108を効率的に使用しているかどうかを決定するように構成することもできる。例えば、使用量アナライザ386は、コンピューティング資源108の仕様(例えば、プロセッサ速度及び/又はサイズ、メモリ速度及び/又はサイズ、GPU速度及び/又はサイズ、ストレージ速度及び/又はサイズ、及び/又は同様のもの)を分析して、これらをワークロード110の要件と比較することで、使用量アナライザ386が最適化されたコンピューティング資源構成(例えば、最良推定構成)を生成できるようにする。この場合に、使用量アナライザ386は、ユーザに送信する通知を生成させるように構成することができ、通知は、最適化されたコンピューティング資源構成の記述を含むことができる。一部の事例では、使用量アナライザ386は、ワークロード110を最適化されたコンピューティング資源構成に自動的に移行するように構成することができる。更なる実施例として、コンピューティング資源108は、専用グラフィックス・プロセッシングユニットを含むことができるが、コンピューティング資源108上で実行中のアプリケーション114及び/又はオペレーティングシステム112が、効率的に動作するために専用グラフィックス・プロセッシングユニットを必要としない場合もある。この場合、使用量アナライザ386は、ユーザに送信する通知を生成させるように構成することができる。一部の事例では、使用量アナライザ386は、専用グラフィックス・プロセッシングユニットを含まない別のコンピューティングシステム104にワークロード110を自動的に移動するように構成することができる。結果として、消費されるコンピューティング資源の単位当たりのコストを低減することができる。
【0092】
一部の事例では、使用量アナライザ386は、実行すべきワークロード110に基づいて、コンピューティング資源構成推奨を生成するように更に構成することができる。コンピューティング資源構成推奨は、それぞれのワークロード110のコンピューティング資源消費値の単位当たりのコスト、及び/又は推定性能格付けと関連付けることができる。結果として、ユーザは、複数の資源提供者及び/又は特定の資源提供者から入手可能な複数のコンピュータ資源オプションの間の資源コスト及び/又は性能を比較することができる。
【0093】
一部の事例では、使用量アナライザ386は、ユーザが所定の資源量を事前に購入する時に、ユーザの資源使用量を分析するように構成することができる。これらの場合に、使用量アナライザ386は、事前購入された資源量を利用可能な最大資源量を表す正規化値に変換して、事前購入資源の正規化値をピーク使用量値と比較することができる。言い換えれば、使用量アナライザ386は、ユーザが所定の資源量を事前購入する時に、資源の供給がユーザのピーク資源需要を満たすかどうかを決定するように構成することができる。従って、この比較に基づいて、使用量アナライザ386は、事前購入すべき資源量に関する推奨を提供するように構成することができる。
【0094】
サブスクリプションマネージャ390は、計測器118のユーザに関連するサブスクリプション情報を管理して保持する。例えば、サブスクリプションによって、それぞれのアカウント350に幾つの資源消費ユーザ352を割り当てることができるかを決定し、それぞれのユーザ(例えば、企業体)に幾つのアカウントを割り当てることができるかを決定し、それぞれのユーザが幾つのマシン354にアクセスすることができるかを決定し、幾つのマシン354をマシンコレクション356に割り当てることができるかを決定し、それぞれのユーザが幾つのマシンコレクション356を有することができるかを決定し、ログイン情報をそれぞれのユーザと関連付けて、ログイン情報の有効性(例えば、ログイン情報が失効したかどうか)、及び/又はサブスクリプション管理に関連する他の何れかのタスクを決定することができる。
【0095】
交換/契約マネージャ393は、二者(例えば、購入者及び販売者)間の契約を調整するように構成される。交換/契約マネージャ393は、契約期間に従って計測器118を無効にするように構成することができる。計測器118が無効にされた時、コンピューティング資源108へのユーザのアクセスを無効にすることができる。交換/契約マネージャ393はまた、資源使用量を監査するように構成することもできる。資源使用量の監査は、使用中と示された資源が実際に使用されたこと、及び/又は使用量が契約に従ったことを確認することを含むことができる。監査プロセスは、メトリック/属性コレクタ302によって収集されたデータを第2コレクタ(例えば、バックアップコレクタ)によって生成されたデータと比較することを含むことができる。
【0096】
分析オートメータ384は、分析プラットフォーム360の1又は2以上の機能を自動化することができる。例えば、分析オートメータ384は、分析プラットフォーム360に所定の動作を実行させるトリガイベントを受信するように構成することができる。所定の動作は、例えば、コンピューティング資源108へのアクセスの有効又は無効化、メトリック/属性コレクタ302の少なくとも一部分(例えば、メトリックレシーバ334)のアクティブ化又は非アクティブ化、1又は2以上のプラグイン358(例えば、コンピューティングシステム104との通信を有効にするように構成された1又は2以上のプラグイン358)のアクティブ化又は非アクティブ化、データベースクリーンアップの開始、及び/又は他の何れかの動作の1又は2以上を含むことができる。トリガイベントは、例えば、新規契約の受信、新規サブスクリプションの受信、管理者ユーザインタフェース372からのユーザ入力、所定の時間(例えば、新規契約/サブスクリプションの開始、及び/又は他の何れかの所定時間)、リコール要求、及び/又は同様のものを含むことができる。一部の事例では、トリガイベントは、ある期間の満了(例えば、契約期間の経過)とすることができる。例えば、分析プラットフォーム360は、契約期間の経過に応答して、所定の動作を実行することができる。
【0097】
図示のように、分析データベースマネージャ382は、分析コア376及び分析シンクロナイザ380と通信する。分析データベースマネージャ382は、分析プラットフォーム360が受信及び/又は生成したデータを管理する。例えば、分析データベースマネージャは、サブスクリプション、契約、メトリック/属性、使用量パターン(例えば、標準平均使用量パターン392、ピーク平均使用量パターン394、又は底値平均使用量パターン395)、通知閾値、トリガイベントに関連する1又は2以上のレコード(例えば、データ)、及び/又は分析プラットフォーム360によって受信される他の何れかのデータを管理する及び/又は記憶させることができる。分析データベースマネージャ382はまた、データを消去及び/又は切り捨てることもできる。例えば、分析データベースマネージャ382は、サブスクリプション、契約、メトリック/属性、使用パターン(例えば、標準平均使用量パターン392、ピーク平均使用量パターン394、又は底値平均使用量パターン395)、通知閾値、トリガイベント、及び/又は分析プラットフォーム360によって受信又は収集された他の何れかのデータに関連するレコードを消去及び/又は切り捨てることができる。消去及び/又は切り捨ては、例えば、ある期間の経過後、及び/又は例えば、サブスクリプション又は契約の非アクティブ化/終了後に行うことができる。
【0098】
分析データベースマネージャ382は、通信リンク398を介して分析データベース396と通信することができ、1又は2以上のレコードを分析データベース396上に記憶させることができる。図示のように、分析データベース396は、分析プラットフォーム360から遠隔とすることができる(例えば、異なるサーバ上、異なるネットワーク内、及び/又は異なるデバイス上で動作)。しかしながら、一部の事例では、分析データベース396は、分析プラットフォーム360に対して局所的とすることができる(例えば、同じサーバ上、同じネットワーク上、及び/又は同じデバイス上で動作)。通信リンク398を介して送信されるデータは、送信中のデータへの無許可アクセスを防ぐために暗号化することができる。一部の事例では、分析データベース396上に記憶されたレコードは、レコードへの無許可アクセスを防ぐために暗号化することができる。例えば、分析データベース396上に記憶されたレコードは、透過的データ暗号化(TDE)を用いて暗号化することができる。
【0099】
分析シンクロナイザ380は、分析メトリックレシーバ378及び/又は分析データベースマネージャ382と通信して、分析プラットフォーム360によって受信されるデータ(例えば、分析データベースマネージャ382によって受信されるデータ)を複製及び/又はバックアップすることができる。例えば、分析シンクロナイザ380は、分析データベース396上に記憶された及び/又は記憶されることになっているレコードの1又は2以上を、分析バックアップ381に複製及び/又はバックアップすることができる。一部の事例では、分析バックアップ381上に記憶されるレコードは、無許可アクセスを防ぐために暗号化することができる。レコードの1又は2以上に変更が加えられると、分析シンクロナイザ380は、その変更のみを分析バックアップ381にバックアップすることができる。図示のように、分析シンクロナイザ380は、分析バックアップ381と通信リンク383を介して通信することができる。通信リンク383を介して送信されるデータは、送信中のデータへの無許可アクセスを防ぐために暗号化することができる。図示のように、分析バックアップ381は、分析プラットフォーム360から遠隔とすることができる(例えば、異なるサーバ上、異なるネットワーク内、及び/又は異なるデバイス上で動作)。しかしながら、一部の事例では、分析バックアップ381は、分析プラットフォーム360に対して局所的とすることができる。(例えば、同じサーバ上、同じネットワーク上、及び/又は同じデバイス上で動作)。
【0100】
一部の事例では、分析プラットフォーム360と実質的に同じ動作を行うバックアップ分析プラットフォーム355を設けることができる。結果として、独立したレコードを保持することができる。独立したレコードは、例えば、監査プロセス及び/又はデータリカバリプロセスにおいて(例えば、分析プラットフォーム360が障害を経験する場合)使用することができる。バックアップ分析プラットフォーム355は、通信リンク353を用いてメトリック/属性コレクタ302に通信可能に結合することができる。
【0101】
一部の事例では、分析バックアップ381もまた、分析プラットフォーム360と実質的に同じ動作を行うバックアップ分析プラットフォームを含むことができる。言い換えれば、分析バックアップ381は、スタンドアロンの分析プラットフォームを含むことができる。結果として、独立したレコードを保持することができる。独立したレコードは、例えば、監査プロセス及び/又はデータリカバリプロセスにおいて(例えば、分析プラットフォーム360が障害を経験する場合)使用することができる。
【0102】
図示のように、使用量予測器385は、通信リンク387を介して分析コア376に通信可能に結合することができる。使用量予測器385は、(例えば、1又は2以上のアカウント350を所有又は制御する)それぞれのユーザ、それぞれのアカウント350、及び/又はそれぞれの資源消費ユーザ352の将来的な使用量を推定することができる。使用量予測器385は、例えば、標準平均使用量パターン392、ピーク平均使用量パターン394、及び/又は底値平均使用量パターン395を用いて、将来的な使用量を予測することができる。付加的又は代替的に、使用量予測器385は、機械学習を利用して資源使用量の履歴を分析して、将来的な使用量を予測する。例えば、使用量予測器385は、パターン及び/又は急増(例えば、資源使用量の増加)に関して使用量を分析することができる。将来的な使用量を予測したら、使用量予測器385はまた、予測使用量に対応する予測経済コストも推定することができる。
【0103】
図示のように、分析ユーザインタフェース389は、分析コア376と通信リンク391を介して通信することができる。分析ユーザインタフェース389は、分析プラットフォーム360及び/又はメトリック/属性コレクタ302に関連する情報を提示するディスプレイを生成するように構成することができる。例えば、分析ユーザインタフェース389は、使用量予測、標準平均使用量パターン392(例えば、グラフ又はプロットとして)、ピーク平均使用量パターン394(例えば、グラフ又はプロットとして)、底値平均使用量パターン395(例えば、グラフ又はプロットとして)、現在の契約期間、現在のサブスクリプション、アクティブ及び/又は非アクティブな通知/アラート、及び/又は分析プラットフォーム360に関連する他の何れかのデータを表示するように構成することができる。一部の事例では、分析ユーザインタフェース389は、ユーザが分析プラットフォーム360の様々な機能を修正できるように構成することができる。例えば、分析ユーザインタフェース389は、ユーザが1又は2以上のサブスクリプションを変更及び/又は取り消し、1又は2以上の契約を変更及び/又は取り消し、通知閾値及び/又は分析オートメータ384のトリガを変更、追加、及び/又は削除、及び/又は分析プラットフォーム360の他の何れかの機能を変更できるように構成することができる。
【0104】
図示のように、分析ユーザインタフェース389は、分析プラットフォーム360から遠隔とすることができる(例えば、異なるサーバ上、異なるネットワーク内、及び/又は異なるデバイス上で動作)。しかしながら、一部の事例では、分析ユーザインタフェース389は、分析プラットフォーム360に対して局所的とすることができる。(例えば、同じサーバ上、同じネットワーク上、及び/又は同じデバイス上で動作)。通信リンク391を介して送信されるデータは、データへの無許可アクセスを防ぐために暗号化することができる。
【0105】
例えば、一部の事例では、分析ユーザインタフェース389は、ウェブサーバ上に生成して表示することができる。更なる実施例として、一部の事例では、分析ユーザインタフェース389は、ネットワーク接続(例えば、インターネット)を通じて分析プラットフォーム360と通信するコンピュータ上で実行されるアプリケーションとすることができる。更なる実施例として、一部の事例では、分析ユーザインタフェース389は、局所的に(例えば、分析プラットフォーム360と同じハードウェア上で)実行されるアプリケーションとすることができる。
【0106】
通信リンク330、353、362、366、370、374、383、387、391、398、及び/又は399は、通信の確立時にセキュアソケットレイヤ(SSL)セキュリティプロトコルを利用することができる。本明細書で議論するように、通信リンク330、353、362、366、370、374、383、387、391、398、及び/又は399は各々、暗号化データを搬送することができる。従って、通信リンク330、353、362、366、370、374、383、387、391、398、及び/又は399の1又は2以上は、概して、安全な通信リンクとすることができる(例えば、通信リンク330、353、362、366、370、374、383、387、391、398、及び/又は399は、SSLセキュリティプロトコルの少なくとも1つを使用し及び/又は送信されるデータは暗号化される)。
【0107】
メトリック/属性コレクタ302及び分析プラットフォーム360は、ソフトウェア、ファームウェア、ハードウェア、及び/又はこれらの組み合わせで実施することができる。例えば、メトリック/属性コレクタ302及び分析プラットフォーム360は、1又は2以上のメモリ(例えば、何れかの種類の有形の非一時的ストレージ媒体であり、磁気記録媒体(例えば、ハードディスクドライブ)、光ディスク、読み出し専用メモリ(ROM)等の半導体デバイス、ダイナミック及びスタティックRAM等のランダムアクセスメモリ(RAM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリ、磁気又は光学カード、又は電子命令を記憶するための何れかのタイプのストレージ媒体のうちの何れか1又は2以上を含むことができる)上に記憶されて、1又は2以上のプロセッサ(例えば、INTEL、ADVANCED MICRO DEVICES、IBM、ARM、ORACLEから市販されているプロセッサ及び/又は他の何れかのプロセッサ)によって実行されるように構成されたソフトウェアとして実施することができる。更なる実施例として、メトリック/属性コレクタ302及び分析プラットフォーム360は、回路(例えば、特定用途向け集積回路)として実施することができる。メトリック/属性コレクタ302及び分析プラットフォーム360は、同じ又は異なるマシン、サーバ、及び/又はネットワーク上で実施することができる。
【0108】
図4に、
図3Aに関連して議論する変換ユニットを生成するように構成された変換ユニットジェネレータ400の概略的な実施例を示す。変換ユニットジェネレータ400は、コンピューティングシステム104、デバイス102、及びネットワーク106から分離することができる。例えば、変換ユニットジェネレータ400は、変換ユニットを生成して分析プラットフォーム312内に固定値として入力できるように、サードパーティシステムの一部分とすることができる。図示のように、変換ユニットジェネレータ400は、少なくとも第1資源変換ユニットジェネレータ402及び第2資源変換ユニットジェネレータ404を含むことができる。第1資源変換ユニットジェネレータ402は、例えば、CPU変換ユニット314、メモリ変換ユニット316、ストレージ変換ユニット318、ネットワーク変換ユニット320、及び/又はディスクI/O変換ユニット328のうちの1又は2以上を生成することができる。第2資源変換ユニットジェネレータ404は、例えば、GPUプロセッサ変換ユニット322、GPUメモリ変換ユニット324、及び/又はGPUメモリ速度変換ユニット326のうちの1又は2以上を生成することができる。
【0109】
図示のように、第1資源変換ユニットジェネレータ402は、CPU変換ユニットジェネレータ406と、メモリ変換ユニットジェネレータ408と、ストレージ変換ユニットジェネレータ410と、ネットワーク変換ユニットジェネレータ412と、ディスクIO変換ユニットジェネレータ414と、を含む。
【0110】
CPU変換ユニットジェネレータ406は、CPU割り当て416及びCPU計算部分418に少なくとも部分的に基づいて、CPU変換ユニット314を生成することができる。例えば、CPU変換ユニット314は、CPU割り当て416をCPU計算部分418で除算することによって生成することができる。
【0111】
CPU割り当て416は、ユーザがアクセス可能なCPU202のクロック速度に対応する。例えば、物理プロセッサの一部分のみを、1又は2以上のユーザのワークロードに割り当てることができる。言い換えれば、割り当てられる使用可能なクロック速度は、物理プロセッサのデフォルトクロック速度を下回ることができる。CPU計算部分418は、概して、ワークロード110の1又は2以上によって使用されるCPU資源を表す重みに対応することができる。一部の事例では、CPU計算部分418は、複数のユーザのワークロードの分析に基づく実験的に導出された値とすることができる。従って、一部の事例では、CPU計算部分418は、概して、所定の時間においてワークロードの変化を考慮するために調整可能な動的な重みとすることができる。
【0112】
メモリ変換ユニットジェネレータ408は、メモリ割り当て420及びメモリ計算部分422に少なくとも部分的に基づいて、メモリ変換ユニット316を生成することができる。例えば、メモリ変換ユニット316は、メモリ割り当て420をメモリ計算部分422で除算することによって生成することができる。
【0113】
メモリ割り当て420は、ユーザがアクセス可能なメモリ204の量に対応する。例えば、物理メモリの一部分のみを、1又は2以上のユーザのワークロードに割り当てることができる。言い換えれば、割り当てられるメモリは、利用可能な総物理メモリを下回ることができる。メモリ計算部分422は、概して、ワークロード110の1又は2以上によって使用されるメモリ資源を表す重みに対応することができる。一部の事例では、メモリ計算部分422は、複数のユーザのワークロードの分析に基づく実験的に導出された値とすることができる。従って、一部の事例では、メモリ計算部分422は、概して、所定の時間においてワークロードの変化を考慮するために調整可能な動的な重みとすることができる。
【0114】
ストレージ変換ユニットジェネレータ410は、ストレージ割り当て424及びストレージ計算部分426に少なくとも部分的に基づいて、ストレージ変換ユニット318を生成することができる。例えば、ストレージ変換ユニット318は、ストレージ割り当て424をストレージ計算部分426で除算することによって生成することができる。
【0115】
ストレージ割り当て424は、ユーザがアクセス可能なストレージ206の量に対応する。例えば、物理ストレージの一部分のみを、1又は2以上のユーザのワークロードに割り当てることができる。言い換えれば、割り当てられるストレージは、利用可能な総物理ストレージを下回ることができる。ストレージ計算部分426は、概して、ワークロード110の1又は2以上によって使用されるストレージ資源を表す重みに対応することができる。一部の事例では、ストレージ計算部分426は、複数のユーザのワークロードの分析に基づく実験的に導出された値とすることができる。従って、一部の事例では、ストレージ計算部分426は、概して、所定の時間においてワークロードの変化を考慮するために調整可能な動的な重みとすることができる。
【0116】
ネットワーク変換ユニットジェネレータ412は、ネットワーク割り当て428及びネットワーク計算部分430に少なくとも部分的に基づいて、ネットワーク変換ユニット320を生成することができる。例えば、ネットワーク変換ユニット320は、ネットワーク割り当て428をネットワーク計算部分430で除算することによって生成することができる。
【0117】
ネットワーク割り当て428は、ユーザがアクセス可能なネットワーク帯域幅に対応する。例えば、総物理ネットワーク帯域幅の一部分のみを、1又は2以上のユーザのワークロードに割り当てることができる。言い換えれば、割り当てられるネットワーク帯域幅は、利用可能なネットワーク帯域幅を下回ることができる。ネットワーク計算部分430は、概して、ワークロード110の1又は2以上によって使用されるネットワーク資源(例えば、帯域幅)を表す重みに対応することができる。一部の事例では、ネットワーク計算部分430は、複数のユーザのワークロードの分析に基づく実験的に導出された値とすることができる。従って、一部の事例では、ネットワーク計算部分430は、概して、所定の時間においてワークロードの変化を考慮するために調整可能な動的な重みとすることができる。
【0118】
ディスクIO変換ユニットジェネレータ414は、ディスクIO割り当て432及びディスクIO計算部分434に少なくとも部分的に基づいて、ディスクIO変換ユニット328を生成することができる。例えば、ディスクIO変換ユニット328は、ディスクIO割り当て432をディスクIO計算部分434で除算することによって生成することができる。
【0119】
ディスクIO割り当て432は、ユーザがアクセス可能なディスク帯域幅(例えば、ストレージ206への読み書き)に対応する。例えば、物理ディスク帯域幅の一部分のみを、1又は2以上のユーザのワークロードに割り当てることができる。言い換えれば、割り当てられるディスク帯域幅は、利用可能な総物理ディスク帯域幅を下回ることができる。ディスクIO計算部分434は、概して、ワークロード110の1又は2以上によって使用されるディスクIO資源を表す重みに対応することができる。一部の事例では、ディスク計算部分434は、複数のユーザのワークロードの分析に基づく実験的に導出された値とすることができる。従って、一部の事例では、ディスク計算部分434は、概して、所定の時間においてワークロードの変化を考慮するために調整可能な動的な重みとすることができる。
【0120】
CPU計算部分418、メモリ計算部分422、ストレージ計算部分426、ネットワーク計算部分430、及びディスクIO計算部分434の合計は、100となることができる。言い換えれば、各計算部分は、計算部分を100で除算することによって、第1資源変換ユニットジェネレータ402によって評価された総コンピューティング資源のパーセンテージとして表すことができる。
【0121】
図示のように、第2資源変換ユニットジェネレータ404は、GPUプロセッサ変換ユニットジェネレータ436と、GPUメモリ変換ユニットジェネレータ438と、GPUメモリ速度変換ユニットジェネレータ440と、を含む。
【0122】
GPUプロセッサ変換ユニットジェネレータ436は、GPUプロセッサ割り当て442及びGPUプロセッサ計算部分444に少なくとも部分的に基づいて、GPUプロセッサ変換ユニット322を生成することができる。例えば、GPUプロセッサ変換ユニット322は、GPUプロセッサ割り当て442をGPUプロセッサ計算部分444で除算することによって生成することができる。
【0123】
GPUプロセッサ割り当て442は、ユーザがアクセス可能なGPU210のクロック速度に対応する。例えば、物理GPUプロセッサの一部分のみを、1又は2以上のユーザのワークロードに割り当てることができる。言い換えれば、割り当てられるGPUプロセッサの使用可能なクロック速度は、物理GPUプロセッサのデフォルトクロック速度を下回ることができる。GPUプロセッサ計算部分444は、概して、ワークロード110の1又は2以上によって使用されるGPUプロセッサ資源を表す重みに対応することができる。一部の事例では、GPUプロセッサ計算部分444は、複数のユーザのワークロードの分析に基づく実験的に導出された値とすることができる。従って、一部の事例では、GPUプロセッサ計算部分444は、概して、所定の時間においてワークロードの変化を考慮するために調整可能な動的な重みとすることができる。
【0124】
GPUメモリ変換ユニットジェネレータ438は、GPUメモリ割り当て446及びGPUメモリ計算部分448に少なくとも部分的に基づいて、GPUメモリ変換ユニット324を生成することができる。例えば、GPUメモリ変換ユニット324は、GPUメモリ割り当て446をGPUメモリ計算部分448で除算することによって生成することができる。
【0125】
GPUメモリ割り当て446は、ユーザがアクセス可能なGPU210のメモリの量に対応する。例えば、GPU210の物理メモリの一部分のみを、1又は2以上のユーザのワークロードに割り当てることができる。言い換えれば、割り当てられるGPU210のメモリは、利用可能なGPU210の総物理メモリを下回ることができる。GPUメモリ計算部分448は、概して、ワークロード110の1又は2以上によって使用されるメモリ資源を表す重みに対応することができる。一部の事例では、GPUメモリ計算部分448は、複数のユーザのワークロードの分析に基づく実験的に導出された値とすることができる。従って、一部の事例では、GPUメモリ計算部分448は、概して、所定の時間においてワークロードの変化を考慮するために調整可能な動的な重みとすることができる。
【0126】
GPUメモリ速度変換ユニットジェネレータ440は、GPUメモリ速度割り当て450及びGPUメモリ速度計算部分452に少なくとも部分的に基づいて、GPUメモリ速度変換ユニット326を生成することができる。例えば、GPUメモリ速度変換ユニット326は、GPUメモリ速度割り当て450をGPUメモリ速度計算部分452で除算することによって生成することができる。
【0127】
GPUメモリ速度割り当て450は、ユーザがアクセス可能なGPUメモリのクロック速度に対応する。例えば、物理GPUメモリのクロック速度の一部分のみを、1又は2以上のユーザのワークロードに割り当てることができる。言い換えれば、割り当てられるGPUメモリの使用可能なクロック速度は、物理GPUメモリのデフォルトクロック速度を下回ることができる。GPUメモリ速度計算部分452は、概して、ワークロード110の1又は2以上によって使用されるGPUメモリ速度資源を表す重みに対応することができる。一部の事例では、GPUメモリ計算部分452は、複数のユーザのワークロードの分析に基づく実験的に導出された値とすることができる。従って、一部の事例では、GPUメモリ速度計算部分452は、概して、所定の時間においてワークロードの変化を考慮するために調整可能な動的な重みとすることができる。
【0128】
GPUプロセッサ計算部分444、GPUメモリ計算部分448、及びGPUメモリ速度計算部分452の合計は、100となることができる。言い換えれば、各計算部分は、計算部分を100で除算することによって、第2資源変換ユニットジェネレータ404によって評価された総コンピューティング資源のパーセンテージとして表現することができる。
【0129】
前述のように、物理コンピューティング資源108は、付加的又は代替的に、他の資源209を含むことができる。議論するように、他の資源209は、フィールドプログラマブルゲートアレイ(FPGA)、テンソル・プロセッシングユニット(TPU)、インテリジェンス・プロセッシングユニット(IPU)、ニューラル・プロセッシングユニット(NPU)、ビジョン・プロセッシングユニット(VPU)、デジタルシグナルプロセッサ(DSP)、アクセラレーテッド・プロセッシングユニット(APU)、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)、プログラマブルSoC、特定用途向け標準品(ASSP)、適応型コンピューティングアクセラレーション・プラットフォーム(ACAP)、マイクロコントローラ、及び/又は他の何れかのコンピューティング資源のうちの何れか1又は2以上を含むことができる。これらの場合に、資源変換ユニットは各々、他のコンピューティング資源209のそれぞれに対応する独立した資源変換ユニットジェネレータを用いて決定することができる。例えば、変換ユニットジェネレータ400は、他の資源の変換ユニットジェネレータ454を含むことができる。他の資源の変換ユニットジェネレータ454は、他の資源209のそれぞれに対応する1又は2以上の変換ユニットを生成するように構成することができる。
【0130】
図5に、例えば、
図1のシステムで使用可能な、異種コンピューティング資源の使用量を単一の測定単位として定量化するための方法500のフローチャート例を示す。方法500は、1又は2以上のプロセッサ(例えば、CPU202)によって実行するように構成された、1又は2以上の非一時的コンピュータ可読媒体(例えば、ストレージ206)内の1又は2以上の命令として具現化することができる。
【0131】
図示のように、方法500は、ステップ502を含むことができる。ステップ502は、コンピューティングシステム(例えば、コンピューティングシステム104)上でワークロード(例えば、ワークロード110)を実行させるステップを含むことができる。一部の事例では、ワークロードは、例えば、デバイス102からの要求の受信に応答して実行させることができる。付加的又は代替的に、ワークロードは、コンピューティングシステムの動作によって生じる1又は2以上のアイドルプロセスを含むことができる。
【0132】
方法500はまた、ステップ504も含むことができる。ステップ504は、ある期間(例えば、1秒、10秒、1分、1時間、1日、1週間、1ヶ月、1年、及び/又は他の何れかの適切な期間)にわたるワークロードの実行によって使用(例えば、消費)された物理資源量を測定するステップを含むことができる。仮想資源使用量を測定するハイパーバイザによって利用可能なバルーニング技術によって用いられる不正確な読取値を回避又は他の方法で軽減するために、(例えば、仮想資源とは対照的に)物理資源量を測定することができる。更に、物理資源を直接測定することによって、仮想マシンを実行していないハードウェアを含む複数の形態のハードウェアにおいて方法を実行することが可能である。従って、この方法は、パッケージ化ソフトウェア(例えば、コンテナ)を利用するシステムで実施することが可能である。
【0133】
方法500は、ステップ506を含むことができる。ステップ506は、使用される物理資源の測定値を正規化するステップを含むことができる。測定値の正規化は、異種の資源(例えば、CPU資源、メモリ資源、ストレージ資源、ネットワークインタフェース資源、GPU資源、及び/又は他の何れかのコンピューティング資源)の各々を共通単位に変換するステップ(例えば、
図3及び4に関連して説明したように)を含むことができる。
【0134】
方法500は、ステップ508を含むことができる。ステップ508は、正規化された測定値を合計するステップを含むことができる。方法500はまた、ステップ510も含むことができる。ステップ510は、使用される正規化資源の合計を表す単一の値を生成するステップを含むことができる。例えば、生成された単一の値は、合計結果とすることができる。他の場合には、生成された値が、ある時間ウィンドウにわたって合計された正規化資源の平均(例えば、合計した個々の正規化値が曜日に対応する週間平均)を表すことができる。
【0135】
図6に、例えば、
図1のシステムで使用可能な、異種コンピューティング資源の最大値又は最小値を単一の測定単位として定量化するための方法600のフローチャート例を示す。方法は、1又は2以上のプロセッサ(例えば、CPU202)によって実行するように構成された、1又は2以上の非一時的コンピュータ可読媒体(例えば、ストレージ206)内の1又は2以上の命令として具現化することができる。
【0136】
方法は、ステップ602を含むことができる。ステップ602は、ある期間にわたって、利用可能な物理資源の最大量を測定するステップ及び/又はある期間にわたって、アイドルプロセス(例えば、アイドルプロセス113)を実行するための物理資源の最小量を測定するステップを含むことができる。
【0137】
方法は、ステップ604を含むことができる。ステップ604は、利用可能な異種物理資源(例えば、使用済み及び非アクティブな資源)の測定値を正規化するステップを含むことができる。測定値の正規化は、異種資源(例えば、CPU資源、メモリ資源、ストレージ資源、ネットワークインタフェース資源、GPU資源、及び/又は他の何れかのコンピューティング資源)の各々を共通単位に変換するステップ(例えば、
図3A-C及び4に関連して説明したように)を含むことができる。
【0138】
方法はまた、ステップ606も含むことができる。ステップ606は、利用可能な物理資源の正規化された測定値を合計するステップを含むことができる。方法は、ステップ608を含むことができる。ステップ608は、利用可能な正規化資源の合計を表す単一の値を生成するステップを含むことができる。例えば、生成された単一の値は、合計結果とすることができる。更なる実施例として、生成された単一の値は、合計結果に基づく調整値とすることができる。
【0139】
一部の事例では、ある期間にわたって利用可能な物理コンピューティング資源の最大量及び/又は最小量は、個々の物理コンピューティング資源に対応する仕様に少なくとも部分的に基づいて計算することができる。これにより、ユーザは物理コンピューティング資源へのアクセスがなくとも、利用可能な物理コンピューティング資源の最大量及び/又は最小量を推定することができる。一部の事例では、計算された値を、方法600の測定値と比較することができる。例えば、計算された値を測定値と比較して、個々のコンピューティング資源に対応する仕様及び/又は計算方法を調整することで、利用可能な物理コンピューティング資源の最大量及び/又は最小量の推定を改善することができる。
【0140】
本開示の1つの態様によれば、コンピューティングネットワークを提供する。コンピューティングネットワークは、少なくとも1つのワークロードを実行するように構成された物理コンピューティング資源を含むことができる。コンピューティングネットワークはまた、ある期間にわたって使用される物理コンピューティング資源量を測定するように構成された計測器も含むことができる。計測器は、ある期間にわたって使用される物理資源量を表す単一の使用量値を生成することができる。
【0141】
本開示の別の態様によれば、1又は2以上のプロセッサによって実行された時に、1又は2以上のプロセッサに1又は2以上の動作を実行させる命令を格納させた少なくとも1つのコンピュータ可読ストレージ媒体を提供する。1又は2以上の動作は、ある期間にわたって使用される1又は2以上の物理コンピューティング資源の量を測定するステップを含むことができる。1又は2以上の動作はまた、使用される各物理コンピューティング資源の各測定量を正規化するステップも含むことができる。1又は2以上の動作は、使用される物理コンピューティング資源の正規化された測定量を合計するステップを更に含むことができる。1又は2以上の動作はまた、その期間にわたって使用される物理コンピューティング資源を表す単一の使用量値を、正規化された物理コンピューティング資源の合計に基づいて生成するステップも含むことができる。
【0142】
本開示の更なる別の態様によれば、方法を提供する。方法は、ある期間にわたって使用される1又は2以上の物理コンピューティング資源の量を測定するステップを含むことができる。方法はまた、使用される各物理コンピューティング資源の各測定量を正規化するステップも含むことができる。方法は、使用される物理コンピューティング資源の正規化された測定量を合計するステップを更に含むことができる。方法はまた、その期間にわたって使用される物理コンピューティング資源を表す単一の使用量値を、正規化された物理コンピューティング資源の合計に基づいて生成するステップも含むことができる。
【0143】
本開示の更なる別の態様によれば、コンピューティングネットワークを提供する。コンピューティングネットワークは、デバイスに通信可能に結合するように構成されたコンピューティングシステムを含むことができる。コンピューティングシステムは、少なくとも1つのワークロードを実行するように構成することができる。コンピューティングシステムは、少なくとも1つのワークロードを実行するように構成された物理コンピューティング資源を含むことができる。コンピューティングシステムはまた、ある期間にわたって使用される物理コンピューティング資源の量を測定するように構成された計測器も含むことができる。計測器は、その期間にわたって使用される物理資源の量を表す単一の使用量値を生成することができる。
【0144】
本開示の更なる別の態様によれば、異種コンピュータ資源を測定するためのシステムを提供する。計測器は、少なくとも1つのコレクタを含むことができる。コレクタは、ある期間にわたって少なくとも1つのコンピューティングシステムから1又は2以上のメトリックを受信するように構成された少なくとも1つのメトリックレシーバを含むことができ、メトリックは物理資源使用量に対応する。計測器はまた、受信したメトリックの各々を正規化して、正規化されたメトリックを合計して、その期間にわたる物理資源使用量を表す単一の使用量値を生成するように構成された少なくとも1つの分析プラットフォームも含むことができる。
【0145】
本開示の更なる別の態様によれば、コンピューティングネットワークを提供する。コンピューティングネットワークは、1又は2以上のワークロードを実行するように構成された複数の物理コンピューティング資源と、コンピューティングシステムに通信可能に結合された計測器と、を有するコンピューティングシステムを含むことができる。計測器は、ある期間にわたって使用される物理コンピューティング資源の量を測定するように構成することができる。計測器は、コンピューティングシステムから1又は2以上のメトリックを受信するように構成された少なくとも1つのメトリックレシーバを含む少なくとも1つのコレクタを含むことができ、メトリックは、使用される物理資源の量に対応する。計測器はまた、コレクタと通信して、受信したメトリックの各々を正規化して、正規化されたメトリックを合計して、その期間にわたる物理資源使用量を表す単一の使用量値を生成するように構成された少なくとも1つの分析プラットフォームも含むことができる。
【0146】
本開示の更なる別の態様によれば、コンピューティングネットワークを提供する。コンピューティングネットワークは、デバイスに通信可能に結合するように構成されたコンピューティングシステムを含むことができる。コンピューティングシステムは、少なくとも1つのワークロードを実行するように構成することができる。コンピューティングシステムは、少なくとも1つのワークロードを実行するように構成された物理コンピューティング資源を含むことができる。コンピューティングシステムは、計測器と通信するように構成することができる。計測器は、使用される物理コンピューティング資源の量を測定するように構成することができ、計測器は、使用される物理資源量を表す単一の使用量値を生成するように更に構成される。
【0147】
本開示の更なる別の態様によれば、コンピューティングネットワークを提供する。コンピューティングネットワークは、1又は2以上のワークロードを実行するように構成された複数の物理コンピューティング資源を有するコンピューティングシステムを含むことができる。コンピューティングネットワークはまた、コンピューティングシステムから1又は2以上のメトリックを受信するように構成された少なくとも1つのメトリックレシーバを有する少なくとも1つのコレクタも含むことができ、1又は2以上のメトリックは、物理コンピューティング資源の使用量に対応する。コンピューティングネットワークは、コンピューティングシステムから1又は2以上のメトリックを受信するように構成されたバックアップレシーバを有する少なくとも1つのバックアップコレクタを更に含むことができる。コンピューティングネットワークはまた、メトリックコレクタ又はバックアップコレクタのうちの少なくとも1つと通信する少なくとも1つの分析プラットフォームも含むことができ、分析プラットフォームは、受信したメトリックの各々を正規化して、正規化されたメトリックを合計して、単一の使用量値を生成するように構成することができる。
【0148】
本開示の更なる別の態様によれば、異種コンピュータ資源を測定するためのシステムを提供する。システムは、少なくとも1つのメトリックレシーバ及びアカウントマネージャを含む少なくとも1つのコレクタを含むことができる。メトリックレシーバは、少なくとも1つのコンピューティングシステムから1又は2以上のメトリックを受信するように構成することができ、メトリックは、物理資源使用量に対応する。アカウントマネージャは、複数のアカウントを管理するように構成することができる。複数のアカウントの各々は、少なくとも1つの資源消費ユーザと関連付けることができ、各資源消費ユーザの物理資源使用量は、それぞれのアカウントと関連付けられる。システムはまた、物理資源使用量の単位当たりのコストを表す1又は2以上のアカウントのためのベンチマークを生成するように構成された使用量アナライザも含むことができる。
【0149】
本開示の更なる別の態様によれば、コンピューティングネットワークを提供する。コンピューティングネットワークは、デバイスに通信可能に結合するように構成されたコンピューティングシステムを含むことができる。コンピューティングシステムはまた、少なくとも1つのワークロードを実行するように構成することもできる。コンピューティングシステムは、少なくとも1つのワークロードを実行するように構成された物理コンピューティング資源を含むことができる。コンピューティングネットワークはまた、ある期間にわたって使用される物理コンピューティング資源の量を測定して、その期間にわたって使用される物理資源の量を表す単一の使用量値を生成するように構成された計測器も含むことができる。計測器は、デバイスによるコンピューティングシステムの少なくとも一部分へのアクセスを選択的に無効にするように更に構成することができる。
【0150】
本開示の更なる別の態様によれば、方法を提供する。ある期間にわたって使用される複数の物理コンピューティング資源の量を測定するステップを含むことができる。方法はまた、使用される各物理コンピューティング資源の各測定量を正規化するステップも含むことができる。方法はまた、使用される物理コンピューティング資源の正規化された測定量を合計して、その期間にわたって使用される物理コンピューティング資源を表す単一の使用量値を生成するステップも含むことができる。
【0151】
一部の事例では、複数の物理コンピューティング資源は、複数の異種物理コンピューティング資源を含むことができる。一部の事例では、複数の物理コンピューティング資源は、グラフィックス・プロセッシングシステム、フィールドプログラマブルゲートアレイ、特定用途向け集積回路、システムオンチップ、デジタルシグナルプロセッサ、マイクロコントローラ、又は適応型コンピューティングアクセラレーション・プラットフォームのうちの1又は2以上を含むことができる。一部の事例では、複数の物理コンピューティング資源は、グラフィックス・プロセッシングシステムを含み、グラフィックス・プロセッシングシステムは、グラフィックスプロセッサ及びグラフィックスメモリを含むことができる。一部の事例では、方法は、ある期間にわたって利用可能な複数の物理コンピューティング資源の最大量を測定するステップと、利用可能な各物理コンピューティング資源の測定された各最大量を正規化するステップと、利用可能な物理コンピューティング資源の正規化された最大測定量を合計して、その期間にわたって利用可能な物理コンピューティング資源の最大量を表す単一の利用可能な資源値を生成するステップと、を更に含むことができる。
【0152】
本開示の更なる別の態様によれば、コンピューティングネットワークを提供する。コンピューティングネットワークは、1又は2以上のワークロードを実行するように構成された複数の物理コンピューティング資源を有する1又は2以上のコンピューティングシステムを含むことができる。コンピューティングネットワークはまた、1又は2以上のコンピューティングシステムから複数のメトリックを受信するように構成された少なくとも1つのメトリックレシーバを各々が有する1又は2以上のメトリックコレクタも含むことができる。複数のメトリックは、物理コンピューティング資源の使用量に対応することができる。コンピューティングネットワークはまた、受信したメトリックの各々を正規化するように構成された1又は2以上の分析プラットフォームも含むことができる。
【0153】
一部の事例では、1又は2以上の分析プラットフォームは、正規化されたメトリックを合計して、単一の使用量値を生成するように更に構成することができる。一部の事例では、物理コンピューティング資源使用量の少なくとも一部分は、1又は2以上のアカウントに関連することができる。一部の事例では、1又は2以上のアカウントは、複数のアカウントを含み、少なくとも1つのアカウントは、物理コンピューティング資源使用量の一部分に関連することができ、少なくとも1つの他のアカウントは、物理コンピューティング資源使用量の異なる部分に関連することができる。一部の事例では、メトリックコレクタの少なくとも1つは、1又は2以上のプラグインを有するプラグインデータベースを更に含むことができ、1又は2以上のプラグインは、メトリックコレクタの少なくとも1つが1又は2以上のコンピューティングシステムと通信できるように構成することができる。一部の事例では、分析プラットフォームは、物理コンピューティング資源使用量と閾値との比較に少なくとも部分的に基づいて、通知を生成するように構成することができる。一部の事例では、1又は2以上の分析プラットフォームは、複数の分析プラットフォームを含むことができ、分析プラットフォームの少なくとも1つは、バックアップ分析プラットフォームとすることができる。一部の事例では、1又は2以上の分析プラットフォームは、所定の時間にメトリックコレクタの少なくとも1つをアクティブ化又は非アクティブ化するように構成することができる。一部の事例では、メトリックコレクタの少なくとも1つは、1又は2以上の分析プラットフォームの少なくとも1つを含むことができる。一部の事例では、1又は2以上のメトリックコレクタは、複数のメトリックコレクタを含み、複数のメトリックコレクタの少なくとも1つは、バックアップメトリックコレクタとすることができる。一部の事例では、分析プラットフォームは、受信するメトリックに少なくとも部分的に基づいて、ある期間にわたる各物理コンピューティング資源に対応するピーク使用量(例えば、最大使用量)、底値使用量(例えば、最小使用量)、又は平均使用量のうちの1又は2以上を決定するように更に構成することができる。
【0154】
本開示の更なる別の態様によれば、1又は2以上のプロセッサによって実行された時に、1又は2以上の動作を実行させる1又は2以上の命令を格納させた少なくとも1つのコンピュータ可読ストレージ媒体が提供される。動作は、ある期間にわたって使用される複数の物理コンピューティング資源の量を測定するステップを含むことができる。動作はまた、使用される各物理コンピューティング資源の各測定量を正規化するステップも含むことができる。動作はまた、使用される物理コンピューティング資源の正規化された測定量を合計して、その期間にわたって使用される物理コンピューティング資源を表す単一の使用量値を生成するステップも含むことができる。
【0155】
一部の事例では、複数の物理コンピューティング資源は、複数の異種物理コンピューティング資源を含むことができる。一部の事例では、複数の物理コンピューティング資源は、グラフィックス・プロセッシングシステム、フィールドプログラマブルゲートアレイ、特定用途向け集積回路、システムオンチップ、デジタルシグナルプロセッサ、マイクロコントローラ、又は適応型コンピューティングアクセラレーション・プラットフォームのうちの1又は2以上を含むことができる。一部の事例では、複数の物理コンピューティング資源は、グラフィックス・プロセッシングシステムを含み、グラフィックス・プロセッシングシステムは、グラフィックスプロセッサ及びグラフィックスメモリを含むことができる。一部の事例では、動作は、ある期間にわたって利用可能な複数の物理コンピューティング資源の最大量を測定するステップと、利用可能な各物理コンピューティング資源の測定された各最大量を正規化するステップと、利用可能な各物理コンピューティング資源の正規化された最大測定量を合計して、その期間にわたって利用可能な物理コンピューティング資源の最大量を表す単一の利用可能な資源値を生成するステップと、を更に含むことができる。一部の事例では、動作はまた、プラグインデータベースにアクセスするステップも含むことができ、プラグインデータベースは、複数の物理コンピューティング資源の測定を可能にするように構成された1又は2以上のプラグインを含むことができる。一部の事例では、動作は、ある期間にわたる各物理コンピューティング資源に対応するピーク使用量(例えば、最大使用量)、底値使用量(例えば、最小使用量)、又は平均使用量のうちの1又は2以上を決定するステップを更に含むことができる。
【0156】
本開示の更なる別の態様によれば、方法を提供する。方法は、ある期間にわたって使用されるグラフィックス・プロセッシングシステム資源の量を測定するステップを含むことができ、グラフィックス・プロセッシングシステム資源は、グラフィックスプロセッサ及びグラフィックスメモリを含むことができる。方法はまた、グラフィックスプロセッサ及びグラフィックスメモリに対応する測定量を正規化するステップも含むことができる。方法はまた、正規化された測定量を合計して、その期間にわたって使用されるグラフィックス・プロセッシングシステム資源を表す単一の使用量値を生成するステップも含むことができる。
【0157】
本明細書では本開示の幾つかの実施形態について説明して図示してきたが、当業者であれば、機能を実行する及び/又は本明細書に記載する結果及び/又は利点の1又は2以上を得るための様々な他の手段及び/又は構造に容易に想到し、このような変形及び/又は修正の各々は本開示の範囲内に含まれるとみなされる。より一般的には、当業者であれば、本明細書に記載する全てのパラメータ、寸法、材料、及び構成は、例示的であることを意味し、及び実際のパラメータ、寸法、材料、及び/又は構成は、本開示の教示が使用される1又は複数の特定の用途によって決まることは容易に理解されるであろう。
【0158】
当業者であれば、通常の実験、本明細書に記載する特定の実施形態の多くの均等物だけを用いずとも理解し、或いは解明することが可能である。従って、前述の実施形態は、単なる例として提示されること、及び添付の特許請求の範囲及びこれらの均等物の範囲内で、本開示は、具体的に説明して請求するものとは異なる方法で実行できる点は理解されたい。本開示は、本明細書に記載の各個別の特徴、システム、物品、材料、キット、及び/又は方法に向けられる。加えて、このような特徴、システム、物品、材料、キット、及び/又は方法が相互に矛盾しない場合は、このような特徴、システム、商品、材料、キット、及び/又は方法のうちの2又はそれ以上の何れの組み合わせも、本開示の範囲内に含まれる。
【0159】
本明細書及び特許請求の範囲で用いられる不定冠詞「a」及び「an」は、他の意味に明確に示されていない限り、「少なくとも1つ」を意味するものと理解すべきである。
【0160】
本明細書で用いられる用語「couple(結合する)」及び「coupled(結合された)」は、他の意味に明確に示されていない限り、直接及び間接の両方の結合を包含する。
【0161】
本明細書及び特許請求の範囲で用いられる語句「and/or(及び/又は)」は、そのように結合された要素の「何れか又は両方」を意味するものと理解すべきであり、すなわち、要素は、一部の場合には連続して存在すること、及び他の場合には分離して存在することを理解すべきである。具体的に識別されるこれらの要素に関連しようと又は無関係であろうと、「and/or(及び/又は)」節によって具体的に識別される要素以外の他の要素が、他の意味に明確に示されていない限り、任意で存在することがある。
【符号の説明】
【0162】
100 コンピューティングネットワーク
102 デバイス
104 コンピューティングシステム
106 ネットワーク
108 コンピューティング資源
110 ワークロード
112 オペレーティングシステム
113 アイドルプロセス
114 アプリケーション
116 ディスプレイ
118 計測器