IP Library Granted Patent US 10,305,817
Granted Patent B1
US 10,305,817 · App. 15/824,900 · Granted May 28, 2019

Provisioning system and method for a distributed computing environment using a map reduce process

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,305,817
App. No.
15/824,900
Granted
May 28, 2019
Kind
B1
Abstract

A provisioning system for a distributed computing environment includes a map reduce framework that includes a splitter process, a mapper process, and a reduce process. The splitter process receives a task associated with a distributed application to be deployed on the distributed computing environment, and selects which of the resources are to be provisioned for executing the distributed application. The mapper process converts at least one abstract address included in the task to an absolute address, and executes the task for provisioning the selected resources, while the reduce process consolidates results of the executed task.

Claims (56)

1. A method for provisioning resources, the method comprising:

receiving, by a processor, a task group associated with an application to be deployed, the task group including a task to be executed and an abstract address identifying a resource type;

selecting, by the processor and based on the resource type, a resource on which to deploy the application;

replacing, by the processor, the abstract address with an absolute address identifying the selected resource;

provisioning, by the processor, the selected resource based on the task group and using the absolute address; and

executing, by the processor, the task using the provisioned resource.

2. The method of claim 1 , further comprising generating, by the processor, a report message indicating a successful execution of the task.

3. The method of claim 1 , further comprising performing, by the processor, a corrective action in response to a failure of the task to complete execution.

4. The method of claim 3 , wherein the corrective action comprises:

selecting, by the processor and based on the resource type, a second resource on which to deploy the application;

replacing, by the processor, the absolute address with a second absolute address identifying the second resource;

provisioning, by the processor, the selected second resource based on the task group and using the second absolute address; and

executing, by the processor, the task using the provisioned second resource.

5. The method of claim 1 , further comprising:

retrieving, by the processor, performance criteria of the resource from a resource record; and

checking, by the processor, that the performance criteria meets a minimum level specified by the task group.

6. The method of claim 5 , further comprising performing, by the processor, a discovery process to populate the resource record.

7. The method of claim 1 , wherein the resource is one of a computer, a computing system, a switch, a router, a firewall appliance, a storage array, a network resource, and a compute device.

8. The method of claim 1 , further comprising:

extracting, by a splitter process executed by the processor, the task and the resource type from the task group;

receiving, by a mapper process executed by the processor, the absolute address from the splitter process; and

receiving, by a reduce process executed by the processor, a result of the executed task;

wherein the splitter process is used to select the resource on which to deploy the application and retrieve the absolute address of the selected resource, and wherein the abstract address is replaced by the absolute address by the mapper process converting the abstract address into the absolute address.

9. The method of claim 1 , further comprising executing, by the processor, a master script stored in the task group and comprising a configuration instruction for deploying the resource.

10. The method of claim 1 , wherein the resource is selected according to one of an automatic selection process based on performance criteria, a system wide selection process based on a distributed computing environment, and a specific resource selection process based on the resource being specified for use.

11. A system for provisioning resources, the system comprising:

a hardware processor; and

a memory storing instructions that, when executed, cause the hardware processor to:

receive a task group associated with an application to be deployed, the task group including a task to be executed and an abstract address identifying a resource type;

select, based on the resource type, a resource on which to deploy the application;

replace the selected resource based on the task group and using the absolute address;

provision the selected resource based on the task group and using the absolute address; and

execute the task using the provisioned resource.

12. The system of claim 11 , wherein the memory stores instructions that, when executed, further cause the hardware processor to generate a report message indicating a successful execution of the task.

13. The system of claim 11 , wherein the memory stores instructions that, when executed, further cause the hardware processor to perform a corrective action in response to a failure of the task to complete execution.

14. The system of claim 13 , wherein the memory stores instructions that, when executed, further cause the hardware processor to:

select, based on the resource type, a second resource on which to deploy the application;

replace the absolute address with a second absolute address identifying the second resource;

provision the selected second resource based on the task group and using the second absolute address; and

execute the task using the provisioned second resource.

15. The system of claim 11 , wherein the memory stores instructions that, when executed, further cause the hardware processor to:

retrieve performance criteria of the resource from a resource record; and

check that the performance criteria meets a minimum level specified by the task group.

16. The system of claim 15 , wherein the memory stores instructions that, when executed, further cause the hardware processor to perform a discovery process to populate the resource records.

17. The system of claim 11 , wherein the resource is one of a computer, a computing system, a switch, a router, a firewall appliance, a storage array, a network resource, and a computer device.

18. The system of claim 11 , the system further comprising:

a splitter process executed by the hardware processor;

a mapper process executed by the hardware processor; and

a reduce process executed by the hardware processor;

wherein the memory stores instructions that, when executed, further cause the hardware processor to:

extract, by the splitter process, the task and the resource type from the task group;

receive, by the mapper process, the absolute address from the splitter process; and

receive, by the reduce process, a result of the executed task;

wherein the splitter process is used to select the resource on which to deploy the application and retrieve the absolute address of the selected resource, and wherein the abstract address is replaced by the absolute address by the mapper process converting the abstract address into the absolute address.

19. The system of claim 11 , wherein the memory stores instructions that, when executed, further cause the hardware processor to execute a master script stored in the task group and comprising a configuration instruction for deploying the resource.

20. The system of claim 11 , wherein the resource is selected according to one of an automatic selection process based on performance criteria, a system wide selection process based on a distributed computing environment, and a specific resource selection process based on the resource being specified for use.

Assignments (4)
MERGER Recorded Apr 14, 2020
From: VCE IP HOLDING COMPANY LLC
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052398/0413 →
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 Mar 14, 2018
From: VCE COMPANY, LLC
To: VCE IP HOLDING COMPANY LLC
Reel/Frame 045201/0352 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2018
From: TAN, MICHAEL; MAHAPATRA, AKSHAYA; KAHN, SAZZADUL K.
To: VCE COMPANY, LLC
Reel/Frame 045201/0537 →