# US 2018/0024924 A1 · Artificial intelligence-based caching mechanism

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0024924 A1
- Document ID: US20180024924A1
- Status: Published application
- Kind: A1
- Application number: 15/218,430
- Filed: 2016-07-25
- Published: 2018-01-25
- Earliest claimed: 2016-07-25
- Assignees: General Electric Company
- Applicants: General Electric Company
- Inventors: Steve WINKLER
- Web page: https://patentgrep.com/patent/US20180024924A1

## CPC

- G06F 12/0808: with cache invalidating means (G06F12/0815 takes precedence)
- G06F 12/0831: using a bus scheme, e.g. with bus monitoring or watching means
- G06F 12/128: adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
- G06F 16/24552: {Database cache management}
- G06F 12/0891: using clearing, invalidating or resetting means
- G06F 12/12: Replacement control
- G06F 12/121: using replacement algorithms
- G06F 2212/502: using adaptive policy
- G06F 2212/621: Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to some embodiments, system and methods are provided comprising providing one or more applications that can be used by a processor; storing one or more data elements in one or more systems of record; providing a cache associated with the one or more applications; selecting a default cache expiration time via a caching mechanism; determining if the default cache expiration time is met in response to execution of a query associated with the one or more applications; retrieving one or more data elements from the one or more systems of record and transmitting the retrieved one or more data elements to a cache optimization module in response to execution of the query; retrieving one or more cache stored data elements from the cache and transmitting the retrieved one or more cache stored data elements to the cache optimization module in response to execution of the query; determining, via the cache optimization module, whether the retrieved one or more cache stored data elements are the same value as the retrieved one or more stored data elements; invalidating the one or more cache stored data elements if the one or more retrieved cache stored data elements are a different value than the one or more retrieved stored data elements; and adjusting the default cache expiration time in response to the determination whether the retrieved one or more cache stored data elements are the same value as the retrieved one or more stored data elements to optimize a caching strategy. Numerous other aspects are provided.

## Claims

### Claim 1

A method comprising:
providing one or more applications that can be used by a processor;
storing one or more data elements in one or more systems of record;
providing a cache associated with the one or more applications;
selecting a default cache expiration time via a caching mechanism;
determining if the default cache expiration time is met in response to execution of a query associated with the one or more applications;
retrieving one or more data elements from the one or more systems of record and transmitting the retrieved one or more data elements to a cache optimization module in response to execution of the query;
retrieving one or more cache stored data elements from the cache and transmitting the retrieved one or more cache stored data elements to the cache optimization module in response to execution of the query;
determining, via the cache optimization module, whether the retrieved one or more cache stored data elements are the same value as the retrieved one or more stored data elements;
invalidating the one or more cache stored data elements if the one or more retrieved cache stored data elements are a different value than the one or more retrieved stored data elements; and
adjusting the default cache expiration time in response to the determination whether the retrieved one or more cache stored data elements are the same value as the retrieved one or more stored data elements to optimize a caching strategy.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
retrieving the one or more cache stored data elements from the cache in response to execution of the query; and
returning the one or more retrieved cache stored data elements to the one or more applications if the default cache expiration time is unmet.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
retrieving the one or more data elements from the one or more systems of record in response to execution of the query; and
returning the one or more retrieved data elements to the one or more applications if the default cache expiration time is met.

### Claim 4 (depends on 1)

The method of claim 1, wherein adjusting the default cache expiration time further comprises:
decreasing the default cache expiration time in response to a determination that the retrieved one or more cache stored data elements is not the same as the retrieved one or more stored data elements.

### Claim 5 (depends on 1)

The method of claim 1, wherein adjusting the default cache expiration time further comprises:
extending the default cache expiration time in response to a determination that the retrieved one or more cache stored data elements is not the same as the retrieved one or more stored data elements.

### Claim 6 (depends on 1)

The method of claim 1, wherein the one or more cache stored data elements are invalidated on a per data field level.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining the frequency of execution of the query.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
adjusting the default cache expiration time based on the determined frequencies to optimize the caching strategy.

### Claim 9 (depends on 1)

