IP Library Granted Patent US 8,775,576
Granted Patent B2
US 8,775,576 · App. 13/449,003 · Granted Jul 8, 2014

Reconfigurable cloud computing

Inventors: Stephen M. Hebert (Houston, TX); Robert L. Sherrard (McKinney, TX)
Assignee: Nimbix, Inc.
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 8,775,576
App. No.
13/449,003
Granted
Jul 8, 2014
Kind
B2
Abstract

A method, system, and computer-readable storage medium for using a distributed computing system are disclosed. For example, one method involves receiving one or more parameters. The one or more parameters indicate one or more operations. The method also involves selecting one or more computing resources from computing resources. This selecting is based on the parameter(s). An application is configured to be executed using the computing resource(s). The method also involves generating a workflow. The workflow indicates that the application is to be executed using the computing resource(s). The workflow indicates that the application performs the operation(s). The method also involves communicating at least a part of the workflow to one or more nodes, where the node(s) include the computing resource(s).

Claims (133)

1. A method comprising:

receiving one or more parameters, wherein

the one or more parameters indicate

an application, and

one or more operations to be performed by the application;

selecting one or more hardware computational elements from a plurality of hardware computational elements, wherein

the selecting determines, based on the one or more parameters, the hardware computational elements to execute the application;

generating a workflow based on the one or more parameters, wherein

the workflow indicates that

the application is to be executed by the one or more hardware computational elements,

the application is to perform the one or more operations,

if the one or more hardware computational elements are to be configured prior to the execution of the application, then the one or more hardware computational elements are to be configured prior to the execution of the application,

a first part of the workflow is to be executed by a first hardware computational element of the one or more hardware computational elements,

a second part of the workflow is to be executed by a second hardware computational element of the one or more hardware computational elements, and

execution of the second part of the workflow is configured to use a result of execution of the first part of the workflow; and

communicating at least a part of the workflow to one or more nodes, wherein

the one or more nodes comprise the one or more hardware computational elements.

2. The method of claim 1 , wherein

the one or more nodes are configured to facilitate the execution of the application by the one or more hardware computational elements,

during the execution of the application, the application is configured to perform the one or more operations on data,

the one or more hardware computational elements are configured to execute the application according to the workflow, and

the execution of the application accesses the data.

3. The method of claim 2 , wherein

the application is configured to generate a second result during the execution of the application, and

further comprising

receiving the second result from the one or more nodes.

4. The method of claim 2 , further comprising:

storing the data, wherein

the data is stored prior to the accessing,

the data is stored at a networked storage, and

the accessing the data comprises accessing the data at the networked storage.

5. The method of claim 1 , further comprising:

verifying the one or more parameters, wherein

the verifying is performed prior to the selecting.

6. The method of claim 1 , wherein

a model further comprises

a data format, and

further comprising

verifying data using the data format of the model.

7. The method of claim 1 ,

wherein the generating the workflow comprises

generating one or more scripts, wherein

each of at least some of the one or more scripts is configured to perform one of the one or more operations, and

the execution of the application comprises

execution of the one or more scripts.

8. The method of claim 1 , wherein

the one or more hardware computational elements comprise one or more of

one or more field-programmable gate arrays (FPGAs),

one or more graphical processing units (GPUs),

one or more digital signal processors (DSPs), or

one or more central processing units (CPUs).

9. The method of claim 8 , wherein

the workflow indicates that a third part of the workflow is to be executed by the first hardware computational element of the one or more hardware computational elements, and

the workflow further indicates that the first hardware computational element is to be re-configured prior to executing the third part of the workflow.

10. The method of claim 1 , wherein

the one or more nodes provide cloud computing services.

11. The method of claim 1 , wherein

the first part of the workflow indicates execution of a first part of the application by the first hardware computational element, and

the second part of the workflow indicates execution of a second part of the application by the second hardware computational element.

12. The method of claim 1 , wherein

the first hardware computational element is of a different type than the second hardware computational element.

13. A system, comprising:

a server, comprising

one or more processors,

a resource selector, wherein

the resource selector is configured to

select one or more hardware computational elements from a plurality of hardware computational elements, wherein

the selection is based on one or more parameters,

the one or more parameters indicate an application, and

one or more operations to be performed by the application, and

the application is configured to be executed by the one or more hardware computational elements,

a workflow generator, wherein

the workflow generator is executable using the one or more processors and configured to

generate a workflow based on the one or more parameters, wherein

the workflow indicates that

the application is to be executed by the one or more hardware computational elements

the application is to perform the one or more operations,

if the one or more hardware computational elements are to be configured prior to the execution of the application, then the one or more hardware computational elements are to be configured prior to the execution of the application,

a first part of the workflow is to be executed by a first hardware computational element of the one or more hardware computational elements,

