US 11,811,769 B2
Systems, methods, and apparatuses for implementing a declarative, metadata driven, cryptographically verifiable multi-network (multi-tenant) shared ledger
Prithvi Krishnan Padmanabhan, San Ramon, CA (US)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by Salesforce, Inc., San Francisco, CA (US)
Filed on Apr. 30, 2019, as Appl. No. 16/399,913.
Application 16/399,913 is a continuation in part of application No. 16/264,645, filed on Jan. 31, 2019.
Prior Publication US 2020/0252404 A1, Aug. 6, 2020
Int. Cl. G06F 16/2452 (2019.01); H04L 9/40 (2022.01); G06F 16/23 (2019.01); G06F 16/27 (2019.01)
CPC H04L 63/101 (2013.01) [G06F 16/2308 (2019.01); G06F 16/2452 (2019.01); G06F 16/278 (2019.01); H04L 63/061 (2013.01)] 23 Claims
OG exemplary drawing
 
1. A host organization system providing on-demand database services including customer relations management services to a plurality of customer organizations via the internet, the system including at least a hardware processor and memory, the system comprising:
a relational database system storing first customer relations management data for the plurality of customer organizations;
an interface to a shared ledger that persists data via a plurality of distributed shared ledger nodes, wherein the host organization operates as a participating node to enable interactions between the host organization system and the shared ledger, the shared ledger including a network org to store second customer relations management data on behalf of a founder organization of the plurality of customer organizations, wherein the network org is a sidechain formed from a fork block of the shared ledger and including one or more sidechain blocks; and
an access control layer configured to provide a plurality of participating entities access to the network org based on permissions associated with the participating entities, the permissions being reflected in metadata stored at the host organization and written onto the shared ledger via the participating node, the plurality of participating entities including one or more of the customer organizations, wherein the host organization system is configured to transact with the shared ledger in fulfillment of a request from a participating entity by:
(i) retrieving the metadata for the network org from the shared ledger;
(ii) validating that the request originates from one of the authorized network participants for the network org;
(iii) validating that the request specifies an interaction by the founder organization or an interaction by one of the plurality of participating entities in compliance with the permissions defined by the retrieved metadata for the network org; and
(iv) transacting with the network org via the shared ledger to store information in the one or more sidechain blocks in fulfillment of the request pursuant to successful validation.