IP Library Granted Patent US 11,283,861
Granted Patent B2
US 11,283,861 · App. 16/750,412 · Granted Mar 22, 2022

Connection management during non-disruptive upgrade of nodes

Inventors: Shiv Kumar (Pune, IN); Avadut Mungre (North Goa, IN)
Assignee: EMC IP Holding Company LLC
H04L67/1008H04L43/0817H04L43/16H04L67/101H04L67/1012H04L67/1034
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,283,861
App. No.
16/750,412
Granted
Mar 22, 2022
Kind
B2
Abstract

Connection of clients to nodes associated with a storage system can be managed during non-disruptive upgrades (NDUs) of software or firmware of nodes. During NDU, connection manager component (CMC) manages connections of clients to nodes based on a node pool policy to determine nodes to consider for connection for a client request and a connection policy. CMC can determine whether to reduce a set of nodes to a subset of nodes having a particular upgrade status based on a threshold value associated with the particular upgrade status, which can be one of upgraded or non-upgraded. If threshold is satisfied for the set, CMC can reduce the set to the subset of nodes, and CMC can determine a node of the subset based on the connection policy. If threshold is not satisfied, the set is not reduced, and CMC determines a node from the set based on the connection policy.

Claims (55)

1. A method, comprising:

with regard to a client request, and in response to determining that a non-disruptive upgrade of a first group of nodes and a second group of nodes is in progress, determining, by a system comprising a processor, whether the first group of nodes is to be reduced to a first subgroup of nodes of the first group of nodes based at least in part on respective upgrade statuses of respective nodes of the first group of nodes and a first connection management criterion relating to a defined upgrade status, wherein the first connection management criterion indicates a defined threshold value relating to a number or a percentage of nodes associated with the defined upgrade status;

in response to determining that the first group of nodes is to be reduced to the first subgroup of nodes, determining, by the system, a node of the first subgroup of nodes that is to be utilized to connect to a client device to service the client request based at least in part on a node characteristic associated with the first subgroup of nodes and a second connection management criterion relating to the node characteristic;

determining, by the system, whether the second group of nodes satisfies the defined threshold value based at least in part on a result of analyzing statistical information relating to node characteristics, comprising the node characteristic, associated with the second group of nodes; and

in response to determining that the second group of nodes does not satisfy the defined threshold value, determining, by the system, that the second group of nodes is not to be reduced to form a second subgroup of nodes.

2. The method of claim 1 , further comprising:

monitoring, by the system, node characteristics, comprising the node characteristic, associated with the respective nodes of the first group of nodes; and

analyzing, by the system, the statistical information relating to the node characteristics.

3. The method of claim 2 , wherein the result is a first result, and wherein the method further comprises:

determining, by the system, whether the first group of nodes satisfies the defined threshold value based at least in part on a second result of the analyzing of the statistical information; and

in response to determining that the first group of nodes satisfies the defined threshold value, determining, by the system, that the first group of nodes is to be reduced to form the first subgroup of nodes, wherein the first subgroup of nodes comprises one or more nodes that are associated with the defined upgrade status, and wherein the first subgroup of nodes contains at least one less node than the first group of nodes.

4. The method of claim 2 , wherein the result is a first result, wherein the determining the node of the first subgroup of nodes that is to be utilized to connect to the client device to service the client request comprises determining the node of the first subgroup of nodes that is to be utilized to connect to the client device to service the client request based at least in part on a second result of the analyzing of the statistical information, and wherein the result of the analyzing of the statistical information indicates that a parameter value relating to the node characteristic and associated with the node satisfies the second connection management criterion relating to the node characteristic.

5. The method of claim 1 , wherein

the statistical information relating to the node characteristics associated with the second group of nodes comprises upgrade status information relating to update status in connection with the non-disruptive upgrade.

6. The method of claim 1 , wherein the node is a first node, wherein the client device is a first client device, wherein the client request is a first client request, wherein the result is a first result, and wherein the method further comprises:

