JP6049887B2 - Automatic profiling of resource usage - Google Patents

Automatic profiling of resource usage Download PDF

Info

Publication number
JP6049887B2
JP6049887B2 JP2015533132A JP2015533132A JP6049887B2 JP 6049887 B2 JP6049887 B2 JP 6049887B2 JP 2015533132 A JP2015533132 A JP 2015533132A JP 2015533132 A JP2015533132 A JP 2015533132A JP 6049887 B2 JP6049887 B2 JP 6049887B2
Authority
JP
Japan
Prior art keywords
operational
virtual machine
computing device
profile
usage
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.)
Active
Application number
JP2015533132A
Other languages
Japanese (ja)
Other versions
JP2015532992A (en
Inventor
デイヴィッド マー マイケル
デイヴィッド マー マイケル
ディー. クライン マシュー
ディー. クライン マシュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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
Priority claimed from US13/623,847 external-priority patent/US9135048B2/en
Priority claimed from US13/623,845 external-priority patent/US9323577B2/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2015532992A publication Critical patent/JP2015532992A/en
Application granted granted Critical
Publication of JP6049887B2 publication Critical patent/JP6049887B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

一般的に記述すると、コンピューティングデバイスは、データを交換するために、通信網、または一連の通信網を利用する。企業および組織は、業務をサポートまたは第三者にサービスを提供するために、いくつかのコンピューティングデバイスを相互接続するコンピュータネットワークを運用する。コンピューティングシステムは、単一の地理的場所に位置する、または(例えば、民営または公共の通信網を介して相互接続される)複数の別々の地理的場所に位置する可能性がある。具体的には、データセンターまたはデータ処理センターは、本明細書において概して「データセンター」と言及され、データセンターのユーザーに対してコンピューティングリソースを提供するためのいくつかの相互接続されたコンピューティングシステムを含むことができる。データセンターは、組織の代わりに運用される民営のデータセンター、あるいは一般市民の代わりにまたは一般市民の利益のために運用される公共のデータセンターの場合がある。   Generally described, computing devices utilize a communication network or series of communication networks to exchange data. Companies and organizations operate computer networks that interconnect several computing devices to support operations or provide services to third parties. The computing system may be located at a single geographic location or at multiple separate geographic locations (eg, interconnected via a private or public communications network). Specifically, a data center or data processing center is generally referred to herein as a “data center” and includes several interconnected computing devices for providing computing resources to data center users. System can be included. The data center may be a private data center operated on behalf of an organization, or a public data center operated on behalf of or for the benefit of the general public.

データセンターのリソースの増加した利用を助長するために、仮想技術は、物理的に単一のホストコンピューティングデバイスが、データセンターのユーザーには、独立したコンピューティングデバイスのように見え、かつ作動する、仮想マシンインスタンス構成のうちの1つ以上のインスタンスをホストすることを可能にすることができる。仮想化に伴い、物理的に単一のホストコンピューティングデバイスは、動的様式において仮想マシンインスタンスを作成、保守、削除、またはその他管理することが可能である。これによって、ユーザーは、単一のコンピューティングデバイスまたはネットワーク接続されたコンピューティングデバイスの構成をリクエストすることが可能で、可変数の仮想マシンリソースが提供されることが可能になる。   To facilitate increased use of data center resources, virtual technology makes a physical single host computing device appear and operate as a separate computing device to data center users. , It may be possible to host one or more instances of a virtual machine instance configuration. With virtualization, a physically single host computing device can create, maintain, delete, or otherwise manage virtual machine instances in a dynamic manner. This allows a user to request the configuration of a single computing device or a networked computing device and be provided with a variable number of virtual machine resources.

ホストコンピューティングデバイスによって提供されるコンピューティングリソースとして、コンピューティング能力、メモリおよび他の記憶装置、帯域幅等を挙げることができる。何千台ものホストコンピューティングデバイスを備えるデータセンター環境において、1台の仮想マシンの1つのインスタンスは、ターゲットのホストコンピューティングデバイスが、十分かつ利用可能なコンピューティングデバイスリソース(例えば、処理装置、メモリ等)等の指定条件を満たす限り、1台の無作為なホストコンピューティングデバイス上にインスタンス化されてもよい。1台の仮想マシンの1つのインスタンスが、1台の物理的ホストコンピューティングデバイス上にインスタンス化されると、1つ以上のコンピューティングリソースの既定量が仮想マシンインスタンスによって使用されるために予約されてもよい。データセンター環境のコンピューティングリソースプロバイダまたはその他の運用者は、仮想マシンインスタンスに対して、ターゲットのコンピューティングデバイス上のコンピューティングリソースのうち予約された量の可用性を保証することができる。   Computing resources provided by a host computing device can include computing capabilities, memory and other storage devices, bandwidth, and the like. In a data center environment with thousands of host computing devices, one instance of a virtual machine is a computing device resource (eg, processing equipment, memory, etc.) that is sufficient and available to the target host computing device. Etc.) may be instantiated on a random host computing device. When an instance of a virtual machine is instantiated on a physical host computing device, a predetermined amount of one or more computing resources are reserved for use by the virtual machine instance. May be. A computing resource provider or other operator in a data center environment can guarantee the availability of a reserved amount of computing resources on a target computing device for a virtual machine instance.

図面中、参照番号は参照される要素間の対応を示すために再使用されてもよい。図面は、本明細書に記載の例示的実施形態を図示するために提供され、本開示の範囲を限定することを目的としない。   In the drawings, reference numbers may be reused to indicate correspondence between referenced elements. The drawings are provided to illustrate exemplary embodiments described herein and are not intended to limit the scope of the present disclosure.

1つの管理構成要素、複数のホストコンピューティングデバイス、および複数の顧客を含む、例示的ネットワークコンピューティング環境のブロック図である。1 is a block diagram of an exemplary network computing environment including one management component, multiple host computing devices, and multiple customers. 多様なモジュールおよび記憶構成要素を含む、例示的な管理構成要素のブロック図である。FIG. 2 is a block diagram of an exemplary management component that includes various modules and storage components. コンピューティングリソースの使用を自動的にプロファイルするための例示的プロセスの流れ図である。5 is a flow diagram of an example process for automatically profiling usage of computing resources. コンピューティングデバイスによって提供されるコンピューティングリソースを利用する仮想マシンをホストする例示的なホストコンピューティングデバイスのブロック図である。FIG. 6 is a block diagram of an example host computing device that hosts a virtual machine that utilizes computing resources provided by the computing device. ホストコンピューティングデバイス上で仮想マシンを起動することと、コンピューティングリソースを割り当てかつオーバーサブスクリプションすることと、コンピューティングリソースの利用を更に最適化するために、現在稼動している仮想マシンを移行することのための例示的プロセスの流れ図である。Start a virtual machine on a host computing device, allocate and oversubscribe computing resources, and migrate currently running virtual machines to further optimize computing resource utilization 3 is a flow diagram of an exemplary process for 多様なコンピューティングリソースがオーバーサブスクリプションされ、過剰な容量が利用可能なままである、例示的なホストコンピューティングデバイスのブロック図である。1 is a block diagram of an exemplary host computing device in which various computing resources are oversubscribed and excess capacity remains available. ホストコンピューティングデバイス上で稼動する各仮想マシンのリソース利用が最低であるために、多様なコンピューティングリソースが実質的にオーバーサブスクリプションされる、例示的なホストコンピューティングデバイスのブロック図である。FIG. 2 is a block diagram of an example host computing device in which various computing resources are substantially oversubscribed because each virtual machine running on the host computing device has the lowest resource utilization. オーバーサブスクリプション、および利用可能なコンピューティングリソース容量の欠落を起因として、あるホストコンピューティングデバイスから別のホストコンピューティングデバイスへの仮想マシンの例示的な移行のブロック図である。FIG. 4 is a block diagram of an exemplary migration of a virtual machine from one host computing device to another due to oversubscription and lack of available computing resource capacity.

一般的に記述すると、本開示は、コンピューティングリソースの利用に関する。具体的には、本開示は、現実のリソース使用測定値および他の運用メトリクスの解析に基づいて、コンピューティングリソースの消費者のためにリソース使用および運用メトリクスのプロファイルを自動的に判定することに関する。いくつかの実施形態において、顧客仕様に従ってインスタンス化された仮想マシンインスタンス(例えば、顧客仕様に従ってオペレーティングシステムおよびアプリケーションソフトウェアを備えて構成された仮想マシンからインスタンス化された仮想マシンインスタンス)等のコンピューティングリソースの消費者は、ホストの物理的コンピューティングデバイス上にインスタンス化されてもよい。仮想マシンインスタンスは、仮想マシンインスタンスによる1つ以上のコンピュータソフトウェアプログラムの実行または他の作業負荷に基づいて、多様なコンピューティングリソースを消費することができる。仮想マシンインスタンスは次いで、実行を中止することができる、またはその他異なる目的のために構成することができる。   Generally described, the present disclosure relates to utilization of computing resources. Specifically, this disclosure relates to automatically determining resource usage and operational metrics profiles for consumers of computing resources based on analysis of actual resource usage measurements and other operational metrics. . In some embodiments, computing resources such as virtual machine instances instantiated according to customer specifications (eg, virtual machine instances instantiated from virtual machines configured with operating system and application software according to customer specifications) Consumers may be instantiated on the host's physical computing device. A virtual machine instance can consume a variety of computing resources based on the execution of one or more computer software programs or other workload by the virtual machine instance. The virtual machine instance can then cease execution or can be configured for other different purposes.

1つの顧客または1組の顧客等、特異的なエンティティに対して、仮想マシンインスタンスをインスタンス化するプロセスが繰り返されてもよい。仮想マシンインスタンスのライフサイクルを処理する一環として、仮想マシンインスタンスを提供することと関連付けられるサービスプロバイダは、リソースの消費を観察し、記録することができる。サービスプロバイダは次いで、処理リソース消費測定値および他の運用メトリクス情報に基づいて、仮想マシンインスタンスのリソース使用および運用メトリクスのプロファイルを判定することができる。   The process of instantiating a virtual machine instance may be repeated for a specific entity, such as a customer or a set of customers. As part of processing the virtual machine instance life cycle, the service provider associated with providing the virtual machine instance can observe and record resource consumption. The service provider can then determine the resource usage and operational metrics profile of the virtual machine instance based on the processing resource consumption measurements and other operational metric information.

本開示の追加の態様は、概して運用プロファイルと言及される、リソース使用および運用メトリクスのプロファイルを一般化することに関する。例えば、何千もの仮想マシンインスタンスがインスタンス化される場合があり、データセンター等、単一のネットワークコンピューティング環境でリソースを利用する場合がある。各仮想マシンインスタンスのために個別のカスタマイズされた運用プロファイルを判定し、保守するのではなく、仮想マシンインスタンスは、一般化されたまたはデフォルトの運用プロファイルに割り当てられてもよい。したがって、仮想マシンインスタンス群が、多様な組織条件に従って分類され、同じ運用プロファイルに割り当てられてもよい。いくつかの場合、運用プロファイルは、特定の仮想マシンインスタンスの構成が特定の運用プロファイルと、それ自体が複数の仮想マシンインスタンス構成と関連付けられるより一般的な運用プロファイルとも関連付けられるように、階層的であってもよい。階層には複数のレベルが存在してもよく、可能性として、何千もの仮想マシンインスタンス構成が、単一の一般的な運用プロファイルまたは少数の最上位の運用プロファイル、および階層内の各レベルにあるより多数のより特異的な運用プロファイルと関連付けられる。階層の最下位レベルには、特定の顧客によって使用される単一の仮想マシンインスタンス構成と関連付けられる、特定の運用プロファイルが存在してもよい。   An additional aspect of the present disclosure relates to generalizing resource usage and operational metrics profiles, commonly referred to as operational profiles. For example, thousands of virtual machine instances may be instantiated and resources may be used in a single network computing environment, such as a data center. Rather than determining and maintaining a separate customized operational profile for each virtual machine instance, the virtual machine instance may be assigned to a generalized or default operational profile. Therefore, virtual machine instance groups may be classified according to various organizational conditions and assigned to the same operation profile. In some cases, operational profiles are hierarchical, so that the configuration of a particular virtual machine instance is also associated with a specific operational profile and a more general operational profile that itself is associated with multiple virtual machine instance configurations. There may be. There can be multiple levels in a hierarchy, potentially thousands of virtual machine instance configurations, for a single general operational profile or a few top-level operational profiles, and each level in the hierarchy Associated with a number of more specific operational profiles. There may be a specific operational profile at the lowest level of the hierarchy that is associated with a single virtual machine instance configuration used by a specific customer.

本開示の更なる態様は、自動的に判定された運用プロファイルに基づいて、仮想マシンインスタンスに対するコンピューティングリソースを提供するためにターゲットのホストコンピューティングデバイスを識別することに関する。いくつかの実施形態において、特定の物理的ホストコンピューティングデバイスは、同時に複数の仮想マシンインスタンスにターゲットのコンピューティングリソースを提供するように構成されてもよい。単一の仮想マシンインスタンスによって使用されるために、コンピューティングリソースの既定量が予約されてもよい。仮想マシンインスタンスの運用プロファイルが、その仮想マシンインスタンスがそのインスタンスのために予約されていたコンピューティングデバイスリソースを消費する可能性が低いことを示すと、ホストコンピューティングデバイスは、追加の仮想マシンインスタンスをインスタンス化してもよい。追加の仮想マシンインスタンスは、以前にインスタンス化された仮想マシンインスタンスと同時にホストコンピューティングリソースと関連付けられても、またはホストコンピューティングリソースへのアクセスを有してもよい。加えて、仮想マシンインスタンスのうちのいずれかが、消費が仮想マシンインスタンスの運用プロファイルに指定された1つ以上の閾値に到達または超過するようにリソースを消費する、そうでなければリソースへのアクセスを制限する場合、仮想マシンインスタンスのうちの1つ以上が、別のホストコンピューティングデバイスへ転送されてもよい。例えば、閾値を超える消費と関連付けられる仮想マシンインスタンスが転送されてもよく、または他の仮想マシンインスタンスが転送されてもよい。   A further aspect of the present disclosure relates to identifying a target host computing device to provide computing resources for a virtual machine instance based on an automatically determined operational profile. In some embodiments, a particular physical host computing device may be configured to provide target computing resources to multiple virtual machine instances simultaneously. A predetermined amount of computing resources may be reserved for use by a single virtual machine instance. If the operational profile of a virtual machine instance indicates that the virtual machine instance is unlikely to consume the computing device resources reserved for that instance, the host computing device will add an additional virtual machine instance. It may be instantiated. The additional virtual machine instance may be associated with the host computing resource at the same time as the previously instantiated virtual machine instance or may have access to the host computing resource. In addition, any of the virtual machine instances consumes resources such that consumption reaches or exceeds one or more thresholds specified in the operational profile of the virtual machine instance, otherwise access to the resources One or more of the virtual machine instances may be transferred to another host computing device. For example, virtual machine instances associated with consumption exceeding a threshold may be transferred, or other virtual machine instances may be transferred.

いくつかのコンピューティングリソースは必ずしも、ホストコンピューティングデバイスによって提供されず、そうではなく、ホスト以外のリソースによって提供される。例えば、ネットワークトポロジーは、1つ以上のリンク(例えば、スイッチと他のネットワーク構成要素との間のネットワーク接続)を横断するために、あるホストコンピューティングデバイスから、第2のホストコンピューティングデバイスへの通信を必要とする場合がある。いくつかのリンクは、第3のホストコンピューティングデバイスへの通信のために異なっていてもよい。リンクトラフィックに関するデータおよび通信がホスト間を横断するリンクの数は、リソース消費測定値または運用メトリクスとして記録されてもよい。このデータは、別のホストコンピューティングデバイスと通信する可能性がある仮想マシンインスタンスをインスタンス化するのがどのホストコンピューティングデバイスであるかを判定するために、将来使用されてもよい。加えて、いくつかのコンピューティングリソースの消費は、一般的に他の仮想マシンインスタンスまたは消費者のために利用可能であるリソースの量を必ずしも削減しない。例えば、特定の命令セットのようにホストコンピューティングデバイスによって提供される特徴は、概して、コンピューティングリソースとして言及されてもよい。しかしながら、命令セットの使用は、別の仮想マシンインスタンス、アプリケーション、または他の消費者に対する命令セットの可用性を必ずしも削減しない。   Some computing resources are not necessarily provided by the host computing device, but rather are provided by resources other than the host. For example, a network topology may be from one host computing device to a second host computing device to traverse one or more links (eg, network connections between a switch and other network components). May require communication. Some links may be different for communication to a third host computing device. Data regarding link traffic and the number of links that communications traverse between hosts may be recorded as resource consumption measurements or operational metrics. This data may be used in the future to determine which host computing device instantiates a virtual machine instance that may communicate with another host computing device. In addition, the consumption of some computing resources generally does not necessarily reduce the amount of resources that are available for other virtual machine instances or consumers. For example, features provided by a host computing device, such as a particular instruction set, may be generally referred to as computing resources. However, use of the instruction set does not necessarily reduce the availability of the instruction set for another virtual machine instance, application, or other consumer.

本開示に記載される実施形態の態様は、例示の目的のため、管理構成要素と、サーバーコンピューティングデバイスと、顧客の代わりにサーバーコンピューティングデバイス上でインスタンス化された仮想マシンとの間の関係および相互作用を中心とするが、当業者は、本明細書に開示される技法は、任意の数のハードウェアあるいはソフトウェアプロセスまたはアプリケーションに適用されてもよいことを理解するであろう。例えば、仮想マシンインスタンスは概して、例示的なコンピューティングリソース消費者として使用される一方、他のプログラムまたは作業負荷は、アプリケーションソフトウェア、オペレーティングシステム、ストレージエリアネットワーク(SAN)ノード等と置換されてもよい。加えて、メモリ、CPU容量、およびネットワーク帯域幅等のコンピューティングリソースは、例示的なコンピューティングリソースとして使用されるが、ネットワークリンクトラフィック、レイテンシ、プロセッサ命令セット等の他のコンピューティングリソースが置換されてもよい。さらに、本開示の多様な態様は、図示例および実施形態を参照して説明されるが、当業者は、開示される実施形態および例は限定として解釈されてはならないことを理解するであろう。本開示の多様な態様は所定の例および実施形態に関して説明されるが、これらは例示を目的とし、本開示を制限するものではない。   Aspects of embodiments described in this disclosure are for illustrative purposes, the relationship between a management component, a server computing device, and a virtual machine instantiated on the server computing device on behalf of a customer Although centered on and interaction, those skilled in the art will understand that the techniques disclosed herein may be applied to any number of hardware or software processes or applications. For example, virtual machine instances are generally used as exemplary computing resource consumers, while other programs or workloads may be replaced with application software, operating systems, storage area network (SAN) nodes, etc. . In addition, computing resources such as memory, CPU capacity, and network bandwidth are used as exemplary computing resources, but other computing resources such as network link traffic, latency, processor instruction set are replaced. May be. Furthermore, while various aspects of the disclosure will be described with reference to illustrative examples and embodiments, those skilled in the art will appreciate that the disclosed embodiments and examples should not be construed as limiting. . While various aspects of the disclosure will be described with respect to certain examples and embodiments, these are for purposes of illustration and are not intended to limit the disclosure.

図1は、それらのプロファイルに基づくリソースの使用およびリソースの割り当ての自動プロファイル化が実装されてもよい、例示的なネットワークコンピューティング環境100を図示する。運用プロファイルおよびリソースの割り当ては、実際のリソース使用の事前の測定値および他の運用メトリクス、ならびにリソースの予想される将来の使用に基づくことができる。ネットワークコンピューティング環境100は、管理構成要素102と、ネットワーク110を介して通信状態にある任意の数の物理的ホストコンピューティングデバイス104a〜104nとを含むことができる。1つ以上の顧客122が、ネットワーク120を介して、ネットワークコンピューティング環境100の構成要素と通信してもよい。   FIG. 1 illustrates an example network computing environment 100 in which automatic profiling of resource usage and resource allocation based on those profiles may be implemented. Operational profiles and resource assignments can be based on prior measurements and other operational metrics of actual resource usage, as well as anticipated future usage of resources. The network computing environment 100 can include a management component 102 and any number of physical host computing devices 104a-104n that are in communication via the network 110. One or more customers 122 may communicate with components of the network computing environment 100 via the network 120.

