Large file support for a network file server
First Claim
1. A method for storing files on a file server in a decentralized storage network, comprising:
- storing a large file as a plurality of data chunks in a directory on the file server, the large file having a size beyond a native processing capability of the file server;
storing a directory file handle on the file server that refers to a location of the directory;
mapping a client request to access the large file to the directory file handle; and
sending a data chunk request to the file server.
3 Assignments
0 Petitions
Accused Products
Abstract
A NAS switch provides large file support to a file server in a decentralized storage network such as a NAS (Network Attached Storage) storage network. For example, files greater than 2-GB can be stored on a 32-bit commodity file server. The NAS switch sits in the data path of a client on the front end and a commodity NAS file server on the back end. A segmentation module in the NAS switch stores large files as separate data chunks in the file server. To do so, the segmentation module stores a directory file handle, which points to a directory containing the data chunks, in place of the large file. The segmentation module can also store a large file/chunk directory association in a migration cache. A reconstruction module processes client requests concerning large files by issuing requests to specific data chunks. For example, in a read operation, the reconstruction module calculates chunk numbers to determine which file to read and offsets to determine which byte to read within a chunk.
-
Citations
29 Claims
-
1. A method for storing files on a file server in a decentralized storage network, comprising:
-
storing a large file as a plurality of data chunks in a directory on the file server, the large file having a size beyond a native processing capability of the file server;
storing a directory file handle on the file server that refers to a location of the directory;
mapping a client request to access the large file to the directory file handle; and
sending a data chunk request to the file server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A NAS switch to store files on a file server in a decentralized storage network, comprising:
-
a segmentation module to store a large file as a plurality of data chunks in a directory on the file server, the large file having a size beyond a native processing capability of the file server, and the segmentation module storing a directory file handle on the file server that refers to a location of the directory;
a reconstruction module to map a client request to access the large file to the directory file handle; and
a file server interface to send a data chunk request to the file server. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer program product, comprising:
- a computer-readable medium having computer program instructions and data embodied thereon for a method of storing files on a file server in a decentralized storage network, comprising;
storing a large file as a plurality of data chunks in a directory on the file server, the large file having a size beyond a native processing capability of the file server;
storing a directory file handle on the file server that refers to a location of the directory;
mapping a client request to access the large file to the directory file handle; and
sending a data chunk request to the file server. - View Dependent Claims (24, 25, 26, 27, 28)
- a computer-readable medium having computer program instructions and data embodied thereon for a method of storing files on a file server in a decentralized storage network, comprising;
-
29. A NAS switch to store files on a file server in a decentralized storage network, comprising:
-
a means for segmenting storing a large file as a plurality of data chunks in a directory on the file server, the large file having a size beyond a processing native capability of the file server, and the segmentation module storing a directory file handle on the file server that refers to a location of the directory;
a means for reconstructing storing a client request to access the large file to the directory file handle; and
a means for file server interfacing sending a data chunk request to the file server.
-
Specification