Method and apparatus for managing locking of resources in a cluster by use of a network fabric
First Claim
1. A network comprising a plurality of nodes forming a cluster, each node including a communications port for transferring messages, said messages including data messages for other nodes and lock messages requesting control of a shared resource;
- and a device for transferring messages, said device coupled to each of said nodes forming said cluster, said device transferring data messages between said nodes and receiving lock messages from said nodes, said device including;
a plurality of communications ports coupled to said nodes;
a processor, memory coupled to said processor and storing programs executed by said processor; and
logic coupled to said communications ports and said processor and transferring data messages between said communications ports and lock messages between said ports and said processor, wherein said stored programs include a program for controlling resource locks, said processor executing said lock stored program to process lock messages from said nodes.
5 Assignments
0 Petitions
Accused Products
Abstract
Managing cluster membership and providing and managing locks in the switches forming the interconnecting network. To manage the cluster membership, a zone is created, with indicated members existing in the zone and the zone being managed by the switches. The nodes communicate their membership events, such as alive messages, using an API to work with the switch to which they are attached. The desired membership algorithm is executed by the switches, preferably in a distributed manner. Each switch then enforces the membership policies, including preventing operations from evicted nodes. This greatly simplifies the programs used on the nodes and unburdens them from many time consuming tasks, thus providing improved cluster performance. In a like manner, the switches in the fabric manage the resource locks. The nodes send their lock requests, such as creation and ownership requests, to the switch to which they are connected using an API. The switches then perform the desired lock operation and provide a response to the requesting node. Again, this greatly simplifies the programs used on the nodes and unburdens them from many time consuming activities, providing improved cluster performance.
-
Citations
14 Claims
-
1. A network comprising
a plurality of nodes forming a cluster, each node including a communications port for transferring messages, said messages including data messages for other nodes and lock messages requesting control of a shared resource; - and
a device for transferring messages, said device coupled to each of said nodes forming said cluster, said device transferring data messages between said nodes and receiving lock messages from said nodes, said device including;
a plurality of communications ports coupled to said nodes;
a processor, memory coupled to said processor and storing programs executed by said processor; and
logic coupled to said communications ports and said processor and transferring data messages between said communications ports and lock messages between said ports and said processor, wherein said stored programs include a program for controlling resource locks, said processor executing said lock stored program to process lock messages from said nodes. - View Dependent Claims (2, 3, 4)
- and
-
5. A device for use with a plurality of nodes forming a cluster, each node including a communications port for transferring messages, the messages including data messages for other nodes and lock messages requesting control of a shared resource, the device comprising
a plurality of communications ports for coupling to the nodes; -
a processor;
memory coupled to said processor and storing programs executed by said processor; and
logic coupled to said communications ports and said processor and transferring data messages between said communications ports and lock messages between said ports and said processor, wherein said stored programs include a program for controlling resource locks, said processor executing said lock stored program to process lock messages from the nodes - View Dependent Claims (6)
-
-
7. A node which is one of a plurality of nodes forming a cluster, the node comprising:
-
a communications port for transferring messages, said messages including data messages for other nodes and lock messages for requesting control of a shared resource, said communications port for coupling to a device for transferring messages, the device coupled to each of the nodes forming the cluster, the device transferring data messages between the nodes and receiving lock messages from the nodes;
a processor;
memory coupled to said processor and storing programs executed by said processor; and
logic coupled to said communications port and said processor and transferring data messages between said communications port and said processor, said data messages addressed to the other nodes, and transferring lock messages between said communications port and said processor, said lock messages addressed to the device.
-
-
8. A method for managing resource locks used by a cluster, the cluster formed by a plurality of nodes, each node including a communications port for transferring messages, the messages including data messages for other nodes and lock messages for requesting control of a shared resource, with each of the nodes coupled to a device for transferring messages, the device transferring data messages between the nodes and receiving lock messages from the nodes, the method comprising:
-
transmitting data messages from a node, said data messages addressed to another node;
providing said data messages to the addressed node;
transmitting lock messages from a node, said lock messages addressed to the device;
providing said lock messages to the device; and
controlling resource locks in the device based on received lock messages. - View Dependent Claims (9, 10, 11)
-
-
12. A device for use with a plurality of nodes forming a cluster, each node including two communications ports for transferring messages, the messages including data messages for other nodes and lock messages for requesting control of a shared resource, one of the communication ports connected to a first fabric and the other of the communications connected to a second fabric for each node, the device comprising:
-
a plurality of communications ports for coupling to the nodes, at least one of said communications ports for connection to the first fabric and at least one of said communications ports for connection to the second fabric;
a processor;
memory coupled to said processor and storing programs executed by said processor; and
logic coupled to said processor and said communication ports, including said communication port for connection to the first fabric and said communication port for connection to the second fabric, and transferring lock messages between said ports and said processor, wherein said stored programs include a program for controlling lock status and a program to compare lock status for the first and second fabrics, said processor executing said lock status stored programs to process lock messages from the nodes. - View Dependent Claims (13, 14)
-
Specification