Lock management for concurrent access to a single file from multiple data mover computers
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-013/00
G06F-012/00
출원번호
US-0945654
(2004-09-21)
등록번호
US-7315926
(2008-01-01)
발명자
/ 주소
Fridella,Stephen A.
Jiang,Xiaoye
Gupta,Uday K.
Faibish,Sorin
출원인 / 주소
EMC Corporation
대리인 / 주소
Auchterlonie,Richard C.
인용정보
피인용 횟수 :
27인용 특허 :
17
초록▼
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
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.
대표청구항▼
What is claimed is: 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 pri
What is claimed is: 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 then the 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 then the 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. 2. The method as claimed in claim 1, wherein the secondary data mover computer grants concurrent read locks on the file to a plurality of the network clients without notification to the primary data mover computer when the secondary data mover computer holds the read lock on the entire file from the primary data mover computer. 3. The method as claimed in claim 1, wherein a third network client requests read access to a specific byte range in the file when the secondary data mover computer does not have a read lock on the entire file and the secondary data mover computer then forwards to the primary data mover computer the request of the third network client for read access to the specific byte range of the file, and the primary data mover computer grants the third network client read access to the specific byte range of the file upon determining that a conflict precludes a grant of a read lock on the entire file to the secondary data mover computer but the conflict does not preclude a grant of read access for the third network client to the specific byte range in the file. 4. The method as claimed in claim 1, wherein the secondary data mover computer grants read access to the first network client for a certain period of time, and waits for expiration of the certain period of time upon receipt of the request from the second network client for write access to the specified byte range in the file before sending to the primary data mover computer the request for write access of the client to the specified byte range in the file. 5. The method as claimed in claim 1, wherein the first network client requests read access to a specific byte range in the file, and upon receipt of the request from the second network client for write access to a specified byte range in the file, the secondary data mover computer checks whether read access to the specific byte range in the file conflicts with write access to the specified byte range in the file, and upon finding that read access to the specific byte range in the file does not conflict with write access to the specified byte range in the file, notifies the primary data mover computer of the grant of read access of the first network client to the specific byte range in the file. 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. 7. The method as claimed in claim 6, wherein the secondary data mover computer grants the concurrent client read access to the file without notification to the primary data mover computer by granting to each of a plurality of the network clients a certain period of time to complete read access, and wherein the secondary data mover computer waits for expiration of the certain period of time before notifying the primary data mover computer of the release of the read lock on the entire file. 8. The method as claimed in claim 6, wherein the secondary data mover computer checks whether concurrent client read access by at least one of the network clients to one of the specific byte ranges of the file conflicts with the write access to the specified byte range in the file, and upon finding that read access to said one of the specific byte ranges in the file does not conflict with write access to the specified byte range in the file, notifies the primary data mover computer of the grant of the concurrent client read access by said at least one of the network clients to said one of the specific byte ranges in the file. 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. 10. The network file server as claimed in claim 9, wherein the secondary data mover computer is programmed to grant the concurrent read access to the file to the plurality of the network clients without notification to the primary data mover computer by granting to each of the plurality of the network clients a certain period of time to complete the concurrent read access, and wherein the secondary data mover computer is programmed to wait for completion of the certain period of time before notifying the primary data mover computer of the release of the read lock on the entire file. 11. The network file server as claimed in claim 9, wherein the secondary data mover computer is programmed to check whether read access by at least one of the plurality of the clients to one of the specific byte ranges of the file conflicts with the write access to the specified byte range in the file, and upon finding that read access to said one of the specific byte ranges in the file does not conflict with write access to the specified byte range in the file, notifying the primary data mover computer of the grant of the read access by said at least one of the plurality of the clients to said one of the specific byte ranges in the file. 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. 13. The network file server as claimed in claim 12, wherein the secondary data mover computer is programmed to respond to a request for write access to the file by releasing the read lock on the entire file and notifying the primary data mover computer of the request for write access to the file. 14. The network file server as claimed in claim 13, wherein the secondary data mover computer is further programmed to respond to the request for write access to the file by checking whether the concurrent client read access to the file conflicts with the requested write access to the file, and upon finding that the concurrent client read access to the file conflicts with the requested write access to the file, terminating the conflicting concurrent read access to the file without notifying the primary data mover of the conflicting concurrent read access to the file. 15. The network file server as claimed in claim 13, wherein the secondary data mover computer is further programmed to respond to the request for write access to the file by checking whether the concurrent client read access to the file conflicts with the requested write access to the file, and upon finding that the concurrent client read access to the file does not conflict with the requested write access to the file, notifying the primary data mover computer of the non-conflicting concurrent read access to the file.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (17)
Johnson Donavon W. (Georgetown TX) Shaheen-Gouda Amal A. (Austin TX) Smith Todd A. (Austin TX), Distributed file access structure lock.
Henson Larry W. (Austin TX) Johnson Donavon W. (Georgetown TX) Morgan Stephen P. (Mahopac NY) Smith Todd A. (Austin TX), File lock management in a distributed data processing system.
Uresh K. Vahalia ; Xiaoye Jiang ; Jeffrey Jon Darcy ; Boris Zuckerman ; Ronald Curtis Searls, File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration.
Xu Yikang ; Vahalia Uresh K. ; Jiang Xiaoye ; Gupta Uday ; Tzelnic Percy, File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems.
Stakuis Chrisopher J. ; Stearns Kevin M., Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing syst.
Veghte William Lewis ; Smale Leonard Thomas ; Price Robert M., Method and system for connecting to, browsing, and accessing computer network resources.
Aubuchon,Kenneth James; Ewy,Robert Alan; Fallis,Kevin Michael; Harris,Ronald Christopher; Johnson,Daniel Christian, Method and system for optimizing switch-transaction processing in a telecommunications network.
Baird Robert (San Jose CA) Bozman Gerald P. (Oakland NJ) Lett Alexander S. (Mahopac NY) Myers James J. (San Francisco CA) Tetzlaff William H. (Mount Kisco NY), Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks.
Schmuck Frank B. ; Zlotek Anthony J. ; Shmueli Boaz,ILX ; Mandler Benjamin,ILX ; Yehudai Zvi Yosef,ILX ; Kish William A., Parallel file system with method using tokens for locking modes.
Duso Wayne W. ; Forecast John, System having client sending edit commands to server during transmission of continuous media from one clip in play list.
Vahalia Uresh K. ; Forecast John ; Tzelnic Percy, Video file server maintaining sliding windows of a video data set in random access memories of stream server computers f.
Ma, Gang; Faibish, Sorin; Tzelnic, Percy; Pedone, Jr., James M., Block caching between a host device client and storage array in a shared storage environment.
Bartfai, Robert Francis; Factor, Michael E.; Fienblit, Shachar; Gluck, Olympia; Gordon, Eyal; Jarvis, Thomas Charles; Malul, Eli; Mellgren, Carol Santich; Spear, Gail Andrea; Zlotnick, Aviad, Determining when to apply writes received to data units being transferred to a secondary storage.
Westerhoff, Malte; Stalling, Detlev; Seebass, Martin, Image segmentation assignment of a volume by comparing and correlating slice histograms with an anatomic atlas of average histograms.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.