IP Library Granted Patent US 12,002,039
Granted Patent B2
US 12,002,039 · App. 17/517,543 · Granted Jun 4, 2024

Database system public trust ledger multi-owner token architecture

Inventor: Prithvi Krishnan Padmanabhan (San Francisco, CA)
Assignee: Salesforce, Inc.
G06Q20/3825G06Q20/065G06Q20/38215H04L9/3213H04L9/50H04L2209/56
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 12,002,039
App. No.
17/517,543
Granted
Jun 4, 2024
Kind
B2
Abstract

A request to perform an action related to a smart contract recorded on a public trust ledger external to the database system may be received via a communication interface at a database system. The request may authenticate a designated database system account. A determination may be made as to whether the designated database system account is authorized to perform the action by accessing definition information for a public trust ledger synthetic party identifying a plurality of database system accounts authorized to perform one or more actions related to the smart contract. The database system may communicate with a token exchange to perform the action by executing the smart contract when it is determined that the designated database system account is authorized to perform the action.

Claims (50)

1. A method implemented at a database system, the method comprising:

providing, by a database processor, computing services to a plurality of tenants of the database system via the internet;

receiving, by the database processor, from a client machine a request to execute an action related to a smart contract owned by a synthetic public trust ledger party and recorded on a public trust ledger external to the database system;

identifying, by the database processor, a database system account associated with the requested action and linked with a tenant of the plurality of tenants;

retrieving, by the database processor, from a table within the database system one or more synthetic public trust ledger party rules authorizing a plurality of database system accounts to perform a plurality of actions related to the smart contract;

determining, by the database processor, that the database system account is authorized to perform the action based on the one or more rules;

retrieving, by the database processor, one or more private keys for the synthetic public trust ledger account from the database system;

transmitting, by a ledger API, to a replica node of a public trust ledger external to the database system a ledger request to perform the action, the request authenticating the synthetic public trust ledger account to the replica node via the one or more private keys;

receiving, by the ledger API, from the replica node a ledger response indicating that the public trust ledger has been updated to reflect successful execution of the action;

updating, by the database processor, one or more records within the database system to reflect successful execution of the action; and

transmitting, by the database processor, to the client machine a response message indicating that the action has been performed.

2. The method recited in claim 1 , wherein the database system account is an owner of the smart contract.

3. The method recited in claim 1 , wherein the database system account is identified in the synthetic public trust ledger party as a subordinate party.

4. The method recited in claim 1 , wherein one or more private keys are stored within the database system.

5. The method recited in claim 1 , wherein the action transfers a token from a first party to a second party.

6. The method recited in claim 1 , wherein the action mints a fungible token.

7. The method recited in claim 1 , wherein the action mints a non-fungible token.

8. The method recited in claim 1 , wherein the action updates a definition stored in the public trust ledger and reflecting the one or more synthetic public trust ledger party rules.

9. One or more non-transitory computer readable media having instructions stored thereon for performing a method implemented at a database system, the method comprising:

providing, by a database processor, computing services to a plurality of tenants of the database system via the internet;

receiving, by the database processor, from a client machine a request to execute an action related to a smart contract owned by a synthetic public trust ledger party and recorded on a public trust ledger external to the database system;

identifying, by the database processor, a database system account associated with the requested action and linked with a tenant of the plurality of tenants;

retrieving, by the database processor, from a table within the database system one or more synthetic public trust ledger party rules authorizing a plurality of database system accounts to perform a plurality of actions related to the smart contract;

determining, by the database processor, that the database system account is authorized to perform the action based on the one or more rules;

retrieving, by the database processor, one or more private keys for the synthetic public trust ledger account from the database system;

transmitting, by a ledger API, to a replica node of a public trust ledger external to the database system a ledger request to perform the action, the request authenticating the synthetic public trust ledger account to the replica node via the one or more private keys;

receiving, by the ledger API, from the replica node a ledger response indicating that the public trust ledger has been updated to reflect successful execution of the action;

updating, by the database processor, one or more records within the database system to reflect successful execution of the action; and

transmitting, by the database processor, to the client machine a response message indicating that the action has been performed.

10. The one or more non-transitory computer readable media recited in claim 9 , wherein the database system account is an owner of the smart contract.

11. The one or more non-transitory computer readable media recited in claim 9 , wherein the database system account is identified in the synthetic public trust ledger party as a subordinate party.

12. The one or more non-transitory computer readable media recited in claim 9 , wherein one or more private keys are stored within the database system.

13. The one or more non-transitory computer readable media recited in claim 9 , wherein the action transfers a token from a first party to a second party.

14. The one or more non-transitory computer readable media recited in claim 9 , wherein the action mints a fungible token.

15. The one or more non-transitory computer readable media recited in claim 9 , wherein the action mints a non-fungible token.

16. The one or more non-transitory computer readable media recited in claim 9 , wherein the action updates a definition stored in the public trust ledger and reflecting the one or more synthetic public trust ledger party rules.

17. A database system configured to perform a method, the method comprising:

providing, by a database processor, computing services to a plurality of tenants of the database system via the internet;

receiving, by the database processor, from a client machine a request to execute an action related to a smart contract owned by a synthetic public trust ledger party and recorded on a public trust ledger external to the database system;

identifying, by the database processor, a database system account associated with the requested action and linked with a tenant of the plurality of tenants;

retrieving, by the database processor, from a table within the database system one or more synthetic public trust ledger party rules authorizing a plurality of database system accounts to perform a plurality of actions related to the smart contract;

determining, by the database processor, that the database system account is authorized to perform the action based on the one or more rules;

retrieving, by the database processor, one or more private keys for the synthetic public trust ledger account from the database system;

transmitting, by a ledger API, to a replica node of a public trust ledger external to the database system a ledger request to perform the action, the request authenticating the synthetic public trust ledger account to the replica node via the one or more private keys;

receiving, by the ledger API, from the replica node a ledger response indicating that the public trust ledger has been updated to reflect successful execution of the action;

updating, by the database processor, one or more records within the database system to reflect successful execution of the action; and

transmitting, by the database processor, to the client machine a response message indicating that the action has been performed.

18. The database system recited in claim 17 , wherein the database system account is an owner of the smart contract.

19. The database system recited in claim 17 , wherein the database system account is identified in the synthetic public trust ledger party as a subordinate party.

20. The database system recited in claim 17 , wherein one or more private keys are stored within the database system.

Assignments (2)
CHANGE OF NAME Recorded Apr 11, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 067077/0756 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2021
From: PADMANABHAN, PRITHVI KRISHNAN
To: SALESFORCE.COM, INC.
Reel/Frame 057999/0753 →
Continuity (2)
Provisional Application 63243665 · Sep 13, 2021
Related Publication 20230080808A1 · Mar 16, 2023