IP Library › Granted Patent US 11,032,083
Granted Patent B2
US 11,032,083 · App. 16/181,541 · Granted Jun 8, 2021

Atomic transactional processing

Inventors: Ching-Yun Chao (Austin, TX); David Y. Chang (Austin, TX); Yi-Hsiu Wei (Austin, TX)
Assignee: International Business Machines Corporation
H04L9/3239H04L9/3247H04L9/3263H04L63/061H04L63/0823
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,032,083
App. No.
16/181,541
Granted
Jun 8, 2021
Kind
B2
Abstract

An example operation may include one or more of connecting, by a committer node, to a main blockchain comprised of a plurality of initiator nodes, receiving, by the committer node, a transaction from an initiator node of the plurality of the initiator nodes and placing blocks of the transaction on the main blockchain, executing, by the committer node, a request from the initiator node of the plurality of the initiator nodes to branch off a sub-blockchain from the main blockchain, processing, by the committer node, the transaction in the sub-blockchain, detecting, by the committer node, a completion or an ending of the transaction in the sub-blockchain, in response to the detection of the completion of the transaction, committing the transaction to the main blockchain, in response to the detection of the ending of the transaction, terminating the transaction in the sub-blockchain, and discarding, by the committer node, the sub-blockchain.

Claims (60)

1. A system, comprising:

a memory storing one or more instructions; and

a processor that when executing the one or more instructions is configured to:

connect to a main blockchain comprising a plurality of initiator nodes;

receive a transaction from an initiator node of the plurality of the initiator nodes;

place blocks of the transaction on the main blockchain;

branch off a sub-blockchain from the main blockchain based on a request from the initiator node, wherein a first block of the sub-blockchain includes a hash value of a block of the main blockchain from where the sub-blockchain is branched off and the sub-blockchain runs in parallel to the main blockchain;

process the transaction in the sub-blockchain;

detect a completion or an ending of the transaction in the sub-blockchain;

in response to the detection of the completion of the transaction, commit the transaction to the main blockchain;

in response to the detection of the ending of the transaction, terminate the transaction in the sub-blockchain; and

discard the sub-blockchain.

2. The system of claim 1 , wherein the processor is further configured to:

maintain the sub-blockchain for a duration of at least one block.

3. The system of claim 1 , wherein the processor is further configured to:

commit a result of the transaction along with intermediate transaction records to be included into a next block on the main blockchain.

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

discard the sub-blockchain if the transaction is rolled back.

5. The system of claim 4 , wherein the processor is further configured to:

discard intermediate records of the transaction.

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

store a hash value of a previous block from the sub-blockchain in a block of the sub-blockchain.

7. A method, comprising:

connecting, by a committer node, to a main blockchain comprising a plurality of initiator nodes;

receiving, by the committer node, a transaction from an initiator node of the plurality of the initiator nodes;

placing blocks of the transaction on the main blockchain;

branching off, by the committer node, a sub-blockchain from the main blockchain based on a request from the initiator node, wherein a first block of the sub-blockchain includes a hash value of a block of the main blockchain from where the sub-blockchain is branched off and the sub-blockchain runs in parallel to the main blockchain;

processing, by the committer node, the transaction in the sub-blockchain;

detecting, by the committer node, a completion or an ending of the transaction in the sub-blockchain;

in response to the detection of the completion of the transaction, committing the transaction to the main blockchain;

in response to the detection of the ending of the transaction, terminating the transaction in the sub-blockchain; and

discarding, by the committer node, the sub-blockchain.

8. The method of claim 7 , further comprising:

maintaining the sub-blockchain for a duration of at least one block.

9. The method of claim 7 , further comprising:

committing a result of the transaction along with intermediate transaction records to be included into a next block on the main blockchain.

10. The method of claim 7 , further comprising:

discarding the sub-blockchain if the transaction is rolled back.

11. The method of claim 10 , further comprising:

discarding intermediate records of the transaction.

12. The method of claim 7 , further comprising:

storing a hash value of a previous block from the main blockchain in a block of the sub-blockchain.

13. A non-transitory computer readable medium storing one or more instruction that when executed by a processor cause the processor to perform:

connecting to a main blockchain comprised of a plurality of initiator nodes;

receiving a transaction from an initiator node of the plurality of the initiator nodes;

placing blocks of the transaction on the main blockchain;

branching off, by the committer node, a sub-blockchain from the main blockchain based on a request from the initiator node, wherein a first block of the sub-blockchain includes a hash value of a block of the main blockchain from where the sub-blockchain is branched off and the sub-blockchain runs in parallel to the main blockchain;

processing the transaction in the sub-blockchain;

detecting a completion or an ending of the transaction in the sub-blockchain;

in response to the detection of the completion of the transaction, committing the transaction to the main blockchain;

in response to the detection of the ending of the transaction, terminating the transaction in the sub-blockchain; and

discarding, by the committer node, the sub-blockchain.

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

maintaining the sub-blockchain for a duration of at least one block.

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

committing a result of the transaction along with intermediate transaction records to be included into a next block on the main blockchain.

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

discarding the sub-blockchain if the transaction is rolled back.

17. The non-transitory computer readable medium of claim 16 , wherein the one or more instructions further cause the processor to perform:

discarding intermediate records of the transaction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2018
From: CHAO, CHING-YUN; CHANG, DAVID Y.; WEI, YI-HSIU
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047419/0468 →
Continuity (1)
Related Publication 20200145221A1 · May 7, 2020