a second part of the workflow is to be executed by a second hardware computational element of the one or more hardware computational elements, and

execution of the second part of the workflow is configured to use a result of execution of the first part of the workflow, and

a communication module, wherein

the communication module is configured to

communicate at least a part of the workflow to one or more nodes, wherein

the one or more nodes comprise the one or more hardware computational elements.

14. The system of claim 13 , wherein

each of the plurality of hardware computational elements is characterized by one or more attributes, and

the resource selector is configured to select the one or more hardware computational elements by comparing one or more attributes of each of the plurality of hardware computational elements with resource requirements for the one or more operations.

15. The system of claim 13 , further comprising:

the one or more nodes, wherein

the one or more nodes comprises

the one or more hardware computational elements, and

the one or more nodes is configured to

facilitate the execution of the application by the one or more hardware computational elements, wherein

during the execution of the application, the application is configured to perform the one or more operations on data,

the one or more hardware computational elements execute the application according to the workflow, and

the execution of the application accesses the data.

16. The system of claim 13 , wherein

the workflow generator is further configured to

determine whether the one or more hardware computational elements are to be configured prior to the execution of the application.

17. The system of claim 13 , wherein

the workflow generator is further configured to

generate one or more configuration scripts, wherein

the one or more configuration scripts are configured to configure the one or more hardware computational elements prior to the execution of the application.

18. A computer program product embodied in a non-transitory computer readable medium comprising:

a plurality of instructions, comprising

a first set of instructions, executable on a computer system, configured to receive one or more parameters, wherein

the one or more parameters indicate an application, and

one or more operations to be performed by the application;

a second set of instructions, executable on the computer system, configured to select one or more hardware computational elements from a plurality of hardware computational elements, wherein

the selecting determines, based on the one or more parameters, the hardware computational elements to execute the application,

a third set of instructions, executable on the computer system, configured to generate a workflow based on the one or more parameters, wherein

the workflow indicates that

the application is to be executed by the one or more hardware computational elements

the application is to perform the one or more operations,

if the one or more hardware computational elements are to be configured prior to the execution of the application, then the one or more hardware computational elements are to be configured prior to the execution of the application,

a first part of the workflow is to be executed by a first hardware computational element of the one or more hardware computational elements,

a second part of the workflow is to be executed by a second hardware computational element of the one or more hardware computational elements, and

execution of the second part of the workflow is configured to use a result of execution of the first part of the workflow; and

a fourth set of instructions, executable on the computer system, configured to communicate at least a part of the workflow to one or more nodes, wherein

the one or more nodes comprise the one or more hardware computational elements; and

the non-transitory computer-readable storage medium, wherein the instructions are encoded in the non-transitory computer-readable storage medium.

19. The computer program product of claim 18 , embodied in the non-transitory computer readable medium, wherein the one or more nodes are configured to facilitate the execution of the application by the one or more hardware computational elements, the hardware computational elements execute the application according to the workflow, and

the execution of the application accesses the data.

20. The computer program product of claim 18 , embodied in the non-transitory computer readable medium, wherein the instructions further comprise:

a fifth set of instructions, executable on the computer system, configured to determine whether the one or more hardware computational elements are to be configured prior to the execution of the application.

21. The computer program product of claim 18 , embodied in the non-transitory computer readable medium, wherein the instructions further comprise:

a fifth set of instructions, executable on the computer system, configured to generate one or more configuration scripts, wherein

the one or more configuration scripts are configured to configure the one or more hardware computational elements prior to the execution of the application.

22. The computer program product of claim 18 , embodied in the non-transitory computer readable medium, wherein each of the plurality of hardware computational elements is characterized by one or more attributes, and

the instructions further comprise

a fifth set of instructions, executable on the computer system, configured to select the one or more hardware computational elements by

comparing one or more attributes of each of the plurality of hardware computational elements with resource requirements for the one or more operations.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2022
From: NIMBIX, INC.
To: AGARIK SAS
Reel/Frame 060681/0171 →
RELEASE OF SECURITY INTEREST Recorded Jul 30, 2021
From: COMERICA BANK
To: NIMBIX, INC.
Reel/Frame 057040/0865 →
CHANGE OF ADDRESS Recorded Apr 16, 2019
From: NIMBIX, INC.
To: NIMBIX, INC.
Reel/Frame 050161/0461 →
SECURITY INTEREST Recorded Mar 29, 2018
From: NIMBIX, INC.
To: COMERICA BANK
Reel/Frame 045381/0976 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2012
From: HEBERT, STEPHEN M.; SHERRARD, ROBERT L.
To: NIMBIX, INC.
Reel/Frame 028061/0247 →
Continuity (1)
Related Publication 20130318240A1 · Nov 28, 2013