IP Library Granted Patent US 12,367,152
Granted Patent B2
US 12,367,152 · App. 18/477,557 · Granted Jul 22, 2025

Accelerating containerized applications with caching

Inventors: Lianjie Cao (San Jose, CA); Zhen Lin (Arlington, TX); Faraz Ahmed (Santa Clara, CA); Puneet Sharma (Palo Alto, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F12/0891G06F12/063
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 12,367,152
App. No.
18/477,557
Granted
Jul 22, 2025
Kind
B2
Abstract

In certain embodiments, a computer-implemented method includes: receiving, by a caching system plugin, a request to create a persistent volume for a container application instance; configuring, by the caching system plugin, a local cache volume on a host computing device; configuring, by the caching system plugin, a remote storage volume on a remote storage device; selecting, by a policy manager of the caching system plugin, a cache policy for the container application instance; creating, by the caching system plugin and from a cache manager, a virtual block device associated with the local cache volume, the remote storage volume, and the cache policy; and providing the virtual block device for use by the container application instance as the persistent volume.

Claims (58)

1. A system, comprising:

one or more processors; and

one or more non-transitory computer readable media storing instructions which, when executed by the one or more processors, cause the one or more processors to:

receive, at a caching system plugin on a host computing device and from a caching system controller of a control plane of a container ecosystem, a request to create a persistent volume for a container application instance to be deployed on the host computing device;

configure, in response to the request, a local cache volume on the host computing device on which the container application instance is deployed, wherein the local cache volume is configured specifically to be first portion of the persistent volume for the container application instance;

configure, in response to the request, a remote storage volume on a remote storage device, wherein the remote storage volume is configured specifically to be a second portion of the persistent volume for the container application instance;

select a cache policy for the container application instance;

create a virtual block device associated with the local cache volume on the host computing device, the remote storage volume on the remote storage device, and the cache policy, wherein the virtual block device including the local cache volume and the remote storage volume is provided to the container application instance as the persistent volume; and

provide the virtual block device for use by the container application instance as the persistent volume.

2. The system of claim 1 , wherein:

the caching system plugin executes on the host computing device,

wherein the host computing device is a node of the container ecosystem, and

the caching system controller executes in the control plane of the container ecosystem.

3. The system of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

perform input/output (I/O) operations of the container application instance on the persistent volume pursuant to the cache policy.

4. The system of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

monitor input/output (I/O) behavior of the container application instance; and

provide the monitored I/O behavior to the caching system controller for updating historical I/O behavior data for a container application corresponding to the container application instance.

5. The system of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

provide information related to the virtual block device to the caching system controller to be stored as configuration information related to the container application instance.

6. The system of claim 1 , wherein the cache policy comprises a cache mode and an eviction algorithm.

7. A computer-implemented method, comprising:

receiving, by a caching system plugin on a host computing device and from a caching system controller of a control plane of a container ecosystem, a request to create a persistent volume for a container application instance to be deployed on the host computing device;

configuring, by the caching system plugin and in response to the request, a local cache volume on the host computing device on which the container application instance is deployed, wherein the local cache volume is configured specifically to be first portion of the persistent volume for the container application instance;

configuring, by the caching system plugin and in response to the request, a remote storage volume on a remote storage device, wherein the remote storage volume is configured specifically to be a second portion of the persistent volume for the container application instance;

selecting, by a policy manager of the caching system plugin, a cache policy for the container application instance;

creating, by the caching system plugin and from a cache manager, a virtual block device associated with the local cache volume on the host computing device, the remote storage volume on the remote storage device, and the cache policy, wherein the virtual block device including the local cache volume and the remote storage volume is provided to the container application instance as the persistent volume; and

providing the virtual block device for use by the container application instance as the persistent volume.

8. The computer-implemented method of claim 7 , wherein:

the caching system plugin executes on the host computing device,

the host computing device is a node of the container ecosystem, and

the caching system controller executes in the control plane of the container ecosystem.

9. The computer-implemented method of claim 7 , further comprising:

performing input/output (I/O) operations of the container application instance on the persistent volume pursuant to the cache policy.

10. The computer-implemented method of claim 7 , further comprising:

monitoring input/output (I/O) behavior of the container application instance; and

providing the monitored I/O behavior to the caching system controller for updating historical I/O behavior data for a container application corresponding to the container application instance.

11. The computer-implemented method of claim 7 , further comprising:

providing information related to the virtual block device to the caching system controller to be stored as configuration information related to the container application instance.

12. The computer-implemented method of claim 7 , wherein the cache policy comprises a cache mode and an eviction algorithm.

13. A non-transitory computer-readable medium storing programming for execution by one or more processors, the programming comprising instructions to:

receive, at a caching system plugin on a host computing device and from a caching system controller of a control plane of a container ecosystem, a request to create a persistent volume for a container application instance to be deployed on the host computing device;

configure, in response to the request, a local cache volume on the host computing device on which the container application instance is deployed, wherein the local cache volume is configured specifically to be first portion of the persistent volume for the container application instance;

configure, in response to the request, a remote storage volume on a remote storage device, wherein the remote storage volume is configured specifically to be a second portion of the persistent volume for the container application instance;

select a cache policy for the container application instance;

create a virtual block device associated with the local cache volume on the host computing device, the remote storage volume on the remote storage device, and the cache policy, wherein the virtual block device including the local cache volume and the remote storage volume is provided to the container application instance as the persistent volume; and

provide the virtual block device for use by the container application instance as the persistent volume.

14. The non-transitory computer-readable medium of claim 13 , wherein:

the caching system plugin executes on the host computing device,

the host computing device is a node of the container ecosystem, and

the caching system controller executes in the control plane of the container ecosystem.

15. The non-transitory computer-readable medium of claim 13 , wherein the programming comprises further instructions to:

perform input/output (I/O) operations of the container application instance on the persistent volume pursuant to the cache policy.

16. The non-transitory computer-readable medium of claim 13 , wherein the programming comprises further instructions to:

monitor input/output (I/O) behavior of the container application instance; and

provide the monitored I/O behavior to the caching system controller for updating historical I/O behavior data for a container application corresponding to the container application instance.

17. The non-transitory computer-readable medium of claim 13 , wherein the programming comprises further instructions to:

provide information related to the virtual block device to the caching system controller to be stored as configuration information related to the container application instance.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2023
From: CAO, LIANJIE; LIN, ZHEN; AHMED, FARAZ; SHARMA, PUNEET
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 065068/0807 →
Continuity (1)
Related Publication 20250110883A1 · Apr 3, 2025
References Cited (17)
US 10659533B1 · Zhao · 2020 [cited by examiner]
US 20230051328A1 · Barczak · 2023 [cited by examiner]
“Cache—The Linux Kernel documentation”, available online at <https://www.kernel.org/doc/html/latest/admin-guide/device-mapper/cache.html>, 2021, 6 pages. [cited by applicant]
“CNCF Survey 2020”, 2020, 18 pages. [cited by applicant]
“What is Rook?”, available online at <https://rook.io/>, 2023, 5 pages. [cited by applicant]
Anderson et al., “Assise: Performance and Availability via Client-local NVM in a Distributed File System”, 14th USENIX Symposium on Operating Systems Design and Implementation, Nov. 4-6, 2020, 18 pages. [cited by applicant]
Fedorova et al., “Writes Hurt: Lessons in Cache Design for Optane NVRAM”, 2022, 14 pages. [cited by applicant]
Github, “Open CAS Linux—Admin Guide”, available online at <https://open-cas.github.io/guide_configuring.html>, 2023, 11 pages. [cited by applicant]
Intel Corporation, “Intel Optane Persistent Memory,”, available online at <https://www.intel.com/content/www/us/en/products/docs/memory-storage/optane-persistent-memory/overview.html>, 2022, 5 pages. [cited by applicant]
Kubernetes, “Persistent Volumes”, available online at <https://kubernetes.io/docs/concepts/storage/persistent-volumes/>, Sep. 15, 2023, 22 pages. [cited by applicant]
Kwon et al., “Strata: A Cross Media File System”, ACM, 2017, 18 pages. [cited by applicant]
Longhorn Authors, “Longhorn—Cloud native distributed block storage for Kubernetes”, available online at <https://longhorn.io/>, 2023, 3 pages. [cited by applicant]
Portworx , “Portworx Enterprise—Kubernetes Storage Platform”, available online at <https://portworx.com/products/portworx-enterprise/>, 2023, 1 page. [cited by applicant]
Red Hat, “Gluster”, available online <https://www.gluster.org/>, 2019, 4 pages. [cited by applicant]
Song et al., “First Responder: Persistent Memory Simultaneously as High Performance Buffer Cache and Storage”, USENIX Annual Technical Conference, 2021, 16 Pages. [cited by applicant]
Wu et al., “The Storage Hierarchy is Not a Hierarchy: Optimizing Caching on Modern Storage Devices with Orthus”, 19th USENIX Conference on File and Storage Technologies, 2021, 18 pages. [cited by applicant]
Xu et al., “NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main Memories”, 14th USENIX Conference on File and Storage Technologies (FAST '16), Feb. 22-25, 2016, 17 pages. [cited by applicant]