IP Library Granted Patent US 11,392,513
Granted Patent B2
US 11,392,513 · App. 17/071,036 · Granted Jul 19, 2022

Graph-based data flow control system

Inventors: Gaurav Chawla (Austin, TX); Mark Steven Sanders (Roanoke, VA); Elie Jreij (Pflugerville, TX); Jimmy D. Pike (Georgetown, TX); Robert W. Hormuth (Cedar Park, TX); William Price Dawkins (Lakeway, TX)
Assignee: Dell Products L.P.
G06F13/124G06F16/9024
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,392,513
App. No.
17/071,036
Granted
Jul 19, 2022
Kind
B2
Abstract

A graph-based data flow control system includes a control plane system coupled to SCP subsystems. The control plane system identifies a workload, and identifies service(s) on the SCP subsystems for manipulting/exchanging data to perform the workload. The control plane system generates a respective SCP-local data flow control graph for each SCP subsystem that defines how their service(s) will manipulate/exchange data within that SCP subsystem, and generates inter-SCP data flow control graph(s) that define how service(s) provided by at least one SCP subsystem will manipulate/exchange data with service(s) provided by at least one other SCP subsystem. The control plane system then transmits each respective SCP-local data flow control graph to each of the SCP subsystems, and the inter-SCP data flow control graph(s) to at least one SCP subsystem, for use by the SCP subsystems in causing their service(s) to manipulate/exchange data to perform the workload.

Claims (69)

1. A graph-based data flow control system, comprising:

a plurality of System Control Processor (SCP) subsystems; and

a control plane system that is coupled to each of the plurality of SCP subsystems, wherein the control plane system is configured to:

identify a workload;

identify one or more services that are provided by the plurality of SCP subsystems and that are configured to manipulate and exchange data to perform the workload;

generate a respective SCP-local data flow control graph for each of the plurality of SCP subsystems, where each respective SCP-local data flow control graph defines how the one or more services provided by that SCP subsystem will manipulate and exchange data within that SCP subsystem to perform the workload;

generate at least one inter-SCP data flow control graph that defines how the one or more services provided by at least one first SCP subsystem included in the plurality of SCP subsystems will manipulate and exchange data with the one or more services provided by at least one second SCP subsystem included in the plurality of SCP subsystems to perform the workload; and

transmit each respective SCP-local data flow control graph to each of the plurality of SCP subsystems, and the at least one inter-SCP data flow control graph to at least one of the plurality of SCP subsystems, wherein the plurality of SCP subsystems are configured to utilize the respective SCP-local data flow control graph and the at least one inter-SCP data flow control graph to cause their one or more services to manipulate and exchange data to perform the workload.

2. The system of claim 1 , wherein the plurality of SCP subsystems include:

a first subset of the plurality of SCP subsystems that are provided in a first location;

a second subset of the plurality of SCP subsystems that are provided in a second location; and

a third subset of the plurality of SCP subsystems that are provided in a third location,

and wherein the at least one inter-SCP data flow control graph includes:

an intra-location data flow control graph that defines how the one or more services provided by the at least one first SCP subsystem provided in one of the first, second, or third locations will manipulate and exchange data with the one or more services provided by the at least one second SCP subsystem provided in that first, second, or third locations to perform the workload; and

an inter-location data flow control graph that defines how the one or more services provided by the at least one first SCP subsystem provided in one of the first, second, or third locations will manipulate and exchange data with the one or more services provided by the at least one second SCP subsystem provided in another of the first, second, or third locations to perform the workload.

3. The system of claim 1 , wherein the control plane system is provided by a subset of the plurality of SCP subsystems.

4. The system of claim 1 , wherein the control plane system is configured to:

determine that one of the plurality of SCP subsystems has become unavailable and, in response, identify a replacement SCP subsystem; and

generate at least one replacement inter-SCP data flow control graph that defines how the one or more services provided by the replacement SCP subsystem will manipulate and exchange data with the one or more services in at least some of the plurality of SCP subsystems to perform the workload.

