IP Library Granted Patent US 11,005,733
Granted Patent B2
US 11,005,733 · App. 15/617,753 · Granted May 11, 2021

Methods, systems, and apparatus to scale in and/or scale out resources managed by a cloud automation system

Inventors: Boris Savov (Sofia, BG); George P. Dimitrov (Sofia, BG); Ventsyslav Raikov (Sofia, BG); Kristiyan Georgiev (Sofia, BG)
Assignee: VMWARE, INC
H04L41/5051H04L41/0896H04L41/5054G06F16/9024H04L41/5096
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,005,733
App. No.
15/617,753
Granted
May 11, 2021
Kind
B2
Abstract

Methods and apparatus to scale in and/or scale out arbitrary resources managed by a cloud automation system are disclosed. An example apparatus includes an execution plan determiner to determine an execution plan for a scaling operation of an application in a platform environment based on a dependency graph; a component scaler to scale a scalable component in the platform environment corresponding to the application based on the execution plan by executing custom logic associated with the scalable component specified in the execution plan; and a dependent updater to update operation of a dependent component based on the scaling of the scalable component, the dependent component operating in conjunction with the scalable component.

Claims (45)

1. An apparatus comprising:

an execution plan determiner to determine an execution plan for a scaling operation of an application in a platform environment based on a dependency graph, the dependency graph corresponding to a dependency of components within a blueprint, the blueprint to reference a generic build profile for a scalable component and include settings specific to a physical location of a machine hosting the scalable component;

a component scaler to perform the scaling operation to scale the scalable component in the platform environment by executing custom logic associated with the scalable component specified in the execution plan, the scalable component corresponding to the application, the scaling based on the execution plan; and

a dependent updater to update operation of a dependent component based on the scaling operation to enable the dependent component to interact with the scalable component after the scaling operation, the dependent component to continue to operate in conjunction with the scalable component after the scaling operation, at least one of the execution plan determiner, the component scaler, or the dependent updater including hardware.

2. The apparatus of claim 1 , wherein the scalable component is a first scalable component and the blueprint is a multi-machine blueprint including a first blueprint corresponding to the first scalable component and a second blueprint corresponding to a second scalable component.

3. The apparatus of claim 1 , wherein the component scaler is to scale the scalable component by:

scaling out the scalable component into more scalable components; or

scaling in the scalable component into less scalable components.

4. The apparatus of claim 1 , wherein the dependent component depends on the scalable component by at least one of managing or communicating with the scalable component.

5. The apparatus of claim 1 , wherein the dependent updater is to update operation of the dependent component by updating an Internet protocol (IP) table of the dependent component, the IP table corresponding to the scalable component.

6. The apparatus of claim 1 , further including an interface to receive instructions to scale the scalable component.

7. The apparatus of claim 6 , wherein the interface is to receive parameters of the scaling operation from a user.

8. The apparatus of claim 6 , wherein the interface is to receive instructions to (A) scale in the scalable component when available resources corresponding to the scalable component are high and (B) scale out the scalable component when the available resources corresponding to the scalable component are low.

9. The apparatus of claim 7 , wherein the component scaler is to scale the scalable component using a custom action identified in the received parameters.

10. The apparatus of claim 1 , wherein the dependent component is to operate in conjunction with the scalable component by at least one of communicating with the scalable component, interacting with the scalable component, interfacing with the scalable component, monitoring the scalable component, or managing operation of the scalable component.

11. A non-transitory computer readable storage medium comprising instructions which, when executed, cause a machine to at least:

determine an execution plan for a scaling operation of an application in a platform environment based on a dependency graph corresponding to a dependency of components within a blueprint, the blueprint to reference a generic build profile for a scalable component and include settings specific to a physical location of a device hosting the scalable component;

perform the scaling operation to scale the scalable component based on the execution plan, the scalable component corresponding to the application; and

update operation of a dependent component based on the scaling operation to enable the dependent component to interact with the scalable component after the scaling operation, the dependent component to operate with the scalable component after the scaling operation.

