IP Library Granted Patent US 11,263,006
Granted Patent B2
US 11,263,006 · App. 15/280,348 · Granted Mar 1, 2022

Methods and apparatus to deploy workload domains in virtual server racks

Inventors: Jason A. Lochhead (Frisco, TX); Raj Yavatkar (Saratoga, CA); Thirumalesh Reddy (San Jose, CA); Shreekanth Ankala (Dublin, CA)
Assignee: VMWARE, INC.
G06F9/00H04L41/0893H04L67/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 11,263,006
App. No.
15/280,348
Granted
Mar 1, 2022
Kind
B2
Abstract

Methods and apparatus to deploy workload domains in virtual server racks are disclosed. An example apparatus includes a policy manager to determine an availability option and a performance option of the workload domain based on a domain type and determine capacity options based on a user selection of the availability option and a user selection of the performance option by a first user, a deployment manager to identify first ones of a plurality of computing resources to form a placement solution for the workload domain based on the user selection of the availability and performance options, and based on a user selection of one of the determined capacity options by the first user, the plurality of computing resources stored in a resource database accessible by the first user and a second user, and a resource manager to reserve the first ones of the plurality of computing resources to deploy the workload domain for the first user.

Claims (41)

1. An apparatus to deploy a first workload domain, the apparatus comprising:

policy manager means for:

determining a plurality of availability options and a plurality of performance options for the first workload domain based on a domain type of the first workload domain;

determining a plurality of capacity options based on a first availability option selected by a first user and a first performance option selected by the first user; and

creating at least one policy based on the first availability option, the first performance option, and a first capacity option, the first capacity option selected by the first user from among the plurality of capacity options;

deployment manager means for identifying (a) first unallocated ones of a plurality of computing resources stored in a resource database accessible by the first user and a second user that are insufficient to satisfy a first capacity of computing resources required according to the at least one policy and (b) a second workload domain having a second capacity of computing resources exceeding second ones of the plurality of computing resources that are in use by the second workload domain to form a placement solution for the first workload domain, excess ones of the second capacity of computing resources and the first unallocated ones of the plurality of computing resources sufficient to satisfy the first capacity of computing resources required according to the at least one policy; and

resource manager means for deallocating the excess ones of the second capacity of computing resources and reserving the first unallocated ones of the plurality of computing resources and the excess ones of the second capacity of computing resources to deploy the first workload domain for the first user.

2. An apparatus as defined in claim 1 , wherein the placement solution is a first placement solution, the deployment manager means to identify third ones of the plurality of computing resources different from the first unallocated ones of the plurality of computing resources to form a second placement solution for a third workload domain based on a second availability option selected from among a second plurality of availability options by the second user, a second performance option selected from among a second plurality of performance options by the second user, and a second capacity option selected from among a second plurality of capacity options by the second user, and the resource manager means to reserve the third ones of the plurality of computing resources to deploy the third workload domain for the second user concurrently with deployment of the first workload domain.

3. An apparatus as defined in claim 1 , wherein the domain type is at least one of an infrastructure as a service (IaaS) domain type, a platform as a service (PaaS) domain type, a virtual desktop infrastructure (VDI) domain type, a development domain type, a production domain type, a Cloud Native domain type, an Openstack domain type, and a Big Data domain type.

4. An apparatus as defined in claim 1 , wherein the deployment manager means is to deploy the first workload domain based on a security option including at least one of a firewall option, a security group option, or a specified internet protocol address.

5. An apparatus as defined in claim 1 , wherein the plurality of availability options includes one or more levels of redundancy that provide continuous operation expected for the first workload domain, the plurality of performance options includes at least one of one or more storage configurations, one or more computer processing unit (CPU) operating speeds, or one or more power efficiency settings, and the plurality of capacity options includes one or more numbers of resources that provide requirements defined by the plurality of availability options and the plurality of performance options.

6. An apparatus as defined in claim 1 , wherein the deployment manager means is to deploy the first workload domain in a virtual server rack based on the first availability option selected by the first user, the virtual server rack including resources located across a plurality of physical racks.

7. An apparatus as defined in claim 1 , wherein the deployment manager means is to deploy the first workload domain in a single physical rack based on the first availability option selected by the first user to isolate the first workload domain.

8. A method to deploy a first workload domain, the method comprising:

determining, by executing an instruction with a processor, a plurality of availability options and a plurality of performance options for the first workload domain based on a domain type of the first workload domain;

determining, by executing an instruction with the processor, a plurality of capacity options based on a first availability option selected by a first user and a first performance option selected by the first user;

creating at least one policy based on the first availability option, the first performance option, and a first capacity option, the first capacity option selected by the first user from among the plurality of capacity options;

identifying, by executing an instruction with the processor, (a) first unallocated ones of a plurality of computing resources stored in a resource database accessible by the first user and a second user that are insufficient to satisfy a first capacity of computing resources required according to the at least one policy and (b) a second workload domain having a second capacity of computing resources exceeding second ones of the plurality of computing resources that are in use by the second workload domain to form a placement solution for the first workload domain, excess ones of the second capacity of computing resources and the first unallocated ones of the plurality of computing resources sufficient to satisfy the first capacity of computing resources required according to the at least one policy;

