Patent ID: 8990270
Filing Date: 2015-03-24
Classification: G06F,H04L

Abstract:
1. A method of protocol virtualization for a network file system, comprising: establishing virtual file servers (VFSs) in a data path between at least one client and at least one physical file server (PFS); presenting a virtualized name space to the at least one client, the virtualized name space mapped to individual name spaces of at least one PFS by the VFSs; virtualizing an ID space in response to a request from a client, within the ID space each file identified by a physical file handle (PFH) on each PFS, the PFH and PFS pair mapped to provide a virtual file handle (VFH) and the map of the VFHs being allocated among the VFSs; providing the VFHs to the at least one client by the VFSs, the at least one client perceiving the VFSs as file servers; wherein with each file request from a first client, a first VFS receives a first VFH, the first VFS translating the first VFH to the associated PFH and PFS, the first VFS re-formatting the file request and directing the re-formatted file request and PFH to the PFS, the first VFS receiving at least one response from the PFS, and the first VFS reformatting the response and transmitting the re-formatted response to the first client; selecting a VFS to act as a choke point for all access transactions involving the files to be moved; informing all other VFSs of the selected VFS choke point, all other VFSs directing requests to VFHs translating to involved files to the choke point; copying each involved file from a source directory PFS to a destination directory PFS; updating the map of PFH, PFS and associated VFH entries to reflect the destination directory; and releasing the VFS choke point and informing all other VFSs of the release; and propagating the updated VFHs to the other VFSs; wherein for each read request transaction received by the VFS choke point, accessing and returning data from the source directory; wherein for each write request transaction received by the VFS choke point, the VFS choke point delivering the write transaction to both the source directory and the destination directory.