12. The non-transitory computer readable storage medium of claim 11 , wherein the scalable component is a first scalable component and the blueprint is a multi-machine blueprint including a first blueprint corresponding to the first scalable component and a second blueprint corresponding to a second scalable component.

13. The non-transitory computer readable storage medium of claim 11 , wherein the instructions, when executed, cause the machine to scale the scalable component by:

scaling out the scalable component into more scalable components; or

scaling in the scalable component into less scalable components.

14. The non-transitory computer readable storage medium of claim 11 , wherein the dependent component depends on the scalable component by at least one of managing or communicating with the scalable component.

15. The non-transitory computer readable storage medium of claim 11 , wherein the instructions, when executed, cause the machine to update operation of the dependent component by updating an Internet protocol (IP) table of the dependent component, the IP table corresponding to the scalable component.

16. The non-transitory computer readable storage medium of claim 11 , wherein the instructions, when executed, cause the machine to receive instructions to scale the scalable component.

17. The non-transitory computer readable storage medium of claim 16 , wherein the instructions, when executed, cause the machine to receive parameters of the scaling operation from a user.

18. The non-transitory computer readable storage medium of claim 16 , wherein the instructions, when executed, cause the machine to receive instructions to (A) scale in the scalable component when available resources corresponding to the scalable component are high and (B) scale out the scalable component when the available resources corresponding to the scalable component are low.

19. The non-transitory computer readable storage medium of claim 17 , wherein the instructions, when executed, cause the machine to scale the scalable component using a custom action identified in the received parameters.

20. The non-transitory computer readable storage medium of claim 11 , wherein the instructions, when executed, cause the machine to update the dependent component to operate with the scalable component by at least one of communicating with the scalable component, interacting with the scalable component, interfacing with the scalable component, monitoring the scalable component, or managing operation of the scalable component.

21. A method comprising:

determining an execution plan for a scaling operation of an application in a platform environment based on a dependency graph corresponding to a dependency of components within a blueprint, the blueprint referencing a generic build profile for a scalable component and including settings specific to a physical location of a machine hosting the scalable component;

executing custom logic associated with the scalable component specified in the execution plan, to perform the scaling operation to scale the scalable component in the platform environment based on the execution plan, the scalable component corresponding to the application; and

updating, by executing an instruction with a processor, operation of a dependent component based on the scaling operation to enable the dependent component to interact with the scalable component after the scaling operation, the dependent component to cooperate with the scalable component after the scaling operation.

22. The method of claim 21 , wherein the scalable component is a first scalable component and the blueprint is a multi-machine blueprint including a first blueprint corresponding to the first scalable component and a second blueprint corresponding to a second scalable component.

23. The method of claim 21 , wherein the scaling of the scalable component includes:

scaling out the scalable component into more scalable components; or

scaling in the scalable component into less scalable components.

24. The method of claim 21 , wherein the dependent component depends on the scalable component by at least one of managing or communicating with the scalable component.

25. The method of claim 21 , wherein the updating of the operation of the dependent component includes updating an Internet protocol (IP) table of the dependent component, the IP table corresponding to the scalable component.

26. The method of claim 21 , further including receiving instructions to scale the scalable component.

27. The method of claim 26 , further including receiving parameters of the scaling operation from a user.

28. The method of claim 26 , further including receiving instructions to (A) scale in the scalable component when available resources corresponding to the scalable component are high and (B) scale out the scalable component when the available resources corresponding to the scalable component are low.

29. The method of claim 27 , wherein the scaling of the scalable component includes using a custom action identified in the received parameters.

30. The method of claim 21 , further including updating the dependent component to cooperate with the scalable component by at least one of communicating with the scalable component, interacting with the scalable component, interfacing with the scalable component, monitoring the scalable component, or managing operation of the scalable component.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2017
From: SAVOV, BORIS; DIMITROV, GEORGE P.; RAIKOV, VENTSYSLAV; GEORGIEV, KRISTIYAN
To: VMWARE, INC
Reel/Frame 042654/0446 →
Cited By (1)
US 12,619,472