5. The system of claim 1 , wherein the control plane system is configured to:

collect telemetry data from one or more of the plurality of SCP subsystems in response to their one or more services handling and manipulating data to perform the workload.

6. The system of claim 1 , wherein the control plane system is configured to:

identify the at least one first SCP subsystem included in the plurality of SCP subsystems that will manipulate and exchange data with the one or more services provided by the at least one second SCP subsystem included in the plurality of SCP subsystems and, in response, transmit the at least one inter-SCP data flow control graph to each at least one first SCP subsystem.

7. An Information Handling System (IHS), comprising:

a processing subsystem; and

a memory subsystem that is coupled to the processing subsystem and that includes instructions that, when executed by the processing subsystem, cause the processing subsystem to provide a graph-based data flow control engine that is configured to:

identify a workload;

identify one or more services that are provided by a plurality of SCP subsystems and that are configured to manipulate and exchange data to perform the workload;

generate a respective SOP-local data flow control graph for each of the plurality of SCP subsystems, where each respective SOP-local data flow control graph defines how the one or more services provided by that SCP subsystem will manipulate and exchange data within that SCP subsystem to perform the workload;

generate at least one inter-SCP data flow control graph that defines how the one or more services provided by at least one first SCP subsystem included in the plurality of SCP subsystems will manipulate and exchange data with the one or more services provided by at least one second SCP subsystem included in the plurality of SCP subsystems to perform the workload; and

transmit each respective SOP-local data flow control graph to each of the plurality of SCP subsystems, and the at least one inter-SCP data flow control graph to at least one of the plurality of SCP subsystems, wherein the plurality of SCP subsystems are configured to utilize the respective SOP-local data flow control graph and the at least one inter-SCP data flow control graph to cause their one or more services to manipulate and exchange data to perform the workload.

8. The IHS of claim 7 , wherein the plurality of SCP subsystems include:

a first subset of the plurality of SCP subsystems that are provided in a first location;

a second subset of the plurality of SCP subsystems that are provided in a second location; and

a third subset of the plurality of SCP subsystems that are provided in a third location,

and wherein the at least one inter-SCP data flow control graph includes:

an intra-location data flow control graph that defines how the one or more services provided by the at least one first SCP subsystem provided in one of the first, second, or third locations will manipulate and exchange data with the one or more services provided by the at least one second SCP subsystem provided in that first, second, or third locations to perform the workload; and

an inter-location data flow control graph that defines how the one or more services provided by the at least one first SCP subsystem provided in one of the first, second, or third locations will manipulate and exchange data with the one or more services provided by the at least one second SCP subsystem provided in another of the first, second, or third locations to perform the workload.

9. The IHS of claim 7 , wherein the IHS is provided by a subset of the plurality of SCP subsystems.

10. The IHS of claim 7 , wherein the graph-based data flow control engine is configured to:

determine that one of the plurality of SCP subsystems has become unavailable and, in response, identify a replacement SCP subsystem; and

generate at least one replacement inter-SCP data flow control graph that defines how the one or more services provided by the replacement SCP subsystem will manipulate and exchange data with the one or more services in at least some of the plurality of SCP subsystems to perform the workload.

11. The IHS of claim 7 , wherein the graph-based data flow control engine is configured to:

collect telemetry data from one or more of the plurality of SCP subsystems in response to their one or more services handling and manipulating data to perform the workload.

12. The IHS of claim 7 , wherein the graph-based data flow control engine is configured to:

identify the at least one first SCP subsystem included in the plurality of SCP subsystems that will manipulate and exchange data with the one or more services provided by the at least one second SCP subsystem included in the plurality of SCP subsystems and, in response, transmit the at least one inter-SCP data flow control graph to each at least one first SCP subsystem.

13. The IHS of claim 7 , wherein the one or more services provided by each of the plurality of SCP subsystems include at least one trusted application in each of the plurality of SCP subsystems.

14. A method for providing graph-based data flow control, comprising:

