IP Library › Granted Patent US 12,602,325
Granted Patent B2
US 12,602,325 · App. 18/335,351 · Granted Apr 14, 2026

Caching strategy determination and injection

Inventors: Joachim Goennheimer (Walldorf, DE); Sven Sterbling (Heidelberg, DE)
Assignee: SAP SE
G06F12/0837G06F12/0824
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,602,325
App. No.
18/335,351
Granted
Apr 14, 2026
Kind
B2
Abstract

Systems and methods include determination of caching requirements associated with an application, automatic determination of a caching strategy based on the caching requirements and metadata describing a plurality of available caches, providing the caching strategy to the application, and execution of the application to cache data based on the caching strategy.

Claims (115)

1 . A system comprising:

a memory storing processor-executable program code; and

at least one processing unit to execute the processor-executable program code to cause the system to:

determine caching requirements associated with an application;

automatically determine a caching strategy based on the caching requirements and metadata describing characteristics of each of a plurality of available caches;

provide the caching strategy to the application, in response to which the application caches data based on the caching strategy;

determine a cache miss percentage of the application;

automatically determine a second caching strategy based on the cache miss percentage;

provide the second caching strategy to the application, in response to which the application caches data based on the second caching strategy;

detect a change to the metadata describing a size of one of the plurality of available caches; and

in response to detection of the change, changing the size of the one of the plurality of available caches in conformance with the change to the metadata.

2 . A system according to claim 1 , further comprising:

a second memory storing second processor-executable program code; and

a second at least one processing unit to execute the second processor-executable program code to cause the system to:

monitor the application to generate monitoring data; and

based on the monitoring data, determine the cache miss percentage.

3 . A system according to claim 1 , further comprising:

a process cache specific to the application;

an environment cache specific to an execution environment of the application; and

a distributed local cloud environment cache specific to a local cloud environment of the execution environment,

wherein the caching strategy specifies caching data in at least two of the process cache, the environment cache, and the distributed local cloud environment cache.

4 . A system according to claim 1 , the at least one processing unit to execute the processor-executable program code to cause the system to:

determine second caching requirements associated with a second application;

automatically determine a third caching strategy based on the second caching requirements and the metadata describing the plurality of available caches, the third caching strategy being different from the caching strategy; and

provide the third caching strategy to the second application,

wherein the second application caches data based on the third caching strategy.

5 . A system according to claim 4 , further comprising:

a process cache specific to the application;

a second process cache specific to the second application;

an environment cache specific to an execution environment of the application;

a second environment cache specific to a second execution environment of the second application; and

a distributed local cloud environment cache specific to a local cloud environment of the execution environment and of the second execution environment,

wherein the caching strategy specifies caching data in at least two of the process cache, the environment cache, and the distributed local cloud environment cache, and

wherein the third caching strategy specifies caching data in at least two of the second process cache, the second environment cache, and the distributed local cloud environment cache.

6 . A system according to claim 5 , further comprising:

a distributed cross-cloud environment cache,

wherein the caching strategy specifies caching data in at least three of the process cache, the environment cache, the distributed local cloud environment cache and the distributed cross-cloud environment cache, and

wherein the third caching strategy specifies caching data in at least three of the second process cache, the second environment cache, the distributed local cloud environment cache and the distributed cross-cloud environment cache.

7 . A system according to claim 4 , further comprising:

a second memory storing second processor-executable program code; and

a second at least one processing unit to execute the second processor-executable program code to cause the system to:

monitor the application to generate monitoring data; and

based on the monitoring data, determine the cache miss percentage.

8 . A computer-implemented method comprising:

determining caching requirements associated with an application;

automatically determining a caching strategy based on the caching requirements and metadata describing characteristics of each of a plurality of available caches;

providing the caching strategy to the application;

executing the application to cache data based on the caching strategy;

determining a cache miss percentage of the application;

automatically determining a second caching strategy based on the cache miss percentage;

providing the second caching strategy to the application;

executing the application to cache data based on the second caching strategy;

detecting a change to the metadata describing a size of one of the plurality of available caches; and

in response to detecting the change, changing the size of the one of the plurality of available caches in conformance with the change to the metadata.

9 . A method according to claim 8 , further comprising:

monitoring the application to generate monitoring data;

based on the monitoring data, determining the cache miss percentage.

10 . A method according to claim 8 , wherein the plurality of available caches comprise:

a process cache specific to the application;

an environment cache specific to an execution environment of the application; and

a distributed local cloud environment cache specific to a local cloud environment of the execution environment, and

wherein the caching strategy specifies caching data in at least two of the process cache, the environment cache, and the distributed local cloud environment cache.

11 . A method according to claim 8 , further comprising:

determining second caching requirements associated with a second application;

automatically determining a third caching strategy based on the second caching requirements and the metadata describing the plurality of available caches, the third caching strategy being different from the caching strategy;

providing the third caching strategy to the second application; and