図1に図示されるようなネットワークコンピューティング環境100は、複数のホストコンピューティングデバイス104a〜104nがコンピューティングサービスおよびリソースを内部または外部の顧客122に提供する、データセンターおよび他の環境に実装されてもよい。以下に詳細を説明するように、各顧客122は、コンピューティング処理を開始するために、ネットワークコンピューティング環境100内部の管理構成要素102または何らかの他の構成要素に接続してもよい。コンピューティング処理の開始は、ホストコンピューティングデバイス104上での仮想マシンインスタンスのインスタンス化、または動作環境および1つ以上のソフトウェアアプリケーションの構成を含んでもよい。仮想マシンインスタンスは、ユーザーの代わりに、ホストコンピューティングデバイス104、ネットワーク110等のコンピューティングリソースを消費することを実行してもよい。本開示は、例示のみを目的として、仮想マシンの使用を通じて外部または内部の顧客122にコンピューティングサービスを提供するネットワークコンピューティング環境100の運用を中心とするが、本明細書に記載されるシステムおよび処理は、別の顧客122エンティティを全く含まないまたは仮想マシン使用を全く含まないものも含めて、ネットワークコンピューティング環境100の任意の実装に適用されてもよい。   The network computing environment 100 as illustrated in FIG. 1 is implemented in data centers and other environments in which multiple host computing devices 104a-104n provide computing services and resources to internal or external customers 122. May be. As described in detail below, each customer 122 may connect to a management component 102 or some other component within the network computing environment 100 to initiate the computing process. Initiating a computing process may include instantiating a virtual machine instance on the host computing device 104, or configuring an operating environment and one or more software applications. A virtual machine instance may perform consuming computing resources, such as host computing device 104, network 110, etc. on behalf of a user. The present disclosure focuses on the operation of a network computing environment 100 that provides computing services to external or internal customers 122 through the use of virtual machines for illustrative purposes only, and the systems and systems described herein. The process may be applied to any implementation of the network computing environment 100, including those that do not include any other customer 122 entities or include any virtual machine usage.

各ホストコンピューティングデバイス104は、ブレードサーバーのようなサーバーコンピュータであってもよい。任意選択的に、ホストコンピューティングデバイス104は、複数の仮想マシンインスタンスのような複数の消費者にコンピューティングサービスおよびリソースを同時に提供するように構成されるミッドレンジコンピューティングデバイス、メインフレームコンピュータ、または任意の他のコンピューティングデバイスであってもよい。典型的な実装において、ホストコンピューティングデバイス104は、ネットワーク110を介して、ネットワークコンピューティング環境100の他のホストコンピューティングデバイス104、管理構成要素102、または何らかの他の構成要素と通信するように構成することができる。   Each host computing device 104 may be a server computer such as a blade server. Optionally, the host computing device 104 is a mid-range computing device, mainframe computer, or configured to simultaneously provide computing services and resources to multiple consumers, such as multiple virtual machine instances Any other computing device may be used. In an exemplary implementation, the host computing device 104 is configured to communicate over the network 110 with other host computing devices 104, the management component 102, or some other component over the network computing environment 100. can do.

ネットワーク110は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、何らかの他のネットワーク、またはこれらの組み合わせであってもよい。加えて、ネットワークコンピューティング環境100は、企業または大学のネットワークのような別のネットワーク120、またはインターネットのような独立したエンティティによって運用されるネットワークの集合に接続してもよい。ネットワークコンピューティング環境100の顧客122は、ネットワーク120、110の組み合わせ上から、ホストコンピューティングデバイス104と通信してもよい。いくつかの実施形態において、顧客122は、コンピューティングデバイス102に仮想マシンインスタンスを起動させて、顧客122のためにまたは代わりに多様なコンピューティング演算を実行させてもよい。所与の時点で、単一のホストコンピューティングデバイス104上で任意の数の仮想マシンインスタンスが実行していてもよい。加えて、ホストコンピューティングデバイス104上で実行している多様な仮想マシンインスタンスは、単一の顧客122と、またはいくつかの異なる顧客122と関連付けられてもよい。   The network 110 may be a local area network (LAN), a wide area network (WAN), some other network, or a combination thereof. In addition, the network computing environment 100 may connect to another network 120, such as a corporate or university network, or a collection of networks operated by an independent entity such as the Internet. A customer 122 of network computing environment 100 may communicate with host computing device 104 over a combination of networks 120, 110. In some embodiments, customer 122 may cause computing device 102 to launch a virtual machine instance to perform various computing operations on behalf of customer 122 or alternatively. Any number of virtual machine instances may be running on a single host computing device 104 at a given time. In addition, various virtual machine instances running on the host computing device 104 may be associated with a single customer 122 or with several different customers 122.

管理構成要素102は、ハードウェアとして、またはハードウェアおよびソフトウェアの組み合わせとして実装されてもよい。例えば、管理構成要素102は、本明細書に記載される機能を実施するために、1つ以上のソフトウェアプログラムを実行するように構成された1つ以上のコンピューティングデバイスのコンピューティングシステムであってもよい。いくつかの実施形態において、管理構成要素は、ホストコンピューティングデバイス104a〜104nのうちの1つ以上を含んでもよい。   The management component 102 may be implemented as hardware or a combination of hardware and software. For example, the management component 102 is a computing system of one or more computing devices configured to execute one or more software programs to perform the functions described herein. Also good. In some embodiments, the management component may include one or more of the host computing devices 104a-104n.

図2は、サンプルの管理構成要素102を詳細に図示する。管理構成要素102は、プロファイル判定モジュール202と、配置モジュール204と、移行モジュール206と、運用メトリクスデータストア208と、プロファイルデータストア210とを含むことができる。いくつかの実施形態において、管理構成要素102は、図2に図示されるよりも多いまたはより少ないモジュールおよびデータストアを含んでもよい。例えば、移行機能が実装されない場合、または配置モジュール204によって実装される場合、別の移行モジュール206が存在しない場合がある。別の例示的実施形態において、一般化された顧客プロファイルのために追加のデータストアが存在してもよい。   FIG. 2 illustrates a sample management component 102 in detail. The management component 102 can include a profile determination module 202, a placement module 204, a migration module 206, an operational metrics data store 208, and a profile data store 210. In some embodiments, the management component 102 may include more or fewer modules and data stores than illustrated in FIG. For example, if the migration function is not implemented, or implemented by the placement module 204, another migration module 206 may not exist. In another exemplary embodiment, there may be additional data stores for generalized customer profiles.

