Method of cooperative caching for distributed storage system
First Claim
Patent Images
1. A method of cooperative caching for a distributed storage system comprising the steps of:
- requesting data from caches of storage devices which hold the data;
receiving any cached blocks of the data and expected response performances for providing any non-cached blocks of the data from the storage devices; and
requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provide an expectation of optimal performance.
4 Assignments
0 Petitions
Accused Products
Abstract
An embodiment of a method of cooperative caching for a distributed storage system begins with a step of requesting data from storage devices which hold the data. The method continues with a step of receiving any cached blocks and expected response times for providing non-cached blocks from the storage devices. The method concludes with a step of requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provides an expectation of optimal performance.
-
Citations
37 Claims
-
1. A method of cooperative caching for a distributed storage system comprising the steps of:
-
requesting data from caches of storage devices which hold the data;
receiving any cached blocks of the data and expected response performances for providing any non-cached blocks of the data from the storage devices; and
requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provide an expectation of optimal performance. - View Dependent Claims (2, 3, 4)
-
-
5. A method of cooperative caching for a distributed storage system comprising the steps of:
-
requesting data from caches of storage devices which hold the data;
receiving any cached blocks of the data and expected response times for providing non-cached blocks of the data from the storage devices; and
requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provide a remainder of the data with an expectation of a minimal response time. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of cooperative caching for a distributed storage system comprising the steps of:
-
requesting data blocks of replicated data from caches of storage devices which hold the replicated data;
receiving cached data blocks of the replicated data, if any, and an expected response time for providing non-cached data blocks of the replicated data from one or more responding storage devices; and
requesting a remainder of the data blocks of the replicated data from a particular storage device having a minimal expected response time. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method of cooperative caching for a distributed storage system comprising the steps of:
-
requesting a stripe of erasure coded data from caches of storage devices which hold the erasure coded data, the stripe of erasure coded data comprising data blocks and one or more parity blocks;
if the cache of any of the storage devices holds one of the data blocks or the one or more parity blocks, receiving a cached block from each of a subset of the storage devices, the cached block comprising a cached data block or a cached parity block held in the memory of a responding storage device;
receiving an expected response time for providing a non-cached block from each of remaining storage devices, the non-cached block comprising the data block or the parity block not held in the memory of the responding storage device; and
requesting that each of a minimum number of the remaining storage devices having a minimal expected response time provide the data block or the parity block that it holds in order to receive a minimum number of blocks needed to reconstruct the stripe of erasure coded data.
-
-
32. A computer readable media comprising computer code for implementing a method of cooperative caching for a distributed storage system, the method of cooperative caching comprising the steps of:
-
requesting data from caches of storage devices which hold the data;
receiving any cached blocks of the data and expected response times for providing any non-cached blocks of the data from the storage devices; and
requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provide an expectation of optimal performance.
-
-
33. A computer readable media comprising computer code for implementing a method of cooperative caching for a distributed storage system, the method of cooperative caching comprising the steps of:
-
requesting data from caches of storage devices which hold the data;
receiving any cached blocks of the data and expected response times for providing non-cached blocks of the data from the storage devices; and
requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provide a remainder of the data with an expectation of a minimal response time. - View Dependent Claims (34, 35)
-
-
36. A computer readable media comprising computer code for implementing a method of cooperative caching for a distributed storage system, the method of cooperative caching comprising the steps of:
-
requesting data blocks of replicated data from caches of storage devices which hold the replicated data;
receiving cached data blocks of the replicated data, if any, and an expected response time for providing non-cached data blocks of the replicated data from one or more responding storage devices; and
requesting a remainder of the data blocks of the replicated data from a particular storage device having a minimal expected response time.
-
-
37. A computer readable media comprising computer code for implementing a method of cooperative caching for a distributed storage system, the method of cooperative caching comprising the steps of:
-
requesting a stripe of erasure coded data from caches of storage devices which hold the erasure coded data, the stripe of erasure coded data comprising data blocks and one or more parity blocks;
if the cache of any of the storage devices holds one of the data blocks or the one or more parity blocks, receiving a cached block from each of a subset of the storage devices, the cached block comprising a cached data block or a cached parity block held in the memory of a responding storage device;
receiving an expected response time for providing a non-cached block from each of remaining storage devices, the non-cached block comprising the data block or the parity block not held in the memory of the responding storage device; and
requesting that each of a minimum number of the remaining storage devices having a minimal expected response time provide the data block or the parity block that it holds in order to receive a minimum number of blocks needed to reconstruct the stripe of erasure coded data.
-
Specification