Lock management for concurrent access to a single file from multiple data mover computers
First Claim
1. In a network file server in which a plurality of data mover computers share access to storage and service file access requests from network clients, a method of sharing read access and write access to a file in the storage, a primary one of the data mover computers having primary responsibility for control of access to the file and a secondary one of the data mover computers having secondary responsibility for control of access to the file, said method comprising:
- the secondary data mover computer receiving a request from a first network client for read access to the file;
the secondary data mover computer responding to the request from the first network client for said read access to the file by requesting a read lock on the entire file from the primary data mover computer;
the secondary data mover computer receiving from the primary data mover computer said read lock on the entire file;
the secondary data mover computer responding to the receipt of the read lock on the entire file by granting read access to the file to the first network client; and
thenthe secondary data mover computer receiving a request from a second network client for write access to a specified byte range in the file;
the secondary data mover computer responding to receipt of the request from the second network client for write access to the specified byte range in the file by releasing the read lock on the entire file and sending to the primary data mover computer a request for write access of the client to the specified byte range in the file;
the secondary data mover computer receiving from the primary data mover computer an acknowledgement of a grant of write access of the client to the specified byte range in the file; and
thenthe secondary data mover computer returning to the client the acknowledgement of the grant of write access of the client to the specified byte range in the file.
9 Assignments
0 Petitions
Accused Products
Abstract
A protocol is provided for allocating file locking tasks between primary and secondary data mover computers in a network file server. When there is frequent read access and infrequent write access to a file, a primary data mover grants read locks to the entire file to secondary data movers, and the secondary data movers grant read locks to clients requesting read access. When write access to the file is needed, the read locks to the entire file are released and the read locks granted to the clients are released or expire or are demoted to non-conflicting byte range locks managed by the primary data mover. Concurrent read and write access to the same file is then managed by the primary data mover.
-
Citations
15 Claims
-
1. In a network file server in which a plurality of data mover computers share access to storage and service file access requests from network clients, a method of sharing read access and write access to a file in the storage, a primary one of the data mover computers having primary responsibility for control of access to the file and a secondary one of the data mover computers having secondary responsibility for control of access to the file, said method comprising:
-
the secondary data mover computer receiving a request from a first network client for read access to the file; the secondary data mover computer responding to the request from the first network client for said read access to the file by requesting a read lock on the entire file from the primary data mover computer; the secondary data mover computer receiving from the primary data mover computer said read lock on the entire file; the secondary data mover computer responding to the receipt of the read lock on the entire file by granting read access to the file to the first network client; and
thenthe secondary data mover computer receiving a request from a second network client for write access to a specified byte range in the file; the secondary data mover computer responding to receipt of the request from the second network client for write access to the specified byte range in the file by releasing the read lock on the entire file and sending to the primary data mover computer a request for write access of the client to the specified byte range in the file; the secondary data mover computer receiving from the primary data mover computer an acknowledgement of a grant of write access of the client to the specified byte range in the file; and
thenthe secondary data mover computer returning to the client the acknowledgement of the grant of write access of the client to the specified byte range in the file. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a network file server in which a plurality of data mover computers share access to storage and service file access requests from network clients, a method of sharing read access and write access to a file in the storage, a primary one of the data mover computers having primary responsibility for control of access to the file and a secondary one of the data mover computers having secondary responsibility for control of access to the file, said method comprising:
-
the secondary data mover computer holding a read lock on the entire file, and while holding the read lock on the entire file, the secondary data mover computer granting concurrent client read access to the file without notification to the primary data mover computer; and in response to a request from a client for write access to a specified byte range of the file, the secondary data mover computer releasing the read lock on the entire file, and upon termination of the concurrent client read access to the file without notification to the primary data mover computer, the secondary data mover computer notifying the primary data mover computer of the release of the read lock on the entire file, and in response to the notification of the release of the read lock on the entire file, the primary data mover computer granting the client write access to the specified byte range of the file, and concurrent with the write access to the specified byte range of the file, the primary data mover computer granting to at least some of the network clients read access to specific byte ranges of the file. - View Dependent Claims (7, 8)
-
-
9. A network file server comprising storage and a plurality of data mover computers coupled to the storage for sharing access to the storage, the data mover computers being programmed to service file access requests from network clients, wherein a primary one of the data mover computers is programmed to have primary responsibility for control of access to a file in the storage, and a secondary one of the data mover computers being programmed to have secondary responsibility for control of access to the file,
wherein the secondary data mover computer is programmed for holding a read lock on the entire file, and while holding the read lock on the entire file, granting concurrent read access to the file to a plurality of the network clients without notification to the primary data mover computer; - and
wherein the secondary data mover computer is programmed to respond to a request from a client for write access to a specified byte range of the file by releasing the read lock on the entire file, and upon termination of the concurrent read access to the file to the plurality of the network clients without notification to the primary data mover computer, notifying the primary data mover computer of the release of the read lock on the entire file; and wherein the primary data mover computer is programmed to respond to the notification of the release of the read lock on the entire file by granting the client write access to the specified byte range of the file, and concurrent with the write access to the specified byte range of the file, granting to at least some of the network clients read access to specific byte ranges of the file. - View Dependent Claims (10, 11)
- and
-
12. A network file server comprising storage and a plurality of data mover computers coupled to the storage to share access to storage, the data mover computers being programmed to service file access requests from network clients, wherein a primary one of the data mover computers is programmed to have primary responsibility for control of access to a file in the storage, and a secondary one of the data mover computers being programmed to have secondary responsibility for control of access to the file,
wherein the primary data mover computer is programmed to respond to a client request for access to a specified byte range of the file by checking whether access to the specified byte range of the file by the client does not conflict with a lock already on the file, and upon finding that access to the specified byte range of the file does not conflict with said lock already on the file, granting to the client access to the specified byte range of the file, and upon finding that access to the specified byte range of the file does conflict with said lock already on the file, placing the request on a wait list until the conflicting lock is released, and upon finding that the client is requesting write access to the file, checking whether the secondary data mover computer holds a read lock on the entire file, and upon finding that the secondary data mover computer holds said read lock on the entire file, requesting the secondary data mover computer to release said read lock on the entire file, and wherein the secondary data mover computer is programmed to respond to client requests for read access to the file by obtaining from the primary data mover computer said read lock on the entire file, and upon obtaining said read lock on the entire file from the primary data move computer, granting concurrent client read access to the file, and upon receiving a request from the primary data mover computer for release of said read lock on the entire file, the secondary data mover computer releasing said read lock on the entire file and notifying the primary data mover computer of release of said read lock on the entire file.
Specification