eywa-logo-white-w-wordmark
 

EYWA / ā-wah / 


Systems and methods are provided for improving compute job distribution using federated computing nodes. This includes identifying a plurality of independently controlled computing nodes which then receive a token such that they can each be identified as being authorized to participate in a federated computing node cluster. Metrics associated with the particular nodes are then received and based on the received metrics compute jobs are assigned to the particular node by assembling a compute job data packet comprising the one or more compute jobs and transmitting the assembled compute job data packet to the particular node. Other features are also described in which assigned compute jobs and/or unrelated compute tasks can be dynamically modified in order to optimize compute job completion based on the received metrics.

Background of the Invention
Hardware and software interfaces can also be utilized to allow computers to work together to share computing resources in order to solve large and/or complex computational problems. For example, processing requirements for technical problems such as encryption, artificial intelligence, machine learning, big-data processing and analysis, scientific research, and other modern computing needs are difficult to accomplish using standard computing resources.

Recently, block-chain technology has been applied to utilized decentralized tracking and verification of enormous amounts of data such as transaction information, inventory management, and other big-data problems. A key aspect of block-chain technology is the need to perform complex hashing algorithms. Such algorithms are complex enough that a common computing system might never successfully complete a single block verification within the useful lifespan of the system. However, by distributing the processing and computational load of such block verification processing across many machines, the computations can be successfully completed.

 

Configuring Nodes for Distributed Compute Tasks


United States Patent Number:
11,093,293
Filing Date: January 9, 2018
Application Number: 62615313
Issue Date: August 17, 2021
Applicant: Matus, George P. Salt Lake City, UT.
Primary Examiner: Bodden; Evral E
Attorney, Agent or Firm: Workman Nydegger
Owner: EYWA LLC

Access Patent on USPTO

References


Substratum, How it Works, https://substratum.net/how-it-works/, Accessed May 1, 2019. cited by applicant
Substratum Network, Technical Paper version 1.0, Accessed May 1, 2019. cited by applicant.
What is Golem, https://docs.golem.network/#/About/What-is-Golem, Accessed May 1, 2019. cited by applicant.
The Golem Project, Crowdfunding Whitepaper, Accessed May 2, 2019. cited by applicant.

