IP Library Granted Patent US 10,083,059
Granted Patent B1
US 10,083,059 · App. 15/925,339 · Granted Sep 25, 2018

Method and system of hydrating of virtual machines

Inventors: Bijender Singh (Glen Allen, VA); Amit Mawkin (Glen Allen, VA); Zachary McAuliffe (Glen Allen, VA); Chris Fanis (Glen Allen, VA); Sheo Sinha (Henrico, VA)
Assignee: Capital One Services, LLC
G06F9/45558G06F8/65G06F8/71G06F2009/4557G06F2009/45562G06F2009/45595
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 10,083,059
App. No.
15/925,339
Granted
Sep 25, 2018
Kind
B1
Abstract

Embodiments disclosed herein generally relate to a method and system for automatically updating a virtual machine image of one or more virtual machines of an auto-scaling group. A computing system receives an indication to update a virtual machine image of a plurality of virtual machines in a plurality of auto-scaling groups. Computing system identifies a subset of the plurality of auto-scaling groups that contains a hydration tag. Computing system locates a version of the virtual machine image different from a current version of the virtual machine image. For each auto-scaling group in the subset of auto-scaling groups, computing system clones a launch configuration for the virtual machines in the auto-scaling group. Computing system stores data associated with each auto-scaling group in a remote location. Computing system updates the virtual machine image of the virtual machines in each auto-scaling group with the new version of the virtual machine image.

Claims (70)

1. A method, comprising:

receiving an indication to update a virtual machine image of a plurality of virtual machines in a plurality of auto-scaling groups;

identifying a subset of the plurality of auto-scaling groups that contain a hydration tag;

locating a different version of the virtual machine image different from a current version of the virtual machine image;

for each auto-scaling group in the subset of the plurality of auto-scaling groups, cloning a launch configuration for the virtual machines in the auto-scaling group;

storing data associated with each auto-scaling group in a remote location;

updating the virtual machine image of the virtual machines in each auto-scaling group with the different version of the virtual machine image; and

launching a new auto-scaling group instance using the cloned launch configuration.

2. The method of claim 1 , wherein launch configurations are unique to each respective auto-scaling group.

3. The method of claim 1 , wherein storing data associated with each auto-scaling group to a remote location, comprises:

storing the data in a bucket on a cloud storage platform.

4. The method of claim 1 , wherein the different version of virtual machine image is one of a previous version of the virtual machine image from the current version of the virtual machine image and a new version of the virtual machine image from the current version of the virtual machine image.

5. The method of claim 1 , wherein launching a new auto-scaling group instance using the cloned launch configuration, comprises:

accessing the data stored in the remote location; and

injecting the data in the new auto-scaling group instance.

6. The method of claim 1 , wherein locating the version of the virtual machine image different from a current version of the virtual machine image, comprises:

locating a JavaScript Objection Notation (JSON) file mapping all prior and subsequent versions of the current virtual machine image; and

tracing the mapping to one of a prior version of the virtual machine image or a new version of the virtual machine image.

7. The method of claim 1 , wherein launching a new auto-scaling group instance using the cloned launch configuration, comprises:

re-directing traffic from the auto-scaling group to the new auto-scaling group instance.

8. The method of claim 1 , wherein launching a new auto-scaling group instance using the cloned launch configuration, comprises:

assessing a health of an application executing across virtual machines of an auto-scaling group;

determining that the application is exhibiting a negative health; and

increasing a number of virtual machines in the new auto-scaling group instance.

9. The method of claim 1 , wherein launching a new auto-scaling group instance using the cloned launch configuration, comprises:

assessing a health of an application executing across virtual machines of an auto-scaling group;

determining that the application is exhibiting a positive health; and

decreasing a number of virtual machines in the new auto-scaling group instance.

10. The method of claim 1 , launching comprises:

re-directing traffic from the auto-scaling group to the new auto-scaling group.

11. A method comprising:

receiving, from a client device, a set of lambda functions for automatically updating a virtual machine image associated with auto-scaling groups, each auto-scaling group comprising one or more virtual machines, the set of lambda functions, comprising:

a first lambda function to identify one or more auto-scaling groups that contain a hydration tag;

a second lambda function that clones launch configurations associated with each auto-scaling group that contains a hydration tag and re-launches each auto-scaling group according with the cloned launch configurations, such that each auto-scaling group comprises an virtual machine image; and

a third lambda function that updates each new auto-scaling group instance with data previously contained in the auto-scaling group;

executing the first, second, and third lambda functions to generate the new auto-scaling groups comprising the updated virtual machine image; and

redirecting traffic associated with each auto-scaling group to each corresponding new auto-scaling group.

12. The method of claim 11 , wherein executing the first, second, and third lambda functions to generate the new auto-scaling groups comprising the updated virtual machine image, further comprises:

assessing a health of an application executing across virtual machines of an auto-scaling group;

determining that the application is exhibiting a negative health; and

increasing a number of virtual machines in the new auto-scaling group instance.

13. The method of claim 11 , wherein executing the first, second, and third lambda functions to generate the new auto-scaling groups comprising the updated virtual machine image, further comprises:

assessing a health of an application executing across virtual machines of an auto-scaling group;

determining that the application is exhibiting a positive health; and

decreasing a number of virtual machines in the new auto-scaling group instance.

14. The method of claim 11 , wherein executing the first, second, and third lambda functions to generate the new auto-scaling groups comprising the updated virtual machine image, further comprises:

accessing the data stored in the remote location; and

injecting the data in the new auto-scaling group instance.

15. The method of claim 11 , further comprising:

transmitting a message to the client device indicating that the virtual machine image has been updated.

16. A system, comprising;

a processor; and

a memory, storing programming instructions, which, when executed by the processor, performs an operation comprising:

determining that a new version of a virtual machine image of a plurality of virtual machines in an auto-scaling groups exists;

identifying that the auto-scaling group is a candidate for automatic virtual machine image updates;

cloning a launch configuration of the auto-scaling group;

storing data associated with the auto-scaling group to a remote server; and

launching an updated auto-scaling group in accordance with the cloned launch configurations, wherein the updated auto-scaling group comprises the new version of the virtual machine image.

17. The system of claim 16 , wherein the operation further comprising:

redirecting traffic associated with the auto-scaling group to the updated auto-scaling group.

18. The system of claim 16 , wherein identifying that the auto-scaling group is a candidate for automatic virtual machine image updates, comprises:

identifying that the auto-scaling group includes a pre-designated tag that denotes that auto-scaling group as the candidate for automatic virtual machine image updates.

19. The system of claim 16 , wherein the operation further comprises:

assessing a health of an application executing across virtual machines of the auto-scaling group;

determining that the application is exhibiting a negative health; and

increasing a number of virtual machines in the updated auto-scaling group instance.

20. The system of claim 16 , wherein the operation further comprises;

assessing a health of an application executing across virtual machines of the auto-scaling group;

determining that the application is exhibiting a positive health; and

decreasing a number of virtual machines in the updated auto-scaling group instance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2018
From: SINGH, BIJENDER; MAWKIN, AMIT; MCAULIFFE, ZACHARY; FANIS, CHRIS; SINHA, SHEO
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 045277/0825 →
Cited By (1)
US 12,393,359