IP Library Granted Patent US 11,494,382
Granted Patent B2
US 11,494,382 · App. 16/724,908 · Granted Nov 8, 2022

Optimization of first set of ordered items

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 11,494,382
App. No.
16/724,908
Granted
Nov 8, 2022
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 (68)

1. A computer-implemented method comprising:

storing a plurality of ordered items at a storage medium, wherein the plurality of ordered items has a length of at least N at a first instant in time; N being a positive integer;

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

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

storing the first instruction and the second instruction;

receiving a request for a first N items of the plurality of ordered items; and

in response to receiving the request:

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

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.

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 the first item from the plurality of ordered items causes the length of the plurality of ordered items to decrease by one; and

adding the second 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 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 the storage medium is a cache.

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; B being a positive integer.

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

8. A non-transitory computer-readable storage media comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

storing a plurality of ordered items at a storage medium, wherein the plurality of ordered items has a length of at least N at a first instant in time; N being a positive integer;

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

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

storing the first instruction and the second instruction;

receiving a request for a first N items of the plurality of ordered items; and

in response to receiving the request:

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

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.

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

10. The non-transitory computer-readable storage media of claim 8 , wherein:

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

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

11. The non-transitory computer-readable storage media of claim 8 , wherein the operations further comprise:

receiving 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.

12. The non-transitory computer-readable storage media of claim 8 , wherein the storage medium is a cache.

13. The non-transitory computer-readable storage media of claim 12 , wherein the plurality of ordered items has a length of less than N at a second instant in time, and wherein the operations further comprise:

invaliding the cache; and

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

14. The non-transitory computer-readable storage media of claim 8 , wherein sending the first N items occurs after executing the first instruction and executing the second instruction.

15. A system comprising:

one or more processors; and

a storage device comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

storing a plurality of ordered items at a storage medium, wherein the plurality of ordered items has a length of at least N at a first instant in time; N being a positive integer;

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

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

storing the first instruction and the second instruction;

receiving a request for a first N items of the plurality of ordered items; and

in response to receiving the request:

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

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.

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

17. The system of claim 15 , wherein:

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

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

18. The system of claim 15 , wherein the operations further comprise:

receiving 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.

19. The system of claim 15 , wherein the storage medium is a cache.

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

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE REDACTING "A CORPORATION OF THE STATE OF UTAH" INITIALED AND DATED ON PAGE ONE. PREVIOUSLY RECORDED AT REEL: 051500 FRAME: 0413. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 26, 2021
From: PHILLIPS, JEFF
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 057915/0437 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: PHILLIPS, JEFF
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 051500/0413 →