determining, by the system, a second node of the second group of nodes that is to be utilized to connect to a second client device to service a second client request based at least in part on a second result of the analyzing of the statistical information, wherein the second result of the analyzing of the statistical information indicates that a parameter value relating to the node characteristic and associated with the second node satisfies the second connection management criterion relating to the node characteristic, and wherein the second node is associated with an upgraded status or a non-upgraded status.

7. The method of claim 1 , wherein the defined upgrade status is one of an upgraded status or a non-upgraded status, wherein the upgraded status indicates software or firmware of a particular node of the first group of nodes has been upgraded during the non-disruptive upgrade, and wherein the non-upgraded status indicates the software or the firmware of the particular node has not been upgraded yet during the non-disruptive upgrade.

8. The method of claim 7 , further comprising:

determining, by the system, that the particular node has not been upgraded and has the non-upgraded status, in response to detecting an error indication with regard to an upgrade status of the particular node.

9. The method of claim 1 , wherein the node characteristic relates to respective amounts of resource utilization associated with respective nodes of the first subgroup, respective throughput levels associated with the respective nodes of the first subgroup, respective connection counts associated with the respective nodes of the first subgroup, or an ordering of the respective nodes of the first subgroup of nodes, and wherein a connection count of the respective connection counts relates to a number of connection sessions between the node and one or more client devices.

10. The method of claim 9 , further comprising:

determining, by the system, that an amount of the resource utilization associated with the node is higher than other amounts of other resource utilizations associated with other nodes of the respective nodes of the first subgroup;

determining, by the system, that a throughput level associated with the node is higher than other throughput levels associated with the other nodes;

determining, by the system, that the connection count associated with the node is lower than other connection counts associated with the other nodes; or

determining, by the system, that the node is next in order relative to the other nodes based at least in part on the ordering of the respective nodes.

11. A system, comprising:

a memory that stores computer executable components; and

a processor that executes computer executable components stored in the memory, wherein the computer executable components comprise:

an update component that performs a non-disruptive upgrade of a first group of nodes and a second group of nodes; and

a connection manager component that, in response to determining that the non-disruptive upgrade of the first group of nodes is in progress, determines whether to form a first subgroup of nodes from the first group of nodes based at least in part on respective upgrade statuses of respective nodes of the first group of nodes and a first connection management criterion relating to a defined node upgrade status, wherein the first subgroup of nodes is associated with the defined node upgrade status, and wherein the first connection management criterion indicates a defined threshold value relating to a number or a percentage of nodes associated with the defined node upgrade status,

wherein, in response to determining that the first subgroup of nodes is to be formed from the first group of nodes, the connection manager component determines a node of the first subgroup of nodes that is to be utilized to connect to a client device to service a client request based at least in part on a node attribute associated with the first subgroup of nodes and a second connection management criterion relating to the node attribute,

wherein, in response to determining that the non-disruptive upgrade of the second group of nodes is in progress, the connection manager component determines whether the second group of nodes satisfies the defined threshold value based at least in part on a result of an analysis of statistical data relating to node attributes, comprising the node attribute, associated the second group of nodes, and

wherein, in response to determining that the second group of nodes does not satisfy the defined threshold value, the connection manager component determines that a second subgroup of nodes is not to be formed from the second group of nodes.

12. The system of claim 11 , wherein the connection manager component monitors node attributes, comprising the node attribute, associated with the respective nodes of the first group of nodes, and analyzes the statistical data relating to the node attributes.

13. The system of claim 12 , wherein the result is a first result;

wherein the connection manager component determines whether the first group of nodes satisfies the defined threshold value based at least in part on a second result of the analysis of the statistical data; and

wherein, in response to determining that the first group of nodes satisfies the defined threshold value, the connection manager component determines that the first subgroup of nodes is to be formed from the first group of nodes, wherein the first subgroup of nodes comprises one or more nodes that are associated with the defined upgrade status, and wherein the first subgroup of nodes contains at least one less node than the first group of nodes.

