Sieved caching for increasing data rate capacity of a heterogeneous striping group
First Claim
1. A method for increasing the data rate for provision of data from a plurality of devices in a striping group associated with a server in response to client requests comprising the steps of:
- evaluating the respective capabilities of each of the plurality of devices in the striping group;
retrieving data in response to a first client request;
determining if said data is to be used again for a successive client request; and
selectively caching data from said plurality of devices, which data is to be used for a successive client request, in accordance with said capabilities.
1 Assignment
0 Petitions
Accused Products
Abstract
Under the present invention, a small cache is used for the selective buffering of devices of a heterogeneous striping group (i.e., striping group made of devices with unequal capacities) to match the load on each device to its capacity. The inventive caching algorithm utilizes a device map, or disk map, and applies a cache distribution factor for each device of a group to determined how to selectively buffer blocks read from different devices of a striping group; thereby placing different loads on the different devices of a striping group in accordance with their capacities.
-
Citations
20 Claims
-
1. A method for increasing the data rate for provision of data from a plurality of devices in a striping group associated with a server in response to client requests comprising the steps of:
-
evaluating the respective capabilities of each of the plurality of devices in the striping group;
retrieving data in response to a first client request;
determining if said data is to be used again for a successive client request; and
selectively caching data from said plurality of devices, which data is to be used for a successive client request, in accordance with said capabilities. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
identifying data to be cached;
computing the number of cache blocks required to store said identified data to be cached; and
determining if said identified data can be cached based on said computed number of cache blocks.
-
-
6. The method of claim 5 wherein at least one interval is already stored at said cache and wherein said determining if said data can be cached further comprises deallocating at least one interval from said cache.
-
7. The method of claim 1 wherein said evaluating said respective capacities comprises calculating a cache distribution factor for each of said plurality of devices.
-
8. The method of claim 1 wherein said retrieving data comprises the steps of:
-
determining if a preceding stream exists for said data;
ascertaining the storage location for said preceding stream; and
accessing said preceding stream from its storage location.
-
-
9. A server for optimizing the data rate for provision of requested data to a client, said data being stored in a striping group comprising a plurality of devices associated with said server, comprising:
-
at least one cache memory for storing data;
a cache manager for receiving client requests for data, said cache manager comprising a cache management component for selectively caching data from said plurality of devices in said striping group; and
wherein said server comprises at least one component for evaluating the respective capabilities of each of the plurality of devices and wherein said selectively caching data from said plurality of devices in said striping group comprises caching based on said respective capabilities. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for a cache management component to increase the data rate for provision of data from a plurality of devices in a striping group associated with the component in response to client requests, said method steps comprising:
-
evaluating the respective capabilities of each of the plurality of devices in the striping group;
retrieving data in response to a first client request;
determining if said data is to be used again for a successive client request; and
selectively caching data from said plurality of devices, which data is to be used for a successive client request, in accordance with said capabilities.
-
-
17. A video server for optimizing the data rate for provision of requested video data to a client, said video data being stored in a striping group comprising a plurality of devices associated with said video server, comprising:
-
at least one cache memory for storing video data; and
a cache manager for receiving client requests for video data, said cache manager comprising a cache management component for selectively caching data from said plurality of devices in said striping group, said cache management component including at least one device access data structure for evaluating the respective capabilities of each of the plurality of devices, and wherein said selectively caching data from said plurality of devices in said striping group comprises caching based on said respective capabilities. - View Dependent Claims (18, 19, 20)
-
Specification