IP Library Granted Patent US 11,184,233
Granted Patent B1
US 11,184,233 · App. 16/449,747 · Granted Nov 23, 2021

Non-disruptive upgrades to a cloud-based storage system

Inventors: Naveen Neelakantam (Mountain View, CA); Joshua Freilich (San Francisco, CA)
Assignee: PURE STORAGE, INC.
H04L41/082H04L67/1097
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,184,233
App. No.
16/449,747
Filed
Jun 24, 2019
Granted
Nov 23, 2021
Kind
B1
Art Unit
2451
USPC
709/221
Abstract

Performing non-disruptive upgrades to a cloud-based storage system may include receiving a request to update one or more components of the cloud-based storage system, the request comprising an identification of an updated codified state of the cloud-based storage system; determining, based on the updated codified state and a current state of the cloud-based storage system, one or more transitional codified states; and updating the one or more components by applying the one or more transitional codified states.

Claims (32)

1. A method comprising:

receiving a request to update one or more cloud computing instances of a cloud-based storage system, the request comprising an identification of an updated state of the cloud-based storage system;

determining, based on the updated state and a current state of the cloud-based storage system, a plurality of transitional states, each transitional state comprising one or more configuration templates to apply to one or more cloud computing instances of the cloud-based storage system, that, when applied, cause the cloud-based storage system to reflect the updated state,

wherein each transitional state is associated with actions to be performed to update the cloud-based storage system and one or more parameters to be utilized when performing the actions, wherein the one or more parameters are initially abstracted out and are later determined from the updated state and inserted into the transitional state; and

updating the one or more cloud computing instances by applying the plurality of transitional states.

2. The method of claim 1 , wherein the updated state, the current state, and the plurality of transitional states comprise configuration templates for the cloud-based storage system.

3. The method of claim 1 , wherein determining the plurality of transitional states comprises querying a repository storing the plurality of transitional states.

4. The method of claim 3 , wherein the repository stores one or more encodings of allowable transitions between the plurality of transitional states.

5. The method of claim 4 , wherein the allowable transitions are encoded according to one or more rules for preventing a disruptive upgrade.

6. The method of claim 1 , further comprising receiving an indication of a faulty upgrade.

7. The method of claim 6 , wherein determining the plurality of transitional states comprises determining the one or more transitional states to exclude a faulty transitional state associated with the faulty upgrade.

8. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

receiving a request to update one or more cloud computing instances of a cloud-based storage system, the request comprising an identification of an updated state of the cloud-based storage system;

determining, based on the updated state and a current state of the cloud-based storage system, a plurality of transitional states, each transitional state comprising one or more configuration templates to apply to one or more cloud computing instances of the cloud-based storage system, that, when applied, cause the cloud-based storage system to reflect the updated state,

wherein each transitional state is associated with actions to be performed to update the cloud-based storage system and one or more parameters to be utilized when performing the actions, wherein the one or more parameters are initially abstracted out, and are later determined from the updated state and inserted into the transitional state; and

updating the one or more cloud computing instances by applying the plurality of transitional states.

9. The apparatus of claim 8 , wherein the updated state, the current state, and the plurality of transitional states comprise configuration templates for the cloud-based storage system.

10. The apparatus of claim 8 , wherein determining the plurality of transitional states comprises querying a repository storing the plurality of transitional states.

11. The apparatus of claim 10 , wherein the repository stores one or more encodings of allowable transitions between the plurality of transitional states.

12. The apparatus of claim 11 , wherein the allowable transitions are encoded according to one or more rules for preventing a disruptive upgrade.

13. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of receiving an indication of a faulty upgrade.

14. The apparatus of claim 13 , wherein determining the plurality of transitional states comprises determining the plurality of transitional states to exclude a faulty transitional state associated with the faulty upgrade.

15. A computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

receiving a request to update one or more cloud computing instances of a cloud-based storage system, the request comprising an identification of an updated state of the cloud-based storage system;

determining, based on the updated state and a current state of the cloud-based storage system, a plurality of transitional states, with each transitional state comprising one or more configuration templates to apply to one or more cloud computing instances of the cloud-based storage system, that, when applied, cause the cloud-based storage system to reflect the updated state,

wherein each transitional state is associated with actions to be performed to update the cloud-based storage system including one or more parameters to be utilized when performing the actions, wherein the one or more parameters are initially abstracted out and are later determined from the updated state and inserted into the transitional state; and

updating the one or more cloud computing instances by applying the plurality of transitional states.

16. The computer program product of claim 15 , wherein the updated state, the current state, and the plurality of transitional states comprise configuration templates for the cloud-based storage system.

17. The computer program product of claim 15 , wherein determining the plurality of transitional states comprises querying a repository storing a plurality of transitional states.

18. The computer program product of claim 17 , wherein the repository stores one or more encodings of allowable transitions between the plurality of transitional states.

19. The computer program product of claim 15 , further comprising receiving an indication of a faulty upgrade.

20. The computer program product of claim 19 , wherein determining the plurality of transitional states comprises determining the plurality of transitional states to exclude a faulty transitional state associated with the faulty upgrade.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2019
From: NEELAKANTAM, NAVEEN; FREILICH, JOSHUA
To: PURE STORAGE, INC.
Reel/Frame 049564/0846 →
Cited By (5)
US 12,353,430 US 12,379,919 US 12,386,607 US 12,430,245 US 12,710,950