IP Library Granted Patent US 11,169,985
Granted Patent B2
US 11,169,985 · App. 16/261,363 · Granted Nov 9, 2021

System and method for supporting SQL-based rich queries in hyperledger fabric blockchains

Inventor: Carlo Innocenti (Burlington, MA)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F16/2365G06F16/219G06F16/2474G06F16/284
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,169,985
App. No.
16/261,363
Granted
Nov 9, 2021
Kind
B2
Abstract

Described herein are systems and methods for supporting SQL-based rich queries in a blockchain fabric. In accordance with an embodiment, the systems and methods provided herein provide the ability to execute SQL queries to allow for the creation of complex smart contracts much easier and more maintainable manner. Also, performance is improved both by pushing the data filtering back to the storage engine (rather than happening at the smart contract level), and by being able to rely on relational engines which support concurrent read and write data access. As well, the state of the world database can also provide for concurrent read/write access.

Claims (53)

1. A system for supporting SQL-based rich queries in a blockchain fabric comprising:

one or more computers, each comprising a microprocessor;

an enterprise-grade, distributed ledger framework;

a distributed ledger fabric, the distributed ledger fabric comprising at least a transaction manager and a validator;

a blockchain fabric, the blockchain fabric comprising a ledger of a plurality of blocks, each block comprising a plurality of key-value pairs; and

a state of the world database, the state of the world database comprising a versioned database and a relational database interface, wherein the state of the world database is accessible by the blockchain fabric;

wherein the versioned database is populated by a persistence engine running against the blockchain fabric; and

wherein the relational database interface provides a relational database interface layer between the versioned database of the state of the world database and one or more transactions running on the blockchain fabric.

2. The system of claim 1 ,

wherein at least one of the one or more transactions comprises at least one rich query.

3. The system of claim 2 ,

wherein the at least one rich query accesses the versioned database via the relational database interface.

4. The system of claim 1 , wherein the state of the world database provides concurrent read/write access.

5. The system of claim 2 , wherein the at least one rich query comprises chaincode.

6. The system of claim 1 , wherein the distributed ledger fabric is provisioned as a blockchain cloud service, the blockchain cloud service comprising

a peer container,

an ordering container, and

a chaincode container.

7. A method for supporting SQL-based rich queries in a blockchain fabric comprising:

providing, at one or more computers including a microprocessor,

an enterprise-grade, distributed ledger framework, and

a blockchain fabric running at the distributed ledger framework, the blockchain fabric comprising a ledger of a plurality of blocks, each block comprising a plurality of key-value pairs;

running a distributed ledger fabric within the distributed ledger framework, the distributed ledger fabric comprising at least a transaction manager and a validator; and

associating a state of the world database with the distributed ledger fabric, the state of the world database comprising a versioned database and a relational database interface, wherein the state of the world database is accessible by the blockchain fabric;

wherein the versioned database is populated by a persistence engine running against the blockchain fabric; and

wherein the relational database interface provides a relational database interface layer between the versioned database of the state of the world database and one or more transactions running on the blockchain fabric.

8. The method of claim 7 ,

wherein at least one of the one or more transactions comprises at least one rich query.

9. The method of claim 8 ,

wherein the at least one rich query accesses the versioned database via the relational database interface.

10. The method of claim 7 , wherein the state of the world database provides concurrent read/write access.

11. The method of claim 8 , wherein the at least one rich query comprises chaincode.

12. The method of claim 7 , wherein the distributed ledger fabric is provisioned as a blockchain cloud service, the blockchain cloud service comprising

a peer container,

an ordering container, and

a chaincode container.

13. A non-transitory computer readable storage medium having instructions thereon for supporting SQL-based rich queries in a blockchain fabric comprising, that when read and executed cause one or more computers to perform steps comprising:

providing, at one or more computers including a microprocessor,

an enterprise-grade, distributed ledger framework; and

a blockchain fabric running at the distributed ledger framework, the blockchain fabric comprising a ledger of a plurality of blocks, each block comprising a plurality of key-value pairs;

running a distributed ledger fabric within the distributed ledger framework, the distributed ledger fabric comprising at least a transaction manager and a validator; and

associating a state of the world database with the distributed ledger fabric, the state of the world database comprising a versioned database and a relational database interface, wherein the state of the world database is accessible by the blockchain fabric;

wherein the versioned database is populated by a persistence engine running against the blockchain fabric; and

wherein the relational database interface provides a relational database interface layer between the versioned database of the state of the world database and one or more transactions running on the blockchain fabric.

14. The non-transitory computer readable storage medium of claim 13 ,

wherein at least one of the one or more transactions comprises at least one rich query.

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

wherein the at least one rich query accesses the versioned database via the relational database interface.

16. The non-transitory computer readable storage medium of claim 13 , wherein the state of the world database provides concurrent read/write access.

17. The non-transitory computer readable storage medium of claim 13 , wherein the distributed ledger fabric is provisioned as a blockchain cloud service, the blockchain cloud service comprising

a peer container,

an ordering container, and

a chaincode container.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2019
From: INNOCENTI, CARLO
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 048244/0026 →
Continuity (2)
Provisional Application 62711385 · Jul 27, 2018
Related Publication 20200034353A1 · Jan 30, 2020
Cited By (6)
US 12,287,777 US 12,298,946 US 12,367,214 US 12,493,901 US 12,541,515 US 12,645,648