IP Library Granted Patent US 10,613,917
Granted Patent B2
US 10,613,917 · App. 16/354,438 · Granted Apr 7, 2020

Containerized application system graph driver

Inventors: Joseph Jobi (Santa Clara, CA); Goutham Rao (Los Altos, CA)
Assignee: Portworx, Inc.
G06F9/545G06F9/455G06F9/5016
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,613,917
App. No.
16/354,438
Granted
Apr 7, 2020
Kind
B2
Abstract

A custom file system in a containerized software architecture facilitates the instantiation of application containers. Each container is composed of one or more application image layers. An application container instance includes read-only application image layer data shared among application container instances associated with the same application container. An application container instance may also include read/write application container instance data that is specific to the application container instance.

Claims (37)

1. A system comprising:

a memory; and

at least one processor configured to:

instantiate a first application container based on a first plurality of application image layers and application instance data, the first application container being a virtualized application, the first application container having read-only access to the first plurality of application image layers; and

instantiate a second application container based, at least in part, on the first plurality of application image layers; and

a private page cache configured to facilitate shared access of both the first application container and the second application container to the first plurality of application image layers.

2. The system of claim 1 , further comprising a network interface configured to enable communications over a network.

3. The system of claim 1 , wherein the processor is further configured to store the first plurality of application image layers.

4. The system of claim 1 , wherein the plurality of application image layers comprises a stack of layers representing an application image.

5. The system of claim 1 , wherein the second application container has a different hardware configuration than the first application container.

6. The system of claim 1 further comprising a database configured to store and maintain information associated with the first plurality of application layers.

7. The system of claim 6 , wherein the database is configured to store a name, a checksum, time information, and an application identifier for each image layer of the first plurality of application image layers.

8. The system of claim 1 , wherein the at least one processor is further configured to store a second plurality of application image layers associated with a second application.

9. The system of claim 8 , wherein the at least one processor is further configured to instantiate a third application container based on the second plurality of application image layers.

10. The system of claim 1 , wherein the first application container is a privileged storage container application.

11. The system of claim 1 , wherein the memory and the at least one processor are included in a storage container node.

12. A method comprising:

instantiating, using at least one processor, a first application container based on a first plurality of application image layers and application instance data, the first application container being a virtualized application, the first application container having read-only access to the first plurality of application image layers;

instantiating a second application container based, at least in part, on the first plurality of application image layers; and

facilitating shared access of both the first application container and the second application container to the first plurality of application image layers via a private page cache.

13. The method of claim 12 , further comprising:

identifying the first plurality of application image layers, the first plurality of application image layers being a stack of layers representing an application image.

14. The method of claim 13 further comprising:

identifying a second plurality of application image layers associated with a second application.

15. The method of claim 14 further comprising:

instantiating a third application container based on the second plurality of application image layers.

16. The method of claim 12 , wherein the first application container is a privileged storage container application.

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

instantiating, using at least one processor, a first application container based on a first plurality of application image layers and application instance data, the first application container being a virtualized application, the first application container having read-only access to the first plurality of application image layers;

instantiating a second application container based, at least in part, on the first plurality of application image layers; and

facilitating shared access of both the first application container and the second application container to the first plurality of application image layers via a private page cache.

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

identifying the first plurality of application image layers, the first plurality of application image layers being a stack of layers representing an application image.

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

identifying a second plurality of application image layers associated with a second application.

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

instantiating a third application container based on the second plurality of application image layers.

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 Oct 6, 2020
From: JOBI, JOSEPH; RAO, GOUTHAM
To: PORTWORX, INC.
Reel/Frame 053986/0882 →
Continuity (4)
Continuation 15488298 · Apr 14, 2017
Provisional Application 62445623 · Jan 12, 2017
Provisional Application 62442795 · Jan 5, 2017
Related Publication 20190272204A1 · Sep 5, 2019