IP Library Granted Patent US 12,487,943
Granted Patent B2
US 12,487,943 · App. 18/598,134 · Granted Dec 2, 2025

Systems and methods for birth time-based FIFO cache reaping

Inventors: Mohammad Amer Ghazal (Chicago, IL); Ankit Khandelwal (Chicago, IL); Steven Engelhardt (Chicago, IL)
Assignee: RELATIVITY ODA LLC
G06F12/128G06F12/0891G06F16/178
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,487,943
App. No.
18/598,134
Granted
Dec 2, 2025
Kind
B2
Abstract

Techniques for birth time-based first in, first out (FIFO) cache reaping are provided. A method includes obtaining an object to be stored in a cache; storing the object in the cache such that the object is associated with a birth time at which the storage occurred, wherein the birth time is constant as changes to the object are synchronized to the cache; calculating a cache storage time for the object based on the birth time for the object; determining that the cache storage time for the object exceeds a maximum cache storage threshold; and responsive to the determination, flagging the object for deletion from the cache.

Claims (53)

1 . A computer-implemented method for cache management comprising:

obtaining, via one or more processors, an object to be stored in a cache;

storing, via the one or more processors, the object in the cache such that the object is associated with a birth time at which the storage occurred, wherein the birth time is constant as changes to the object are synchronized to the cache;

calculating, via one or more processors, a cache storage time for the object based on the birth time for the object;

determining, via the one or more processors, that the cache storage time for the object exceeds a maximum cache storage threshold;

responsive to the determination, flagging, via the one or more processors, the object for deletion from the cache; and

responsive to determining, via the one or more processors, that the object flagged for deletion has pending writes to a long-term storage (LTS) system, queueing, via the one or more processors, the pending writes for synchronization with the LTS system.

2 . The computer-implemented method of claim 1 , wherein determining that the object flagged for deletion has the pending writes to the LTS system comprises:

determining, via the one or more processors, a value for a write flag associated with the object.

3 . The computer-implemented method of claim 1 , wherein determining that the object exceeds the maximum cache storage threshold comprises:

periodically comparing, via the one or more processors, the cache storage time to the maximum cache storage threshold.

4 . The computer-implemented method of claim 1 , wherein determining that the object exceeds the maximum cache storage threshold comprises:

determining, via the one or more processors, an activity level associated with the cache; and

comparing, via the one or more processors, the cache storage time to the maximum cache storage threshold when the activity level is below a threshold activity level.

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

detecting, via the one or more processors, a user input defining the maximum cache storage threshold.

6 . The computer-implemented method of claim 1 , wherein associating the object with the birth time comprises:

storing, via the one or more processors, the birth time in object metadata in the cache.

7 . The computer-implemented method of claim 1 , wherein associating the object with the birth time comprises:

modifying, via the one or more processors, the object to indicate the birth time.

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

causing, via the one or more processors, the object flagged for deletion to be deleted from the cache.

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

receiving, via the one or more processors, one or more modifications to the object; and

maintaining, via the one or more processors, the birth time as unchanged.

10 . A cache management system comprising:

a cache;

one or more processors; and

one or more non-transitory memories coupled to the one or more processors and storing instructions that when executed by the one or more processors, cause the one or more processors to:

obtain an object to be stored in a cache;

store the object in the cache such that the object is associated with a birth time at which the storage occurred, wherein the birth time is constant as changes to the object are synchronized to the cache;

calculate a cache storage time for the object based on the birth time for the object;

determine that the cache storage time for the object exceeds a maximum cache storage threshold;

responsive to the determination, flag the object for deletion from the cache; and

responsive to determining that the object flagged for deletion has pending writes to a long-term storage (LTS) system, queue the pending writes for synchronization with the LTS system.

11 . The cache management system of claim 10 , wherein determining that the object flagged for deletion has the pending writes to the LTS system comprises:

determining a value for a write flag associated with the object.

12 . The cache management system of claim 10 , wherein determining that the object exceeds the maximum cache storage threshold comprises:

periodically comparing the cache storage time to the maximum cache storage threshold.

13 . The cache management system of claim 10 , wherein determining that the object exceeds the maximum cache storage threshold comprises:

determining an activity level associated with the cache; and

comparing the cache storage time to the maximum cache storage threshold when the activity level is below a threshold activity level.

14 . The cache management system of claim 10 , wherein the instructions further cause the one or more processors to:

detect a user input defining the maximum cache storage threshold.

15 . The cache management system of claim 10 , wherein associating the object with the birth time comprises:

storing the birth time in object metadata in the cache.

16 . The cache management system of claim 10 , wherein associating the object with the birth time comprises:

modifying, via the one or more processors, the object to indicate the birth time.

17 . The cache management system of claim 10 , wherein the instructions further cause the one or more processors to:

cause the object flagged for deletion to be deleted from the cache.

18 . The cache management system of claim 10 , wherein the instructions further cause the one or more processors to:

receive one or more modifications to the object; and

maintain the birth time as the time at which the storage occurred.

Assignments (2)
SECURITY INTEREST Recorded Jan 30, 2026
From: RELATIVITY ODA LLC; TEXT IQ, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 074537/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2024
From: GHAZAL, MOHAMMAD AMER; KHANDELWAL, ANKIT; ENGELHARDT, STEVEN
To: RELATIVITY ODA LLC
Reel/Frame 067116/0376 →
Continuity (2)
Provisional Application 63616025 · Dec 29, 2023
Related Publication 20250217304A1 · Jul 3, 2025
References Cited (7)
US 20040193819A1 · Marinescu · 2004 [cited by examiner]
US 20110010496A1 · Kirstenpfad · 2011 [cited by examiner]
US 20150248419A1 · Motoyoama · 2015 [cited by examiner]
US 20190043540A1 · Chagam Reddy · 2019 [cited by examiner]
US 20190057101A1 · Esserlieu · 2019 [cited by examiner]
US 20220075731A1 · Dong · 2022 [cited by examiner]
US 20230125574A1 · Gunda · 2023 [cited by examiner]