Enforcing uniform file-locking for diverse file-locking protocols
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/16
G06F-007/00
출원번호
US-0230877
(2002-08-28)
등록번호
US-7293097
(2007-11-06)
발명자
/ 주소
Borr,Andrea
출원인 / 주소
Network Appliance, Inc.
대리인 / 주소
Blakely Sokoloff Taylor & Zafman LLP
인용정보
피인용 횟수 :
32인용 특허 :
60
초록▼
The invention provides a method and system for connect interoperation of multiple diverse file server or file locking protocols, using a uniform multi-protocol lock management system. A file server determines, before allowing any client device to access data or to obtain a lock, whether that would b
The invention provides a method and system for connect interoperation of multiple diverse file server or file locking protocols, using a uniform multi-protocol lock management system. A file server determines, before allowing any client device to access data or to obtain a lock, whether that would be inconsistent with existing locks, regardless of originating client device or originating protocol for those existing locks. A first protocol enforces mandatory file-open and file-locking together with an opportunistic file-locking technique, while a second protocol lacks file-open semantics and provides only for advisory byte-range and file locking.
대표청구항▼
The invention claimed is: 1. A method of enforcing uniform locking semantics among a set of client devices that use a plurality of diverse locking protocols, comprising the steps of: granting an opportunistic lock on a selected data set to a first client device in response to a first message using
The invention claimed is: 1. A method of enforcing uniform locking semantics among a set of client devices that use a plurality of diverse locking protocols, comprising the steps of: granting an opportunistic lock on a selected data set to a first client device in response to a first message using a first protocol; and breaking said opportunistic lock in response to a second message using a second protocol; wherein the first protocol and the second protocol are different ones of said plurality of diverse locking protocols. 2. A method as in claim 1, wherein said first protocol is CIFS. 3. A method as in claim 2, wherein said second protocol is NFS or NLM. 4. A method as in claim 1, wherein said step of breaking further comprises steps of: sending an oplock-break message to said first client device in response to said second message; delaying execution of a file system request indicated by said second message; receiving a response to said oplock-break message from said first client device; and processing and responding to said second message after said step of receiving. 5. A method as in claim 1, wherein said uniform locking semantics include: a change-monitoring lock type capable of being requested by said first client device using said first protocol; and a change notification being triggered by a second client device using said second protocol different from said first protocol. 6. A method as in claim 5, wherein said first protocol is CIFS. 7. A method as in claim 6, wherein said second protocol is NFS. 8. A method as in claim 1, wherein said locking semantics include a lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol. 9. A method as in claim 1, wherein said locking semantics include: a first lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol; and a second lock mode determined in response to a message from a second client device using said second protocol different from said first protocol; wherein said method further comprises a comparison of said first lock mode with said second lock mode. 10. A method as in claim 9, wherein said comparison includes a lock compatibility matrix. 11. A method as in claim 9, wherein said comparison includes a lock conversion matrix. 12. A method as in claim 9, wherein said second lock mode is responsive to a request for a byte-range lock. 13. A method as in claim 9, wherein said second lock mode is responsive to a request for a NLM file lock. 14. A method of enforcing uniform file-locking semantics among a set of client devices that use a plurality of diverse file locking protocols, comprising the steps of: receiving a first message using a first protocol, said first message being operative to lock at least a portion of a selected file; granting an opportunistic lock on said at least a portion of a selected file, in response to said first message; receiving a second message using a second protocol different from the first protocol, said second message being operative to request access to said at least a portion of the selected file; and comparing said access requested by said second message with said lock, and denying said access if prohibited by said lock, and otherwise, breaking said opportunistic lock in response to said second message. 15. A method as in claim 14, wherein said first protocol is CIFS. 16. A method as in claim 15, wherein said second protocol is NLM. 17. A method as in claim 15, wherein said second protocol is NFS. 18. A method as in claim 14, wherein said step of receiving said second message includes the step of recognizing said second message as being for obtaining a byte-range lock on a file using said second protocol, said byte-range lock having a lock type; and wherein said step of comparing includes the step of testing whether obtaining said byte-range lock having said lock type would conflict with existing locks created by messages using the same or other diverse file locking protocols. 19. A method as in claim 18, wherein said step of testing is responsive to one of said diverse file locking protocols used for said second message. 20. A method as in claim 18, wherein said step of testing operates at file-open time for said first protocol and at an access time for said second protocol. 21. A method as in claim 18, wherein said step of testing operates at file-open time for said first protocol and at a lock-request time for said second protocol. 22. A method as in claim 14, wherein said step of receiving said second message includes the step of recognizing said second message for opening a file using said second protocol, said second message including a requested access-mode; and wherein said step of comparing includes the step of testing whether accessing said file using said requested access-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols. 23. A method as in claim 14, wherein said step of receiving said second message includes the step of recognizing said second message for reading from or writing to a file using said second protocol; and wherein said step of comparing includes the step of testing whether accessing said file as attempted by said second message would conflict with existing locks created by messages using the same or other diverse file locking protocols. 24. A method as in claim 14, wherein said step of receiving said first message includes the step of granting said opportunistic lock in response to said first message; and wherein said step of comparing includes the step of breaking said opportunistic lock in response to said second message. 25. A method as in claim 24, wherein said step of breaking includes the steps of: sending an oplock-break message to said first client device in response to said second message; delaying execution of a file system request indicated by said second message; receiving a response to said oplock-break message from said first client device; and processing and responding to said second message after said step of receiving. 26. A method as in claim 25, wherein said response to said oplock-break message includes an oplock-break acknowledgement message or a file close message. 27. A storage server comprising: mass storage; an interface to a network; and a processor, the storage server operating under control of the processor to enforce uniform locking semantics for accessing the mass storage across the network, said semantics enforced among a set of client devices that use a plurality of diverse locking protocols, said processor performing steps including the steps of: (a) granting an opportunistic lock on a selected data set to a first client device in response to a first message using a first protocol, and (b) breaking said opportunistic lock in response to a second message using a second protocol, wherein the first protocol and the second protocol are different ones of said plurality of diverse locking protocols. 28. A storage server as in claim 27, wherein said first protocol is CIFS. 29. A storage server as in claim 28, wherein said second protocol is NFS or NLM. 30. A storage server as in claim 27, wherein said step of breaking further comprises steps of: sending an oplock-break message to said first client device in response to said second message; delaying execution of a file system request indicated by said second message; receiving a response to said oplock-break message from said first client device; and processing and responding to said second message after said step of receiving. 31. A storage server as in claim 27, wherein said uniform locking semantics include: a change-monitoring lock type capable of being requested by said first client device using said first protocol; and a change notification being triggered by a second client device using said second protocol different from said first protocol. 32. A storage server as in claim 31, wherein said first protocol is CIFS. 33. A storage server as in claim 32, wherein said second protocol is NFS. 34. A storage server as in claim 27, wherein said locking semantics include a lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol. 35. A storage server as in claim 27, wherein said locking semantics include: a first lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol; and a second lock mode determined in response to a message from a second client device using said second protocol different from said first protocol; wherein said storage server is responsive to comparison of said first lock mode with said second lock mode. 36. A storage server as in claim 35, wherein said comparison includes a lock compatibility matrix. 37. A storage server as in claim 35, wherein said comparison includes a lock conversion matrix. 38. A storage server as in claim 35, wherein said second lock mode is responsive to a request for a byte-range lock. 39. A storage server as in claim 35, wherein said second lock mode is responsive to a request for a NLM file lock. 40. A file server comprising: mass storage; an interface to a network; and a processor, the file server operating under control of the processor to enforce uniform file-locking semantics for accessing the mass storage across the network, said semantics enforced among a set of client devices that use a plurality of diverse file locking protocols, said processor performing steps including the steps of: receiving a first message using a first protocol, said first message being operative to lock at least a portion of a selected file, granting an opportunistic lock on said at least a portion of a selected file, in response to said first message, receiving a second message using a second protocol different from the first protocol, said second message being operative to request access to said at least a portion of the selected file, comparing said access requested by said second message with said lock, and denying said access if prohibited by said lock, and otherwise, breaking said opportunistic lock in response to said second message. 41. A file server as in claim 40, wherein said first protocol is CIFS. 42. A file server as in claim 41, wherein said second protocol NLM. 43. A file server as in claim 41, wherein said second protocol is NFS. 44. A file server as in claim 40, wherein said step of receiving said second message includes the step of recognizing said second message as being for obtaining a byte-range lock on a file using said second protocol, said byte-range lock having a lock type; and wherein said step of comparing includes the step of testing whether obtaining said byte-range lock having said lock type would conflict with existing locks created by messages using the same or other diverse file locking protocols. 45. A file server as in claim 44, wherein said step of testing is responsive to one of said diverse file locking protocols used for said second message. 46. A file server as in claim 44, wherein said step of testing operates at file-open time for said first protocol and at an access time for said second protocol. 47. A file server as in claim 44, wherein said step of testing operates at file-open time for said first protocol and at a lock-request time for said second protocol. 48. A file server as in claim 40, wherein said step of receiving said second message includes the step of recognizing said second message for opening a file using said second protocol, said second message including a requested access-mode; and wherein said step of comparing includes the step of testing whether accessing said file using said requested access-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols. 49. A file server as in claim 40, wherein said step of receiving said second message includes the step of recognizing said second message for reading from or writing to a file using said second protocol; and wherein said step of comparing includes the step of testing whether accessing said file as attempted by said second message would conflict with existing locks created by messages using the same or other diverse file locking protocols. 50. A file server as in claim 40, wherein said step of receiving said first message includes the step of granting said opportunistic lock in response to said first message; and wherein said step of comparing includes the step of breaking said opportunistic lock in response to said second message. 51. A file server as in claim 50, wherein said step of breaking includes the steps of: sending an oplock-break message to said first client device in response to said second message; delaying execution of a file system request indicated by said second message; receiving a response to said oplock-break message from said first client device; and processing and responding to said second message after said step of receiving. 52. A file server as in claim 51, wherein said response to said oplock-break message includes an oplock-break acknowledgement message or a file close message. 53. A memory storing information including instructions, the instructions executable by a processor to enforce uniform locking semantics, said semantics enforced among a set of client devices that use a plurality of diverse locking protocols, said instructions comprising the steps of: granting an opportunistic lock on a selected data set to a first client device in response to a first message using a first protocol; and breaking said opportunistic lock in response to a second message using a second protocol, wherein the first protocol and the second protocol are different ones of said plurality of diverse locking protocols. 54. A memory as in claim 53, wherein said first protocol is CIFS. 55. A memory as in claim 54, wherein said second protocol is NFS or NLM. 56. A memory as in claim 53, wherein said step of breaking further comprises steps of: sending an oplock-break message to said first client device in response to said second message; delaying execution of a file system request indicated by said second message; receiving a response to said oplock-break message from said first client device; and processing and responding to said second message after said step of receiving. 57. A memory as in claim 53, wherein said uniform locking semantics include: a change-monitoring lock type capable of being requested by said first client device using said first protocol; and a change notification being triggered by a second client device using said second protocol different from said first protocol. 58. A memory as in claim 57, wherein said first protocol is CIFS. 59. A memory as in claim 58, wherein said second protocol is NFS. 60. A memory as in claim 53, wherein said locking semantics include a lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol. 61. A memory as in claim 53, wherein said locking semantics include: a first lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol; and a second lock mode determined in response to a message from a second client device using said second protocol different from said first protocol; a comparison of said first lock mode with said second lock mode. 62. A memory as in claim 61, wherein said comparison includes a lock compatibility matrix. 63. A memory as in claim 61, wherein said comparison includes a lock conversion matrix. 64. A memory as in claim 61, wherein said second lock mode is responsive to a request for a byte-range lock. 65. A memory as in claim 61, wherein said second lock mode is responsive to a request for a NLM file lock. 66. A memory storing information including instructions, the instructions executable by a processor to enforce uniform file-locking semantics, said semantics enforced among a set of client devices that use a plurality of diverse file locking protocols, said instructions comprising the steps of: receiving a first message using a first protocol, said first message being operative to lock at least a portion of a selected file; granting an opportunistic lock on said at least a portion of a selected file, in response to said first message; receiving a second message using a second protocol different from the first protocol, said second message being operative to request access to said at least a portion of the selected file; and comparing said access requested by said second message with said lock, and denying said access if prohibited by said lock, and otherwise, breaking said opportunistic lock in response to said second message. 67. A memory as in claim 66, wherein said first protocol is CIFS. 68. A memory as in claim 67, wherein said second protocol is NLM. 69. A memory as in claim 67, wherein said second protocol is NFS. 70. A memory as in claim 66, wherein said step of receiving said second message includes the step of recognizing said second message as being for obtaining a byte-range lock on a file using said second protocol, said byte-range lock having a lock type; and wherein said step of comparing includes the step of testing whether obtaining said byte-range lock having said lock type would conflict with existing locks created by messages using the same or other diverse file locking protocols. 71. A memory as in claim 70, wherein said step of testing is responsive to one of said diverse file locking protocols used for said second message. 72. A memory as in claim 70, wherein said step of testing operates at file-open time for said first protocol and at an access time for said second protocol. 73. A memory as in claim 70, wherein said step of testing operates at file-open time for said first protocol and at a lock-request time for said second protocol. 74. A memory as in claim 66, wherein said step of receiving said second message includes the step of recognizing said second message for opening a file using said second protocol, said second message including a requested access-mode; and wherein said step of comparing includes the step of testing whether accessing said file using said requested access-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols. 75. A memory as in claim 66, wherein said step of receiving said second message includes the step of recognizing said second message for reading from or writing to a file using said second protocol; and wherein said step of comparing includes the step of testing whether accessing said file as attempted by said second message would conflict with existing locks created by messages using the same or other diverse file locking protocols. 76. A memory as in claim 66, wherein said step of receiving said first message includes the step of granting said opportunistic lock in response to said first message; and wherein said step of comparing includes the step of breaking said opportunistic lock in response to said second message. 77. A memory as in claim 76, wherein said step of breaking includes the steps of: sending an oplock-break message to said first client device in response to said second message; delaying execution of a file system request indicated by said second message; receiving a response to said oplock-break message from said first client device; and processing and responding to said second message after said step of receiving. 78. A memory as in claim 77, wherein said response to said oplock-break message includes an oplock-break acknowledgement message or a file close message. 79. A file server comprising: mass storage means for storing files; interface means for interfacing to a network; and processing means for controlling the file server to enforce uniform file-locking semantics for accessing the mass storage across the network, said semantics enforced among a set of client devices that use a plurality of diverse file locking protocols, including means for granting an opportunistic lock on a selected file to a first client device in response to a first message using a first protocol; and means for breaking said opportunistic lock in response to a second message using a second protocol from a second client device, wherein the first protocol and the second protocol are different ones of said plurality of diverse file locking protocols.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (60)
Ludemann James J. (Mountain View CA) Bechtolsheim Andreas (Stanford CA), Arbitrator for allocating access to data processing resources.
Kern Robert Frederic ; Micka William Frank ; Mikkelsen Claus William ; Shomler Robert Wesley ; Stanley Warren Keith ; Treiber Richard Kent, Asynchronously shadowing record updates in a remote copy session using track arrays.
Midgely Christopher W. (Framingham MA) Holland Charles J. (Northboro MA) Webb John W. (Sutton MA) Gonsalves Manuel (Brookline MA), Continuously-snapshotted protection of computer files.
Montague David S. (Bellevue WA) Misra Pradyumna K. (Issaquah WA) Swift Michael M. (Bellevue WA), Controlling access to objects on multiple operating systems.
Orita Yukio (Fussa JPX) Yasuda Keiichi (Oome JPX), File accessing system using code name to access selected conversion table for converting simplified file name into origi.
Eshel Marc M. (Tarrytown NY) Hunt Guerney D. H. (Ithaca NY) Jones Donald N. (Vestal NY) Meyer Christopher (Vestal NY) Schwartz Frederick A. (Binghamton NY), File manager for files shared by heterogeneous clients.
Hohenstein Gerald Lee (Boulder CO) Nielson Michael E. (Broomfield CO) Tang Tin S. (Boulder CO) Carmichael Richard D. (Longmont CO) Brant William A. (Boulder CO), Flexible parity generation circuit.
Bendert Edward Joseph (Vestal NY) Bennett Robert Bradley (Endwell NY) Berman Eve Suzanne (Binghamton NY) Farrell Susan Marie (Vestal NY) Johnson Eugene (Vestal NY) Nugent Robert Michael (Nichols NY) , Heterogeneous filing system with common API and reconciled file management rules.
Pettit Julie T. ; Bruning ; III Theodore Ernst ; Ducharme Robert ; Ferris Michael K. ; McNany Eugene, High efficiency blower system with integral backflow preventor.
Hirsch Thomas S. (Bedford MA) Bianchi Richard S. (Billerica MA) Perry Ron B. (Wilton NH), Mechanism for linking together the files of emulated and host system for access by emulated system users.
Coverston Harriet G. (New Brighton MN) Crouse Donald D. (Murphy TX), Method and apparatus for insuring recovery of file control information for secondary storage systems.
Masden Kenneth E. (Redmond WA) Smirl Jon D. (Kirkland WA) King John W. (Kirkland WA) Rubin Darryl E. (Redmond WA), Method and system for open file caching in a networked computer system.
Hitz David ; Malcolm Michael ; Lau James ; Rakitzis Byron, Method for maintaining consistent states of a file system and for creating user-accessible read-only copies of a file s.
Crossley James F. (Fulton County GA), Method for multiple programs management within a network having a server computer and a plurality of remote computers.
McCown Patricia M. (Cresskill NJ) Conway Timothy J. (Highland Park NJ) Jessen Karl M. (Bayonne NJ), Methods and apparatus for monitoring system performance.
Raju Sitaram C. V. ; Shoroff Srikanth ; Peltonen Kyle G., Monitoring document changes in a file system of documents with the document change information stored in a persistent log.
Carter John B. ; Davis Scott H. ; Dietterich Daniel J. ; Frank Steven J. ; Lee Hsin H., Shared client-side web caching using globally addressable memory.
Johnson Donavon W. (Georgetown TX) Neuman Grover H. (Austin TX) Sauer Charles H. (Austin TX) Shaheen-Gouda Amal A. (Austin TX) Smith Todd A. (Austin TX), System and method for accessing remote files in a distributed networking environment.
Woodhill James R. (Houston TX) Woodhill Louis R. (Richmond TX) More ; Jr. William Russell (Houston TX) Berlin Jay Harris (Houston TX), System and method for distributed storage management on networked computer systems using binary object identifiers.
Blount Marion L. (Mahopac NY) Morgan Stephen P. (Hartsdale NY) Rader Katalin A. V. (Austin TX) Rader Robert K. (Austin TX) Shaheen-Gouda (Austin TX), System and method for implementing operating system message queues with recoverable shared virtual storage.
Ault Michael Bradford (Austin TX) Plassmann Ernst Robert (Pflugerville TX) Rich Bruce Arland (Round Rock TX) Wilkes Michael David (Austin TX), System and method for providing compatibility between distributed file system namespaces and operating system pathname s.
Ault Michael B. (Austin TX) Plassmann Ernst R. (Pflugerville TX) Rich Bruce A. (Round Rock TX) Wilkes Michael D. (Austin TX), System and method for supporting file attributes on a distributed file system without native support therefor.
Catino Robert J. (Binghamton NY) Chan Tom K. (Thornhill CAX), System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is.
Miloushev, Vladimir I.; Nickolov, Peter A., Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system.
Lacapra, Francesco; Duvvuri, Srinivas P.; Miloushev, Vladimir I.; Nikolova, legal representative, Krasimira; Nickolov, Peter A., File aggregation in a switched file system.
Cai, Hao; Michels, Timothy S.; Szabo, Paul I., Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.