IP Library Granted Patent US 11,294,782
Granted Patent B1
US 11,294,782 · App. 17/207,992 · Granted Apr 5, 2022

Failover affinity rule modification based on node health information

Inventors: Peniel Charles (Bangalore, IN); Shashidhar R. Kulkarni (Bangalore, IN); Manikandan Sethuraman (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/2094G06F11/3006G06F11/3495G06F2201/85
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 11,294,782
App. No.
17/207,992
Granted
Apr 5, 2022
Kind
B1
Abstract

An apparatus comprises a processing device comprising a processor coupled to memory. The processing device is configured to obtain failover information corresponding to a first node of a plurality of nodes where each node is configured to communicate with a storage system over a plurality of paths. The failover information comprises a failover node selection order according to which other nodes of the plurality of nodes are configured for selection in response to the first node becoming unavailable. The processing device is configured to determine that health information corresponding to a given node indicates that the given node is exhibiting performance issues on at least one of the paths and to modify the failover node selection order based at least in part on the determination.

Claims (59)

1. An apparatus comprising:

a processing device comprising a processor coupled to memory, the processing device being configured:

to obtain failover information corresponding to a first node of a plurality of nodes, each node of the plurality of nodes being configured to communicate with a storage system over a plurality of paths, the failover information comprising a failover node selection order according to which other nodes of the plurality of nodes are configured for selection in response to the first node becoming unavailable;

to obtain health information corresponding to a given node of the other nodes;

to determine that the health information indicates that the given node is exhibiting performance issues on at least one of the paths between the given node and the storage system; and

to modify the failover node selection order based at least in part on the determination that the health information indicates that the given node is exhibiting performance issues on the at least one of the paths.

2. The apparatus of claim 1 wherein the processing device is further configured to provide the modified failover node selection order to one or more of the plurality of nodes, the one or more of the plurality of nodes being configured to propagate the modified failover node selection order to at least some of the plurality of nodes.

3. The apparatus of claim 2 wherein providing the modified failover node selection order to one or more of the plurality of nodes comprises providing the modified failover node selection order to the given node, the given node being configured to propagate the modified failover node selection order to the at least some of the plurality of nodes.

4. The apparatus of claim 1 wherein the health information is obtained from a multi-path input-output driver of the given node, the multi-path input-output driver being configured:

to monitor a health of the paths between the given node and the storage system; and

to generate the health information based at least in part on the monitoring.

5. The apparatus of claim 1 wherein:

the failover information comprises a plurality of affinity rules, each affinity rule corresponding to a node of the plurality of nodes; and

the affinity rule that corresponds to the first node comprises the failover node selection order.

6. The apparatus of claim 1 wherein:

the failover node selection order in the obtained failover information comprises an indication that the given node is configured for selection ahead of a second node of the other nodes in response to the first node becoming unavailable; and

modifying the failover node selection order comprises modifying the failover node selection order such that the second node is configured for selection ahead of the given node.

7. The apparatus of claim 1 wherein the processing device is further configured:

to obtain updated health information corresponding to the given node;

to determine that the updated health information indicates that the given node is no longer exhibiting performance issues on the at least one of the paths between the given node and the storage system; and

to further modify the modified failover node selection order based at least in part on the determination that the updated health information indicates that the given node is no longer exhibiting performance issues on the at least one of the paths.

8. The apparatus of claim 7 wherein further modifying the modified failover node selection order comprises returning the modified failover node selection order to the state that it was in prior to the modification.

9. A method comprising:

obtaining failover information corresponding to a first node of a plurality of nodes, each node of the plurality of nodes being configured to communicate with a storage system over a plurality of paths, the failover information comprising a failover node selection order according to which other nodes of the plurality of nodes are configured for selection in response to the first node becoming unavailable;

obtaining health information corresponding to a given node of the other nodes;

determining that the health information indicates that the given node is exhibiting performance issues on at least one of the paths between the given node and the storage system; and

modifying the failover node selection order based at least in part on the determination that the health information indicates that the given node is exhibiting performance issues on the at least one of the paths;

wherein the method is implemented by a processing device comprising a processor coupled to a memory.

10. The method of claim 9 wherein the method further comprises providing the modified failover node selection order to one or more of the plurality of nodes, the one or more of the plurality of nodes being configured to propagate the modified failover node selection order to at least some of the plurality of nodes.

11. The method of claim 10 wherein providing the modified failover node selection order to one or more of the plurality of nodes comprises providing the modified failover node selection order to the given node, the given node being configured to propagate the modified failover node selection order to the at least some of the plurality of nodes.

12. The method of claim 9 wherein the health information is obtained from a multi-path input-output driver of the given node, the multi-path input-output driver being configured:

to monitor a health of the paths between the given node and the storage system; and

to generate the health information based at least in part on the monitoring.

13. The method of claim 9 wherein:

the failover information comprises a plurality of affinity rules, each affinity rule corresponding to a node of the plurality of nodes; and

the affinity rule that corresponds to the first node comprises the failover node selection order.

14. The method of claim 9 wherein:

the failover node selection order in the obtained failover information comprises an indication that the given node is configured for selection ahead of a second node of the other nodes in response to the first node becoming unavailable; and

modifying the failover node selection order comprises modifying the failover node selection order such that the second node is configured for selection ahead of the given node.

15. The method of claim 9 wherein the method further comprises:

obtaining updated health information corresponding to the given node;

determining that the updated health information indicates that the given node is no longer exhibiting performance issues on the at least one of the paths between the given node and the storage system; and

further modifying the modified failover node selection order based at least in part on the determination that the updated health information indicates that the given node is no longer exhibiting performance issues on the at least one of the paths.

16. The method of claim 15 wherein further modifying the modified failover node selection order comprises returning the modified failover node selection order to the state that it was in prior to the modification.

17. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by a processing device comprising a processor coupled to memory, causes the processing device:

to obtain failover information corresponding to a first node of a plurality of nodes, each node of the plurality of nodes being configured to communicate with a storage system over a plurality of paths, the failover information comprising a failover node selection order according to which other nodes of the plurality of nodes are configured for selection in response to the first node becoming unavailable;

to obtain health information corresponding to a given node of the other nodes;

to determine that the health information indicates that the given node is exhibiting performance issues on at least one of the paths between the given node and the storage system; and

to modify the failover node selection order based at least in part on the determination that the health information indicates that the given node is exhibiting performance issues on the at least one of the paths.

18. The computer program product of claim 17 wherein:

the program code further causes the processing device to provide the modified failover node selection order to one or more of the plurality of nodes, the one or more of the plurality of nodes being configured to propagate the modified failover node selection order to at least some of the plurality of nodes; and

providing the modified failover node selection order to one or more of the plurality of nodes comprises providing the modified failover node selection order to the given node, the given node being configured to propagate the modified failover node selection order to the at least some of the plurality of nodes.

19. The computer program product of claim 17 wherein:

the failover node selection order in the obtained failover information comprises an indication that the given node is configured for selection ahead of a second node of the other nodes in response to the first node becoming unavailable; and

modifying the failover node selection order comprises modifying the failover node selection order such that the second node is configured for selection ahead of the given node.

20. The computer program product of claim 17 wherein the program code further causes the processing device:

to obtain updated health information corresponding to the given node;

to determine that the updated health information indicates that the given node is no longer exhibiting performance issues on the at least one of the paths between the given node and the storage system; and

to further modify the modified failover node selection order based at least in part on the determination that the updated health information indicates that the given node is no longer exhibiting performance issues on the at least one of the paths, wherein further modifying the modified failover node selection order comprises returning the modified failover node selection order to the state that it was in prior to the modification.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2021
From: CHARLES, PENIEL; KULKARNI, SHASHIDHAR R.; SETHURAMAN, MANIKANDAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055668/0667 →