IP Library Granted Patent US 10,754,708
Granted Patent B2
US 10,754,708 · App. 15/938,392 · Granted Aug 25, 2020

Orchestrator and console agnostic method to deploy infrastructure through self-describing deployment templates

Inventors: Ravikanth Chaganti (Bangalore, IN); Rizwan Ali (Cedar Park, TX); Dharmesh M. Patel (Round Rock, TX)
Assignee: EMC IP Holding Company LLC
G06F9/52G06F9/4881G06F16/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 10,754,708
App. No.
15/938,392
Granted
Aug 25, 2020
Kind
B2
Abstract

A computing includes a persistent storage and a deployment manager. The persistent storage stores a deployment manifest repository. The deployment manager obtains a configuration request for a deployment. In response to obtaining the configuration request for the deployment, the deployment manager identifies, based on the deployment, manifests using the deployment manifest repository; generates a dependency graph of tasks specified in the manifests; orders the tasks using the generated dependency graph; generates a deployment script using the ordered tasks; and initiates a configuration of the deployment using the deployment script.

Claims (64)

1. A computing device, comprising:

a persistent storage for storing a deployment manifest repository; and

a deployment manager programmed to:

obtain a configuration request for a deployment;

in response to obtaining the configuration request for the deployment:

identify, based on the deployment, a plurality of manifests using the deployment manifest repository;

generate a dependency graph of a plurality of tasks specified in the plurality of manifests;

order the plurality of tasks using the generated dependency graph;

generate a deployment script using the ordered plurality of tasks, wherein generating the deployment script using the ordered plurality of tasks comprises:

generating a constraint check subscript based on all of the tasks of the ordered plurality of tasks;

generating a plurality of task subscripts corresponding to each task of the ordered plurality of tasks using a script code library; and

associating the constraint check subscript and the plurality of task subscripts to obtain the deployment script; and

initiate a configuration of the deployment using the deployment script.

2. The computing device of claim 1 , wherein identifying the plurality of manifests based on the deployment and the deployment manifest repository comprises:

obtaining a first manifest of the manifests based on an infrastructure type of the deployment.

3. The computing device of claim 2 , wherein identifying the plurality of manifests based on the deployment further comprises:

obtaining a second manifest of the manifests based on a usage model type of the deployment.

4. The computing device of claim 3 , wherein identifying the plurality of manifests based on the deployment further comprises:

obtaining the second manifest of the manifests based on a deployment model type of the deployment.

5. The computing device of claim 1 , wherein the deployment comprises a distributed system.

6. The computing device of claim 5 , wherein the deployment further comprises a coordination point programmed to execute the deployment script.

7. The computing device of claim 1 , wherein generating the dependency graph comprises:

obtaining an identifier of a second task of the plurality of tasks from a first task of the plurality of tasks; and

in response to obtaining the identifier of the second task, adding a dependency node to the dependency graph corresponding to the first task of the plurality of tasks and orienting the dependency node toward the second task of the plurality of tasks.

8. The computing device of claim 1 , wherein the deployment manifest repository comprises:

the plurality of manifests,

wherein each manifest of the plurality of manifests is associated with a respective plurality of conditions.

9. The computing device of claim 8 , wherein the each respective plurality of conditions specifies at least one condition specified from a group of conditions consisting of an infrastructure type, a usage model type, a deployment model type, a deployment method type, and a connectivity type.

10. The computing device of claim 9 , wherein a first manifest of the plurality of manifests is associated with one condition specified from the group.

11. The computing device of claim 10 , wherein a second manifest of the plurality of manifests is associated with two conditions specified from the group.

12. The computing device of claim 11 , wherein the second manifest of the plurality of manifests is associated with three conditions specified from the group.

13. The computing device of claim 10 , wherein the deployment manifest repository further comprises:

a general manifest not associated with any conditions of the respective plurality of conditions.

14. The computing device of claim 13 , wherein the deployment script comprises:

first instructions corresponding to a first task specified by the plurality of manifests; and

second instructions corresponding to a second task specified by the general manifest.

15. The computing device of claim 13 , wherein the deployment script further comprises:

third instructions for obtaining parameters used by the first instructions from a user.

16. A method for initiating configuration of a deployment, comprising:

obtaining a configuration request for the deployment;

in response to obtaining the configuration request for the deployment:

identifying a plurality of manifests based on the deployment and a deployment manifest repository;

generating a dependency graph of a plurality of tasks of the plurality of manifests;

ordering the plurality of tasks using the generated dependency graph;

generating a deployment script using the ordered plurality of tasks, wherein generating the deployment script using the ordered plurality of tasks comprises:

generating a constraint check subscript based on all of the tasks of the ordered plurality of tasks;

generating a plurality of task subscripts corresponding to each task of the ordered plurality of tasks using a script code library; and

associating the constraint check subscript and the plurality of task subscripts to obtain the deployment script; and

initiating the configuration of the deployment using the deployment script.

17. The method of claim 16 , wherein identifying the plurality of manifests based on the deployment and the deployment manifest repository comprises:

obtaining a first manifest of the manifests based on an infrastructure type of the deployment.

18. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for authorizing a new configuration of user resources of a computing device, the method comprising:

obtaining a configuration request for a deployment;

in response to obtaining the configuration request for the deployment:

identifying a plurality of manifests based on the deployment and a deployment manifest repository;

generating a dependency graph of a plurality of tasks of the plurality of manifests;

ordering the plurality of tasks using the generated dependency graph;

generating a deployment script using the ordered plurality of tasks, wherein generating the deployment script using the ordered plurality of tasks comprises:

generating a constraint check subscript based on all of the tasks of the ordered plurality of tasks;

generating a plurality of task subscripts corresponding to each task of the ordered plurality of tasks using a script code library; and

associating the constraint check subscript and the plurality of task subscripts to obtain the deployment script; and

initiating a configuration of the deployment using the deployment script.

19. The non-transitory computer readable medium of claim 18 , wherein identifying the plurality of manifests based on the deployment and the deployment manifest repository comprises:

obtaining a first manifest of the manifests based on an infrastructure type of the deployment.

Assignments (8)
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 (046366/0014) Recorded May 20, 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
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 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2018
From: CHAGANTI, RAVIKANTH; ALI, RIZWAN; PATEL, DHARMESH M.
To: DELL PRODUCTS L.P.
Reel/Frame 045960/0559 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
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 046366/0014 →