Claims
- 1. A method of operating a file server, said method including steps for enforcing a uniform file-locking semantics among a set of client devices using a plurality of diverse file server or file locking protocols.
- 2. A method as in claim 1, wherein said uniform file-locking semantics includes opportunistic locks capable of
being requested by a first client device using a first protocol; and breaking of said opportunistic locks being triggered by a second client device using a second protocol different from said first protocol.
- 3. A method as in claim 2, wherein said first protocol includes CIFS.
- 4. A method as in claim 2, wherein said second protocol includes NFS or NLM.
- 5. A method as in claim 1, wherein said uniform file-locking semantics includes steps for
granting an opportunistic lock on a selected file to a first said client device in response to a first message using a first said protocol; and breaking said opportunistic lock in response to a second message using a second said protocol.
- 6. A method as in claim 5, wherein said steps for breaking include steps for
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.
- 7. A method as in claim 1, wherein said uniform file-locking semantics includes a change-monitoring lock type capable of
being requested by a first client device using a first protocol; and a change notification being triggered by a second client device using a second protocol different from said first protocol.
- 8. A method as in claim 7, wherein said first protocol includes CIFS.
- 9. A method as in claim 7, wherein said second protocol includes NFS.
- 10. A method as in claim 1, wherein said uniform file-locking semantics includes steps for
granting a change-monitoring lock on a selected directory to a first said client device in response to a first message using a first said protocol; and sending a change-notify message to said first client device in response to a second message regarding said selected directory using a second said protocol.
- 11. A method as in claim 1, wherein said steps for enforcing include steps for
recognizing a plurality of diverse protocols; providing a uniform file-locking semantics in response to messages using at least one of said protocols; and enforcing said uniform file-locking semantics for all said client devices.
- 12. A method as in claim 11, wherein said uniform file-locking semantics includes steps for
granting an opportunistic lock to a first said client device in response to a first message using a first said protocol; and breaking said opportunistic lock in response to a second message using a second said protocol.
- 13. A method as in claim 12, wherein said steps for breaking include steps for
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.
- 14. A method as in claim 11, wherein said steps for enforcing said uniform file-locking semantics include steps for
granting a change-monitoring lock in response to a first message from a first client device using a first said protocol; and sending a change-notify message to said first client device in response to a second message using a second said protocol.
- 15. A method as in claim 11, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message that attempts to violate said uniform file-locking semantics; and responding to said selected message with an error response suited to a protocol associated with said selected message.
- 16. A method as in claim 11, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for obtaining a byte-range lock on a file in a selected said protocol, said byte-range lock having a lock type; and testing whether obtaining said byte-range lock would conflict with existing locks created by messages using the same or other protocols.
- 17. A method as in claim 11, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for opening a file in a selected said protocol, said selected message including a requested access-mode; and testing whether opening said file using said requested access-mode would conflict with existing locks created by messages using the same or other protocols.
- 18. A method as in claim 17,
wherein said selected message includes a requested deny-mode; and including steps for testing whether opening said file using said requested deny-mode would conflict with existing locks created by messages using the same or other protocols.
- 19. A method as in claim 11, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for reading from or writing to a file in a selected said protocol; and testing whether reading from or writing to would conflict with existing locks created by messages using the same or other protocols.
- 20. A method as in claim 1, wherein said steps for enforcing include steps for
receiving a first message using a first protocol, said first message being operative to lock at least a portion of a selected file; receiving a second message using a second protocol, said second message being operative to request access to said portion; comparing said access requested by said second message with said lock, and denying said access if prohibited by said lock.
- 21. A method as in claim 20, wherein said first protocol includes CIFS.
- 22. A method as in claim 20, wherein said first protocol or said second protocol includes NLM.
- 23. A method as in claim 20, wherein said second protocol includes NFS.
- 24. A method as in claim 20, wherein
said steps for receiving said second message include steps for 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 said steps for comparing include steps for testing whether obtaining said byte-range lock having said lock type would conflict with existing locks created by messages using the same or other protocols.
- 25. A method as in claim 24, wherein said steps for testing are responsive to a protocol used for said second message.
- 26. A method as in claim 24, wherein said steps for testing operate at file-open time for a first said protocol and at an access time for a second said protocol.
- 27. A method as in claim 24, wherein said steps for testing operate at file-open time for a first said protocol and at a lock-request time for a second said protocol.
- 28. A method as in claim 20, wherein
said steps for receiving said second message include steps for recognizing said second message for opening a file using said second protocol, said second message including a requested access-mode; and said steps for comparing include steps for testing whether accessing said file using said requested access-mode would conflict with existing locks created by messages using the same or other protocols.
- 29. A method as in claim 20, wherein
said steps for receiving said second message include steps for recognizing said second message for reading from or writing to a file using said second protocol; and said steps for comparing include steps for testing whether accessing said file as attempted by said second message would conflict with existing locks created by messages using the same or other protocols.
- 30. A method as in claim 20, wherein
said steps for receiving said first message include steps for granting an opportunistic lock in response to said first message; and said steps for comparing include steps for breaking said opportunistic lock in response to said second message.
- 31. A method as in claim 30, wherein said steps for breaking include steps for
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.
- 32. A method as in claim 31, wherein said response to said oplock-break message includes an oplock-break acknowledgement message or a file close message.
- 33. A method as in claim 1, wherein said file-locking semantics includes a lock mode determined in response to an access-mode and a deny-mode requested by a first client device using a first protocol.
- 34. A method as in claim 1, wherein said file-locking semantics includes
a first lock mode determined in response to an access-mode and a deny-mode requested by a first client device using a first protocol; and a second lock mode determined in response to a message from a second client device using a second protocol different from said first protocol; wherein said file server is responsive to comparison of said first lock mode with said second lock mode.
- 35. A method as in claim 34, wherein said comparison includes a lock compatibility matrix.
- 36. A method as in claim 34, wherein said comparison includes a lock conversion matrix.
- 37. A method as in claim 34, wherein said second lock mode is responsive to a request for a byte-range lock.
- 38. A method as in claim 34, wherein said second lock mode is responsive to a request for a NLM file lock.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of application Ser. No. 09/176,599, filed Oct. 21, 1998 (now allowed), which is a continuation of application Ser. No. 08/985,398, filed Dec. 5, 1997 (now abandoned). This application also is a continuation of PCT application Serial Number PCT/US98/25388 filed Nov. 30, 1998.
Continuations (3)
|
Number |
Date |
Country |
| Parent |
09176599 |
Oct 1998 |
US |
| Child |
10230877 |
Aug 2002 |
US |
| Parent |
08985398 |
Dec 1997 |
US |
| Child |
09176599 |
Oct 1998 |
US |
| Parent |
PCT/US98/25388 |
Nov 1998 |
US |
| Child |
10230877 |
Aug 2002 |
US |