JP2016517584A - 分型インフラストラクチャのインベントリサービス - Google Patents

分型インフラストラクチャのインベントリサービス Download PDF

Info

Publication number
JP2016517584A
JP2016517584A JP2016502022A JP2016502022A JP2016517584A JP 2016517584 A JP2016517584 A JP 2016517584A JP 2016502022 A JP2016502022 A JP 2016502022A JP 2016502022 A JP2016502022 A JP 2016502022A JP 2016517584 A JP2016517584 A JP 2016517584A
Authority
JP
Japan
Prior art keywords
application
service
data
computing device
machine instance
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
JP2016502022A
Other languages
English (en)
Other versions
JP6291565B2 (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 JP2016517584A publication Critical patent/JP2016517584A/ja
Application granted granted Critical
Publication of JP6291565B2 publication Critical patent/JP6291565B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

インベントリアプリケーションの様々な実施形態が開示される。マシンインスタンスが監視サービスを実行して、マシンインスタンス内で実行されたアプリケーションのプロセス名を決定する。インベントリアプリケーションは、監視サービスから取得されたデータの関数としてマシンインスタンスで実行されたアプリケーションを識別する。識別されたアプリケーションを具体化するデータから分析報告が生成され得る。

Description

分散インフラストラクチャのインベントリサービスに関する。
分散型コンピューティングインフラストラクチャにより、様々なサービス及びアプリケーションはマシンインスタンス内で実行されることができる。どのサービス及びアプリケーションがマシンインスタンス内で現在実装されているかを決定することをできることが有益であろう。
マシンインスタンス内で実装されているアプリケーションを決定する。
態様の一つは、システムであって、少なくとも1つのコンピューティングデバイスと、前記少なくとも1つのコンピューティングデバイス内で実行された少なくとも1つのマシンインスタンスと、前記マシンインスタンス内で実行された監視サービスであって、前記マシンインスタンス内で実行されている少なくとも1つのアプリケーションを識別するデータを生成する論理を備える、監視サービスと、前記少なくとも1つのコンピューティングデバイス内で実行可能なインベントリサービスであって、前記監視サービスから前記データを取得する論理を備える、インベントリサービスと、を備える。
マシンインスタンス内で実装されているアプリケーションを決定する。
本開示の様々な実施形態によるネットワーク化環境の図である。 本開示の様々な実施形態による例示的な地域レベルのデータセンタアーキテクチャの図である。 本開示の様々な実施形態による例示的なデータセンタレベルのデータセンタアーキテクチャの図である。 本開示の様々な実施形態による例示的なラックレベルのデータセンタアーキテクチャの図である。 本開示の様々な実施形態による例示的なサーバレベルのデータセンタアーキテクチャの図である。 本開示の様々な実施形態による図1のネットワーク化環境においてクライアントによってレンダリングされたユーザインターフェースの一実施例の図である。 本開示の様々な実施形態による図1のネットワーク化環境においてクライアントによってレンダリングされたユーザインターフェースの一実施例の図である。 本開示の様々な実施形態による図1のネットワーク化環境においてコンピューティング環境で実行されたインベントリアプリケーションの一部として実装された機能性の一実施例を図解するフローチャートである。 本開示の様々な実施形態による図1のネットワーク化環境においてコンピューティング環境で実行されたインベントリアプリケーションの一部として実装された機能性の一実施例を図解するフローチャートである。 本開示の様々な実施形態による図1のネットワーク化環境で利用されるコンピューティング環境の一実施例の図解を提供する概略ブロック図である。
本開示の多くの態様は、添付の図面を参照してより良く理解され得る。図面内の構成要素は、必ずしも一定の比率の縮尺ではなく、その代わりに本開示の原理を明確に図解することに重点が置かれている。さらに、図面では、同様の参照番号は、いくつかの図全体にわたって対応する部分を指定する。
分散型コンピューティングインフラストラクチャにより、顧客はコンピューティングデバイスの動作をシミュレーションするマシンインスタンスを実装することができる。顧客は、マシンインスタンスにおいて顧客の選択のオペレーティングシステム及びアプリケーションスイートを実装することが許される。多くの場合、分散型コンピューティングインフラストラクチャは、分割されたセキュリティモデルを用いてモデル化され、そこで顧客がマシンインスタンスのルート機能性への排他アクセスを有するが、サービスプロバイダは、インフラストラクチャ機能性への排他アクセスを有する。これにより、サービスプロバイダ及び顧客がそれぞれのサービスの動作を妨げることを防ぎ、サービスの維持及び構成に対する責任をそれぞれの管理者に置いている。
サービスプロバイダがマシンインスタンスへのルートアクセスを有しないとき、どのアプリケーションがマシンインスタンス内で実行されているかを決定することが難しい。このような情報は、製品のより良いマーケティングを容易にするために独立系ソフトウェアベンダにとって有用であろう。このような情報はまた、ソフトウェアの更新、ベストプラクティスの順守、セキュリティの脆弱性、または他の情報を顧客に知らせるためにマシンインスタンスを実装する顧客に有用であろう。
マシンインスタンスとは別々に実行されたインベントリアプリケーションは、マシンインスタンスの各々内で実行された監視サービスと通信する。監視アプリケーションは、それぞれのマシンインスタンス内で実行されたプロセスの名前を決定する。次に、実行されたアプリケーションは、プロセス名を用いて識別される。実行されたアプリケーションのバージョンはまた、プロセス名から決定され得る。監視サービスはまた、インスタンスメタデータサービスと通信して、インベントリアプリケーションへの通信のためにメタデータを取得する。次に、実行されたアプリケーション及びメタデータの識別は、監視サービスによってインベントリアプリケーションに通信され、分析の生成または別の目的のための情報を記憶する。
以下の説明では、システム及びその構成要素の概要が提供され、その後、それらの動作の説明が続く。
図1を参照すると、様々な実施形態によるネットワーク化環境100が示される。ネットワーク化環境100は、コンピューティング環境101と、コンピューティング環境102と、クライアント104とを含み、これらは、ネットワーク107を介して互いにデータ通信している。ネットワーク107としては、例えば、インターネット、イントラネット、エクストラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、有線ネットワーク、無線ネットワーク、もしくは他の好適なネットワークなど、または2つ以上のこのようなネットワークの任意の組み合わせが挙げられる。
コンピューティング環境101または102は、例えば、サーバコンピュータまたは計算能力を提供する任意の他のシステムを備えることができる。あるいは、コンピューティング環境101または102は、複数のコンピューティングデバイスを利用することができ、このコンピューティングデバイスは、例えば、1つ以上のサーババンクもしくはコンピュータバンクまたは他の構成で配列されるコンピューティングデバイスを利用され得る。このようなコンピューティングデバイスは、単独のインストールであり得るか、または多くの異なる地理的な位置間に分布され得る。例えば、コンピューティング環境101または102は、クラウドコンピューティングリソース、グリッドコンピューティングリソース、及び/または任意の他の分散型コンピューティング構成をともに備え得る複数のコンピューティングデバイスを含み得る。場合によっては、コンピューティング環境101または102は、割り当てられた処理能力、ネットワーク、ストレージ、または他のコンピューティング関連リソースが時間とともに変化し得る弾性のコンピューティングリソースに対応することができる。コンピューティング環境101及び102は、別個のコンピューティング環境101及び102として示されるが、いくつかの実施形態では、コンピューティング環境101及び102は、組み合わされたコンピューティング環境101または102として実装され得る。
様々なアプリケーション及び/または他の機能性が様々な実施形態によるコンピューティング環境101または102で実行され得る。同様に、様々なデータは、コンピューティング環境101にアクセス可能なデータストア111に記憶される。データストア111は、理解され得るように複数のデータストア111を表すことができる。データストア111に記憶されたデータは、例えば、後述される様々なアプリケーション及び/または機能エンティティの動作と関連付けられる。
コンピューティング環境101で実行された構成要素は、例えば、インベントリアプリケーション117、インスタンスメタデータサービス121、及び本明細書に詳細に論じられていない他のアプリケーション、サービス、プロセス、システム、エンジン、または機能性を含む。コンピューティング環境102で実行された構成要素は、例えば、マシンインスタンス122、及び本明細書に詳細に論じられていない他のアプリケーション、サービス、プロセス、システム、エンジン、または機能性を含む。マシンインスタンス122は、1つ以上のアプリケーション124の実行を容易にするオペレーティングシステムの仮想化インスタンスを含む。マシンインスタンス122がコンピューティングデバイス内で実行されたオペレーティングシステムの仮想化インスタンスとして論じられるが、コンピューティングデバイスによるオペレーティングシステムの専用の実行もまた、マシンインスタンス122の代わりに使用され得ることが理解される。
アプリケーション124の各々は、マシンインスタンス122のオペレーティングシステム内で実行されるとき、プロセス名127と関連付けられる。プロセス名127は、プロセス名、識別番号、または理解され得るようないくつかの他の一意識別子などの英数字列を含み得る。
同様に、監視サービス131がマシンインスタンス122内で実行されて、対応するマシンインスタンス122内で現在実行されているアプリケーション124のプロセス名127を決定する。監視サービス131は、マシンインスタンス122と関連付けられたクライアント104によって手動でインストールされるか、新たに開始されたマシンインスタンス122内に自動的に含まれるか、または別の手法によってインストールされ得る。
いくつかの実施形態では、対応するマシンインスタンス122内で現在実行されているアプリケーション124のプロセス名127を決定することは、マシンインスタンス122内で実行されたタスクマネージャと通信することを含み得る。他の実施形態では、これは、マシンインスタンス122のオペレーティングシステムで実装されたアプリケーションプログラムインターフェース(API)呼び出しを実行することを含み得る。アプリケーション124のプロセス名127を決定することが、対応するマシンインスタンス122内で現在実行されている。
いくつかの実施形態では、監視アプリケーション124は、アプリケーション124と関連付けられたベンダ、名前、バージョン、または他の情報を決定することによってプロセス名127のうちの1つに対応する実行されたアプリケーション124を識別することができる。いくつかの実施形態では、これは、コンピューティング環境101で実行されたウェブサービスまたはAPIと通信することを含むことができ、このコンピューティング環境は、プロセス名127とアプリケーション124との関係を定義するアプリケーションルックアップテーブル134にアクセスする。他の実施形態では、これは、アプリケーションルックアップテーブル134、またはマシンインスタンス122内でローカルに具体化された他のデータにアクセスすることを含み得る。アプリケーション124を識別することはまた、別の手法によって実施され得る。
いくつかの実施形態では、監視サービス131は、インスタンスメタデータサービス121と通信して、それぞれのマシンインスタンス122と関連付けられたメタデータ135を取得する。インスタンスメタデータサービス121は、それぞれのマシンインスタンス122のメタデータ135を取得することを容易にするウェブサービスまたはAPIを公開することができる。メタデータ135は、一意のマシンインスタンス122識別子、マシンインスタンス122と関連付けられた顧客アカウントの識別、または他のデータを含み得る。次に、監視サービス131は、プロセス名127、アプリケーション124の識別、メタデータ135、及び潜在的に他のデータをインベントリアプリケーション117に通信することができる。
インベントリアプリケーション117は、マシンインスタンス122内で実行された監視サービス131からデータを取得して、マシンインスタンス122のそれぞれの1つで実行されたアプリケーション124の識別を容易にする。この目的のために、インベントリアプリケーション117は、データ集約モジュール137を実装して、プロセス名127、アプリケーション124の識別、メタデータ135、及び潜在的に他のデータを取得することを容易にする。いくつかの実施形態では、これは、監視サービス131にアクセス可能なAPIまたはウェブサービスを公開して、プロセス名127、アプリケーション124の識別、メタデータ135、及び潜在的に他のデータの通信を容易にすることを含む。データを取得してアプリケーション124の識別を容易にすることはまた、別の手法によって実施され得る。
監視サービス131がそれぞれのマシンインスタンス122内で実行されたアプリケーション124を識別しない実施形態では、インベントリアプリケーション117は、プロセス名127、メタデータ135、または監視サービス131に関して上述されるような手法によって監視サービス131から取得された他のデータの関数としてアプリケーション124を識別することができる。例えば、これは、アプリケーションルックアップテーブル134を参照すること、または別の手法を含み得る。
加えて、監視サービス131がインスタンスメタデータサービス121と通信せず、それぞれのマシンインスタンス122のメタデータ135を取得する実施形態では、インベントリアプリケーション117は、インスタンスメタデータサービス121と通信して、監視サービス131に関して上述される手法によって、関連のメタデータ135を取得することができる。
マシンインスタンス122のそれぞれ1つ内で実行されたアプリケーション124の識別を取得または生成した後、データ集約モジュール137は次に、マシンインスタンス122に関してアプリケーションプロファイル141を記憶することができる。アプリケーションプロファイル141は、どのアプリケーション124が特定のマシンインスタンス122内で実行されているかを示すデータを具体化する。アプリケーションプロファイル141は、プロセス名127、アプリケーション124の識別、マシンインスタンス122またはアカウント識別子に対応する一意識別子等のメタデータ135、及び潜在的に他のデータを含み得る。
インベントリアプリケーション117はまた、報告モジュール144を実装して、記憶されたアプリケーションプロファイル141の関数として報告147を生成することができる。例えば、報告モジュール144は、使用率、採用率、インストール率、または特定のアプリケーション124、アプリケーション124の群のベンダ、もしくは他のデータに関する他の集約データを計算することができる。加えて、報告147はまた、競合するアプリケーション124に関して特定のアプリケーション124の使用と関連付けられたデータを含み得る。報告147で具体化されたデータは、1つ以上の特定のアプリケーション124、アプリケーション124のベンダ、マシンインスタンス122、マシンインスタンス122の顧客、データセンタの地域、または他の基準点に関して集約され得る。報告147はまた、理解され得るようなアプリケーションプロファイル141から得られた他のデータを具体化することができる。
報告モジュール144はまた、取得されたアプリケーションプロファイル141をセキュリティポリシー、ベストプラクティスポリシー、またはアプリケーション124の実装の他のガイドラインと比較することができる。例えば、報告モジュール144は、マシンインスタンス122がセキュリティポリシーで開示されるような既知のセキュリティの脆弱性でアプリケーション124のバージョンを実行しているかどうかを決定することができる。次に、報告モジュール144は、脆弱性を示すマシンインスタンス122と関連付けられた顧客への通知を通信することができる。報告モジュール144はまた、アプリケーションプロファイル141に関して他の機能を果たすことができる。
データストア111に記憶されたデータは、例えば、アプリケーションルックアップテーブル134、アプリケーションプロファイル141、及び潜在的に他のデータを含む。
クライアント104は、ネットワーク107に結合され得る複数のクライアントデバイスを表す。クライアント104は、例えば、コンピュータシステム等のプロセッサベースのシステムを含み得る。このようなコンピュータシステムは、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末、携帯電話、スマートフォン、セットトップボックス、音楽プレーヤ、ウェブパッド、タブレットコンピュータシステム、ゲームコンソール、電子書籍リーダー、または同等の能力を有する他のデバイスの形態で具体化され得る。
クライアント104は、クライアントアプリケーション151及び/または他のアプリケーション等の様々なアプリケーションを実行するように構成され得る。クライアントアプリケーション151は、例えば、報告147等、コンピューティング環境101及び/または他のサーバによって提供されたネットワークコンテンツにアクセスするようにクライアント104において実行され得る。この目的のために、クライアントアプリケーション151は、例えば、ブラウザ、専用のアプリケーション等を含み得る。クライアント104は、電子メールアプリケーション、ソーシャルネットワーキングアプリケーション、ワードプロセッサ、表計算、及び/または他のアプリケーションなどのクライアントアプリケーション151を超えたアプリケーションを実行するように構成され得る。
次に、ネットワーク化環境100の様々な構成要素の動作の概要が提供される。最初に、1つ以上のマシンインスタンス122がコンピューティング環境102で実行される。マシンインスタンス122の各々は、少なくとも1つのアプリケーション124及び監視サービス131を実行している。監視サービス131は、それぞれのマシンインスタンス122内で実行されたアプリケーション124のプロセス名127を決定する。いくつかの実施形態では、これは、タスクマネージャまたはマシンインスタンス122内で実行された他のアプリケーション124と通信することを含む。他の実施形態では、これは、マシンインスタンス122のオペレーティングシステムで実装されたAPIを呼び出すことを含む。プロセス名127を決定することはまた、別の手法によって実施され得る。次に、プロセス名127は、API、ウェブサービスによって、または別の手法によってインベントリアプリケーション117のデータ集約モジュール137に通信される。
いくつかの実施形態では、監視サービス131は、プロセス名127をアプリケーション124の識別と関連付けるアプリケーションルックアップテーブル134に問い合わせることによってプロセス名127と関連付けられたアプリケーション124を識別することができる。これは、マシンインスタンス122にアクセス可能なAPIまたはウェブサービスを呼び出すこと、ローカルで維持されたアプリケーションルックアップテーブル134に問い合わせること、または別の手法を含み得る。次に、アプリケーション124の識別は、API、ウェブサービスによって、または別の手法によってデータ集約モジュール137に通信され得る。
いくつかの実施形態では、監視サービス131は、コンピューティング環境101で実行されたインスタンスメタデータサービス121に問い合わせて、対応するマシンインスタンス122のメタデータ135を取得することができる。いくつかの実施形態では、インスタンスメタデータサービス121は、監視サービス131にアクセス可能なウェブサービスまたはAPIを公開して、メタデータ135を取得することを容易にすることができる。メタデータ135はまた、別の手法によって取得され得る。次に、メタデータ135は、API、ウェブサービスによって、または別の手法によってインベントリアプリケーション117のデータ集約モジュール137に通信され得る。
監視サービス131によるプロセス名127、アプリケーション124の識別、またはメタデータ135の通信は、マシンインスタンス122またはマシンインスタンス122と関連付けられた顧客アカウントに関して定義されたユーザまたは顧客選好の関数として実施され得る。例えば、ユーザ選好は、プロセス名127、アプリケーション124の識別、メタデータ135、または他のデータがデータ集約モジュール137に通信されてもよいか、または通信されなくてもよいアプリケーション124のサブセットを定義することができる。
次に、データ集約モジュール137は、マシンインスタンス122内で実行されたアプリケーション124を識別する。いくつかの実施形態では、これは、監視サービス131によって通信されたデータで具体化された識別を取得することを含む。他の実施形態では、これは、監視サービス131からプロセス名127を取得することと、アプリケーションルックアップテーブル134に問い合わせることとを含む。マシンインスタンス122内で実行されたアプリケーション124を識別することはまた、別の手法によって実施され得る。
いくつかの実施形態では、データ集約モジュール137はまた、それぞれのマシンインスタンス122と関連付けられたメタデータ135を生成することができる。いくつかの実施形態では、これは、対応するマシンインスタンス122の監視サービス131からメタデータ135を取得することを含む。他の実施形態では、これは、インスタンスメタデータサービス121と通信して、定義されたマシンインスタンス122のメタデータ135を取得することができる。メタデータ135はまた、別の手法によって生成され得る。次に、データ集約モジュール137は、プロセス名127、アプリケーション124の識別、メタデータ135、または潜在的に他のデータをマシンインスタンス122と関連付けられたアプリケーションプロファイル141として記憶することができる。
次に、報告モジュール144は、クライアント104への通信のためにアプリケーションプロファイル141の関数として報告147を生成することができる。報告147は、クライアント104から取得された要求に応答して生成されるか、所定の間隔で生成されるか、またはいくつかの他の条件に応答して生成され得る。報告147は、電子メールの添付ファイルとしてクライアント104に通信されるか、ブラウザのクライアントアプリケーション151によってレンダリングされたネットワークページで符号化されるか、専用のクライアントアプリケーション151によって、または別の手法によってレンダリングするためにデータとして符号化され得る。
例えば、報告モジュール144は、それらのアプリケーション124または競合するアプリケーションの使用統計を具体化するアプリケーション124のベンダと関連付けられたクライアント104への通信のために報告147を生成することができる。別の例として、報告モジュール144は、セキュリティポリシーまたはベストプラクティスポリシー及びマシンインスタンス122に関して順守を具体化するマシンインスタンス122の顧客と関連付けられたクライアント104に報告147を生成及び通信することができる。報告147はまた、別の手法によって生成及び通信され得る。
図2A〜2Dは、様々な実施形態によるデータセンタアーキテクチャ200の詳細の様々なレベルを表す。図2A〜2Dに記載されるデータセンタアーキテクチャ200の様々な構成要素、及び記載されるようなそれらの様々な副構成要素は、マシンインスタンス122(図1)の実行を容易にするコンピューティング環境101(図1)の例示的な実装形態を表す。
図2Aは、様々な実施形態による例示的なデータセンタアーキテクチャ200の地域レベルの図を表す。地域201a〜nは、複数の可用性区域204a〜n及び205a〜nを含む複数の論理グループ化である。地域201a〜nは、地形、国境、論理もしくはグラフィックトポロジ、またはいくつかの他の手法の関数としてグループ化され得る。例えば、地域201a〜nは、南東部、中西部、北東部、または他の地域など、米国の地域によってグループ化され得る。他の手法もまた、地域201a〜nを定義するために使用され得る。
各地域201a〜nは、1つ以上の可用性区域204a〜nまたは205a〜nを含む。可用性区域204a〜nまたは205a〜nの各々は、1つ以上のデータセンタ207a〜n、208a〜n、209a〜n、及び210a〜nを含む論理グループ化である。可用性区域204a〜nまたは205a〜nは、他の可用性区域204a〜nまたは205a〜nにおける故障から隔離され、かつ同じ地域201a〜n内の他の可用性区域204a〜nまたは205a〜nへの接続性と関連付けられたレイテンシコストを最適化するように定義される。例えば、別個の可用性区域204a〜nまたは205a〜nは、別個のネットワーク、電力回路、発電機、または他の構成要素を含み得る。加えて、いくつかの実施形態では、単一のデータセンタ207a〜n、208a〜n、209a〜n、または210a〜nは、複数の可用性区域204a〜nまたは205a〜nを含み得る。地域201a〜nは、ネットワーク107(図1)を通じて互いにデータ通信している。
図2Bは、例示的なデータセンタアーキテクチャ200のデータセンタレベルの図を示す。データセンタレベルの図は、データセンタ207a〜n、208a〜n、209a〜n、または210a〜n内に実装されたアーキテクチャを表すことができる。データセンタ207aは、少なくとも1つのラック集合体211a〜nを含み、各ラック集合体211a〜nは、対応する少なくとも1つのラック214a〜nまたは215a〜nを含む。データセンタ207aはまた、マシンインスタンス122(図1)の実装を容易にするラック217a〜nを含む少なくとも1つのサービスラック集合体216を含み得る。
各ラック集合体211a〜nまたは216はまた、対応するグループ化またはラック214a〜n、215a〜n、もしくは217a〜nが接続される少なくとも1つの電力系統218a〜nまたは219を含む。電力系統218a〜nまたは219は、配線、スイッチ、バッテリ、無停電電源、発電機、またはラック214a〜n、215a〜n、もしくは217a〜nの電力供給を容易にするように実装された他の構成要素を含み得る。
各ラック集合体211a〜nまたは216は、ローカルネットワーク221a〜nまたは222に結合される。ローカルネットワーク221a〜nまたは222は、対応するラック集合体211a〜nまたは216の構成要素間のデータ通信を容易にするように実装される。ローカルネットワーク221a〜nまたは222はまた、対応するラック集合体211a〜nまたは216とネットワーク107との間のデータ通信を容易にすることができる。
図2Cは、様々な実施形態によるデータセンタアーキテクチャ200のラック集合体レベルの実装形態を示す。ラック集合体レベルの実装形態は、ラック集合体211a〜nまたは216を表すことができる。例えば、ラック集合体211aは、ラック214a〜g及びラック214h〜nのサブセットに細分された複数のラック214a〜nを含む。各ラック214a〜nは、複数のサーバ221a〜n、222a〜n、223a〜n、または224a〜n、及び潜在的に他の機能性を備える。各サーバ221a〜n、222a〜n、223a〜n、または224a〜nは、共有または別個のハードウェア構成を含み得る。ラック214a〜nの各々はまた、対応するサーバ221a〜n、222a〜n、223a〜n、または224a〜nが接続される少なくとも1つのスイッチ227a〜nを備える。ラック集合体221aはまた、集約ルータ231a〜nの階層を含む。図2Cは、集約ルータ231a〜nの二段階層を示すが、集約ルータ231a〜nの1つ以上のレベルが実装され得ることが理解される。最高レベルの集約ルータ231a〜nは、外部ネットワーク107(図1)と通信している。
集約ルータ231a〜nは、サーバ221a〜n、222a〜n、223a〜n、または224a〜nへのネットワーク通信のルーティングを容易にする。この目的のために、スイッチ227a〜nの各々は、集約ルータ231a〜nとデータ通信している。
図2Dは、データセンタアーキテクチャ200で実装されるようなサーバ221aを示す。図2Dは、サーバ221aで描かれるが、図2Dは、任意のサーバ221a〜n、222a〜n、223a〜n、または224a〜nを表し得ることが理解される。
1つ以上のマシンインスタンス122がサーバ221aで実行される。マシンインスタンス122は、サービス、アプリケーション、または他の機能性の実行を容易にするオペレーティングシステムの仮想化インスタンスを含む。各マシンインスタンス122は、仮想化層237と通信する。仮想化層227は、実行されたマシンインスタンス122の各々によってハードウェア層241へのアクセスを制御する。仮想化層237は、特権ドメイン244をさらに備え得る。特権ドメイン244は、マシンインスタンス122、ハードウェア層241、または他の構成要素の間の対話を容易にするために、他の実行されたマシンインスタンス122に関して別個またはより高レベルのユーザ特権を有するマシンインスタンス122を含み得る。特権ドメイン244はまた、システム管理者等の承認されたユーザのサブセットへの特権ドメイン244のアクセス制限、限界操作を含み得る。特権ドメイン244は、マシンインスタンス122の作成及び管理を容易にすることができる。
ハードウェア層241は、マシンインスタンス234の動作及びそれらの関連の実行された機能性を容易にするように実装された様々なハードウェア構成要素を備える。ハードウェア層241は、ネットワークインターフェースカード、ネットワークルーティング構成要素、プロセッサ、メモリ、ストレージデバイス、または他の構成要素を備える。
次に図3Aを参照すると、クライアント104(図1)への通信のために報告モジュール144(図1)によって符号化された例示的な報告147(図1)が示される。いくつかの実施形態では、図3Aに示されるユーザインターフェースは、ブラウザクライアントアプリケーション151(図1)によるレンダリングのために符号化されたネットワークページを含む。別の方法では、ユーザインターフェースは、専用のクライアントアプリケーション151によってレンダリングするために符号化されたデータを含み得る。
項目301は、データセンタの地域及び個々のアプリケーション124によって分類されたマシンインスタンス122(図1)で実装されるような特定のベンダのアプリケーション124の使用を詳述する報告147を示す。項目304は、報告147を具体化するネットワークページに向けられたユニフォームリソースロケータ(URL)である。項目307は、報告147が生成されたことに関してベンダの名前に対応する文識別子である。項目311は、報告147で具体化されたデータを示す文識別子である。
項目314は、セルが、その行の他のセルが一致するデータセンタの地域を定義する表の列である。項目317は、セルがベンダによって販売された3つの異なるアプリケーション124を定義する表の列である。項目321は、対応するデータセンタの地域内の対応するアプリケーション124の使用率である。項目324は、対応するデータセンタの地域内の競合するアプリケーション124の使用率である。
次に図3Bを参照すると、クライアント104(図1)への通信のために報告モジュール144(図1)によって符号化された例示的な報告147(図1)が示される。いくつかの実施形態では、図3Bに示されるユーザインターフェースは、ブラウザクライアントアプリケーション151(図1)によってレンダリングするために符号化されたネットワークページを含む。別の方法では、ユーザインターフェースは、専用のクライアントアプリケーション151によってレンダリングするために符号化されたデータを含み得る。
項目331は、データセンタの地域及びアプリケーション124のベンダによって分類された米国東部のデータセンタの地域のマシンインスタンス122(図1)で実装されるようなアプリケーション124の使用を詳述する報告147を示す。項目334は、報告147を具体化するネットワークページに向けられたユニフォームリソースロケータ(URL)である。項目337は、報告147が生成されたことに関してデータセンタの地域の名前に対応する文識別子である。項目341は、報告147で具体化されたデータを示す文識別子である。
項目344は、セルが、アプリケーション124の使用データが一致するベンダを定義する表の列である。項目347は、セルが、対応するベンダに対する米国東部のデータセンタの地域でのアプリケーション124の使用を具体化する表の列である。項目351は、項目344及び347に記載されるデータを具体化するように生成された円グラフである。
図4に進むと、様々な実施形態による監視サービス131(図1)の一部の動作の一実施例を提供するフローチャートが示される。図4のフローチャートは単に、本明細書に記載されるような監視サービス131の一部の動作を実装するために利用され得る多くの異なる種類の機能的構成の一実施例を提供することが理解される。別の方法として、図4のフローチャートは、1つ以上の実施形態によるコンピューティング環境102(図1)で実装された方法のステップの一実施例を示すと見なされ得る。
ボックス401から開始すると、監視サービス131は、それぞれのマシンインスタンス122(図1)内で実行されているアプリケーション124(図1)に対応するプロセス名127(図1)を取得する。プロセス名127を取得することは、オペレーティングシステムで実行されたプロセス及びアプリケーション124を監視するタスクマネージャアプリケーション124またはサービスと通信することを含み得る。プロセス名127を取得することはまた、それぞれのマシンインスタンス122のオペレーティングシステムによって公開されたアプリケーションプログラムインターフェース呼び出しを実行することを含み得る。プロセス名127を取得することはまた、別の手法によって取得され得る。
プロセス名127を取得した後、ボックス404では、監視サービス131は次に、プロセス名127の各々に対応するアプリケーション124を識別する。いくつかの実施形態では、これは、プロセス名127及びアプリケーション124を関連付けるアプリケーションルックアップテーブル134に問い合わせることを含む。アプリケーションルックアップテーブル134は、マシンインスタンス122にローカルでアクセス可能であるか、またはコンピューティング環境101もしくは102に記憶され、かつAPI、ウェブサービス、または他の機能性を通じてアクセス可能であり得る。監視サービス131は、プロセス名127の他の手法の関数としてアプリケーション124を識別することができる。
次に、ボックス407では、監視サービス131は、インスタンスメタデータサービス121(図1)に問い合わせて、監視サービス131が実行されるマシンインスタンス122に対応するメタデータ135を取得する。メタデータ135は、ウェブサービス呼び出し、ネットワークページ要求、API呼び出しに応答して、または別の手法によって取得され得る。メタデータ135を取得した後、ボックス411では、監視サービス131は次に、アプリケーション124の識別及びメタデータ135をインベントリアプリケーション117(図1)のデータ集約モジュール137(図1)に通信する。これは、それぞれのマシンインスタンス122と関連付けられたユーザ選好の関数、または通信される識別もしくはメタデータ135のサブセットを定義する顧客アカウントとして実施され得る。アプリケーション124の識別及びメタデータ135を通信した後、この過程は終了する。
図5に進むと、様々な実施形態によるインベントリアプリケーション117(図1)の一部の動作の一実施例を提供するフローチャートが示される。図5のフローチャートは単に、本明細書に記載されるようなインベントリアプリケーション117の一部の動作を実装するために利用され得る多くの異なる種類の機能的構成の一実施例を提供することが理解される。別の方法として、図5のフローチャートは、1つ以上の実施形態によるコンピューティング環境101(図1)で実装された方法のステップの一実施例を示すと見なされ得る。
ボックス501から開始すると、データ集約モジュール137(図1)は、コンピューティング環境102を動作するマシンインスタンス122内で実行された監視サービス131(図1)からアプリケーション124の識別及びマシンインスタンス122(図1)のメタデータ135を取得する。アプリケーション124の識別及びメタデータ135を取得することは、ウェブサービス、API、もしくは監視サービス131に公開された他の機能性によって容易にされるか、または監視サービス131及びデータ集約モジュール137の両方にアクセス可能なデータストア111(図1)から取得され得る。アプリケーション124の識別及びメタデータ135はまた、別の手法によって取得され得る。
次に、ボックス504では、データ集約モジュール137は、アプリケーションプロファイル141(図1)のようなデータストア111内にアプリケーション124の識別及びメタデータ135を記憶する。これは、マシンインスタンス122でのアプリケーション124の使用を具体化するリレーショナルデータベースまたは他のデータ構造への入力としてアプリケーションプロファイル141を記憶することを含み得る。アプリケーションプロファイル141はまた、別の手法によって記憶され得る。
ボックス507では、インベントリアプリケーション117の報告モジュール144(図1)は、クライアント104(図1)からのクエリを取得して、ボックス511において記憶されたアプリケーションプロファイル141の関数として報告147(図1)を生成する。報告147は、報告147を要求するクライアント104、アプリケーション124のベンダ、マシンインスタンス122の顧客、または他の当事者に関して定義されたテンプレートまたは他のルールセットの関数として生成され得る。報告147は、例えば、アプリケーション124の使用もしくは採用データ、セキュリティポリシーもしくはベストプラクティスポリシーの順守、または他のデータを含み得る。
報告147が生成された後、ボックス514では、報告147は次に、報告モジュール144によってネットワーク107(図1)を介してクライアント104に通信される。報告147は、クライアント104にアクセス可能なデータストア111に記憶された、クライアントアプリケーション151(図1)によって、または別の手法によってレンダリングするために符号化された電子メールの添付ファイル、ネットワークページとして通信され得る。この過程は、報告147を通信した後に終了する。
図6を参照すると、本開示の一実施形態によるコンピューティング環境101の概略ブロック図が示される。コンピューティング環境101は、1つ以上のコンピューティングデバイス601を含む。各コンピューティングデバイス601は、例えば、プロセッサ602及びメモリ604を有する少なくとも1つのプロセッサ回路を含み、このプロセッサ及びメモリはともに、ローカルインターフェース607に結合される。この目的のために、各コンピューティングデバイス601は、例えば、少なくとも1つのサーバコンピュータまたは同様のデバイスを含み得る。ローカルインターフェース607は、例えば、理解され得るように、付随するアドレス/制御バスを有するデータバス、または他のバス構造を含み得る。
プロセッサ602によって実行可能なデータ及びいくつかの構成要素の両方がメモリ604に記憶される。具体的には、インベントリアプリケーション117、インスタンスメタデータサービス121、及び潜在的に他のアプリケーションがメモリ604に記憶され、プロセッサ602によって実行可能である。同様に、アプリケーションルックアップテーブル134、アプリケーションプロファイル141、及び他のデータを有するデータストア111がメモリ604に記憶され得る。加えて、オペレーティングシステムは、メモリ604に記憶され、プロセッサ602によって実行可能であり得る。
理解され得るように、メモリ604に記憶され、プロセッサ602によって実行可能な他のアプリケーションがあり得ることが理解される。本明細書に論じられる任意の構成要素がソフトウェアの形態で実装される場合、例えば、C、C++、C#、オブジェクティブC、Java(登録商標)、JavaScript(登録商標)、Perl、PHP、Visual Basic(登録商標)、Python(登録商標)、Ruby、Flash(登録商標)、または他のプログラミング言語など、いくつかのプログラミング言語のうちのいずれか1つが利用され得る。
いくつかのソフトウェア構成要素がメモリ604に記憶され、プロセッサ602によって実行可能である。これに関して、用語「実行可能な」は、プロセッサ602によって最終的に動作され得る形態であるプログラムファイルを意味する。実行可能なプログラムの例は、例えば、メモリ604のランダムアクセス部分にロードされ、かつプロセッサ602によって動作され得る形態でマシンコードに変換され得るコンパイルしたプログラム、メモリ604のランダムアクセス部分にロードされ、かつプロセッサ602によって実行されることができるオブジェクトコード等の適切なフォーマットで表現され得るソースコード、またはプロセッサ602によって実行されるメモリ604のランダムアクセス部分で命令を生成するように別の実行可能なプログラムによって解釈され得るソースコードなどであり得る。実行可能なプログラムは、例えば、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカード、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)等の光学ディスク、フロッピー(登録商標)ディスク、磁気テープ、または他のメモリ構成要素を含む、メモリ604の任意の部分または構成要素に記憶され得る。
メモリ604は、揮発性及び不揮発性メモリの両方ならびにデータストレージ構成要素を含むように本明細書に定義される。揮発性構成要素は、電源喪失時にデータ値を保持しないものである。不揮発性構成要素は、電源喪失時にデータを保持するものである。したがって、メモリ604は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスクドライブ、ソリッドステートドライブ、USBフラッシュドライブ、メモリカードリーダーを介してアクセスされたメモリカード、関連したフロッピーディスクドライブを介してアクセスされたフロッピーディスク、光学ディスクドライブを介してアクセスされた光学ディスク、適切なテープドライブを介してアクセスされた磁気テープ、及び/もしくは他のメモリ構成要素、またはこれらのメモリ構成要素のうちの任意の2つ以上の組み合わせを含み得る。加えて、RAMは、例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)、及び他のこのようなデバイスを含み得る。ROMは、例えば、プログラマブル読み取り専用メモリ(PROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM)、電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM)、または他の同様のメモリデバイスを含み得る。
同様に、プロセッサ602は、複数のプロセッサ602、及び/または複数のプロセッサコアを表すことができ、メモリ604は、並列処理回路でそれぞれ動作する複数のメモリ604を表すことができる。このような場合、ローカルインターフェース607は、複数のプロセッサ602のうちのいずれか2つの間、いずれかのプロセッサ602とメモリ604のうちのいずれかとの間、またはメモリ604のうちのいずれか2つの間などでの通信を容易にする適切なネットワークであり得る。ローカルインターフェース607は、例えば、負荷バランシングを実施することを含む、この通信を調整するように設計された追加のシステムを含み得る。プロセッサ602は、電気的またはいくつかの他の利用可能な構築物であり得る。
インベントリアプリケーション117及び本明細書に記載される他の様々なシステムは、上述されるような汎用ハードウェアによって実行されたソフトウェアまたはコードで具体化され得るが、別の方法として、同じものもまた、専用のハードウェア、またはソフトウェア/汎用ハードウェアと専用のハードウェアとの組み合わせで具体化され得る。専用のハードウェアで具体化された場合、各々は、いくつかの技術のうちのいずれか1つまたはそれらの組み合わせを利用する回路または状態マシンとして実装され得る。これらの技術としては、これらに限定されないが、1つ以上のデータ信号の適用時に様々な論理関数を実装するための論理ゲートを有する個別論理回路、適切な論理ゲートを有する特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の構成要素などが挙げられ得る。このような技術は一般に、当業者によって周知であり、それ故に本明細書に詳細に記載されない。
図4及び5のフローチャートは、監視サービス131及びインベントリアプリケーション117それぞれの一部の実装形態の機能性及び動作を示す。ソフトウェアで具体化された場合、各ブロックは、特定の論理機能(複数可)を実装するプログラム命令を含むモジュール、セグメント、またはコードの一部を表すことができる。プログラム命令は、コンピュータシステムまたは他のシステム内のプロセッサ602等の好適な実行システムによって認識可能な数値命令を含むプログラミング言語またはマシンコードで書かれた人間が読み取り可能な命令文を含むソースコードの形態で具体化され得る。マシンコードは、ソースコードなどから変換され得る。ハードウェアで具体化された場合、各ブロックは、特定の論理機能(複数可)を実装する回路またはいくつかの相互接続した回路を表すことができる。
図4及び5のフローチャートは、特定の実行の順序を示すが、実行の順序は、示される順序とは異なり得ることが理解される。例えば、2つ以上のブロックの実行の順序は、示される順序に対してスクランブルがかけられてもよい。同様に、図4及び5に連続して示される2つ以上のブロックは、同時または部分的に同時に実行されてもよい。さらに、いくつかの実施形態では、図4及び5に示されるブロックのうちの1つ以上は、飛ばされるか、または省略されてもよい。加えて、任意の数のカウンタ、状態変数、警告セマフォ、またはメッセージが、有用性の向上、会計、性能評価、またはトラブルシューティング支援の提供などの目的のために、本明細書に記載される論理フローに追加されてもよい。すべてのこのような変形は、本開示の範囲内であることが理解される。
同様に、ソフトウェアまたはコードを備えるインベントリアプリケーション117を含む、本明細書に記載される任意の論理またはアプリケーションは、例えば、コンピュータシステムまたは他のシステム内のプロセッサ602など、命令実行システムによって使用するために、またはそれに関連して任意の非一時的コンピュータ可読媒体で具体化され得る。この意味では、論理は、例えば、コンピュータ可読媒体からフェッチされ、かつ命令実行システムによって実行され得る命令及び宣言を含む命令文を含み得る。本開示の文脈において、「コンピュータ可読媒体」は、命令実行システムによって使用するために、またはそれに関連して本明細書に記載される論理またはアプリケーションを含み、記憶し、または維持し得る任意の媒体であり得る。
本開示の実施形態は、以下の付記を考慮して記載され得る。
1.少なくとも1つのコンピューティングデバイス内で実行可能なプログラムを具体化する非一時的コンピュータ可読媒体であって、
複数のマシンインスタンスを実行するコードと、
マシンインスタンス内で実行された第1のサービスによって、複数のプロセス識別子を取得するコードであって、プロセス識別子の各々が、マシンインスタンスのうちのそれぞれ1つ内で実行された複数のアプリケーションのうちの1つと関連付けられる、コードと、
第1のサービスによって、ウェブサービス呼び出しに問い合わせて、マシンインスタンスのうちのそれぞれ1つと関連付けられたメタデータを取得するコードと、
第1のサービスによって、プロセス識別子及びマシンインスタンスのうちのそれぞれ1つと関連付けられたユーザ選好の関数としてアプリケーションの複数の識別を生成するコードであって、識別が、アプリケーションのうちのそれぞれ1つに対応するバージョン番号を含む、コードと、
マシンインスタンス内で実行されない第2のサービスによってマシンインスタンスの各々から識別及びメタデータを取得するコードと、
識別及びメタデータの関数として分析報告を生成するコードと、を備える、非一時的コンピュータ可読媒体。
2.メタデータは、マシンインスタンス識別子またはアカウント識別子のうちの少なくとも1つを含む、付記1に記載の非一時的コンピュータ可読媒体。
3.分析報告は、データセンタの地域または顧客アカウントに関してアプリケーション使用を具体化する、付記1に記載の非一時的コンピュータ可読媒体。
4.少なくとも1つのコンピューティングデバイスと、
少なくとも1つのコンピューティングデバイス内で実行された少なくとも1つのマシンインスタンスと、
マシンインスタンス内で実行された監視サービスであって、
マシンインスタンス内で実行されている少なくとも1つのアプリケーションを識別するデータを生成する論理を備える、監視サービスと、
少なくとも1つのコンピューティングデバイス内で実行可能なインベントリサービスであって、
監視サービスからデータ取得する論理を備える、インベントリサービスと、を備える、システム。
5.監視サービスは、
マシンインスタンス内で実行された少なくとも1つのプロセスの名前を決定する論理と、
名前の関数として少なくとも1つのアプリケーションを識別する論理と、をさらに備え、
データは、識別の関数として生成される、付記4に記載のシステム。
6.データは、マシンインスタンスと関連付けられたユーザ選好の関数として生成される、付記4に記載のシステム。
7.データは、少なくとも1つのアプリケーションと関連付けられたプロセス識別を含み、インベントリサービスは、データ内に含まれたプロセス識別の関数として少なくとも1つのアプリケーションを識別する論理をさらに備える、付記4に記載のシステム。
8.インベントリサービスは、データをセキュリティポリシーまたはベストプラクティスポリシーのうちの少なくとも1つと比較する論理をさらに備える、付記4に記載のシステム。
9.監視サービスは、
少なくとも1つのアプリケーションのバージョン番号を決定する論理をさらに備え、
データは、バージョン番号をさらに含む、付記4に記載のシステム。
10.インベントリサービスは、
アプリケーションの更新がバージョン番号の関数として利用可能であるかどうかを決定する論理と、
更新を示すマシンインスタンスと関連付けられた顧客への通知を通信する論理と、をさらに備える、付記8に記載のシステム。
11.インベントリサービスは、
データをデータ集約に追加する論理と、
データ集約の関数として分析報告を生成する論理と、をさらに備える、付記4に記載のシステム。
12.分析報告は、分散型データセンタの地域、アカウント識別子、または少なくとも1つのマシンインスタンスの識別子に関してアプリケーション使用分布を具体化する、付記11に記載のシステム。
13.システムは、ウェブサービス呼び出しを有効にするアプリケーションプログラムインターフェースを公開して、少なくとも1つのマシンインスタンスと関連付けられたメタデータを返す論理を備える、少なくとも1つのコンピューティングデバイス内で実行可能なインスタンスメタデータサービスをさらに備える、付記4に記載のシステム。
14.監視サービスは、
インスタンスメタデータサービスからメタデータを取得する論理をさらに備え、
データは、メタデータをさらに含む、付記4に記載のシステム。
15.インベントリサービスは、
インスタンスメタデータサービスからメタデータを取得する論理をさらに備え、
データは、メタデータをさらに含む、付記13に記載のシステム。
16.第1の少なくとも1つのコンピューティングデバイス内で、第1のサービスによって、第1のコンピューティングデバイス内で実行された少なくとも1つのアプリケーションと関連付けられた少なくとも1つのプロセス識別子を取得するステップと、
第1のコンピューティングデバイス内で、第1のサービスによって、少なくとも1つのプロセス識別子の関数として少なくとも1つのアプリケーションの識別を生成するステップと、
第1のコンピューティングデバイスによって、識別を第1のサービスから、それによって第2の少なくとも1つのコンピューティングデバイス内で実行された第2のサービスに通信するステップと、を含む、方法。
17.第2のコンピューティングデバイス内で、識別を識別集約に追加することと、
コンピューティングデバイス内で、識別集約の関数として分析報告を生成することと、をさらに含む、付記16に記載の方法。
18.本方法は、第2のコンピューティングデバイス内で、識別をセキュリティポリシーまたはベストプラクティスポリシーのうちの少なくとも1つと比較することをさらに含む、付記16に記載の方法。
19.本方法は、
第2のコンピューティングデバイス内で、ウェブサービス呼び出しを有効にするマシンインスタンスメタデータサービスを実行して、第1のコンピューティングデバイスと関連付けられたメタデータを取得することと、
第1のコンピューティングデバイス内で、第1のサービスによって、ウェブサービス呼び出しを問い合わせて、メタデータを取得することと、をさらに含み、
識別は、メタデータをさらに含む、付記16に記載の方法。
20.メタデータは、第1のコンピューティングデバイスの一意識別子または第1のコンピューティングデバイスと関連付けられたアカウント識別子のうちの少なくとも1つを含む、付記18に記載の方法。
21.識別は、識別内に含まれ得る少なくとも1つのアプリケーションのサブセットを定義する第1のコンピューティングデバイスと関連付けられたユーザ選好の関数として生成される、付記18に記載の方法。
コンピュータ可読媒体は、例えば、磁気、光学、または半導体媒体等の多くの物理的な媒体のうちのいずれか1つを含み得る。好適なコンピュータ可読媒体のより特定の例としては、これらに限定されないが、磁気テープ、磁気フロッピーディスケット、磁気ハードドライブ、メモリカード、ソリッドステートドライブ、USBフラッシュドライブ、または光学ディスクが挙げられるであろう。同様に、コンピュータ可読媒体は、例えば、スタティックランダムアクセスメモリ(SRAM)及びダイナミックランダムアクセスメモリ(DRAM)、または磁気ランダムアクセスメモリ(MRAM)を含むランダムアクセスメモリ(RAM)であってもよい。加えて、コンピュータ可読媒体は、読み取り専用メモリ(ROM)、プログラマブル読み取り専用メモリ(PROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM)、電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM)、または他の種類のメモリデバイスであってもよい。
本開示の上述の実施形態は単に、本開示の原理の明確な理解のために記載される実装形態の可能な実施例であることが強調されるべきである。本開示の趣旨及び原理から実質的に逸脱することなく、多くの変形及び修正が上述の実施形態(複数可)に行われ得る。すべてのこのような修正及び変形は、本開示の範囲内で本明細書に含まれ、かつ以下の特許請求の範囲によって保護されることが意図される。

