IP Library Granted Patent US 11,449,398
Granted Patent B2
US 11,449,398 · App. 16/864,640 · Granted Sep 20, 2022

Embedded container-based control plane for clustered environment

Inventors: Matthew Jean (Shirley, MA); Daniel K. O'Reilly (Framingham, MA); Richard Hicks (Cary, NC)
Assignee: EMC IP Holding Company LLC
G06F11/2028G06F9/45558G06F11/2041G06F11/2048G06F11/2094G06F16/275G06F2201/80
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,449,398
App. No.
16/864,640
Granted
Sep 20, 2022
Kind
B2
Abstract

Techniques for providing an embedded container-based control plane for clustered environments. A clustered storage system includes one to many storage appliances, in which one storage appliance is designated as a “primary appliance” and any other storage appliance(s) is/are designated as a “peer appliance(s).” The primary appliance includes a central database, one peer appliance includes a synchronously replicated database, and any other peer appliances each include an asynchronously replicated database. The primary appliance further includes a global management IP for managing access to the central database. The primary and peer appliances each further include a control plane container for implementing command processing services. The control plane container of the primary appliance further implements command orchestration services. The clustered storage system with central and replicated databases and a distributed control plane avoids the need to re-synchronize data at the time of storage appliance failure and improves scalability.

Claims (42)

1. A method of a clustered storage system, comprising:

storing, in a central database of a primary appliance of the clustered storage system, one or more commands for satisfying one or more storage management requests;

synchronously replicating the central database to a first peer database of a first peer appliance of the clustered storage system; and

performing distributed processing of the stored commands within a container-based control plane across at least the primary appliance and the first peer appliance of the clustered storage system.

2. The method of claim 1 further comprising:

receiving the one or more storage management requests at a global management IP address of the primary appliance.

3. The method of claim 2 wherein the performing of the distributed processing of the stored commands within the container-based control plane includes accessing, by the first peer appliance via the global management IP address, at least some of the one or more commands stored in the central database of the primary appliance.

4. The method of claim 1 wherein each of the primary appliance and the first peer appliance includes a control plane container having command processing services implemented therein, wherein the control plane container of the primary appliance further has command orchestration services implemented therein, and wherein the performing of the distributed processing of the stored commands within the container-based control plane includes orchestrating, by the command orchestration services, execution of at least some of the stored commands across the control plane container of the primary appliance and the control plane container of the first peer appliance.

5. The method of claim 1 further comprising:

asynchronously replicating the central database to a second peer database of a second peer appliance of the clustered storage system.

6. The method of claim 5 further comprising:

detecting a failure of the primary appliance.

7. The method of claim 6 further comprising:

in response to the failure of the primary appliance, promoting the first peer appliance to a role of a first new primary appliance.

8. The method of claim 7 further comprising:

having promoted the first peer appliance to the role of the first new primary appliance, spinning up at least first command orchestration and processing services within a first control plane container of the first peer appliance.

9. The method of claim 8 further comprising:

synchronously replicating the first peer database of the first peer appliance to the second peer database of the second peer appliance.

10. The method of claim 9 further comprising:

detecting a failure of the first peer appliance.

11. The method of claim 10 further comprising:

in response to the failure of the first peer appliance, promoting the second peer appliance to a role of a second new primary appliance.

12. The method of claim 11 further comprising:

having promoted the second peer appliance to the role of the second new primary appliance, spinning up at least second command orchestration and processing services within a second control plane container of the second peer appliance.

13. A system, comprising:

a memory; and

processing circuitry configured to execute program instructions out of the memory to:

store, in a central database of a primary appliance of a clustered storage system, one or more commands for satisfying one or more storage management requests;

synchronously replicate the central database to a peer database of a peer appliance of the clustered storage system; and

perform distributed processing of the stored commands within a container-based control plane across at least the primary appliance and the peer appliance of the clustered storage system.

14. The system of claim 13 wherein the primary appliance has an associated global management IP address, and wherein the primary appliance is configured to receive the one or more storage management requests at the global management IP address.

15. The system of claim 14 wherein the peer appliance is configured to access the central database of the primary appliance via the global management IP address.

16. The system of claim 13 wherein the primary appliance includes a first control plane container, and the peer appliance includes a second control plane container.

17. The system of claim 16 wherein each of the first control plane container and the second control plane container is configured to run within a separate virtual machine.

18. The system of claim 16 wherein the first control plane container is configured to implement at least command orchestration and processing services, and wherein the command orchestration and processing services of the first control plane container are configured to run within the same virtual machine.

19. A computer program product including a set of non-transitory, computer-readable media having instructions that, when executed by storage processing circuitry, cause the storage processing circuitry to perform a method comprising:

storing, in a central database of a primary appliance of a clustered storage system, one or more commands for satisfying one or more storage management requests;

synchronously replicating the central database to a peer appliance of the clustered storage system; and

performing distributed processing of the stored commands within a container-based control plane across at least the primary appliance and the peer appliance of the clustered storage system.

20. The computer program product of claim 19 wherein the method further comprises:

receiving the one or more storage management requests at a global management IP address of the primary appliance,

wherein the performing of the distributed processing of the stored commands within the container-based control plane includes accessing, by the peer appliance via the global management IP address, the one or more commands stored in the central database of the primary appliance.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 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 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 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 052851/0917 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2020
From: JEAN, MATTHEW; O'REILLY, DANIEL K.; HICKS, RICHARD
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052808/0592 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →