System and method for the establishment and the utilization of networked idle computational processing power
First Claim
Patent Images
1. A system for using computer excess computational power comprising:
- at least one client computer adapted to create programs for execution;
a network connected to the client computer;
a central task server (CTS) connected to the network, adapted to receive the programs from the client;
a plurality of provider computers for providing excess computational power connected to the CTS via network and adapted to receive the programs from the CTS, the CTS thereby providing computational power upon demand to the at least one client computer; and
instructions for paying the owners of the provider computers a fixed amount per unit work for providing excess computational power according to a formula;
T is a rate, π
is an average availability, and r is a target reliability.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed computing platform using the idle computational processing power of a plurality of provider computers is disclosed. At least one networked server collects tasks from client computers, schedules and distributes the tasks to networked provider computers, and collects and returns results to client computers. A client API forms tasks and collects results. A compute engine operates on the provider computers to communicate with the server and execute tasks using idle computational power.
384 Citations
50 Claims
-
1. A system for using computer excess computational power comprising:
-
at least one client computer adapted to create programs for execution;
a network connected to the client computer;
a central task server (CTS) connected to the network, adapted to receive the programs from the client;
a plurality of provider computers for providing excess computational power connected to the CTS via network and adapted to receive the programs from the CTS, the CTS thereby providing computational power upon demand to the at least one client computer; and
instructions for paying the owners of the provider computers a fixed amount per unit work for providing excess computational power according to a formula;
T is a rate, π
is an average availability, and r is a target reliability.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
a client application programming interface (API) with instructions for allowing the client computer to specify a compute capacity needed in the form of a virtual cluster in which programs are to be run.
-
-
3. The system for using excess computational power of claim 2 further comprising client API instructions for collecting parameters to be specified for compute capacity comprising at least computer power, disk space required, and reliability of computer power.
-
4. The system for using excess computational power of claim 2 wherein the at least one client computer further comprises a run time interface, the run time interface further comprising a set of function calls used by the client computer for getting parameters from the run time environment, for getting data elements, for querying the CTS for task status, and for performing checkpointing at various places in the program.
-
5. The system for using excess computational power of claim 4 wherein the run time interface further comprises instructions for creating jobs.
-
6. The system for using excess computational power of claim 5 wherein the run time interface further comprises instructions for creating tasks within jobs.
-
7. The system for using excess computational power of claim 5 wherein the run time interface further comprises instructions for querying against a status of jobs.
-
8. The system for using excess computational power of claim 5 wherein the run time interface further comprises instructions for attaching the client computer of a job in progress and for checking on the status of a job while the job is in progress.
-
9. The system for using excess computational power of claim 1 wherein the CTS further comprises instructions for charging the at least one client for computational power used during the execution of the programs.
-
10. The system for using excess computational power of claim 9 wherein the charging of the client is made when the task is launched.
-
11. The system for using excess computational power of claim 10 wherein a task is launched when it is scheduled by the CTS to be run by at least one provider computer.
-
12. The system for using excess computational power of claim 1 wherein the CTS further comprises instructions for monitoring a virtual node specified by the client for failure.
-
13. The system for using excess computational power of claim 9 further comprising instructions for charging clients based upon a sum of the computational power of the provider computers running the client tasks.
-
14. The system for using excess computational power of claim 9 wherein the CTS further comprises instructions for making payments to providers based upon available computational power of the provider'"'"'s computer.
-
15. The system for using excess computational power of claim 14 wherein the available computational power is a function of CPU availability, CPU speed and bandwidth availability.
-
16. The system for using excess computational power of claim 15 wherein CPU speed is measured by running benchmark tests of the CPU periodically.
-
17. The system for using excess computational power of claim 1 wherein each of the plurality of provider computer further comprises a general purpose compute engine (CE) for executing programs sent from the central server.
-
18. The system for using excess computational power of claim 17 wherein the CE further comprises instructions for allowing an owner of the provider computer to set availability parameters of the provider computer.
-
19. The system for using excess computational power of claim 18 wherein the availability parameters comprise amount of RAM available for the programs, amount of disk space available for the programs and times during the day, if any, that the provider computer is available to execute the programs.
-
20. The system for using excess computational power of claim 18 wherein the CE further comprises instructions for opening a widow on the provider computer when the programs are being run.
-
21. The system~for using excess computational power of claim 18 wherein the CE further comprises instructions for displaying content from the central server in the window.
-
22. The system for using excess computational power of claim 18 wherein the CE further comprises instructions for executing the programs only when excess computational power is detected on the provider computer.
-
23. The system for using excess computational power of claim 9 further comprising instructions for determining an amount charged to the client I based on a formula:
-
24. The system for using excess computational power of claim 23 wherein the client is also charged for data transfer during the course of executing the particular tasks of the client based upon the following formula:
-
where di in the quantity (in GB) of data transferred from the client to the server, do is the quantity of data transferred from the server to the client, where g is the transfer cost per communication path among the client computer, the provider computer and the CTS per GB, r is a requested node reliability, and 7 is an average provider computer reliability.
-
-
25. The system for using excess computational power of claim 24 wherein the client is also charged an hourly premium for requesting reliability greater than a set baseline reliability given by the formula:
-
where k is a baseline price per MHz-hour, C is the CPU speed requested of a virtual node requested by the client, N is the number of virtual nodes running, r is the requested reliability, and R is the baseline reliability.
-
-
26. A method for using computer excess computational power comprising:
-
adapting at least one client computer to create programs for execution;
connecting the client computer to a network;
connecting a central task server (CTS) to the network, wherein said CTS is adapted to receive the programs from the client;
connecting a plurality of provider computers for providing excess computational power to the network and adapting said provider computers to receive the programs from the central server, the plurality of provider computers providing computational power upon demand; and
further comprising paying the owners of the provider computers a fixed amount per unit work for providing excess computational power according to a formula;
T is a rate, Tc is an average availability, and r is a target reliability. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
49. The method for using excess computational power of claim 48, further comprising charging the client for data transfer during the course of executing the particular tasks of the client based upon the following formula:
-
where di in the quantity (in GB) of data transferred from the client to the server, do is the quantity of data transferred from the server to the client, where g is the transfer cost per communication path among the client computer, the provider computer and the CTS per GB, r is a requested node reliability, and r is an average provider computer reliability.
-
-
50. The method for using excess computational power of claim 49, further comprising charging the client an hourly premium for requesting reliability greater an a set baseline reliability given by the formula:
-
where k is a baseline price per MHz-hour, C is the CPU speed requested of a virtual node requested by the client, N is the number of virtual nodes running, r is the requested reliability, and R is the baseline reliability. jobs.
-
Specification