IP Library Granted Patent US 9,740,635
Granted Patent B2
US 9,740,635 · App. 14/656,453 · Granted Aug 22, 2017

Computing method and apparatus associated with context-aware management of a file cache

Inventors: Ren Wang (Portland, OR); Weishuang Zhao (Pittsburgh, PA); Wei Shen (Hillsboro, OR); Michael P. Mesnier (Scappoose, OR); Tsung-Yuan C. Tai (Portland, OR); Mesut A. Ergin (Portland, OR)
Assignee: Intel Corporation
G06F12/123G06F12/0866G06F12/0891
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,740,635
App. No.
14/656,453
Granted
Aug 22, 2017
Kind
B2
Abstract

Computer-readable storage media, computing devices and methods associated with file cache management are discussed herein. In embodiments, a computing device may include a file cache and a file cache manager coupled with the file cache. The file cache manager may be configured to implement a context-aware eviction policy to identify a candidate file for deletion from the file cache, from a plurality of individual files contained within the file cache, based at least in part on file-level context information associated with the individual files. In embodiments, the file-level context information may include an indication of access recency and access frequency associated with the individual files. In such embodiments, identifying the candidate file for deletion from the file cache may be based, at least in part, on both the access recency and the access frequency of the individual files. Other embodiments may be described and/or claimed.

Claims (56)

1. A computing device comprising:

a file cache; and

a file cache manager coupled with the file cache, to implement a context-aware eviction policy to identify a candidate file for deletion from the file cache, from a plurality of individual files contained within the file cache, based at least in part on file-level context information associated with the individual files, wherein the file-level context information includes an indication of access recency and access frequency associated with the individual files, and wherein to identify the candidate file for deletion from the file cache is based, at least in part, on both the indication of access recency and the indication of access frequency of the individual files;

wherein the file-level context information further includes an indication of application-level relationships between the individual files, including a file access pattern of an application under execution on the computing device;

wherein the file cache manager is further to identify the candidate file for deletion from the file cache based at least in part on the indication of application-level relationships; and

wherein to identify a candidate file for deletion from the file cache, based at least in part on the indication of application-level relationships, the file cache manager is further to eliminate for consideration those individual files that are indicated, by the file access pattern, as being accessed after an individual file that was recently accessed by the application.

2. The computing device of claim 1 , wherein the file cache manager is to use a frequency-recency value (FRV) associated with each individual file to determine access recency and access frequency, wherein the file cache manager is to calculate the FRV as a weighted exponentially moving average (WEMA) represented by an equation:

FRV k =α*FRV k-1 +(1−α)*sample

where FRV k represents a new FRV,

FRV k-1 represents an immediately preceding FRV,

α represents a weighting decrease value between 0 and 1, and

sample represents a value of 1 for an individual file of the file cache that is currently accessed or −1 for an individual file of the file cache that is not currently accessed.

3. The computing device of device of claim 1 , wherein the file cache manager is further to observe file access patterns during execution of one or more applications; and generate the indication of application-level relationships between the individual files based at least in part on the observed file access patterns.

4. The computing device of claim 1 , wherein the file-level context information further includes an indication of file size of the individual files, and wherein the file cache manager is further to identify the candidate file for deletion from the file cache based at least in part on the respective file sizes of the individual files.

5. The computing device of claim 1 , wherein the file-level context information further includes an indication of user preference of the individual files, and wherein the file cache manager is further to identify the candidate file for deletion from the file cache based at least in part on the indication of user preference of the individual files.

6. The computing device of claim 1 , wherein the file cache manager is to implement the context-aware eviction policy in response to a determination that the file cache has reached a threshold of available capacity.

7. The computing device of claim 1 , wherein the file cache is one of:

a disk cache;

a web cache; or

a cloud storage cache.

8. A computer-implemented method comprising:

determining, by a file cache manager of a computing device, that a file cache of the computing device has reached a threshold of available capacity; and

implementing, by the file cache manager, in response to the determining, a context-aware eviction policy to identify a candidate file for deletion from the file cache based at least in part on file-level context information associated with individual files contained within the cache, wherein the file-level context information includes an indication of application-level relationships between the individual files, and wherein to identify a candidate file for deletion from the file cache is based at least in part further on the indication of application-level relationships of the individual files;

wherein the file-level context information includes an indication of access recency and access frequency associated with the individual files, and wherein indentifying the candidate file for deletion from the file cache is based, at least in part, on both the indication of access recency and the indication of access frequency of the individual files;

wherein the file-level context information includes a file access pattern of an application under execution on the computing device, and wherein identifying a candidate file for deletion from the file cache, based at least in part on the indication of application-level relationships, further includes eliminating for consideration those individual files that are indicated, by the file access patter, as being accessed after an individual file that was recently accessed by the application.

9. The computer-implemented method of claim 8 , wherein implementing includes computing a frequency-recency value (FRV) associated with each individual file to indicate access recency and access frequency, wherein calculating FRV includes calculating a weighted exponentially moving average (WEMA) represented by an equation:

FRV k =α*FRV k-1 +(1−α)*sample

where FRV k represents a new FRV,

FRV k-1 represents an immediately preceding FRV,

α represents a weighting decrease value between 0 and 1, and

sample represents a value of 1 for an individual file of the file cache that is currently being accessed or −1 for an individual file of the file cache that is not currently being accessed.

10. The computer-implemented method of claim 8 , further comprising: observing, by the file cache manager, file access patterns during execution of one or more applications; and generating the indication of application-level relationships between the individual files based at least in part on the observed file access patterns.

11. The computer-implemented method of claim 8 , wherein the file-level context information further includes an indication of file size of the individual files, and wherein identifying the candidate file for deletion from the file cache is based at least in part on the respective file sizes of the individual files.

12. The computer-implemented method of claim 8 , wherein the file-level context information further includes an indication of user preference of the individual files, and wherein identifying the candidate file for deletion from the file cache is based at least in part on the user preference of the individual files.

13. The computer-implemented method of claim 8 , wherein the file cache is one of:

a disk cache;

a web cache; or

a cloud storage cache.

14. One or more non-transitory computer-readable media having instructions stored thereon which, in response to execution by a computing device, provide the computing device with a file cache manager to:

determine that a file cache of the computing device has reached a threshold of available capacity; and

implement, in response to the determine, a context-aware eviction policy to identify a candidate file for deletion from the file cache based at least in part on file-level context information associated with individual files contained within the cache, wherein the file-level context information includes an indication of access recency and access frequency associated with the individual files, and wherein to identify the candidate file for deletion from the file cache is based, at least in part, on both the indication of access recency and the indication of access frequency of the individual files;

wherein the file-level context information further includes an indication of application-level relationships between the individual files, and wherein the file cache manager is further to identify the candidate file for deletion from the file cache based at least in part on the indication of application-level relationships;

wherein the file-level context information includes a file access pattern of an application under execution on the computing device, and wherein to identify a candidate file for deletion from the file cache, based at least in part on the indication of application-level relationships, the file cache manager is further to eliminate for consideration those individual files that are indicated, by the file access pattern, as being accessed after an individual file that was recently accessed by the application.

15. The non-transitory computer-readable media of claim 14 , wherein to implement includes to calculate a frequency-recency value (FRV) associated with each individual file to indicate access recency and access frequency, wherein to calculate includes to calculate the FRV as a weighted exponentially moving average (WEMA) represented by an equation:

FRV k =α*FRV k-1 +(1−α)*sample,

where FRV k represents a new FRV,

FRV k-1 represents an immediately preceding FRV,

α represents a weighting decrease value between 0 and 1, and

sample represents a value of 1 for an individual file of the file cache that is currently accessed or −1 for an individual file of the file cache that is not currently accessed.

16. The non-transitory computer-readable media of claim 14 , wherein the file cache manager is to further observe file access patterns during execution of one or more applications; and generate the indication of application-level relationships between the individual files based at least in part on the observed file access patterns.

17. The non-transitory computer-readable media of claim 14 , wherein the file-level context information further includes an indication of file size of the individual files, and wherein the file cache manager is further to identify the candidate file for deletion from the file cache based at least in part on the respective file sizes of the individual files.

18. The non-transitory computer-readable media of claim 14 , wherein the file-level context information further includes an indication of user preference of the individual files, and wherein the file cache manager is further to identify the candidate file for deletion from the file cache based at least in part on the user preference of the individual files.

19. The non-transitory computer-readable media of claim 14 , wherein the file cache is one of:

a disk cache;

a web cache; or

a cloud storage cache.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072890/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2015
From: WANG, REN; ZHAO, WEISHUANG; SHEN, WEI; MESNIER, MICHAEL P.; TAI, TSUNG-YUAN C.; ERGIN, MESUT A.
To: INTEL CORPORATION
Reel/Frame 035155/0446 →
Continuity (1)
Related Publication 20160267020A1 · Sep 15, 2016