Method for efficient storing of sparse files in a distributed cache
First Claim
Patent Images
1. A method for caching sparse files in a distributed storage system, the distributed storage system comprising at least one client terminal and at least one storage node, the storage node comprising at least a storage means and a cache, wherein the method comprises:
- receiving location information for a requested file;
searching the cache for the requested file;
if the requested file is not found in the cache, then fetching data chunks of the requested file from the storage means and updating the cache with the retrieved file;
if the requested file is found in the cache, then checking if the data chunks comprising the data of the requested file in the cache are in sequence, and if the data chunks are not in sequence, then fetching the missing data chunks from the storage means and updating the cache with the retrieved data chunks; and
returning the requested file to the client terminal.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for performing efficient caching of sparse files in a distributed cache by use of an enumeration process is provided. According to the disclosed invention, the storage'"'"'s objects are cached in the order that these objects are kept in the storage'"'"'s directory. As a result, the directory content is enumerated in the cache, resulting in the cache not having to be associated with the server layout.
92 Citations
65 Claims
-
1. A method for caching sparse files in a distributed storage system, the distributed storage system comprising at least one client terminal and at least one storage node, the storage node comprising at least a storage means and a cache, wherein the method comprises:
-
receiving location information for a requested file;
searching the cache for the requested file;
if the requested file is not found in the cache, then fetching data chunks of the requested file from the storage means and updating the cache with the retrieved file;
if the requested file is found in the cache, then checking if the data chunks comprising the data of the requested file in the cache are in sequence, and if the data chunks are not in sequence, then fetching the missing data chunks from the storage means and updating the cache with the retrieved data chunks; and
returning the requested file to the client terminal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. Computer executable code for efficiently caching sparse files in a distributed storage system, the distributed storage system comprising at least one client terminal and at least one storage node, the storage node comprising a storage means and a cache, the code comprising:
-
a first portion of executable code that, when executed, receives location information for a requested file;
a second portion of executable code that, when executed, searches the cache for the requested file;
a third portion of executable code that, when executed, fetches the data chunks of the requested file from the storage means and updates the cache with the retrieved file, if the requested file is not found in the cache;
a fourth portion of executable code that, when executed, checks if the data chunks comprising the data of the requested file in the cache are in sequence, and if the data chunks are not in sequence, then fetches the missing data chunks from the storage means and updates the cache with the retrieved data chunks, if the requested file is found in the cache; and
a fifth portion of executable code that, when executed, returns the requested file to the client terminal. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer system capable of caching efficiently sparse files, the computer system comprising:
-
a cache adapted for storing variable size data chunks and further adapted to hold data chunks in a linked sequence;
a storage means capable of storing and retrieving the data chunks; and
the computer system being capable of being connected to at least one file requesting means via a network. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A computer system adapted to caching sparse files, the computer system comprising:
-
a processor;
a cache;
a storage means;
a memory comprising software instructions adapted to enable the computer system to;
receiving location information for a requested file;
searching the cache for the requested file;
if the requested file is not found in the cache, then fetching data chunks of the requested file from the storage means and updating the cache with the retrieved file;
if the requested file is found in the cache, then checking if the data chunks comprising the data of the requested file in the cache are in sequence, and if the data chunks are not in sequence, then fetching the missing data chunks from the storage means and updating the cache with the retrieved data chunks; and
returning the requested file to a client terminal. - View Dependent Claims (59, 60, 61)
-
-
62. A computer program product for caching sparse files, the computer program product comprising:
-
software instructions for enabling a computer to perform predetermined operations, and a computer readable medium bearing the software instructions;
wherein the predetermined operations comprise;
receiving location information for a requested file;
searching the cache for the requested file;
if the requested file is not found in a cache, then fetching data chunks of the requested file from a storage means and updating the cache with the retrieved file;
if the requested file is found in the cache, then checking if the data chunks comprising the data of the requested file in the cache are in sequence, and if the data chunks are not in sequence, then fetching the missing data chunks from the storage means and updating the cache with the retrieved data chunks; and
returning the requested file to a client terminal. - View Dependent Claims (63, 64, 65)
-
Specification