IP Library › Granted Patent US 12,445,534
Granted Patent B2
US 12,445,534 · App. 18/415,153 · Granted Oct 14, 2025

Stream listening cache updater

Inventors: Prateek Gupta (Bellerose, NY); Samuel Wu (Brooklyn, NY); Zachary Wyman (New York, NY); Ramiro Ordonez (Ho Ho Kus, NJ)
Assignee: Capital One Services, LLC
H04L67/5682G06N20/00H04L45/742H04L47/286H04L49/206H04M3/5183
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,445,534
App. No.
18/415,153
Granted
Oct 14, 2025
Kind
B2
Abstract

A system, process, and computer-readable medium for updating an application cache using a stream listening service is described. A stream listening service may monitor one or more data streams for content relating to a user. The stream listening service may forward the content along with time-to-live values to an application cache. A user may use an application to obtain information regarding the user's account, where the application obtains information from a data store and/or cached information from the application cache. The stream listening service, by forwarding current account information, obtained from listening to one or more streams, to the application cache, reduces traffic at the data store by providing current information from the data stream to the application cache.

Claims (96)

1. A computer-implemented method comprising:

receiving, via an application cache and from an application on a remote user device, a request for first information associated with a user account associated with a user of the remote user device;

determining, based on the request, whether the first information is stored in the application cache;

retrieving, from a data store and based on a determination that the first information is stored in the application cache, a first incremental change to the first information associated with the user account, wherein the first incremental change represents a first modification of second information, associated with the user account, stored in the data store;

modifying, based on the first incremental change, the first information in the application cache to second information;

assigning, based on the modifying of the first information, a time-to-live (TTL) value to the second information;

sending, based on the modifying of the first information, the second information to the application of the remote user device;

monitoring, via a listening service, a data stream for information relating to the user account;

detecting, in the data stream, a second incremental change;

modifying, based on the second incremental change, the second information to third information;

refreshing, based on the modifying of the second information, the TTL value;

receiving, via the application cache and from the application, a request for the third information associated with the user;

sending, from the application cache to the application, the third information; and

deleting, at an expiration of the refreshed TTL value, the third information from the application cache.

2. The computer-implemented method of claim 1 , wherein the retrieving comprises:

requesting, based on the determining that the first information is stored in the application cache, the first incremental change with an identification of when the first information was stored in the application cache; and

receiving, based on the requesting with the identification of when the first information was stored in the application cache, the first incremental change.

3. The computer-implemented method of claim 2 , wherein the receiving further comprises:

receiving multiple incremental changes after the first information was stored in the application cache.

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

detecting, via the listening service, fourth information, in the data stream, associated with the user, wherein the fourth information comprises information not currently stored in the application cache; and

storing, based on the detecting the fourth information, the fourth information in the application cache, wherein the fourth information receives a second TTL value,

wherein the receiving the request for the third information comprises receiving a request for the third information and the fourth information, and

wherein sending the third information comprises sending, to the application, the third information and the fourth information.

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

receiving, from the application and via the application cache, a request for fourth information associated with the user;

determining the application cache does not currently store the fourth information;

receiving, from the data store, the fourth information and a second TTL value;

storing, in the application cache, the fourth information and the second TTL value; and

sending, to the application, the fourth information.

6. The computer-implemented method of claim 5 , wherein the TTL value is equal to the second TTL value.

7. The computer-implemented method of claim 5 ,

wherein the TTL value and the second TTL value are different.

8. The computer-implemented method of claim 1 , wherein the first incremental change and the second incremental change are associated with changes in an account balance of the user account, the method further comprising:

receiving, from the data store, a current account balance of the user account.

9. The computer-implemented method of claim 1 , wherein the first incremental change indicates:

a transaction associated with the user account has been declined,

a change in behavior of the user account, or

a change in an account balance of an account associated with the user account.

10. The computer-implemented method of claim 1 ,

wherein the assigning the TTL value comprises determining, from a table and for the second information, the TTL value associated with the second information, and

wherein the refreshing the TTL value comprises determining, from the table and for the third information, the refreshed TTL value.

11. The computer-implemented method of claim 1 , wherein the third information comprises a most recent transaction associated with the user account.

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

determining, via the application cache and based on the data stream, the second incremental change is being received; and

determining, from the data stream, that the second incremental change has been received in its entirety,

wherein the sending the third information to the application is delayed until after a determination that the second information has been modified into the third information.

13. An apparatus comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

receive, from an application on a remote user device, a request for first information associated with a user account associated with a user of the remote user device;

determine, based on the request, whether the first information is stored in an application cache of the apparatus;

retrieve, from a data store and based on a determination that the first information is stored in the application cache, one or more first incremental changes to the first information associated with the user account, wherein the one or more first incremental changes represent first modifications of second information, associated with the user account, stored in the data store;

modify, based on the one or more first incremental changes, the first information in the application cache to second information;

assign, based on the modification of the first information, a time-to-live (TTL) value to the second information;

send, based on the modification of the first information, the second information to the application of the remote user device;

monitor, via a listening service, a data stream for information relating to the user account;

detect, in the data stream, a second incremental change;

modify, based on the second incremental change, the second information to third information;

refresh, based on the modification of the second information, the TTL value;

receive, from the application, a request for the third information associated with the user;

send, from the application cache to the application, the third information; and

delete, at an expiration of the refreshed TTL value, the third information from the application cache.

14. The apparatus of claim 13 , wherein the instructions to receive further cause the apparatus to:

request, based on the determination that the first information is stored in the application cache, the one or more first incremental changes with an identification of when the first information was stored in the application cache; and