運用中、プロファイル判定モジュール202は、特定の顧客122と関連付けられる全ての仮想マシンインスタンスのうち、特定の時点での特定の仮想マシンインスタンス構成のインスタンス等によって、運用メトリクスおよびリソース使用に関する運用データを取得することができる。プロファイル判定モジュール202は、運用データを解析し、プロファイルされている仮想マシンインスタンスまたは仮想マシンインスタンス群によって利用されるコンピューティングリソースの運用プロファイルを開発することができる。例えば、運用データは、利用されたメモリ量、中央処理装置(CPU)利用、送信または受信されたネットワークトラフィック量、利用されたハードディスク容量、ディスク操作の数、利用された電気の量(例えば、仮想マシンインスタンスに貢献することができるホストコンピューティングデバイス104によって利用された量)、開始されたネットワークリンクトラフィックの量等に関する履歴測定値を含んでもよい。プロファイル判定モジュール202は次いで、特定の仮想マシンインスタンス構成または仮想マシンインスタンス構成群のインスタンスと関連付けられる測定値のそれぞれの平均を判定し、平均を運用プロファイルに記憶することができる。運用プロファイルは、平均測定値に制限される必要はない。例えば、運用プロファイルは、中間値、標準偏差、使用ヒストグラム、あるいは任意の他の適切または有用なデータ等、他の統計解析を含むことができる。いくつかの実施形態において、運用プロファイルは更に、時刻、日等のような、使用の時間的な特徴に従って特徴付けられてもよい。 During operation, the profile determination module 202 acquires operation metrics and operation data related to resource usage by using an instance of a specific virtual machine instance configuration at a specific time among all virtual machine instances associated with a specific customer 122. can do. The profile determination module 202 can analyze the operational data and develop an operational profile of computing resources used by the virtual machine instance or virtual machine instance group being profiled. For example, operational data includes the amount of memory used , central processing unit (CPU) usage, amount of network traffic transmitted or received, hard disk capacity used, number of disk operations, amount of electricity used (eg, virtual Historical measurements related to the amount of network link traffic initiated, etc., the amount utilized by the host computing device 104 that can contribute to the machine instance. The profile determination module 202 can then determine an average of each measurement associated with a particular virtual machine instance configuration or an instance of a virtual machine instance configuration group and store the average in the operational profile. The operational profile need not be limited to average measurements. For example, the operational profile may include other statistical analyzes such as intermediate values, standard deviations, usage histograms, or any other suitable or useful data. In some embodiments, the operational profile may be further characterized according to temporal characteristics of use, such as time of day, date, etc.

運用プロファイルはまた、予想測定値および予想運用メトリクスに従って特徴付けられてもよい。例えば、一般にジッターと呼ばれる、予想性能メトリクスからの分散が観察され、運用プロファイルに含まれる場合がある。このようなデータは、設計の目標、サービスレベル合意および顧客に対する他の約束または義務が満たされているかを判定するために、またはどの程度の頻度で満たされないかを判定するために使用されてもよい。配置モジュール204は、将来の配置の判定を行う際にジッターを考慮することができ、同じ運用メトリクスが予想範囲外にならないことを保証するように務める、そうでなければ消費者義務が満足されることを保証する。いくつかの実施形態において、運用プロファイルは、レイテンシの優先または要件、命令セットの優先または要件等、他のデータを含んでもよい。このようなデータは、消費者によって提供されてもよく、またはプロファイル判定モジュール202によって仮想マシンインスタンス運用の解析を通じて判定されてもよい。   The operational profile may also be characterized according to expected measurements and expected operational metrics. For example, dispersion from expected performance metrics, commonly referred to as jitter, is observed and may be included in the operational profile. Such data may be used to determine whether design goals, service level agreements and other promises or obligations to customers are met, or how often they are not met. Good. The placement module 204 can take into account jitter when making future placement decisions and serves to ensure that the same operational metrics are not out of the expected range, otherwise consumer obligations are satisfied. Guarantee that. In some embodiments, the operational profile may include other data such as latency preferences or requirements, instruction set preferences or requirements, and the like. Such data may be provided by the consumer or may be determined by the profile determination module 202 through analysis of virtual machine instance operations.

図示されるように、サービスプロバイダは、小型、中型、および大型の3つのクラスの仮想マシンを提供してもよい。各クラスは、仮想マシンのインスタンスによって使用するために予約される、各コンピューティングリソースの既定量と関連付けられてもよい(例えば、小型のVMは2GBのRAMを有してもよく、中型のVMは8GBのRAMを有してもよく、大型のVMは32GBのRAMを有してもよい)。顧客は、ウェブサーバーソフトウェアで構成された大型の仮想マシンのように、オペレーティングシステムおよびアプリケーションソフトウェアで構成された仮想マシンのインスタンスをインスタンス化してもよい。ウェブサーバーソフトウェアで構成された大型の仮想マシンのインスタンスによって、コンピューティングリソースの使用に関する測定値が記録されてもよい。プロファイル判定モジュール202は次いで、例えば、ウェブサーバーとして使用される場合、仮想マシンインスタンス構成の将来のインスタンスに対する予想リソース使用量を計算することができる。予想リソース使用量は、プロファイル判定モジュール202によって判定された運用プロファイルの根拠を形成してもよい。プロファイル判定モジュール202は次いで、実際のリソース使用の測定値を含むデータセットが経時的に構築されるにつれて、運用プロファイルを変更してもよい。   As shown, the service provider may provide three classes of virtual machines: small, medium and large. Each class may be associated with a predetermined amount of each computing resource that is reserved for use by a virtual machine instance (eg, a small VM may have 2 GB of RAM, a medium VM May have 8GB of RAM, and a large VM may have 32GB of RAM). A customer may instantiate a virtual machine instance configured with an operating system and application software, such as a large virtual machine configured with web server software. Measurements regarding the use of computing resources may be recorded by a large virtual machine instance configured with web server software. The profile determination module 202 can then calculate the expected resource usage for future instances of the virtual machine instance configuration, for example when used as a web server. The expected resource usage may form the basis for the operational profile determined by the profile determination module 202. Profile determination module 202 may then change the operational profile as a data set containing actual resource usage measurements is constructed over time.

プロファイル判定モジュール202によって使用されるプロファイルデータは、多様なソースから取得されてもよい。上記のように、データは、仮想マシンと関連付けられるエンティティから取得されてもよい。データはまた、仮想マシンインスタンスが稼動しているホストコンピューティングデバイス104の作業負荷解析構成要素から直接取得されてもよい。いくつかの実施形態において、データは、運用メトリクスデータストア208から取得することができる。運用メトリクスデータストア208は、図2に図示されるように、管理構成要素102と統合されてもよく、または専用のリレーショナルデータベース管理システム(RDBMS)サーバーのような別のコンピューティングデバイス上に物理的に位置してもよい。プロファイル判定モジュール202によって判定される運用プロファイルは、プロファイルデータストア210に記憶されてもよい。運用メトリクスデータストア208に類似して、プロファイルデータストア210は、管理構成要素102と統合されてもよく、または専用RDBMSサーバーのように別のコンピューティングデバイス上に位置してもよい。   Profile data used by the profile determination module 202 may be obtained from a variety of sources. As described above, data may be obtained from an entity associated with a virtual machine. Data may also be obtained directly from the workload analysis component of the host computing device 104 on which the virtual machine instance is running. In some embodiments, data can be obtained from operational metrics data store 208. The operational metrics data store 208 may be integrated with the management component 102, as illustrated in FIG. 2, or physically on another computing device, such as a dedicated relational database management system (RDBMS) server. May be located. The operation profile determined by the profile determination module 202 may be stored in the profile data store 210. Similar to the operational metrics data store 208, the profile data store 210 may be integrated with the management component 102 or may be located on a separate computing device, such as a dedicated RDBMS server.

いくつかのネットワークコンピューティング環境100において、プロファイルする何千以上もの仮想マシンインスタンスが存在する場合があり、それぞれの運用プロファイルは、例えば、特定の仮想マシンインスタンス構成または特定の顧客の使用に対して固有な使用データの解析に基づく場合がある。ホストコンピューティングデバイス104a〜104n上の仮想マシンインスタンスのインスタンス化に関する配置判定を行うために運用プロファイルを効率的に利用するために、運用プロファイルは一般化されてもよい。したがって、いくつかの異なる仮想マシンインスタンス構成は、各仮想マシンインスタンス構成と関連付けられる実際のリソース使用において分散が存在する場合であっても、同じ、または実質的に類似の運用プロファイルと関連付けられてもよい。例えば、プロファイル判定モジュール202は、各仮想マシンインスタンス構成に対してカスタマイズされた運用プロファイルを記憶するのではなく、仮想マシンインスタンス構成を既定の予想使用量と関連付けてもよい。既定の運用プロファイルは、測定されるそれぞれのコンピューティングリソースに対する利用範囲を含んでもよい。加えて、運用プロファイルは、特定の仮想マシンインスタンス構成が特定の運用プロファイルと、複数の仮想マシンインスタンス構成とそれ自体が関連付けられるより一般的な運用プロファイルとも関連付けられるように階層的であってもよい。   In some network computing environments 100, there may be thousands or more virtual machine instances to profile, each operational profile being specific to a particular virtual machine instance configuration or use by a particular customer, for example. May be based on the analysis of various usage data. The operational profile may be generalized in order to efficiently use the operational profile to make placement decisions regarding the instantiation of virtual machine instances on the host computing devices 104a-104n. Thus, several different virtual machine instance configurations may be associated with the same or substantially similar operational profiles, even if there is a distribution in the actual resource usage associated with each virtual machine instance configuration. Good. For example, the profile determination module 202 may associate the virtual machine instance configuration with a default expected usage, instead of storing an operational profile customized for each virtual machine instance configuration. The default operational profile may include a usage range for each computing resource being measured. In addition, operational profiles may be hierarchical such that a specific virtual machine instance configuration is also associated with a specific operational profile and a more general operational profile that is associated with multiple virtual machine instance configurations themselves. .

いくつかの実施形態において、運用プロファイルは、カテゴリに更に一般化されてもよい。例えば、それぞれが異なるネットワーク使用量と関連付けられる、いくつかの仮想マシンインスタンス構成は、使用測定値が何らかの閾値を上回るか、または下回るかに応じて、「軽量ネットワークアプリケーション」または「重量ネットワークアプリケーション」として分類されてもよい。このような分類スキームにおいて、インスタンス化されると、主にローカルのコンピューティング演算を実施し、ネットワーク接続をまれに利用する仮想マシンインスタンス構成は、ネットワーク接続をしばしば利用するが、仮想マシンインスタンスが稼動するホストコンピューティングデバイス104a〜104nに利用可能であるネットワーク帯域幅の量と比較するとわずかな場合がある非常に少ない伝送のためだけである、仮想マシンインスタンス構成と同じ「軽量ネットワークアプリケーション」カテゴリに分類されてもよい。このような一般化された運用プロファイルもまた、「軽量ネットワークアプリケーション/重量CPUアプリケーション」および「軽量ネットワークアプリケーション/軽量CPUアプリケーション」等、2つ以上のカテゴリの複合に基づいてもよい。前例に戻ると、2つの仮想マシンインスタンス構成は、異なるカテゴリと関連付けられてもよい。インスタンス化されると、主にローカルのコンピューティング演算を実施し、ネットワーク接続をまれに利用する仮想マシンインスタンス構成は、「軽量ネットワークアプリケーション/重量CPUアプリケーション」と分類されてもよく、一方、インスタンス化されると、少量のネットワーク伝送をしばしば開始する仮想マシンインスタンス構成は、仮想マシンインスタンスのCPU利用が閾値を下回る場合、「軽量ネットワークアプリケーション/軽量CPUアプリケーション」と分類されてもよい。   In some embodiments, operational profiles may be further generalized into categories. For example, some virtual machine instance configurations, each associated with different network usage, may be referred to as “lightweight network applications” or “heavy network applications” depending on whether usage measurements are above or below some threshold It may be classified. In such a classification scheme, when instantiated, virtual machine instance configurations that primarily perform local computing operations and rarely use network connections often use network connections, but virtual machine instances are running. Categorized in the same “lightweight network application” category as virtual machine instance configurations, which is only for very low transmissions, which may be small compared to the amount of network bandwidth available to host computing devices 104a-104n May be. Such generalized operational profiles may also be based on a combination of two or more categories, such as “light network application / heavy CPU application” and “light network application / light CPU application”. Returning to the previous example, the two virtual machine instance configurations may be associated with different categories. Once instantiated, virtual machine instance configurations that primarily perform local computing operations and rarely utilize network connections may be categorized as “light network applications / heavy CPU applications”, while instantiations If so, a virtual machine instance configuration that often initiates a small amount of network transmission may be classified as a “light network application / light CPU application” if the CPU usage of the virtual machine instance falls below a threshold.

上記のように、運用プロファイルは、1つの仮想マシンインスタンス構成に特異的またはいくつかの仮想マシンインスタンス構成に一般化されているかどうかに関わらず、仮想マシンインスタンスを配置するホストコンピューティングデバイス104a〜104nを識別するために使用されてもよい。配置モジュール204は、顧客122がコンピューティングセッションを開始するとき、または仮想マシンがその他インスタンス化されるときに起動されてもよい。配置モジュール204は、現時点でどの運用プロファイルが仮想マシンインスタンスと関連付けられるかを判定してもよい。例えば、運用プロファイルは、現在の月間の現在の時刻の仮想マシンインスタンスと関連付けられる実際のリソース使用の測定値等を含む、カスタマイズされたプロファイルであってもよい。いくつかの場合において、測定値は、特定の顧客に特異的であってもよく、特定の顧客の運用プロファイルが作成され、アクセスされてもよい。顧客特異的な運用プロファイルは、特異的な仮想マシンインスタンス構成に適用することができるか、または複数の個別の仮想マシンインスタンス構成に一般的に適用してもよい。任意選択的に、運用プロファイルは、仮想マシンインスタンスと関連付けられるリソース使用の全体的な特徴に基づいて一般化されたプロファイルであってもよく、現在の時刻等にも基づいてもよい。仮想マシン配置モジュール204は次いで、ホストコンピューティングデバイス104a〜104nのリソース可用性、および運用プロファイルから判定された仮想マシンインスタンスの予想されるリソース使用に基づいて仮想マシンインスタンスを起動するホストコンピューティングデバイス104を選択することができる。   As described above, an operational profile is specific to one virtual machine instance configuration or whether it is generalized to several virtual machine instance configurations, host computing devices 104a-104n that deploy virtual machine instances. May be used to identify The deployment module 204 may be invoked when the customer 122 initiates a computing session or when the virtual machine is otherwise instantiated. The placement module 204 may determine which operational profile is currently associated with the virtual machine instance. For example, the operational profile may be a customized profile that includes actual resource usage measurements associated with a virtual machine instance at the current time of the current month. In some cases, the measurements may be specific to a particular customer and a particular customer's operational profile may be created and accessed. The customer specific operational profile can be applied to a specific virtual machine instance configuration or may be generally applied to multiple individual virtual machine instance configurations. Optionally, the operational profile may be a generalized profile based on the overall characteristics of resource usage associated with the virtual machine instance, may be based on the current time, etc. The virtual machine placement module 204 then activates the host computing device 104 that launches the virtual machine instance based on the resource availability of the host computing devices 104a-104n and the expected resource usage of the virtual machine instance determined from the operational profile. You can choose.

リソース利用は、特異的な仮想マシンインスタンス構成の単一のインスタンスの寿命にわたって、および特異的な仮想マシンインスタンス構成の複数のインスタンスにわたって動的であってもよい。管理構成要素102の移行モジュール206は、各稼動中の仮想マシンインスタンスおよび仮想マシンインスタンスが稼動しているホストコンピューティングデバイス104のリソース利用を監視してもよい。リソース利用が変化すると、移行モジュール206は、上記の仮想マシン配置モジュール204に類似して、仮想マシンインスタンスを配置する適切なホストコンピューティングデバイス104を選択してもよい。仮想マシンの新しいインスタンスが選択されたホストコンピューティングデバイス104上で起動されてもよく、仮想マシンインスタンスの稼動状態(メモリ、入力等)が新しい仮想マシンインスタンスにコピーされてもよい。新しい仮想マシンインスタンスが稼動を開始する準備が整うと、前の仮想マシンインスタンスは、データの損失なく、かつ性能の実質的な低下なく、終了されてもよい。新しい仮想マシンインスタンスは、利用可能なリソースのために、より効率的に稼動することができる。   Resource utilization may be dynamic over the life of a single instance of a specific virtual machine instance configuration and across multiple instances of a specific virtual machine instance configuration. The migration module 206 of the management component 102 may monitor the resource usage of each running virtual machine instance and the host computing device 104 on which the virtual machine instance is running. As resource utilization changes, the migration module 206 may select an appropriate host computing device 104 on which to place a virtual machine instance, similar to the virtual machine placement module 204 described above. A new instance of the virtual machine may be launched on the selected host computing device 104 and the operating state (memory, input, etc.) of the virtual machine instance may be copied to the new virtual machine instance. When the new virtual machine instance is ready to go live, the previous virtual machine instance may be terminated without loss of data and without a substantial decrease in performance. New virtual machine instances can run more efficiently because of available resources.

いくつかの実施形態において、異なるホストコンピューティングデバイス上で仮想マシンの新しいインスタンスをインスタンス化し、前のインスタンスを終了するのではなく、リソースが再割り当てされてもよい。リソース利用または性能メトリクスが変化すると、追加のリソース(例えば、メモリ)が特定の仮想マシンに割り当てられてもよい。例えば、リソースは、そのリソースを完全に利用することが予想されない他の仮想マシンから再割り当てされてもよい。   In some embodiments, resources may be reallocated rather than instantiating a new instance of the virtual machine on a different host computing device and terminating the previous instance. As resource utilization or performance metrics change, additional resources (eg, memory) may be allocated to a particular virtual machine. For example, resources may be reallocated from other virtual machines that are not expected to fully utilize the resources.

ここで図3を参照して、仮想マシンインスタンス構成のために運用プロファイルを判定するための例示的プロセス300を説明する。プロセス300は、管理構成要素102によって実行されてもよい。管理構成要素102は、顧客122からリクエストを受信してもよく、そうでなければ仮想マシンをインスタンス化するように通知されてもよい。仮想マシンインスタンスをインスタンス化した後、インスタンス化された仮想マシンインスタンスを特定した後、または仮想マシンをインスタンス化させた後、管理構成要素102は、仮想マシンインスタンスと関連付けられるコンピューティングリソース利用に関する運用データを監視してもよく、そうでなければ受信してもよい。リソース使用および運用メトリクスデータに基づいて、管理構成要素102は、仮想マシンインスタンス構成の運用プロファイルを判定または更新、あるいは既存の運用プロファイルを更新することができる。有利に、運用プロファイルが他の運用プロファイルと比較され、一般化されてもよく、仮想マシンインスタンス構成がリソース使用のカテゴリと関連付けられてもよい。   With reference now to FIG. 3, an exemplary process 300 for determining operational profiles for virtual machine instance configuration will be described. Process 300 may be performed by management component 102. The management component 102 may receive a request from the customer 122 or otherwise be notified to instantiate the virtual machine. After instantiating a virtual machine instance, identifying an instantiated virtual machine instance, or instantiating a virtual machine, the management component 102 provides operational data relating to computing resource usage associated with the virtual machine instance. May be monitored, otherwise it may be received. Based on the resource usage and operational metrics data, the management component 102 can determine or update the operational profile of the virtual machine instance configuration or update an existing operational profile. Advantageously, operational profiles may be compared and generalized with other operational profiles, and virtual machine instance configurations may be associated with resource usage categories.

プロセス300は、ブロック302で開始する。プロセス300は、仮想マシンをインスタンス化するリクエストの受信に応答する等、自動的に開始してもよい。例えば、プロセス300は、1組の実行可能プログラム命令において具現化され、管理構成要素102が関連付けられるコンピューティングシステムのコンピュータ可読媒体ドライブ上に記憶されてもよい。プロセス300が開始すると、実行可能プログラム命令は、RAM等のメモリにロードされ、コンピューティングシステムの1つ以上のプロセッサによって実行され得る。いくつかの実施形態において、コンピューティングシステムは、サーバーのようなコンピューティングデバイスを複数含んでもよく、プロセス300は、複数のサーバーによって、逐次または同時に実行されてもよい。   Process 300 begins at block 302. Process 300 may begin automatically, such as in response to receiving a request to instantiate a virtual machine. For example, process 300 may be embodied in a set of executable program instructions and stored on a computer readable media drive of a computing system with which management component 102 is associated. When process 300 begins, executable program instructions can be loaded into a memory, such as RAM, and executed by one or more processors of the computing system. In some embodiments, a computing system may include multiple computing devices, such as servers, and process 300 may be performed sequentially or concurrently by multiple servers.

ブロック304で、管理構成要素102または何らかの他の構成要素が、仮想マシンインスタンスを起動する。図5を参照して以下に詳細を説明するように、管理構成要素は、仮想マシンインスタンスによって消費されることが予想されるリソース、およびホストコンピューティングデバイス104a〜104nが現在利用可能にしているリソースに基づいて、仮想マシンインスタンスを起動するホストコンピューティングデバイス104を選択してもよい。仮想マシンインスタンスによって消費されることが予想される、または仮想マシンインスタンスに利用可能になるリソースは、予め存在する運用プロファイルから、顧客122または仮想マシンインスタンスを起動することをリクエストする他のエンティティから受信された情報等から、判定されてもよい。   At block 304, the management component 102 or some other component launches a virtual machine instance. As described in detail below with reference to FIG. 5, the management component is responsible for the resources that are expected to be consumed by the virtual machine instance and the resources that are currently available to the host computing devices 104a-104n. The host computing device 104 that launches the virtual machine instance may be selected. Resources expected to be consumed or made available to the virtual machine instance from the virtual machine instance are received from a pre-existing operational profile from the customer 122 or other entity requesting to launch the virtual machine instance It may be determined from the information etc.

プロセス300は、ブロック306に進むことができ、新しく起動された仮想マシンインスタンスについて、運用メトリクスを取得し、運用プロファイルを作成または変更する。プロセス300が進む間、本来存在したのと同じ運用プロファイル、または以前に起動された仮想マシンインスタンスのためにプロセス300の実行中に変更された運用プロファイルに基づいて、ブロック304で、任意の数の追加の仮想マシンインスタンスが起動および/または配置されてもよい。このように、プロセス300は、一般に、特定の時点で実行されている可能性がある運用プロファイル(またはプロファイルの階層において、その階層のより上位のレベルからのプロファイル)と関連付けられる仮想マシンインスタンスの数に対応する、任意の数の同時インスタンスにおいて実行されてもよい。   The process 300 can proceed to block 306, obtaining operational metrics and creating or changing an operational profile for a newly launched virtual machine instance. While the process 300 proceeds, at block 304, any number of the same operational profile that originally existed, or based on the operational profile that was modified during the execution of the process 300 for a previously launched virtual machine instance. Additional virtual machine instances may be launched and / or deployed. As such, the process 300 is generally the number of virtual machine instances associated with an operational profile (or a profile from a higher level in that hierarchy) that may be running at a particular point in time. May be executed in any number of concurrent instances corresponding to.

ブロック306で、仮想マシンインスタンスによって利用されるリソースが監視されてもよく、リソース使用測定値および他の運用メトリクスが取得されてもよい。ブロック308で、運用メトリクスが記録されてもよい。監視は、管理構成要素102によって、または仮想マシンインスタンスが稼動しているホストコンピューティングデバイス104の作業負荷解析構成要素421等、何らかの他の構成要素によって実行されてもよい。運用メトリクスは、運用メトリクスデータストア208に記憶されてもよい。作業負荷解析構成要素421を使用する実施形態において、作業負荷解析構成要素421は、運用メトリクスを一時的または長期的に記憶してもよい。作業負荷解析構成要素は、実質的に実時間に、予定された間隔で、仮想マシンの終了時に、何らかの他の時点で記憶するために運用メトリクスに関するデータを管理構成要素102へ伝送してもよく、または全く伝送しなくてもよい。   At block 306, resources utilized by the virtual machine instance may be monitored and resource usage measurements and other operational metrics may be obtained. At block 308, operational metrics may be recorded. Monitoring may be performed by the management component 102 or by some other component, such as the workload analysis component 421 of the host computing device 104 on which the virtual machine instance is running. The operational metrics may be stored in the operational metrics data store 208. In embodiments that use the workload analysis component 421, the workload analysis component 421 may store operational metrics temporarily or in the long term. The workload analysis component may transmit data related to operational metrics to the management component 102 for storage at some other point in time at the end of the virtual machine at a scheduled interval substantially in real time. Or no transmission at all.

図4は、ホストコンピューティングデバイス104によって複数の仮想マシンインスタンスに提供されるいくつかのリソースの利用の測定値を図示する。図4に図示されるように、ホストコンピューティングデバイス104は、メモリ402、CPU404、およびネットワーク帯域幅406等のコンピューティングリソースを提供することができる。いくつかの実施形態において、追加の、またはこれより少ないコンピューティングリソースが仮想マシンインスタンスに提供されてもよい。例えば、仮想マシンインスタンスは、他のデバイスと通信することが許可されない場合があり、従って、ネットワークインターフェース406の利用を測定する必要がない。別の例において、ホストコンピューティングデバイス104は、ハードディスクの空き容量、ハードディスクの運用、電力等の利用を提供し、追跡する。   FIG. 4 illustrates a measure of utilization of some resources provided by a host computing device 104 to multiple virtual machine instances. As illustrated in FIG. 4, the host computing device 104 can provide computing resources such as memory 402, CPU 404, and network bandwidth 406. In some embodiments, additional or less computing resources may be provided to the virtual machine instance. For example, a virtual machine instance may not be allowed to communicate with other devices, and thus does not need to measure utilization of the network interface 406. In another example, the host computing device 104 provides and tracks usage of hard disk space, hard disk operation, power, etc.

いくつかの実施形態において、ネットワークコンピューティング環境100の運用者等、コンピューティングリソースのプロバイダは、仮想マシンインスタンスを実行する一定量のコンピューティングリソースを顧客に提供する。例えば、顧客122は、その仮想マシンインスタンス構成のうちの1つのために、ランダムアクセスメモリ(RAM)等のメモリの既定量、CPUコア等のコンピューティング能力の既定量、およびネットワークインターフェースによって提供されるネットワーク帯域幅の既定量を予約する場合がある。ホストコンピューティングデバイス104のメモリ402は、単一の仮想マシンインスタンスのために(例えば、部分412、414)、またはホストコンピューティングデバイス104の運用および他の内部手順のために(例えば、部分410)に予約される部分410、412、414に隔離されてもよい。ホストコンピューティングデバイス104の運用のために予約される部分は、仮想マシンインスタンス、オペレーティングシステム、ドライバ等の起動、実行、および終了を支援するためのハイパーバイザを含むことができる。加えて、ホストコンピューティングデバイス104は、リソース利用および任意選択的に管理構成要素102との通信を監視する作業負荷解析構成要素421を含むことができる。作業負荷解析構成要素421もまたメモリ空間410に所在してもよく、ハイパーバイザ420に統合されてもよく、メモリ空間410を共有する独立構成要素であってもよい。いくつかの実施形態において、作業負荷解析構成要素421は、顧客の仮想マシンインスタンスに予約されたメモリ空間412、414に所在してもよい。このような場合、作業負荷解析構成要素421は、仮想マシンインスタンス構成に統合されても、またはインスタンス化時に仮想マシンインスタンスに含まれてもよい。更なる実施形態において、作業負荷解析構成要素421は、そのために予約された別のメモリ空間に所在してもよく、ホストコンピューティングデバイス104のメモリ402を共有しない、独立したハードウェアデバイスのような構成要素として実装されてもよい。   In some embodiments, a provider of computing resources, such as an operator of the network computing environment 100, provides a customer with a certain amount of computing resources that run virtual machine instances. For example, customer 122 is provided by a predetermined amount of memory, such as random access memory (RAM), a predetermined amount of computing power, such as a CPU core, and a network interface for one of its virtual machine instance configurations. May reserve a predetermined amount of network bandwidth. The memory 402 of the host computing device 104 is for a single virtual machine instance (eg, portions 412, 414) or for operation of the host computing device 104 and other internal procedures (eg, portion 410). May be segregated into portions 410, 412, 414 reserved for Portions reserved for operation of the host computing device 104 can include a hypervisor to assist in starting, executing, and terminating virtual machine instances, operating systems, drivers, and the like. In addition, the host computing device 104 can include a workload analysis component 421 that monitors resource utilization and optionally communication with the management component 102. The workload analysis component 421 may also be located in the memory space 410, may be integrated into the hypervisor 420, or may be an independent component that shares the memory space 410. In some embodiments, workload analysis component 421 may reside in memory space 412, 414 reserved for the customer's virtual machine instance. In such cases, the workload analysis component 421 may be integrated into the virtual machine instance configuration or included in the virtual machine instance upon instantiation. In further embodiments, the workload analysis component 421 may reside in a separate memory space reserved for it, such as an independent hardware device that does not share the memory 402 of the host computing device 104. It may be implemented as a component.

多くの場合、仮想マシンインスタンスは、そのために予約されたリソースの全体部分を利用しない可能性がある。例えば、図4に図示されるVM1 422は、顧客122の仮想マシンインスタンスであってもよく、その全体がVM1 422による使用のために予約されたメモリ空間412に起動されてもよい。運用中、VM1 422は、メモリ空間412全体を利用しない可能性があり、いくつかの場合、予約されたメモリ空間412のほんの一部を利用する可能性がある。しかしながら、時には、メモリ空間412の利用が変化する可能性があり、VM1 422は、メモリ空間412の実質的に全てを利用する可能性がある。作業負荷解析構成要素421は、これらの変化を監視し、測定値および時刻、特異的な仮想マシンインスタンス構成、または存在する場合、ホストコンピューティングデバイス104上で稼動している他の仮想マシンインスタンス等の他のデータを記録することができる。作業負荷解析構成要素421は、データを管理構成要素102またはデータストアへ伝送することができる。いくつかの実施形態において、作業負荷解析構成要素421は、データを一時的に記憶し、その後、スケジュールに従って、またはVM1 422の終了等のトリガーイベントに応答して等、それを管理構成要素102へ転送することができる。メモリ402の利用に関するデータの測定および記録に類似して、作業負荷解析構成要素421または何らかの他の構成要素は、CPU404、ネットワークインターフェース406、またはVM1 422によって利用される任意の他のコンピューティングリソースの使用を監視することができる。   In many cases, a virtual machine instance may not utilize the entire portion of resources reserved for it. For example, the VM1 422 illustrated in FIG. 4 may be a virtual machine instance of the customer 122 and may be activated in its entirety in the memory space 412 reserved for use by the VM1 422. During operation, VM1 422 may not use the entire memory space 412 and in some cases may use only a fraction of the reserved memory space 412. However, sometimes the usage of memory space 412 may change and VM1 422 may use substantially all of memory space 412. The workload analysis component 421 monitors these changes and measures and times, specific virtual machine instance configurations, or other virtual machine instances running on the host computing device 104, if any, etc. Other data can be recorded. The workload analysis component 421 can transmit data to the management component 102 or a data store. In some embodiments, the workload analysis component 421 temporarily stores the data and then passes it to the management component 102, such as according to a schedule or in response to a triggering event such as the termination of VM1 422. Can be transferred. Similar to the measurement and recording of data relating to the use of memory 402, workload analysis component 421 or some other component can be used for CPU 404, network interface 406, or any other computing resource utilized by VM1 422. Usage can be monitored.

予想または好ましい運用メトリクスからの任意の分散に関するデータが取得され、記録されてもよい。例えば、予想または好ましいメトリクスからの分散が存在するかどうかを判定するために、リソース使用測定値および他の運用メトリクスが記録され、運用プロファイルと比較されてもよい。いくつかの場合、運用メトリクスは顧客別に記録されてもよい。将来の配置または移行の判定を分散に基づいて行うことができるように、分散に関するデータが記録されてもよい。加えて、レイテンシ、リンクトラフィック等のホスト以外のリソースに関するデータが記録されてもよい。作業負荷解析構成要素421がこのようなデータを記録してもよく、またはホストの外部の何らかの構成要素(例えば、管理構成要素102またはスイッチ)が運用メトリクスを観察してもよい。いくつかの実施形態において、リソースの可用性を必ずしも削減しないリソース使用が判定されてもよい。例えば、その上で稼動している仮想マシンインスタンスまたはアプリケーションソフトウェアが、所定の暗号演算を実行する場合、あるいは所定の暗号機能または命令を呼び出していることが観察される場合、そのようなデータが記録されてもよい。配置モジュール204または移行モジュール206は、仮想マシンのインスタンスを起動または移行する際にこのようなデータを考慮することができる。Intel(登録商標)Advanced Encryption Standard (AES) New Instructions(AES−NI)をサポートするデバイスまたは類似のデバイス等、より効率的またはより強力な暗号命令を提供するホストコンピューティングデバイスが選択されてもよい。   Data regarding any variance from expected or preferred operational metrics may be obtained and recorded. For example, resource usage measurements and other operational metrics may be recorded and compared to operational profiles to determine if there is a variance from expected or preferred metrics. In some cases, operational metrics may be recorded by customer. Data regarding the distribution may be recorded so that future placement or migration decisions can be made based on the distribution. In addition, data related to resources other than the host, such as latency and link traffic, may be recorded. Workload analysis component 421 may record such data, or some component outside the host (eg, management component 102 or switch) may observe operational metrics. In some embodiments, resource usage that does not necessarily reduce resource availability may be determined. For example, if a virtual machine instance or application software running on it performs a predetermined cryptographic operation, or is observed to call a predetermined cryptographic function or instruction, such data is recorded. May be. The placement module 204 or the migration module 206 can consider such data when launching or migrating virtual machine instances. A host computing device that provides more efficient or stronger cryptographic instructions may be selected, such as a device that supports Intel (R) Advanced Encryption Standard (AES) New Instructions (AES-NI) or similar devices. .

ブロック310で、プロファイル判定モジュール202または管理構成要素102の何らかの他のモジュールは、仮想マシンインスタンスと関連付けられる運用プロファイルを変更するか、または新しい運用プロファイルを作成することができる。前述のように、運用プロファイルは、典型的または予想されるリソース使用、予想または所望される運用メトリクスからの分散等の情報を含むことができる。例えば、運用プロファイルは、単一の仮想マシンインスタンス構成のいくつかの異なるインスタンスのそれぞれの平均測定値からなる場合がある。各リソースは、特定の顧客、時刻、日、または他の環境因子に基づいて運用することに対応する複数の測定値と関連付けられてもよい。   At block 310, the profile determination module 202 or some other module of the management component 102 can change the operational profile associated with the virtual machine instance or create a new operational profile. As mentioned above, the operational profile can include information such as typical or anticipated resource usage, distribution from expected or desired operational metrics, and the like. For example, an operational profile may consist of an average measurement for each of several different instances of a single virtual machine instance configuration. Each resource may be associated with a plurality of measurements corresponding to operating based on a particular customer, time of day, day, or other environmental factors.

いくつかの実施形態において、運用プロファイルの各リソースは、1つの統計測定値ではなく、利用のスコアまたは何らかの他の指標と関連付けられてもよい。例えば、各リソースには1〜10のスコアが割り当てられる場合があり、より大きい数字は、リソースの最重量および/または最も頻繁なユーザーと関連付けられる。いくつかの実施形態において、運用プロファイルは、更に一般化されてもよい。既定の1組の一般化された運用プロファイルは、各リソースの測定値またはスコアの範囲を網羅してもよい。例えば、VM1 422がインスタンス化された仮想マシンインスタンス構成は、夜間、VM1 422がそのメモリ空間412の25%以下を利用するが、そのCPU可用性のほぼ100%を利用する場合、1つの一般化された運用プロファイルに割り当てられる場合がある。一般化された運用プロファイルは、時刻または他の因子に応じて、各リソースの測定値の複数の範囲を含むことができる。前の例に戻ると、VM1 422がインスタンス化された仮想マシンインスタンス構成は、仮想マシンインスタンスが、夜間は前述の様式でリソースを典型的に利用するが、日中はそのメモリセグメント412およびCPU可用性の50%を利用する場合は、代わりに異なる既定の運用プロファイルに割り当てられてもよい。複数の一般化された運用プロファイルは、特定の顧客による使用に基づいて、特定の仮想マシンインスタンス構成に割り当てられてもよい。例えば、仮想マシンインスタンス構成を使用する各顧客は、異なる運用プロファイルと関連付けられてもよい。   In some embodiments, each resource of the operational profile may be associated with a usage score or some other indicator, rather than a single statistical measure. For example, each resource may be assigned a score of 1-10, with a higher number being associated with the resource weight and / or the most frequent user. In some embodiments, operational profiles may be further generalized. A predefined set of generalized operational profiles may cover the range of measurements or scores for each resource. For example, a virtual machine instance configuration with VM1 422 instantiated is one generalization when VM1 422 uses less than 25% of its memory space 412 at night but uses almost 100% of its CPU availability. May be assigned to an operational profile. A generalized operational profile can include multiple ranges of measurements for each resource, depending on time of day or other factors. Returning to the previous example, the virtual machine instance configuration in which VM1 422 was instantiated, the virtual machine instance typically uses resources in the manner described above at night, but its memory segment 412 and CPU availability during the day. May be assigned to a different default operating profile instead. Multiple generalized operational profiles may be assigned to a particular virtual machine instance configuration based on use by a particular customer. For example, each customer using a virtual machine instance configuration may be associated with a different operational profile.

いくつかの実施形態において、各顧客122は、いくつかの異なる仮想マシンインスタンス構成を有する場合であっても、各仮想マシンインスタンス構成がリソースを異なって利用する可能性がある場合であっても、1つの一般化された運用プロファイルと関連付けられてもよい。顧客122は、図4のVM1 422がインスタンス化される構成等、1つの仮想マシンインスタンス構成を有してもよく、軽量CPUアプリケーションとして独立的にプロファイルされてもよく、一方、VM2 424がインスタンス化される構成等、別の仮想マシンインスタンス構成は、重量CPUアプリケーションとして独立的にプロファイルされてもよい。顧客122は、その平均CPU使用が中程度であるため、中程度のCPUユーザーとしてプロファイルされてもよい。任意選択的に、顧客122は、重量CPUアプリケーションである少なくとも1つの仮想マシンインスタンス構成を有するため、重量CPUユーザーとしてプロファイルされてもよい。他の実施形態において、顧客は、各仮想マシンイメージ構成のためのいくつかの関連運用プロファイルを有することができる。VM1 422等、実質的に同じ仮想マシンイメージの異なる顧客またはユーザーは、仮想マシンイメージが共通の構成であっても、異なる量のリソースを使用する可能性がある。特定のVMを起動する所与の顧客は、以前に記録されたのと同じ方式でそのVMを使用する可能性がより高くなり、ほぼ同じリソースを消費する可能性がある。   In some embodiments, each customer 122 may have several different virtual machine instance configurations, or each virtual machine instance configuration may use resources differently, It may be associated with one generalized operational profile. Customer 122 may have one virtual machine instance configuration, such as the configuration in which VM1 422 in FIG. 4 is instantiated, and may be independently profiled as a lightweight CPU application, while VM2 424 is instantiated. Another virtual machine instance configuration, such as a configuration to be configured, may be independently profiled as a heavy CPU application. Customer 122 may be profiled as a moderate CPU user because the average CPU usage is moderate. Optionally, customer 122 may be profiled as a heavy CPU user because he has at least one virtual machine instance configuration that is a heavy CPU application. In other embodiments, the customer can have several associated operational profiles for each virtual machine image configuration. Different customers or users of substantially the same virtual machine image, such as VM1 422, may use different amounts of resources even if the virtual machine images are in a common configuration. A given customer launching a particular VM is more likely to use that VM in the same manner as previously recorded and may consume approximately the same resources.

各仮想マシンインスタンス構成の運用プロファイルは、プロファイルデータストア210に記憶されてもよい。各プロファイルの実際の測定値が運用プロファイルに記憶されてもよく、あるいは、仮想マシンインスタンス構成が関連付けられるカテゴリまたは一般化された運用プロファイルのIDまたは指標が記憶されてもよい。仮想マシンプロファイルの代わりに、またはそれに加えて顧客プロファイルを判定かつ利用する実施形態において、顧客プロファイルデータは、同じデータストア210または異なるデータストアに記憶されてもよい。   The operation profile of each virtual machine instance configuration may be stored in the profile data store 210. The actual measured value of each profile may be stored in the operational profile, or the category or generalized operational profile ID or indicator with which the virtual machine instance configuration is associated may be stored. In embodiments that determine and utilize customer profiles instead of or in addition to virtual machine profiles, customer profile data may be stored in the same data store 210 or in different data stores.

ブロック312で、関係する運用プロファイルまたは一般化された運用プロファイルを作成または変更することができる。例えば、階層プロファイルが使用される場合、より上位のレベルのプロファイルを作成または変更してもよい。履歴運用メトリクスは、いくつかの場合、仮想マシンインスタンス構成がどの下位レベルのプロファイルに関連付けられるかに関わらず、より上位レベルの運用プロファイルと関連付けられる各仮想マシンインスタンス構成の運用メトリクスデータストア208からアクセスされてもよい。統計解析が実行されてもよく、前述のように運用メトリクス分散が判定されてもよい。有利に、変更された上位レベルの運用プロファイルまたは一般化された運用プロファイルは、プロセス300の現在の実行と関連付けられる仮想マシンインスタンスとは異なる仮想マシンインスタンスをインスタンス化または移行するとき、配置モジュール204または移行モジュール206によってアクセスされ、使用されてもよい。したがって、1つの仮想マシンインスタンスと関連付けられる記録された運用メトリクスは、同じ仮想マシンインスタンス構成からインスタンス化されていない場合であっても、他の仮想マシンインスタンスの配置および実行を微調整するために使用されてもよい。   At block 312, related operational profiles or generalized operational profiles can be created or modified. For example, if a hierarchical profile is used, a higher level profile may be created or modified. Historical operational metrics are accessed from the operational metrics data store 208 for each virtual machine instance configuration associated with a higher level operational profile, in some cases, regardless of which lower level profile the virtual machine instance configuration is associated with. May be. Statistical analysis may be performed and operational metrics distribution may be determined as described above. Advantageously, the modified higher-level operational profile or generalized operational profile is used when the placement module 204 or the virtual machine instance is instantiated or migrated different from the virtual machine instance associated with the current execution of the process 300 It may be accessed and used by the migration module 206. Thus, the recorded operational metrics associated with one virtual machine instance can be used to fine-tune the placement and execution of other virtual machine instances, even when not instantiated from the same virtual machine instance configuration May be.

ここで図5を参照して、運用プロファイルに基づいて仮想マシンインスタンスの配置を判定するための例示的プロセス500を説明する。プロセス500は、管理構成要素102によって実行されてもよい。管理構成要素102は、顧客122からリクエストを受信してもよく、そうでなければ特定の仮想マシンインスタンス構成またはイメージから、仮想マシンのインスタンスを起動するように通知されてもよい。管理構成要素102は、仮想マシンインスタンスをホストし、利用可能なコンピューティングリソースに関して、ホストコンピューティングデバイス104a〜104nの現在のステータスを判定することが可能である、ホストコンピューティングデバイス104a〜104nを識別することができる。有利に、管理構成要素102はまた、インスタンス化される仮想マシンインスタンス構成の運用プロファイルを取得し、利用可能なリソースの観点から、利用可能なホストコンピューティングデバイス104a〜104nのうちどれが最も効果的に仮想マシンをホストすることができるかを判定することができる。既に仮想マシンを実行していて、かつ既に実行している仮想マシンをホストするために、そのリソースのほとんどまたは全てをコミットしている、ホストコンピューティングデバイス104が選択されてもよい。現在実行している仮想マシンインスタンスおよび起動される仮想マシンインスタンスの運用プロファイルに基づいて、管理構成要素102は、ホストコンピューティングデバイス104が、仮想マシンインスタンスが消費する可能性が高いコンピューティングリソースを提供することができると管理構成要素102が判定した場合、ホストコンピューティングデバイス104上で仮想マシンインスタンスを起動してもよい。いくつかの場合、これは、リソースをオーバーサブスクリプションすることを含む(例えば、同じリソースを複数の仮想マシンインスタンスに割り当てる)。その上、管理構成要素102は、ホストコンピューティングデバイス104上の仮想マシンインスタンスの実行を監視し、各仮想マシンインスタンスを満足させる十分なコンピューティングリソースが存在しない場合、1つ以上の仮想マシンインスタンスの実行を別のホストコンピューティングデバイス104へ転送することができる。   With reference now to FIG. 5, an exemplary process 500 for determining placement of virtual machine instances based on operational profiles will be described. Process 500 may be performed by management component 102. The management component 102 may receive a request from the customer 122 or may be notified to launch an instance of the virtual machine from a specific virtual machine instance configuration or image. The management component 102 identifies the host computing devices 104a-104n that can host the virtual machine instance and determine the current status of the host computing devices 104a-104n with respect to available computing resources. can do. Advantageously, the management component 102 also obtains an operational profile of the instantiated virtual machine instance configuration, and from the perspective of available resources, which of the available host computing devices 104a-104n is most effective. It can be determined whether or not the virtual machine can be hosted. A host computing device 104 may be selected that is already running a virtual machine and that has committed most or all of its resources to host a virtual machine that is already running. Based on the operational profile of the currently running virtual machine instance and the launched virtual machine instance, the management component 102 provides the computing resources that the host computing device 104 is likely to consume by the virtual machine instance. If the management component 102 determines that it can, a virtual machine instance may be launched on the host computing device 104. In some cases, this includes oversubscribing resources (eg, assigning the same resource to multiple virtual machine instances). In addition, the management component 102 monitors the execution of virtual machine instances on the host computing device 104, and if there are not enough computing resources to satisfy each virtual machine instance, one or more virtual machine instance Execution can be transferred to another host computing device 104.

プロセス500は、ブロック502で開始する。プロセス500は、仮想マシンインスタンスを起動するリクエストの受信に応答する等、自動的に開始してもよい。例えば、プロセス500は、1組の実行可能プログラム命令において具現化され、管理構成要素102が関連付けられるコンピューティングシステムの非一時的コンピュータ可読媒体ドライブ上に記憶されてもよい。プロセス500が開始すると、実行可能プログラム命令は、RAM等のメモリにロードされ、コンピューティングシステムの1つ以上のプロセッサによって実行され得る。いくつかの実施形態において、コンピューティングシステムは、サーバーのようなコンピューティングデバイスを複数含んでもよく、プロセス500は、複数のサーバーによって、逐次または同時に実行されてもよい。   Process 500 begins at block 502. Process 500 may begin automatically, such as in response to receiving a request to launch a virtual machine instance. For example, process 500 may be embodied in a set of executable program instructions and stored on a non-transitory computer readable media drive of a computing system with which management component 102 is associated. When process 500 begins, executable program instructions can be loaded into a memory, such as RAM, and executed by one or more processors of the computing system. In some embodiments, a computing system may include multiple computing devices, such as servers, and process 500 may be performed sequentially or concurrently by multiple servers.

ブロック504で、管理構成要素102は、仮想マシンインスタンスを初期化するためのリクエスト、そうでなければ何らかの他の通知を受信することができる。通知は、顧客122、ホストコンピューティングデバイス104、あるいは何らかの他の構成要素またはエンティティから受信されてもよい。いくつかの実施形態において、仮想マシンインスタンスは、別の仮想マシンインスタンス、同じ仮想マシンインスタンス構成またはイメージの別のインスタンス等の初期化をリクエストしてもよい。   At block 504, the management component 102 can receive a request to initialize the virtual machine instance, or some other notification. The notification may be received from customer 122, host computing device 104, or some other component or entity. In some embodiments, a virtual machine instance may request initialization of another virtual machine instance, another instance of the same virtual machine instance configuration or image, or the like.

ブロック506で、管理構成要素102のVM配置モジュール204または何らかの他のモジュールは、起動される仮想マシンインスタンスの運用プロファイルを取得することができる。運用プロファイルは、プロファイルデータストア210からロード、または何らかの他の情報源から取得されてもよい。VM配置モジュール204は、仮想マシンインスタンスが利用する可能性が高いリソース、およびその数量を判定するために、運用プロファイルを確認することができる。前述のように、仮想マシンインスタンス構成の運用プロファイルは、時刻等の環境因子に応じて異なっていてもよい。このような場合、管理構成要素102のVM配置モジュール204は、運用プロファイルを確認する際にこのような環境因子を考慮することができる。   At block 506, the VM deployment module 204 or some other module of the management component 102 can obtain an operational profile of the virtual machine instance to be launched. The operational profile may be loaded from the profile data store 210 or obtained from some other information source. The VM placement module 204 can check the operation profile to determine the resources that are likely to be used by the virtual machine instance and the quantity thereof. As described above, the operation profile of the virtual machine instance configuration may be different depending on environmental factors such as time. In such a case, the VM placement module 204 of the management component 102 can consider such environmental factors when confirming the operation profile.

ブロック508で、管理構成要素102のVM配置モジュール204または何らかの他のモジュールは、利用可能なリソースおよび運用プロファイルに基づいて、仮想マシンインスタンスを起動するホストコンピューティングデバイス104を選択することができる。例えば、ネットワークコンピューティング環境100は、いくつかのホストコンピューティングデバイス104a〜104nを含む場合がある。ホストコンピューティングデバイス104a〜104nは同一である必要はなく、いくつかは他よりも多いまたは少ないRAM、より性能が高いまたは低いプロセッサ、あるいは異なる数のプロセッサ等を有することができる。VM配置モジュール204は、運用プロファイルおよび各コンピューティングデバイスで利用可能になるリソースによって識別される予想リソース利用に基づいて、仮想マシンインスタンスを起動するホストコンピューティングデバイス104を選択することができる。   At block 508, the VM deployment module 204 or some other module of the management component 102 can select the host computing device 104 to launch the virtual machine instance based on available resources and operational profiles. For example, the network computing environment 100 may include a number of host computing devices 104a-104n. The host computing devices 104a-104n need not be the same, some may have more or less RAM than others, higher or lower performance processors, a different number of processors, and so on. The VM placement module 204 can select the host computing device 104 to launch the virtual machine instance based on the operational profile and the expected resource utilization identified by the resources that will be available on each computing device.

いくつかの実施形態において、ホストコンピューティングデバイス104は、特定の仮想マシン、または特定のクラスの仮想マシンの一定数のインスタンスをホストするように構成されてもよい。図4に示されるように、ホストコンピューティングデバイス104はある量のメモリ402を有することができるので、ハイパーバイザ420のために既定のメモリ空間410、および仮想マシンのために規定サイズの2つの追加のメモリ空間412、414を予約することができる。2つの仮想マシンインスタンス422、424は、ホストコンピューティングデバイス104上で起動されてもよく、それぞれの仮想マシンインスタンス422、424が別のメモリ空間412、414に割り当てられる。顧客122は、構成する特定のクラスの仮想マシン(例えば、前述のように小型、中型、または大型)を選択することによって等、その仮想マシンインスタンス422、424に利用可能になる特定量のリソースを予約することができる。メモリ空間412、414は、顧客122によって予約されるように、仮想マシンインスタンス422、424に利用可能である最大許容量のリソースに対応してもよい。しかしながら、実際には、仮想マシンインスタンス422、424は、それらのために予約されるコンピューティングリソースの全体量を利用しない場合がある。例えば、図4に見られるように、仮想マシンインスタンス422、424は、それらのために予約されたメモリ空間412、414の一部しか利用していない。現在実行している仮想マシンインスタンス全てをサービスするため、または運用しているホストコンピューティングデバイス104a〜104nのリソースをより効率的に利用するために必要なホストコンピューティングデバイス104a〜104nの数を削減するために、このような過剰のメモリ空間および他の過剰なコンピューティングリソースを利用することは利点であり得る。   In some embodiments, the host computing device 104 may be configured to host a particular virtual machine or a certain number of instances of a particular class of virtual machines. As shown in FIG. 4, since the host computing device 104 can have a certain amount of memory 402, a default memory space 410 for the hypervisor 420 and two additions of a prescribed size for the virtual machine Memory spaces 412 and 414 can be reserved. Two virtual machine instances 422, 424 may be launched on the host computing device 104, and each virtual machine instance 422, 424 is assigned to a different memory space 412, 414. A customer 122 can allocate a specific amount of resources available to its virtual machine instances 422, 424, such as by selecting a specific class of virtual machines to configure (eg, small, medium, or large as described above). You can make a reservation. Memory space 412, 414 may correspond to the maximum allowable amount of resources available to virtual machine instances 422, 424 as reserved by customer 122. In practice, however, virtual machine instances 422, 424 may not utilize the entire amount of computing resources reserved for them. For example, as seen in FIG. 4, the virtual machine instances 422, 424 utilize only a portion of the memory space 412, 414 reserved for them. Reduce the number of host computing devices 104a-104n required to service all currently running virtual machine instances or to more efficiently use the resources of the host computing devices 104a-104n in operation In order to do so, it may be advantageous to utilize such excess memory space and other excess computing resources.

図6は、オーバーサブスクリプションされたコンピューティングリソースを含むホストコンピューティングデバイス104を図示する。第3の仮想マシンインスタンス426は、ホストコンピューティングデバイス104が仮想マシンインスタンスのために利用可能な2つのメモリ空間412、414しか含まないにもかかわらず、ホストコンピューティングデバイス104上で起動されている。仮想マシンインスタンス422、424、426のそれぞれと関連付けられる運用プロファイルに基づいて、VM配置モジュール204は、VM2 422が利用可能なメモリ空間414の一部しか利用せず、VM3 426もまた、起動されるときにその利用可能なメモリ空間の一部しか使用しないことを判定することができる。したがって、VM配置モジュール204は、VM2 424と同じコンピューティングデバイス上でVM3 426を起動し、それらを同じメモリ空間414に割り当てることができる。   FIG. 6 illustrates a host computing device 104 that includes oversubscribed computing resources. The third virtual machine instance 426 is launched on the host computing device 104 even though the host computing device 104 includes only two memory spaces 412, 414 that are available for the virtual machine instance. . Based on the operational profile associated with each of the virtual machine instances 422, 424, 426, the VM placement module 204 uses only a portion of the memory space 414 available to the VM2 422, and the VM3 426 is also activated. Sometimes it can be determined that only a part of the available memory space is used. Accordingly, the VM placement module 204 can launch VM3 426 on the same computing device as VM2 424 and assign them to the same memory space 414.

図6に見られるように、VM1 422は、そのメモリ空間412の実質的に全てを利用し、したがって、VM配置モジュール204は、VM1 422の運用プロファイルのために、同じメモリ空間412に別の仮想マシンインスタンスを割り当てない場合がある。しかしながら、VM1 422は、少量のCPU容量442しか利用せず、したがって、VM1 422が稼動しているホストコンピューティングデバイス104は、仮想マシンインスタンスの運用プロファイルが補完的である場合、オーバーサブスクリプションの候補であり得る。図6に図示される例において、VM2 424は、大量のCPU容量444を利用する。しかしながら、VM3 426の運用プロファイルが、それがCPU容量の軽量ユーザーであることを示す場合、3つの仮想マシンインスタンスVM1 422、VM2 424、およびVM3 426は、インスタンス化されている仮想マシンインスタンス構成のオーバーラップではなく、補完的運用プロファイルであるためにオーバーサブスクリプションの候補であり得る。ホストコンピューティングデバイス104上で稼動している各仮想マシンインスタンスが、典型的に要求する各コンピューティングリソース量に容易に利用可能になっていることを確実にするために、追加のリソースがオーバーサブスクリプションの判定に考慮されてもよい。例えば、ネットワーク帯域幅利用406もまた、図6に図示されるように、VM3 426の運用プロファイルが、それが重量のネットワーク帯域幅アプリケーションであることを示す場合であっても、VM1 422およびVM2 424が少量のネットワーク帯域幅しか利用しないために、前述のオーバーサブスクリプションの判定例をサポートする。   As seen in FIG. 6, VM1 422 utilizes substantially all of its memory space 412, and therefore VM placement module 204 can use another virtual space in the same memory space 412 for the VM1 422 operational profile. Machine instances may not be assigned. However, VM1 422 uses only a small amount of CPU capacity 442, and therefore the host computing device 104 on which VM1 422 is running can be oversubscribed if the virtual machine instance operational profile is complementary. It can be. In the example illustrated in FIG. 6, the VM2 424 uses a large amount of CPU capacity 444. However, if the VM3 426 operational profile indicates that it is a lightweight user with CPU capacity, the three virtual machine instances VM1 422, VM2 424, and VM3 426 are over the virtual machine instance configuration being instantiated. Can be an oversubscription candidate because it is a complementary operational profile, not a wrap. Additional resources are oversubscribed to ensure that each virtual machine instance running on the host computing device 104 is readily available for each amount of computing resources typically required. May be considered in the determination of For example, the network bandwidth utilization 406 also has VM1 422 and VM2 424 even when the VM3 426 operational profile indicates that it is a heavy network bandwidth application, as illustrated in FIG. Supports the above example of oversubscription because it uses only a small amount of network bandwidth.

ブロック510で、管理構成要素102のVM配置モジュール204または何らかの他のモジュールは、ブロック508で識別されるホストコンピューティングデバイス104上に仮想マシンインスタンスを配置することができる。前述のように、仮想マシンインスタンスは、ホストコンピューティングデバイス104によって提供される量を合計または超過するコンピューティングリソースの予約量を有する他の仮想マシンインスタンスと共にホストコンピューティングデバイス104上に配置される場合がある。いくつかの事例において、オーバーサブスクリプションは相当量の場合がある。   At block 510, the VM deployment module 204 of management component 102 or some other module may deploy a virtual machine instance on the host computing device 104 identified at block 508. As described above, a virtual machine instance is placed on the host computing device 104 along with other virtual machine instances that have a reserved amount of computing resources that totals or exceeds the amount provided by the host computing device 104. There is. In some cases, oversubscription can be substantial.

図7は、相当にオーバーサブスクリプションされたホストコンピューティングデバイス104を図示する。前述のように、顧客122は、顧客の仮想マシンインスタンスによって使用するために、指定量のコンピューティングリソースを予約することができる。しかしながら、いくつかの事例において、顧客122は、その仮想マシンインスタンスが実際に使用する可能性があるコンピューティングリソースの量をかなり過大に見積もった可能性がある。極端な事例では、顧客122は、大量のコンピューティングリソースを予約し、これらのリソースと関連付けられる仮想マシンインスタンスを起動してから、次いで、仮想マシンインスタンスを待機状態のままにするか、そうでなければ予約したリソースを実質的に十分に活用していない。時間の経過とともに、予約されたリソースが実質的に十分に活用されていないことを反映する運用プロファイルが、仮想マシンインスタンスのために、または顧客122のために開発される場合がある。管理構成要素102は次いで、単一のホストコンピューティングデバイス104上でこのような利用が低い仮想マシンインスタンスを大量に起動する可能性がある。図7のホストコンピューティングデバイス104は、図4および6を参照して上述したように、典型的に2つの仮想マシンインスタンスのためだけに予約される場合があるコンピューティングリソースを共有する7つの異なる仮想マシンインスタンス422、424、426、722、724、726、728を含む。しかしながら、3つのコンピューティングリソース402、404、406のそれぞれの過剰な容量がまだ存在する。いくつかの事例において、ホストコンピューティングデバイス104が大量の利用可能なコンピューティングリソースを有し、仮想マシンインスタンスが実質的に待機状態である等、何百以上もの仮想マシンインスタンスがホストコンピューティングデバイス104上に配置される場合がある。   FIG. 7 illustrates a host computing device 104 that is significantly oversubscribed. As described above, customer 122 can reserve a specified amount of computing resources for use by the customer's virtual machine instance. However, in some cases, customer 122 may have overestimated the amount of computing resources that the virtual machine instance may actually use. In extreme cases, the customer 122 reserves a large amount of computing resources, starts the virtual machine instances associated with these resources, and then leaves the virtual machine instances in a standby state or otherwise. For example, the reserved resources are not fully utilized. Over time, operational profiles may be developed for virtual machine instances or for customers 122 that reflect that the reserved resources are not substantially fully utilized. The management component 102 may then launch a large number of such underutilized virtual machine instances on a single host computing device 104. The host computing device 104 of FIG. 7 typically shares seven different computing resources that may be reserved only for two virtual machine instances, as described above with reference to FIGS. Virtual machine instances 422, 424, 426, 722, 724, 726, 728 are included. However, there is still excess capacity of each of the three computing resources 402, 404, 406. In some instances, hundreds or more of virtual machine instances are host computing device 104, such as host computing device 104 has a large amount of available computing resources and the virtual machine instance is substantially in a standby state. May be placed on top.

ブロック512で、各仮想マシンインスタンスのリソース利用が監視されてもよい。特異的な仮想マシンインスタンスの寿命の間、作業負荷解析構成要素421は、運用を監視し、仮想マシンインスタンスのうちの1つが、オーバーサブスクリプションされたホストコンピューティングデバイス104によってサービス可能ではないレベルでリソースを利用し始めた場合、またはリソース使用または運用メトリクスが何らかの理由で予想量または所望量と異なる場合、管理構成要素102に通知する。いくつかの実施形態において、管理構成要素102が監視を実行してもよい。   At block 512, resource usage of each virtual machine instance may be monitored. During the lifetime of a specific virtual machine instance, the workload analysis component 421 monitors operations and at a level where one of the virtual machine instances is not serviceable by the oversubscribed host computing device 104. When starting to use the resource, or when the resource usage or operational metrics are different from the expected or desired amount for some reason, the management component 102 is notified. In some embodiments, the management component 102 may perform monitoring.

ブロック514で、管理構成要素102は、リソース使用または運用メトリクスが予想量または所望量と異なるかどうかを判定することができる。例えば、管理構成要素は、リソース使用の変化が閾値を超えるか、またはその他所望されない性能低下を発生させる可能性があるかを判定することができる。仮想マシンインスタンスは、予想よりも多くのコンピューティングリソースを利用し始め、その運用プロファイルおよび管理構成要素102によって判定された配置に基づいて、より少ない範囲までオーバーサブスクリプションされているホストコンピューティングデバイス104、または全くオーバーサブスクリプションされていないホストコンピューティングデバイス104へ転送される場合がある。このような場合、プロセス500の実行はブロック508に戻ることができ、VM移行モジュール206または何らかの他の管理構成要素102が、仮想マシン842をどのコンピューティングデバイスへ転送するかを判定する。   At block 514, the management component 102 can determine whether the resource usage or operational metrics are different from the expected or desired amount. For example, the management component can determine whether a change in resource usage exceeds a threshold or may cause other undesirable performance degradation. A virtual machine instance begins to utilize more computing resources than expected, and the host computing device 104 that is oversubscribed to a lesser extent based on its operational profile and placement determined by the management component 102 Or to a host computing device 104 that is not oversubscribed at all. In such a case, execution of process 500 can return to block 508 where the VM migration module 206 or some other management component 102 determines to which computing device the virtual machine 842 will be transferred.

図8は、CPU容量404aをオーバーサブスクリプションしたホストコンピューティングデバイス104aを図示する。仮想マシンインスタンスVM4 842は、その運用プロファイルに反して、大量の利用可能なCPU容量404aの消費を開始してもよい。しかしながら、仮想マシンインスタンスVM4 842と関連付けられる顧客122は、VM4 842がインスタンス化されている仮想マシンインスタンス構成のために大量のCPU容量を予約していた可能性があり、したがって、オーバーサブスクリプションされたホストコンピューティングデバイス104aが提供できるよりも多くのCPU容量を仮想マシンインスタンスVM4 842に提供することが望ましい場合がある。図8に示されるように、ホストコンピューティングデバイス104bは、このような転送の候補であってもよい。仮想マシンインスタンスVM8 844は現在、ホストコンピューティングデバイス104b上で利用可能なCPU容量404bのほんの一部しか消費しておらず、管理構成要素102は、VM8 844と関連付けられる運用プロファイルが、これ以上消費する可能性が低いことを示すと判定する場合がある。VM移行モジュール206は、ホストコンピューティングデバイス104aからホストコンピューティングデバイス104bへのVM4 842の転送を開始することができる。   FIG. 8 illustrates the host computing device 104a oversubscribed with CPU capacity 404a. Virtual machine instance VM4 842 may start consuming a large amount of available CPU capacity 404a against its operational profile. However, customer 122 associated with virtual machine instance VM4 842 may have reserved a large amount of CPU capacity for the virtual machine instance configuration in which VM4 842 is instantiated and is therefore oversubscribed. It may be desirable to provide the virtual machine instance VM4 842 with more CPU capacity than the host computing device 104a can provide. As shown in FIG. 8, the host computing device 104b may be a candidate for such a transfer. The virtual machine instance VM8 844 currently consumes only a fraction of the CPU capacity 404b available on the host computing device 104b, and the management component 102 consumes no more operational profiles associated with the VM8 844. In some cases, it is determined that there is a low possibility of being performed. The VM migration module 206 can initiate the transfer of VM4 842 from the host computing device 104a to the host computing device 104b.

仮想マシンインスタンスの転送は、まず、ソースホストコンピューティングデバイス104a上の仮想マシンインスタンスが継続して実行している間に、同じ仮想マシンインスタンス構成またはイメージのインスタンスをターゲットホストコンピューティングデバイス104b上で起動することを含んでもよい。ソースホストコンピューティングデバイス104b上の仮想マシンインスタンスの実行状態は、仮想マシンインスタンスと関連付けられるメモリ空間またはハードディスク内のデータを含めて、仮想マシンインスタンスによって確立されたネットワーク接続等を次いで、ターゲットホストコンピューティングデバイス104bで複製することができる。ソースホストコンピューティングデバイス104a上の仮想マシンインスタンスは終了することができ、ターゲットホストコンピューティングデバイス104b上の仮想マシンインスタンスはその時点から実行を継続することができる。   A virtual machine instance transfer starts by launching an instance of the same virtual machine instance configuration or image on the target host computing device 104b while the virtual machine instance on the source host computing device 104a continues to run. May include. The running state of the virtual machine instance on the source host computing device 104b includes the memory space associated with the virtual machine instance or data in the hard disk, including the network connection established by the virtual machine instance, etc., and then the target host computing It can be replicated at device 104b. The virtual machine instance on the source host computing device 104a can be terminated and the virtual machine instance on the target host computing device 104b can continue to run from that point.

いくつかの実施形態において、ソフトウェア作業負荷(例えば、アプリケーションまたは記憶ノード)の初期配置または転送は、ソフトウェア作業負荷が必ずしもそれ自体仮想マシンインスタンスでなくても、ソフトウェア作業負荷の仮想マシンインスタンス使用または相互作用と関連付けられてもよい。例えば、ソフトウェア作業負荷は、データを使用する場合がある仮想マシンインスタンスの予測に応じて、データ記憶エージェントとして実装される記憶ノードからなる場合がある。このような場合、作業負荷(この場合、記憶ノード)の初期配置または転送は、その近辺に配置すること、仮想マシンインスタンスまたはそれを使用する予定のインスタンスによってよりアクセスしやすくすることに基づいてもよい。   In some embodiments, the initial placement or transfer of a software workload (eg, an application or storage node) may be performed by using virtual machine instances of the software workload or mutual It may be associated with an action. For example, the software workload may consist of storage nodes implemented as data storage agents, depending on the prediction of virtual machine instances that may use the data. In such a case, the initial placement or transfer of the workload (in this case, the storage node) is also based on placing it near it, making it more accessible by the virtual machine instance or the instance that will use it. Good.

本開示の多様な実施形態は、以下の付記の観点で記載することができる。
付記1.コンピューティングリソース使用をプロファイルするためのシステムであって、
1つ以上のプロセッサと、
コンピュータ可読メモリと、
コンピュータ可読メモリに記憶される実行可能命令を含む管理モジュールであって、1つ以上のプロセッサによって実行されるとき、
第1のコンピューティングリソースの予想リソース使用量であって、1つ以上の類似の仮想マシンインスタンス構成のインスタンスによる、第1のコンピューティングリソースの使用量と関連付けられる複数の事前測定値に少なくとも部分的に基づく、予想使用量と関連する仮想マシンインスタンス構成の新しいインスタンスの初期化のためのリクエストを受信し、かつ
リクエストに応答して、
コンピューティングデバイス上の第1のコンピューティングリソースの利用可能量が予想量よりも大きいかどうかに少なくとも基づいて、複数のコンピューティングデバイスのうちのコンピューティングデバイスを識別し、かつ
少なくとも部分的に、新しいインスタンスをコンピューティングデバイス上で初期化させるように構成される、管理モジュールと、を備える、システム。
付記2. 第1のコンピューティングリソースの使用は、中央処理装置(CPU)利用、メモリ利用、ネットワーク利用、ハードディスク利用、または電力利用のうちの1つを含む、付記1に記載のシステム。
付記3. 管理モジュールが、実行されるとき、
第1のコンピューティングリソースの使用に関する複数の事前測定値を取得し、
複数の事前測定値に少なくとも部分的に基づいて、仮想マシンインスタンス構成の運用プロファイルであって、予想リソース使用量を含む運用プロファイルを判定するように更に構成される、付記1に記載のシステム。
付記4. 運用プロファイルが、コンピューティングデバイスの所望される運用特徴を更に含む、付記3に記載のシステム。
付記5. 所望される運用特徴が、メモリ容量、中央処理装置(CPU)容量、ネットワーク帯域幅、ネットワークレイテンシ、ネットワークトポロジー内の位置、命令セット、または性能メトリクスの分散に関する、付記4に記載のシステム。
付記6. コンピューティングデバイスを識別することが、コンピューティングデバイスと関連付けられる特徴が所望される特徴に対応することを判定することを含む、付記4に記載のシステム。
付記7. コンピューティングリソース使用をプロファイルするためのシステムであって、
1つ以上のプロセッサと、
コンピュータ可読メモリであって、1つ以上のプロセッサによって実行されるとき、
類似の仮想マシンの少なくとも1つのインスタンスを稼動することから判定される運用メトリクスに少なくとも部分的に基づいて、仮想マシンのインスタンスに対する運用制約を判定し、
仮想マシンをインスタンス化するためのリクエストを受信し、かつ
リクエストに応答して、
複数のホストコンピューティングデバイスのうち、仮想マシンインスタンスの運用に関係する1つ以上の運用特徴と関連付けられる1つのホストコンピューティングデバイスを、1つ以上の特徴が運用制約を満たすかどうかに部分的に基づいて、識別し、かつ
少なくとも部分的に、仮想マシンの新しいインスタンスを、ホストコンピューティングデバイス上にインスタンス化させるように、システムを構成する実行可能命令を含むコンピュータ可読メモリと、を備える、システム。
付記8. 運用メトリクスのうちの少なくとも1つが、中央処理装置(CPU)利用、メモリ利用、ネットワーク利用、ハードディスク利用、または電力利用に関係する、付記7に記載のシステム。
付記9. 1つ以上の特徴のうちの少なくとも1つが、メモリ容量、中央処理装置(CPU)容量、ネットワーク帯域幅、ネットワークレイテンシ、ネットワークトポロジー内の位置、命令セット、または性能メトリクスの分散を含む、付記7に記載のシステム。
付記10. 運用制約が、ホストコンピューティングデバイスによって提供されるコンピューティングリソースの予想使用量に関係する、付記7に記載のシステム。
付記11. 予想使用量が、仮想マシンと関連付けられる顧客から受信されるデータに少なくとも部分的に更に基づく、付記10に記載のシステム。
付記12. モジュールが、実行されるとき、
ホストコンピューティングデバイス上の新しいインスタンスの運用に関する追加の運用メトリクスであって、1つ以上の運用特徴に関係する、追加の運用メトリクスを受信し、かつ
追加の運用メトリクスに基づいて、1つ以上の運用特徴がもはや運用制約を満たさないという判定に応答して、新しいインスタンスを、運用制約を満たす1つ以上の追加の運用特徴と関連付けられる第2のコンピューティングデバイスへ転送するように、更に構成される、付記7に記載のシステム。
付記13. コンピューティングリソースの使用をプロファイルするためのコンピュータによって実装される方法であって、
1つ以上のコンピューティングデバイスを備えるデータセンター管理構成要素によって、運用プロファイルであって、ソフトウェア作業負荷と関連付けられる複数の履歴運用メトリクスに少なくとも部分的に基づく、運用プロファイルと関連付けられるソフトウェア作業負荷の初期化に対するリクエストを受信することと、
リクエストに応答して、
複数のコンピューティングデバイスのうちの1つのコンピューティングデバイスを、運用プロファイルおよびコンピューティングデバイスと関連付けられる1つ以上の運用特徴に少なくとも部分的に基づいて識別することと、
ソフトウェア作業負荷をコンピューティングデバイス上で初期化させることと、を含む、コンピュータによって実装される方法。
付記14. ソフトウェア作業負荷が、仮想マシンインスタンス、オペレーティングシステム、ストレージエリアネットワーク(SAN)ノード、またはアプリケーションを含む、付記13に記載のコンピュータによって実装される方法。
付記15. 複数の履歴運用メトリクスのうちの少なくとも1つが、中央処理装置(CPU)利用、メモリ利用、ネットワーク利用、ハードディスク利用、または電力利用に関係する、付記13に記載のコンピュータによって実装される方法。
付記16. 1つ以上の運用特徴のうちの少なくとも1つが、メモリ容量、中央処理装置(CPU)容量、ネットワーク帯域幅、ネットワークレイテンシ、ネットワークトポロジー内の位置、命令セット、または性能メトリクスの分散を含む、付記13に記載のコンピュータによって実装される方法。
付記17. 運用プロファイルが、第1のコンピューティングリソースと関連付けられる第1の予想リソース使用量を含み、第1の予想リソース使用量が、第1のリソースの使用に関する複数の履歴運用メトリクスに少なくとも部分的に基づき、1つ以上の特徴のうちの1つの特徴が、第1のコンピューティングリソースの可用性を含む、付記13に記載のコンピュータによって実装される方法。
付記18. 第1のリソースの使用に関する複数の履歴運用メトリクスの各々が、使用測定値が記録された時刻に関連付けられ、運用プロファイルが、複数の履歴運用メトリクスの各々が記録された時刻に少なくとも部分的に更に基づく、付記17に記載のコンピュータによって実装される方法。
付記19. ソフトウェア作業負荷、またはソフトウェア作業負荷を実行している複数のコンピューティングデバイスのうちの1つのコンピューティングデバイスのいずれかと関連付けられる運用解析構成要素からの複数の履歴運用メトリクスの少なくとも一部を取得することを更に含む、付記13に記載のコンピュータによって実装される方法。
付記20. 複数の履歴運用メトリクスに少なくとも部分的に基づいて、運用プロファイルを判定することを更に含む、付記13に記載のコンピュータによって実装される方法。
付記21. ソフトウェア作業負荷と関連付けられる顧客とのサービスレベル合意に少なくとも部分的に基づいて、運用プロファイルを判定することを更に含む、付記13に記載のコンピュータによって実装される方法。
付記22. 運用プロファイルが、コンピューティングデバイスの所望される運用特徴を含む、付記13に記載のコンピュータによって実装される方法。
付記23. コンピューティングデバイスを識別することは更に、コンピューティングデバイスと関連付けられる1つ以上の運用特徴のうちの1つの運用特徴が、所望される運用特徴に対応することを判定することに少なくとも部分的に基づく、付記22に記載のコンピュータによって実装される方法。
付記24. コンピューティングデバイス上のソフトウェア作業負荷に関する実質的に最新の運用メトリクスであって、1つ以上の運用特徴に関係する、実質的に最新の運用メトリクスを受信することと、
実質的に最新の運用メトリクスに基づいて、コンピューティングデバイスと関連付けられる1つ以上の運用特徴のうちのどれもが所望される運用特徴に対応しないと判定することに応答して、ソフトウェア作業負荷を、所望される運用特徴に対応する運用特徴と関連付けられる第2のコンピューティングデバイスへ転送することと、を更に含む、
付記22に記載のコンピュータによって実装される方法。
付記25. 運用プロファイルが、複数の既定の運用プロファイルのうちの第1の既定の運用プロファイルを含む、付記13に記載のコンピュータによって実装される方法。
付記26. 既定の運用プロファイルが、運用階層内のレベルと関連付けられ、第1の既定の運用プロファイルが、ソフトウェア作業負荷に対して、運用階層のより上位のレベルと関連付けられる、付記25に記載のコンピュータによって実装される方法。
付記27. 運用プロファイルが、顧客に特異的な運用プロファイルを含み、複数の履歴運用メトリクスが、顧客によるソフトウェア作業負荷の初期化または使用と関連付けられる、付記13に記載のコンピュータによって実装される方法。
付記28. 運用プロファイルが、履歴運用メトリクスの中間値、標準偏差、または使用ヒストグラムを含む、付記13に記載のコンピュータによって実装される方法。
付記29. 運用プロファイルが、特定期間の履歴運用メトリクスに少なくとも部分的に基づく、付記13に記載のコンピュータによって実装される方法。
付記30. 共有コンピューティングリソースを管理するためのシステムであって、
1つ以上のプロセッサと、
コンピュータ可読メモリであって、1つ以上のプロセッサによって実行されるとき、
第1のコンピューティングリソースの第1の予想使用量であって、類似の仮想マシンの少なくとも1つのインスタンスを以前に実行させたことから判定された運用メトリクスに少なくとも部分的に基づく、第1の予想使用量と関連付けられる第1の仮想マシンの第1のインスタンスを初期化するためのリクエストを受信し、
第1のコンピューティングリソースを提供するように構成された複数のコンピューティングデバイスのうちの1つのコンピューティングデバイスであって、第2の仮想マシンの第2のインスタンスがそのコンピューティングデバイス上で稼動し、第1のコンピューティングリソースの既定量が第2のインスタンスによって使用されるために予約され、そのコンピューティングリソースが、第1のコンピューティングリソースの、第2のインスタンスと関連付けられる、第1の予想使用量および第2の予想使用量の和よりも大きい既定量に少なくとも部分的に基づいて選択される、コンピューティングリソースを選択し、
少なくとも部分的に、第1のインスタンスをそのコンピューティングデバイス上で初期化させ、第1のインスタンスおよび第2のインスタンスが、第1のコンピューティングリソースの既定量を共有するように、システムを構成する実行可能命令を記憶する、コンピュータ可読メモリと、を備える、システム。
付記31. 第1のコンピューティングリソースが、中央処理装置(CPU)の容量、メモリ空間、ネットワーク帯域幅、ハードディスクの空き容量、または電力利用のうちの1つを含む、付記30に記載のシステム。
付記32. 第1のインスタンスおよび第2のインスタンスが異なる顧客と関連付けられる、付記30に記載のシステム。
付記33. 実行可能命令が、
少なくとも部分的に、第3の仮想マシンの第3のインスタンスをコンピューティングデバイス上で初期化させるようにシステムを更に構成し、
第3のインスタンスが、第1のコンピューティングリソースの第3の予想使用量と関連付けられ、
既定量が、第1の予想使用量、第2の予想使用量、および第3の予想使用量よりも更に大きく、
第1のインスタンス、第2のインスタンス、および第3のインスタンスが、第1のコンピューティングリソースの既定量を共有する、付記30に記載のシステム。
付記34. 実行可能命令が、
第1のインスタンスによる第1のコンピューティングリソースの使用の第1の測定値、および第2のインスタンスによる第1のコンピューティングリソースの使用の第2の測定値を取得し、
第1の測定値または第2の測定値が閾値を超過すると判定することに応答して、第1のインスタンスまたは第2のインスタンスを第2のコンピューティングデバイスへ転送するようにシステムを更に構成する、付記30に記載のシステム。
付記35. 共有コンピューティングリソースを管理するためのコンピュータによって実装される方法であって、
1つ以上のコンピューティングデバイスを備えるデータセンター管理システムによって、ホストコンピューティングデバイス上の第1のソフトウェア作業負荷の運用に関する第1の複数の履歴運用メトリクスに少なくとも部分的に基づく第1の運用制約と関連付けられる第1のソフトウェア作業負荷を初期化するためのリクエストを受信することと、
リクエストに応答して、第1の運用制約および第1のホストコンピューティングデバイスと関連付けられる1つ以上の運用特徴に少なくとも基づいて、複数のホストコンピューティングデバイスのうちの第1のホストコンピューティングデバイスを識別することと、を含み、
第1のホストコンピューティングデバイスが、第2の運用制約と関連付けられる第2のソフトウェア作業負荷を備え、
識別することが、第1のホストコンピューティングデバイスの1つ以上の運用特徴が、第1の運用制約および第2の運用制約の両方を満足させる可能性が高いかどうかを判定することと、
少なくとも部分的に、第1のソフトウェア作業負荷を第1のホストコンピューティングデバイス上に配置させることと、を含む、コンピュータによって実装される方法。
付記36. 第1のソフトウェア作業負荷または第2のソフトウェア作業負荷が、仮想マシンインスタンス、アプリケーションインスタンス、またはオペレーティングシステムを含む、付記35に記載のコンピュータによって実装される方法。
付記37. 第1のソフトウェア作業負荷が、ストレージノードを含み、識別することが、第1のホストコンピューティングデバイス上にストレージノードを配置することが、ストレージノードを使用する仮想マシンと関連付けられる運用制約を満足させるかどうかを判定することを更に含む、付記35に記載のコンピュータによって実装される方法。
付記38. 1つ以上の運用特徴のうちの少なくとも1つは、メモリ容量、中央処理装置(CPU)容量、ネットワーク帯域幅、ネットワークレイテンシ、ネットワークトポロジー内の位置、命令セット、性能メトリクスの分散、または電力容量を含む、付記35に記載のコンピュータによって実装される方法。
付記39. 第1の運用制約または第2の運用制約が、メモリ利用、中央処理装置(CPU)利用、ネットワーク帯域幅利用、ネットワークレイテンシ、ネットワークトポロジー内の位置、命令セット可用性、性能メトリクスの分散、または電力利用に関係する、付記35に記載のコンピュータによって実装される方法。
付記40. 第1の運用制約が、第1のコンピューティングリソースの第1の予想使用量に関係し、第2の運用制約が、第1のコンピューティングリソースの第2の予想使用量に関係し、第1のコンピュータ実行可能プログラムおよび第2のコンピュータ実行可能プログラムが、第1のコンピューティングリソースの第1の予想使用量および第2の予想使用量をそれぞれ同時に消費することが可能である、付記35に記載のコンピュータによって実装される方法。
付記41. 1つ以上の運用特徴のうちの1つの運用特徴が、第1のコンピューティングリソースの利用可能量を含み、
少なくとも部分的に、第1のコンピュータ実行可能プログラムおよび第2のコンピュータ実行可能プログラムが合計で、第1のコンピューティングリソースの利用可能量を超えて消費することを防止することを更に含む、付記40に記載のコンピュータによって実装される方法。
付記42. 少なくとも部分的に、第3のコンピュータ実行可能プログラムを第1のホストコンピューティングデバイス上で初期化させることを更に含み、
第3のコンピュータ実行可能プログラムが第3の運用制約と関連付けられ、
第1のホストコンピューティングデバイスの1つ以上の運用特徴が、第1の運用制約、第2の運用制約、および第3の運用制約のそれぞれを満足させる可能性が高い、付記35に記載のコンピュータによって実装される方法。
付記43.第1のホストコンピューティングデバイス上の第1のコンピュータ実行可能プログラムの運用に関する1つ以上の運用メトリクスを取得することと、
少なくとも部分的に1つ以上の運用メトリクスに基づいて、第1の制約が満足させられる可能性がもはや低いと判定することに応答して、第1のコンピュータ実行可能プログラムまたは第2のコンピュータ実行可能プログラムを第2のホストコンピューティングデバイスへ転送することと、を更に含む、付記35に記載のコンピュータによって実装される方法。
付記44. 第1のホストコンピューティングデバイス上の第2のコンピュータ実行可能プログラムの運用に関する1つ以上の運用メトリクスを取得することと、
少なくとも部分的に1つ以上の運用メトリクスに基づいて、第2の制約が満足させられる可能性がもはや低いと判定することに応答して、第1のコンピュータ実行可能プログラムまたは第2のコンピュータ実行可能プログラムを第2のホストコンピューティングデバイスへ転送することと、を更に含む、付記35に記載のコンピュータによって実装される方法。
付記45. 第1のホストコンピューティングデバイスの1つ以上の運用特徴に関する1つ以上の運用メトリクスを取得することと、
少なくとも部分的に1つ以上の運用メトリクスに基づいて、第1の制約または第2の制約が満足させられる可能性がもはや低いと判定することに応答して、第1のコンピュータ実行可能プログラムまたは第2のコンピュータ実行可能プログラムを第2のホストコンピューティングデバイスへ転送することと、を更に含む、付記35に記載のコンピュータによって実装される方法。
付記46. 共有コンピューティングリソースを管理するためのシステムであって、
1つ以上のプロセッサと、
コンピュータ可読メモリであって、1つ以上のプロセッサによって実行されるとき、
ホストコンピューティングデバイス上の第1のコンピュータ実行可能プログラムの運用に関する第1の複数の履歴運用メトリクスに少なくとも部分的に基づく第1の運用制約と関連付けられる第1のコンピュータ実行可能プログラムを初期化するためのリクエストを受信し、
複数のホストコンピューティングデバイスのうちの第1のホストコンピューティングデバイスであって、1つ以上の運用特徴と関連付けられる第1のホストコンピューティングデバイスを識別するように、システムを構成する実行可能命令を記憶する、コンピュータ可読メモリと、を備え、
第1のホストコンピューティングデバイスが、第2の運用制約と関連付けられる第2のコンピュータ実行可能プログラムを備え、
第1のホストコンピューティングデバイスが、第1の運用制約および第2の運用制約の両方を満足させる1つ以上の運用特徴に少なくとも部分的に基づいて識別される、システム。
付記47. 実行可能命令が、少なくとも部分的に、第1のホストコンピューティングデバイス上で第1のコンピュータ実行可能プログラムを実行させるようにシステムを更に構成する、付記46に記載のシステム。
付記48. 第1のコンピュータ実行可能プログラムまたは第2のコンピュータ実行可能プログラムが、仮想マシンインスタンス、アプリケーションインスタンス、またはオペレーティングシステムのうちの1つを含む、付記46に記載のシステム。
付記49. 1つ以上の運用特徴のうちの少なくとも1つが、メモリ容量、中央処理装置(CPU)容量、ネットワーク帯域幅、ネットワークレイテンシ、ネットワークトポロジー内の位置、命令セット、性能メトリクスの分散、または電力容量を含む、付記46に記載のシステム。
付記50. 第1の運用制約または第2の運用制約が、メモリ利用、中央処理装置(CPU)利用、ネットワーク帯域幅利用、ネットワークレイテンシ、ネットワークトポロジー内の位置、命令セット可用性、性能メトリクスの分散、または電力利用に関係する、付記46に記載のシステム。
付記51. 第1の運用制約が、第1のコンピューティングリソースの第1の予想使用量に関係し、第2の運用制約が、第1のコンピューティングリソースの第2の予想使用量に関係し、第1のコンピュータ実行可能プログラムおよび第2のコンピュータ実行可能プログラムが、第1のコンピューティングリソースの第1の予想使用量および第2の予想使用量をそれぞれ同時に消費することが可能である、付記46に記載のシステム。
付記52. 実行可能命令が、第1のコンピュータ実行可能プログラムおよび第2のコンピュータ実行可能プログラムが合計で、第1のコンピューティングリソースの利用可能量を超えて消費することを少なくとも部分的に防止するようにシステムを更に構成する、付記51に記載のシステム。
付記53. 実行可能命令が、
第1のホストコンピューティングデバイスの1つ以上の運用特徴が、第1の運用制約、第2の運用制約、および第3のコンピュータ実行可能プログラムと関連付けられる第3の運用制約のそれぞれを満足させる可能性が高いかどうかを判定し、
少なくとも部分的に、第3のコンピュータ実行可能プログラムを第1のホストコンピューティングデバイス上で初期化させるようにシステムを更に構成する、付記46に記載のシステム。
付記54. 実行可能命令が、
第1のホストコンピューティングデバイス上の第1のコンピュータ実行可能プログラムの運用に関する1つ以上の運用メトリクスを取得し、
少なくとも部分的に1つ以上の運用メトリクスに基づいて、第1の制約が満足させられる可能性がもはや低いと判定することに応答して、第1のコンピュータ実行可能プログラム、または第2のコンピュータ実行可能プログラムを第2のホストコンピューティングデバイスへ転送するようにシステムを更に構成する、付記46に記載のシステム。
付記55. 実行可能命令が、
第1のホストコンピューティングデバイス上の第2のコンピュータ実行可能プログラムの運用に関する1つ以上の運用メトリクスを取得し、
少なくとも部分的に1つ以上の運用メトリクスに基づいて、第2の制約が満足させられる可能性がもはや低いと判定することに応答して、第1のコンピュータ実行可能プログラムまたは第2のコンピュータ実行可能プログラムを第2のホストコンピューティングデバイスへ転送するようにシステムを更に構成する、付記46に記載のシステム。
付記56. 実行可能命令が、
第1のホストコンピューティングデバイスの1つ以上の運用特徴に関する1つ以上の運用メトリクスを取得し、
少なくとも部分的に1つ以上の運用メトリクスに基づいて、第1の制約または第2の制約が満足させられる可能性がもはや低いと判定することに応答して、第1のコンピュータ実行可能プログラムまたは第2のコンピュータ実行可能プログラムを第2のホストコンピューティングデバイスへ転送するようにシステムを更に構成する、付記46に記載のシステム。
Various embodiments of the present disclosure can be described in terms of the following supplementary notes.
Appendix 1. A system for profiling computing resource usage, comprising:
One or more processors;
A computer readable memory;
A management module comprising executable instructions stored in a computer readable memory when executed by one or more processors;
Expected resource usage of the first computing resource at least partially in a plurality of pre-measurements associated with the usage of the first computing resource by an instance of one or more similar virtual machine instance configurations Receive a request to initialize a new instance of the virtual machine instance configuration associated with the expected usage based on and respond to the request,
Identifying a computing device of the plurality of computing devices based at least on whether the available amount of the first computing resource on the computing device is greater than expected, and at least partially new A management module configured to initialize the instance on the computing device.
Appendix 2. The system of claim 1, wherein use of the first computing resource includes one of central processing unit (CPU) utilization, memory utilization, network utilization, hard disk utilization, or power utilization.
Appendix 3. When the management module is run,
Obtaining a plurality of prior measurements relating to the use of the first computing resource;
The system of claim 1, further configured to determine an operational profile of a virtual machine instance configuration that includes an expected resource usage based at least in part on a plurality of prior measurements.
Appendix 4. The system of claim 3, wherein the operational profile further comprises desired operational characteristics of the computing device.
Appendix 5. The system of claim 4, wherein the desired operational features relate to memory capacity, central processing unit (CPU) capacity, network bandwidth, network latency, location in network topology, instruction set, or performance metrics distribution.
Appendix 6. The system of claim 4, wherein identifying the computing device includes determining that a feature associated with the computing device corresponds to a desired feature.
Appendix 7. A system for profiling computing resource usage, comprising:
One or more processors;
Computer readable memory when executed by one or more processors;
Determine operational constraints for a virtual machine instance based at least in part on operational metrics determined from running at least one instance of a similar virtual machine;
Receives and responds to a request to instantiate a virtual machine,
Of the plurality of host computing devices, one host computing device associated with one or more operational features related to the operation of the virtual machine instance is partially determined by whether one or more features satisfy operational constraints. And a computer readable memory comprising executable instructions that configure the system to cause a new instance of the virtual machine to be instantiated on the host computing device.
Appendix 8. The system of claim 7, wherein at least one of the operational metrics relates to central processing unit (CPU) usage, memory usage, network usage, hard disk usage, or power usage.
Appendix 9. Appendix 7 wherein at least one of the one or more features includes memory capacity, central processing unit (CPU) capacity, network bandwidth, network latency, location in network topology, instruction set, or performance metrics distribution The system described.
Appendix 10. The system of claim 7, wherein the operational constraints relate to expected usage of computing resources provided by the host computing device.
Appendix 11. The system of claim 10, wherein the expected usage is further based at least in part on data received from a customer associated with the virtual machine.
Appendix 12. When the module is executed
Additional operational metrics related to the operation of a new instance on a host computing device, receiving additional operational metrics related to one or more operational characteristics, and based on the additional operational metrics, one or more In response to determining that the operational feature no longer meets operational constraints, the device is further configured to transfer the new instance to a second computing device associated with one or more additional operational features that satisfy the operational constraint. The system according to appendix 7.
Appendix 13. A computer-implemented method for profiling use of computing resources, comprising:
An initial software workload associated with an operational profile, based at least in part on a plurality of historical operational metrics associated with the software workload by a data center management component comprising one or more computing devices Receiving a request for
In response to the request,
Identifying a computing device of the plurality of computing devices based at least in part on the operational profile and one or more operational characteristics associated with the computing device;
Initializing a software workload on a computing device.
Appendix 14. 14. The computer implemented method of claim 13, wherein the software workload includes a virtual machine instance, an operating system, a storage area network (SAN) node, or an application.
Appendix 15. 14. The computer-implemented method of appendix 13, wherein at least one of the plurality of history operation metrics relates to central processing unit (CPU) usage, memory usage, network usage, hard disk usage, or power usage.
Appendix 16. Appendix 13 wherein at least one of the one or more operational features includes memory capacity, central processing unit (CPU) capacity, network bandwidth, network latency, location in network topology, instruction set, or performance metrics distribution A computer-implemented method according to claim 1.
Appendix 17. The operational profile includes a first expected resource usage associated with the first computing resource, the first expected resource usage based at least in part on a plurality of historical operational metrics related to the usage of the first resource. The computer-implemented method of claim 13, wherein one of the one or more features includes the availability of the first computing resource.
Appendix 18. Each of the plurality of historical operational metrics related to the use of the first resource is associated with a time at which the usage measurement is recorded, and the operational profile is further at least partially at the time at which each of the plurality of historical operational metrics is recorded. 18. A computer-implemented method according to claim 17, based on.
Appendix 19. Obtaining at least a portion of a plurality of historical operational metrics from an operational analysis component associated with a software workload or any one of the plurality of computing devices executing the software workload The computer-implemented method of claim 13, further comprising:
Appendix 20. The computer-implemented method of claim 13, further comprising determining an operational profile based at least in part on the plurality of historical operational metrics.
Appendix 21. The computer-implemented method of claim 13, further comprising determining an operational profile based at least in part on a service level agreement with a customer associated with the software workload.
Appendix 22. 14. The computer-implemented method of clause 13, wherein the operational profile includes desired operational characteristics of the computing device.
Appendix 23. Identifying the computing device is further based at least in part on determining that one operational feature of one or more operational features associated with the computing device corresponds to a desired operational feature. A computer-implemented method according to appendix 22.
Appendix 24. Receiving substantially up-to-date operational metrics relating to a software workload on a computing device, wherein the substantially up-to-date operational metrics related to one or more operational characteristics;
Responsive to determining that none of the one or more operational features associated with the computing device corresponds to the desired operational feature based on substantially current operational metrics, the software workload is Transferring to a second computing device associated with the operational feature corresponding to the desired operational feature,
27. A computer-implemented method according to appendix 22.
Appendix 25. 14. The computer-implemented method according to appendix 13, wherein the operation profile includes a first default operation profile among a plurality of default operation profiles.
Appendix 26. The computer as described in appendix 25, wherein the default operational profile is associated with a level in the operational hierarchy and the first default operational profile is associated with a higher level of the operational hierarchy with respect to the software workload. How to be.
Addendum 27. 14. The computer-implemented method of appendix 13, wherein the operational profile includes a customer specific operational profile and the plurality of historical operational metrics are associated with the initialization or use of the software workload by the customer.
Appendix 28. 14. The computer-implemented method of appendix 13, wherein the operational profile includes an intermediate value, standard deviation, or usage histogram of historical operational metrics.
Appendix 29 The computer-implemented method of appendix 13, wherein the operational profile is based at least in part on historical operational metrics for a specific period.
Appendix 30 A system for managing shared computing resources,
One or more processors;
Computer readable memory when executed by one or more processors;
A first expected usage of a first computing resource, based at least in part on operational metrics determined from previously running at least one instance of a similar virtual machine Receiving a request to initialize a first instance of a first virtual machine associated with usage;
A computing device of a plurality of computing devices configured to provide a first computing resource, wherein a second instance of a second virtual machine is running on the computing device. A first expectation that a predetermined amount of a first computing resource is reserved for use by a second instance, and that the computing resource is associated with a second instance of the first computing resource Selecting a computing resource that is selected based at least in part on a predetermined amount that is greater than the sum of the usage and the second expected usage;
At least in part, the first instance is initialized on the computing device and the system is configured such that the first instance and the second instance share a predetermined amount of the first computing resource. A computer readable memory storing executable instructions.
Addendum 31. 32. The system of clause 30, wherein the first computing resource includes one of a central processing unit (CPU) capacity, memory space, network bandwidth, hard disk space, or power usage.
Appendix 32. 31. The system of clause 30, wherein the first instance and the second instance are associated with different customers.
Addendum 33. Executable instructions are
Further configuring the system to initialize a third instance of the third virtual machine on the computing device, at least in part;
A third instance is associated with a third expected usage of the first computing resource;
The predetermined amount is greater than the first expected usage, the second expected usage, and the third expected usage;
The system of clause 30, wherein the first instance, the second instance, and the third instance share a predetermined amount of the first computing resource.
Appendix 34. Executable instructions are
Obtaining a first measure of use of the first computing resource by the first instance and a second measure of use of the first computing resource by the second instance;
In response to determining that the first measurement or the second measurement exceeds the threshold, the system is further configured to transfer the first instance or the second instance to the second computing device. The system according to Supplementary Note 30.
Appendix 35. A computer-implemented method for managing shared computing resources comprising:
A first operational constraint based at least in part on a first plurality of historical operational metrics related to operation of a first software workload on a host computing device by a data center management system comprising one or more computing devices; Receiving a request to initialize an associated first software workload;
In response to the request, a first host computing device of the plurality of host computing devices is based on at least a first operational constraint and one or more operational features associated with the first host computing device. Identifying, and
A first host computing device comprising a second software workload associated with a second operational constraint;
Determining whether one or more operational features of the first host computing device are likely to satisfy both the first operational constraint and the second operational constraint;
Placing at least in part a first software workload on a first host computing device.
Appendix 36. 36. The computer implemented method of claim 35, wherein the first software workload or the second software workload comprises a virtual machine instance, an application instance, or an operating system.
Addendum 37. The first software workload includes and identifies the storage node, and placing the storage node on the first host computing device satisfies operational constraints associated with a virtual machine that uses the storage node. 36. The computer implemented method of claim 35, further comprising determining whether or not.
Addendum 38. At least one of the one or more operational features includes memory capacity, central processing unit (CPU) capacity, network bandwidth, network latency, location in the network topology, instruction set, distribution of performance metrics, or power capacity. 36. The computer implemented method of claim 35, comprising:
Addendum 39. The first operational constraint or the second operational constraint is memory usage, central processing unit (CPU) usage, network bandwidth usage, network latency, location in network topology, instruction set availability, performance metrics distribution, or power usage. 36. A computer-implemented method according to claim 35 relating to
APPENDIX 40 The first operational constraint is related to a first expected usage of the first computing resource, the second operational constraint is related to a second expected usage of the first computing resource, and the first 36. The computer-executable program and the second computer-executable program of claim 35 can simultaneously consume the first and second expected usage of the first computing resource, respectively. Implemented by computers.
Appendix 41. An operational feature of the one or more operational features includes an available amount of the first computing resource;
APPENDIX 40 further comprising, at least in part, preventing the first computer executable program and the second computer executable program in total from consuming more than the available amount of the first computing resource. A computer-implemented method according to claim 1.
Appendix 42. Further comprising at least partially initializing a third computer executable program on the first host computing device;
A third computer executable program is associated with the third operational constraint;
The computer of appendix 35, wherein one or more operational features of the first host computing device are likely to satisfy each of the first operational constraint, the second operational constraint, and the third operational constraint. The method implemented by.
Appendix 43. Obtaining one or more operational metrics relating to the operation of the first computer executable program on the first host computing device;
In response to determining that the first constraint is no longer likely to be satisfied based at least in part on one or more operational metrics, the first computer executable program or the second computer executable 36. The computer implemented method of claim 35, further comprising transferring the program to a second host computing device.
Appendix 44. Obtaining one or more operational metrics relating to the operation of the second computer executable program on the first host computing device;
In response to determining that the second constraint is no longer likely to be satisfied based at least in part on one or more operational metrics, the first computer executable program or the second computer executable 36. The computer implemented method of claim 35, further comprising transferring the program to a second host computing device.
Appendix 45. Obtaining one or more operational metrics relating to one or more operational features of the first host computing device;
In response to determining that the first constraint or the second constraint is no longer likely to be satisfied based at least in part on the one or more operational metrics, the first computer executable program or the first 36. The computer implemented method of claim 35, further comprising: transferring the two computer executable programs to the second host computing device.
Appendix 46. A system for managing shared computing resources,
One or more processors;
Computer readable memory when executed by one or more processors;
To initialize a first computer executable program associated with a first operational constraint based at least in part on a first plurality of historical operational metrics related to operation of a first computer executable program on a host computing device. Received a request for
Executable instructions for configuring the system to identify a first host computing device of a plurality of host computing devices that is associated with one or more operational features. A computer-readable memory for storing,
A first host computing device comprising a second computer executable program associated with a second operational constraint;
A system, wherein a first host computing device is identified based at least in part on one or more operational features that satisfy both a first operational constraint and a second operational constraint.
Appendix 47. 47. The system of clause 46, wherein the executable instructions further configure the system to cause the first computer executable program to run on the first host computing device at least in part.
Appendix 48. 49. The system of clause 46, wherein the first computer executable program or the second computer executable program includes one of a virtual machine instance, an application instance, or an operating system.
Appendix 49. At least one of the one or more operational features includes memory capacity, central processing unit (CPU) capacity, network bandwidth, network latency, location within the network topology, instruction set, distribution of performance metrics, or power capacity 47. The system according to appendix 46.
Appendix 50. The first operational constraint or the second operational constraint is memory usage, central processing unit (CPU) usage, network bandwidth usage, network latency, location in network topology, instruction set availability, performance metrics distribution, or power usage. 47. The system according to appendix 46, related to
Appendix 51. The first operational constraint is related to a first expected usage of the first computing resource, the second operational constraint is related to a second expected usage of the first computing resource, and the first 47. The computer-executable program and the second computer-executable program of claim 46 can simultaneously consume the first and second expected usage of the first computing resource, respectively. System.
Appendix 52. A system such that the executable instructions at least partially prevent the first computer executable program and the second computer executable program from consuming in excess of the available amount of the first computing resource. 52. The system according to appendix 51, further comprising:
Appendix 53. Executable instructions are
One or more operational features of the first host computing device may satisfy each of the first operational constraint, the second operational constraint, and a third operational constraint associated with the third computer executable program. To determine whether the
47. The system of clause 46, further configuring the system to at least partially initialize a third computer executable program on the first host computing device.
Appendix 54. Executable instructions are
Obtaining one or more operational metrics related to the operation of the first computer executable program on the first host computing device;
In response to determining that the first constraint is no longer likely to be satisfied based at least in part on one or more operational metrics, the first computer executable program, or the second computer execution 47. The system of clause 46, further configuring the system to transfer the executable program to the second host computing device.
Appendix 55. Executable instructions are
Obtaining one or more operational metrics related to the operation of the second computer executable program on the first host computing device;
In response to determining that the second constraint is no longer likely to be satisfied based at least in part on one or more operational metrics, the first computer executable program or the second computer executable 47. The system of clause 46, further configuring the system to transfer the program to a second host computing device.
Appendix 56. Executable instructions are
Obtaining one or more operational metrics relating to one or more operational features of the first host computing device;
In response to determining that the first constraint or the second constraint is no longer likely to be satisfied based at least in part on the one or more operational metrics, the first computer executable program or the first 49. The system of clause 46, further configuring the system to transfer the two computer executable programs to the second host computing device.

実施形態に依存して、本明細書に記載されるプロセスまたはアルゴリズムのうちのいずれかの所定の動作、イベント、または機能は異なる順序で実施することができ、追加、統合、またはまとめて省略することができる(例えば、記載の演算またはイベントすべてがアルゴリズムの実践に必要ではない)。その上、所定の実施形態において、演算またはイベントは、例えば、マルチスレッド処理、中断処理、あるいはマルチプロセッサまたはプロセッサコアあるいは順次にではなく他の並列アーキテクチャを通じて同時に実施することができる。   Depending on the embodiment, certain operations, events, or functions of any of the processes or algorithms described herein can be performed in a different order and are added, integrated, or omitted collectively. (E.g. not all described operations or events are necessary for the practice of the algorithm). Moreover, in certain embodiments, operations or events can be performed simultaneously through, for example, multi-threaded processing, interrupt processing, or multi-processors or processor cores or other parallel architectures rather than sequentially.

本明細書に開示される実施形態に関して記載される多様な例示の論理ブロック、モジュール、ルーチン、アルゴリズムのステップは、電子ハードウェア、コンピュータソフトウェア、またはこれらの組み合わせとして実装することができる。ハードウェアとソフトウェアの相互互換性を明確に示すため、多様な例示的構成要素、ブロック、モジュール、およびステップは、上記において一般にそれらの機能性の観点から説明される。このような機能性がハードウェアまたはソフトウェアとして実装されるかどうかは、システム全体に課される特定の用途および設計制約に依存する。記載の機能性は、それぞれ特定の用途のために可変方式で実装できるが、このような実装判断は、本開示の範囲からの逸脱を生じさせると解釈されてはならない。   The various exemplary logic blocks, modules, routines, algorithm steps described with respect to the embodiments disclosed herein may be implemented as electronic hardware, computer software, or a combination thereof. To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, modules, and steps are generally described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Although the described functionality can be implemented in a variable manner for each particular application, such implementation decisions should not be construed as causing a departure from the scope of the present disclosure.

本明細書に開示される実施形態に関連して説明される方法、プロセス、ルーチン、またはアルゴリズムのステップは、ハードウェア内、プロセッサによって実行されるソフトウェアモジュール内、またはこれらの2つの組み合わせにおいて直接具現化することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱式ディスク、CD−ROM、または任意の他の形式の非一時的コンピュータ可読記憶媒体に所在することができる。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み出し、記憶媒体へ情報を書き込むことができるように、プロセッサに結合することができる。代替として、記憶媒体は、プロセッサに一体化することができる。プロセッサおよび記憶媒体は、ASIC内に所在することができる。ASICは、ユーザー端末に所在することができる。代替として、プロセッサおよび記憶媒体は、ユーザー端末の個別構成要素に所在することができる。   The method, process, routine, or algorithm steps described in connection with the embodiments disclosed herein may be implemented directly in hardware, in a software module executed by a processor, or in a combination of the two. Can be A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other form of non-transitory computer-readable storage medium. it can. An exemplary storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium can be located in an ASIC. The ASIC can be located at the user terminal. In the alternative, the processor and the storage medium may reside in discrete components in the user terminal.

特に「〜することができる」、「〜することが可能である」、「〜するかもしれない」、「〜してもよい」、「例えば」等のように本明細書に使用される条件付き語は、その他特に記載のない限り、またはその他使用される文脈で理解されない限り、所定の実施形態が、他の実施形態は含まないが、所定の特性、要素、および/またはステップを含むことを伝達することを一般に意図する。このため、このような条件付き語は、特性、要素、および/またはステップが1つ以上の実施形態に何としても必要であること、または1つ以上の実施形態が必ず、これらの特性、要素および/またはステップが任意の特定の実施形態に含まれる、または実施されるかを、作成者の入力または問い合わせを用いてまたは用いずに、判定するためのロジックを含むということを暗示することを一般に意図しない。「備える」、「含む」、「有する」等の用語は、同義語であり、制約がない様式において包括的に使用され、追加の要素、特性、動作、操作等を排除しない。さらに、「または」という用語は、その包括的意味において(その排除的意味ではなく)使用されるので、例えば、要素のリストを接続するために使用され、「または」という用語は、リストの中の要素のうちの1つ、いくつか、または全てを意味する。   In particular, the conditions used herein, such as “can be”, “can be”, “may be”, “may”, “for example”, etc. Unless otherwise stated, or otherwise understood in the context in which it is used, certain embodiments include certain features, elements, and / or steps, but not other embodiments. Is generally intended to communicate. As such, such conditional terms require that any property, element, and / or step is required for one or more embodiments, or that one or more embodiments necessarily require these properties, elements, or elements. And / or imply that the step includes logic to determine whether or not the step is included or performed in any particular embodiment, with or without the author's input or query. Generally not intended. The terms “comprising”, “including”, “having” and the like are synonymous and are used generically in an unconstrained manner and do not exclude additional elements, properties, actions, operations, etc. Furthermore, the term “or” is used in its generic sense (not its exclusive meaning), for example, to connect lists of elements, and the term “or” Means one, some or all of the elements.

語句「X、Y、およびZのうちの少なくとも1つ」のような接続語は、その他特に記載のない限り、項目、条件等がX、Y、またはZ、あるいはこれらの組み合わせのいずれかであってもよいことを伝達するために一般に使用される文脈で理解されるものとする。このため、このような接続語は、所定の実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在することを要求することを暗示することを概して意図しない。   Unless otherwise specified, concatenated words such as the phrase “at least one of X, Y, and Z” have items, conditions, etc. that are either X, Y, Z, or a combination thereof. It shall be understood in the context that is commonly used to convey that it may be. Thus, such conjunctions imply that certain embodiments require that at least one of X, at least one of Y, and at least one of Z each exist. Not generally intended to do.

上記の詳細説明で、多様な実施形態に適用される革新的特性を示し、記載し、指摘したが、図示されたデバイスまたはアルゴリズムの形式および詳細における多様な省略、置換、および変更は本開示の精神を逸脱することなく行うことができることを理解することができる。理解できるように、本明細書に記載される本発明の所定の実施形態は、いくつかの特性は他から分離して使用または実践できるため、本明細書に記載の特性および利点の全てを提供しない形式内で具現化できる。本明細書に開示される所定の発明の範囲は、前述の説明ではなく、添付の請求項によって示される。請求項の均等の意義および範囲内に入る全ての変更はそれらの範囲内に抱合される。   While the foregoing detailed description has shown, described, and pointed out innovative features applicable to various embodiments, various omissions, substitutions, and changes in the form and details of the illustrated device or algorithm are contemplated by this disclosure. Can understand what can be done without departing from the spirit. As can be appreciated, certain embodiments of the invention described herein provide all of the characteristics and advantages described herein, as some characteristics can be used or practiced separately from others. Can be embodied in a form that does not. The scope of certain inventions disclosed herein is indicated by the appended claims rather than the foregoing description. All changes that fall within the equivalent meaning and scope of the claims are embraced within their scope.

Claims (13)

コンピューティングリソース使用をプロファイルするためのシステムであって、前記システムは
1つ以上のプロセッサと、
実行可能命令を含むコンピュータ可読メモリと、
を具え、
前記実行可能命令は、前記1つ以上のプロセッサによって実行されるとき、
第2の仮想マシンの少なくとも1つのインスタンスを稼動することから判定される運用メトリクスに少なくとも部分的に基づいて、第1の仮想マシンのインスタンスの運用に関係する1つ以上の特徴が運用制約を満たすか否かを判定し、
前記第1の仮想マシンをインスタンス化するためのリクエストを受信し、
前記リクエストに応答して、
複数のホストコンピューティングデバイスのうち、前記1つ以上の特徴に関連付けられる1つのホストコンピューティングデバイスを、前記1つ以上の特徴が前記運用制約を満たすか否かの判定に部分的に基づいて、識別し、
少なくとも部分的に、前記第1の仮想マシンの新しいインスタンスを、前記ホストコンピューティングデバイス上にインスタンス化させる、
ように前記システムを構成する、
システム。
A system for profiling computing resource usage, the system comprising one or more processors;
A computer readable memory containing executable instructions;
With
When the executable instructions are executed by the one or more processors,
One or more features related to the operation of the first virtual machine instance satisfy the operational constraints based at least in part on operational metrics determined from running at least one instance of the second virtual machine. Whether or not
Receiving a request to instantiate the first virtual machine;
In response to the request,
Among a plurality of host computing device, one host computing device associated with the one or more feature, based in part on the determination the one or more features of whether they meet the operational constraints Identify,
At least partially, instantiating a new instance of the first virtual machine on the host computing device;
Configure the system as
system.
前記運用メトリクスのうちの少なくとも1つが、中央処理装置(CPU)利用、メモリ利用、ネットワーク利用、ハードディスク利用、または、電力利用に関係する、
請求項1に記載のシステム。
At least one of the operational metrics relates to central processing unit (CPU) usage, memory usage, network usage, hard disk usage, or power usage;
The system of claim 1.
前記1つ以上の特徴のうちの少なくとも1つが、メモリ容量、中央処理装置(CPU)容量、ネットワーク帯域幅、ネットワークレイテンシ、ネットワークトポロジー内の位置、命令セット、または、性能メトリクスの分散を含む、
請求項1に記載のシステム。
At least one of the one or more features includes memory capacity, central processing unit (CPU) capacity, network bandwidth, network latency, location in network topology, instruction set, or distribution of performance metrics.
The system of claim 1.
前記運用制約が、前記ホストコンピューティングデバイスによって提供されるコンピューティングリソースの予想使用量に関係する、
請求項1に記載のシステム。
The operational constraints relate to expected usage of computing resources provided by the host computing device;
The system of claim 1.
前記予想使用量が、前記第1の仮想マシンに関連付けられる顧客から受信されるデータに少なくとも部分的に更に基づく、
請求項4に記載のシステム。
The expected usage is further based at least in part on data received from a customer associated with the first virtual machine;
The system according to claim 4.
記ホストコンピューティングデバイス上の前記新しいインスタンスの運用に関する追加の運用メトリクスであって、前記1つ以上の特徴に関係する、追加の運用メトリクスを受信し、
前記追加の運用メトリクスに基づいて、前記1つ以上の特徴がもはや前記運用制約を満たさないという判定に応答して、前記新しいインスタンスを、前記運用制約を満たす1つ以上の追加の特徴に関連付けられる第2のコンピューティングデバイスへ転送する、
ように更に構成される、
請求項1に記載のシステム。
A additional operational metrics related to the operation of the new instance on pre Symbol host computing device, associated with the one or more feature, receives additional operational metrics,
Based on the additional operational metrics, wherein in response to a determination that one or more feature no longer satisfy the operational constraints, the new instance, the one or more additional feature that satisfies the operational constraints Transfer to the associated second computing device;
Further configured as
The system of claim 1.
コンピューティングリソース使用をプロファイルするためのコンピュータによって実装される方法であって、
前記方法は、1つ以上のコンピューティングデバイスを備えるデータセンター管理構成要素によって、リソース使用のプロファイルおよび運用メトリクスのプロファイルである運用プロファイルに関連付けられるソフトウェア作業負荷の初期化に対するリクエストを受信するステップを含み、前記運用プロファイルは、前記ソフトウェア作業負荷に関連付けられる複数の履歴運用メトリクスに少なくとも部分的に基づき、
前記方法は、前記リクエストに応答して、
複数のコンピューティングデバイスのうちの1つのコンピューティングデバイスを、前記運用プロファイルおよび前記コンピューティングデバイスに関連付けられる1つ以上の特徴に少なくとも部分的に基づいて識別するステップと、
前記ソフトウェア作業負荷を前記コンピューティングデバイス上で初期化させるステップと、
を含む、
コンピュータによって実装される方法。
A computer-implemented method for profiling computing resource usage, comprising:
The method includes receiving, by a data center management component comprising one or more computing devices, a request for initialization of a software workload associated with an operational profile that is a profile of resource usage and a profile of operational metrics. The operational profile is based at least in part on a plurality of historical operational metrics associated with the software workload,
In response to the request, the method
One of the computing device of the plurality of computing devices, identifying based at least in part on one or more feature associated with the production profile and the computing device,
Initializing the software workload on the computing device;
including,
A computer implemented method.
前記運用プロファイルが、第1のコンピューティングリソースに関連付けられる第1の予想リソース使用量を含み、前記第1の予想リソース使用量が、前記第1のコンピューティングリソースの使用に関する複数の履歴運用メトリクスに少なくとも部分的に基づき、前記1つ以上の特徴のうちの1つの特徴が、前記第1のコンピューティングリソースの可用性を含む、
請求項7に記載のコンピュータによって実装される方法。
The operational profile includes a first expected resource usage associated with a first computing resource, and the first expected resource usage is a plurality of historical operational metrics related to the use of the first computing resource. Based at least in part, one of the one or more features includes an availability of the first computing resource;
The computer-implemented method of claim 7.
前記第1のコンピューティングリソースの使用に関する前記複数の履歴運用メトリクスの各々が、使用測定値が記録された時刻に関連付けられ、前記運用プロファイルが、前記複数の履歴運用メトリクスの各々が記録された前記時刻に少なくとも部分的に更に基づく、
請求項8に記載のコンピュータによって実装される方法。
Each of the plurality of history operation metrics related to the use of the first computing resource is associated with a time when a usage measurement value is recorded, and the operation profile is recorded with each of the plurality of history operation metrics. Further based at least in part on the time,
9. A computer-implemented method according to claim 8.
前記ソフトウェア作業負荷に関連付けられる顧客とのサービスレベル合意書に少なくとも部分的に基づいて、前記運用プロファイルを判定するステップと、
記コンピューティングデバイス上の前記ソフトウェア作業負荷の運用に関する実質的に最新の運用メトリクスであって、前記1つ以上の特徴に関係する、実質的に最新の運用メトリクスを受信するステップと、
前記実質的に最新の運用メトリクスに基づいて、前記コンピューティングデバイスに関連付けられる前記1つ以上の特徴のうちのいずれもが所望される特徴に対応しないと判定することに応答して、前記ソフトウェア作業負荷を、前記所望される特徴に対応する特徴に関連付けられる第2のコンピューティングデバイスへ転送するステップと、
を更に含む、
請求項7に記載のコンピュータによって実装される方法。
Determining the operational profile based at least in part on a service level agreement with a customer associated with the software workload ;
A substantially latest operational metrics related to the operation of the software workload on previous SL computing device, associated with the one or more feature, receiving a substantially newest operational metrics,
Based on the latest operational metrics to said substantially, in response to determining that do not correspond to the feature that none of Ru is Nozomu Tokoro of the one or more feature associated with the computing device, and transferring the software workload, the the desired and Ru second computing device associated with a feature that corresponds to the feature,
Further including
The computer-implemented method of claim 7 .
前記運用プロファイルが、複数の既定の運用プロファイルのうちの第1の既定の運用プロファイルを含む、
請求項7に記載のコンピュータによって実装される方法。
The operational profile includes a first default operational profile of a plurality of default operational profiles;
The computer-implemented method of claim 7.
前記既定の運用プロファイルが、運用階層内のレベルに関連付けられ、前記第1の既定の運用プロファイルが、前記ソフトウェア作業負荷に対して、前記運用階層のより上位のレベルに関連付けられる、
請求項11に記載のコンピュータによって実装される方法。
The default operational profile is associated with a level in the operational hierarchy, and the first default operational profile is associated with a higher level of the operational hierarchy with respect to the software workload;
The computer-implemented method of claim 11 .
前記運用プロファイルが、顧客指定の運用プロファイルを含み、前記複数の履歴運用メトリクスが、前記顧客による前記ソフトウェア作業負荷の初期化または使用に関連付けられる、
請求項7に記載のコンピュータによって実装される方法。
The operational profile includes a customer- specified operational profile, and the plurality of historical operational metrics are associated with initialization or use of the software workload by the customer;
The computer-implemented method of claim 7.
JP2015533132A 2012-09-20 2013-09-17 Automatic profiling of resource usage Active JP6049887B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/623,847 US9135048B2 (en) 2012-09-20 2012-09-20 Automated profiling of resource usage
US13/623,847 2012-09-20
US13/623,845 2012-09-20
US13/623,845 US9323577B2 (en) 2012-09-20 2012-09-20 Automated profiling of resource usage
PCT/US2013/060200 WO2014047073A1 (en) 2012-09-20 2013-09-17 Automated profiling of resource usage

Publications (2)

Publication Number Publication Date
JP2015532992A JP2015532992A (en) 2015-11-16
JP6049887B2 true JP6049887B2 (en) 2016-12-21

Family

ID=49261806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015533132A Active JP6049887B2 (en) 2012-09-20 2013-09-17 Automatic profiling of resource usage

Country Status (10)

Country Link
EP (1) EP2898410B1 (en)
JP (1) JP6049887B2 (en)
CN (1) CN104854563B (en)
AU (1) AU2013318249B2 (en)
BR (1) BR112015005588B1 (en)
CA (1) CA2884796C (en)
IN (1) IN2015DN02823A (en)
RU (1) RU2605473C2 (en)
SG (2) SG10201705920SA (en)
WO (1) WO2014047073A1 (en)

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9722945B2 (en) 2014-03-31 2017-08-01 Microsoft Technology Licensing, Llc Dynamically identifying target capacity when scaling cloud resources
US9842039B2 (en) 2014-03-31 2017-12-12 Microsoft Technology Licensing, Llc Predictive load scaling for services
GB201409056D0 (en) * 2014-05-21 2014-07-02 Univ Leeds Datacentre
US10445134B2 (en) 2014-06-03 2019-10-15 Amazon Technologies, Inc. Identifying candidate workloads for migration
CN107077385B (en) * 2014-09-10 2019-10-25 亚马逊技术公司 For reducing system, method and the storage medium of calculated examples starting time
US10402746B2 (en) 2014-09-10 2019-09-03 Amazon Technologies, Inc. Computing instance launch time
US10693946B2 (en) 2014-09-16 2020-06-23 Amazon Technologies, Inc. Instance backed mobile devices
US9256467B1 (en) 2014-11-11 2016-02-09 Amazon Technologies, Inc. System for managing and scheduling containers
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US9971621B1 (en) * 2015-02-02 2018-05-15 Amazon Technologies, Inc. Hotpooling virtual machines
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9916233B1 (en) 2015-03-27 2018-03-13 Amazon Technologies, Inc. Using containers for update deployment
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10298259B1 (en) 2015-06-16 2019-05-21 Amazon Technologies, Inc. Multi-layered data redundancy coding techniques
US10977128B1 (en) 2015-06-16 2021-04-13 Amazon Technologies, Inc. Adaptive data loss mitigation for redundancy coding systems
US9998150B1 (en) 2015-06-16 2018-06-12 Amazon Technologies, Inc. Layered data redundancy coding techniques for layer-local data recovery
US10270476B1 (en) 2015-06-16 2019-04-23 Amazon Technologies, Inc. Failure mode-sensitive layered redundancy coding techniques
US10270475B1 (en) 2015-06-16 2019-04-23 Amazon Technologies, Inc. Layered redundancy coding for encoded parity data
US11061969B1 (en) 2015-06-29 2021-07-13 Amazon Technologies, Inc. Instance backed mobile devices with multiple instances
US10609122B1 (en) 2015-06-29 2020-03-31 Amazon Technologies, Inc. Instance backed building or place
US10108819B1 (en) 2015-07-01 2018-10-23 Amazon Technologies, Inc. Cross-datacenter extension of grid encoded data storage systems
US10394762B1 (en) 2015-07-01 2019-08-27 Amazon Technologies, Inc. Determining data redundancy in grid encoded data storage systems
US9959167B1 (en) 2015-07-01 2018-05-01 Amazon Technologies, Inc. Rebundling grid encoded data storage systems
US9998539B1 (en) 2015-07-01 2018-06-12 Amazon Technologies, Inc. Non-parity in grid encoded data storage systems
US10162704B1 (en) 2015-07-01 2018-12-25 Amazon Technologies, Inc. Grid encoded data storage systems for efficient data repair
US10089176B1 (en) 2015-07-01 2018-10-02 Amazon Technologies, Inc. Incremental updates of grid encoded data storage systems
US10198311B1 (en) 2015-07-01 2019-02-05 Amazon Technologies, Inc. Cross-datacenter validation of grid encoded data storage systems
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US10911404B1 (en) 2015-08-24 2021-02-02 Amazon Technologies, Inc. Attribute based authorization
US9690622B1 (en) 2015-08-24 2017-06-27 Amazon Technologies, Inc. Stateless instance backed mobile devices
US9928141B1 (en) 2015-09-21 2018-03-27 Amazon Technologies, Inc. Exploiting variable media size in grid encoded data storage systems
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9940474B1 (en) 2015-09-29 2018-04-10 Amazon Technologies, Inc. Techniques and systems for data segregation in data storage systems
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10782990B1 (en) 2015-11-24 2020-09-22 Amazon Technologies, Inc. Container telemetry
US10394789B1 (en) 2015-12-07 2019-08-27 Amazon Technologies, Inc. Techniques and systems for scalable request handling in data processing systems
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10642813B1 (en) 2015-12-14 2020-05-05 Amazon Technologies, Inc. Techniques and systems for storage and processing of operational data
US10248793B1 (en) 2015-12-16 2019-04-02 Amazon Technologies, Inc. Techniques and systems for durable encryption and deletion in data storage systems
US10235402B1 (en) 2015-12-17 2019-03-19 Amazon Technologies, Inc. Techniques for combining grid-encoded data storage systems
US10102065B1 (en) 2015-12-17 2018-10-16 Amazon Technologies, Inc. Localized failure mode decorrelation in redundancy encoded data storage systems
US10127105B1 (en) 2015-12-17 2018-11-13 Amazon Technologies, Inc. Techniques for extending grids in data storage systems
US10324790B1 (en) 2015-12-17 2019-06-18 Amazon Technologies, Inc. Flexible data storage device mapping for data storage systems
US10180912B1 (en) 2015-12-17 2019-01-15 Amazon Technologies, Inc. Techniques and systems for data segregation in redundancy coded data storage systems
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10261782B2 (en) 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
US10002247B2 (en) 2015-12-18 2018-06-19 Amazon Technologies, Inc. Software container registry container image deployment
US10032032B2 (en) 2015-12-18 2018-07-24 Amazon Technologies, Inc. Software container registry inspection
US10007586B2 (en) * 2016-01-08 2018-06-26 Microsoft Technology Licensing, Llc Deferred server recovery in computing systems
US10592336B1 (en) 2016-03-24 2020-03-17 Amazon Technologies, Inc. Layered indexing for asynchronous retrieval of redundancy coded data
US10678664B1 (en) 2016-03-28 2020-06-09 Amazon Technologies, Inc. Hybridized storage operation for redundancy coded data storage systems
US10366062B1 (en) 2016-03-28 2019-07-30 Amazon Technologies, Inc. Cycled clustering for redundancy coded data storage systems
US10061668B1 (en) 2016-03-28 2018-08-28 Amazon Technologies, Inc. Local storage clustering for redundancy coded data storage system
US9977697B2 (en) * 2016-04-15 2018-05-22 Google Llc Task management system for a modular electronic device
US9990235B2 (en) * 2016-04-15 2018-06-05 Google Llc Determining tasks to be performed by a modular entity
US10135837B2 (en) 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US11137980B1 (en) 2016-09-27 2021-10-05 Amazon Technologies, Inc. Monotonic time-based data storage
US10437790B1 (en) 2016-09-28 2019-10-08 Amazon Technologies, Inc. Contextual optimization for data storage systems
US10810157B1 (en) 2016-09-28 2020-10-20 Amazon Technologies, Inc. Command aggregation for data storage operations
US11281624B1 (en) 2016-09-28 2022-03-22 Amazon Technologies, Inc. Client-based batching of data payload
US11204895B1 (en) 2016-09-28 2021-12-21 Amazon Technologies, Inc. Data payload clustering for data storage systems
US10657097B1 (en) 2016-09-28 2020-05-19 Amazon Technologies, Inc. Data payload aggregation for data storage systems
US10496327B1 (en) 2016-09-28 2019-12-03 Amazon Technologies, Inc. Command parallelization for data storage systems
US10614239B2 (en) 2016-09-30 2020-04-07 Amazon Technologies, Inc. Immutable cryptographically secured ledger-backed databases
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10412022B1 (en) 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US10296764B1 (en) 2016-11-18 2019-05-21 Amazon Technologies, Inc. Verifiable cryptographically secured ledgers for human resource systems
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US11269888B1 (en) 2016-11-28 2022-03-08 Amazon Technologies, Inc. Archival data storage for structured data
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10296367B2 (en) * 2017-02-03 2019-05-21 Microsoft Technology Licensing, Llc Resource management for virtual machines in cloud computing systems
US10423455B2 (en) * 2017-02-03 2019-09-24 Microsoft Technology Licensing, Llc Method for deploying virtual machines in cloud computing systems based on predicted lifetime
US10942760B2 (en) 2017-02-03 2021-03-09 Microsoft Technology Licensing, Llc Predictive rightsizing for virtual machines in cloud computing systems
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11140455B1 (en) 2017-06-09 2021-10-05 Amazon Technologies, Inc. Video encoder network sandboxing
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
WO2019030889A1 (en) * 2017-08-10 2019-02-14 株式会社日立製作所 Computer implementation control system and method
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
JP6681377B2 (en) 2017-10-30 2020-04-15 株式会社日立製作所 System and method for optimizing resource allocation
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
EP3777036A1 (en) 2018-03-25 2021-02-17 British Telecommunications public limited company Dynamic network adaptation
EP3609131A1 (en) * 2018-08-07 2020-02-12 Siemens Aktiengesellschaft Operational constraints for operational functions of field devices
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances
US11422842B2 (en) * 2019-10-14 2022-08-23 Microsoft Technology Licensing, Llc Virtual machine operation management in computing devices
RU2752241C2 (en) * 2019-12-25 2021-07-23 Общество С Ограниченной Ответственностью «Яндекс» Method and system for identifying malicious activity of predetermined type in local network
US11256493B1 (en) 2020-11-03 2022-02-22 Bank Of America Corporation Container image optimizer
KR20220064806A (en) * 2020-11-12 2022-05-19 삼성전자주식회사 Method and apparatus for assigning gpu of software package
US20220414577A1 (en) * 2021-06-28 2022-12-29 Dell Products L.P. System and method for performance-centric workload placement in a hybrid cloud environment
US11736348B2 (en) 2021-06-28 2023-08-22 Dell Products L.P. System and method for network services based functionality provisioning in a VDI environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
WO2007136021A1 (en) * 2006-05-24 2007-11-29 Nec Corporation Virtual machine management device, method for managing virtual machine and program
US8099487B1 (en) * 2006-07-06 2012-01-17 Netapp, Inc. Systems and methods for determining placement of virtual machines
US20090265707A1 (en) * 2008-04-21 2009-10-22 Microsoft Corporation Optimizing application performance on virtual machines automatically with end-user preferences
US8365183B2 (en) * 2008-09-02 2013-01-29 Ca, Inc. System and method for dynamic resource provisioning for job placement
US8131519B2 (en) * 2008-09-30 2012-03-06 Hewlett-Packard Development Company, L.P. Accuracy in a prediction of resource usage of an application in a virtual environment
JP2010224756A (en) * 2009-03-23 2010-10-07 Nec Corp Virtual machine relocation system, method, program and virtual machine management device
US8464267B2 (en) * 2009-04-10 2013-06-11 Microsoft Corporation Virtual machine packing method using scarcity
US8261266B2 (en) * 2009-04-30 2012-09-04 Microsoft Corporation Deploying a virtual machine having a virtual hardware configuration matching an improved hardware profile with respect to execution of an application
US9424094B2 (en) * 2009-06-01 2016-08-23 International Business Machines Corporation Server consolidation using virtual machine resource tradeoffs
US8694638B2 (en) * 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
JP5490580B2 (en) * 2010-03-16 2014-05-14 株式会社日立ソリューションズ Virtual machine control system
CN102232282B (en) * 2010-10-29 2014-03-26 华为技术有限公司 Method and apparatus for realizing load balance of resources in data center

Also Published As

Publication number Publication date
RU2015114568A (en) 2016-11-10
CN104854563B (en) 2018-09-18
JP2015532992A (en) 2015-11-16
WO2014047073A1 (en) 2014-03-27
IN2015DN02823A (en) 2015-09-11
EP2898410A1 (en) 2015-07-29
CN104854563A (en) 2015-08-19
EP2898410B1 (en) 2022-04-27
RU2605473C2 (en) 2016-12-20
SG11201501987UA (en) 2015-04-29
BR112015005588B1 (en) 2022-01-18
CA2884796A1 (en) 2014-03-27
AU2013318249A1 (en) 2015-04-02
BR112015005588A2 (en) 2017-10-10
CA2884796C (en) 2018-12-11
SG10201705920SA (en) 2017-08-30
AU2013318249B2 (en) 2016-04-21

Similar Documents

Publication Publication Date Title
JP6049887B2 (en) Automatic profiling of resource usage
US10542079B2 (en) Automated profiling of resource usage
US9135048B2 (en) Automated profiling of resource usage
US8423646B2 (en) Network-aware virtual machine migration in datacenters
CN110869909B (en) System and method for applying machine learning algorithms to calculate health scores for workload scheduling
US10623481B2 (en) Balancing resources in distributed computing environments
Palanisamy et al. Purlieus: locality-aware resource allocation for MapReduce in a cloud
KR101815148B1 (en) Techniques to allocate configurable computing resources
US20170031706A1 (en) Optimizing virtual machines placement in cloud computing environments
US10191771B2 (en) System and method for resource management
WO2017010922A1 (en) Allocation of cloud computing resources
Lu et al. Qos-aware vm placement in multi-domain service level agreements scenarios
Li et al. Amoeba: Qos-awareness and reduced resource usage of microservices with serverless computing
US9184982B2 (en) Balancing the allocation of virtual machines in cloud systems
Lu et al. InSTechAH: Cost-effectively autoscaling smart computing hadoop cluster in private cloud
Bose et al. Sla management in cloud computing: A service provider's perspective
Heidari et al. Qos assurance through low level analysis of resource utilization of the cloud applications
Anithakumari et al. Interoperability based resource management in cloud computing by adaptive dimensional search
US11693766B2 (en) Resource allocation in microservice architectures
Liu et al. A novel QoS negotiation model based on intelligent learning technique in clouds
US20230318988A1 (en) Proactive auto-scaling
US20230418688A1 (en) Energy efficient computing workload placement
Shukla et al. Iqr based approach for energy efficient dynamic vm consolidation for green cloud data centers
Corradi et al. Management infrastructures for power-efficient cloud computing architectures

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161122

R150 Certificate of patent or registration of utility model

Ref document number: 6049887

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