IP Library › Granted Patent US 10,630,767
Granted Patent B1
US 10,630,767 · App. 14/502,267 · Granted Apr 21, 2020

Hardware grouping based computing resource allocation

Inventors: Surya Prakash Dhoolam (Seattle, WA); Marc John Brooker (Seattle, WA); Michael Groenewald (Cape Town, ZA); Christopher Magee Greenwood (Seattle, WA); Mark Danoher (Cape Town, ZA); Gabriël de Vos Smit (Cape Town, ZA); Madhuvanesh Parthasarathy (Renton, WA); Joshua Dawie Mentz (Cape Town, ZA); Steven J. Kruy (Carnation, WA); Marc Levy (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L67/1008H04L67/1014
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,630,767
App. No.
14/502,267
Granted
Apr 21, 2020
Kind
B1
Abstract

A customer of a computing resource service provider submits a request to a virtual computer system service to instantiate a virtual computer system. In response to the request, the service obtains physical network information in order to identify any hardware groupings that may be used, at a later time, to provision one or more data storage volumes that may be associated with the virtual computer system. The service assigns a score to each of these hardware groupings based at least in part on the available capacity for provisioning of these data storage volumes. Based at least in part on these assigned scores, the virtual computer system service selects a hardware grouping and instantiates the virtual computer system within the selected hardware grouping.

Claims (46)

1. A computer-implemented method comprising:

for each individual hardware grouping of a plurality of hardware groupings:

obtaining, from a customer of a computing resource service provider, a request to instantiate a computer system;

obtaining information specifying physical characteristics including a physical location of one or more hardware devices of the individual hardware grouping organized by physical network information;

determining available storage capacity within the individual hardware grouping for one or more data storage volumes, the one or more data storage volumes usable to provide storage capacity for the computer system; and

assigning a score to the individual hardware grouping, the score based at least in part on the available storage capacity of the individual hardware grouping;

selecting a particular hardware grouping from among the plurality of hardware groupings based at least in part on:

the score assigned to the particular hardware grouping,

the physical characteristics including the physical location,

a condition based at least in part on the physical network information of the one or more hardware devices of the particular hardware grouping, and

data indicating that the one or more hardware devices of the particular hardware grouping share a matching fate upon an occurrence of a failure of a hardware device of the particular hardware grouping; and

instantiating the computer system to utilize the particular hardware grouping.

2. The computer-implemented method of claim 1 , wherein each individual hardware grouping of the plurality of hardware groupings comprises one or more server racks and one or more aggregation routers for enabling communications amongst the one or more server racks, the one or more server racks having a set of hardware devices usable for instantiation of the computer system.

3. The computer-implemented method of claim 1 , further comprising providing information from which the particular hardware grouping can be determined to a data storage service thereby causing the data storage service to use the particular hardware grouping to provision one or more data storage volumes within the particular hardware grouping.

4. The computer-implemented method of claim 1 , wherein the score assigned to the individual hardware grouping based at least in part on the available storage capacity is determined in a manner that correlates the score with the available storage capacity.

5. A system, comprising at least one computing device that implements one or more services, wherein the one or more services:

obtain a request to provision one or more computing resources, the one or more computing resources usable in association with a further computing resource, the one or more computing resources being a different resource type from the further computing resource;

identify a hardware grouping that includes the further computing resource, the hardware grouping organized by physical network information;

determine availability of capacity for provisioning the one or more requested computing resources within the identified hardware grouping based at least in part on physical characteristics of the hardware grouping, including a physical location of one or more hardware devices of the hardware grouping;

select a hardware grouping to satisfy a condition based at least in part on physical network information of one or more hardware devices of the hardware grouping, the hardware devices of the hardware grouping sharing a matching fate upon occurrence of a failure of a hardware device of the hardware grouping; and

provision the one or more computing resources to utilize the resources of the identified hardware grouping.

6. The system of claim 5 , wherein the one or more computing resources are data storage volumes and the further computing resource is a computer system such that the data storage volumes are usable to provide data storage capacity for the computer system.

7. The system of claim 5 , wherein the one or more computing resources are computer systems and the further computing resource is a data storage volume such that the computer systems are to be associated with the data storage volume upon provisioning.

8. The system of claim 5 , wherein the hardware grouping comprises one or more server racks and one or more aggregation routers for enabling communications amongst the one or more server racks, the one or more server racks having a set of hardware devices usable for provisioning of the one or more computing resources.

9. The system of claim 5 , wherein the one or more services are further configured to obtain information specifying storage capacity, network topologies and power source topologies of a computing resource service provider network usable to identify the hardware grouping.

10. The system of claim 5 , wherein the one or more services are further configured to cause the one or more computing resources to use the further computing resource upon provisioning of the one or more computing resources within the identified hardware grouping.

11. The system of claim 5 , wherein the request further specifies the identified hardware grouping that is to be used to provision the one or more computing resources such that the one or more services are further configured to evaluate the request to identify the hardware grouping.

12. The system of claim 5 , wherein the one or more services are further configured to:

evaluate one or more hardware components of the identified hardware grouping to determine the availability of capacity; and

provision the one or more computing resources within one of the one or more hardware components of the identified hardware grouping having available capacity for the one or more computing resources.

13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:

in response to a request to provision a first computing resource, obtain information specifying physical characteristics of a network, the network comprising one or more hardware groupings and the physical characteristics including a physical location of one or more hardware devices of the one or more hardware groupings organized by physical network information; and

for each hardware grouping of the one or more hardware groupings:

determine available capacity for a second computing resource based at least in part on the physical characteristics of the respective hardware grouping, including the physical location of one or more hardware devices of the respective hardware grouping, the second computing resource capable of being associated with the first computing resource and being of a different resource type from the first computing resource;

based at least in part on the determined available capacity for each hardware grouping, select a hardware grouping based at least on physical network information of the one or more hardware devices of the hardware grouping, the hardware devices of the hardware grouping sharing a matching fate upon occurrence of a failure of a hardware device of the hardware grouping; and

provision the first computing resource using the hardware devices of the selected hardware grouping.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the first computing resource is a data storage volume and the second computing resource is a computer system such that the data storage volume is usable to provide data storage capacity for the computer system.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the first computing resource is a computer system and the second computing resource is a data storage volume such that the data storage volume is capable of providing storage capacity for the computer system.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions that cause the computer system to determine the available capacity for the second computing resource further include instructions that cause the computer system to:

for each hardware grouping of the one or more hardware groupings:

assign a score to each hardware grouping of the one or more hardware groupings based at least in part on the available capacity; and

utilize the score assigned to each hardware grouping of the one or more hardware groupings to select the hardware grouping.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the score assigned to the hardware grouping based at least in part on the available capacity is determined in a manner that correlates the score with the available capacity.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the score assigned to the hardware grouping is further based at least in part on a determined number of hardware components within the hardware grouping configured for exclusive use of the second computing resource, available storage capacity within a data center room that includes the hardware grouping, and available storage capacity within a data center that includes the data center room.

19. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further cause the computer system to provide information, from which the selected hardware grouping can be determined, to a computing resource service causing the computing resource service to use the selected hardware grouping to provision the second computing resource within the selected hardware grouping.

20. The non-transitory computer-readable storage medium of claim 13 , wherein the hardware grouping comprises one or more server racks and one or more aggregation routers for enabling communications amongst the one or more server racks, the one or more server racks having a set of hardware devices usable for provisioning of the one or more hardware groupings.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2018
From: GREENWOOD, CHRISTOPHER MAGEE
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 046088/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2017
From: DHOOLAM, SURYA PRAKASH; BROOKER, MARC JOHN; GROENEWALD, MICHAEL; DANOHER, MARK; SMIT, GABRIËL DE VOS; PARTHASARATHY, MADHUVANESH; MENTZ, JOSHUA DAWIE; KRUY, STEVEN J.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 044865/0691 →
Cited By (1)
US 12,333,481