Method and apparatus for allocating tasks to remote networked processors
First Claim
1. A method of allocating tasks among resource providers which may be intermittently reachable over a network, comprising:
- determining potential resource providers for performing different tasks;
receiving a task request having required resource for performing a task from a requester;
first identifying at least one available resource provider having said required resource for performing the task;
receiving information required to accomplish the requested task;
second identifying at least one available resource provider having said required resource for performing the task;
distributing the task and the information required to accomplish the task to one of said at least one available resource provider;
receiving a status response from one of said at least one available resource provider indicating willingness or unwillingness to perform the distributed task; and
if the status response indicates willingness to perform, then allocating completion of the distributed task thereto.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for providing remote, distributed processing of a task by employing a wide area network (e.g., the Internet). A resource provider initiates the process by sending an application to a resource allocator requesting to be added to the resource allocator'"'"'s list of providers. The resource allocator accepts or rejects a particular resource provider based on the application. If accepted, the resource provider waits for a task from the resource allocator. Upon receiving a task, the resource provider evaluates the currently available local resources. The resource provider determines whether or not it is currently able to handle the task in view of the available local resources. If the resource provider is able to handle the task, it accepts the task. The resource provider processes the task and returns the results to either the resource allocator or the original resource requester. If the resource provider is unable to handle the task in view of the current load, the resource provider notifies the resource allocator or the resource requester that it is unable to complete the task.
283 Citations
40 Claims
-
1. A method of allocating tasks among resource providers which may be intermittently reachable over a network, comprising:
-
determining potential resource providers for performing different tasks; receiving a task request having required resource for performing a task from a requester; first identifying at least one available resource provider having said required resource for performing the task; receiving information required to accomplish the requested task; second identifying at least one available resource provider having said required resource for performing the task; distributing the task and the information required to accomplish the task to one of said at least one available resource provider; receiving a status response from one of said at least one available resource provider indicating willingness or unwillingness to perform the distributed task; and if the status response indicates willingness to perform, then allocating completion of the distributed task thereto. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for an allocator to allocate a task among potential resource providers, comprising:
-
determining potential resource providers for performing different tasks; receiving a task request specifying resource required to perform a task; first identifying one available resource provider having the resource to perform the task; receiving information required to accomplish the task; second identifying one available resource provider having the resource to perform the task; distributing the task to said one available resource provider; receiving a status response from said available resource provider indicating said willingness or unwillingness to perform the task; and if the status response indicates willingness to perform, then allocating completion of the distributed task thereto. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method for a resource provider to process a task distributed by a task allocator, comprising:
-
first identifying available provider resources; notifying the allocator, if available resources are identified, that the resource provider wants to receive tasks distributed by said allocator; receiving from the allocator a task request specifying resource required to perform the task, information required to accomplish the requested task, and a processing fee; second identifying of available provider resources to confirm availability of said specified resource for accomplishing the task; and determining willingness or unwillingness to perform the task based at least in part on said processing fee and said second identifying. - View Dependent Claims (19, 20)
-
-
21. A readable medium having instructions encoded thereon for allocating tasks among resource providers, said instructions capable of directing a processor to:
-
determine potential resource providers for performing a task; receive a task request specifying required resource for performing the task; first identify one available resource provider having the specified resource to perform the task; receive information required to accomplish the requested task; second identify one available resource provider having the specified resource to perform the task; distribute the task to said available resource provider; receive a status response from said available resource provider indicating willingness or unwillingness to perform the distributed task; and if the status response indicates willingness to perform, then allocate completion of the distributed task thereto. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A readable medium having instructions encoded thereon for allocating tasks among resource providers, said instructions capable of directing a processor to:
-
determine potential resource providers for performing different tasks; receive a task request specifying resource required to perform a task; first identify one available resource provider having the resource to perform the task; receive information required to accomplish the task; second identify one available resource provider having the resource to perform the task; distribute the task to said one available resource provider; receive a status response from said available resource provider indicating said willingness or unwillingness to perform the task; and if the status response indicates willingness to perform, then allocate completion of the distributed task thereto. - View Dependent Claims (33, 34, 35, 36, 37)
-
-
38. A readable medium having instructions encoded thereon for a resource provider to process a task distributed by a task allocator, said instructions capable of directing a processor to:
-
first identify available provider resources; notify the allocator, if available resources are identified, that the resource provider wants to receive tasks distributed by said allocator; receive from the allocator a task request specifying resource required to perform the task, information required to accomplish the requested task, and a processing fee; second identify of available provider resources to confirm availability of said specified resource for accomplishing the task; and determine willingness or unwillingness to perform the task based at least in part on said processing fee and said second identifying. - View Dependent Claims (39, 40)
-
Specification