JP2014509036A - メトリックデータに動的にタグを付けるための方法およびシステム - Google Patents

メトリックデータに動的にタグを付けるための方法およびシステム Download PDF

Info

Publication number
JP2014509036A
JP2014509036A JP2014501170A JP2014501170A JP2014509036A JP 2014509036 A JP2014509036 A JP 2014509036A JP 2014501170 A JP2014501170 A JP 2014501170A JP 2014501170 A JP2014501170 A JP 2014501170A JP 2014509036 A JP2014509036 A JP 2014509036A
Authority
JP
Japan
Prior art keywords
tag
user
tagging
metrics
additional
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.)
Granted
Application number
JP2014501170A
Other languages
English (en)
Other versions
JP5770358B2 (ja
Inventor
セイマー、マーヴィン、エム
ブランドワイン、エリック、ジェイ
ブラウン、デイビット
ブルッカー、マルク、ジェイ
フラー、エリック、ジェイ
Original Assignee
アマゾン・テクノロジーズ、インコーポレイテッド
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 アマゾン・テクノロジーズ、インコーポレイテッド filed Critical アマゾン・テクノロジーズ、インコーポレイテッド
Publication of JP2014509036A publication Critical patent/JP2014509036A/ja
Application granted granted Critical
Publication of JP5770358B2 publication Critical patent/JP5770358B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

コンピューティングリソースのプロバイダによってメトリックデータに動的にタグ付けするためのシステムおよび方法が説明される。要求ユーザまたはアプリケーションは、コンピューティングリソースのプロバイダに、要求ユーザまたはアプリケーションによって指定される構成および/または設定に基づいてメトリックにタグ付けするよう要求することができる。次いで、タグ付けされたメトリックデータは、後で処理ユーザまたはアプリケーションによって処理することができる。
【選択図】図1

Description

会社および組織は、それらの活動を支援するために多数のコンピューティングシステムを相互接続するコンピュータネットワークを運営する。コンピューティングシステムは、単一の地理的な場所に(例えば、ローカルネットワークの一部として)位置させるか、または複数の別個の地理的な場所(1つ以上のプライベートまたはパブリック中間ネットワークを介して接続される)に位置させることができる。データセンターは、膨大な数の相互接続されたコンピューティングシステムを格納することができ、例えばプライベートデータセンターは、単一の組織によって運営され、また、パブリックデータセンターは、顧客にコンピューティングリソースを提供するために、第三者によって運営される。パブリックおよびプライベートデータセンターは、ネットワークアクセス、電力、ハードウェアリソース(例えば、計算および記憶)、およびデータセンター、組織、または他の顧客によって所有されるハードウェアのための安全な設置施設を提供することができる。
データセンターリソースの利用度増加を促進するために、仮想化技術は、単一の物理コンピューティングマシンが、接続されたコンピュータユーザに対して独立したコンピュータマシンとして現れ、動作する、仮想マシンの1つ以上のインスタンスをホストすることを可能にすることができる。仮想化によって、単一の物理コンピューティングデバイスは、動的な様式で仮想マシンを作成、維持、または削除することができる。その結果、ユーザは、データセンターからコンピュータリソースを要求することができ、可変数の仮想マシンリソースを「必要に応じて」、または少なくとも「要求に応じて」ユーザに提供することができる。
データセンターの規模および範囲が増大するにつれて、データセンターの物理および仮想コンピューティングリソースを提供、管理、および監視する作業がますます複雑になってきた。
図面全体を通して、参照される要素間の対応関係を示すために、参照番号が再使用され得る。図面は、本明細書で説明される例示的な実施形態を例示するために提供されているものであり、本開示の範囲を限定することを意図しない。
通信ネットワークを介して複数のユーザコンピューティングシステムにコンピューティングリソースを提供することができる、プログラム実行サービスの一実施例を概略的に例示するネットワーク図である。 プログラム実行サービスのユーザまたはアプリケーションによって要求されるメトリックのタグ付けを管理するように構成される、動的タグ付けマネージャの例示的な構成要素の概略ブロック図である。 ユーザコンピューティングシステムとプログラム実行サービスの動的タグ付けマネージャとの間の例示的な相互作用を概略的に例示するネットワーク図である。 動的タグ付けマネージャと、ユーザコンピューティングシステムと、コンピューティングリソースとの間の例示的な相互作用を概略的に例示するネットワーク図である。 動的タグ付けマネージャ構成要素によって実装される動的タグ付けマネージャルーチンを例示するフロー図である。 メトリックデータのタグ付けを要求するために使用することができる表示の一実施例を示す図である。 タグ付けしたメトリックデータを提示するために出力することができる表示の一実施例を示す図である。
コンピューティングリソースのプロバイダによってメトリックデータに動的にタグ付けするための、システムおよび方法の実施形態を説明する。例示的に、コンピューティングリソースは、プログラム実行機能、データ記憶装置または管理機能、ネットワーク帯域幅等を含むことができる。いくつかの実装において、ユーザは、将来の使用期間中にユーザのためのコンピュータリソースを管理および予約することができる、仮想化インフラストラクチャを生成することを要求することができる。例えば、ユーザは、将来の使用期間中にユーザのためのデータ記憶装置またはネットワーク帯域幅を管理および予約することができる、仮想化インフラストラクチャを生成することを要求することができる。コンピューティングリソースプロバイダは、ユーザの要求を満たすためにプロバイダのコンピュータリソースのうちのどれを利用可能にすることができるのかを決定することができ、そして、要求された使用期間中にそのようなコンピュータリソースをユーザに割り当てることができる。
仮想化環境は、プログラム実行サービス上でユーザプログラムを実行するための1つ以上のインフラストラクチャサービスとともに、ユーザプログラムのためのアプリケーションソフトウェアスタックを含む、ランタイム環境とすることができる。仮想化環境としては、ユーザが選択可能なオペレーティングシステム(例えば、Linux(登録商標)、Windows(登録商標)等)、アプリケーションサーバ(例えば、Apache Tomcat)、システムまたはアプリケーション構成等が挙げられる。仮想化環境は、特定のURLでホストされるように構成することができる。インフラストラクチャサービスとしては、要求されたコンピューティングリソース全体にわたって作業負荷を分配するためのロードバランサ、負荷または需要の変動に応答してコンピューティングリソースをスケーリングするためのロードスケーラ、コンピューティングリソースへのアクセスを制御するためのファイアウォールもしくは他のサービス、ユーザがプログラムの実行を監視することを可能にする監視インターフェース、データ記憶リソース(例えば、スケーラブルボリュームブロック記憶装置)等が挙げられるが、これらに限定されない。いくつかの実施形態において、ユーザは、仮想化インフラストラクチャに含むことができる1つ以上のプログラムまたはサービスを選択することが可能であり得る。例えば、ユーザは、複数のデータベースモデル(例えば、リレーショナルデータベース、SQLデータベース、Oracleデータベース等)から選択することが可能であり得る。いくつかの実施形態において、インフラストラクチャサービスは、複数のユーザの間で共用リソースとするのではなく、ユーザ向けにカスタマイズすることができる。例えば、いくつかのそのような実施形態において、ロードバランサは、プログラム実行サービスの複数のユーザの間で共有または分配するのではなく、ユーザのアプリケーション向けに個々にカスタマイズすることができる。
メトリックデータは、ユーザに割り当てられた種々のコンピューティングリソースのために収集することができる。コンピューティングリソースのメトリックデータは、コンピュータリソースの使用パターンおよび機能を監視するために、分析、傾向把握、報告等を行うことができる。メトリックデータは、プログラム実行サービスまたは別のサービスによって収集することができる。例えば、コンピュータリソースの動作性能、リソース利用度、需要パターン等を測定することができる。いくつかの実装において、メトリックデータは、要求ユーザまたはアプリケーションによる要求に応じて、タグ付けすることができる。要求ユーザまたはアプリケーションは、タグ付けしたメトリックデータを後で処理することができるように、任意のキー/値対をメトリックデータに追加するよう仮想化インフラストラクチャに要求することができる。次いで、タグ付けしたメトリックデータを、処理ユーザまたはアプリケーションに出力することができる。
本明細書で使用される場合、その通常の意味を有することに加えて、「測定」という用語は、1組の属性を伴う観測値を意味することができる。例えば、測定値は、可能な他の(またはより少数の)特性の中で、名前、1組の寸法、名前空間、単位、および/またはタイムスタンプを含むことができる。本明細書で使用される場合、その通常の意味を有することに加えて、「寸法」という用語は、(下で詳細に説明される)InstanceID、InstanceType、Availability Zone、または他の因子等によって、測定値をどのように集約することができるのかを特定するために使用することができる。本明細書で使用される場合、その通常の意味を有することに加えて、名前空間は、測定値を収集したサービスを識別する。さらに、本明細書で使用される場合、その通常の意味を有することに加えて、メトリックは、測定データの集約を含むことができる。
ユーザは、種々の測定値をどのように集約させるのかを指定する、1つ以上のメトリックを指定することができる。例えば、メトリックデータは、測定値データと同じ属性を含むことができ、所与の期間内での、所与の名前を伴ういくつかまたは全ての測定値の集約であることができる。別の例として、メトリックは、測定値のいくつかまたは全ての集約を特定の名前空間に含むことができ、または別のメトリックは、特定のインスタンスIDを有するいくつかまたは全ての測定値の集約を含むことができる。メトリックは、いくつかの実施形態において、他のメトリックの集約であることができる。この柔軟性の結果、特定の実施形態において、メトリックは、ユーザの嗜好に基づく種々の寸法を含む。本明細書で使用される場合、その通常の意味を有することに加えて、「タグ」という用語は、特定のメトリックと関連付けられた任意のキー/値対を意味することができる。例えば、タグは、特定のメトリックのためのキー「instanceID」が「123456」の値を有することを示すことができる。別の例として、タグは、特定のメトリックのためのキー「customerID」が特定のデータストアの記録に見られる値「12,5」を有することを示すことができる。
ここで、本開示の種々の態様を、特定の実施例および実施形態に関して説明するが、それらは、例示することを意図したものであり、本開示を限定するものではない。
図1は、通信ネットワーク108を介して複数のユーザコンピューティングシステム104にコンピューティングリソースを提供することができる、プログラム実行サービス100の一実施例を概略的に例示するネットワーク図である。プログラム実行サービス100は、ウェブおよび/または他のアプリケーションホスティングに使用するためにレンタルするためのコンピューティングリソースを提供することができる、1つのウェブサービスまたは1群のウェブサービスであることができる。例えば、プログラム実行サービス100は、ユーザに代わって1つのプログラムまたは1組のプログラムを実行するために、ユーザからの要求を管理することができる。少なくとも、ユーザコンピューティングシステム104のいくつかは、プログラム実行サービス100から遠隔にあることができる。この実施例において、ユーザは、コンピューティングシステム104を使用して、通信ネットワーク108を通じてプログラム実行サービス100にアクセスすることができる。ネットワーク108は、例えば、おそらくは種々の異なる当事者によって運営される、インターネット等のリンクされたネットワークの公的にアクセス可能なネットワークであることができる。他の実施形態において、ネットワーク108は、例えば非特権ユーザが全体的にまたは部分的にアクセスできない会社または大学のネットワーク等の、プライベートネットワークであることができる。さらに他の実施形態において、ネットワーク108は、インターネットへのおよび/またはそれからのアクセスを伴う、1つ以上のプライベートネットワークを含むことができる。
プログラム実行サービス100は、複数のユーザについてプログラムの実行を管理するための、種々の機能を提供する。図1で例示される実施例において、プログラム実行サービス100は、ユーザに代わってプログラムを実行することができる、複数のコンピューティングノード112を含む。コンピューティングノード112は、1つ以上の物理コンピューティングシステム上でホストされる、1つ以上の物理コンピューティングシステム116および/または1つ以上の仮想マシン120を含むことができる。例えば、ホストコンピューティングシステムは、複数の仮想マシン120を提供することができ、それらの仮想マシンを管理するために、仮想マシン(「VM」)マネージャ124(例えば、ハイパーバイザーまたは他の仮想マシンモニタ)を含むことができる。
図1で例示される実施例において、コンピューティングノード112のそれぞれは、1つ以上のプログラムを実行するために利用可能な若干のコンピューティングリソースを有する。各コンピューティングノード112は、特定の程度のプログラム実行能力を提供することができ、これは、例えば、処理能力(例えば、処理ユニットの数またはサイズ)、メモリ容量、記憶容量、ネットワーク帯域幅容量、非ネットワーク通信帯域幅等のうちの1つ以上の組み合わせによって測定することができる。いくつかの実施形態において、プログラム実行サービス100は、事前構成されたコンピューティングノード112を提供することができ、各事前構成されたコンピューティングノードは、ユーザに代わってプログラムを実行するために利用可能な、ほぼ同等のおよび/または同等の量のリソースを有する。他の実施形態において、プログラム実行サービス100は、ユーザに代わってプログラムを実行するためにユーザが選択することができる、種々の異なるコンピューティングノード112の選択肢を提供することができる。さらに他の実施形態において、プログラム実行サービス100は、ユーザに、およびユーザのプログラム実行に特有である、種々のコンピューティングノードを生成することができる。いくつかのそのような実施形態において、コンピューティングノード112は、様々な量および/またはタイプのコンピューティングリソース(例えば、処理ユニットのサイズ、速度、および/またはタイプ、処理ユニットの数、メモリおよび/または記憶装置の量、32ビットまたは64ビット等のプラットフォーム構成、オペレーティングシステム等)を有することができる。
プログラム実行サービス100は、データ、プログラム、および他のユーザ情報の大容量記憶装置を提供する記憶ノード134へのアクセスを伴う、ユーザコンピューティングシステム104を提供することができる。記憶ノード134としては、任意のタイプの永続的なデータ記憶装置、例えばハードディスクドライブ、光ディスクドライブ等の、例えば不揮発性メモリデバイスが挙げられる。図1で例示される実施例において、コンピューティングノード112は、ネットワーク128を介して記憶ノード134にアクセスすることができる。ネットワーク128は、例えばスイッチ、エッジルータ、コアルータ等の、複数のネットワーキングデバイス(図示せず)を含むことができる。ネットワーク128は、図1で示されるネットワーク108とは異なるネットワークであることができるが、そうである必要はない。
プログラム実行サービス100のユーザまたはアプリケーションは、動的タグ付けマネージャ130を介してプログラム実行サービス100と相互作用することができる。例えば、ユーザまたはアプリケーションは、ユーザに代わって使用されたプログラム実行サービス100のリソースと関連付けられた1つ以上のメトリック(例えば、リソース利用度および/または需要パターン)のタグ付けを要求することができる。動的タグ付けマネージャ130は、コンピューティングノード112および記憶ノード134に接続すること、またはネットワーク128を介してそれらと通信することができる。動的タグ付けマネージャ130は、ネットワーク108を通じて、ユーザコンピューティングシステム104からメトリックのタグ付けの要求を受信することができる。ユーザ(またはユーザによって許可された他のユーザ)は、サービス100が、処理ユーザまたはアプリケーションに後で提示することができるコンピューティングノードと関連付けられた1つ以上の測定値にタグ付けすることを、動的タグ付けマネージャ130を介して要求することができる。いくつかの実装において、ユーザは、異なるサービスによって収集されたメトリックデータにタグ付けするよう動的タグ付けマネージャ130に要求することができる。例えば、メトリックデータは、ネットワークリソースの実績(例えば、トラフィック、待ち時間、速度、エラー等)、商品の販売および/またはサービスの実績(例えば、販売数量、利益、費用対効果、キャッシュフロー、売上目標等)、財源の実績(例えば、株式、投資、資本利得/損失等)等に関連し得る。
いくつかの実施形態において、ユーザは、サービス100が、ユーザに代わってメトリックにタグ付けするための1つ以上のタグを生成することを、動的タグ付けマネージャ130を介して要求することができる。サービス100は、1つ以上のタグを生成することができ、またはユーザは、メトリックにタグ付けするための1つ以上のタグを生成するために、ユーザがどの基準を嗜好するのかを指定することができる。種々の実施形態において、タグ付けの嗜好および/または設定は、1つ以上のメトリックのタグ付けを要求するときに指定するか、ならびに/またはユーザがプログラム実行サービス100のサービスを使用することを申し込むおよび/もしくは予約するとき等の、1つ以上の他のときに指定することができる。いくつかの実施形態において、動的タグ付けマネージャ130は、1人以上のユーザに申し込みおよび/または登録サービスを提供することができ、よって、ユーザは、メトリックのタイプに関連する情報、および/またはメトリックのタグ付けに対する嗜好、アカウント情報(例えば、ユーザ名、請求情報等)、利用規約等を指定することができる。
いくつかの実施形態において、ユーザが、サービスに申し込むおよび/または登録するために動的タグ付けマネージャ130と情報をやり取りした後またはそうする前に、ユーザには、1つ以上の要求識別子(例えば、キー、トークン、ユーザ名、パスワード等)を発行することができ、この識別子は、ユーザと関連付けられ、ユーザに代わって使用されているリソースと関連付けられた1つ以上のメトリックのタグ付けを要求することと連携して使用される。他の実施形態では、プログラム実行サービス100の申し込みおよび/または登録サービスに関連する種々の動作を行うために、動的タグ付けマネージャ130以外のモジュールを提供することができる。
いくつかの実施形態において、動的タグ付けマネージャ130は、1つ以上の物理または仮想コンピューティングシステムによって実行または具現化される。例えば、いくつかの実施形態では、動的タグ付けマネージャ130を実行するために、CPUと、I/O構成要素と、記憶装置と、メモリとを含む構成要素を有する、サーバコンピューティングシステムを使用することができる。I/O構成要素としては、ディスプレイ、ネットワーク128に対するネットワーク接続、コンピュータが読み出し可能な媒体ドライブ、および他のI/Oデバイス(例えば、キーボード、マウス、スピーカー等)が挙げられる。動的タグ付けマネージャ130の実施形態は、1つ以上の実行可能なプログラムモジュールとしてサーバのメモリに記憶することができ、動的タグ付けマネージャ130は、ネットワーク128を通じて、コンピューティングノード112(例えば、物理コンピューティングシステム116および/またはVM120)と相互作用することができる。動的タグ付けマネージャ130は、ネットワーク108を介して、ユーザからメトリックのタグ付けの要求を受信することができる。
図2Aは、ユーザまたはアプリケーションからメトリックデータのタグ付けの要求を管理することができる、動的タグ付けマネージャ130の実施形態の例示的な構成要素の概略的ブロック図である。この実施形態において、動的タグ付けマネージャ130は、デフォルトタグ付けモジュール204と、取得モジュール208と、処理モジュール212と、タグ付けモジュール216とを含む。
デフォルトタグ付けモジュール204は、例えばリソース利用度、リソース監視等の、プログラム実行サービス100によって収集された1つ以上のメトリックにタグ付けする。このメトリックデータは、プログラムサービス100もしくは別のサービスによって収集される標準メトリックを含むことができ、および/または収集のためにユーザによって定義または作成されるメトリック、プラグイン、拡張子等を含むことができる。メトリックデータは、異なる寸法を含むことができ、ユーザは、ユーザ自身のメトリックを作成および/または定義することができる。いくつかの実装において、タグ付けは、収集されたメトリックの中へキー/値対(例えば、「名前空間」=「名前空間1」および/または「名前」=「CPUUtilization」)を挿入することを含む。
デフォルトタグ付けモジュールは、プログラム実行サービスのシステム設計者が所望する多数のタグとして含むことができる。例えば、プログラム実行サービスのシステム設計者は、InstanceID(例えば、メトリックを生成したインスタンスのID)、InstanceType(例えば、メトリックを生成したインスタンスのタイプ)、Namespace(例えば、メトリックを生成したサービス)、AvailabilityZone(例えば、メトリックを生成した領域またはゾーン)、Name(例えば、メトリックの名前)、ResourceType(例えば、メトリックを生成したリソースのタイプ)等に基づいて、それぞれの収集されたメトリックにデフォルトでタグ付けすることを所望することができる。システム設計者はまた、1つ以上の要因に基づいて、より多い、または異なるタグでそれぞれのメトリックにタグ付けすることを所望することもできる。例えば、記憶装置と関連付けられたメトリックの場合、システム設計者は、データベースクラス、データベースタイプ等に基づいて、メトリックにタグ付けするように決定することができる。デフォルトタグ付けモジュール204およびシステム設計者によって、複数の他の構成を実装することができる。
取得モジュール208は、例えば、ユーザまたはアプリケーションに代わって使用される1つ以上のコンピューティングリソースと関連付けられたメトリックに1つ以上の追加タグを追加する要求等の要求を、プログラム実行サービス100によって管理される1つ以上のメトリックにタグ付けするためのユーザまたはアプリケーションから受信する。要求は、追加されるいくつかまたは全てのタグを含むことができる。追加されるタグは、異なるものであることができ、また、上で論じたデフォルトタグに追加することができる。追加タグは、プログラム実行サービス100のユーザまたはアプリケーションによって所望され、システム設計者によって設計されるデフォルトタグと異なるタグであることができる。
追加タグの一例としては、サーバタイプまたはアプリケーションスタックのキー/値対を指定するタグが挙げられる。この例示的なタグは、ユーザによって所望され得るので、ユーザまたはアプリケーションは、それらのそれぞれのサーバタイプまたはスタックによって、タグ付けされたメトリックを後で処理することができる。ユーザは、取得モジュール208に、それぞれのメトリックについてキー「serverType」およびその関連する値を含むように、メトリックデータにタグ付けするよう要求することができる。別の例として、追加タグは、顧客の固有の識別子と関連付けられたタグを含むことができる。この例において、タグは、ユーザまたはアプリケーションが、請求目的等で、顧客と関連付けられた固有の識別子に基づいて、タグ付けされたメトリックを処理することができるように、ユーザまたはアプリケーションによって所望され得る。
さらに別の例として、ユーザは、追加タグがコンピューティングリソースの任意の変更の通知について、追加タグを追加するように要求することができる。この例において、追加タグは、ユーザまたはアプリケーションによって、任意の信頼できる当事者に状態変更を通知するために使用することができる。ユーザは、この例において、キー「ChangeNotification」を加えるように、およびそのそれぞれの値がリソース変更の状態を示す値(例えば、「インスタンス終了」)を割り当てるように要求することができる。さらなる例として、プログラム実行サービスのアプリケーションは、例えば、タグ付けされたメトリックデータを請求のために後で処理することができるように、コンピューティングリソースと関連付けられた顧客アカウントを示すために、追加タグを追加するように要求し得る。
アプリケーションはまた、例えば、コンピューティングリソースに対して統計分析を行うために、追加タグに基づいて、タグ付けされたメトリックデータを後で処理することができるように、コンピューティングリソースの地理的ゾーン、領域、データセンター等と関連付けられた追加タグを追加するように要求することもできる。種々のタグを、ユーザまたはアプリケーションによって作成または定義し、プログラム実行サービス100によってサポートすることができる。メトリックデータをタグ付けする要求は、種々の方法で、取得モジュール208によって受信することができる。例えば、要求は、ユーザ(例えば、プログラム実行サービス100によって提供される双方向コンソールまたは他のGUIを介して)から、それ自体の他のプログラムまたは他のインスタンスの実行を自動的に開始するユーザの実行プログラムから、プログラミングツール(例えば、コマンドラインツール、統合された開発環境等)から、プログラム実行サービス100によって提供されるアプリケーションプログラミングインターフェース(「API」)(例えば、ウェブサービスを使用するAPI)を介して、動的タグ付けマネージャ130と相互作用するプログラムから、およびその他から直接受信することができる。
メトリックのタグ付けの要求は、タグの数および/またはタイプ、使用するタグの最小数および/または最大数、メトリックにタグ付けする際に使用する基準の数および/またはタイプ等を含むことができる。タグ付けの要求は、他のタイプの嗜好、要件、および/または規制(例えば、好ましいタグ付けのタイプ、タグ付けの頻度、タグ付けの条件等)を含むことができる。代替として、動的タグ付けマネージャ130は、これらの嗜好、要件、規制等を指定するためのオプションをユーザに提供するように構成すること、および/またはこれらのオプションを自動的に提供するように構成することができる。
取得モジュール208はまた、サービスからタグ付けの要求を受信することもできる。例えば、取得モジュール208は、プログラム実行サービス100の別のモジュールまたはサーバからタグ付けの要求を受信することができ、または外部サービスから要求を受信することができる。要求は、上で論じたように、タグ、要件、嗜好等を含むことができる。
タグ付けの要求を取得モジュール204によって受信した後、処理モジュール208は、メトリックデータに追加タグをタグ付けするために通信することができる、1つ以上のコンピューティングノードを決定するために、その要求を処理することができる。処理モジュール208は、追加タグを分析し、メトリックデータに追加タグをタグ付けするために、どのコンピューティングノードを通信させることが必要であるかを決定することができる。例えば、ユーザによる記憶リソースの使用に関連する追加タグについて、処理モジュール208は、どの記憶ノード134がユーザによって使用されているかを特定することができる。別の例として、ユーザのどの顧客が請求目的でロードバランサを使用しているかを示す追加タグについて、処理モジュール208は、どのロードバランシングノードがユーザによって使用されているかを特定することができる。
特定の実施形態において、ユーザは、上で論じたように、タグ付けのためにユーザがどの基準を所望するかを指定することができ、処理モジュール208は、その基準に基づいて1つ以上の追加タグを決定することができ、かつ、メトリックに追加タグをタグ付けするために通信することができる1つ以上のコンピューティングノードを決定することができる。例えば、ユーザは、ウィザードを介して、例えば、プログラム実行サービスを伴うユーザのアカウントが複数の顧客に使用されること、およびユーザが、顧客のコンピューティングリソースの使用に基づいてユーザに直接請求できるようにしたいことを、取得モジュール208に示し得る。ユーザは、どのコンピューティングリソースがどの顧客によって使用されているかを示し得る。処理モジュール208は、次いで、固有の顧客識別番号と関連付けられた追加タグが、ユーザによって所望されるタグ付けを提供すると判断し、タグ付けを行うためにどのコンピューティングノードと通信すべきかを決定することができる。処理モジュール208は、決定した追加タグをユーザに提示することができ、よって、ユーザ、別のユーザ、またはアプリケーションは、タグ付けされたメトリックを後で処理することができる(下で論じる)。
図2Aで例示される実施形態において、タグ付けモジュール216は、コンピューティングノードに任意の測定または収集したメトリックに追加タグをタグ付けするよう要求するために、1つ以上の決定したコンピューティングノードと通信する。タグ付けモジュール216と1つ以上の決定したコンピューティングノードとの間の相互作用は、種々の方法で起こり得る。例えば、相互作用は、1つ以上の決定したコンピューティングノードによって提供される他のタイプの通信インターフェースのAPIを介して起こり得る。タグ付けモジュール216は、決定したコンピューティングノードによって測定または収集される任意のメトリックに追加されるべき、キー/値対を通信することができる。タグ付けモジュール216はまた、所望に応じてコンピューティングノードがデータにタグ付けすることを可能にするために、決定したコンピューティングノードによって必要とされる任意の追加情報を通信することもできる。いくつかの実装において、タグ付けの後に、取得モジュール208は、1つ以上のさらなる追加タグまたは追加タグに対する1つ以上の修正の要求を受信することができ、処理モジュール212およびタグ付けモジュール216は、上で論じたように、1つ以上のさらなる追加タグまたは追加タグに対する1つ以上の修正に基づいて、任意のタグ付けを行うことができる。
図4は、上で論じたように、プログラム実行サービスにメトリックデータへのタグ付けを行うよう要求するためにユーザに提示することができる、例示的なグラフィカルユーザインターフェースを例示する。取得モジュール408は、ユーザがタグ付けを要求することを可能にするために、ユーザに例示のウェブページを提示することができる。図4で示されるように、ユーザは、上で論じたようにメトリックデータに加えられるべき、複数の追加タグを指定することができる。いくつかの例として、タグ#1およびタグ#2は、プログラム実行サービスに、示されたIDを有する任意のコンピューティングノードインスタンスに、示される指定されたキー/値対をタグ付けするよう要求するために、ユーザによって作成することができる。
上で開示されるように、これらの追加タグを加えることは、ユーザまたはアプリケーションが、所望(例えば、請求等)に応じて、タグ付けされたメトリックデータを後で処理することを可能にする。さらに、タグ#3は、ロードバランサを備える任意のコンピューティングノードインスタンスについて、キー「serverType」を加えるべきであるよう指定するために、ユーザによって作成することができる。ユーザが「$」を使用してキーの値を指定すると、プログラム実行サービスは、リアルタイムまたはランタイムで追加キーの値を決定し、ユーザによって指定されるようメトリクスデータに追加キーをタグ付けするように構成することができる。例えば、プログラム実行サービスが、ロードバランサが、ウェブサーバと関連付けられたコンピューティングノードインスタンスと関連付けられていることをランタイムで判定した場合、次いで、キー「serverType」を、プログラム実行サービスによって値「webServer」に割り当てることができ、そして、メトリックデータにこの追加タグをタグ付けすることができる。このキーに与えられる値は、ユーザおよびプログラム実行サービスによって定義することができる。例えば、特定のキー(例えば、serverType)に割り当てられることができる種々の値は、ユーザによって定義し、記憶ノード134を使用して、プログラム実行サービスによって記憶することができる。これらの記憶値は、特定のキーに割り当てるべき値を決定するために、コンピューティングノードインスタンスによって後でアクセスすることができる。
タグ#4は、コンピューティングノードインスタンスと関連付けられた任意の状態変更について、追加タグが作成され、追加されるよう指定するために、ユーザによって作成することができる。ユーザは、示されるように、この追加タグが「chngeStatus」というキーで与えられるべきであること示しており、そのキーに割り当てられる値は、そのキーを見つけることができる値の場所を示すことができる、参照「&address」によって見出すことができる。例えば、上で説明したように、特定のキーに割り当てることができる値は、記憶ノード134によって管理することができ、「&address」は、データ記憶装置に記憶された特定のキーに割り当てることができる値のリストを管理する、記憶ノード134に対する参照であることができる。別の例として、「&address」は、値のリストを見つけることができる記憶場所、ウェブアドレス等を直接参照することができる。キーの値は、動的タグ付けマネージャによってユーザの要求時に決定され、キーと関連付けられ得、またはその値は、コンピューティングノードインスタンスによってランタイムで決定することができる。
タグ#5は、ユーザの顧客によってユーザが請求を行うことを可能にする追加タグが、プログラム実行サービスによって生成されるよう指定するために、ユーザによって作成することができる。上で論じたように、プログラム実行サービスは、次いで、ユーザによって指定された基準に基づいて、1つ以上の追加タグを生成することができる。例えば、プログラム実行サービスは、ユーザによって要求される請求を提供するために、キー「custID」を有する追加タグを生成し得る。プログラム実行サービスは、次いで、顧客の識別子と関連付けられた値を割り当て、メトリックにこれらのキー/値対をタグ付けすることができる。プログラム実行サービスは、上で挙げた例と類似した特定のキーに割り当てられる値を決定し得る。さらに、タグ付けされたメトリックを処理するユーザおよびアプリケーションが、メトリックにタグ付けするために使用されたキーを提供するよう記憶ノードに後で要求することができるように、プログラム実行サービスは、記憶ノード134を使用して生成される、1つ以上のキーを記憶し得る。キーのリストはまた、リクエストを行なうユーザに提供することもできる。
図2Aに戻ると、動的タグ付けモジュール130は、図2Aで例示されるものと異なるように構成することができる。例えば、例示されたモジュールによって提供される種々の機能は、組み合わせる、再配列する、追加する、または削除することができる。いくつかの実施形態において、追加のまたは異なるプロセッサまたはモジュールは、図2Aで例示される例示的な実施形態を参照して説明される機能の一部または全部を行うことができる。数多くの実装の変形例が可能である。
概してメトリックデータのタグ付けに関して説明されているが、他の実施形態において、動的タグ付けマネージャ130は、任意のタイプのデータにタグ付けすることができる。このようなデータのタイプには、例えば、ネットワークデータ(例えば、ネットワークトラフィック、性能データ、エラーデータ等)、販売データ(例えば、目録データ、利益データ、収入データ、予測データ等)、財務データ(例えば、投資データ、クレジットデータ、保険データ等)等のうちの1つ以上を含むことができる。
図2Bは、ユーザコンピューティングシステム104aと、プログラム実行サービス100の動的タグ付けマネージャ130との間の例示的な相互作用を概略的に例示するネットワーク図である。プログラム実行サービス100は、複数のユーザコンピューティングシステム104a、104b、・・・、104nにコンピューティングリソースを提供することができる。この例示的な実施例において、プログラム実行サービス100は、動的タグ付けマネージャ130とプログラム的に相互作用するように、ユーザコンピューティングシステム104a、104b、・・・、104nのためのAPIを提供する。
図2Bは、要求APIを使用したメトリックデータのタグ付けの要求を通信する、ユーザコンピューティングシステム104aを例示的に示す。要求API(1)は、ネットワーク108を介して通信され、(2)は、プログラム実行サービス100の動的タグ付けマネージャ130によって受信される。要求APIは、例えば、タグの数および/またはタイプ、タグの最小数および/または最大数、タグ、メトリックにタグ付けする際に使用する基準の数および/またはタイプ等の、ユーザの要求に関する情報を含むことができる。要求APIは、例えば、メトリックデータのタグ付けに対するユーザの希望に関連する、嗜好、要件、および/または規制等の、要求に関する他の情報を含むことができる。例えば、要求APIは、ユーザがメトリックデータにタグ付けするアクセスを与えられること、好ましいタグ付けのタイプ、タグ付けの頻度、タグ付けの条件等に関する情報を含むことができる。
図2Bで示される実施例において、動的タグ付けマネージャ130は、ネットワーク108を介して、確認API(3)と通信し、ユーザコンピューティングシステム104aによって受信される(4)である。確認APIは、プログラム実行サービス100が要求を(全体的または部分的に)認めることができるかどうかに関連する情報を含むことができる。確認APIはまた、ユーザの要求と関連付けられ、メトリックデータのタグ付けと連携して使用される、1つ以上の要求識別子(例えば、キー、トークン、ユーザ名、パスワード等)を含むこともできる。確認APIは、例えばユーザの嗜好、要件、および/または規制を満たすことができることを確認する情報等の、他の情報を含むことができる。
図2Bは、プログラム実行サービス100の動的タグ付けマネージャ130とAPIを介してプログラム的に相互作用する、ユーザコンピューティングシステム104aを例示的に示す。プログラム実行サービス100は、APIを介して、他のユーザコンピューティングシステム(例えば、ユーザコンピューティングシステム104b、・・・、104n)から、メトリックデータにタグ付けする要求を受信することができ、そして、APIを介して、他のユーザコンピューティングシステムに確認を通信することができる(当該の要求および確認は、図2Bの例示的な実施例に示さず)。動的タグ付けマネージャ130(または他の好適な構成要素)は、複数のユーザコンピューティングシステムにタグ付けされたメトリックデータを提示することができる。プログラム実行サービス100とユーザコンピューティングシステムとの間では、(加えて、または代替として)他のタイプのプログラム的相互作用が可能である。例えば、要求は、ユーザ(例えば、プログラム実行サービス100によって提供される双方向コンソールまたは他のGUIを介して)から、それ自体の他のプログラムまたは他のインスタンスの実行を自動的に開始するユーザの実行プログラムから、およびその他から直接受信することができる。
図2Cは、ユーザコンピューティングノード112と、プログラム実行サービス100の動的タグ付けマネージャ130との間の例示的な相互作用を概略的に例示するシステム図である。動的タグ付けマネージャ130は、コンピューティングノード112のインスタンス142a、142b、・・・、142nによってメトリックデータのタグ付けを要求することができる。上で説明したように、動的タグ付けマネージャ130は、タグ付けの要求をユーザコンピューティングシステム104a、・・・、104nから受信することができる。一実施例において、上で説明したように、コンピューティングノード112は、コンピューティングノード112およびインスタンス142a、142b、・・・、142nとプログラム的に相互作用するように、動的タグ付けマネージャ130のためのAPIを提供する。動的タグ付けマネージャ130とコンピューティングノード112との間の通信は、例えば、タグの数および/またはタイプ、タグの最小数および/または最大数、タグ等の、ユーザの要求に関する情報を含むことができる。通信は、上で論じたタグ付けを行うために、コンピューティングノード112によって管理されるメトリックデータに追加すべきキー/値対、およびコンピューティングノード112によって必要とされる他の基準または情報を指定することができる。
図3は、動的タグ付けマネージャルーチン300の例示的な実施形態を概略的に例示するフロー図である。いくつかの実装において、ルーチン300は、図1および図2を参照して説明されるプログラム実行サービス100の動的タグ付けマネージャ130の実施形態によって実装することができる。例示的なルーチン300は、メトリックデータのタグ付けの要求を行うユーザに関して説明される。例示的なルーチン300は、動的タグ付けマネージャ130の種々の態様を例示することを意図したものであり、それらに限定するものではない。
図3を参照すると、プログラム実行サービスは、ブロック304で、メトリックデータのタグ付けをデフォルト設定することを行う。システム設計者は、プログラム実行サービスによって管理、収集、監視等が行われるメトリックデータに挿入または追加されるべき、デフォルトタグを指定する。上で説明したように、種々のデフォルトタグを使用することができ、使用されるデフォルトタグの数またはタイプは、システム設計者によって設計されるように、それぞれのメトリックデータ間で変動させることができる。ブロック308で、プログラム実行サービス100によるメトリックのタグ付けについて、ユーザから動的タグ付けマネージャ130によって要求が受信される。上で論じたように、要求は、タグの所望の数および/またはタイプ、タグの最小数および/または最大数、メトリックをタグ付けする際に使用する基準の数および/またはタイプ等を含むことができる。要求は、特定のユーザ(1人または複数)だけがメトリックデータにタグ付けするアクセスを認められるよう指定することができる。タグ付けの要求は、他のタイプの嗜好、要件、および/または規制(例えば、好ましいタグ付けのタイプ、タグ付けの頻度、タグ付けの条件等)を含むことができる。
ブロック312で、動的タグ付けマネージャ130は、メトリックデータにタグ付けするための1つ以上の追加タグを決定するために、受信した要求を処理する。種々の実施形態において、タグ付けの要求は、メトリックにタグ付けするために使用される、追加タグを含む。プログラムサービス100は、1つ以上の追加タグを決定するために、要求を分析する。いくつかの実装において、受信した要求は、1つ以上の追加タグを作成または生成するために、プログラムサービス100によって使用することができる。上で論じたように、受信した要求は、メトリックをタグ付けする際に使用される基準を指定し得、プログラム実行サービスは、メトリックをタグ付けする際に使用される1つ以上の追加タグを作成するために、この基準を分析し得る。
図3を参照すると、ルーチン300は、ブロック316を続け、そこでは、動的タグ付けマネージャ130が、メトリックデータに1つ以上の追加タグをタグ付けし、それによって、タグ付けされたメトリックを、処理ユーザまたはアプリケーションによって後で処理することを可能にする。動的タグ付けマネージャ130は、メトリックデータへの追加タグのタグ付けを行うために通信することができる、1つ以上のコンピューティングノードを決定する。動的タグ付けマネージャ130は、次いで、決定された1つ以上のコンピューティングノードと通信して、コンピューティングノードによって管理、収集、監視等が行われるメトリックデータに追加タグをタグ付けするようコンピューティングノードに要求する。動的タグ付けマネージャ130は、タグ付けを行うために使用される追加タグ、およびタグ付けを行うために使用される条件、基準等を、コンピューティングノードに提供することができる。
ブロック320で、随意に、ルーチン300の実施形態によって他のサービスを行うことができる。例えば、プログラムサービス100は、タグ付けされたメトリックデータを処理ユーザまたはアプリケーションに出力することができる。タグ付けされたメトリックデータのいくつかの例としては、「instanceID=i−020f0d6a」、「instanceType=記憶ノード」、「ホスト名=www.xyx.com」、「IPアドレス=10.254.111.4」、「ゾーン=us−east−1a」、「diskReadbytes=5KB」、「データセンター=snap−8010f6e9」、「CPUUtilization=5時間」、「billingID=123456」、または「instanceID=i−030g0w2b」、「instanceType=ロードバランサ」、「ゾーン=us−east−1b」、「billingID=123456」等の例示的なタグが挙げられる。タグ付けされたメトリックデータについて、多くの他の変形例が可能である。動的タグ付けマネージャ130は、様々な方法で、処理ユーザまたはアプリケーションに、タグ付けされたメトリックデータを出力することができる。例えば、プログラムサービス100は、APIもしくは他の通信インターフェース、ウェブページ、双方向コンソール、アプリケーション等を使用して、タグ付けされたメトリックデータを出力することができる。
図5は、プログラム実行サービスが随意に処理ユーザに出力することができる、例示的なウェブページを例示する。例示されるように、プログラム実行サービスは、タグ付けされたメトリックデータ内に含まれる全てのタグを列記する、ウェブページを出力することができる。プログラム実行サービス100は、タグ付けされたメトリックデータ内に含まれるキー/値対を決定し、ユーザにそれらを出力するために、タグ付けされたメトリックデータを解析することができる。示されるように、タグ付けされたメトリックデータは、上で論じたデフォルトタグおよび追加タグの双方を含む。別の例として、プログラム実行サービスは、タグ付けされたメトリックを任意の所望の様式で出力することを可能にするために、プログラム実行サービスと関連付けられたアプリケーションを介して、タグ付けされたメトリックデータを出力することができる。例えば、プログラム実行サービスは、それらのタグに基づいてメトリックデータを集約する、集約アプリケーションにタグ付けされたメトリックを出力することができる。
集約アプリケーションは、一例として、顧客と関連付けられたタグに基づいて、タグ付けされたメトリックデータを集約し、集約したメトリックを請求または統計分析目的で処理することができるように、処理ユーザまたはアプリケーションにそれらを提示することができる。集約アプリケーションは、タグ付けされたメトリックを解析して、顧客と関連付けられた全てのタグの場所を特定し、これらの(例えば、類似したキーを有する)タグまたはタグの組み合わせに基づいて、メトリックを集約またはグループ化することができる。種々の集約および下位集約は、集約アプリケーションによって提供することができ、また、タグ付けされたメトリックデータを、種々の他のアプリケーションに出力することもできる。いくつかの実装において、タグ付けされたメトリックを出力することは、プログラム実行サービス以外の別のサービスによって提供することができる。
本開示の実施形態は、以下の付記を考慮して説明することができる。
付記1.メトリックにタグ付けするためのシステムであって、
コンピュータハードウェアを備えるコンピュータシステムを備え、コンピュータシステムは、1つ以上のコンピューティングノードを備え、かつ、
デフォルトタグをメトリックに少なくとも挿入することによって、コンピューティングノードの1つ以上の性能に関連する1つ以上のメトリックに、キーおよび値の対を備えるデフォルトタグをタグ付けするように構成される、デフォルトタグ付けモジュールと、
1つ以上のメトリックにタグ付けする際に使用される少なくとも1つの追加タグを受信するように構成される、取得モジュールであって、少なくとも1つの追加タグは、デフォルトタグとは異なる、取得モジュールと、
少なくとも1つの追加タグを分析して、1つ以上のメトリックに少なくとも1つの追加タグをタグ付けするために通信する、1つ以上のコンピューティングノードを決定するように構成される、処理モジュールと、
決定された1つ以上のコンピューティングノードと通信して、1つ以上のメトリックに少なくとも1つの追加タグをタグ付けすることを要求し、それによって、タグ付けされたメトリックをその後に集約することを可能にするように構成される、タグ付けモジュールと、
を実装するようにプログラムされる、システム。
付記2.取得モジュールはさらに、要求ユーザから少なくとも1つの追加タグの少なくとも1つを受信するように構成される、付記1に記載のシステム。
付記3.要求ユーザから受信したタグの少なくとも1つは、要求ユーザと関連付けられた請求識別子に関連する、付記2に記載のシステム。
付記4.タグ付けモジュールはさらに、複数のコンピューティングノードと通信することによって、1つ以上のメトリックにタグ付けするように構成される、付記1に記載のシステム。
付記5.タグ付けされたメトリックは、処理ユーザまたはアプリケーションによって集約されるように構成される、付記1に記載のシステム。
付記6.メトリックにタグ付けする方法であって、
コンピュータハードウェアを備える1つ以上のコンピュータシステムによって、
1つ以上のメトリックに、キーおよび値対を備えるデフォルトタグをタグ付けすることと、
1つ以上のメトリックにタグ付けする際に使用される少なくとも1つの追加タグを受信することであって、少なくとも1つの追加タグは、デフォルトタグとは異なる、受信することと、
1つ以上のメトリックに追加タグをタグ付けするために通信する1つ以上のコンピューティングノードを決定するために、追加タグを分析することと、
決定された1つ以上のコンピューティングノードと通信して、1つ以上のメトリックに追加タグをタグ付けすることを要求し、それによって、タグ付けされたメトリックをその後に集約することを可能にすることと、
を含む、方法。
付記7.アプリケーションプログラミングインターフェースを使用して、複数のコンピューティングノードと通信することをさらに含む、付記6に記載の方法。
付記8.要求ユーザまたはアプリケーションから、少なくとも1つの追加タグに対する少なくとも1つの修正を受信し、少なくとも1つの修正に少なくとも基づいて、分析および通信ステップを行うことをさらに含む、付記6に記載の方法。
付記9.コンピューティングノードの少なくとも1つは、ロードバランサ、ファイアウォール、物理マシン、仮想マシン、記憶ノード、およびデータベースサーバのうちの1つ以上を備える、付記6に記載の方法。
付記10.処理アプリケーションは、グラフィカルユーザインターフェースアプリケーションである、付記6に記載の方法。
付記11.タグ付けされたメトリックは、処理ユーザまたはアプリケーションによって処理される、付記6に記載の方法。
付記12.処理ユーザまたは処理アプリケーションに、タグ付けされたメトリックを出力することをさらに含む、付記11に記載の方法。
付記13.少なくとも1つの追加タグの少なくとも1つは、要求アプリケーションに由来する、付記11に記載の方法。
付記14.少なくとも1つの追加タグの少なくとも1つは、要求ユーザに由来する、付記11に記載の方法。
付記15.要求ユーザおよび処理ユーザは、異なる、付記14に記載の方法。
付記16.要求アプリケーションおよび処理アプリケーションは、異なる、付記13に記載の方法。
付記17.そこに記憶された実行可能命令を備える、非一時的な物理記憶装置であって、実行可能な命令は、コンピューティングシステムに、少なくとも、
データにタグ付けする際に使用される少なくとも1つのタグを受信させ、少なくとも1つのタグは、キーおよび値の対を備え、
データにタグをタグ付けするために通信する1つ以上のコンピューティングノードを決定するために、追加タグを分析させ、
決定された1つ以上のコンピューティングノードと通信して、データにタグをタグ付けすることを要求し、それによって、タグ付けされたデータをその後に処理することを可能にさせるように構成される、
非一時的な物理記憶装置。
付記18.タグ付けされたデータは、処理ユーザまたはアプリケーションによって処理されるように構成される、付記17に記載の非一時的な物理記憶装置。
付記19.処理ユーザまたは処理アプリケーションに、タグ付けされたデータを出力することをさらに含む、付記18に記載の非一時的な物理記憶装置。
付記20.少なくとも1つの追加タグの少なくとも1つは、要求アプリケーションから受信される、付記18に記載の非一時的な物理記憶装置。
付記21.少なくとも1つの追加タグの少なくとも1つは、要求ユーザから受信される、付記18に記載の非一時的な物理記憶装置。
付記22.要求ユーザおよび処理ユーザは、異なる、付記21に記載の非一時的な物理記憶装置。
付記23.要求アプリケーションおよび処理アプリケーションは、異なる、付記20に記載の非一時的な物理記憶装置。
付記24.実行可能命令を実行するように構成されるコンピューティングデバイスと組み合わせた、付記17に記載の非一時的な物理記憶装置。
付記25.メトリックにタグ付けする方法であって、
コンピュータハードウェアを備えるコンピュータシステムによって、
1つ以上のメトリックにタグ付けする際に使用される少なくとも1つの追加タグを受信することであって、少なくとも1つの追加タグは、1つ以上のメトリックに含まれるデフォルトタグとは異なる、受信することと、
1つ以上のメトリックに少なくとも1つの追加タグをタグ付けすることと、
少なくとも1つの追加タグを含む、タグ付けされたメトリックを出力することと、
を含む、方法。
付記26.タグ付けされたメトリックは、処理ユーザまたはアプリケーションに出力される、付記25に記載の方法。
付記27.少なくとも1つの追加タグの少なくとも1つは、要求アプリケーションに由来する、付記25に記載の方法。
付記28.コンピューティングシステムは、複数のコンピューティングデバイスを備える、付記25に記載の方法。
前項で説明されるプロセス、方法、およびアルゴリズムのそれぞれは、1つ以上のコンピュータまたはコンピュータプロセッサによって実行されるコードモジュールに具現化するか、またはそれによって完全にもしくは部分的に自動化することができる。コードモジュールは、ハードドライブ、固体メモリ、光ディスクおよび/またはその他等の、任意のタイプの非一時的なコンピュータが読み出し可能な記憶媒体またはコンピュータ記憶デバイスに記憶することができる。システムおよびモジュールはまた、無線に基づくおよび有線/ケーブルに基づく媒体を含む、種々のコンピュータが読み出し可能な伝送媒体上の生成されたデータ信号として(例えば、搬送波または他のアナログもしくはデジタル伝搬信号の一部として)伝送することもでき、また(例えば、単一もしくは多重化アナログ信号の一部として、または複数の個別デジタルパケットもしくはフレームとして)種々の形態を取ることができる。プロセスおよびアルゴリズムは、特定用途向け回路に部分的または全体的に実装することができる。開示されたプロセスおよびプロセスステップの結果は、例えば揮発性もしくは不揮発性記憶装置等の、任意のタイプの非一時的なコンピュータ記憶装置に永続的にまたは別様に記憶することができる。
上で説明した種々の特徴およびプロセスは、互いとは独立に使用することができ、または種々の方法で組み合わせることができる。全ての可能な組み合わせおよび部分的組み合わせは、本開示の範囲内であることが意図される。加えて、特定の方法またはプロセスブロックは、いくつかの実装において省略することができる。本明細書で説明される方法およびプロセスはまた、いかなる特定のシーケンスにも限定されず、それらに関連するブロックまたは状態は、適切である他のシーケンスで行うことができる。例えば、説明されるブロックもしくは状態は、具体的に開示されたもの以外の順序で行うことができ、または複数のブロックもしくは状態は、単一のブロックもしくは状態で組み合わせることができる。例示的なブロックまたは状態は、連続して、並行して、またはいくつかの他の様式で行うことができる。ブロックまたは状態は、開示された例示的な実施形態に追加する、またはそこから除去することができる。本明細書で説明される例示的なシステムおよび構成要素は、説明されるものと異なるように構成することができる。例えば、要素を、開示された例示的な実施形態に追加する、そこから除去する、またはそれと比較して再配列することができる。
本明細書で使用される、数ある中でも、「できる(can)」、「かもしれない(could)」、「してもよい(might)」、「得る(may)」、「例えば(e.g.,)」等の条件付き言語は、別途具体的に提示されない限り、または別様に使用される文脈内で理解されるように、一般に、特定の実施形態が特定の特徴、要素、および/またはステップを含む一方で、他の実施形態がそれらを含まないことを伝えるよう意図される。したがって、そのような条件付き言語は、一般に、特徴、要素、および/もしくはステップが、いかなる形であれ1つ以上の実施形態に必要であること、または、作者による入力もしくは指示の有無に関わらず、これらの特徴、要素、および/もしくはステップが任意の特定の実施形態に含まれていようと、そこで実行されようと、1つ以上の実施形態が、決定するための論理を必然的に含むことを示唆することを意図しない。「備える(comprising)」、「含む(including)」、「有する(having)」等の用語は、同義語であり、開放様式で包括的に使用され、追加的な要素、特徴、作用、動作等を排除しない。また、「または」という用語は、例えば要素のリストを接続するために使用されるときに、「または」という用語が、そのリストの中の要素の1つ、いくつか、もしくは全てを意味するように、その包括的な意味合いで使用される(また、その排他的な意味では使用されない)。
特定の例示的な実施形態を説明してきたが、これらの実施形態は、単なる例として提示されたものであり、本明細書で開示される本発明の範囲を限定することを意図しない。したがって、いかなる上の説明においても、任意の特定の特徴、特性、ステップ、モジュール、またはブロックが必要もしくは不可欠であることを示唆することを意図しない。実際に、本明細書で説明される新しい方法およびシステムは、種々の他の形態で具現化することができ、さらに、本明細書で開示される本発明の趣旨から逸脱することなく、本明細書で説明される方法およびシステムの形態において、種々の省略、置換、および変更を行うことができる。添付の付記およびそれらの均等物は、本明細書で開示される本発明の特定の範囲および趣旨の範囲内に含まれる、そのような形態または修正例を包含しようとすることが意図される。

Claims (15)

  1. メトリックにタグ付けするためのシステムであって、
    コンピュータハードウェアを備えるコンピュータシステムを備え、前記コンピュータシステムは、1つ以上のコンピューティングノードを備え、かつ、
    デフォルトタグをメトリックに少なくとも挿入することによって、前記コンピューティングノードの1つ以上の性能に関連する1つ以上の前記メトリックに、キーおよび値の対を備える前記デフォルトタグをタグ付けするように構成される、デフォルトタグ付けモジュールと、
    前記1つ以上のメトリックにタグ付けする際に使用される少なくとも1つの追加タグを受信するように構成される、取得モジュールであって、前記少なくとも1つの追加タグは、前記デフォルトタグとは異なる、取得モジュールと、
    前記少なくとも1つの追加タグを分析して、前記1つ以上のメトリックに前記少なくとも1つの追加タグをタグ付けするために通信する、1つ以上のコンピューティングノードを決定するように構成される、処理モジュールと、
    前記決定された1つ以上のコンピューティングノードと通信して、前記1つ以上のメトリックに前記少なくとも1つの追加タグをタグ付けすることを要求し、それによって、前記タグ付けされたメトリックをその後に集約することを可能にするように構成される、タグ付けモジュールと、
    を実装するようにプログラムされる、システム。
  2. 前記取得モジュールはさらに、要求ユーザから前記少なくとも1つの追加タグの少なくとも1つを受信するように構成される、請求項1に記載のシステム。
  3. 前記要求ユーザから受信した前記タグの少なくとも1つは、前記要求ユーザと関連付けられた請求識別子に関連する、先行する請求項のいずれか1項に記載のシステム。
  4. 前記タグ付けモジュールはさらに、前記複数のコンピューティングノードと通信することによって、前記1つ以上のメトリックにタグ付けするように構成される、先行する請求項のいずれか1項に記載のシステム。
  5. 前記タグ付けされたメトリックは、処理ユーザまたはアプリケーションによって集約されるように構成される、先行する請求項のいずれか1項に記載のシステム。
  6. メトリックにタグ付けする方法であって、
    コンピュータハードウェアを備える1つ以上のコンピュータシステムによって、
    1つ以上のメトリックに、キーおよび値対を備えるデフォルトタグをタグ付けすることと、
    前記1つ以上のメトリックにタグ付けする際に使用される少なくとも1つの追加タグを受信することであって、前記少なくとも1つの追加タグは、前記デフォルトタグとは異なる、受信することと、
    前記1つ以上のメトリックに前記追加タグをタグ付けするために通信する1つ以上のコンピューティングノードを決定するために、前記追加タグを分析することと、
    前記決定された1つ以上のコンピューティングノードと通信して、前記1つ以上のメトリックに前記追加タグをタグ付けすることを要求し、それによって、前記タグ付けされたメトリックをその後に処理することを可能にすることと、
    を含む、方法。
  7. アプリケーションプログラミングインターフェースを使用して、前記複数のコンピューティングノードと通信することをさらに含む、請求項6に記載の方法。
  8. 前記要求ユーザまたはアプリケーションから、前記少なくとも1つの追加タグに対する少なくとも1つの修正を受信し、前記少なくとも1つの修正に少なくとも基づいて、前記分析および通信ステップを行うことをさらに含む、請求項6または7に記載の方法。
  9. 前記コンピューティングノードの少なくとも1つは、ロードバランサ、ファイアウォール、物理マシン、仮想マシン、記憶ノード、およびデータベースサーバのうちの1つ以上を備える、請求項6〜8のいずれか1項に記載の方法。
  10. 前記処理アプリケーションは、グラフィカルユーザインターフェースアプリケーションである、請求項6〜9のいずれか1項に記載の方法。
  11. 前記タグ付けされたメトリックは、処理ユーザまたはアプリケーションによって処理される、請求項6〜10のいずれか1項に記載の方法。
  12. 前記処理ユーザまたは前記処理アプリケーションに、前記タグ付けされたメトリックを出力することをさらに含む、請求項11のいずれか1項に記載の方法。
  13. 前記少なくとも1つの追加タグの少なくとも1つは、要求アプリケーションに由来する、請求項6〜12のいずれか1項に記載の方法。
  14. 前記要求アプリケーションおよび処理アプリケーションは、異なる、請求項13に記載の方法。
  15. 前記少なくとも1つの追加タグの少なくとも1つは、要求ユーザに由来する、請求項6〜14のいずれか1項に記載の方法。
JP2014501170A 2011-03-21 2012-03-19 メトリックデータに動的にタグを付けるための方法およびシステム Active JP5770358B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/053,143 US8429187B2 (en) 2011-03-21 2011-03-21 Method and system for dynamically tagging metrics data
US13/053,143 2011-03-21
PCT/US2012/029701 WO2012129181A1 (en) 2011-03-21 2012-03-19 Method and system for dynamically tagging metrics data

Publications (2)

Publication Number Publication Date
JP2014509036A true JP2014509036A (ja) 2014-04-10
JP5770358B2 JP5770358B2 (ja) 2015-08-26

Family

ID=46001736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014501170A Active JP5770358B2 (ja) 2011-03-21 2012-03-19 メトリックデータに動的にタグを付けるための方法およびシステム

Country Status (7)

Country Link
US (1) US8429187B2 (ja)
EP (1) EP2689334A1 (ja)
JP (1) JP5770358B2 (ja)
CN (1) CN103430157B (ja)
CA (1) CA2829915C (ja)
SG (1) SG193420A1 (ja)
WO (1) WO2012129181A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438275B1 (en) * 2010-11-05 2013-05-07 Amazon Technologies, Inc. Formatting data for efficient communication over a network
US9280386B1 (en) 2011-07-14 2016-03-08 Google Inc. Identifying task instance outliers based on metric data in a large scale parallel processing system
CN104142817B (zh) * 2013-05-10 2017-08-22 中国电信股份有限公司 在Java应用中测量用户资源使用量的方法与装置
US9798763B2 (en) * 2013-09-23 2017-10-24 David D. Wright, SR. Method for using tags to manage client software across a life cycle
US9584395B1 (en) * 2013-11-13 2017-02-28 Netflix, Inc. Adaptive metric collection, storage, and alert thresholds
EP3304299A4 (en) * 2015-06-01 2018-07-25 Draios Inc. Implicit push data transfer
EP3314865A1 (en) * 2015-06-26 2018-05-02 Amazon Technologies Inc. Datastore for aggregated measurements for metrics
US10901731B2 (en) 2018-05-11 2021-01-26 Jpmorgan Chase Bank, N.A. Software development workbench
US10972567B2 (en) * 2019-04-04 2021-04-06 International Business Machines Corporation Multi-dimensional tagging namespace for cloud resource management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264914A (ja) * 2003-02-24 2004-09-24 Intellaset:Kk システム性能測定分析装置
JP2008210308A (ja) * 2007-02-28 2008-09-11 Mitsubishi Electric Corp ログ統合管理装置、及び、ログ統合管理方法、ログ統合管理プログラム
JP2008250661A (ja) * 2007-03-30 2008-10-16 Rakuten Inc 情報検索システム、情報検索装置、履歴共有方法及び履歴共有処理プログラム
JP2010182194A (ja) * 2009-02-06 2010-08-19 Mitsubishi Electric Corp 統合ログ生成装置及び統合ログ生成プログラム及び記録媒体

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5936622A (en) 1997-01-16 1999-08-10 International Business Machines Corporation Method and computer program product for displaying visual threshold setting indicators and threshold activation indicators
US6601034B1 (en) * 1998-03-05 2003-07-29 American Management Systems, Inc. Decision management system which is cross-function, cross-industry and cross-platform
US6903756B1 (en) 1999-10-14 2005-06-07 Jarbridge, Inc. Merged images viewed via a virtual storage closet
US7100152B1 (en) * 2000-01-31 2006-08-29 Freescale Semiconductor, Inc. Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
US7103843B2 (en) 2001-05-25 2006-09-05 International Business Machines Corporation Method and apparatus for visualizing metrics in a data space
US20030156136A1 (en) 2002-02-15 2003-08-21 Cattell Herbert F. Method and system for visualization of results of feature extraction from molecular array data
US7444263B2 (en) 2002-07-01 2008-10-28 Opnet Technologies, Inc. Performance metric collection and automated analysis
US7331019B2 (en) 2003-08-02 2008-02-12 Pathway Technologies, Inc. System and method for real-time configurable monitoring and management of task performance systems
US7636892B2 (en) 2004-06-22 2009-12-22 International Business Machines Corporation Graphical user interface (GUI), method, system and program product for generating usability data for a remote computer user
US7765525B1 (en) * 2004-09-01 2010-07-27 Intuit Inc. Operations manager infrastructure for dynamically updating software operational policy
US7801955B2 (en) 2006-06-16 2010-09-21 Google Inc. Distributed metrics collection
US8775934B2 (en) 2006-07-19 2014-07-08 Power Analytics Corporation Systems and methods for creation of a schematic user interface for monitoring and predicting the real-time health, reliability and performance of an electrical power system
US9147271B2 (en) 2006-09-08 2015-09-29 Microsoft Technology Licensing, Llc Graphical representation of aggregated data
US7581193B2 (en) 2006-12-15 2009-08-25 Yahoo! Inc. System and method for facilitating interactive selection and presentation of datasets
US20080172629A1 (en) 2007-01-17 2008-07-17 Microsoft Corporation Geometric Performance Metric Data Rendering
US20090113397A1 (en) * 2007-10-25 2009-04-30 Signetag, Inc. Dynamic, secure software tagging for software asset management with respect to deployment, configuration, and usage
US20090192879A1 (en) 2008-01-21 2009-07-30 Michael Hood Lead Rating Systems
US20090265707A1 (en) 2008-04-21 2009-10-22 Microsoft Corporation Optimizing application performance on virtual machines automatically with end-user preferences
US20100017466A1 (en) 2008-06-17 2010-01-21 Douglas Trauner System and method for dynamic processing of measurement metrics and tagging measurement metrics
US8196047B2 (en) 2009-01-20 2012-06-05 Microsoft Corporation Flexible visualization for services
US8423638B2 (en) * 2010-09-29 2013-04-16 International Business Machines Corporation Performance monitoring of a computer resource

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264914A (ja) * 2003-02-24 2004-09-24 Intellaset:Kk システム性能測定分析装置
JP2008210308A (ja) * 2007-02-28 2008-09-11 Mitsubishi Electric Corp ログ統合管理装置、及び、ログ統合管理方法、ログ統合管理プログラム
JP2008250661A (ja) * 2007-03-30 2008-10-16 Rakuten Inc 情報検索システム、情報検索装置、履歴共有方法及び履歴共有処理プログラム
JP2010182194A (ja) * 2009-02-06 2010-08-19 Mitsubishi Electric Corp 統合ログ生成装置及び統合ログ生成プログラム及び記録媒体

Also Published As

Publication number Publication date
CN103430157B (zh) 2016-02-10
JP5770358B2 (ja) 2015-08-26
EP2689334A1 (en) 2014-01-29
CA2829915A1 (en) 2012-09-27
CN103430157A (zh) 2013-12-04
CA2829915C (en) 2017-06-13
US20120246157A1 (en) 2012-09-27
SG193420A1 (en) 2013-10-30
WO2012129181A1 (en) 2012-09-27
US8429187B2 (en) 2013-04-23

Similar Documents

Publication Publication Date Title
JP5770358B2 (ja) メトリックデータに動的にタグを付けるための方法およびシステム
US11347806B2 (en) Discovery of containerized platform and orchestration services
US20200249977A1 (en) Custom placement policies for virtual machines
CN109416643B (zh) 应用程序迁移系统
EP3620927B1 (en) Performance monitoring of system version releases
CN109328335B (zh) 智能配置发现技术
CA2697540C (en) Executing programs based on user-specified constraints
US8988998B2 (en) Data processing environment integration control
US9712410B1 (en) Local metrics in a service provider environment
US20150067171A1 (en) Cloud service brokering systems and methods
KR101626174B1 (ko) 데이터 센터 프로그래밍 모델
Menascé et al. Understanding Cloud Computing: Experimentation and Capacity Planning.
US9215153B2 (en) Providing status information for virtual resource computing environment
US9722886B2 (en) Management of cloud provider selection
US20130069950A1 (en) Data Processing Environment Integration Control Interface
US11100199B2 (en) Automatically detecting misuse of licensed software
US11693930B2 (en) Remote software usage monitoring and entitlement analysis
EP3889775A1 (en) Cloud resource utilization management
CN108696559B (zh) 流处理方法及装置
Mehta et al. A two level broker system for infrastructure as a service cloud
CN110247802B (zh) 针对云服务单机环境的资源配置方法及装置
Ravindhren et al. CCMA—cloud critical metric assessment framework for scientific computing
Sehgal et al. Cloud workload characterization
US10079715B1 (en) Methods, systems and computer readable mediums for performing metadata-driven data collection
US11381496B1 (en) Testing a two-phase commit protocol conformance of a cloud based online transaction processing platform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131108

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20131018

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131118

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20140520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150624

R150 Certificate of patent or registration of utility model

Ref document number: 5770358

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250