IP Library › Granted Patent US 11,645,268
Granted Patent B2
US 11,645,268 · App. 16/438,447 · Granted May 9, 2023

Database world state performance improvement

Inventors: Petr Novotny (Mount Kisco, NY); Qi Zhang (Elmsford, NY); Salman Abdul Baset (New York, NY)
Assignee: International Business Machines Corporation
G06F16/2379G06F16/285
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,645,268
App. No.
16/438,447
Granted
May 9, 2023
Kind
B2
Abstract

An example operation may include one or more of receiving, by a blockchain node or peer comprising hot asset storage and cold asset storage, an asset request to provide an asset, the asset comprising a key-value pair, determining if the asset request may be satisfied without accessing a blockchain of a shared ledger, providing the asset to a requesting node or peer from hot asset storage in response to the blockchain node or peer determining the asset request may be satisfied without accessing the blockchain, and in response to the blockchain node or peer determining the asset request cannot be satisfied without accessing the blockchain, the method further comprising utilizing a pointer in cold asset storage to obtain the requested asset from the blockchain.

Claims (80)

1. A provider node in a blockchain network including a requesting node and a blockchain storing assets, the provider node, comprising:

a hot asset storage configured to store a subset of the assets stored in the blockchain;

a cold asset storage configured to only store pointers to the assets stored in the blockchain; and

a processor that when executing one or more instruction stored in a memory is configured to:

receive, from the requesting node, a request to provide an asset stored in the blockchain;

identify whether the asset is classified as a hot asset or a cold asset based on a classification rule associated with the asset, wherein the classification rule is one or more of:

defined immediately upon the identification that the asset has been added to the blockchain;

defined during a regular pruning of the hot asset storage defined in response to a new chain code being deployed to, or removed from, a provider node, and

defined in response to a node being started and a world state being calculated, and

wherein if the asset is identified as a hot asset, then the processor is configured to transfer the hot asset from the hot asset storage to the requesting node, and

wherein if the asset is identified as a cold asset, then the processor is configured to:

obtain the cold asset from the blockchain using a corresponding pointer, and

transfer the cold asset to the requesting node.

2. The provider node of claim 1 , wherein, when the processor is configured to obtain the cold asset, the processor is further configured to:

obtain the corresponding pointer from the cold asset storage; and

send the corresponding pointer to the blockchain to cause the blockchain to retrieve the cold asset and to provide the cold asset to the provider node .

3. The provider node of claim 1 , wherein, when the processor is configured to identify whether the asset is classified as the hot asset or the cold asset, the processor is further configured to first check the hot asset storage for the asset.

4. The provider node of claim 1 , wherein the processor is further configured to:

identify that a new asset has been added to the blockchain;

determine that a classification rule identifying whether the new asset is to be stored in the hot asset storage or the cold asset storage does not exist;

store the new asset in the hot asset storage based on the determination; and

migrate the new asset to the cold asset storage in response to the new asset not being accessed fora certain period of time.

5. The provider node of claim 1 , wherein the processor is further configured to one or more of:

define the classification rule immediately upon the identification that the asset has been added to the blockchain;

define the classification rule during a regular pruning of the hot asset storage

define the classification rule in response to a new chaincode being deployed to, or removed from, a provider node; and

define the classification rule in response to a node being started and a world state being calculated.

6. The provider node of claim 1 , wherein the processor is further configured to:

combine asset classification rules for all provider nodes that access the blockchain,

wherein, in response to any provider node classifying an asset as hot, the asset is maintained in the hot asset storage for all provider nodes, and

wherein, in response to no provider node classifying an asset as hot, the asset is removed from the hot asset storage and is accessed through the cold asset storage.

7. A method, comprising:

receiving, by a provider node in a blockchain network, a request to provide an asset stored in a blockchain of the blockchain network, the provider node comprising a hot asset storage configured to store a subset of the assets stored in the blockchain and a cold asset storage configured to only store pointers to the assets stored in the blockchain;

identifying, by the provider node, whether the asset is classified as a hot asset or a cold asset based on a classification rule associated with the asset, wherein the classification rule is one or more of:

