IP Library Granted Patent US 11,743,137
Granted Patent B2
US 11,743,137 · App. 17/348,286 · Granted Aug 29, 2023

Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT)

Inventor: Prithvi Krishnan Padmanabhan (San Ramon, CA)
Assignee: Salesforce, Inc.
H04L41/22H04L9/0637H04L9/0643H04L9/50
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,743,137
App. No.
17/348,286
Granted
Aug 29, 2023
Kind
B2
Abstract

Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using Distributed Ledger Technology (DLT) in conjunction with a cloud based computing environment are described herein. For example, according to one embodiment there is a system having at least a processor and a memory therein executing within a host organization, in which such a system includes means for operating a blockchain interface to a blockchain on behalf of a plurality of tenants of the host organization, wherein each one of the plurality of tenants operate as one of a plurality of participating nodes on the blockchain having access to the blockchain; displaying a Graphical User Interface (GUI Interface) to a user device communicably interfaced with the system over a network, wherein the GUI interface is to prompt for a metadata rule definition at the user device when displayed by the user device; receiving input at the system from the GUI interface displayed to the client device, the input defining the metadata rule definition, wherein the metadata rule definition includes one or more conditions or criteria to be matched to a transaction received at the blockchain; auto-generating code for a smart contract representing the metadata rule definition based on the input received from the GUI interface displayed to the client device; submitting the smart contract having the code representing the metadata rule definition to the blockchain for consensus by participating nodes of the blockchain; and adding the smart contract having the code representing the metadata rule definition onto the blockchain by writing the metadata rule definition into an asset of a new block on the blockchain pursuant to the smart contract attaining consensus from the participating nodes of the blockchain. Other related embodiments are disclosed.

Claims (76)

1. A method, comprising:

operating a blockchain interface to a blockchain on behalf of a plurality of tenants of a host organization, wherein each one of the plurality of tenants operate as a participating node on the blockchain with access to the blockchain;

receiving a metadata rule definition, wherein the metadata rule definition comprises one or more conditions or criteria and default values for any non-defined rules required to execute a smart contract;

creating the smart contract representing the metadata rule definition;

submitting the smart contract to the blockchain for consensus by the participating nodes of the blockchain;

adding, pursuant to the smart contract attaining consensus from the participating nodes of the blockchain, a first block onto the blockchain, the first block comprising a first asset comprising the metadata rule definition, the first asset configured to allow any participating node with access to the blockchain to create data records and store information on the blockchain that reference the metadata rule definition;

receiving transaction data for a transaction matching the one or more conditions or criteria;

referencing the metadata rule definition to determine that the transaction data indicates the transaction matches the one or more conditions or criteria;

triggering the smart contract for execution for the transaction based on the transaction matching the one or more conditions or criteria;

performing one or more actions defined by the metadata rule definition, wherein the one or more actions comprises:

determining that the transaction data is missing one or more rules matching one or more of the non-defined rules; and

providing, based on the metadata rule definition, default values for each of the one or more non-defined rules; and

adding a second block onto the blockchain, the second block comprising a second asset associated with the transaction and referencing the metadata rule definition to provide the default values for each of the one or more non-defined rules of the transaction data.

2. The method of claim 1 , wherein the metadata rule definition is received from a Graphical User Interface (GUI), and wherein the method further comprises:

communicating display data to a user device over a network, the display data configured to cause the user device to display the GUI, the GUI configured to prompt for the metadata rule definition when displayed by the user device.

3. The method of 2 , further comprising:

simulating execution of the smart contract for a transaction at the blockchain using the metadata rule definition without issuing any transaction to the blockchain; and

transmitting simulated execution results of the smart contract to the GUI interface for display on the user device.

4. The method of claim 2 , further comprising:

providing access to, after adding the first block onto the blockchain, the first block to one or more participating nodes.

5. The method of claim 1 , wherein submitting the first smart contract to the blockchain for consensus by the participating nodes of the blockchain comprises the participating nodes performing validation of the smart contract by simulating execution of the smart contract for the transaction at the blockchain using the metadata rule definition without issuing any transaction to the blockchain, and wherein the participating nodes simulate execution of the smart contract and submit an indication of acceptance of the simulated execution of the smart contract prior to granting consensus permitting the smart contract to be transacted onto the blockchain.

6. The method of claim 1 , wherein the one or more conditions or criteria comprises a data structure definition associated with a first application.

7. The method of claim 6 , wherein the one or more actions further comprises:

determining, from the metadata rule definition, the data structure definition; and

conforming the transaction data to the data structure definition.

8. A system comprising:

a processor; and

a memory comprising instructions, the instructions configured to cause the processor to perform operations comprising:

operating a blockchain interface to a blockchain on behalf of a plurality of tenants of a host organization, wherein each one of the plurality of tenants operate as a participating node on the blockchain with access to the blockchain;

receiving a metadata rule definition, wherein the metadata rule definition comprises one or more conditions or criteria and default values for any non-defined rules required to execute a smart contract;

creating the smart contract representing the metadata rule definition;

submitting the smart contract to the blockchain for consensus by the participating nodes of the blockchain;

adding, pursuant to the smart contract attaining consensus from the participating nodes of the blockchain, a first block onto the blockchain, the first block comprising a first asset comprising the metadata rule definition, the first asset configured to allow any participating node with access to the blockchain to create data records and store information on the blockchain that reference the metadata rule definition;

receiving transaction data for a transaction matching the one or more conditions or criteria;

referencing the metadata rule definition to determine that the transaction data indicates the transaction matches the one or more conditions or criteria;

triggering the smart contract for execution for the transaction based on the transaction matching the one or more conditions or criteria;

