METHOD AND DEVICE FOR MANAGING CLUSTER MEMBERSHIP BY USE OF STORAGE AREA 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 cluster membership messages; 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 cluster membership 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 cluster membership messages between said ports and said processor,wherein said stored programs include a program for controlling cluster membership, said processor executing said cluster membership stored program to process cluster membership messages from said nodes.
7 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
27 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 cluster membership messages; 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 cluster membership 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 cluster membership messages between said ports and said processor, wherein said stored programs include a program for controlling cluster membership, said processor executing said cluster membership stored program to process cluster membership messages from said nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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 cluster membership messages, 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 cluster membership messages between said ports and said processor, wherein said stored programs include a program for controlling cluster membership, said processor executing said cluster membership stored program to process cluster membership messages from the nodes. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A node which is one of a plurality of nodes forming a cluster, the node comprising:
-
communications port for transferring messages, said messages including data messages for other nodes and cluster membership messages, 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 cluster membership 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 cluster membership messages between said communications port and said processor, said cluster membership messages addressed to the device. - View Dependent Claims (14)
-
-
15. A method for managing cluster membership, 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 cluster membership messages, with each of the nodes coupled to a device for transferring messages, the device transferring data messages between the nodes and receiving cluster membership 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 cluster membership messages from a node; providing said cluster membership messages to the device; and controlling cluster membership in the device based on received cluster membership messages. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. 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 cluster membership messages, 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 cluster membership messages between said ports and said processor, wherein said stored programs include a program for controlling cluster membership and a program to compare cluster membership for the first and second fabrics, said processor executing said cluster membership stored programs to process cluster membership messages from the nodes. - View Dependent Claims (23, 24, 25, 26, 27)
-
Specification