METHOD AND SYSTEM FOR DISTRIBUTED COMPUTATION
First Claim
1. A system for processing a computational task, comprising:
- a plurality of nodes operationally coupled to one another via one or more networks, the plurality of nodes, comprising;
a base node comprising a processing subsystem configured to;
receive the computational task;
select a subset of available nodes from the plurality of nodes based upon a present status, processing capability, distance, network throughput, range, resources, features, or combinations thereof of the plurality of nodes;
divide the computational task into a plurality of sub-tasks;
distribute the plurality of sub-tasks among the subset of available nodes based upon a number of nodes in the subset of available nodes, completion time period allowed for the plurality of sub-tasks, a distribution criteria, level of security required for the completion of the plurality of sub-tasks, resources available with the subset of available nodes, processing capability of the subset of available nodes, range of the subset of available nodes, features in the subset of available nodes, reliability of the subset of available nodes, trust in the subset of available nodes, the current load on the subset of available nodes, domain of the plurality of sub-tasks, or combinations thereof;
receive sub-solutions corresponding to the plurality of sub-tasks from the subset of available nodes within a desired time period; and
reassemble the sub-solutions to determine a solution corresponding to the computational task.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for processing a computational task is presented. The system includes a plurality of nodes operationally coupled to one another via one or more networks. The plurality of nodes includes a base node including a processing subsystem configured to receive the computational task, select a subset of available nodes from the plurality of nodes based upon a present status, processing capability, distance, network throughput, range, resources, features, or combinations thereof of the plurality of nodes, divide the computational task into a plurality of sub-tasks, distribute the plurality of sub-tasks among the subset of available nodes based upon a number of nodes in the subset of available nodes, completion time period allowed for the plurality of sub-tasks, a distribution criteria, level of security required for the completion of the plurality of sub-tasks, resources available with the subset of available nodes, processing capability of the subset of available nodes, range of the subset of available nodes, features in the subset of available nodes, reliability of the subset of available nodes, trust in the subset of available nodes, the current load on the subset of available nodes, domain of the plurality of sub-tasks, or combinations thereof, receive sub-solutions corresponding to the plurality of sub-tasks from the subset of available nodes in a desired time period, and reassemble the sub-solutions to determine a solution corresponding to the computational task.
-
Citations
30 Claims
-
1. A system for processing a computational task, comprising:
a plurality of nodes operationally coupled to one another via one or more networks, the plurality of nodes, comprising; a base node comprising a processing subsystem configured to; receive the computational task; select a subset of available nodes from the plurality of nodes based upon a present status, processing capability, distance, network throughput, range, resources, features, or combinations thereof of the plurality of nodes; divide the computational task into a plurality of sub-tasks; distribute the plurality of sub-tasks among the subset of available nodes based upon a number of nodes in the subset of available nodes, completion time period allowed for the plurality of sub-tasks, a distribution criteria, level of security required for the completion of the plurality of sub-tasks, resources available with the subset of available nodes, processing capability of the subset of available nodes, range of the subset of available nodes, features in the subset of available nodes, reliability of the subset of available nodes, trust in the subset of available nodes, the current load on the subset of available nodes, domain of the plurality of sub-tasks, or combinations thereof; receive sub-solutions corresponding to the plurality of sub-tasks from the subset of available nodes within a desired time period; and reassemble the sub-solutions to determine a solution corresponding to the computational task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
19. A system for processing a computational task, comprising:
a plurality of telematics devices operationally coupled to one another via one or more networks, the plurality of telematics devices, comprising; a base node comprising a processing subsystem configured to; receive the computational task; select a subset of available telematics devices from the plurality of telematics devices based upon a present status, processing capability, distance, network throughput, range, resources, features, or combinations thereof of the plurality of telematics devices; divide the computational task into a plurality of sub-tasks; distribute the plurality of sub-tasks among the subset of available telematics devices based upon a number of nodes in the subset of available nodes, completion time period allowed for the plurality of sub-tasks, a distribution criteria, level of security required for the completion of the plurality of sub-tasks, resources available with the subset of available nodes, processing capability of the subset of available nodes, range of the subset of available nodes, features in the subset of available nodes, reliability of the subset of available nodes, trust in the subset of available nodes, current load on the subset of available nodes, domain of the plurality of sub-tasks, or combinations thereof; receive sub-solutions corresponding to the plurality of sub-tasks from the subset of available telematics devices within a desired time period; and reassemble the sub-solutions to determine a solution corresponding to the computational task.
-
20. A method for processing a computational task, comprising:
-
selecting a subset of available nodes from a plurality of nodes by determining a present status, processing capability, distance, network throughput, range, resources, features, and combinations thereof of the plurality of nodes; dividing the computational task into a plurality of sub-tasks; distributing the plurality of sub-tasks among the subset of available nodes based upon a number of nodes in the subset of available nodes, completion time period allowed for the plurality of sub-tasks, a distribution criteria, level of security required for the completion of the plurality of sub-tasks, resources available with the subset of available nodes, processing capability of the subset of available nodes, range of the subset of available nodes, features in the subset of available nodes, reliability of the subset of available nodes, trust in the subset of available nodes, current load on the subset of available nodes, domain of the plurality of sub-tasks, or combinations thereof; receiving sub-solutions corresponding to the plurality of sub-tasks from the subset of available nodes within a desired time period; and reassembling the sub-solutions to determine a solution corresponding to the computational task. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for processing a computational task, comprising:
-
selecting a subset of available nodes by determining a present status of a plurality of nodes; dividing the computational task into a plurality of sub-tasks; distributing the plurality of sub-tasks among the subset of available nodes based upon a number of nodes in the subset of available nodes, completion time period allowed for the plurality of sub-tasks, a distribution criteria, level of security required for the completion of the plurality of sub-tasks, resources available with the subset of available nodes, processing capability of the subset of available nodes, range of the subset of available nodes, features in the subset of available nodes, reliability of the subset of available nodes, trust in the subset of available nodes, current load on the subset of available nodes, domain of the plurality of sub-tasks, or combinations thereof; receiving sub-solutions of one or more of the plurality of sub-tasks from one or more of the subset of available nodes within a desired time period; verifying receipt of sub-solutions within the desired time period to determine existence of one or more unprocessed sub-tasks; redistributing the one or more unprocessed sub-tasks to new nodes; receiving sub-solutions corresponding to the one or more unprocessed sub-tasks within the desired time period; and reassembling the sub-solutions to determine a solution corresponding to the computational task.
-
Specification