10154091

Deploying Infrastructure Units According to Resource Hosting Constraints

PublishedDecember 11, 2018
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A distributed system, comprising: a plurality of infrastructure localities comprising respective server racks implementing one or more servers that host computing resources for the distributed system; a data store, configured to maintain metadata for the infrastructure localities; at least one compute node comprising a processor and a memory, that implement a deployment engine for the distributed system, wherein the deployment engine is configured to: receive, via an interface for the deployment engine, a request to deploy one or more additional server racks comprising one or more additional servers in the distributed system; access the metadata in the data store to evaluate possible deployments for the additional server racks with respect to the server racks in the infrastructure localities of the distributed system according to one or more resource hosting constraints for the distributed system; identify different ones of the possible deployments for the additional server racks that optimize capacity for hosting the computing resources within the one or more resource hosting constraints for the distributed system; and direct the deployment of the additional server racks at respective infrastructure localities of the identified possible deployments in the distributed system.

2

2. The system of claim 1 , wherein the additional server racks are storage server racks; wherein the one or more resource hosting constraints comprise: a diversity constraint for storage replicas within a same infrastructure locality; and a constraint that co-locates storage clients utilizing storage resources on the storage server racks within the same infrastructure locality; and wherein to identify the different ones of the possible deployments for the additional server racks that optimize capacity for hosting the computing resources, the deployment engine is configured to determine the infrastructure localities expected to have a greatest additional storage demand for hosted storage clients within the diversity constraint.

3

3. The system of claim 1 , wherein to direct the deployment of the additional server racks, the deployment engine is configured to: receive an indication of deployment for one of the additional server racks in the distributed system; and verify an infrastructure locality included in the indication as the identified infrastructure locality for the additional server rack.

4

4. The system of claim 1 , wherein the distributed system is a provider network that offers the computing resources hosted at the distributed system to clients of the provider network, wherein the additional server racks provide additional block-based storage for a virtual block-based storage service implemented as part of the provider network.

5

5. A method, comprising: performing, by one or more computing devices: detecting one or more infrastructure units to deploy in a distributed system for hosting computing resources in the distributed system; evaluating possible deployments for the infrastructure units at different infrastructure localities of the distributed system with respect to current infrastructure units deployed in the different infrastructure localities according to one or more resource hosting constraints for the distributed system; based on the evaluating, determining different ones of the possible deployments for the infrastructure units that increase capacity for hosting the computing resources within the one or more resource hosting constraints for the distributed system; and directing the deployment of the infrastructure units at respective infrastructure localities of the determined possible deployments in the distributed system.

6

6. The method of claim 5 , wherein detecting the one or more infrastructure units to deploy comprises analyzing the current infrastructure units deployed in the different infrastructure localities according to the one or more resource hosting constraints for the distributed system to determine one or more of the current infrastructure units for redeployment.

7

7. The method of claim 5 , wherein the one or more computing devices implement a deployment engine for the distributed system, and wherein detecting the one or more infrastructure units to deploy comprises receiving a request to determine deployments for the one or more infrastructure units via a programmatic interface for the deployment engine.

8

8. The method of claim 7 , wherein the request identifies a deployment strategy for the one or more infrastructure units, and wherein the evaluating and the determining are performed according to the deployment strategy identified in the request.

9

9. The method of claim 5 , wherein directing the deployment of the infrastructure units comprises: receiving an indication that one of the infrastructure units is ready for deployment; and providing the determined infrastructure locality for the one infrastructure unit.

10

10. The method of claim 5 , further comprising: receiving an indication of deployment for one of the infrastructure units; and verifying that the deployment for the one infrastructure unit is at the determined infrastructure locality for the one infrastructure unit.

11

11. The method of claim 10 , further comprising: in response to determining that the deployment for the one infrastructure unit is not at the determined infrastructure locality for the one infrastructure unit according to the verifying: determining a different infrastructure locality for the one infrastructure unit; and directing redeployment of the one infrastructure unit to the different infrastructure locality.

12

12. The method of claim 5 , wherein the direction of the deployment at the respective infrastructure localities of the determined possible deployments in the distributed system occurs at different points in time over a period of time.

13

13. The method of claim 5 , wherein the distributed system is a provider network that offers a plurality of different network-based services to clients of the provider network, wherein the different infrastructure localities are network infrastructure localities within the provider network.

14

14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement: maintaining metadata for a plurality of infrastructure localities comprising respective infrastructure units that host computing resources for a distributed system; identifying one or more infrastructure units to deploy in a distributed system for hosting computing resources in the distributed system; accessing the metadata to evaluate possible deployments for the identified infrastructure units at the infrastructure localities with respect to the respective infrastructure units deployed in the infrastructure localities of the distributed system according to one or more resource hosting constraints for the distributed system; determining different ones of the possible deployments for the infrastructure units that increase capacity for hosting the computing resources within the one or more resource hosting constraints for the distributed system; and directing the deployment of the infrastructure units at those infrastructure localities of the determined possible deployments in the distributed system.

15

15. The non-transitory, computer-readable storage medium of claim 14 , wherein the one or more computing devices implement a deployment engine for the distributed system, and wherein, in identifying the one or more infrastructure units to deploy, the program instructions cause the one or more computing devices to implement: receiving request to deploy the one or more infrastructure units via a graphical user interface for the deployment engine.

16

16. The non-transitory, computer-readable storage medium of claim 14 , wherein, in accessing the metadata to evaluate possible deployments for the identified infrastructure units at the infrastructure localities, the program instructions cause the one or more computing devices to implement generating deployment scores for the possible deployments that satisfy the one or more resource hosting constraints; and wherein, in determining the different ones of the possible deployments for the infrastructure units that increase capacity, the program instructions cause the one or more computing devices to implement identifying those possible deployments with a highest deployment score for the infrastructure units.

17

17. The non-transitory, computer-readable storage medium of claim 14 , wherein the infrastructure localities are respective network devices in the distributed system.

18

18. The non-transitory, computer-readable storage medium of claim 14 , wherein the program instructions cause the one or more computing devices to further implement: receiving an indication of deployment for one of the infrastructure units; and verifying that the deployment for the one infrastructure unit is at the determined infrastructure locality for the one infrastructure unit.

19

19. The non-transitory, computer-readable storage medium of claim 18 , wherein the program instructions cause the one or more computing devices to further implement: in response to determining that the deployment for the one infrastructure unit is not at the determined infrastructure locality for the one infrastructure unit according to the verifying: directing redeployment of the one infrastructure unit to the determined infrastructure locality.

20

20. The non-transitory, computer-readable storage medium of claim 14 , wherein the distributed system is a provider network that provides a plurality of network-based services including a virtual block-based storage service and a virtual compute service, wherein the one or more infrastructure units are additional storage server racks for the virtual block-based storage service, and wherein the resource hosting constraint comprises a constraint for co-locating a data volume hosted at the virtual block-based storage service in a same infrastructure locality as a virtual compute instance hosted at the virtual computing service that is a client of the data volume.

Patent Metadata

Filing Date

Unknown

Publication Date

December 11, 2018

Inventors

MITCHELL GANNON FLAHERTY
CHRISTOPHER MAGEE GREENWOOD
SURYA PRAKASH DHOOLAM
GARY MICHAEL HERNDON JR.

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “DEPLOYING INFRASTRUCTURE UNITS ACCORDING TO RESOURCE HOSTING CONSTRAINTS” (10154091). https://patentable.app/patents/10154091

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.