IP Library Granted Patent US 11,609,711
Granted Patent B2
US 11,609,711 · App. 17/226,131 · Granted Mar 21, 2023

Distributed control path

Inventor: Richard Hicks (Cary, NC)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/061G06F3/0604G06F3/067
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,609,711
App. No.
17/226,131
Filed
Apr 9, 2021
Granted
Mar 21, 2023
Kind
B2
Art Unit
2181
USPC
711/154
Abstract

Techniques for configuring and processing control path commands may include: partitioning control path components of a control path into a plurality of portions; performing first processing that configures a federation of a plurality of appliances, wherein each of the plurality of appliances includes a plurality of processing nodes, and wherein the first processing includes: for each of the plurality of appliances, configuring each of the plurality of processing nodes of said each appliance to run one portion of the plurality of portions of control path components; and selecting one of the plurality of appliances as a primary appliance of the federation; receiving a first management command at the primary appliance of the federation; and servicing the first management command by one or more of the plurality of appliances of the federation.

Claims (58)

1. A method of configuring and processing control path commands comprising:

partitioning control path components of a control path into a plurality of portions;

performing first processing that configures a federation of a plurality of appliances, wherein each of the plurality of appliances includes a plurality of processing nodes, and wherein the first processing includes:

for each of the plurality of appliances, configuring each of the plurality of processing nodes of said each appliance to run one portion of the plurality of portions of control path components; and

selecting one of the plurality of appliances as a primary appliance of the federation;

receiving a first management command at the primary appliance of the federation; and

servicing the first management command by one or more of the plurality of appliances of the federation, wherein the control path components include a management database server that performs operations on a management database, wherein each of the plurality of appliances of the federation includes an instance of the management database server and a copy of the management database, wherein the copy of the management database on said primary appliance is readable and writable, wherein the instance of the management database server on the primary appliance is in a primary mode, wherein the copy of the management database on every other appliance of the federation other than said primary appliance is read only, and wherein, for each of the plurality of appliances of the federation, the copy of the management database of said each appliance includes data storage system configuration information of a data storage system, and wherein all management commands that are received by the primary appliance and require modification of at least some of the data storage system configuration information are serviced using the copy of the management database on the primary appliance.

2. The method of claim 1 , wherein the first processing includes, for each of the plurality of appliances, selecting one of the plurality of nodes of said each appliance as a primary node of said each appliance.

3. The method of claim 2 , wherein servicing the first management command includes the primary node of the primary appliance selecting the one or more of the plurality of appliances to service the first management command.

4. The method of claim 3 , wherein servicing the first management command includes the primary node of the primary appliance forwarding the first management command to the primary node of a first appliance of the plurality of appliances.

5. The method of claim 1 , wherein the first management command is issued over the control path from a management application to the primary appliance of the federation.

6. The method of claim 1 , wherein the one or more of the plurality of appliances selected to service the first management command includes selecting a first of the plurality of appliances in accordance with a load balancing technique.

7. The method of claim 1 , wherein the one or more of the plurality of appliances selected to service the first management command includes selecting a node of one of the appliances in accordance with a load balancing technique.

8. A method of configuring and processing control path commands comprising:

partitioning control path components of a control path into a plurality of portions;

performing first processing that configures a federation of a plurality of appliances, wherein each of the plurality of appliances includes a plurality of processing nodes, and wherein the first processing includes:

for each of the plurality of appliances, configuring each of the plurality of processing nodes of said each appliance to run one portion of the plurality of portions of control path components; and

selecting one of the plurality of appliances as a primary appliance of the federation;

receiving a first management command at the primary appliance of the federation; and

servicing the first management command by one or more of the plurality of appliances of the federation, wherein the control path components include a management database server that performs operations on a management database, wherein each of the plurality of appliances of the federation includes an instance of the management database server and a copy of the management database, wherein the copy of the management database on said primary appliance is readable and writable, wherein the instance of the management database server on the primary appliance is in a primary mode, wherein the copy of the management database on every other appliance of the federation other than said primary appliance is read only, wherein, for each of the plurality of appliances of the federation, the instance of the management database server is included in a first node of the plurality of nodes of said each appliance, and wherein, for each of the plurality of appliances of the federation, the management database of said each appliance is stored on physical storage devices accessible only to the plurality of nodes of said each appliance, and wherein the management database is mounted on the first node of said each appliance and is used, by the instance of the management database server on the first node, to process management database requests.

9. The method of claim 8 , wherein the first node is the primary node of said each appliance.

10. The method of claim 8 , wherein the control path components include first one or more components that process a first set of management commands issued over the control path, wherein each management command of the first set only reads information from the management database, and wherein the control path components include second one or more components that process a second set of management commands issued of the control path, wherein each management command of the second set includes modifying information of the management database.

11. The method of claim 10 , wherein, for each of the plurality of appliances in the federation, the first one or more components are included on the first node of said each appliance, and wherein management commands of the first set are serviced by said each appliance by issuing one or more queries to the management database server of the first node of said each appliance to retrieve data from the management database of said each appliance.

12. The method of claim 11 , wherein, for each of the plurality of appliances in the federation, the second one or more components are included on a second node of the plurality of nodes of said each appliance, and wherein management commands of the second set are serviced by said each appliance issuing one or more database commands to the management database server of the primary appliance, wherein the one more database commands modify content of the management database of the primary appliance.

13. A system comprising:

one or more processors; and

one or more memories comprising code stored thereon that, when executed, perform a method of configuring and processing control path commands comprising:

partitioning control path components of a control path into a plurality of portions;

