×

Virtualizing network-attached-storage (NAS) with a compact table that stores lossy hashes of file names and parent handles rather than full names

  • US 7,272,654 B1
  • Filed: 03/04/2004
  • Issued: 09/18/2007
  • Est. Priority Date: 03/04/2004
  • Status: Active Grant
First Claim
Patent Images

1. A virtual Network Attached Storage (NAS) translator comprising:

  • a network interface that receives requests from clients, and receives server-data from a plurality of NAS appliance servers, each of the plurality of NAS appliance servers storing files and having a file system and a network connection;

    wherein the server-data from the plurality of NAS appliance servers is carried over a network in network packets;

    wherein the requests from clients are carried over the network in network packets;

    wherein the requests from clients are messages using a networked-file-protocol, the requests including initial requests that contain a file name and a directory-path locator;

    a hash engine, receiving the file name and a directory-path locator from the network interface, the hash engine generating a hashed-name key having a fixed-length;

    a translation table with a plurality of entries that each contain a storage key, file meta-data, and a unique identifier, the entries not storing the file name;

    wherein the meta-data includes a server identifier that indicates a server storing the file in the plurality of NAS appliance servers;

    a comparator, receiving the hashed-name key and the storage key, for selecting a matching entry in the translation table, the matching entry having a storage key that matches the hashed-name key; and

    a reply generator, receiving the unique identifier for the matching entry from the translation table, for generating a reply to the client that is sent through the network interface to the client, the reply containing a virtual file handle using the unique identifier;

    wherein the requests from clients also include secondary requests that contain the virtual file handle received by the client from the replay generator;

    a secondary translator, receiving the virtual file handle from the client, the secondary translator extracting a client unique identifier from the virtual file handle and searching the translation table for a matching entry that has the unique identifier matching the client unique identifier; and

    a request forwarder, coupled to the network interface, for substituting a native file handle for the matching entry for the virtual file handle to generate a request to a NAS appliance server in the plurality of NAS appliance servers,whereby virtual file handles from clients are replaced with native file handles by the virtual NAS translator before being forwarded to the plurality of NAS appliance servers.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×