IP Library Granted Patent US 10,552,418
Granted Patent B2
US 10,552,418 · App. 15/393,637 · Granted Feb 4, 2020

Optimization of first set of ordered items and delayed non-duplicated work queue

Inventor: Jeff Phillips (Lehi, UT)
Assignee: ANCESTRY.COM OPERATIONS INC.
G06F16/24552G06F16/2358
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,552,418
App. No.
15/393,637
Granted
Feb 4, 2020
Kind
B2
Abstract

Systems and methods for retrieving a set of ordered items from a distributed database. A plurality of ordered items may be stored at a cache. The plurality of ordered items may have a length of N+B at a first instant in time. A first instruction to delete a first item of the plurality of ordered items may be received. A second instruction to add a second item to the plurality of ordered items may be received. The first instruction and the second instruction may be stored in a change log. A request for the first N items of the plurality of ordered items may be received. The first instruction may be executed by deleting the first item from the plurality of ordered items. The second instruction may be executed by adding the second item to the plurality of ordered items. The first N items of the plurality of ordered items may be sent in response to the request.

Claims (65)

1. A computer-implemented method comprising:

storing, at a cache, a plurality of ordered items, wherein the plurality of ordered items has a length of N+B at a first instant in time, N and B being positive integers;

receiving, at the cache, a first instruction to delete a first item of the plurality of ordered items;

receiving, at the cache, a second instruction to add a second item to the plurality of ordered items;

storing the first instruction and the second instruction;

receiving, at the cache, a request for the first N items of the plurality of ordered items;

in response to receiving the request:

executing the first instruction by deleting the first item from the plurality of ordered items; and

executing the second instruction by adding the second item to the plurality of ordered items; and

sending the first N items of the plurality of ordered items in response to the request.

2. The computer-implemented method of claim 1 , wherein the first instruction and the second instruction are stored in a change log.

3. The computer-implemented method of claim 1 , wherein:

deleting a certain item from the plurality of ordered items causes the length of the plurality of ordered items to decrease by one; and

adding the certain item to the plurality of ordered items causes the length of the plurality of ordered items to increase by one.

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

receiving, at the cache, a third instruction to update a third item of the plurality of ordered items;

storing the third instruction; and

executing the third instruction by updating the third item of the plurality of ordered items.

5. The computer-implemented method of claim 1 , wherein sending the first N items occurs after executing the first instruction and executing the second instruction.

6. The computer-implemented method of claim 5 , wherein the plurality of ordered items has a length of less than N at a second instant in time, and wherein the computer-implemented method further comprises:

invaliding the cache; and

rebuilding the cache such that the plurality of ordered items has a length of N+B.

7. A computer readable storage media comprising instructions to cause one or more processors to perform operations comprising:

storing, at a cache, a plurality of ordered items, wherein the plurality of ordered items has a length of N+B at a first instant in time, N and B being positive integers;

receiving, at the cache, a first instruction to delete a first item of the plurality of ordered items;

receiving, at the cache, a second instruction to add a second item to the plurality of ordered items;

storing the first instruction and the second instruction;

receiving, at the cache, a request for the first N items of the plurality of ordered items;

in response to receiving the request:

executing the first instruction by deleting the first item from the plurality of ordered items; and

executing the second instruction by adding the second item to the plurality of ordered items; and

sending the first N items of the plurality of ordered items in response to the request.

8. The computer readable storage media of claim 7 , wherein the first instruction and the second instruction are stored in a change log.

9. The computer readable storage media of claim 7 , wherein:

deleting a certain item from the plurality of ordered items causes the length of the plurality of ordered items to decrease by one; and

adding the certain item to the plurality of ordered items causes the length of the plurality of ordered items to increase by one.

10. The computer readable storage media of claim 7 , further comprising instructions to cause one or more processors to perform operations further comprising:

receiving, at the cache, a third instruction to update a third item of the plurality of ordered items;

storing the third instruction; and

executing the third instruction by updating the third item of the plurality of ordered items.

11. The computer readable storage media of claim 7 , wherein sending the first N items occurs after executing the first instruction and executing the second instruction.

12. The computer readable storage media of claim 11 , wherein the plurality of ordered items has a length of less than N at a second instant in time, and wherein the computer readable storage media further comprises instructions to cause one or more processors to perform operations further comprising:

invaliding the cache; and

rebuilding the cache such that the plurality of ordered items has a length of N+B.

13. A system comprising:

one or more processors; and

one or more computer readable storage mediums comprising instructions to cause the one or more processors to perform operations comprising:

storing, at a cache, a plurality of ordered items, wherein the plurality of ordered items has a length of N+B at a first instant in time, N and B being positive integers;

receiving, at the cache, a first instruction to delete a first item of the plurality of ordered items;

receiving, at the cache, a second instruction to add a second item to the plurality of ordered items;

storing the first instruction and the second instruction;

receiving, at the cache, a request for the first N items of the plurality of ordered items;

in response to receiving the request:

executing the first instruction by deleting the first item from the plurality of ordered items; and

executing the second instruction by adding the second item to the plurality of ordered items; and

sending the first N items of the plurality of ordered items in response to the request.

14. The system of claim 13 , wherein the first instruction and the second instruction are stored in a change log.

15. The system of claim 13 , wherein:

deleting a certain item from the plurality of ordered items causes the length of the plurality of ordered items to decrease by one; and

adding the certain item to the plurality of ordered items causes the length of the plurality of ordered items to increase by one.

16. The system of claim 13 , wherein the one or more computer readable storage mediums further comprise instructions to cause the one or more processors to perform operations further comprising:

receiving, at the cache, a third instruction to update a third item of the plurality of ordered items;

storing the third instruction; and

executing the third instruction by updating the third item of the plurality of ordered items.

17. The system of claim 13 , wherein sending the first N items occurs after executing the first instruction and executing the second instruction.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE REDACTING "A CORPORATION OF THE STAT OF UTAH INTIALED AND DATED ON PAGE ONE. PREVIOUSLY RECORDED AT REEL: 042726 FRAME: 0763. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 26, 2021
From: PHILLIPS, JEFF
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 057915/0360 →
RELEASE OF FIRST LIEN SECURITY INTEREST Recorded Dec 7, 2020
From: JPMORGAN CHASE BANK, N.A.
To: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC
Reel/Frame 054618/0243 →
SECURITY INTEREST Recorded Dec 7, 2020
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRYHEALTH.COM, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054627/0212 →
SECURITY INTEREST Recorded Dec 7, 2020
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRYHEALTH.COM, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 054627/0237 →
FIRST LIEN SECURITY AGREEMENT Recorded Nov 30, 2017
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 044552/0538 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2017
From: PHILLIPS, JEFF
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 042726/0763 →
Continuity (1)
Related Publication 20180189287A1 · Jul 5, 2018