performing first processing that configures a federation of a plurality of appliances, wherein each of the plurality of appliances includes a plurality of processing nodes, and wherein the first processing includes:

for each of the plurality of appliances, configuring each of the plurality of processing nodes of said each appliance to run one portion of the plurality of portions of control path components; and

selecting one of the plurality of appliances as a primary appliance of the federation;

receiving a first management command at the primary appliance of the federation; and

servicing the first management command by one or more of the plurality of appliances of the federation, wherein the control path components include a management database server that performs operations on a management database, wherein each of the plurality of appliances of the federation includes an instance of the management database server and a copy of the management database, wherein the copy of the management database on said primary appliance is readable and writable, wherein the instance of the management database server on the primary appliance is in a primary mode, wherein the copy of the management database on every other appliance of the federation other than said primary appliance is read only, and wherein, for each of the plurality of appliances of the federation, the copy of the management database of said each appliance includes data storage system configuration information of a data storage system, and wherein all management commands that are received by the primary appliance and require modification of at least some of the data storage system configuration information are serviced using the copy of the management database on the primary appliance.

14. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of configuring and processing control path commands comprising:

partitioning control path components of a control path into a plurality of portions;

performing first processing that configures a federation of a plurality of appliances, wherein each of the plurality of appliances includes a plurality of processing nodes, and wherein the first processing includes:

for each of the plurality of appliances, configuring each of the plurality of processing nodes of said each appliance to run one portion of the plurality of portions of control path components; and

selecting one of the plurality of appliances as a primary appliance of the federation;

receiving a first management command at the primary appliance of the federation; and

servicing the first management command by one or more of the plurality of appliances of the federation, wherein the control path components include a management database server that performs operations on a management database, wherein each of the plurality of appliances of the federation includes an instance of the management database server and a copy of the management database, wherein the copy of the management database on said primary appliance is readable and writable, wherein the instance of the management database server on the primary appliance is in a primary mode, wherein the copy of the management database on every other appliance of the federation other than said primary appliance is read only, and wherein, for each of the plurality of appliances of the federation, the copy of the management database of said each appliance includes data storage system configuration information of a data storage system, and wherein all management commands that are received by the primary appliance and require modification of at least some of the data storage system configuration information are serviced using the copy of the management database on the primary appliance.

15. The non-transitory computer readable medium of claim 14 , wherein the first processing includes, for each of the plurality of appliances, selecting one of the plurality of nodes of said each appliance as a primary node of said each appliance.

16. The non-transitory computer readable medium of claim 15 , wherein servicing the first management command includes the primary node of the primary appliance selecting the one or more of the plurality of appliances to service the first management command, and wherein servicing the first management command includes the primary node of the primary appliance forwarding the first management command to the primary node of a first appliance of the plurality of appliances.

17. A system comprising:

one or more processors; and

one or more memories comprising code stored thereon that, when executed, performs a method of configuring and processing control path commands comprising:

partitioning control path components of a control path into a plurality of portions;

performing first processing that configures a federation of a plurality of appliances, wherein each of the plurality of appliances includes a plurality of processing nodes, and wherein the first processing includes:

for each of the plurality of appliances, configuring each of the plurality of processing nodes of said each appliance to run one portion of the plurality of portions of control path components; and

selecting one of the plurality of appliances as a primary appliance of the federation;

receiving a first management command at the primary appliance of the federation; and

servicing the first management command by one or more of the plurality of appliances of the federation, wherein the control path components include a management database server that performs operations on a management database, wherein each of the plurality of appliances of the federation includes an instance of the management database server and a copy of the management database, wherein the copy of the management database on said primary appliance is readable and writable, wherein the instance of the management database server on the primary appliance is in a primary mode, wherein the copy of the management database on every other appliance of the federation other than said primary appliance is read only, wherein, for each of the plurality of appliances of the federation, the instance of the management database server is included in a first node of the plurality of nodes of said each appliance, and wherein, for each of the plurality of appliances of the federation, the management database of said each appliance is stored on physical storage devices accessible only to the plurality of nodes of said each appliance, and wherein the management database is mounted on the first node of said each appliance and is used, by the instance of the management database server on the first node, to process management database requests.

18. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of configuring and processing control path commands comprising:

partitioning control path components of a control path into a plurality of portions;

performing first processing that configures a federation of a plurality of appliances, wherein each of the plurality of appliances includes a plurality of processing nodes, and wherein the first processing includes:

for each of the plurality of appliances, configuring each of the plurality of processing nodes of said each appliance to run one portion of the plurality of portions of control path components; and

selecting one of the plurality of appliances as a primary appliance of the federation;

receiving a first management command at the primary appliance of the federation; and

servicing the first management command by one or more of the plurality of appliances of the federation, wherein the control path components include a management database server that performs operations on a management database, wherein each of the plurality of appliances of the federation includes an instance of the management database server and a copy of the management database, wherein the copy of the management database on said primary appliance is readable and writable, wherein the instance of the management database server on the primary appliance is in a primary mode, wherein the copy of the management database on every other appliance of the federation other than said primary appliance is read only, wherein, for each of the plurality of appliances of the federation, the instance of the management database server is included in a first node of the plurality of nodes of said each appliance, and wherein, for each of the plurality of appliances of the federation, the management database of said each appliance is stored on physical storage devices accessible only to the plurality of nodes of said each appliance, and wherein the management database is mounted on the first node of said each appliance and is used, by the instance of the management database server on the first node, to process management database requests.

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 Apr 9, 2021
From: HICKS, RICHARD
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055874/0422 →
Continuity (1)
Related Publication 20220326881A1 · Oct 13, 2022