A method for assigning computational problems to compute nodes that provide artificial intelligence problem-solving capability, comprising: receiving, by a protocol manager, from the compute nodes, information that relates to node-related processing attributes, the compute nodes being heterogeneous compute nodes with respect to the artificial intelligence problem-solving capability and problem-solving speed, the node-related processing attributes comprising an indication of the type of predetermined computational problems that the compute node can solve, and an indication of the speed with which the compute node can solve the predetermined computational problem; receiving, by the protocol manager, from an external computer associated with a requestor point, a computational problem to be solved; using, by the protocol manager, the node-related processing attributes of the compute nodes to determine which one or more of the compute nodes are capable of solving the computational problem and the amount of time each compute node takes to solve the computational problem; determining, by the protocol manager, network latency metrics associated with the compute nodes by calculating a network distance vector from network locations of the compute nodes and the external requestor point; and deciding, by the protocol manager, which one or more of the compute nodes is to handle the computational problem based upon the determination of the one or more of the compute nodes being capable of solving the computational problem and the amount of time each compute node takes to solve the computational problem and upon the determined network latency metrics; sending, by the protocol manager, the computational problem to the determined one or more compute nodes; upon receipt of the computational problem by a compute node, using, by the compute node, its resources to solve the problem and returning, by the compute node, the results to the external requesting computer. receiving, by a protocol manager, from the compute nodes, information that relates to node-related processing attributes, the compute nodes being heterogeneous compute nodes with respect to the artificial intelligence problem-solving capability and problem-solving speed, the node-related processing attributes comprising an indication of the type of predetermined computational problems that the compute node can solve, and an indication of the speed with which the compute node can solve the predetermined computational problem; receiving, by the protocol manager, from an external computer associated with a requestor point, a computational problem to be solved; using, by the protocol manager, the node-related processing attributes of the compute nodes to determine which one or more of the compute nodes are capable of solving the computational problem and the amount of time each compute node takes to solve the computational problem; determining, by the protocol manager, network latency metrics associated with the compute nodes by calculating a network distance vector from network locations of the compute nodes and the external requestor point; and deciding, by the protocol manager, which one or more of the compute nodes is to handle the computational problem based upon the determination of the one or more of the compute nodes being capable of solving the computational problem and the amount of time each compute node takes to solve the computational problem and upon the determined network latency metrics; sending, by the protocol manager, the computational problem to the determined one or more compute nodes; upon receipt of the computational problem by a compute node, using, by the compute node, its resources to solve the problem and returning, by the compute node, the results to the external requesting computer.