executing the second application to cache data based on the third caching strategy.

12 . A method according to claim 11 , wherein the plurality of available caches comprise:

a process cache specific to the application;

a second process cache specific to the second application;

an environment cache specific to an execution environment of the application;

a second environment cache specific to a second execution environment of the second application; and

a distributed local cloud environment cache specific to a local cloud environment of the execution environment and of the second execution environment,

wherein the caching strategy specifies caching data in at least two of the process cache, the environment cache, and the distributed local cloud environment cache, and

wherein the third caching strategy specifies caching data in at least two of the second process cache, the second environment cache, and the distributed local cloud environment cache.

13 . A method according to claim 12 , wherein the plurality of available caches comprise:

a distributed cross-cloud environment cache,

wherein the caching strategy specifies caching data in at least three of the process cache, the environment cache, the distributed local cloud environment cache and the distributed cross-cloud environment cache, and

wherein the third caching strategy specifies caching data in at least three of the second process cache, the second environment cache, the distributed local cloud environment cache and the distributed cross-cloud environment cache.

14 . A method according to claim 11 , further comprising:

monitoring the application to generate monitoring data; and

based on the monitoring data, determining the cache miss percentage.

15 . A non-transitory computer-readable medium storing processor-executable program code, the program code executable by a computing system to:

determine caching requirements associated with an application;

automatically determine a caching strategy based on the caching requirements and metadata describing characteristics of each of a plurality of available caches; and

provide the caching strategy to the application, in response to which the application caches data based on the caching strategy;

determining a cache miss percentage of the application;

automatically determining a second caching strategy based on the cache miss percentage;

providing the second caching strategy to the application, in response to which the application caches data based on the second caching strategy;

detecting a change to the metadata describing a size of one of the plurality of available caches; and

in response to detecting the change, changing the size of the one of the plurality of available caches in conformance with the change to the metadata.

16 . A non-transitory medium according to claim 15 , the program code executable by a computing system to:

monitor the application to generate monitoring data; and

based on the monitoring data, determine the cache miss percentage.

17 . A non-transitory medium according to claim 15 , the plurality of available caches comprising:

a process cache specific to the application;

an environment cache specific to an execution environment of the application; and

a distributed local cloud environment cache specific to a local cloud environment of the execution environment,

wherein the caching strategy specifies caching data in at least two of the process cache, the environment cache, and the distributed local cloud environment cache.

18 . A non-transitory medium according to claim 15 , the program code executable by a computing system to:

determine second caching requirements associated with a second application;

automatically determine a third caching strategy based on the second caching requirements and the metadata describing the plurality of available caches, the third caching strategy being different from the caching strategy; and

provide the third caching strategy to the second application,

wherein the second application caches data based on the third caching strategy.

19 . A non-transitory medium according to claim 18 , the plurality of available caches comprising:

a process cache specific to the application;

a second process cache specific to the second application;

an environment cache specific to an execution environment of the application;

a second environment cache specific to a second execution environment of the second application; and

a distributed local cloud environment cache specific to a local cloud environment of the execution environment and of the second execution environment,

wherein the caching strategy specifies caching data in at least two of the process cache, the environment cache, and the distributed local cloud environment cache, and

wherein the third caching strategy specifies caching data in at least two of the second process cache, the second environment cache, and the distributed local cloud environment cache.

20 . A non-transitory medium according to claim 18 , the program code executable by a computing system to:

monitor the application to generate monitoring data; and

based on the monitoring data, determine the cache miss percentage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2023
From: GOENNHEIMER, JOACHIM; STERBLING, SVEN
To: SAP SE
Reel/Frame 063960/0566 →
Continuity (1)
Related Publication 20240419596A1 · Dec 19, 2024
References Cited (13)
US 7581064B1 · Zedlewski · 2009 [cited by examiner]
US 10868742B2 · Chitalia et al. · 2020 [cited by applicant]
US 11157501B2 · Demazeau et al. · 2021 [cited by applicant]
US 20080147974A1 · Madison et al. · 2008 [cited by applicant]
US 20120110111A1 · Luna · 2012 [cited by examiner]
US 20180143911A1 · Moyer · 2018 [cited by examiner]
US 20190124174A1 · Wu · 2019 [cited by examiner]
US 20200201775A1 · Zhang et al. · 2020 [cited by applicant]
US 20210216456A1 · Flores · 2021 [cited by examiner]
US 20230059940A1 · Shankar et al. · 2023 [cited by applicant]
US 20240089339A1 · Thatikonda · 2024 [cited by examiner]
WO 2023014940A1 · 2023 [cited by applicant]
Choi, Jinhwan et al., “Learning-based Dynamic Cache Management in a Cloud”, Journal of Parallel and Distributed Computing, arXiv:1902.00795v1 [cs.DC], Feb. 2, 2019, https://arXiv.org/pdf/1902.00795, 13pgs. [cited by applicant]