IP Library Granted Patent US 11,743,116
Granted Patent B2
US 11,743,116 · App. 17/728,696 · Granted Aug 29, 2023

Methods and apparatus to scale application deployments in cloud computing environments

Inventors: Servesh Singh (Bangalore, IN); Arun Narayanaswamy (Bangalore, IN); Rishi Saraf (Bangalore, IN); Saket Kumar (Bangalore, IN); Jitendra Kumar (Bangalore, IN)
Assignee: VMware, Inc.
H04L41/0813G06F9/45558H04L41/0816H04L41/12H04L67/34
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,743,116
App. No.
17/728,696
Granted
Aug 29, 2023
Kind
B2
Abstract

An example apparatus includes memory and a processor to execute instructions to set a scaling status of a first virtual machine included in an application deployed in a computing environment, the first virtual machine to execute a first component of the application, means for identifying an information dependency of a second virtual machine on information from the first virtual machine, the second virtual machine to execute a second component of the application, and update the information dependency based on the scaling status of the first virtual machine, the information dependency in the configuration information to include a reference to the first virtual machine.

Claims (45)

1. An apparatus to scale a number of virtual machines executing an application deployed in a computing environment, the apparatus comprising:

means for determining if a duration threshold has been satisfied by a duration elapsed since resource utilization of the application in the computing environment satisfied a first threshold;

means for setting, in response to the determination that the duration satisfies the duration threshold, a scaling status of a first virtual machine deployed in the computing environment, the first virtual machine executing a first component of the application, the scaling status of the first virtual machine indicating a change in a number of virtual machines executing the first component;

means for identifying an information dependency of a second virtual machine on information from the first virtual machine, the second virtual machine executing a second component of the application, the information dependency representing that a task of the second component is performed after a task of the first component, the information dependency to indicate that the first virtual machine is dependent on the second virtual machine and the first virtual machine is to provide the information to the second virtual machine, the information dependency to indicate that the second virtual machine is dependent on the first virtual machine and the second virtual machine is to obtain the information from the first virtual machine; and

means for updating the information dependency of the second virtual machine on the information from the first virtual machine in configuration information associated with the second virtual machine based on the scaling status of the first virtual machine, the information dependency in the configuration information including a reference to the first virtual machine.

2. The apparatus of claim 1 , wherein the means for identifying is to parse a topology map of the application to identify the information dependency of the second virtual machine.

3. The apparatus of claim 1 , wherein the means for setting is to cause the number of virtual machines executing the first component to increase by a scale-out operation.

4. The apparatus of claim 3 , wherein the means for setting is to:

provision the first virtual machine in the computing environment;

cause the first virtual machine to execute the first component; and

identify the first virtual machine as a new virtual machine.

5. The apparatus of claim 1 , wherein the means for updating is to add the reference to the configuration information.

6. The apparatus of claim 3 , further including means for determining a success status of the scale-out operation, the means for determining to check communication between the first virtual machine and a third virtual machine deployed in the computing environment, the third virtual machine having been added to the computing environment before the first virtual machine.

7. The apparatus of claim 3 , wherein the scaling status of the first virtual machine is set at a first time, the apparatus further including means for creating a deployment snapshot of the computing environment at a second time, the deployment snapshot including state information of the first virtual machine and the second virtual machine, the second time being before the first time, wherein the means for updating, in response to determining that a success status of the scale-out operation indicates that the scale-out operation was unsuccessful, is to:

delete the first virtual machine; and

modify the state information of the first virtual machine and the second virtual machine based on the deployment snapshot.

8. The apparatus of claim 3 , further including:

means for tracking a number of unsuccessful scale-out operations; and

means for provisioning a third virtual machine in the computing environment when the number of unsuccessful scale-out operations satisfies a second threshold.

9. The apparatus of claim 1 , wherein the setting of the scaling status of the first virtual machine is to cause the number of virtual machines executing the first component to decrease by a scale-in operation.

10. An apparatus to scale a number of virtual machines executing an application deployed in a computing environment, the apparatus comprising:

means for setting a scaling status of a first virtual machine included in an application deployed in a computing environment, the first virtual machine to execute a first component of the application, the scaling status of the first virtual machine to indicate a change in a number of virtual machines executing the first component;

means for identifying an information dependency of a second virtual machine on information from the first virtual machine, the second virtual machine to execute a second component of the application, the information dependency representing that an operation of the second component is performed after an operation of the first component, the information dependency to indicate that the first virtual machine is dependent on the second virtual machine and the first virtual machine is to provide the information to the second virtual machine, the information dependency to indicate that the second virtual machine is to obtain the information from the first virtual machine; and

means for updating the information dependency based on the scaling status of the first virtual machine, the information dependency included in configuration information, the configuration information including a reference to the first virtual machine.

11. The apparatus of claim 10 , wherein the means for identifying is to parse a topology map of the application to identify the information dependency of the second virtual machine.

12. The apparatus of claim 10 , further including means for performing a scale-out operation to increase the number of virtual machines executing the first component.

13. The apparatus of claim 12 , wherein the means for setting the scaling status is to:

provision the first virtual machine in the computing environment;

cause the first virtual machine to execute the first component; and

identify the first virtual machine as a new virtual machine.

14. An apparatus to scale a number of virtual machines executing an application deployed in a computing environment, the apparatus comprising:

means for setting a scaling status of a first virtual machine included in an application deployed in a computing environment, the first virtual machine to execute a first component of the application, the scaling status of the first virtual machine to indicate a change in a number of virtual machines executing the first component;

means for identifying an information dependency of a second virtual machine on information from the first virtual machine, the second virtual machine to execute a second component of the application, the information dependency representing that an operation of the second component is performed after an operation of the first component, the information dependency to indicate that the first virtual machine is to provide the information to the second virtual machine; and

means for updating the information dependency based on the scaling status of the first virtual machine, the information dependency to include a reference to the first virtual machine.

15. The apparatus of claim 14 , wherein the means for identifying is to identify the information dependency of the second virtual machine by parsing a topology map of the application.

16. The apparatus of claim 14 , further including means for performing a scale-out operation to increase the number of virtual machines executing the first component.

17. The apparatus of claim 14 , wherein the means for setting is further to:

provision the first virtual machine in the computing environment;

cause the first virtual machine to execute the first component; and

identify the first virtual machine as a new virtual machine.

18. The apparatus of claim 14 , wherein the means for updating is to update configuration information associated with the second virtual machine by adding the reference to the first virtual machine.

19. The apparatus of claim 14 , further including means for performing a scale-in operation to decrease the number of virtual machines executing the first component.

20. The apparatus of claim 19 , wherein the means for updating is to:

select the first virtual machine; and

in response to the selection, update the configuration information associated with the second virtual machine by removing the reference to the first virtual machine.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Priority Claims (1)
IN 3120CHE2014 · Jun 26, 2014 · national
Continuity (4)
Continuation 17107030 · Nov 30, 2020
Continuation 16154352 · Oct 8, 2018
Continuation 14453656 · Aug 7, 2014
Related Publication 20220255801A1 · Aug 11, 2022
Cited By (2)
US 12,519,849 US 12,671,662