Locality based content distribution
US-9009286-B2 · Apr 14, 2015 · US
US9135048B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9135048-B2 |
| Application number | US-201213623847-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 20, 2012 |
| Priority date | Sep 20, 2012 |
| Publication date | Sep 15, 2015 |
| Grant date | Sep 15, 2015 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Operating profiles for consumers of computing resources may be automatically determined based on an analysis of actual resource usage measurements and other operating metrics. Measurements may be taken while a consumer, such as a virtual machine instance, uses computing resources, such as those provided by a host. A profile may be dynamically determined based on those measurements. Profiles may be generalized such that groups of consumers with similar usage profiles are associated with a single profile. Assignment decisions may be made based on the profiles, and computing resources may be reallocated or oversubscribed if the profiles indicate that the consumers are unlikely to fully utilize the resources reserved for them. Oversubscribed resources may be monitored, and consumers may be transferred to different resource providers if contention for resources is too high.
Opening claim text (preview).
What is claimed is: 1. A system for managing shared computing resources, the system comprising: one or more processors; and a computer-readable memory storing executable instructions that, when executed by the one or more processors, configure the system to: receive a request to initialize a first instance of a first virtual machine, the first instance associated with a first expected usage amount of a computing resource and a first reserved amount of the computing resource, wherein the first expected usage amount is based at least in part on operating metrics determined from previously running at least an instance of a similar virtual machine, and wherein the first reserved amount corresponds to an amount of the computing resource reserved for the first instance by a customer associated with the first instance; select a computing device of a plurality of computing devices configured to provide the computing resource, wherein a second instance of a second virtual machine is executing on the computing device, wherein the second instance is associated with a second expected usage amount and a second reserved amount of the computing resource, and wherein the selected computing device is selected based at least partly on: calculating a total reserved amount, the total reserved amount comprising a sum of the first reserved amount and the second reserved amount; determining that the total reserved amount is greater than an amount of the computing resource available on the computing device; in response to the determination that the total reserved amount is greater than the amount of the computing resource available on the computing device, calculating a total expected usage amount, the total expected usage amount comprising a sum of the first expected usage amount and second expected usage amount; and determining that the total expected usage amount is less than the amount of the computing resource available on the computing device; and cause, at least in part, the first instance to be initialized on the selected computing device, wherein the first instance and the second instance share the available amount of the computing resource. 2. The system of claim 1 , wherein the computing resource comprises one of central processing unit (CPU) capacity, memory space, network bandwidth, hard disk space, or electrical power. 3. The system of claim 1 , wherein the first instance and the second instance are associated with different customers. 4. The system of claim 1 , wherein the executable instructions further configure the system to: cause, at least in part, a third instance of a third virtual machine to be initialized on the selected computing device, wherein the third instance is associated with a third expected usage amount and a third reserved amount of the computing resource, wherein the amount of the computing resource available on the computing device is further greater than a sum of the first expected usage amount, the second expected usage amount, and the third expected usage amount, and wherein the first instance, the second instance, and the third instance share the available amount of the computing resource. 5. The system of claim 1 , wherein the executable instructions further configure the system to: obtain a first measurement of usage of the computing resource by the first instance and a second measurement of usage of the computing resource by the second instance; and in response to determining that the first measurement or the second measurement exceeds a threshold, transfer the first instance or the second instance to a second computing device. 6. A computer-implemented method for managing shared computing resources, the computer-implemented method comprising: receiving, by a data center management system comprising one or more computing devices, a request to initialize a first software workload associated with a first operating constraint and a first reserved resource amount, wherein the first operating constraint is based at least in part on a first plurality of historical operating metrics regarding operation of the first software workload on a host computing device, and wherein the first reserved resource amount comprises an amount of a computing resource reserved for use by the first software workload; in response to the request, identifying a first host computing device of a plurality of host computing devices based at least on the first operating constraint and one or more operating characteristics associated with the first host computing device, wherein the first host computing device comprises a second software workload associated with a second operating constraint and a second reserved resource amount, and wherein the identifying comprises: calculating a total reserved resource amount, the total reserved resource amount comprising a sum of the first reserved resource amount and the second reserved resource amount; determining that an available amount of the computing resource is less than the total reserved resource amount; and in response to the determination that the available amount of the computing resource is less than the total reserved resource amount, determining that the one or more operating characteristics of the first host computing device are sufficient to satisfy both the first operating constraint and the second operating constraint during operation of the first software workload and the second software workload; and causing, at least in part, the first software workload to be placed on the first host computing device. 7. The computer-implemented method of claim 6 , wherein the first software workload or the second software workload comprises a virtual machine instance, an application instance, or an operating system. 8. The computer-implemented method of claim 6 , wherein the first software workload comprises a storage node, and wherein the identifying further comprises determining that placing the storage node on the first host computing device satisfies an operating constraint associated with a virtual machine that will use the storage node. 9. The computer-implemented method of claim 6 , wherein at least one of the one or more operating characteristics comprises memory capacity, central processing unit (CPU) capacity, network bandwidth, network latency, position within a network topology, instruction set, variance of a performance metric, or electrical power capacity. 10. The computer-implemented method of claim 6 , wherein the first operating constraint or the second operating constraint relate to memory utilization, central processing unit (CPU) utilization, network bandwidth utilization, network latency, position within a network topology, instruction set availability, variance of a performance metric, or power utilization. 11. The computer-implemented method of claim 6 , wherein the first operating constraint relates to a first expected usage amount of the computing resource, wherein the second operating constraint relates to a second expected usage amount of the computing resource, and wherein the first software workload and the second software workload are enabled to concurrently consume the first expected usage amount and the second expected usage amount, respectively, of the computing resource. 12. The computer-implemented method of claim 11 , wherein an operating characteristic of the one or more operating characteristics comprises the available amount of the computing resource, the computer-implemented method further comprising: preventing, at least in part, the first software workload and the second software workload from aggregately consuming more than the available amount of the computing resource.
for performance assessment · CPC title
Isolation or security of virtual machine instances · CPC title
Distribution of virtual machine instances; Migration and load balancing · CPC title
Threshold · CPC title
Resource availability · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.