identifying, by a control plane system, a workload;

identifying, by the control plane system, one or more services that are provided by a plurality of SCP subsystems and that are configured to manipulate and exchange data to perform the workload;

generating, by the control plane system, a respective SOP-local data flow control graph for each of the plurality of SCP subsystems, where each respective SOP-local data flow control graph defines how the one or more services provided by that SCP subsystem will manipulate and exchange data within that SCP subsystem to perform the workload;

generating, by the control plane system, at least one inter-SCP data flow control graph that defines how the one or more services provided by at least one first SCP subsystem included in the plurality of SCP subsystems will manipulate and exchange data with the one or more services provided by at least one second SCP subsystem included in the plurality of SCP subsystems to perform the workload; and

transmitting, by the control plane system, each respective SOP-local data flow control graph to each of the plurality of SCP subsystems, and the at least one inter-SCP data flow control graph to at least one of the plurality of SCP subsystems, wherein the plurality of SCP subsystems are configured to utilize the respective SOP-local data flow control graph and the at least one inter-SCP data flow control graph to cause their one or more services to manipulate and exchange data to perform the workload.

15. The method of claim 14 , wherein the plurality of SCP subsystems include:

a first subset of the plurality of SCP subsystems that are provided in a first location;

a second subset of the plurality of SCP subsystems that are provided in a second location; and

a third subset of the plurality of SCP subsystems that are provided in a third location,

and wherein the at least one inter-SCP data flow control graph includes:

an intra-location data flow control graph that defines how the one or more services provided by the at least one first SCP subsystem provided in one of the first, second, or third locations will manipulate and exchange data with the one or more services provided by the at least one second SCP subsystem provided in that first, second, or third locations to perform the workload; and

an inter-location data flow control graph that defines how the one or more services provided by the at least one first SCP subsystem provided in one of the first, second, or third locations will manipulate and exchange data with the one or more services provided by the at least one second SCP subsystem provided in another of the first, second, or third locations to perform the workload.

16. The method of claim 14 , wherein the control plane system is provided by a subset of the plurality of SCP subsystems.

17. The method of claim 14 , further comprising:

determining, by the control plane system, that one of the plurality of SCP subsystems has become unavailable and, in response, identifying a replacement SCP subsystem; and

generating, by the control plane system, at least one replacement inter-SCP data flow control graph that defines how the one or more services provided by the replacement SCP subsystem will manipulate and exchange data with the one or more services in at least some of the plurality of SCP subsystems to perform the workload.

18. The method of claim 14 , further comprising:

collecting, by the control plane system, telemetry data from one or more of the plurality of SCP subsystems in response to their one or more services handling and manipulating data to perform the workload.

19. The method of claim 14 , further comprising:

identifying, by the control plane system, the at least one first SCP subsystem included in the plurality of SCP subsystems that will manipulate and exchange data with the one or more services provided by the at least one second SCP subsystem included in the plurality of SCP subsystems and, in response, transmitting the at least one inter-SCP data flow control graph to each at least one first SCP subsystem.

20. The method of claim 14 , wherein the one or more services provided by each of the plurality of SCP subsystems include at least one trusted application in each of the plurality of SCP subsystems.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SIGNATURE OF 6TH INVENTOR PREVIOUSLY RECORDED AT REEL: 0506 FRAME: 0666. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 6, 2020
From: CHAWLA, GAURAV; SANDERS, MARK STEVEN; JREIJ, ELIE; PIKE, JIMMY D.; HORMUTH, ROBERT W.; DAWKINS, WILLIAM PRICE
To: DELL PRODUCTS L.P.
Reel/Frame 054344/0411 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2020
From: CHAWLA, GAURAV; SANDERS, MARK STEVEN; JREIJ, ELIE; PIKE, JIMMY D.; HORMUTH, ROBERT W.; DAWKINS, WILLIAM PRICE
To: DELL PRODUCTS L.P.
Reel/Frame 054060/0666 →
Cited By (1)
US 12,670,364