Claims (15)

  1. 少なくとも1つのコンピューティングデバイスと、
    前記少なくとも1つのコンピューティングデバイス内で実行された少なくとも1つのマシンインスタンスと、
    前記マシンインスタンス内で実行された監視サービスであって、
    前記マシンインスタンス内で実行されている少なくとも1つのアプリケーションを識別するデータを生成する論理を備える、監視サービスと、
    前記少なくとも1つのコンピューティングデバイス内で実行可能なインベントリサービスであって、
    前記監視サービスから前記データを取得する論理を備える、インベントリサービスと、
    を備える、システム。
  2. 前記監視サービスは、
    前記マシンインスタンス内で実行された少なくとも1つのプロセスの名前を決定する論理と、
    前記名前の関数として前記少なくとも1つのアプリケーションを識別する論理と、
    をさらに備え、
    前記データは、前記識別の関数として生成される、
    請求項1に記載の前記システム。
  3. 前記データは、前記マシンインスタンスと関連付けられたユーザ選好の関数として生成される、請求項1に記載の前記システム。
  4. 前記データは、前記少なくとも1つのアプリケーションと関連付けられたプロセス識別を含み、前記インベントリサービスは、前記データ内に含まれた前記プロセス識別の関数として前記少なくとも1つのアプリケーションを識別する論理をさらに備える、請求項1に記載の前記システム。
  5. 前記インベントリサービスは、前記データをセキュリティポリシーまたはベストプラクティスポリシーのうちの少なくとも1つと比較する論理をさらに備える、請求項1に記載の前記システム。
  6. 前記監視サービスは、
    前記少なくとも1つのアプリケーションのバージョン番号を決定する論理をさらに備え、
    前記データは、バージョン番号をさらに含む、
    請求項1に記載の前記システム。
  7. 前記インベントリサービスは、
    前記アプリケーションの更新がバージョン番号の関数として利用可能であるかどうかを決定する論理と、
    前記更新を示す前記マシンインスタンスと関連付けられた顧客への通知を通信する論理と、
    をさらに備える、
    請求項5に記載の前記システム。
  8. 前記インベントリサービスは、
    前記データをデータ集約に追加する論理と、
    前記データ集約の関数として分析報告を生成する論理と、
    をさらに備える、
    請求項1に記載の前記システム。
  9. 前記分析報告は、分散型データセンタの地域、アカウント識別子、または前記少なくとも1つのマシンインスタンスの識別子に関してアプリケーション使用分布を具体化する、請求項8に記載の前記システム。
  10. システムは、ウェブサービス呼び出しを有効にするアプリケーションプログラムインターフェースを公開して、前記少なくとも1つのマシンインスタンスと関連付けられたメタデータを返す論理を備える、前記少なくとも1つのコンピューティングデバイス内で実行可能なインスタンスメタデータサービスをさらに備える、請求項1に記載の前記システム。
  11. 少なくとも1つの第1のコンピューティングデバイス内で、第1のサービスによって、前記第1のコンピューティングデバイス内で実行された少なくとも1つのアプリケーションと関連付けられた少なくとも1つのプロセス識別子を取得するステップと、
    前記第1のコンピューティングデバイス内で、前記第1のサービスによって、前記少なくとも1つのプロセス識別子の関数として前記少なくとも1つのアプリケーションの識別を生成するステップと、
    前記第1のコンピューティングデバイスによって、前記識別を前記第1のサービスから、それによって少なくとも1つの第2のコンピューティングデバイス内で実行された第2のサービスに通信するステップと、
    を含む、方法。
  12. 前記第2のコンピューティングデバイス内で、前記識別を識別集約に追加することと、
    前記コンピューティングデバイス内で、前記識別集約の関数として分析報告を生成することと、
    をさらに含む、請求項11に記載の前記方法。
  13. 前記方法は、前記第2のコンピューティングデバイス内で、前記識別をセキュリティポリシーまたはベストプラクティスポリシーのうちの少なくとも1つと比較することをさらに含む、請求項11に記載の前記方法。
  14. 前記方法は、
    前記第2のコンピューティングデバイス内で、ウェブサービス呼び出しを有効にするマシンインスタンスメタデータサービスを実行して、前記第1のコンピューティングデバイスと関連付けられたメタデータを取得することと、
    前記第1のコンピューティングデバイス内で、前記第1のサービスによって、前記ウェブサービス呼び出しに問い合わせて、前記メタデータを取得することと、
    をさらに含み、
    前記識別は、前記メタデータをさらに含む、
    請求項11に記載の前記方法。
  15. メタデータは、前記第1のコンピューティングデバイスの一意識別子または前記第1のコンピューティングデバイスと関連付けられたアカウント識別子のうちの少なくとも1つを含む、請求項13に記載の前記方法。
JP2016502022A 2013-03-14 2014-03-13 分型インフラストラクチャのインベントリサービス Active JP6291565B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/827,693 2013-03-14
US13/827,693 US10333801B2 (en) 2013-03-14 2013-03-14 Inventory service for distributed infrastructure
PCT/US2014/026003 WO2014160188A1 (en) 2013-03-14 2014-03-13 Inventory service for distributed infrastructure

Publications (2)

Publication Number Publication Date
JP2016517584A true JP2016517584A (ja) 2016-06-16
JP6291565B2 JP6291565B2 (ja) 2018-03-14

Family

ID=51533648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016502022A Active JP6291565B2 (ja) 2013-03-14 2014-03-13 分型インフラストラクチャのインベントリサービス

Country Status (6)

Country Link
US (1) US10333801B2 (ja)
EP (1) EP2972961A4 (ja)
JP (1) JP6291565B2 (ja)
CN (1) CN105122232A (ja)
CA (1) CA2901345A1 (ja)
WO (1) WO2014160188A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268825B2 (en) 2016-12-01 2019-04-23 International Business Machines Corporation Amalgamating code vulnerabilities across projects
US10831471B2 (en) * 2018-07-19 2020-11-10 Microsoft Technology Licensing, Llc Source code file recommendation notification

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217656A (ja) * 2008-03-12 2009-09-24 Hitachi Ltd 情報機器におけるソフトウェア更新システム
JP2009217395A (ja) * 2008-03-07 2009-09-24 Nec Corp 仮想サーバソフトウェア更新システム、仮想サーバソフトウェア更新方法、サーバ、及びサーバ用プログラム
WO2011018827A1 (ja) * 2009-08-13 2011-02-17 株式会社日立製作所 実行環境におけるアプリケーションの適性を評価するシステム及び方法
US20110295727A1 (en) * 2010-05-28 2011-12-01 James Michael Ferris Systems and methods for aggregate monitoring of utilization data for vendor products in cloud networks
US20110296393A1 (en) * 2010-05-25 2011-12-01 Seth Kelby Vidal Systems and methods for generating an encoded package profile based on executing host processes

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197431B2 (en) * 2000-08-22 2007-03-27 International Business Machines Corporation Method and system for determining the use and non-use of software programs
US6782350B1 (en) * 2001-04-27 2004-08-24 Blazent, Inc. Method and apparatus for managing resources
US7644312B2 (en) * 2002-12-31 2010-01-05 International Business Machines Corporation Virtual machine monitoring for application operation diagnostics
US7979898B2 (en) * 2004-11-10 2011-07-12 Barclays Capital Inc. System and method for monitoring and controlling software usage in a computer
US8788655B2 (en) * 2008-12-19 2014-07-22 Openpeak Inc. Systems for accepting and approving applications and methods of operation of same
WO2010116676A1 (ja) * 2009-03-30 2010-10-14 日本電気株式会社 サービス提供装置、サービス提供システム、サービス提供装置のデータ処理方法およびコンピュータプログラム
US9055080B2 (en) * 2009-12-14 2015-06-09 Citrix Systems, Inc. Systems and methods for service isolation
US8606897B2 (en) * 2010-05-28 2013-12-10 Red Hat, Inc. Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network
US8954564B2 (en) * 2010-05-28 2015-02-10 Red Hat, Inc. Cross-cloud vendor mapping service in cloud marketplace
GB2495455B (en) * 2010-07-26 2013-11-13 Seven Networks Inc Prediction of activity session for mobile network use optimization and user experience enhancement
US8868727B2 (en) * 2010-09-22 2014-10-21 Blue Stripe Software, Inc. Methods and computer program products for storing generated network application performance data
CN103154961A (zh) * 2010-09-30 2013-06-12 惠普发展公司,有限责任合伙企业 用于病毒扫描的虚拟机
US8667496B2 (en) * 2011-01-04 2014-03-04 Host Dynamics Ltd. Methods and systems of managing resources allocated to guest virtual machines
US8327441B2 (en) 2011-02-17 2012-12-04 Taasera, Inc. System and method for application attestation
CN102831043B (zh) * 2011-06-17 2015-05-20 阿里巴巴集团控股有限公司 应用程序监控方法和装置
US8839222B1 (en) * 2011-09-21 2014-09-16 Amazon Technologies, Inc. Selecting updates for deployment to a programmable execution service application
US9612853B2 (en) * 2012-09-07 2017-04-04 International Business Machines Corporation Virtual machine monitoring in cloud infrastructures
WO2014110453A1 (en) * 2013-01-11 2014-07-17 Huawei Technologies Co., Ltd. Network function virtualization for a network device
EP2849064B1 (en) * 2013-09-13 2016-12-14 NTT DOCOMO, Inc. Method and apparatus for network virtualization
US10027569B1 (en) * 2014-08-07 2018-07-17 Amdocs Development Limited System, method, and computer program for testing virtual services
US9645899B1 (en) * 2013-12-19 2017-05-09 Amdocs Software Systems Limited System, method, and computer program for managing fault recovery in network function virtualization (NFV) based networks
US20150381465A1 (en) * 2014-06-26 2015-12-31 Microsoft Corporation Real Time Verification of Cloud Services with Real World Traffic
US20160028648A1 (en) * 2014-07-25 2016-01-28 At&T Intellectual Property I, L.P. Resource Management Service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217395A (ja) * 2008-03-07 2009-09-24 Nec Corp 仮想サーバソフトウェア更新システム、仮想サーバソフトウェア更新方法、サーバ、及びサーバ用プログラム
JP2009217656A (ja) * 2008-03-12 2009-09-24 Hitachi Ltd 情報機器におけるソフトウェア更新システム
WO2011018827A1 (ja) * 2009-08-13 2011-02-17 株式会社日立製作所 実行環境におけるアプリケーションの適性を評価するシステム及び方法
US20110296393A1 (en) * 2010-05-25 2011-12-01 Seth Kelby Vidal Systems and methods for generating an encoded package profile based on executing host processes
US20110295727A1 (en) * 2010-05-28 2011-12-01 James Michael Ferris Systems and methods for aggregate monitoring of utilization data for vendor products in cloud networks