deallocating, by executing an instruction with the processor, the excess ones of the second capacity of computing resources; and

reserving, by executing an instruction with the processor, the first unallocated ones of the plurality of computing resources and the excess ones of the second capacity of computing resources to deploy the first workload domain for the first user.

9. A method as defined in claim 8 , wherein the placement solution is a first placement solution, and further including:

identifying third ones of the plurality of computing resources different from the first unallocated ones of the plurality of computing resources to form a second placement solution for a third workload domain based on a second availability option selected from among a second plurality of availability options by the second user, a second performance option selected from among a second plurality of performance options by the second user, and a second capacity option selected from among a second plurality of capacity options by the second user; and

reserving the third ones of the plurality of computing resources to deploy the third workload domain for the second user concurrently with deployment of the first workload domain.

10. A method as defined in claim 8 , wherein the domain type is at least one of an infrastructure as a service (IaaS) domain type, a platform as a service (PaaS) domain type, a virtual desktop infrastructure (VDI) domain type, a development domain type, a production domain type, a Cloud Native domain type, an Openstack domain type, and a Big Data domain type.

11. A method as defined in claim 8 , further including deploying the first workload domain based on a security option including at least one of a firewall option, a security group option, or a specified internet protocol address.

12. A method as defined in claim 8 , wherein the plurality of availability options includes one or more levels of redundancy that provide continuous operation expected for the first workload domain, the plurality of performance options includes at least one of one or more storage performance configurations, one or more computer processing unit (CPU) operating speeds, or one or more power efficiency settings, and the plurality of capacity options includes one or more numbers of resources that provide requirements defined by the plurality of availability options and the plurality of performance options.

13. A method as defined in claim 8 , further including deploying the first workload domain in a virtual server rack based on the first availability option selected by the first user, the virtual server rack including resources located across a plurality of physical racks.

14. A method as defined in claim 8 , further including deploying the first workload domain in a single physical rack based on the first availability option selected by the first user to isolate the first workload domain.

15. A non-transitory computer readable storage medium comprising instructions that, when executed, cause one or more machines to at least:

determine a plurality of availability options and a plurality of performance options for a first workload domain based on a domain type of the first workload domain;

determine a plurality of capacity options based on a first availability option selected by a first user and a first performance option selected by the first user;

creating at least one policy based on the first availability option, the first performance option, and a first capacity option, the first capacity option selected by the first user from among the plurality of capacity options;

identify (a) first unallocated ones of a plurality of computing resources stored in a resource database accessible by the first user and a second user that are insufficient to satisfy a first capacity of computing resources required according to the at least one policy and (b) a second workload domain having a second capacity of computing resources exceeding second ones of the plurality of computing resources that are in use by the second workload domain to form a placement solution for the first workload domain, excess ones of the second capacity of computing resources and the first unallocated ones of the plurality of computing resources sufficient to satisfy the first capacity of computing resources required according to the at least one policy;

deallocate the excess ones of the second capacity of computing resources; and reserve the first unallocated ones of the plurality of computing resources and the excess ones of the second capacity of computing resources to deploy the first workload domain for the first user.

16. A non-transitory computer readable storage medium as defined in claim 15 , wherein the placement solution is a first placement solution and the instructions, when executed, cause the one or more machines to:

identify third ones of the plurality of computing resources different from the first unallocated ones of the plurality of computing resources to form a second placement solution for a third workload domain based on a second availability option selected from among a second plurality of availability options by the second user, a second performance option selected from among a second plurality of performance options by the second user, and a second capacity option selected from among a second plurality of capacity options by the second user; and

reserve the third ones of the plurality of computing resources to deploy the third workload domain for the second user concurrently with deployment of the first workload domain.

17. A non-transitory computer readable storage medium as defined in claim 15 , wherein the domain type is at least one of an infrastructure as a service (IaaS) domain type, a platform as a service (PaaS) domain type, a virtual desktop infrastructure (VDI) domain type, a development domain type, a production domain type, a Cloud Native domain type, an Openstack domain type, and a Big Data domain type.

18. A non-transitory computer readable storage medium as defined in claim 15 , further including instructions that, when executed, cause the one or more machines to deploy the first workload domain based on a security option including at least one of a firewall option, a security group option, or a specified internet protocol address.

19. A non-transitory computer readable storage medium as defined in claim 15 , further including instructions that, when executed, cause the one or more machines to deploy the first workload domain in a virtual server rack based on the first availability option selected by the first user, the virtual server rack including resources located across a plurality of physical racks.

20. A non-transitory computer readable storage medium as defined in claim 15 , further including instructions that, when executed, cause the one or more machines to deploy the first workload domain in a single physical rack based on the first availability option selected by the first user to isolate the first workload domain.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2017
From: LOCHHEAD, JASON A.; YAVATKAR, RAJ; REDDY, THIRUMALESH; ANKALA, SHREEKANTH
To: VMWARE, INC.
Reel/Frame 041666/0198 →