IP Library Granted Patent US 9,641,450
Granted Patent B1
US 9,641,450 · App. 13/936,097 · Granted May 2, 2017

Resource placement templates for virtual networks

Inventors: Eric J. Brandwine (Haymarket, VA); Marvin M. Theimer (Bellevue, WA); Don Johnson (Seattle, WA); Swaminathan Sivasubramanian (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L47/70H04L67/10
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 9,641,450
App. No.
13/936,097
Granted
May 2, 2017
Kind
B1
Abstract

With the advent of virtualization technologies, networks and routing for those networks can now be simulated using commodity hardware. For example, virtualization technologies can be adapted to allow a single physical computing machine to be shared among multiple virtual networks by providing one or more virtual machines simulated in software by the single physical computing machine, with each virtual machine acting as a distinct logical computing system. In addition, as routing can be accomplished through software, additional network setup flexibility can be provided to the virtual network in comparison with hardware-based routing. In some implementations, virtual network setup can be abstracted through the use of resource placement templates, allowing users to create virtual networks compliant with a customer's networking policies without necessarily having knowledge of what those policies are.

Claims (46)

1. A method for allocating computing resources to a virtual network provided by a computing resources provider, the method comprising:

receiving network topology information for a virtual network, the virtual network comprising a plurality of virtual subnets;

receiving customer placement policies for allocating resources to individual virtual subnets in the plurality of virtual subnets of the virtual network;

generating, with one or more processors, one or more resource placement templates based on the customer placement policies;

receiving a selection from a user of a first resource placement template from the one or more resource placement templates;

receiving a request from the user to allocate a virtual machine, the request specifying the first resource placement template selected by the user, the first resource placement template specifying rules for allocating the virtual machine;

selecting a first virtual subnet in the plurality of virtual subnets based on the first resource placement template; and

allocating the requested virtual machine to the selected first virtual subnet.

2. The method of claim 1 , wherein the first resource placement template includes a selection of one or more virtual subnets in the plurality of virtual subnets, and wherein selecting a first virtual subnet further comprises selecting the first virtual subnet from the selection of the one or more virtual subnets in the plurality of virtual subnets.

3. The method of claim 1 , wherein the first resource placement template includes selection criteria for selecting virtual subnets in the plurality of virtual subnets, and wherein the first virtual subnet complies with the selection criteria.

4. The method of claim 1 , wherein the allocated virtual machine is configured to operate with access constraints of the first virtual subnet.

5. The method of claim 3 , wherein the selection criteria comprises one of first fit, load balancing, least full, and round robin.

6. The method of claim 3 , wherein the selection criteria comprises desired access constraints for the first virtual subnet.

7. The method of claim 3 , wherein the selection criteria comprises one or more of a desired bandwidth and latency.

8. The method of claim 1 , wherein the virtual machine is executed by a physical computing node.

9. The method of claim 1 , wherein the requested virtual machine comprises at least one of processing power and storage.

10. The method of claim 1 , wherein the requested virtual machine comprises at least one of a database server, a backup server, and a web server.

11. A system for allocating computing resources to a virtual network provided by a computing resources provider, the system comprising:

a resource manager comprising one or more computing devices, the resource manager configured to:

receive network topology information for a virtual network, the virtual network comprising a plurality of virtual subnets;

receive customer placement policies for allocating resources to individual virtual subnets in the plurality of virtual subnets of the virtual network;

generate, with one or more processors, one or more resource placement templates based on the customer placement policies;

receive a selection from a user of a first resource placement template from the one or more resource placement templates;

receive a request from the user to allocate a virtual machine, the request specifying the first resource placement template selected by the user, the first resource placement template specifying rules for allocating the virtual machine;

select a first virtual subnet in the plurality of virtual subnets based on the first resource placement template; and

allocate the requested virtual machine to the selected first virtual subnet.

12. The system of claim 11 , wherein the first resource placement template includes a selection of one or more virtual subnets in the plurality of virtual subnets, and wherein the resource manager is further configured to select the first virtual subnet from the selection of the one or more virtual subnets in the plurality of virtual subnets.

13. The system of claim 11 , wherein the first resource placement template includes selection criteria for selecting virtual subnets in the plurality of virtual subnets, and wherein the first virtual subnet complies with the selection criteria.

14. The system of claim 13 , wherein the selection criteria comprises one of first fit, load balancing, least full, or round robin.

15. The system of claim 13 , wherein the selection criteria comprises desired access constraints for the first virtual subnet.

16. The system of claim 13 , wherein the selection criteria comprises one or more of a desired bandwidth and latency.

17. The system of claim 11 , wherein the allocated virtual machine is configured to operate with access constraints of the first virtual subnet.

18. The system of claim 11 , wherein the virtual machine is executed by a physical computing node.

19. The system of claim 11 , wherein the requested virtual machine comprises at least one of processing power and storage.

20. The system of claim 11 , wherein the requested virtual machine comprises at least one of a database server, a backup server, or a web server.

21. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, direct a computing system to perform a process of computing resource allocation, the process comprising:

receiving network topology information for a virtual network, the virtual network comprising a plurality of virtual subnets;

receiving customer placement policies for allocating resources to individual virtual subnets in the plurality of virtual subnets of the virtual network;

generating, with one or more processors, one or more resource placement templates based on the customer placement policies;

receiving a selection from a user of a first resource placement template from the one or more resource placement templates;

receiving a request from the user to allocate a virtual machine, the request specifying the first resource placement template selected by the user, the first resource placement template specifying rules for allocating the virtual machine;

selecting a first virtual subnet in the plurality of virtual subnets based on the first resource placement template; and

allocating the requested virtual machine to the selected first virtual subnet.

22. The non-transitory computer-readable storage medium of claim 21 , wherein the first resource placement template includes a selection of one or more virtual subnets in the plurality of virtual subnets, and wherein selecting a first virtual subnet further comprises selecting the first virtual subnet from the selection of the one or more virtual subnets in the plurality of virtual subnets.

23. The non-transitory computer-readable storage medium of claim 21 , wherein the first resource placement template includes selection criteria for selecting virtual subnets in the plurality of virtual subnets, and wherein the first virtual subnet complies with the selection criteria.

24. The non-transitory computer-readable storage medium of claim 21 , wherein the allocated virtual machine is configured to operate with access constraints of the first virtual subnet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2017
From: JOHNSON, DON; BRANDWINE, ERIC J.; THEIMER, MARVIN M.; SIVASUBRAMANIAN, SWAMINATHAN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 041789/0467 →
Continuity (1)
Continuation 12892850 · Sep 28, 2010