The method of claim 1, wherein the stored data elements are provided to the cache in the initial condition by at least one of a pull-through mechanism and a pre-load mechanism.

### Claim 10 (depends on 1)

The method of claim 1, wherein each of the one or more systems of record is a database.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
employing a machine learning model, via the cache optimization module, to adjust the default cache expiration time.

### Claim 12 (depends on 11)

The method of claim 11, wherein the machine learning model is a multilayer perceptron (MLP) neural network, another multilayer neural network, a decision tree, or a support vector machine.

### Claim 13

A system comprising:
one or more systems of record, wherein each system of record includes one or more data elements;
a cache operative to store one or more cache stored data elements, wherein the one or more cache stored data elements is a copy of one or more data elements stored in the one or more systems of record;
an application operative to receive at least one of the one or more data elements and the one or more cache stored data elements in response to a query;
a cache optimization module including a caching mechanism, the caching mechanism operative to:
select a default cache expiration time;
determine if the default cache expiration time is met in response to execution of a query associated with the one or more applications;
retrieve one or more data elements from the one or more systems of record and transmit the retrieved one or more data elements to a cache optimization module in response to execution of the query;
retrieve one or more cache stored data elements from the cache and transmit the retrieved one or more cache stored data elements to the cache optimization module in response to execution of the query;
determine the retrieved one or more cache stored data elements are the same value as the retrieved one or more stored data elements;
invalidate the one or more cache stored data elements if the one or more retrieved cache stored data elements are a different value than the one or more retrieved stored data elements; and
optimize a caching strategy by adjusting the default cache expiration time in response to the determination whether the retrieved one or more cache stored data elements are the same value as the retrieved one or more stored data elements.

### Claim 14 (depends on 13)

The system of claim 13, wherein the one or more cache stored data elements are provided to the one or more applications from the cache if the default cache expiration time is unmet.

### Claim 15 (depends on 13)

The system of claim 13, wherein the one or more data elements are provided to the one or more applications from the one or more systems of record if the default cache expiration time is met.

### Claim 16 (depends on 13)

The system of claim 13, wherein adjustment to the default cache expiration time includes a decrease in the default cache expiration time in response to a determination that the retrieved one or more cache stored data elements is not the same as the retrieved one or more stored data elements.

### Claim 17 (depends on 13)

The system of claim 13, wherein adjustment to the default cache expiration time includes an extension of the default cache expiration time in response to a determination that the retrieved one or more cache stored data elements is not the same as the retrieved one or more stored data elements.

### Claim 18 (depends on 13)

The system of claim 13 further comprising a machine learning model, wherein the machine learning model is operative, via the caching mechanism, to adjust the default cache expiration time, the machine learning model basing the adjustment on historical data.

### Claim 19

A non-transitory computer-readable medium storing program code, the program code executable by a computer system to cause the computer system to:
select a default cache expiration time;
determine if the default cache expiration time is met in response to execution of a query associated with one or more applications;
retrieve one or more data elements from one or more systems of record, and transmit the one or more data elements to a cache optimization module in response to execution of the query;
retrieving one or more cache stored data elements from a cache, and transmit the retrieved one or more cache stored data elements to the cache optimization module in response to execution of the query;
determine, via the cache optimization module, whether the retrieved one or more cache stored data elements are the same value as the retrieved one or more stored data elements;
invalidate the one or more cache stored data elements if the one or more retrieved cache stored data elements are a different value than the one or more retrieved stored data elements; and
optimize a caching strategy by adjusting a default cache expiration time in response to the determination whether the retrieved one or more cache stored data elements are the same value as the retrieved one or more stored data elements.

### Claim 20 (depends on 19)

The medium of claim 19, wherein the program code is further executable by the computer system to cause the computer system to:
adjust the default cache expiration time by decreasing the default cache expiration time in response to a determination that the retrieved one or more cache stored data elements is not the same as the retrieved one or more stored data elements.

### Claim 21 (depends on 19)

The medium of claim 19, wherein the program code is further executable by the computer system to cause the computer system to:
adjust the default cache expiration time by extending of the default cache expiration time in response to a determination that the retrieved one or more cache stored data elements is not the same as the retrieved one or more stored data elements.
