IP Library Granted Patent US 10,585,694
Granted Patent B2
US 10,585,694 · App. 15/874,118 · Granted Mar 10, 2020

Node regeneration in distributed storage systems

Inventors: Goutham Rao (Los Altos, CA); Vinod Jayaraman (San Francisco, CA); Ganesh Sangle (Sunnyvale, CA)
Assignee: Portworx, Inc.
G06F9/45558G06F3/0664H04L67/1097G06F2009/45562G06F2009/45579H04L67/42
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,585,694
App. No.
15/874,118
Granted
Mar 10, 2020
Kind
B2
Abstract

Systems, devices, and methods are disclosed herein for containerized scalable storage applications. Methods may include instantiating an application instance based on a plurality of application instance parameters, the application instance being configured to utilize a plurality of storage volumes implemented in a storage cluster. Methods may also include enumerating a plurality of unattached storage volumes included in the cluster associated with the application instance, the plurality of unattached storage volumes having a plurality of underlying physical storage devices, and the plurality of unattached storage volumes being identified based on a plurality of application instance parameters. The methods may further include attaching at least some of the plurality of unattached storage volumes to the application instance, wherein the attaching enables the application instance to access data stored in the attached storage volumes.

Claims (35)

1. A method comprising:

instantiating an application instance based on a plurality of application instance parameters, the application instance being configured to utilize a plurality of storage volumes implemented in a storage cluster;

enumerating, using a processor, a plurality of unattached storage volumes included in the cluster associated with the application instance, the plurality of unattached storage volumes having a plurality of underlying physical storage devices, and the plurality of unattached storage volumes being identified based on a plurality of application instance parameters; and

attaching, using the processor, at least some of the plurality of unattached storage volumes to the application instance, wherein the attaching enables the application instance to access data stored in the attached storage volumes; wherein the application instance is instantiated by a scalable web services provider, and wherein the attaching is implemented by a containerized storage service provider.

2. The method of claim 1 , wherein the application instance parameters are determined based on an application template.

3. The method of claim 2 , wherein the application instance parameters are selected from a group consisting of storage characteristics, input/output (I/O) characteristics, and operating system type.

4. The method of claim 1 , wherein the attaching is based on custom labels associating at least some of the plurality of the storage volumes with an application underlying the application instance.

5. The method of claim 1 further comprising:

generating a new storage volume based, at least in part, on the application instance parameters; and

attaching the new storage volume to the application instance.

6. The method of claim 1 , wherein the application instance is a database application.

7. The method of claim 1 , wherein the application instance is a containerized scalable storage application.

8. The method of claim 1 , wherein the plurality of storage volumes is implemented on a plurality of storage container nodes in at least one storage container node cluster.

9. A system comprising:

a plurality of storage devices configured to implement a plurality of storage volumes in at least one cluster of storage volumes; and a processor configured to:

instantiate an application instance based on a plurality of application instance parameters, the application instance being configured to utilize at least some of the plurality of storage volumes implemented in the cluster;

enumerate a plurality of unattached storage volumes included in the cluster associated with the application instance, the plurality of unattached storage volumes being identified based on a plurality of application instance parameters; and

attach at least some of the plurality of unattached storage volumes to the application instance, wherein the attaching enables the application instance to access data stored in the attached storage volumes;

wherein the application instance is instantiated by a scalable web services provider, and wherein the attaching is implemented by a containerized storage service provider.

10. The system of claim 9 , wherein the application instance parameters are determined based on an application template.

11. The system of claim 10 , wherein the application instance parameters are selected from a group consisting of storage characteristics, input/output (I/O) characteristics, and operating system type.

12. The system of claim 9 , wherein the attaching is based on custom labels associating at least some of the plurality of the storage volumes with an application underlying the application instance.

13. The system of claim 9 , wherein the processor is further configured to:

generate a new storage volume based, at least in part, on the application instance parameters; and

attach the new storage volume to the application instance.

14. One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising:

instantiating an application instance based on a plurality of application instance parameters, the application instance being configured to utilize a plurality of storage volumes implemented in a storage cluster;

enumerating a plurality of unattached storage volumes included in the cluster associated with the application instance, the plurality of unattached storage volumes having a plurality of underlying physical storage devices, and the plurality of unattached storage volumes being identified based on a plurality of application instance parameters; and

attaching at least some of the plurality’ of unattached storage volumes to the application instance, wherein the attaching enables the application instance to access data stored in the attached storage volumes;

wherein the application instance is instantiated by a scalable web service provider, and wherein the attaching is implemented by a containerized storage service provider.

15. The one or more non-transitory computer readable media recited in claim 14 , wherein the attaching is based on custom labels associating at least some of the plurality of the storage volumes with an application underlying the application instance.

16. The one or more non-transitory computer readable media recited in claim 14 , wherein the method further comprises:

generating a new storage volume based, at least in part, on the application instance parameters; and

attaching the new storage volume to the application instance.

17. The one or more non-transitory computer readable media recited in claim 14 , wherein the application instance is a containerized scalable storage application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2022
From: PORTWORX, INC.
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 061033/0742 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2019
From: RAO, GOUTHAM; JAYARAMAN, VINOD; SANGLE, GANESH
To: PORTWORX, INC.
Reel/Frame 048496/0914 →
Continuity (1)
Related Publication 20190220297A1 · Jul 18, 2019
Cited By (1)
US 12,481,531