System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
First Claim
1. A peer-to-peer network system, comprising:
- a plurality of peer nodes coupled to a network, wherein the plurality of peer nodes are configured to participate in a distributed computing framework on the network for submitting computational tasks in a distributed heterogeneous networked environment that utilizes peer groups to decentralize task dispatching and post-processing functions and enables a plurality of jobs to be managed and run simultaneously;
one of the plurality of peer nodes configured to;
broadcast a code advertisement for computer-executable code on the network;
provide the computer-executable code to each of the plurality of peer nodes that responds to the code advertisement with a request for code;
broadcast a task advertisement on the network for each of a plurality of tasks, wherein each of the tasks is configured to be executed by the code to perform a portion of a job; and
assign a different one of the plurality of tasks to each of the plurality of peer nodes that responds to the task advertisement such that two or more of the plurality of tasks are performed on two or more of the plurality of peer nodes in parallel to perform the job;
wherein each of the plurality of peer nodes assigned tasks is configured to;
perform the particular task assigned by the one of the plurality of peer nodes in accordance with the code received from the one of the plurality of peer nodes; and
return results of the task to the one of the plurality of peer nodes after completion of the task.
2 Assignments
0 Petitions
Accused Products
Abstract
System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment. Embodiments may allow tasks to be submitted and run in parallel on a network of heterogeneous computers implementing a variety of operating environments. In one embodiment, a user on an originating node may advertise code on the network. Peer nodes that respond to the advertisement may receive the code. A job to be executed by the code may be split into separate tasks to distributed to the peer nodes that received the code. These tasks may be advertised on the network. Tasks may be assigned to peer nodes that respond to the task advertisements. The peer nodes may then work on the assigned tasks. Once a peer node'"'"'s work on a task is completed, the peer node may return the results of the task to the originating node.
161 Citations
49 Claims
-
1. A peer-to-peer network system, comprising:
-
a plurality of peer nodes coupled to a network, wherein the plurality of peer nodes are configured to participate in a distributed computing framework on the network for submitting computational tasks in a distributed heterogeneous networked environment that utilizes peer groups to decentralize task dispatching and post-processing functions and enables a plurality of jobs to be managed and run simultaneously; one of the plurality of peer nodes configured to; broadcast a code advertisement for computer-executable code on the network; provide the computer-executable code to each of the plurality of peer nodes that responds to the code advertisement with a request for code; broadcast a task advertisement on the network for each of a plurality of tasks, wherein each of the tasks is configured to be executed by the code to perform a portion of a job; and assign a different one of the plurality of tasks to each of the plurality of peer nodes that responds to the task advertisement such that two or more of the plurality of tasks are performed on two or more of the plurality of peer nodes in parallel to perform the job; wherein each of the plurality of peer nodes assigned tasks is configured to; perform the particular task assigned by the one of the plurality of peer nodes in accordance with the code received from the one of the plurality of peer nodes; and return results of the task to the one of the plurality of peer nodes after completion of the task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A peer-to-peer network system, comprising:
-
a plurality of peer nodes coupled to a network, wherein the plurality of peer nodes are configured to participate in a distributed computing framework on the network for submitting computational tasks in a distributed heterogeneous networked environment that utilizes peer groups to decentralize task dispatching and post-processing functions and enables a plurality of jobs to be managed and run simultaneously; a subset of the plurality of peer nodes, wherein each of the subset of the plurality of peer nodes is configured to; receive a code advertisement for computer-executable code from one of the plurality of peer nodes on the network; send a request for code to the one of the plurality of peer nodes on the network in response to the code advertisement; receive the code from the one of the plurality of peer nodes on the network in response to the request for code; access a task advertisement from the one of the plurality of peer nodes on the network, wherein the task advertisement specifies one of a plurality of tasks configured to be executed in parallel by the code on the subset of the plurality of peer nodes, and wherein the one of the plurality of tasks is configured to perform a portion of a job; send a request for the task to the one of the plurality of peer nodes in response to the task advertisement; receive a task assignment from the one of the plurality of peer nodes in response to the request for the task; perform the particular task assigned by the one of the plurality of peer nodes in accordance with the code; and return results of the task to the one of the plurality of peer nodes when the task is completed. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A peer-to-peer network system, comprising:
-
means for broadcasting an advertisement of computer-executable code on a network; means for providing the computer-executable code to each of a plurality of peer nodes that responds to said advertisement of computer-executable code with a request for code on a network, wherein the plurality of peer nodes are configured to participate in a distributed computing framework on the network for submitting computational tasks in a distributed heterogeneous networked environment that utilizes peer groups to decentralize task dispatching and post-processing functions and enables a plurality of jobs to be managed and run simultaneously; means for broadcasting an advertisement of the plurality of tasks on the network; means for assigning a different one of the plurality of tasks to each of a group of peer nodes that responds to said advertisement of the plurality of tasks; and
means for executing the plurality of tasks in parallel on the group of peer nodes in accordance with the code received to perform the job.
-
-
26. A method, comprising:
-
a peer node on a network broadcasting a code advertisement for computer-executable code on a network; the peer node receiving requests for code sent from other peer nodes on the network in response to the code advertisement; the peer node providing the computer-executable code to each of said other peer nodes on the network; the peer node broadcasting a task advertisement on the network for each of a plurality of tasks, wherein each of the tasks is configured to be executed by the code to perform a portion of a job; the peer node receiving responses to the task advertisement from a plurality of peer nodes on the network, wherein the plurality of peer nodes are configured to participate in a distributed computing framework on the network for submitting computational tasks in a distributed heterogeneous networked environment that utilizes peer groups to decentralize task dispatching and post-processing functions and enables a plurality of jobs to be managed and run simultaneously; the peer node assigning a different one of the plurality of tasks to each of the plurality of peer nodes that responds to the task advertisement such that two or more of the plurality of tasks are performed on two or more of the plurality of peer nodes in parallel to perform the job; each of the plurality of peer nodes assigned tasks performing the particular task assigned by the peer node in accordance with the code received from the one of the plurality of peer nodes; and each of the plurality of peer nodes assigned tasks returning results of the task to the peer node after completion of the task. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A tangible computer readable storage medium, comprising program instructions, wherein the program instructions are configured to implement:
-
a peer node on a network broadcasting a code advertisement for computer-executable code on a network; the peer node receiving requests for code sent from other peer nodes on the network in response to the code advertisement; the peer node providing the computer-executable code to each of said other peer nodes on the network; the peer node broadcasting a task advertisement on the network for each of a plurality of tasks, wherein each of the tasks is configured to be executed by the code to perform a portion of the job; the peer node receiving responses to the task advertisements from a plurality of peer nodes on the network, wherein the plurality of peer nodes are configured to participate in a distributed computing framework on the network for submitting computational tasks in a distributed heterogeneous networked environment that utilizes peer groups to decentralize task dispatching and post-processing functions and enables a plurality of jobs to be managed and run simultaneously; the peer node assigning a different one of the plurality of tasks to each of the plurality of peer nodes that responds to the task advertisements such that two or more of the plurality of tasks are performed on two or more of the plurality of peer nodes in parallel to perform the job; each of the plurality of peer nodes assigned tasks performing the particular task assigned by the peer node in accordance with the code received from the one of the plurality of peer nodes; and each of the plurality of peer nodes assigned tasks returning results of the task to the peer node after completion of the task. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
Specification