Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of coordinated file access using NFS (Network File System) protocol for metadata and I/O to a clustered file system's shared disk storage subsystem by using a shared-lock architecture, each active file server in the clustered file system having equivalent access to clustered file system's shared data, comprising: receiving a file access layout request from a client by a first file server in the clustered file system, using a NAS (Network-Attached Storage) protocol, for byte-ranges of a file stored by the file system; generating a file access layout of a set of file servers in the clustered file system for the NFS protocol to use and byte ranges of the file that particular individual file servers of the clustered file system among the set to use for servicing an I/O request for the file, wherein the generated file access layout functions as a shared-lock for the shared-lock architecture; sending the generated file access layout to the client; receiving from the client, an initial I/O request to byte-ranges of the file; requesting coordinated access to the file from a file system byte-range coordinator that coordinates distributed file system access to byte ranges of files by the file servers in the clustered file system; validating that: no file servers in said the clustered file system have conflicting access to the file, byte ranges for the I/O requested are consistent with the generated file access layout, and the first file server is the correct file server for byte ranges of the requested I/O based on the generated file access layout; and if validated, then granting the first file server coordinated file access to the requested byte-ranges of the file and any subsequent I/O requests that are validated with the generated file access layout can be used by the file servers in the clustered file for coordinated access.
2. The method of claim 1 , wherein granting coordinated file access thereby allows the first file server (that received the initial I/O request) to perform I/O to all byte-ranges of the file without further communication with file system.
3. The method of claim 1 , wherein the first file server retains the coordinated access until the byte range coordinator revokes the file access.
4. The method of claim 1 , further comprising: when a second file server in in the clustered file system receives a I/O request from a client, subsequent to the first file server receiving the file access layout request, for byte-ranges of the file, and performing the validating for this file server.
5. The method of claim 4 , further comprising: if the second file server is validated for the subsequent request, then granting coordinated file access to the second file server for the byte-ranges of the file for the subsequent request, and the second file server servicing that subsequent I/O request.
6. The method of claim 5 , further comprising: when coordinated file access is granted to the second server, further subsequent I/O requests for said byte-ranges to the file are served by said server (that received said subsequent request) without further communication with the file system to coordinate the file system's byte ranges.
7. The method of claim 4 , further comprising: if the second server is not validated for the subsequent request, then the clustered file system: (i) revokes coordinated access from all servers in the cluster for the file, (ii) the second server requesting byte-range lock access for byte-ranges of the file associated with the subsequent request, (iii) if the second file server is granted access to the byte range, the second file server services the I/O request, and (iv) future I/O requests for byte-ranges to the file are coordinated by the clustered file system until a coordinated access request for byte-ranges to the file is requested by and granted to another file server.
8. The method of claim 1 , further comprising: if one or more file servers, other than the first file server, in the clustered file system requests coordinated file access to the same file prior I/O request, then repeating the validating for the one or more file servers; and if validated and the one or more file servers does not already have coordinated access for the byte-range, then granting the coordinated access to the one or more other file servers and the server that received the initial I/O request in an order I/O requests were received by the clustered file system.
9. The method of claim 1 , further comprising: if first file server is not validated, the first file server requests byte-range locks for file access for each I/O to the file, wherein the byte-range locks ensures updates and reads to the file from multiple file servers in clustered file system are synchronized.
10. The method of claim 9 , wherein the byte range locks also ensure POSIX semantics are maintained.
11. The method of claim 1 , wherein coordinated file access granted to a file server is retained until revoked by the clustered file system or returned to by that file server the access was granted to.
12. The method of claim 1 , wherein the clustered file system ensures that the I/O performed by a file server to byte-ranges of a file is in a manner consistent with POSIX semantics.
13. A computer program product of coordinated file access using NFS (Network File System) protocol for metadata and I/O to a clustered file system's shared disk storage subsystem by using a shared-lock architecture, each active file server in the clustered file system having equivalent access to clustered file system's shared data, the computer program product comprising a non-transitory computer readable storage medium having computer usable program code embodied therewith, the computer program code being executable to: receive a file access layout request from a client by a first file server in the clustered file system, using a NAS (Network-Attached Storage) protocol, for byte-ranges of a file stored by the file system; generate a file access layout of a set of file servers in the clustered file system for the NFS protocol to use and byte ranges of the file that particular individual file servers of the clustered file system among the set to use for servicing an I/O request for the file, wherein the generated file access layout functions as a shared-lock for the shared-lock architecture; send the generated file access layout to the client; receive from the client, an initial I/O request to byte-ranges of the file; request coordinated access to the file from a file system byte-range coordinator that coordinates distributed file system access to byte ranges of files by the file servers in the clustered file system; validate that: no file servers in said the clustered file system have conflicting access to the file, byte ranges for the I/O requested are consistent with the generated file access layout, and the first file server is the correct file server for byte ranges of the requested I/O based on the generated file access layout; and if validated, then grant the first file server coordinated file access to the requested byte-ranges of the file and any subsequent I/O requests that are validated with the generated file access layout can be used by the file servers in the clustered file for coordinated access.
14. The computer program product of claim 13 , the computer program code being further executable to: when a second file server in in the clustered file system receives a I/O request from a client, subsequent to the first file server receiving the file access layout request, for byte-ranges of the file, and performing the validating for this file server.
15. The computer program product of claim 14 , the computer program code being further executable to: if the second file server is validated for the subsequent request, then granting coordinated file access to the second file server for the byte-ranges of the file for the subsequent request, and the second file server servicing that subsequent I/O request.
16. The computer program product of claim 15 , the computer program code being further executable to: when coordinated file access is granted to the second server, further subsequent I/O requests for said byte-ranges to the file are served by said server (that received said subsequent request) without further communication with the file system to coordinate the file system's byte ranges.
17. The computer program product of claim 14 , the computer program code being further executable to: if the second server is not validated for the subsequent request, then the clustered file system: (i) revokes coordinated access from all servers in the cluster for the file, (ii) the second server requesting byte-range lock access for byte-ranges of the file associated with the subsequent request, (iii) if the second file server is granted access to the byte range, the second file server services the I/O request, and (iv) future I/O requests for byte-ranges to the file are coordinated by the clustered file system until a coordinated access request for byte-ranges to the file is requested by and granted to another file server.
18. The computer program product of claim 13 , the computer program code being further executable to: if one or more file servers, other than the first file server, in the clustered file system requests coordinated file access to the same file prior I/O request, then repeating the validating for the one or more file servers; and if validated and the one or more file servers does not already have coordinated access for the byte-range, then granting the coordinated access to the one or more other file servers and the server that received the initial I/O request in an order I/O requests were received by the clustered file system.
19. The computer program product of claim 13 , the computer program code being further executable to: if first file server is not validated, the first file server requests byte-range locks for file access for each I/O to the file, wherein the byte-range locks ensures updates and reads to the file from multiple file servers in clustered file system are synchronized.
Unknown
December 27, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.