Method and system for network-distributed computing
First Claim
1. A system for use in distributed computing, comprising:
- a task server configured to keep track of information associated with each of a multiplicity of client computers and to use the information to assign one or more tasks associated with a computing problem to each client computer;
a file server configured to provide application modules to the client computers for executing their assigned tasks; and
an application server configured to provide input data for the application modules to the client computers and to receive output data of the application modules from the client computers.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed computing system achieves a highly distributed environment where very large computation intensive tasks are broken down into thousands of sub-tasks and then distributed to thousands of clients running on a variety of computers across the Internet. The idle CPU time of each of these thousands of client computers is used to perform these computations by running custom application modules in a low priority. A task server keeps track of information associated with each of the clients and uses the information to assign one or more tasks associated with a computing problem to each client computer. A file server provides the application modules to the client computers for executing their assigned tasks. An application server provides input data for the application modules and receives output data from the application modules. Status and performance information for machines, accounts and teams is collected by the task server and displayed on a background page of each client. Incentives for commitments of computing time are provided to users of potential client computers.
-
Citations
55 Claims
-
1. A system for use in distributed computing, comprising:
-
a task server configured to keep track of information associated with each of a multiplicity of client computers and to use the information to assign one or more tasks associated with a computing problem to each client computer;
a file server configured to provide application modules to the client computers for executing their assigned tasks; and
an application server configured to provide input data for the application modules to the client computers and to receive output data of the application modules from the client computers. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for use in a distributed computing system, comprising the steps of:
-
providing a client program for installation on a client computer;
receiving, through a computer network, information associated with the client computer that is collected by the client program installed on the client computer;
using the information to assign one or more tasks associated with a computing problem to the client computer; and
providing one or more application modules to the client computer for executing its assigned tasks, wherein the application modules are executable by the client program and are provided through the computer network. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43)
-
-
15. A method for use in a distributed computing system, comprising the steps of:
-
sending a request for a new task through a computer network to a first server, the request including user identification information;
receiving module information from the first server through the computer network in response to the request, the module information including locator information for a second server in the computer network where a module can be obtained;
redirecting to the second server using the locator information; and
receiving the module from the second server through the computer network.
-
-
27. A method for use in a distributed computing system, comprising the steps of:
-
receiving a request for a new task from a client through a computer network, the request including user identification information;
assembling module information in response to the request, the module information including locator information indicating a location in the computer network where a module can be obtained;
sending the module information to the client through the computer network; and
sending the module to the client through the computer network from the location in the computer network.
-
-
37. A method of providing status information associated with a distributed computing project, comprising the steps of:
-
generating a first item of performance information for a first client computer participating in the distributed computing project;
sending the first item of performance information from the first client computer through a computer network to a first server;
receiving a second item of performance information at the first client computer from the first server through the computer network, wherein the second item of performance information is based on the first item of performance information and one or more additional items of performance information from one or more additional client computers participating in the distributed computing project; and
displaying the second item of performance information on the first client computer.
-
-
44. A method of providing status information associated with a distributed computing project, comprising the steps of:
-
receiving, through a computer network, performance information from a plurality of client computers participating in the distributed computing project;
totaling the performance information for a subset of the plurality of client computers that are members of a first team in order to generate team performance information; and
sending display data through the computer network to each of the client computers that are members of the first team, wherein the display data is configured to display status information that includes the team performance information. - View Dependent Claims (45, 46, 47, 48, 50, 51, 52, 53, 54, 55)
-
-
49. A method for use in a distributed computing system, comprising the steps of:
-
offering an incentive for a commitment of computing time from a user'"'"'s computer in the distributed computing system;
providing a client program to the user for installation on the user'"'"'s computer;
registering the user'"'"'s computer as a client in the distributed computing system; and
providing the incentive to the user.
-
Specification