IP Library › Granted Patent US 11,822,538
Granted Patent B2
US 11,822,538 · App. 17/090,594 · Granted Nov 21, 2023

Systems and methods of transaction identification generation for transaction-based environment

Inventor: Baohua Yang (Foster City, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F16/2379G06F16/245G06F16/27
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,822,538
App. No.
17/090,594
Filed
Nov 5, 2020
Granted
Nov 21, 2023
Kind
B2
Art Unit
2159
USPC
707/703
Abstract

Described herein are systems and methods for transaction identification (ID) generation in transaction-based environments. The systems and methods provided generated transaction IDs which inherently define a range of values (a range of blockchain heights) within which the transaction is valid. This obviates problems associated with traditional transaction ID databases where a transaction ID only comprises a hashed value. That is, the presently disclosed systems and methods are an improvement over traditional hashing schemes as in traditional hashing schemes, a server must traverse an entire transaction ID database to determine if an incoming transaction is valid.

Claims (69)

1. A system for transaction identification (ID) generation in transaction-based environments, comprising:

a computer comprising a microprocessor;

a server running on the computer, the server comprising a transaction-based environment comprising a distributed ledger provisioned as a blockchain cloud service, the blockchain cloud service comprising one or more peer containers, ordering containers, and chaincode containers, wherein the server further comprises a transaction ID database stored in a memory of the server, the transaction ID database comprising a plurality of recorded transaction IDs, each transaction ID corresponding to a respective transaction of a plurality of transactions recorded in the distributed ledger, the distributed ledger comprising a blockchain comprising a plurality of blocks, each block comprising at least one of the plurality of transactions;

wherein the server receives, from a client, a generated transaction ID, the generated transaction ID being associated with a requested transaction, the requested transaction being received by the server with instructions to commit the requested transaction to a block of the distributed ledger, the generated transaction ID comprising a hash value, an anchor value, and an offset value;

wherein the server parses the generated transaction ID;

wherein the server assesses the requested transaction while the distributed ledger undergoes an update for a time period;

wherein, after the time period has elapsed, the server checks the transaction ID database to determine that the requested transaction is validly directed to a range of the distributed ledger defined by the anchor value and offset value, prior to committing the requested transaction;

wherein the server, based upon the check, performs one of committing the requested transaction or aborting the requested transaction.

2. The system of claim 1 , wherein the client generates the generated transaction ID, said generation comprising:

generating, via a hashing function, the hash value of the generated transaction ID associated with the requested transaction,

determining the anchor value of the requested transaction, and combining the generated hash value and the determined anchor value with the offset value.

3. The system of claim 2 ,

wherein determining the anchor of the requested transaction comprises:

querying a current height of the distributed ledger of the transaction-based environment, and

verifying the current height of the distributed ledger.

4. The system of claim 3 ,

wherein the offset value corresponds to a change in height of the distributed ledger.

5. The system of claim 4 , wherein check of the transaction ID database to determine whether to commit the requested transaction comprises:

determining that the current height of the distributed ledger is between the anchor value and the sum of the anchor value and the offset.

6. The system of claim 5 ,

wherein the peer container maintains the distributed ledger;

wherein the ordering container orders transactions within the distributed ledger;

wherein the chaincode container comprises a chaincode execution unit that encodes assets in the distributed ledger.

7. The system of claim 6 ,

wherein the distributed ledger comprises a blockchain ledger comprising a Hyperledger Fabric.

8. A method for transaction identification (ID) generation in transaction-based environments, comprising:

providing, at a computer comprising a microprocessor, a server running on the computer, the server comprising a transaction-based environment comprising a distributed ledger provisioned as a blockchain cloud service, the blockchain cloud service comprising one or more peer containers, ordering containers, and chaincode containers, wherein the server further comprises a transaction ID database stored in a memory of the server, the transaction ID database comprising a plurality of recorded transaction IDs, each transaction ID corresponding to a respective transaction of a plurality of transactions recorded in the distributed ledger, the distributed ledger comprising a blockchain comprising a plurality of blocks, each block comprising at least one of the plurality of transactions;

receiving, at the server, from a client, a generated transaction ID, the generated transaction ID being associated with a requested transaction, the requested transaction being received by the server with instructions to commit the requested transaction to a block of the distributed ledger, the generated transaction ID comprising a hash value, an anchor value, and an offset value;

parsing, by the server, the generated transaction ID;

assessing the requested transaction while the distributed ledger undergoes an update for a time period;

upon the time period expiring, checking, by the server, the transaction ID database to determine that the requested transaction is validly directed to a range of the distributed ledger defined by the anchor value and offset value, prior to committing the requested transaction; and

based upon the check, performing, by the server one of committing the requested transaction or aborting the requested transaction.

9. The method of claim 8 , wherein the client generates the generated transaction ID, said generation comprising:

generating, via a hashing function, the hash value of the generated transaction ID associated with the requested transaction, determining the anchor value of the requested transaction, and combining the generated hash value and the determined anchor value with the offset value.

10. The method of claim 9 ,

wherein determining the anchor of the requested transaction comprises:

querying a current height of the distributed ledger of the transaction-based environment, and

verifying the current height of the distributed ledger.

11. The method of claim 10 ,

wherein the offset value corresponds to a change in height of the distributed ledger.

12. The method of claim 11 , wherein check of the transaction ID database to determine whether to commit the requested transaction comprises:

determining that the current height of the distributed ledger is between the anchor value and the sum of the anchor value and the offset.

13. The method of claim 12 ,

wherein the peer container maintains the distributed ledger;

wherein the ordering container orders transactions within the distributed ledger;

wherein the chaincode container comprises a chaincode execution unit that encodes assets in the distributed ledger.

14. The method of claim 13 ,

wherein the distributed ledger comprises a blockchain ledger comprising a Hyperledger Fabric.

15. A non-transitory computer readable storage medium having instructions thereon for transaction identification (ID) generation in transaction-based environments, which when read and executed cause one or more computers to perform steps comprising:

providing, at a computer comprising a microprocessor, a server running on the computer, the server comprising a transaction-based environment comprising a plurality of tenants, wherein each tenant comprises a blockchain cloud service, and a distributed ledger provisioned as a first blockchain cloud service, the first blockchain cloud service running as a tenant of the plurality of tenants, the first blockchain cloud service comprising a peer container, an ordering container, and a chaincode container, wherein the server comprises a transaction ID database stored in a memory of the server, the transaction ID database comprising a plurality of recorded transaction IDs, each transaction ID corresponding to a respective transaction of a plurality of transactions recorded in the distributed ledger, the distributed ledger comprising a blockchain comprising a plurality of blocks, each block comprising at least one of the plurality of transactions, wherein the peer container maintains the distributed ledger, wherein the ordering container orders transactions within the distributed ledger, and wherein the chaincode container comprises a chaincode execution unit that encodes assets in the distributed ledger;

receiving, at the server, from a client, a generated transaction ID, the generated transaction ID being associated with a requested transaction, the requested transaction being received by the server with instructions to commit the requested transaction to a block of the distributed ledger, the generated transaction ID comprising a hash value, an anchor value, and an offset value;

parsing, by the server, the generated transaction ID;

assessing the requested transaction while the distributed ledger undergoes an update for a time period;

upon the time period expiring, checking, by the server, the transaction ID database to determine that the requested transaction is validly directed to a range of the distributed ledger defined by the anchor value and offset value, prior to committing the requested transaction; and

based upon the check, performing, by the server one of committing the requested transaction or aborting the requested transaction.

16. The non-transitory computer readable storage medium of claim 15 ,

wherein the client generates the generated transaction ID, said generation comprising:

generating, via a hashing function, the hash value of the generated transaction ID associated with the requested transaction,

determining the anchor value of the requested transaction, and

combining the generated hash value and the determined anchor value with the offset value.

17. The non-transitory computer readable storage medium of claim 16 ,

wherein determining the anchor of the requested transaction comprises:

querying a current height of the distributed ledger of the transaction-based environment, and

verifying the current height of the distributed ledger.

18. The non-transitory computer readable storage medium of claim 17 ,

wherein the offset value corresponds to a change in height of the distributed ledger.

19. The non-transitory computer readable storage medium of claim 18 , wherein check of the transaction ID database to determine whether to commit the requested transaction comprises:

determining that the current height of the distributed ledger is between the anchor value and the sum of the anchor value and the offset.

20. The system of claim 1 , wherein the system comprises a sharded data store that stores valid transaction IDs in a blockchain in one or more partitions, for use in determining that the requested transaction is validly directed to a range of the distributed ledger.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: YANG, BAOHUA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 054507/0363 →
Continuity (1)
Related Publication 20220138182A1 · May 5, 2022
Cited By (3)
US 12,493,901 US 12,517,893 US 12,681,919