Claims:

  1. A method, operating at node management computing system, for improving compute job distribution using federated computing nodes, the method comprising: identifying a plurality of independently controlled computing nodes, the independently controlled computing nodes of the plurality of independently controlled computing nodes each being associated with different users; transmitting a token to each of the plurality of independently controlled computing nodes such that each of the plurality of independently controlled nodes can be identified as being authorized to participate in a federated computing node cluster; and for each particular node within the federated computing node cluster, performing at least: receiving (i) one or more metrics associated with performance characteristics and capabilities of the particular node and (ii) one or more defined user preferences based on one or more user interface selections by one or more particular users associated with operating the particular node, the one or more particular users being different from one or more other users associated with operating the node management computing system and one or more other users associated with operating a different particular node within the federated computing node cluster; based on analysis of the received one or more defined user preferences based on the one or more user interface selections by the one or more users associated with operating the particular node, assigning one or more compute jobs to the particular node; assembling a compute job data packet comprising the one or more compute jobs; transmitting the assembled compute job data packet to the particular node; and receiving an indication from the particular node that at least one of the assigned compute jobs has been completed.

  2. The method of claim 1, wherein the token is transmitted based on receiving a request from an application installed at the particular node.

  3. The method of claim 1, wherein the token includes a federation identifier that identifies a particular federation group assignment for the computing node.

  4. The method of claim 1, wherein the one or more metrics comprises an identification of one or more hardware elements of the computing node, wherein based on analysis of the one or more hardware elements, the one or more assigned compute jobs are selected by at least comparing the assigned compute jobs with the one or more hardware elements.

  5. The method of claim 4, wherein comparing the assigned compute jobs with the one or more hardware elements comprises at least: profiling the one or more hardware elements; determining one or more baseline processing measures; identifying a plurality of compute jobs that are capable of being executed based on the determined baseline processing measures; assembling an optimized compute job packet comprising the identified plurality of compute jobs; and transmitting the optimized compute job packet to the computing node. 

  6. The method of claim 1, wherein the one or more defined user preferences comprise a preferred type of computing task defined by a user interface selection of the one or more user interface selections.

  7. The method of claim 1, further comprising: receiving an indication from a particular node that an unrelated resource request has been made at the particular node that is unrelated to the assigned compute jobs for the particular node; and based upon receiving the indication, dynamically modifying one or more of the assigned compute jobs.

  8. The method of claim 1, further comprising: receiving an indication from a particular node that an unrelated resource request has been made at the particular node that is unrelated to the assigned compute jobs for the particular node; and based upon receiving the indication, dynamically causing the particular node to implement an internal modification affecting how the unrelated resource request is processed based on the one or more metrics.

  9. A node management computing system comprising: one or more processors; and one or more computer-readable media having stored computer-executable instructions that are executable by the one or more processors to configure the node management computing system to optimize compute job distribution using federated computing nodes by configuring the node management computing system to perform at least the following: identifying a plurality of independently controlled computing nodes, the independently controlled computing nodes of the plurality of independently controlled computing nodes each being associated with different users; transmitting a token to each of the plurality of independently controlled computing nodes such that each of the plurality of independently controlled nodes can be identified as being authorized to participate in a federated computing node cluster; and for each particular node within the federated computing node cluster, performing at least: receiving (i) one or more metrics associated with performance characteristics and capabilities of the particular node and (ii) one or more defined user preferences based on one or more user interface selections by one or more particular users associated with operating the particular node, the one or more particular users being different from one or more other users associated with operating the node management computing system and one or more other users associated with operating a different particular node within the federated computing node cluster; based on analysis of the received one or more defined user preferences based on the one or more user interface selections by the one or more users associated with operating the particular node, assigning one or more compute jobs to the particular node; assembling a compute job data packet comprising the one or more compute jobs; transmitting the assembled compute job data packet to the particular node; and receiving an indication from the particular node that at least one of the assigned compute jobs has been completed.

  10. The node management computing system of claim 9, wherein the one or more metrics comprises an identification of one or more hardware elements of the computing node, wherein based on analysis of the one or more hardware elements, the one or more assigned compute jobs are selected by at least comparing the assigned compute jobs with the one or more hardware elements.

  11. The node management computing system of claim 10, wherein comparing the assigned compute jobs with the one or more hardware elements comprises at least: profiling the one or more hardware elements; determining one or more baseline processing measures; identifying a plurality of compute jobs that are capable of being executed based on the determined baseline processing measures; assembling an optimized compute job packet comprising the identified plurality of compute jobs; and transmitting the optimized compute job packet to the computing node.

  12. The node management computing system of claim 9, wherein the one or more defined user preferences comprise a time preference indicating one or more preferred time periods for computing tasks to be performed on the particular node, the time preference being defined by a user interface selection of the one or more user interface selections.

  13. The node management computing system of claim 9, further comprising: receiving an indication from a particular node that an unrelated resource request has been made at the particular node that is unrelated to the assigned compute jobs for the particular node; and based upon receiving the indication, dynamically modifying one or more of the assigned compute jobs.

  14. The node management computing system of claim 9, further comprising: receiving an indication from a particular node that an unrelated resource request has been made at the particular node that is unrelated to the assigned compute jobs for the particular node; and based upon receiving the indication, dynamically causing the particular node to implement an internal modification affecting how the unrelated resource request is processed based on the one or more metrics.

  15. The node management computing system of claim 9, wherein each of the plurality of independently controlled nodes is controlled by an entity that differs from an entity that controls the node management computing system.

  16. One or more computer-readable hardware storage media having stored computer-executable instructions that, when executed by one or more processors of a node management computing system, cause the node management computing system to optimize compute job distribution using federated computing nodes by configuring the node management computing system to perform at least the following: identifying a plurality of independently controlled computing nodes, the independently controlled computing nodes of the plurality of independently controlled computing nodes each being associated with different users; transmitting a token to each of the plurality of independently controlled computing nodes such that each of the plurality of independently controlled nodes can be identified as being authorized to participate in a federated computing node cluster; and for each particular node within the federated computing node cluster, performing at least: receiving one or more defined user preferences based on one or more user interface selections by one or more particular users associated with operating the particular node, the one or more particular users being different from one or more other users associated with operating the node management computing system and one or more other users associated with operating a different particular node within the federated computing node cluster, wherein the one or more defined user preferences comprises one or more of a preferred type of computing task defined by a user interface selection of the one or more user interface selections, a minimum work output preference defined by a user interface selection of the one or more user interface selections, one or more preferred beneficiaries of computing tasks performed on the particular node defined by a user interface selection of the one or more user interface selections, or a time preference defined by a user interface selection of the one or more user interface selections and indicating one or more preferred time periods for computing tasks to be performed on the particular node; based on analysis of the received one or more defined user preferences based on the one or more user interface selections by the one or more users associated with operating the particular node, assigning one or more compute jobs to the particular node; assembling a compute job data packet comprising the one or more compute jobs; transmitting the assembled compute job data packet to the particular node; and receiving an indication from the particular node that at least one of the assigned compute jobs has been completed.

  17. The method of claim 1, further comprising: for each particular node within the federated computing node cluster, performing at least: generating an estimated amount of computing that the particular node will be able to accomplish based on the received one or more defined user preferences by the one or more particular users associated with operating the particular node; and informing the one or more particular users associated with operating the particular node of the estimated amount of computing that the particular node will be able to accomplish based on the received one or more defined user preferences.

  18. The method of claim 1, further comprising: for each particular node within the federated computing node cluster, performing at least: based on analysis of the received one or more defined user preferences, generating one or more recommended modifications to the one or more defined user preferences, the one or more recommended modifications being operable, if implemented by the one or more particular users associated with operating the particular node, to alter the computing capabilities of the particular node; and informing the one or more particular users associated with operating the particular node of the one or more recommended modifications to the one or more defined user preferences.

  19. The method of claim 1, wherein the one or more user defined preferences comprise a minimum output preference defined by a user interface selection of the one or more user interface selections.

  20. The method of claim 1, wherein the one or more defined user preferences comprise one or more preferred beneficiaries of computing tasks performed on the particular node, the one or more preferred beneficiaries being defined by a user interface selection of the one or more user interface selections.
 

Advisory Team




George Matus Jr.

Founder, CEO Teal Drones. Peter Thiel Fellow. Forbes 30 under 30. TIME’s most influential.
Learn More

 

 

Seth Porter

Software Engineer META (Facebook) Blockchain speaker and advisor.
Learn More

 

 

Jens Jenkins 

Shareholder, Workman Nydegger
Learn More

 

 

Brian Platt 

Shareholder, Workman Nydegger
Learn More

 

 

George P. Matus

Inventor
Learn More