receive, based on the request with the identification of when the first information was stored in the application cache, the one or more first incremental changes.

15. The apparatus of claim 13 , wherein the instructions further cause the apparatus to:

detect, via the listening service, fourth information, in the data stream, associated with the user, wherein the fourth information comprises information not currently stored in the application cache; and

store, based on the detecting the fourth information, the fourth information in the application cache, wherein the fourth information receives a second TTL value,

wherein the instructions to receive the request for the third information comprises further cause the apparatus to receive a request for the third information and the fourth information, and

wherein the instructions to send the third information further cause the apparatus to send, to the application, the third information and the fourth information.

16. The apparatus of claim 13 , wherein the instructions further cause the apparatus to:

receive, from the application and via the application cache, a request for fourth information associated with the user;

determine the application cache does not currently store the fourth information;

receive, from the data store, the fourth information and a second TTL value;

store, in the application cache, the fourth information and the second TTL value; and

send, to the application, the fourth information.

17. The apparatus of claim 13 , wherein the TTL value is equal to the second TTL value.

18. The apparatus of claim 13 , wherein the TTL value and the second TTL value are different.

19. One or more non-transitory media storing instructions that, when executed by one or more processors, cause the one or more processors to perform steps comprising:

receiving, via an application cache and from an application on a remote user device, a request for first information associated with a user account associated with a user of the remote user device;

determining, based on the request, whether the first information is stored in the application cache;

retrieving, from a data store and based on a determination that the first information is stored in the application cache, a first incremental change to the first information associated with the user account, wherein the first incremental change represents a first modification of second information, associated with the user account, stored in the data store;

modifying, based on the first incremental change, the first information in the application cache to second information;

assigning, based on the modifying of the first information, a time-to-live (TTL) value to the second information;

sending, based on the modifying of the first information, the second information to the application of the remote user device;

monitoring, via a listening service, a data stream for information relating to the user account;

detecting, in the data stream, third information;

replacing, based on detecting, the second information with the third information;

refreshing, based on the modifying of the second information, the TTL value;

receiving, via the application cache and from the application, a request for the third information associated with the user;

sending, from the application cache to the application, the third information; and

deleting, at an expiration of the refreshed TTL value, the third information from the application cache.

20. The one or more non-transitory media of claim 19 , wherein, when executed by one or more processors, the instructions cause the one or more processors to perform further steps comprising:

requesting, based on the determining that the first information is stored in the application cache, the first incremental change with an identification of when the first information was stored in the application cache; and

receiving, based on the requesting with the identification of when the first information was stored in the application cache, the first incremental change.

Continuity (10)
Continuation PCTUS2022050360 · Nov 18, 2022
Continuation 17538327 · Nov 30, 2021
Continuation 17533618 · Nov 23, 2021
Continuation 17533773 · Nov 23, 2021
Continuation 17538769 · Nov 30, 2021
Continuation 17538327 · Nov 30, 2021
Continuation 17533773 · Nov 23, 2021
Continuation 17533618 · Nov 23, 2021
Continuation 17533618 · Nov 23, 2021
Related Publication 20240314218A1 · Sep 19, 2024
References Cited (34)
US 6385693B1 · Gerszberg et al. · 2002 [cited by applicant]
US 7047411B1 · DeMello et al. · 2006 [cited by applicant]
US 7698398B1 · Lai · 2010 [cited by applicant]
US 7739082B2 · Scherrer · 2010 [cited by applicant]
US 9319522B1 · Webster · 2016 [cited by applicant]
US 9424429B1 · Roth et al. · 2016 [cited by applicant]
US 10410170B1 · McNamara et al. · 2019 [cited by applicant]
US 10628424B2 · Park et al. · 2020 [cited by applicant]
US 10791134B2 · Gervais et al. · 2020 [cited by applicant]
US 20020091899A1 · Weedon · 2002 [cited by applicant]
US 20040128346A1 · Melamed et al. · 2004 [cited by applicant]
US 20090276771A1 · Nickolov et al. · 2009 [cited by applicant]
US 20110093306A1 · Nielsen et al. · 2011 [cited by applicant]
US 20120271852A1 · Fredricksen et al. · 2012 [cited by applicant]
US 20120324568A1 · Wyatt et al. · 2012 [cited by applicant]
US 20130132854A1 · Raleigh et al. · 2013 [cited by applicant]
US 20130156165A1 · Springer · 2013 [cited by applicant]
US 20130268656A1 · Bott · 2013 [cited by applicant]
US 20140095804A1 · Lientz · 2014 [cited by applicant]
US 20150319261A1 · Lonas et al. · 2015 [cited by applicant]
US 20170178182A1 · Kuskey et al. · 2017 [cited by applicant]
US 20170344481A1 · Pack, III · 2017 [cited by applicant]
US 20180075099A1 · Park et al. · 2018 [cited by applicant]
US 20190007507A1 · Lonkar et al. · 2019 [cited by applicant]
US 20190102436A1 · Bishnoi et al. · 2019 [cited by applicant]
US 20190102791A1 · Park et al. · 2019 [cited by applicant]
US 20190394258A1 · Park et al. · 2019 [cited by applicant]
US 20200285646A1 · Tudoran et al. · 2020 [cited by applicant]
US 20210266353A1 · Grubb et al. · 2021 [cited by applicant]
US 20220028160A1 · Patel · 2022 [cited by applicant]
EP 3145159A1 · 2017 [cited by applicant]
WO 2008052340A1 · 2008 [cited by applicant]
WO 2017210123A1 · 2017 [cited by applicant]
Mar. 22, 2023 (WO) International Search Report and Written Opinion—App PCT/US2022/050360, 17 pages. [cited by applicant]