IP Library › Granted Patent US 11,263,059
Granted Patent B2
US 11,263,059 · App. 16/125,466 · Granted Mar 1, 2022

Load leveler

Inventors: Jonathan Fry (Fishkill, NY); Christopher J. Penny (Saratoga Springs, NY); Marc Bergendahl (Rensselaer, NY); Christopher J. Waskiewicz (Rexford, NY); Jean Wynne (Nassau, NY); James Demarest (Rensselaer, NY)
Assignee: International Business Machines Corporation
G06F9/5083G06F9/4881G06F9/505H04L9/0637
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,263,059
App. No.
16/125,466
Granted
Mar 1, 2022
Kind
B2
Abstract

An example operation may include one or more of connecting, by a load leveler, to a blockchain network comprising a plurality of nodes and configured to store a common work item, computing, by the load leveler, loads across the plurality of the nodes that need to execute the common work item upon completion of current tasks, determining, by the load leveler, a network load impact based on execution of a common blockchain consensus checking process on the network nodes, executing, by the load leveler, a work assessment process based on the loads computed across the plurality of the nodes and on the determined network load impact of the blockchain network, and assigning, by the load leveler, new tasks to the nodes based on results of the execution of the work assessment process.

Claims (32)

1. A system, comprising:

a processor;

a memory on which are stored machine readable instructions that when executed by the processor, cause the processor to:

connect to a blockchain network comprising a plurality of blockchain peers;

determine a current computational load for a blockchain peer from among the plurality of the blockchain peers based on a frequency at which the blockchain peer succeeds in solving a blockchain block hash;

determine an overall load on the plurality of blockchain peers based on a difficulty of the blockchain block hash; and

assign new tasks to the blockchain peer based on the current computational load determined for the blockchain peer and the overall load on the plurality of blockchain peers.

2. The system of claim 1 , wherein the processor is further configured to determine the current computational load for the blockchain peer based on a comparison of the frequency at which the blockchain peer solves the blockchain hash and block solution frequencies of other blockchain peers among the plurality of blockchain peers.

3. The system of claim 1 , wherein the instructions are further to cause the processor to assign more tasks to a blockchain peer that solves blockchain blocks at a faster frequency than are assigned to another blockchain peer that solves blockchain blocks at a slower frequency.

4. The system of claim 1 , wherein the instructions are further to cause the processor to balance the new tasks among the plurality of blockchain peers based on respective current computational loads determined for the plurality of blockchain peers.

5. The system of claim 1 , wherein the instructions are further to cause the processor to determine if unassigned tasks require a high input/output (I/O) commitment.

6. The system of claim 5 , wherein the instructions are further to cause the processor to assign the tasks that require the high I/O commitment to an under-loaded node that has no current computational load.

7. A method, comprising:

connecting, by a load leveler, to a blockchain network comprising a plurality of blockchain peers;

determining, by the load leveler, a current computational load for a blockchain peer from among the plurality of blockchain peers based on a frequency at which the blockchain peer succeeds in solving a blockchain block hash;

determining an overall load on the plurality of blockchain peers based on a difficulty of the blockchain block hash; and

assigning, by the load leveler, new tasks to the blockchain peer based on the current computational load determined for the blockchain peer and the overall load on the plurality of blockchain peers.

8. The method of claim 7 , wherein the determining further comprises determining the current computational load for the blockchain peer based on a comparison of the frequency at which the blockchain peer solves the blockchain hash and block solution frequencies of other blockchain peers among the plurality of blockchain peers.

9. The method of claim 7 , wherein the assigning comprises assigning more tasks to a blockchain peer that solves blockchain blocks at a faster frequency than are assigned to another blockchain peer that solves blockchain blocks at a slower frequency.

10. The method of claim 7 , further comprising balancing the new tasks among the plurality of blockchain peers based on respective current computational loads determined for the plurality of blockchain peers.

11. The method of claim 7 , further comprising determining if unassigned tasks require a high input/output (I/O) commitment.

12. The method of claim 11 , further comprising assigning the tasks that require the high I/O commitment to an under-loaded node that has no current computational load.

13. A non-transitory computer readable medium comprising instructions, that when read by a processor, cause the processor to perform:

connecting to a blockchain network comprising a plurality of blockchain peers;

determining a current computational load for a blockchain peer from among the plurality of blockchain peers based on a frequency at which the blockchain peer succeeds in solving a blockchain block hash;

determining an overall load on the plurality of blockchain peers based on a difficulty of the blockchain block hash; and

assigning new tasks to the blockchain peer based on the current computational load determined for the blockchain peer and the overall load on the plurality of blockchain peers.

14. The non-transitory computer readable medium of claim 13 wherein the determining further comprises determining the current computational load for the blockchain peer based on a comparison of the frequency at which the blockchain peer solves the blockchain hash and block solution frequencies of other blockchain peers among the plurality of blockchain peers.

15. The non-transitory computer readable medium of claim 14 further comprising instructions, that when read by the processor, cause the processor to assign more tasks to a blockchain peer that solves blockchain blocks at a faster frequency than are assigned to another blockchain peer that solves blockchain blocks at a slower frequency.

16. The non-transitory computer readable medium of claim 13 further comprising instructions, that when read by the processor, cause the processor to balance the new tasks among the plurality of blockchain peers based on respective current computational loads determined for the plurality of blockchain peers.

17. The non-transitory computer readable medium of claim 13 further comprising instructions, that when read by the processor, cause the processor to determine if unassigned tasks require a high input/output (I/O) commitment.

18. The non-transitory computer readable medium of claim 17 further comprising instructions, that when read by the processor, cause the processor to assign the tasks that require the high I/O commitment to an under-loaded node that has no current computational load.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2018
From: FRY, JONATHAN; PENNY, CHRISTOPHER J.; BERGENDAHL, MARC; WASKIEWICZ, CHRISTOPHER J.; WYNNE, JEAN; DEMAREST, JAMES
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046819/0768 →
Continuity (1)
Related Publication 20200081746A1 · Mar 12, 2020
Cited By (1)
US 12,641,066