IP Library › Granted Patent US 12,580,996
Granted Patent B2
US 12,580,996 · App. 18/668,600 · Granted Mar 17, 2026

Systems, methods, and media for predicting data for precaching and/or recaching at a computer cache of a computer environment

Inventors: Krishnaraj Sooji (Bengaluru, IN); Ashok Rajashekharappa (Bangalore, IN); Prabhu Karthik Ganesan (Bengaluru, IN); Umesh Bangalore Rangappa (Bangaluru, IN)
Assignee: FMR LLC
H04L67/5681G06F12/0862G06F16/9574H04L67/1001H04L67/10015H04L67/1036H04L67/568G06F2212/6024G06F2212/6026
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,580,996
App. No.
18/668,600
Granted
Mar 17, 2026
Kind
B2
Abstract

Techniques are provided for predicting data for precaching and/or recaching at a computer cache of a computer environment. Based on a detected login event of a user, a precache API request can be generated for a type of API data request most often utilized by the user over a predetermined time period. An API gateway may use the precache API request to obtain a corresponding precache API response from a microservice. The precache API response may be stored together at an API gateway cache. Subsequently, when information from an API call substantially matches a cache key corresponding to the precache API response, the precache API response can be provided to the user instead of obtaining the response from the microservice. Additionally, the precache API request may include a recache value that can be used to iteratively obtain up-to-date precache API responses from the microservice.

Claims (64)

1 . A computer implemented method for managing a computer cache, the computer implemented method comprising:

identifying a unique user identifier corresponding to a user associated with a login request to an enterprise computing environment;

using the unique identifier to identify, from precache storage, an application program interface (API) entry corresponding to a previous user specific API call for a service associated with a function implemented by a microservice of a plurality of different microservices of the enterprise computing environment, wherein the previous user specific API call is a type of API data request call, of a plurality of different types of API data request calls, which is determined to be most utilized by the user over a predefined time period;

constructing from the API entry a precache API request for the type of API data request call, wherein the precache API request includes at least (1) a header including one or more of the unique user identifier and a bearer token and (2) API identifier information corresponding to the previous user specific API call;

receiving, by an API gateway, the precache API request;

issuing, by the API gateway, the precache API request to a first instance of the microservice;

receiving, at the API gateway, a precache API response from the first instance of the microservice;

determining if the precache API response includes one or more first values or one or more second values;

caching the precache API response at an API gateway cache when the precache API response includes the one or more first values;

in response to determining that the precache API response includes the one or more second values, automatically retriggering the precache API request, which is a retriggered precache API request, to a different instance of the microservice until (1) a new precache API response, corresponding to a particular retriggered precache API request directed to a particular different instance of the microservice, includes the one or more first values or (2) a threshold number of a plurality of precache API requests, which includes the precache API request and all of the retriggered precache API requests, has been issued; and

when each new precache API response, from a corresponding different instance of the microservice, includes the one or more second values and the threshold number of the plurality of API requests have been issued to the different instances of the microservice:

determining that there is no caching of any of the new precache API responses at the API gateway cache for any of the retriggered precache API requests, and

when a data request of the type of API data request call is received from a client device operated by the user, obtaining a microservice API response from the microservice and not from the API gateway cache.

2 . The method of claim 1 , further comprising:

caching a particular new precache API response at the API gateway cache when the particular new precache API response, from a particular different instance of the microservice, includes the one or more first values.

3 . The computer implemented method of claim 1 , further comprising:

receiving, at the API gateway and from the client device operated by the user, a user API data request;

determining whether information from the user API data request substantially matches a cache key corresponding to a stored precache API response in the API gateway cache;

in response to determining that the information from the user API data request substantially matches the cache key, transmitting the stored precache API response from the API gateway cache to the client device to fulfill the user API data request; and

in response to determining that the information from the user API data request does not substantially match the cache key, (1) obtaining, at the API gateway, a different API response from a particular microservice and (2) transmitting, from the API gateway and to the client device, the different API response to fulfill the user API data request.

4 . The computer implemented method of claim 1 ,

accessing a plurality of API records generated by the API gateway, wherein each API record corresponds to a different API call directed to the enterprise system by one of a plurality of different users over a predefined time period, and wherein each API record includes one or more of a particular user identifier, request meta information, and response meta information;

constructing a particular API entry from a plurality of selected API records for the user that are a same type of API call of a plurality of different API calls; and

storing the particular API entry for the user in the precache storage.

5 . The computer implemented method of claim 4 , wherein the particular API entry includes one or more of (1) a particular priority value, (2) a particular method type, and (3) a particular resession count value.

6 . The computer implemented method of claim 1 , wherein the precache API request includes a uniform resource identifier (URI) that identifies the microservice of the plurality of different microservices.

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

determining that a particular precache API request includes a recache value designating a particular precache API response, corresponding to the particular precache API request, for recaching;

waiting a predetermined amount of time after the particular precache API response is stored at the API gateway cache;

issuing, after waiting the predetermined amount of time, the particular precache API request to a particular instance of a particular microservice; and

receiving an updated precache API response from the particular microservice;

storing the updated precache API response at the API gateway cache, wherein the updated precache API response takes the place of the particular precache API response in the API gateway cache.

8 . A system for managing and operating a computer cache, the system comprising:

a memory; and

a processor coupled to the memory, the processor executing a software module configured to:

identify a unique user identifier corresponding to a user associated with a login request to an enterprise computing environment;

use the unique identifier to identify, from precache storage, an application program interface (API) entry corresponding to a previous user specific API call for a service associated with a function implemented by a microservice of a plurality of different microservices of the enterprise computing environment, wherein the previous user specific API call is a type of API data request call, of a plurality of different types of API data request calls, which is determined to be most utilized by the user over a predefined time period, and wherein the API entry for only the type of API request call determined to be most utilized is included in the precache storage;

construct from the API entry a precache API request for the type of API data request call, wherein the precache API request includes at least (1) a header including one or more of the unique user identifier and a bearer token and (2) API identifier information corresponding to the previous user specific API call;

an API gateway configured to:

receive the precache API request;

issue the precache API request to a first instance of the microservice;

receive a precache API response from the first instance of the microservice;

cache, at an API gateway cache, the precache API response when the precache API response includes one or more first values;

in response to determining that the precache API response includes one or more second values, automatically retrigger the precache API request, which is a retriggered API request, to a different instance of the microservice until (1) a new precache API response, corresponding to a particular retriggered precache API request directed to a particular different instance of the microservice, includes the one or more first values or (2) a threshold number of a plurality of precache API requests has been issued; and

when (1) a data request of the type of API data request call is received from a client device operated by the user and (2) each new precache API response, from a corresponding different instance of the microservice, includes the one or more second values and the threshold number of the plurality of API requests have been issued to the different instances of the microservice,

obtain a microservice API response from the microservice and determine that there is no caching of any of the new precache API response at the API gateway cache for any of the retriggered precache API requests.

9 . The system of claim 8 , wherein the API gateway is further configured to:

cache a particular new precache API response at the API gateway cache when the particular new precache API response, from a particular different instance of the microservice, includes the one or more first values.

10 . The system of claim 8 , wherein the API gateway is further configured to:

receive, from the client device operated by the user, a user API data request;

determine whether information from the user API data request substantially matches a cache key corresponding to a stored precache API response in the API gateway cache;

in response to determining that the information from the user API data request substantially matches the cache key, transmit the stored precache API response from the API gateway cache to the client device to fulfill the user API data request; and

in response to determining that the information from the user API data request does not substantially match the cache key, (1) obtain a different API response from a particular microservice and (2) transmit from the API gateway and to the client device the different API response to fulfill the user API data request.

11 . The system of claim 8 , wherein the software module further configured to:

access a plurality of API records generated by the API gateway, wherein each API record corresponds to a different API call directed to the enterprise system by one of a plurality of different users over a predefined time period, and wherein each API record includes one or more of a particular user identifier, request meta information, and response meta information; and

construct a particular API entry from a plurality of selected API records for the user that are a same type of API call of a plurality of different API calls.

12 . The system of claim 11 , wherein the particular API entry includes one or more of (1) a particular priority value, (2) a particular method type, and (3) a particular resession count value.

13 . The system of claim 8 , wherein the precache API request includes a uniform resource identifier (URI) that identifies the microservice of the plurality of different microservices.

14 . The system of claim 8 , wherein the API gateway is further configured to:

determine that a particular precache API request includes a recache value designating a particular precache API response, corresponding to the particular precache API request, for recaching;

wait a predetermined amount of time after the particular precache API response is stored at the API gateway cache;

issue, after waiting the predetermined amount of time, the particular precache API request to a particular instance of a particular microservice;

receive an updated precache API response from the particular microservice; and

store the updated precache API response at the API gateway cache, wherein the updated precache API response takes the place of the particular precache API response in the API gateway cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2024
From: BANGALORE RANGAPPA, UMESH; RAJASHEKHARAPPA, ASHOK; SOOJI, KRISHNARAJ; GANESAN, PRABU KARTHIK
To: FMR LLC
Reel/Frame 067741/0852 →
Continuity (1)
Related Publication 20250358345A1 · Nov 20, 2025
References Cited (17)
US 10574699B1 · Baer · 2020 [cited by examiner]
US 11917013B1 · Han · 2024 [cited by examiner]
US 11997574B2 · Paczkowski · 2024 [cited by examiner]
US 12061553B1 · Bhattacharjee · 2024 [cited by examiner]
US 20090157678A1 · Turk · 2009 [cited by examiner]
US 20090204753A1 · Bridge, Jr. · 2009 [cited by examiner]
US 20190141160A1 · Demsey · 2019 [cited by examiner]
US 20190243766A1 · Doerner · 2019 [cited by examiner]
US 20210006496A1 · Xiong · 2021 [cited by examiner]
US 20210036925A1 · Boddam · 2021 [cited by examiner]
US 20210042160A1 · Alamouti · 2021 [cited by examiner]
US 20210209024A1 · Liang · 2021 [cited by examiner]
US 20220035741A1 · Ray · 2022 [cited by examiner]
US 20230018767A1 · Singh · 2023 [cited by examiner]
US 20230259415A1 · Kairali · 2023 [cited by examiner]
US 20230359520A1 · Edamadaka · 2023 [cited by examiner]
US 20240256364A1 · Ward · 2024 [cited by examiner]