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.