performing one or more actions defined by the metadata rule definition, wherein the one or more actions comprises:

determining that the transaction data is missing one or more rules matching one or more of the non-defined rules; and

providing, based on the metadata rule definition, default values for each of the one or more non-defined rules; and

adding a second block onto the blockchain, the second block comprising a second asset associated with the transaction and referencing the metadata rule definition to provide the default values for each of the one or more non-defined rules of the transaction data.

9. The system of claim 8 , wherein the metadata rule definition is received from a Graphical User Interface (GUI), and wherein the operations further comprise:

communicating display data to a user device communicatively coupled to the system over a network, the display data configured to cause the user device to display the GUI, the GUI configured to prompt for the metadata rule definition when displayed by the user device.

10. The system of 20 , wherein the operations further comprise:

simulating execution of the smart contract for a transaction at the blockchain using the metadata rule definition without issuing any transaction to the blockchain; and

transmitting simulated execution results of the smart contract to the GUI interface for display on the user device.

11. The system of claim 9 , wherein the operations further comprise:

providing access to, after adding the first block onto the blockchain, the first block to one or more participating nodes.

12. The system of claim 8 , wherein submitting the first smart contract to the blockchain for consensus by the participating nodes of the blockchain comprises the participating nodes performing validation of the smart contract by simulating execution of the smart contract for the transaction at the blockchain using the metadata rule definition without issuing any transaction to the blockchain, and wherein the participating nodes simulate execution of the smart contract and submit an indication of acceptance of the simulated execution of the smart contract prior to granting consensus permitting the smart contract to be transacted onto the blockchain.

13. The system of claim 8 , wherein the one or more conditions or criteria comprises a data structure definition associated with a first application.

14. The system of claim 13 , wherein the one or more actions further comprises:

determining, from the metadata rule definition, the data structure definition; and

conforming the transaction data to the data structure definition.

15. A non-transitory computer-readable storage media having instructions stored thereupon that, when executed by a processor of a system having at least a processor and a memory therein, the instructions cause the system to perform operations comprising:

operating a blockchain interface to a blockchain on behalf of a plurality of tenants of a host organization, wherein each one of the plurality of tenants operate as a participating node on the blockchain with access to the blockchain;

receiving a metadata rule definition, wherein the metadata rule definition comprises one or more conditions or criteria and default values for any non-defined rules required to execute a smart contract;

creating the smart contract representing the metadata rule definition;

submitting the smart contract to the blockchain for consensus by the participating nodes of the blockchain;

adding, pursuant to the smart contract attaining consensus from the participating nodes of the blockchain, a first block onto the blockchain, the first block comprising a first asset comprising the metadata rule definition, the first asset configured to allow any participating node with access to the blockchain to create data records and store information on the blockchain that reference the metadata rule definition;

receiving transaction data for a transaction matching the one or more conditions or criteria;

referencing the metadata rule definition to determine that the transaction data indicates the transaction matches the one or more conditions or criteria;

triggering the smart contract for execution for the transaction based on the transaction matching the one or more conditions or criteria;

performing one or more actions defined by the metadata rule definition, wherein the one or more actions comprises:

determining that the transaction data is missing one or more rules matching one or more of the non-defined rules; and

providing, based on the metadata rule definition, default values for each of the one or more non-defined rules; and

adding a second block onto the blockchain, the second block comprising a second asset associated with the transaction and referencing the metadata rule definition to provide the default values for each of the one or more non-defined rules of the transaction data.

16. The non-transitory computer-readable storage media of claim 15 , wherein the metadata rule definition is received from a Graphical User Interface (GUI), and wherein the operations further comprise:

communicating display data to a user device communicatively coupled to the system over a network, the display data configured to cause the user device to display the GUI, the GUI configured to prompt for the metadata rule definition when displayed by the user device;

simulating execution of the smart contract for a transaction at the blockchain using the metadata rule definition without issuing any transaction to the blockchain; and

transmitting simulated execution results of the smart contract to the GUI interface for display on the user device.

17. The non-transitory computer-readable storage media of claim 16 , wherein the operations further comprise:

providing access to, after adding the first block onto the blockchain, the first block to one or more participating nodes.

18. The non-transitory computer-readable storage media of claim 15 , wherein submitting the first smart contract to the blockchain for consensus by the participating nodes of the blockchain comprises the participating nodes performing validation of the smart contract by simulating execution of the smart contract for the transaction at the blockchain using the metadata rule definition without issuing any transaction to the blockchain, and wherein the participating nodes simulate execution of the smart contract and submit an indication of acceptance of the simulated execution of the smart contract prior to granting consensus permitting the smart contract to be transacted onto the blockchain.

19. The non-transitory computer-readable storage media of claim 15 , wherein the one or more conditions or criteria comprises a data structure definition associated with a first application.

20. The non-transitory computer-readable storage media of claim 19 , wherein the one or more actions further comprises:

determining, from the metadata rule definition, the data structure definition; and

conforming the transaction data to the data structure definition.

Assignments (1)
CHANGE OF NAME Recorded Jul 13, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 064286/0469 →
Continuity (9)
Division 16683945 · Nov 14, 2019
Provisional Application 62840074 · Apr 29, 2019
Provisional Application 62839523 · Apr 26, 2019
Provisional Application 62839529 · Apr 26, 2019
Provisional Application 62839525 · Apr 26, 2019
Provisional Application 62839521 · Apr 26, 2019
Provisional Application 62839561 · Apr 26, 2019
Provisional Application 62839462 · Apr 26, 2019
Related Publication 20220006705A1 · Jan 6, 2022
Cited By (6)
US 12,346,857 US 12,354,089 US 12,380,430 US 12,469,077 US 12,526,155 US 12,737,348