IP Library › Granted Patent US 10,880,073
Granted Patent B2
US 10,880,073 · App. 16/058,612 · Granted Dec 29, 2020

Optimizing performance of a blockchain

Inventors: Dongming Hwang (Durham, NC); Barry Mosakowski (Raleigh, NC); Jianjun Zhang (Cary, NC)
Assignee: International Business Machines Corporation
H04L9/0637G06F9/466G06F16/2379G06F21/602
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 10,880,073
App. No.
16/058,612
Granted
Dec 29, 2020
Kind
B2
Abstract

An example operation may include one or more of monitoring, by an adaptive traffic engine, transactions data of a blockchain, detecting, by the adaptive traffic engine, a transaction commit event time out in a blockchain, determining, by the adaptive traffic engine, a processing queue of a the blockchain, measuring, by the adaptive traffic engine, a sending rate of the blockchain, and adjusting the sending rate, by the adaptive traffic engine, based on the transaction commit event time out, the processing queue and the sending rate to optimize performance of the blockchain.

Claims (55)

1. A method, comprising:

monitoring, by an adaptive traffic engine, transaction data of a blockchain;

detecting, by the adaptive traffic engine, a transaction commit event time out in the blockchain;

determining, by the adaptive traffic engine, a processing queue of the blockchain;

measuring, by the adaptive traffic engine, a sending rate of the blockchain; and

adjusting the sending rate, by the adaptive traffic engine, based on the transaction commit event time out, the processing queue and the sending rate to optimize performance of the blockchain.

2. The method of claim 1 , wherein the adjusting comprises decreasing the sending rate of the blockchain.

3. The method of claim 2 , wherein the decreasing of the sending rate is performed in response to one of:

the processing queue exceeding a high threshold; and

the processing queue exceeding a pre-defined level of a queue depth; and

the sending rate exceeding a drain rate.

4. The method of claim 1 , wherein the adjusting comprises increasing the sending rate of the blockchain.

5. The method of claim 4 , wherein the increasing of the sending rate is performed in response to one of:

the processing queue being below a pre-defined level of a queue depth;

the processing queue being below a low threshold; and

the sending rate being below a drain rate.

6. The method of claim 1 , further comprising continuous self-adjusting of the blockchain sending rate based on a state and a history of the blockchain until the blockchain reaches a steady state with a maximum number of transactions per second.

7. The method in claim 1 , further comprising optimizing of the performance of the blockchain to align with a blockchain service level agreement (SLA).

8. A system, comprising:

a processor;

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

monitor transaction data of a blockchain;

detect a transaction commit event time out in the blockchain;

determine a processing queue of the blockchain;

measure a sending rate of the blockchain; and

adjust the sending rate based on the transaction commit event time out, the processing queue and the sending rate to optimize performance of the blockchain.

9. The system of claim 8 , wherein the instructions cause the processor to decrease the sending rate of the blockchain.

10. The system of claim 9 , wherein the instructions cause the processor to decrease the sending rate of the blockchain in response to one of:

the processing queue exceeding a high threshold;

the processing queue exceeding a pre-defined level of a queue depth; and

the sending rate exceeding a drain rate.

11. The system of claim 8 , wherein the instructions cause the processor to increase the sending rate of the blockchain.

12. The system of claim 11 , wherein the instructions cause the processor to increase the sending rate of the blockchain in response to one of:

the processing queue being below a pre-defined level of a queue depth;

the processing queue being below a low threshold; and

the sending rate being below a drain rate.

13. The system of claim 8 , wherein the instructions further cause the processor to continuously self-adjust the blockchain sending rate based on a state and a history of the blockchain until the blockchain reaches a steady state with a maximum number of transactions per second.

14. The system of claim 8 , wherein the instructions are further to cause the processor to optimize the performance of the blockchain to align with a blockchain service level agreement (SLA).

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

monitoring transaction data of a blockchain;

detecting a transaction commit event time out in the blockchain;

determining a processing queue of the blockchain;

measuring a sending rate of the blockchain; and

adjusting the sending rate based on the transaction commit event time out, the processing queue and the sending rate to optimize performance of the blockchain.

16. The non-transitory computer readable medium of claim 15 , wherein the adjusting comprises decreasing the sending rate of the blockchain.

17. The non-transitory computer readable medium of claim 16 , wherein the decreasing of the sending rate of the blockchain is performed in response to one of:

the processing queue exceeding a high threshold;

the processing queue exceeding a pre-defined level of a queue depth; and

the sending rate exceeding a drain rate.

18. The non-transitory computer readable medium of claim 15 , wherein the adjusting comprises increasing the sending rate of the blockchain.

19. The non-transitory computer readable medium of claim 18 , wherein the increasing of the sending rate of the blockchain is performed in response to one of:

the processing queue being below a pre-defined level of a queue depth;

the processing queue being below a low threshold; and

the sending rate being below a drain rate.

20. The non-transitory computer readable medium of claim 15 , further comprising instructions, that when read by the processor, cause the processor to optimize the performance of the blockchain to align with a blockchain service level agreement (SLA).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: HWANG, DONGMING; MOSAKOWSKI, BARRY; ZHANG, JIANJUN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046588/0720 →
Continuity (1)
Related Publication 20200052881A1 · Feb 13, 2020