IP Library › Granted Patent US 10,915,354
Granted Patent B2
US 10,915,354 · App. 16/040,706 · Granted Feb 9, 2021

Transaction scheduling for a user data cache by assessing update criteria

Inventors: Stephen Ryan Gordon (Woodinville, WA); Terry Lentz, Jr. (Redmond, WA); Kalyanaraman Ganesan (Redmond, WA); Richard Yiu-Sai Chung (Kirkland, WA)
Assignee: BILLGO, INC.
G06F9/467G06F9/5083G06F9/542G06F13/24
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 10,915,354
App. No.
16/040,706
Granted
Feb 9, 2021
Kind
B2
Abstract

Transaction scheduling is described for a user data cache by assessing update criteria. In one example an event records memory stores a list of events each corresponding to performance of a transaction at a remote resource for a user. The memory has criteria for each event and a criterion value for each criterion and event combination. An event manager assesses criteria for each event by performing an operation on the stored criterion value for each criterion and event combination, assigning a score for each criterion and event combination, and compiling the assigned scores to generate a composite score for each event. The events are ordered based on the respective composite scores and executed in the ordered sequence by performing a corresponding transaction at remote resource. Updated criterion values are stored for executed events.

Claims (45)

1. An apparatus comprising:

an event records memory to store a list of events in a memory, each event corresponding to a performance of a transaction at a remote resource for a user, the event records memory having a plurality of criteria for each event and a criterion value for each criterion and event combination;

an event manager configured to assess a plurality of criteria for each event by performing an operation on the stored criterion value for each criterion and event combination, to assign a score for each criterion and event combination, to store the scores in the event records memory, to compile the assigned scores to generate a composite score for each event, to order the events based on the respective composite scores, to arrange execution of the events in a sequence from the event ordering by arranging performance of the corresponding transactions at the corresponding remote resources, to determine updated criterion values for at least a portion of the executed events based on aspects of the respective transaction, and to store the updated criterion values in the event records memory in association with the respective criterion and event combination.

2. The apparatus of claim 1 , wherein the event manager further comprises a network interface to receive a user request for data from the data cache and wherein the event manager is configured to generate an interrupt in response to the user request to order the events and wherein assessing the criteria for each event is in response to the interrupt.

3. The apparatus of claim 1 , wherein assigning a score comprises applying a factor based on an urgency attributed to an associated criterion to the associated criterion value stored in the memory for each respective criterion and event combination.

4. The apparatus of claim 3 , wherein compiling the assigned scores comprises adding the scores after applying the factor.

5. A method comprising:

storing a list of events in a memory, each event corresponding to a performance of a transaction at a remote resource for a user;

assessing a plurality of criteria for each event by performing an operation on a stored criterion value for each criterion and event combination;

assigning a score for each criterion and event combination;

compiling the assigned scores to generate a composite score for each event;

ordering the events based on the respective composite scores;

executing the events in a sequence from the event ordering by performing the corresponding transactions at the corresponding remote resources;

determining updated criterion values for at least a portion of the executed events based on aspects of the respective transaction; and

storing the updated criterion values in the memory in association with the respective criterion and event combination.

6. The method of claim 5 , further comprising:

determining a transaction value for each executed event;

storing the transaction value in a data cache for the user of the respective event; and

sending data of the data cache to the respective user in response to a request from the respective user.

7. The method of claim 5 , further comprising:

receiving an interrupt to order the events and wherein assessing the criteria for each event is in response to the interrupt.

8. The method of claim 7 , wherein the interrupt is generated in response to a user request for data from the data cache.

9. The method of claim 5 , wherein assigning a score comprises applying a factor to a criterion value stored in the memory for each respective criterion and event combination.

10. The method of claim 9 , wherein the factor is based on an urgency attributed to the associated criterion.

11. The method of claim 9 , wherein compiling the assigned scores comprises adding the scores after applying the factor.

12. The method of claim 5 , wherein a criterion value for one of the plurality of criteria is related to a recentness of executing the respective event.

13. The method of claim 5 , wherein a criterion value for one of the plurality of criteria is related to a time of receiving a notification from a resource that the resource data has been updated.

14. The method of claim 5 , wherein the transaction is reading a value from the resource.

15. The method of claim 5 , wherein the transaction is downloading a page from the resource and scraping data from the page.

16. The method of claim 5 , wherein the transaction is posting data to the resource.

17. The method of claim 5 , wherein the list of events includes a write event and wherein ordering the events comprises ordering the write event as first in the order.

18. A computer-readable non-transitory medium having instructions that when operated on by the computer cause the computer to perform operations comprising:

storing a list of events in a memory, each event corresponding to a performance of a transaction at a remote resource for a user;

assessing a plurality of criteria for each event by performing an operation on a stored criterion value for each criterion and event combination;

assigning a score for each criterion and event combination;

compiling the assigned scores to generate a composite score for each event;

ordering the events based on the respective composite scores;

executing the events in a sequence from the event ordering by performing the corresponding transactions at the corresponding remote resources;

determining updated criterion values for at least a portion of the executed events based on aspects of the respective transaction; and

storing the updated criterion values in the memory in association with the respective criterion and event combination.

19. The medium of claim 18 , the operations further comprising:

determining a transaction value for each executed event;

storing the transaction value in a data cache for the user of the respective event; and

sending data of the data cache to the respective user in response to a request from the respective user.

20. The medium of claim 18 , wherein assigning a score comprises applying a factor to a criterion value stored in the memory for each respective criterion and event combination.

Assignments (5)
SECURITY INTEREST Recorded Jan 23, 2024
From: BILLGO, INC.
To: OCEAN II PLO LLC
Reel/Frame 066216/0920 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 47440 FRAME: 877. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 1, 2020
From: HANDLE FINANCIAL, INC.
To: BILLGO, INC.
Reel/Frame 052803/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2019
From: HANDLE FINANCIAL, INC.
To: BILLGO, INC.
Reel/Frame 049986/0899 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2018
From: HANDLE FINANCIAL, INC.
To: BILLGO, INC.
Reel/Frame 047440/0877 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: GORDON, STEPHEN RYAN; LENTZ, TERRY, JR.; GANESAN, KALYANARAMAN; CHUNG, RICHARD YIU-SAI
To: HANDLE FINANCIAL, INC.
Reel/Frame 046411/0732 →
Continuity (1)
Related Publication 20200026549A1 · Jan 23, 2020