Protocol virtualization for a network file system
First Claim
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.
2 Assignments
0 Petitions
Accused Products
Abstract
A network file system includes at least one unmodified client and at least one unmodified physical file server (PFS). Each PFS has at least one file that is identified by an associated physical file handle (PFH). The network file system includes virtual file servers (VFSs) in a data path between the client(s) and the PFS(s). The network file system also includes a virtualized name space that is mapped to the PFS(s) and is provided to the client(s) by the VFS(s). The network file system further includes a virtualized ID space that is established in response to a request from a client. Within the ID space, each file is identified by a physical file handle (PFH) on a PFS. The PFH and PFS pair are mapped to provide a virtual file handle (VFH), and the map of the VFHs is allocated among the VFSs.
15 Citations
16 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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 a source directory on a source PFS to be moved; informing all other VFSs of the selected VFS choke point, all other VFSs directing requests to VFHs translating to involved files under the source directory to the choke point; performing destination setup, including; establishing a destination directory on a destination PFS corresponding to the source directory; transforming the source directory into a junction directory consisting of all existing objects within the source directory and the destination directory; retrieving a list of all objects within the source directory; copying each file object from the source directory to the destination directory; in response to a sub-directory object, recursively performing the destination setup for each sub-directory object; updating the map of PFH, PFS and associated VFH entries to reflect the at least one 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.
-
-
10. A network file system, comprising:
- at least one unmodified client;
at least one unmodified physical file server (PFS), each PFS having at least one file identified by an associated physical file handle (PFH);
virtual file servers (VFSs) in a data path between the at least one client and at least one PFS;
a virtualized name space mapped to the at least one PFS, the name space provided to the at least one client by the VFSs;
a virtualized ID space established in response to a request from a client, within the ID space each file identified by a physical file handle (PFH) on a PFS, the PFH and PFS pair mapped to provide a virtual file handle (VFH) and the map of VFHs being allocated among the VFSs. - View Dependent Claims (11, 12, 13, 14, 15, 16)
- at least one unmodified client;
Specification