# US 11,307,890 B2 · Methods and apparatus to manage virtual machines

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,307,890 B2
- Document ID: US11307890B2
- Status: Granted
- Kind: B2
- Application number: 16/916,077
- Filed: 2020-06-29
- Published: 2020-12-24
- Granted: 2022-04-19
- Earliest claimed: 2013-10-11
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Thirumalesh Reddy; Sreekantha Indireddy; Shreekanth Ankala; Bhavin Mathia
- Web page: https://patentgrep.com/patent/US11307890B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 16/24: Querying
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and apparatus to manage virtual machines are disclosed. An example method includes determining that a deployment of a first virtual machine has halted because the first virtual machine is dependent on a second virtual machine that has not been fully deployed and in response to detecting that the second virtual machine has been deployed, notifying, via a processor, the first virtual machine that deployment of the first virtual machine may continue.

## Claims

### Claim 1

A method comprising:
initiating a deployment of a first virtual machine and a deployment of a second virtual machine;
after the deployment of the first virtual machine has begun, determining, by executing computer readable instructions with a processor, that the deployment of the first virtual machine has halted because the deployment of the first virtual machine has reached a point at which the deployment of the first virtual machine is dependent on the second virtual machine that has not been fully deployed;
detecting, by executing computer readable instructions with the processor, that the second virtual machine has been deployed; and
in response to the determining that the second virtual machine has been deployed, continuing, by executing computer readable instructions with the processor, deployment of the first virtual machine.

### Claim 2 (depends on 1)

The method as defined in claim 1, wherein the determining that the deployment of the first virtual machine has halted is based on a wait request from the first virtual machine.

### Claim 3 (depends on 2)

The method as defined in claim 2, further including storing an indication of the wait request in a datastore.

### Claim 4 (depends on 2)

The method as defined in claim 2, further including, in response to the wait request, querying an inventory of virtual machines for a workload identified in the wait request to identify the second virtual machine.

### Claim 5 (depends on 4)

The method as defined in claim 4, wherein the detecting that the second virtual machine has been deployed includes querying a datastore for a notification received from the second virtual machine.

### Claim 6 (depends on 1)

The method as defined in claim 1, wherein the detecting that the second virtual machine has been deployed includes receiving a notify request from the second virtual machine.

### Claim 7 (depends on 1)

The method as defined in claim 1, wherein the deployment of the first virtual machine and the deployment of the second virtual machine are initiated at substantially the same time.

### Claim 8

An apparatus comprising:
a non-transitory computer readable medium comprising instructions; and
a logic circuit to execute the instructions to at least;
initiate a deployment of a first virtual machine and a deployment of a second virtual machine;
after the deployment of the first virtual machine has begun, determine that the deployment of the first virtual machine has halted because the deployment of the first virtual machine has reached a point at which the deployment of the first virtual machine is dependent on the second virtual machine that has not been fully deployed;
detect that the second virtual machine has been deployed; and
in response to determining that the second virtual machine has been deployed, continue deployment of the first virtual machine.

### Claim 9 (depends on 8)

The apparatus as defined in claim 8, wherein determining that the deployment of the first virtual machine has halted is based on a wait request from the first virtual machine.

### Claim 10 (depends on 9)

The apparatus as defined in claim 9, wherein the logic circuit is to cause an indication of the wait request to be stored in a datastore.

### Claim 11 (depends on 9)

The apparatus as defined in claim 9, wherein the logic circuit is to, in response to the wait request, query an inventory of virtual machines for a workload identified in the wait request to identify the second virtual machine.

### Claim 12 (depends on 11)

The apparatus as defined in claim 11, wherein detecting that the second virtual machine has been deployed includes querying a datastore for a notification received from the second virtual machine.

### Claim 13 (depends on 8)

The apparatus as defined in claim 8, wherein detecting that the second virtual machine has been deployed includes receiving a notify request from the second virtual machine.

### Claim 14 (depends on 8)

The apparatus as defined in claim 8, wherein the deployment of the first virtual machine and the deployment of the second virtual machine are initiated at substantially the same time.

### Claim 15

A non-transitory computer readable medium comprising instructions that, when executed, cause a machine to at least:
initiate a deployment of a first virtual machine and a deployment of a second virtual machine;
after the deployment of the first virtual machine has begun, determine that the deployment of the first virtual machine has halted because the deployment of the first virtual machine has reached a point at which the deployment of the first virtual machine is dependent on the second virtual machine that has not been fully deployed;
detect that the second virtual machine has been deployed; and
in response to determining that the second virtual machine has been deployed, continue deployment of the first virtual machine.

### Claim 16 (depends on 15)

The non-transitory computer readable medium as defined in claim 15, wherein determining that the deployment of the first virtual machine has halted is based on a wait request from the first virtual machine.

### Claim 17 (depends on 16)

The non-transitory computer readable medium as defined in claim 16, wherein the instructions, when executed, cause the machine to store an indication of the wait request in a datastore.

### Claim 18 (depends on 16)

The non-transitory computer readable medium as defined in claim 16, wherein the instructions, when executed, cause the machine to, in response to the wait request, query an inventory of virtual machines for a workload identified in the wait request to identify the second virtual machine.

### Claim 19 (depends on 18)

The non-transitory computer readable medium as defined in claim 18, wherein detecting that the second virtual machine has been deployed includes querying a datastore for a notification received from the second virtual machine.

### Claim 20 (depends on 16)

The non-transitory computer readable medium as defined in claim 16, wherein detecting that the second virtual machine has been deployed includes receiving a notify request from the second virtual machine.
