IP Library Granted Patent US 11,726,845
Granted Patent B2
US 11,726,845 · App. 17/559,596 · Granted Aug 15, 2023

Private page cache-based sharing of access to application image layers by application containers

Inventors: Joseph Jobi (Santa Clara, CA); Goutham Rao (Santa Clara, CA)
Assignee: Pure Storage, 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 11,726,845
App. No.
17/559,596
Granted
Aug 15, 2023
Kind
B2
Abstract

An example system may be configured to instantiate a first application container based on a plurality of application image layers; and instantiate a second application container based, at least in part, on the plurality of application image layers; wherein a private page cache stores storage information for the plurality of application image layers and is used to provide shared access to the plurality of application image layers by the first application container and the second application container.

Claims (32)

1. A system comprising:

a memory; and

at least one processor configured to:

instantiate a first application container based on a plurality of application image layers; and

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

wherein a private page cache stores storage information for the plurality of application image layers and is used to provide shared access to the plurality of application image layers by the first application container and the second application container.

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 at least one processor is further configured to store the 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 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 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 plurality of application image layers; and

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

wherein a private page cache stores storage information for the plurality of application image layers and is used to provide shared access to the plurality of application image layers by the first application container and the second application container.

13. The method of claim 12 , further comprising:

identifying the plurality of application image layers, the 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 plurality of application image layers; and

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

wherein a private page cache stores storage information for the plurality of application image layers and is used to provide shared access to the plurality of application image layers by the first application container and the second application container.

18. The one or more non-transitory computer readable media recited in claim 17 , wherein the method further comprises identifying the plurality of application image layers, the 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 Dec 22, 2021
From: JOBI, JOSEPH; RAO, GOUTHAM
To: PORTWORX, INC.
Reel/Frame 058463/0984 →
Continuity (6)
Continuation 16805599 · Feb 28, 2020
Continuation 16354438 · Mar 15, 2019
Continuation 15488298 · Apr 14, 2017
Provisional Application 62445623 · Jan 12, 2017
Provisional Application 62442795 · Jan 5, 2017
Related Publication 20220114037A1 · Apr 14, 2022