IP Library Granted Patent US 7,975,006
Granted Patent B2
US 7,975,006 · App. 12/400,085 · Granted Jul 5, 2011

Method and device for managing cluster membership by use of storage area network fabric

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,975,006
App. No.
12/400,085
Granted
Jul 5, 2011
Kind
B2
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.

Claims (74)

1. A device, comprising:

a processor;

logic coupled to said processor, configured to forward data messages addressed from a node of a plurality of nodes that form a cluster to another of the plurality of nodes, and further configured to transfer to the processor a cluster membership message addressed from the node; and

memory coupled to said processor and storing at least one program executed by said processor that causes the device to:

prepare the cluster membership message for transmission if the device determines that the cluster membership message needs to be forwarded to a principal switch; and

transition the device to act as a newly selected principal switch if the device detects that it has been so selected and that the current principal switch has failed;

wherein the device is separate from the plurality of nodes and is not a portion of the cluster.

2. The device of claim 1 , wherein the at least one stored program further causes the device to:

monitor the status of one or more cluster nodes by causing the device to determine whether a heartbeat message has been received from each of the one or more cluster nodes; and

prepare for transmission a report addressed to the principal switch indicating whether said heartbeat message has been received from each of the one or more cluster nodes.

3. The device of claim 1 , wherein the at least one stored program further causes the device to:

monitor the status of one or more cluster nodes by causing the device to determine if any of one or more cluster nodes have been physically disconnected from the local switch; and

prepare for transmission a report addressed to the principal switch indicating a detected physical disconnection of any of the one or more cluster nodes.

4. The device of claim 1 , wherein the at least one stored program further causes the device to:

process a received cluster membership message comprising an indication from the principal switch to remove the node from the cluster; and

limit access by the removed node to remaining cluster nodes.

5. The device of claim 4 , wherein causing the device to limit access comprises causing the device to limit the removed node to read-only access of the remaining cluster nodes.

6. The device of claim 4 , wherein causing the device to limit access comprises causing the device to disallow communication between the removed node and the remaining cluster nodes.

7. A device, comprising:

a processor;

logic coupled to said processor, configured to forward data messages addressed from a node of a plurality of nodes that form a cluster to another of the plurality of nodes, and further configured to transfer to the processor a cluster membership message addressed from the node and to a principal switch if the device is acting as the principal switch; and

memory coupled to said processor and storing at least one stored program that causes the device to:

prepare the cluster membership message for transmission if the device determines that the cluster membership message needs to be forwarded to the principal switch, when the device acts as a local switch;

detect a failure of the principal switch, when the device acts as a local switch;

participate in the selection of a new principal switch, when the device acts as a local switch; and

control cluster membership based on received cluster membership messages, if the device is selected as the new principal switch;

wherein the device is separate from the plurality of nodes and is not a portion of the cluster.

8. The device of claim 7 , wherein when the device acts as a local switch the at least one stored program causes the device to:

monitor the status of one or more cluster nodes by causing the device to determine whether a heartbeat message has been received from each of the one or more cluster nodes; and

prepare for transmission a report addressed to the principal switch indicating whether said heartbeat message has been received from each of the one or more cluster nodes.

9. The device of claim 7 , wherein when the device acts as a local switch the at least one stored program causes the device to:

monitor the status of one or more cluster nodes by causing the device to determine if any of the one or more cluster nodes have been physically disconnected from the local switch; and

prepare for transmission a report addressed to the principal switch indicating a detected physical disconnection of any of the one or more cluster nodes.

10. The device of claim 7 , wherein when the device acts as a local switch the at least one stored program further causes the device to:

process a received cluster membership message comprising an indication from the principal switch to remove the node from the cluster; and

limit access by the removed node to remaining cluster nodes.

11. The device of claim 10 , wherein causing the device to limit access comprises causing the device to limit the removed node to read-only access of the remaining cluster nodes, or causing the device to disallow communication between the removed node and the remaining cluster nodes.

