IP Library Granted Patent US 10,235,222
Granted Patent B2
US 10,235,222 · App. 15/488,298 · Granted Mar 19, 2019

Containerized application system graph driver

Inventors: Joseph Jobi (Santa Clara, CA); Goutham Rao (Los Altos, CA)
Assignee: Portworx, Inc.
G06F9/545
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,235,222
App. No.
15/488,298
Granted
Mar 19, 2019
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 (36)

1. A system comprising:

a memory;

a network interface configured to enable communications over a network;

at least one processor configured to:

store a first plurality of application image layers associated with a first application, the first plurality of application image layers being a stack of layers representing an application image;

instantiate a first application container based on the 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 , wherein the second application container has a different hardware configuration than the first application container.

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

4. The system of claim 3 , 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.

5. 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.

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

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

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

9. A method comprising:

receiving, using the at least one processor, a request to create an application container;

identifying, using the at least one processor, a first plurality of application image layers, the first plurality of application image layers being a stack of layers representing an application image;

instantiating, using the at least one processor, a first application container based on the 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.

10. The method of claim 9 further comprising:

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

11. The method of claim 10 further comprising:

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

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

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

receiving, using the at least one processor, a request to create an application container;

identifying, using the at least one processor, a first plurality of application image layers, the first plurality of application image layers being a stack of layers representing an application image;

instantiating, using the at least one processor, a first application container based on the 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.

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

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

15. The one or more non-transitory computer readable media recited in claim 14 , 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 Apr 14, 2017
From: JOBI, JOSEPH; RAO, GOUTHAM
To: PORTWORX, INC.
Reel/Frame 042018/0134 →
Continuity (3)
Provisional Application 62445623 · Jan 12, 2017
Provisional Application 62442795 · Jan 5, 2017
Related Publication 20180189121A1 · Jul 5, 2018
Cited By (1)
US 12,608,280