14. The system of claim 12 , wherein the result is a first result, wherein the connection manager component determines the node of the first subgroup of nodes that is to be utilized to connect to the client device to service the client request based at least in part on a second result of the analysis of the statistical data, wherein the result of the analysis of the statistical data indicates that a parameter value relating to the node attribute and associated with the node satisfies the second connection management criterion relating to the node attribute, and wherein the node comprises at least one of a processor component, a data store, a network component, or an interconnect component.

15. The system of claim 11 , wherein

the statistical data relating to the node attributes associated the second group of nodes comprises upgrade status data relating to update status in connection with the non-disruptive upgrade.

16. The system of claim 11 , wherein the node is a first node, wherein the client device is a first client device, wherein the client request is a first client request, and wherein the result is a first result; and

wherein the connection manager component determines a second node of the second group of nodes that is to be utilized to connect to a second client device to service a second client request based at least in part on a second result of the analyzing of the statistical data, wherein the second result of the analyzing of the statistical data indicates that a parameter value relating to the node attribute and associated with the second node satisfies the second connection management criterion relating to the node attribute, and wherein the second node is associated with an upgraded status or a non-upgraded status.

17. The system of claim 11 , wherein the defined upgrade status is one of an upgraded status or a non-upgraded status, wherein the upgraded status indicates software or firmware of a particular node of the first group of nodes has been upgraded during the non-disruptive upgrade, and wherein the non-upgraded status indicates the software or the firmware of the particular node has not been upgraded yet during the non-disruptive upgrade.

18. The system of claim 11 , wherein the node attribute relates to respective amounts of resource utilization associated with respective nodes of the first subgroup, respective aggregate throughput levels associated with the respective nodes of the first subgroup, respective connection counts associated with the respective nodes of the first subgroup, or an ordering of the respective nodes of the first subgroup of nodes, wherein a connection count of the respective connection counts relates to a number of connection sessions between the node and one or more client devices; and

wherein the connection manager component:

determines that an amount of the resource utilization associated with the node is higher than other amounts of other resource utilizations associated with other nodes of the respective nodes of the first subgroup,

determines that an aggregate throughput level associated with the node is higher than other aggregate throughput levels associated with the other nodes,

determines that the connection count associated with the node is lower than other connection counts associated with the other nodes, or

determines that the node is next in order relative to the other nodes based at least in part on the ordering of the respective nodes.

19. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising:

in connection with a client request, and in response to determining that a non-disruptive upgrade of a first set of nodes and a second set of nodes is occurring, determining whether to form a first subset of nodes from the first set of nodes based at least in part on respective upgrade statuses of respective nodes of the first set of nodes and a first connection management criterion relating to a defined node upgrade status, wherein the first subset of nodes is associated with the defined node upgrade status, wherein the first subset of nodes contains at least one less node than the set of nodes, and wherein the first connection management criterion indicates a defined threshold value relating to a number or a percentage of nodes associated with the defined node upgrade status;

in response to determining that the first subset of nodes is to be formed from the first set of nodes, determining a node of the first subset of nodes that is to be utilized to connect to a client device to service the client request based at least in part on a node characteristic associated with the first subset of nodes and a second connection management criterion relating to the node characteristic;

determining whether the second set of nodes satisfies the defined threshold value based at least in part on a result of analyzing statistical information relating to node characteristics, comprising the node characteristic, associated with the second set of nodes; and

in response to determining that the second set of nodes does not satisfy the defined threshold value, determining that the second set of nodes is not to be reduced to form a second subset of nodes.

20. The non-transitory machine-readable medium of claim 19 , wherein the defined upgrade status is one of an upgraded status or a non-upgraded status, wherein the upgraded status indicates software or firmware of a particular node of the first set of nodes has been upgraded during the non-disruptive upgrade, and wherein the non-upgraded status indicates the software or the firmware of the particular node has not been upgraded yet during the non-disruptive upgrade.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 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 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2020
From: KUMAR, SHIV; MUNGRE, AVADUT
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051598/0872 →