IP Library › Granted Patent US 10,187,488
Granted Patent B2
US 10,187,488 · App. 14/630,997 · Granted Jan 22, 2019

Methods for managing replacement in a distributed cache environment and devices thereof

Inventor: Michael Condict (Hurdle Mills, NC)
Assignee: NetApp, Inc.
H04L67/2842G06F3/0604G06F3/067G06F3/0611G06F3/0629G06F12/0802G06F12/12G06F12/121
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,187,488
App. No.
14/630,997
Filed
Feb 25, 2015
Granted
Jan 22, 2019
Kind
B2
Examiner
ROJAS, MIDYS
Art Unit
2133
USPC
711/133
Abstract

A method, device, and non-transitory computer readable medium that manages replacement in a distributed cache environment includes determining a cache value of a new item associated with one of a plurality of I/O cache resources. A cache value of a least valuable other item in the plurality of I/O cache resources is obtained. A determination is made when the cache value of the new item is greater than the cache value of the least valuable other item in the plurality of I/O cache resources. The least valuable other item is replaced with the new item when the determination indicates the cache value of the new item is greater than the cache value of the least valuable other item.

Claims (26)

1. A method comprising:

computing, by a compute server device, a cache value of each of a plurality of items associated with one of a plurality of I/O cache resources, wherein the cache value for each item of the plurality of I/O cache resources is computed from a difference of (i) a remote latency for the respective item to fetch data from a remote cache and (ii) a backend latency for the respective item to fetch the data from a backend storage device, and wherein the cache value for each item is further scaled by a first scaling factor; and

replacing, by the compute server device, a lesser valuable other item with a new item when the cache value of the new item is greater than the cache value of the lesser valuable other item.

2. The method as set forth in claim 1 wherein the first scaling factor is a cost per unit of storage.

3. The method as set forth in claim 1 wherein the first scaling factor is applied to the remote latency and a second scaling factor is applied to the backend latency.

4. The method as set forth in claim 1 wherein the first scaling factor representing a cost per unit of storage at the remote cache is applied to the remote latency and a second scaling factor different from the first scaling factor representing a cost per unit of storage at the backend storage device is applied to the backend latency.

5. The method as set forth in claim 1 wherein the cache value of the lesser valuable other item is obtained, by the compute server device, from a periodic broadcast from another one of the plurality of I/O cache resources of the cache value of the lesser valuable other item in the another one of the plurality of I/O cache resources.

6. The method as set forth in claim 1 wherein the cache value of the lesser valuable other item is obtained, by the compute server device, from a shared file.

7. An apparatus comprising:

a processor; and

a memory coupled to the processor, the processor configured to execute programmed instructions stored in the memory to:

compute a cache value of each of a plurality of items associated with one of a plurality of I/O cache resources, wherein the cache value for each item of the plurality of I/O cache resources is computed from a difference of (i) a remote latency for the respective item to fetch data from a remote cache and (ii) a backend latency for the respective item to fetch the data from a backend storage device; and wherein the cache value for each item is further scaled by a first scaling factor; and

replace a lesser valuable other item with a new item when the cache value of the new item is greater than the cache value of the lesser valuable other item.

8. The apparatus as set forth in claim 7 wherein the first scaling factor is a cost per unit of storage.

9. The apparatus as set forth in claim 7 wherein the first scaling factor is applied to the remote latency and a second scaling factor is applied to the backend latency.

10. The apparatus as set forth in claim 7 wherein the first scaling factor representing a cost per unit of storage at the remote cache is applied to the remote latency and a second scaling factor different from the first scaling factor representing a cost per unit of storage at the backend storage device is applied to the backend latency.

11. The apparatus as set forth in claim 7 wherein the cache value of the lesser valuable other item is obtained from a periodic broadcast from another one of the plurality of I/O cache resources of the cache value of the lesser valuable other item in the another one of the plurality of I/O cache resources.

12. The apparatus as set forth in claim 7 wherein the cache value of the lesser valuable other item is obtained from a shared file.

13. A non-transitory computer readable medium having stored instructions which when executed by a processor, causes the processor to perform steps comprising:

computing a cache value of each of a plurality of items associated with one of a plurality of I/O cache resources, wherein the cache value for each item of the plurality of I/O cache resources is computed from a difference of (i) a remote latency for the respective item to fetch data from a remote cache and (ii) a backend latency for the respective item to fetch the data from a backend storage device, and wherein the cache value for each item is further scaled by a first scaling factor; and;

replacing a lesser valuable other item with a new item when the cache value of the new item is greater than the cache value of the lesser valuable other item.

14. The medium as set forth in claim 13 wherein the first scaling factor is a cost per unit of storage.

15. The medium as set forth in claim 13 wherein the first scaling factor is applied to the remote latency and a second scaling factor is applied to the backend latency.

16. The medium as set forth in claim 13 wherein the first scaling factor representing a cost per unit of storage at the remote cache is applied to the remote latency and a second scaling factor different from the first scaling factor representing a cost per unit of storage at the backend storage device is applied to the backend latency.

17. The medium as set forth in claim 13 wherein the cache value of the lesser valuable other item is obtained from a periodic broadcast from another one of the plurality of I/O cache resources of the cache value of the lesser valuable other item in the another one of the plurality of I/O cache resources.

18. The medium as set forth in claim 13 wherein the cache value of the lesser valuable other item is obtained from a shared file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2015
From: CONDICT, MICHAEL
To: NETAPP, INC.
Reel/Frame 035099/0179 →
Continuity (1)
Related Publication 20160246733A1 · Aug 25, 2016