defined immediately upon the identification that the asset has been added to the blockchain;

defined during a regular pruning of the hot asset storage

defined in response to a new chaincode being deployed to, or removed from, a provider node, and

defined in response to a node being started and a world state being calculated, and

wherein if the asset is identified as a hot asset, then the method further comprises transferring the hot asset from the hot asset storage to the requesting node, and

wherein if the asset is identified as a cold asset, then the method further comprises:

obtaining, by the provider node, the cold asset from the blockchain using a corresponding pointer, and

transferring, by the provider node, the cold asset to the requesting node.

8. The method of claim 7 , wherein the obtaining the cold asset further comprises:

obtaining the corresponding pointer from the cold asset storage; and

sending the corresponding pointer to the blockchain to cause the blockchain;

obtaining the requested asset from the blockchain to retrieve the cold asset and to provide the cold asset to the provider node.

9. The method of claim 8 , wherein the identifying whether the asset is classified as the hot asset or the cold asset further comprises first checking the hot asset storage for the asset.

10. The method of claim 7 , further comprising:

identifying that a new asset has been added to the blockchain;

determining that a classification rule identifying whether the new asset is to be stored in the hot asset storage or the cold asset storage does not exist;

storing the new asset in the hot asset storage based on the determination; and

migrating the new asset to the cold asset storage in response to the new asset not being accessed fora certain period of time.

11. The method of claim 7 , further comprising:

combining asset classification rules for other provider that access the blockchain,

wherein, in response to any provider node classifying an asset as hot, maintaining the asset in the hot asset storage for all provider nodes or peers, and

wherein, in response to no provider node classifying an asset as hot, removing the asset from the hot asset storage and accessing the asset through the cold asset storage.

12. A non-transitory computer readable medium comprising one or more instructions that when executed by a processor of a provider node in a blockchain network configure the processor to perform:

receiving a request to provide an asset stored in a blockchain of the blockchain network, the provider node comprising a hot asset storage configured to store a subset of the assets stored in the blockchain and a cold asset storage configured to only store pointers to the assets stored in the blockchain;

identifying whether the asset is classified as a hot asset or a cold asset based on a classification rule associated with the asset, wherein the classification rule is one or more of:

defined immediately upon the identification that the asset has been added to the blockchain;

defined during a regular pruning of the hot asset storage

defined in response to a new chaincode being deployed to, or removed from, a provider node, and

defined in response to a node being started and a world state being calculated, and

wherein if the asset is identified as a hot asset, then the one or more instructions further configure the processor to perform transferring the hot asset from the hot asset storage to the requesting node, and

wherein if the asset is identified as a cold asset, then the one or more instructions further configure the processor to perform:

obtaining the cold asset from the blockchain using a corresponding pointer, and

transferring the cold asset to the requesting node.

13. The non-transitory computer readable medium of claim 12 , wherein the one or more instructions further configure the processor to perform:

obtaining the corresponding pointer from the cold asset storage; and

sending the corresponding pointer to the blockchain to cause the blockchain;

obtaining the requested asset from the blockchain to retrieve the cold asset and to provide the cold asset to the provider node.

14. The non-transitory computer readable medium of claim 12 , wherein one or more instructions further configure the processor to perform:

identifying that a new asset has been added to the blockchain;

determining that a classification rule identifying whether the new asset is to be stored in the hot asset storage or the cold asset storage does not exists;

storing the new asset in the hot asset storage based on the determination; and

migrating the new asset to the cold asset storage in response to the new asset not being accessed for a certain period of time.

15. The non-transitory computer readable medium of claim 12 , wherein the one or more instructions further configure the processor to perform:

combining asset classification rules for other provider that access the blockchain,

wherein, in response to any provider node classifying an asset as hot, maintaining the asset in the hot asset storage for all provider nodes or peers, and

wherein, in response to no provider node classifying an asset as hot, removing the asset from the hot asset storage and accessing the asset through the cold asset storage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2019
From: NOVOTNY, PETR; ZHANG, QI; BASET, SALMAN ABDUL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049439/0130 →
Continuity (1)
Related Publication 20200394175A1 · Dec 17, 2020