IP Library Granted Patent US 9,158,707
Granted Patent B2
US 9,158,707 · App. 14/490,539 · Granted Oct 13, 2015

Statistical cache promotion

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 9,158,707
App. No.
14/490,539
Granted
Oct 13, 2015
Kind
B2
Abstract

Storing data in a cache is disclosed. It is determined that a data record is not stored in a cache. A random value is generated using a threshold value. It is determined whether to store the data record in the cache based at least in part on the generated random value.

Claims (37)

1. A system for storing data in a cache, comprising:

a processor configured to:

determine that a data record is not stored in a cache;

generate a first random value using a threshold value;

determine whether to store the data record in the cache based at least in part on the generated first random value;

generate a second random value using the threshold value; and

determine whether to store the data record in the cache based at least in part on the generated second random value; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the threshold value is associated with a desired probability that the data record will be stored in the cache.

3. The system of claim 2 , wherein the desired probability is associated with an inverse value of the threshold value.

4. The system of claim 1 , wherein the threshold value has been determined based at least in part on an observed data access pattern of a data set that includes the data record.

5. The system of claim 1 , wherein the threshold value has been determined based at least in part on a data pattern value that represents a desired average number of times the data record is accessed and not stored in the cache before the data record is stored in the cache.

6. The system of claim 1 , wherein the threshold value has been determined based at least in part on a size of the cache.

7. The system of claim 1 , wherein the threshold value has been determined based at least in part on a hierarchy level of the cache.

8. The system of claim 1 , wherein in the event it is determined to store the data record in the cache, the processor is further configured to select an existing data record stored in the cache to be replaced with the data record to be stored in the cache.

9. The system of claim 1 , wherein generating the first random value is associated with a probabilistic determination on whether to store the data record in the cache.

10. The system of claim 1 , wherein determining whether to store the data record in the cache based at least in part on the generated first random value includes comparing the first random value with a reference value.

11. The system of claim 1 , wherein determining whether to store the data record in the cache based at least in part on the generated second random value includes comparing a reference value with a result of the second random value modulo the threshold value.

12. The system of claim 11 , wherein it is determined to store the data record in the cache based at least in part on the generated second random value if the result matches the reference value.

13. A method of storing data in a cache, comprising:

determining that a data record is not stored in a cache;

generating a first random value using a threshold value;

determining whether to store the data record in the cache based at least in part on the generated first random value;

generating a second random value using the threshold value; and

determining whether to store the data record in the cache based at least in part on the generated second random value.

14. The method of claim 13 , wherein the threshold value is associated with a desired probability that the data record will be stored in the cache.

15. The method of claim 14 , wherein the desired probability is associated with an inverse value of the threshold value.

16. The method of claim 13 , wherein determining whether to store the data record in the cache based at least in part on the generated first random value includes comparing the first random value with a reference value.

17. The method of claim 13 , wherein the threshold value has been determined based at least in part on a data pattern value that represents a desired average number of times the data record is accessed and not stored in the cache before the data record is stored in the cache.

18. A computer program product for storing data in a cache, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

determining that a data record is not stored in a cache;

generating a first random value using a threshold value;

determining whether to store the data record in the cache based at least in part on the generated first random value;

generating a second random value using the threshold value; and

determining whether to store the data record in the cache based at least in part on the generated second random value.

19. The computer program product of claim 18 , wherein the threshold value is associated with a desired probability that the data record will be stored in the cache.

20. The computer program product of claim 19 , wherein the desired probability is associated with an inverse value of the threshold value.

Assignments (1)
CHANGE OF NAME Recorded Nov 19, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058214/0351 →