STORING LOSSY HASHES OF FILE NAMES AND PARENT HANDLES RATHER THAN FULL NAMES USING A COMPACT TABLE FOR NETWORK-ATTACHED-STORAGE (NAS)
2 Assignments
0 Petitions
Accused Products
Abstract
Multiple Network Attached Storage (NAS) appliances are pooled together by a virtual NAS translator, forming one common name space visible to clients. Clients send messages to the virtual NAS translator with a file name and a virtual handle of the parent directory that are concatenated to a full file-path name and compressed by a cryptographic hash function to generate a hashed-name key. The hashed-name key is matched to a storage key in a table. The full file-path name is not stored, reducing the table size. A unique entry number is returned to the client as the virtual file handle that is also stored in another table with one or more native file handles, allowing virtual handles to be translated to native handles that the NAS appliance servers use to retrieve files. File movement among NAS servers alters native file handles but not virtual handles, hiding NAS details from clients.
105 Citations
20 Claims
-
1-6. -6. (canceled)
-
7. An apparatus, comprising:
-
a network interface configured to receive a file-access request from a client over a network, wherein the file-access request includes a virtual file handle having a unique identifier; a translator coupled to the network interface, and configured to receive from the network interface the virtual file handle, extract the unique identifier, and determine a native file handle based at least in part on the unique identifier; and a request forwarder coupled to the translator and the network interface, and configured to generate a translated file-access request to be sent to a storage device storing a file of the file-access request, wherein the translated file-access request includes the native file handle. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus, comprising:
-
a server configured to receive a translated file-access request of a client device via a network and to provide the translated file-access request to a file system of the apparatus, wherein the translated file-access request includes a native file handle determined based on a virtual file handle included in an original file-access request of the client device; and a controller coupled to the server, and configured to allow access by the file system to a selected file stored on the apparatus. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification