Methods and apparatus for locking files within a clustered storage environment
First Claim
1. In a clustered computing environment including a plurality of host systems attached to a common storage subsystem, a method operable within I/O controllers associated with said storage subsystem for coordinating exclusive file access within said storage subsystem by said plurality of host systems, said method comprising the steps of:
- locking an identified portion of an identified file in response to receipt of a lock request received by one of said I/O controllers from an attached host system wherein the locking step is operable within one of said plurality of I/O controllers; and
releasing the lock of said identified portion of said identified file in response to a release request received by said one of said I/O controllers from said attached host system wherein the releasing step is operable within one of said plurality of I/O controllers.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods and associated apparatus for coordinating file lock requests from a cluster of attached host computer systems within I/O controllers (e.g., intelligent I/O adapters) attached to a storage subsystem. The I/O controllers, operable in accordance with the methods of the present invention, includes semaphore tables used to provide temporary exclusive access to an identified portion of an identified file. The host systems request the temporary exclusive access of a file through the I/O controllers rather than over slower network communication media and protocols as is known in the art. The I/O controllers then manages a plurality of competing lock requests to provide mutual exclusivity of the file access. The file lock management is therefore managed over the higher bandwidth storage interface channels of the host systems and without the generalized network protocols burdening the lock management process and the host system CPUs. The I/O controllers in which the methods of the present invention are operable, as referred to herein, includes the controller within a storage device such as a RAID subsystem and decentralized control storage devices such as a RAID subsystem or a storage subsystem with control decentralized to a plurality of intelligent host adapters associated with the cluster of host systems.
-
Citations
37 Claims
-
1. In a clustered computing environment including a plurality of host systems attached to a common storage subsystem, a method operable within I/O controllers associated with said storage subsystem for coordinating exclusive file access within said storage subsystem by said plurality of host systems, said method comprising the steps of:
-
locking an identified portion of an identified file in response to receipt of a lock request received by one of said I/O controllers from an attached host system wherein the locking step is operable within one of said plurality of I/O controllers; and releasing the lock of said identified portion of said identified file in response to a release request received by said one of said I/O controllers from said attached host system wherein the releasing step is operable within one of said plurality of I/O controllers. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. The method of 7 wherein the step of adding said lock request to a list includes the step of:
informing an attached host system which previously locked said semaphore that said lock request is awaiting release of the lock of said semaphore.
-
9. In a RAID storage subsystem attached to a plurality of host systems through a plurality of I/O controllers, a method for managing file lock requests received in said plurality of I/O controllers from said plurality of host systems, said method comprising the steps of:
-
receiving a first lock request in one of said plurality of I/O controllers from one of said plurality of attached host systems, said lock request specifying an identified portion of an identified file for which exclusive access is required; determining, within one of said plurality of I/O controllers, if a previously received lock request precludes granting exclusive access to said identified portion of said identified file; granting, within one of said plurality of I/O controllers, the exclusive access of said first lock request in response to the determination that no previously received lock request precludes granting exclusive access to said identified portion of said identified file; and deferring, within one of said plurality of I/O controllers, the grant of exclusive access of said first lock request in response to the determination that a previously received lock request precludes granting exclusive access to said identified portion of said identified file. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. The method of 9 wherein the step of deferring the grant includes the step of:
informing an attached host system which generated said previously received lock request that said first lock request is awaiting release of said previously received lock request.
-
16. A method, operable within a plurality of I/O controllers attached to a RAID storage subsystem, for managing file lock requests received in said I/O controllers from a plurality of host systems attached to said RAID storage subsystem wherein one of said plurality of controllers is designated as the primary controller and at least one of said plurality of I/O controllers is designated as the secondary controller, said method comprising the steps of:
-
receiving, within said secondary controller, a first lock request from one of said plurality of attached host systems, said lock request specifying an identified portion of an identified file for which exclusive access is required; transmitting a lock request message from said secondary controller to said primary controller to request the granting of said first lock request by said primary controller; and completing processing of said first lock request in response to receipt of a lock request grant message from said primary controller. - View Dependent Claims (17, 18, 19, 21, 22)
-
-
20. The method of 18 wherein the step of deferring granting includes the step of:
informing an attached host system which generated said previously granted lock request that said first lock request is awaiting release of said previously granted lock request.
-
23. A method, operable within a system having a plurality of intelligent I/O adapters in a plurality of host systems, for managing file lock requests received from said plurality of host systems wherein one of said plurality of intelligent I/O adapters is designated as the primary controller and at least one of said plurality of intelligent I/O adapters is designated as the secondary controller, said method comprising the steps of:
-
receiving, within said secondary controller, a first lock request from one of said plurality of attached host systems, said lock request specifying an identified portion of an identified file for which exclusive access is required; transmitting a lock request message from said secondary controller to said primary controller to request the granting of said first lock request by said primary controller; and completing processing of said first lock request in response to receipt of a lock request grant message from said primary controller. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. The method of 25 wherein the step of deferring granting includes the step of:
informing an attached host system which generated said previously granted lock request that said first lock request is awaiting release of said previously granted lock request.
-
30. A program storage device readable by a computer, tangibly embodying a program or instructions executable by computers in a plurality of I/O controllers connecting a plurality of host computer systems to a common storage subsystem to perform the method steps for coordinating exclusive file access within said storage subsystem by said plurality of host systems, said method steps comprising:
-
locking an identified portion of an identified file in response to receipt of a lock request received by one of said I/O controllers from an attached host system wherein the locking step is operable within one of said plurality of I/O controllers; and releasing the lock of said identified portion of said identified file in response to a release request received by said one of said I/O controllers from said attached host system wherein the releasing step is operable within one of said plurality of I/O controllers. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
-
37. The program storage device of 36 wherein the method step of adding said lock request to a list includes the step of:
informing an attached host system which previously locked said semaphore that said lock request is awaiting release of the lock of said semaphore.
Specification