Also Published As

Publication number Publication date
JP6291565B2 (ja) 2018-03-14
US10333801B2 (en) 2019-06-25
CN105122232A (zh) 2015-12-02
WO2014160188A1 (en) 2014-10-02
CA2901345A1 (en) 2014-10-02
US20140280872A1 (en) 2014-09-18
EP2972961A4 (en) 2016-10-19
EP2972961A1 (en) 2016-01-20

Similar Documents

Publication Publication Date Title
US10803060B2 (en) Managed query service
US10270668B1 (en) Identifying correlated events in a distributed system according to operational metrics
US9183072B1 (en) Error troubleshooting using a correlated knowledge base
JP6111441B2 (ja) コンピューティング環境での追跡アプリケーション使用法
US10970303B1 (en) Selecting resources hosted in different networks to perform queries according to available capacity
RU2696347C2 (ru) Визуальные инструменты для анализа отказов в распределенных системах
US9710122B1 (en) Customer support interface
CA2901629C (en) Inferring application inventory
US9424403B2 (en) Obtaining software asset insight by analyzing collected metrics using analytic services
US9854031B2 (en) Cloud service agent based on service level agreement(SLA)
US10182104B1 (en) Automatic propagation of resource attributes in a provider network according to propagation criteria
JP6291565B2 (ja) 分型インフラストラクチャのインベントリサービス
US10635787B2 (en) Analysis of output files
US20170344454A1 (en) Determining dynamic statistics based on key value patterns
US9230022B1 (en) Customizable result sets for application program interfaces
CN113242148A (zh) 监控告警相关信息的生成方法、装置、介质及电子设备
Lu et al. A micro-benchmark suite for evaluating hadoop rpc on high-performance networks
US20210182091A1 (en) Managing containers using attribute/value pairs
Geetha Devasena et al. LTTC: a load testing tool for cloud
US11983093B2 (en) Tracking status of managed time series processing tasks
US9098266B1 (en) Data layer service availability
US11930017B1 (en) Cloud security platform with contextual hot-spot permissions analytics
US11853802B1 (en) Centralized and dynamically generated service configurations for data center and region builds
Kumar Cloud Computing: An Introspection
Zhu Grid Management Based on Intelligent Agent Cooperation

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171227

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: 20180116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180209

R150 Certificate of patent or registration of utility model

Ref document number: 6291565

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