12. A method for managing cluster membership, comprising:

forwarding, by a local switch, data messages addressed from a node of a plurality of nodes that form a cluster to another of the plurality of nodes;

transferring, by the local switch, to a processor within the local switch a cluster membership message addressed from the node;

preparing, by the local switch, the cluster membership message for transmission if the local switch determines that the cluster membership message needs to be forwarded to a principal switch; and

transitioning, by the local switch, to act as a newly selected principal switch if the device detects that it has been so selected and that the current principal switch has failed;

wherein the local switch is separate from the plurality of nodes and is not a portion of the cluster.

13. The method of claim 12 , further comprising:

monitoring, by the local switch, the status of one or more cluster nodes by determining whether a heartbeat message has been received from each of the one or more cluster nodes; and

preparing for transmitting, by the local switch, a report addressed to the principal switch indicating whether said heartbeat message has been received from each of the one or more cluster nodes.

14. The method of claim 12 , further comprising:

monitoring, by the local switch, the status of one or more cluster nodes by determining if any of the one or more cluster nodes have been physically disconnected from the local switch; and

preparing for transmitting, by the local switch, a report addressed to the principal switch indicating a detected physical disconnection of any of the one or more cluster nodes.

15. The method of claim 12 , further comprising:

processing, by the local switch, a received cluster membership message comprising an indication from the principal switch to remove the node from the cluster; and

limiting, by the local switch, access by the removed node to remaining cluster nodes.

16. The method of claim 15 , wherein the limiting by the local switch comprises limiting the removed node to read-only access of the remaining cluster nodes.

17. The method of claim 15 , wherein the limiting by the local switch comprises disallowing communication between the removed node and the remaining cluster nodes.

18. A method for managing cluster membership, comprising:

forwarding, by a local switch, data messages addressed from a node of a plurality of nodes that form a cluster to another of the plurality of nodes;

transferring, by the local switch, to a processor within the local switch a cluster membership message addressed from the node;

preparing, by the local switch, the cluster membership message for transmission if the local switch determines that the cluster membership message needs to be forwarded to the principal switch;

detecting, by the local switch, a failure of the principal switch;

participating, by the local switch, in the selection of a new principal switch;

transferring, by the new principal switch, to the processor forwarded cluster membership messages addressed to the new principal switch, if the local switch is selected as the new principal switch; and

controlling, by the new principal switch, cluster membership based on the forwarded cluster membership messages, if the local switch is selected as the new principal switch;

wherein the local switch is separate from the plurality of nodes and is not a portion of the cluster.

19. The method of claim 18 , further comprising:

monitoring, by the local switch, of the status of one or more cluster nodes by determining whether a heartbeat message has been received from each of the one or more cluster nodes connected to the local switch; and

preparing for transmitting, by the local switch, a report addressed to the principal switch indicating whether said heartbeat message has been received from each of the one or more cluster nodes connected to the local switch.

20. The method of claim 18 , further comprising:

monitoring, by the local switch, the status of one or more cluster nodes by determining if any of the one or more cluster nodes have been physically disconnected from the local switch; and

preparing for transmitting, by the local switch, a report addressed to the principal switch indicating a detected physical disconnection of any of the one or more cluster nodes.

21. The method of claim 18 , further comprising:

processing, by the local switch, a received cluster membership message comprising an indication from the principal switch to remove the node from the cluster; and

limiting, by the local switch, access by the removed node to remaining cluster nodes.

22. The method of claim 21 , wherein the limiting by the local switch comprises limiting the removed node to read-only access of the remaining cluster nodes.

23. The method of claim 21 , wherein the limiting by the local switch comprises disallowing communication between the removed node and the remaining cluster nodes.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034784/0609 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 26, 2011
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 026971/0042 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 20, 2011
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; MCDATA CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 026938/0922 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →