IP Library Granted Patent US 11,349,923
Granted Patent B2
US 11,349,923 · App. 16/750,193 · Granted May 31, 2022

Persistent volumes for stateful applications

Inventors: Casey Cook (Redwood City, CA); Mingliang Sun (Fremont, CA); Anurag Bhatt (Brampton, CA); Jonathan Barthelemy (San Francisco, CA); Wei Feng (Fremont, CA); Krishnakumar Sivashanmugam (Dublin, CA)
Assignee: salesforce.com, inc.
H04L67/1097G06F3/0604G06F3/067G06F3/0644H04L47/82G06Q10/0631G06Q30/016
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,349,923
App. No.
16/750,193
Granted
May 31, 2022
Kind
B2
Abstract

Systems and methods for implementing stateful services using cloud-based resources are described. A server computing system determines existence of a first volume based on a launch of a first instance by an auto-scaling group (ASG). The first volume is to have a resource tag having a value similar to a value of a resource tag of the ASG. The first volume was previously attached to a second instance terminated by the ASG. Based on a successful determination of the existence of the first volume, the server computing system attaches the first volume to the first instance. Based on a failed determination of the existence of the first volume, the server computing system generates a second volume, attaches the second volume to the first instance, and set a resource tag of the second volume to a value similar to the value of the resource tag of the ASG.

Claims (41)

1. A method for implementing stateful services using cloud-based resources comprising:

determining, by a server computing system, whether a first volume having a resource tag with a value that corresponds to a value of a resource tag of an auto-scaling group (ASG) exists in response to a launch of a first instance by the ASG, the ASG being configured to launch the first instance automatically based on a scaling policy, and wherein the first volume was previously attached to a second instance terminated by the ASG;

based on a successful determination of the existence of the first volume, attaching, by the server computing system, the first volume to the first instance launched by the ASG; and

based on a failed determination of the existence of the first volume:

generating, by the server computing system, a second volume,

attaching, by the server computing system, the second volume to the first instance, and

setting a resource tag of the second volume to a value corresponding to the value of the resource tag of the ASG.

2. The method of claim 1 , wherein the ASG, the first instance, the second instance, the first volume and the second volume are defined using infrastructure as code (IaC).

3. The method of claim 2 , wherein the first volume and the second volume are defined as persistent volumes using the IaC.

4. The method of claim 3 , wherein the value of the resource tag of the ASG is associated with a value assigned to the stateful service.

5. The method of claim 4 , wherein instances launched by the ASG, including the first instance and the second instance, are configured to be in an availability zone.

6. The method of claim 5 , further comprising setting, by the server computing system, the resource tag of the first volume to a value corresponding to the value of the resource tag of the ASG when the first volume was attached to the second instance.

7. The method of claim 6 , wherein said launching of the first instance and said termination of the second instance are performed by the ASG based on scaling criteria defined using the IaC.

8. A system for implementing stateful services using cloud-based resources comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors of a server computing system to:

determine whether a first volume having a resource tag with a value that corresponds to a value of a resource tag of an auto-scaling group (ASG) exists in response to a launch of a first instance by the ASG, the ASG being configured to launch the first instance automatically based on a scaling policy, and wherein the first volume was previously attached to a second instance terminated by the ASG;

based on a successful determination of the existence of the first volume, attach the first volume to the first instance launched by the ASG; and

based on a failed determination of the existence of the first volume:

generate a second volume,

attach the second volume to the first instance, and

set a resource tag of the second volume to a value corresponding to the value of the resource tag of the ASG.

9. The system of claim 8 , wherein the ASG, the first instance, the second instance, the first volume and the second volume are defined using infrastructure as code (IaC).

10. The system of claim 9 , wherein the first volume and the second volume are defined as persistent volumes using the IaC.

11. The system of claim 10 , wherein the value of the resource tag of the ASG is associated with a value assigned to the stateful service.

12. The system of claim 11 , wherein instances launched by the ASG, including the first instance and the second instance, are configured to be in an availability zone.

13. The system of claim 12 , further comprising instructions to set the resource tag of the first volume to a value corresponding to the value of the resource tag of the ASG when the first volume was attached to the second instance.

14. The system of claim 13 , wherein the ASG is configured to launch the first instance and to terminate the second instance based on scaling criteria defined using the IaC.

15. A computer program product for implementing stateful services using cloud-based resources comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to:

determine whether a first volume having a resource tag with a value that corresponds to a value of a resource tag of an auto-scaling group (ASG) exists in response to a launch of a first instance by the ASG, the ASG being configured to launch the first instance automatically based on a scaling policy, and wherein the first volume was previously attached to a second instance terminated by the ASG;

based on a successful determination of the existence of the first volume, attach the first volume to the first instance launched by the ASG; and

based on a failed determination of the existence of the first volume:

generate a second volume,

attach the second volume to the first instance, and

set a resource tag of the second volume to a value corresponding to the value of the resource tag of the ASG.

16. The computer program product of claim 15 , wherein the ASG, the first instance, the second instance, the first volume and the second volume are defined using infrastructure as code (IaC).

17. The computer program product of claim 16 , wherein the first volume and the second volume are defined as persistent volumes using the IaC.

18. The computer program product of claim 17 , wherein the value of the resource tag of the ASG is associated with a value assigned to the stateful service.

19. The computer program product of claim 18 , wherein instances launched by the ASG, including the first instance and the second instance, are configured to be in a same availability zone.

20. The computer program product of claim 19 , further comprising instructions to set the resource tag of the first volume to a value that is the same as the value of the resource tag of the ASG when the first volume was attached to the second instance.

21. The computer program product of claim 20 , wherein the ASG is configured to launch the first instance and to terminate the second instance based on scaling criteria defined using the IaC.

Assignments (2)
CHANGE OF NAME Recorded Sep 20, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 064975/0956 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2020
From: COOK, CASEY; SUN, MINGLIANG; BHATT, ANURAG; BARTHELEMY, JONATHAN; FENG, WEI; SIVASHANMUGAM, KRISHNAKUMAR
To: SALESFORCE.COM, INC.
Reel/Frame 051595/0296 →
Continuity (1)
Related Publication 20210234925A1 · Jul 29, 2021
Cited By (1)
US 12,542,720