Protocol for dynamic binding of shared resources
First Claim
1. A method of allocating resources between an initiating storage node and a responding storage node, comprising the steps of:
- de-allocating resources requested by the initiating storage node from the responding storage node;
allocating resources not requested by the initiating storage node and reachable by the responding storage node to the responding storage node;
de-allocating resources allocated to the responding storage node from the initiating storage node; and
allocating unallocated resources reachable by the initiating storage node to the initiating storage node.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus, and article of manufacture for dynamically binding shared resources among I/O nodes is disclosed. The method comprises the steps of de-allocating resources requested by an initiating node from a responding node, allocating resources not requested by the initiating node and reachable by the responding node to the responding node, de-allocating resources allocated to the second node from the first node, and allocating unallocated resources reachable by the first node to the first node. The article of manufacture comprises a program storage device tangibly embodying program steps executable by a computer for performing the foregoing method steps. The apparatus comprises a data storage resource having a plurality of storage resources, a first I/O node and a second I/O node. The first and second I/O nodes have an I/O processor for transceiving resource ownership negotiation messages, and for de-allocating and allocating resources as indicated in the information received in the ownership negotiation messages.
-
Citations
16 Claims
-
1. A method of allocating resources between an initiating storage node and a responding storage node, comprising the steps of:
-
de-allocating resources requested by the initiating storage node from the responding storage node;
allocating resources not requested by the initiating storage node and reachable by the responding storage node to the responding storage node;
de-allocating resources allocated to the responding storage node from the initiating storage node; and
allocating unallocated resources reachable by the initiating storage node to the initiating storage node. - View Dependent Claims (2, 3, 4, 5)
transmitting an initiating message comprising an initiating storage node desired resource set identifying the resources requested by the initiating storage node to the responding storage node;
removing the resources in the initiating storage node desired resource set from a responding storage node desired resource set; and
setting a responding storage node resource working set to the responding storage node desired resource set.
-
-
3. The method of claim 2, further comprising the step of marking each resource in the responding storage node desired resource set as a write-through resource if the resource is unreachable by the initiating storage node.
-
4. The method of claim 1, wherein the step of de-allocating resources allocated to the responding storage node from the initiating storage node comprises the steps of:
-
transmitting a responding message comprising a responding storage node desired resource set to the initiating storage node;
removing the resources in the responding storage node desired resource set from the initiating storage node desired set; and
setting a initiating storage node resource working set to the initiating storage node desired resource set.
-
-
5. The method of claim 4, further comprising the step of marking each resource in the initiating storage node resource set as write-though resource if the resource is unreachable by the responding storage node.
-
6. An apparatus for allocating resources between an initiating storage and a responding storage node, comprising:
-
means for de-allocating resources requested by the initiating storage node from the responding storage node;
means for allocating resources not requested by the initiating storage node and reachable by the responding storage node to the responding storage node;
means for de-allocating resources allocated to the responding storage node from the initiating storage node; and
means for allocating resources reachable by the initiating storage node and not allocated to the initiating storage node or the responding storage node to the initiating storage node. - View Dependent Claims (7, 8, 9, 10)
means for transmitting an initiating message comprising a initiating storage node desired resource set identifying the resources requested by the initiating storage node to the responding storage node;
means for removing the resources in the initiating storage node desired resource set from a responding storage node desired resource set; and
means for setting a responding storage node resource working set to the responding storage node desired resource set.
-
-
8. The apparatus of claim 7, further comprising means for marking each resource in the responding storage node desired resource set as a write-through resource if the resource is unreachable by the initiating storage node.
-
9. The apparatus of claim 6, wherein the means for de-allocating resources allocated to the responding storage node from the first node comprises:
-
means for transmitting a responding message comprising a responding storage node desired resource set to the initiating storage node;
means for removing the resources in the responding storage node desired resource set from the initiating storage node desired set; and
means for setting a initiating storage node resource working set to the initiating storage node desired resource set.
-
-
10. The apparatus of claim 9, further comprising the step of marking each resource in the initiating storage node resource set as write-through resource if the resource is unreachable by the responding storage node.
-
11. A program storage medium, readable by a computer, embodying one or more instructions executable by the computer to perform method steps for allocating resources between a initiating storage node and a responding storage node, the method steps comprising the steps of:
-
de-allocating resources requested by the initiating storage node from the responding storage node;
allocating resources not requested by the initiating storage node and reachable by the responding storage node to the responding storage node;
de-allocating resources allocated to the responding storage node from the initiating storage node; and
allocating unallocated resources reachable by the initiating storage node to the initiating storage node. - View Dependent Claims (12, 13, 14, 15)
transmitting an initiating message comprising a initiating storage node desired resource set identifying the resources requested by the initiating storage node to the responding storage node;
removing the resources in the initiating storage node desired resource set from a responding storage node desired resource set; and
setting a responding storage node resource working set to the responding storage node desired resource set.
-
-
13. The program storage device of claim 12, further comprising the method step of marking each resource in the responding storage node desired resource set as a write-through resource if the resource is unreachable by the initiating storage node.
-
14. The program storage device of claim 11, wherein the method step of de-allocating resources allocated to the responding storage node from the initiating storage node comprises the method steps of:
-
transmitting a responding message comprising a responding storage node desired resource set to the initiating storage node;
removing the resources in the responding storage node desired resource set from the initiating storage node desired set; and
setting a initiating storage node resource working set to the initiating storage node desired resource set.
-
-
15. The program storage device of claim 14, further comprising the method step of marking each resource in the initiating storage node resource set as write-through resource if the resource is unreachable by the responding storage node.
-
16. An data storage resource, comprising:
-
a plurality of storage resources;
a first I/O node communicatively coupled to at least one of the plurality of resources, the first I/O node for having a first I/O node processor for transceiving resource ownership negotiation messages with a second I/O node, and for de-allocating resources allocated to the second I/O node from the first I/O node, and for allocating unallocated resources communicatively coupled to the first I/O node to the first I/O node; and
wherein the second I/O node is communicatively coupled to at least one of the plurality of resources, the second I/O node having a second I/O node processor for transceiving resource ownership negotiation messages with the first I/O node, de-allocating resources requested by the first I/O node from the second I/O node, and for allocating resources not requested by the first I/O node and communicatively coupled to the second I/O node to the second I/O node.
-
Specification