US 11,868,321 B2
Cryptographically secure multi-tenant data exchange platform
Prithvi Krishnan Padmanabhan, San Ramon, CA (US); Sri Naga Deepthi Velisetti, Dublin, CA (US); Philip Norman Calvin, San Francisco, CA (US); Brent Fosdick, Fort Collins, CO (US); and Andrew Emil Conn, San Carlos, CA (US)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by Salesforce, Inc., San Francisco, CA (US)
Filed on Sep. 19, 2018, as Appl. No. 16/136,077.
Claims priority of provisional application 62/684,180, filed on Jun. 12, 2018.
Prior Publication US 2019/0377806 A1, Dec. 12, 2019
Int. Cl. G06F 16/23 (2019.01); G06F 16/182 (2019.01); H04L 9/08 (2006.01); G06F 16/27 (2019.01); G06F 16/18 (2019.01); H04L 9/00 (2022.01)
CPC G06F 16/1834 (2019.01) [G06F 16/1805 (2019.01); G06F 16/27 (2019.01); H04L 9/0819 (2013.01); H04L 9/50 (2022.05)] 12 Claims
OG exemplary drawing
 
1. A method for a multi-tenant server to manage data in a peer-to-peer blockchain network, the method comprising:
maintaining, by the multi-tenant server, a respective virtual space for associated with each peer of a plurality of peers in the peer-to-peer blockchain network, each virtual space includes data and services available to the associated peer but are inaccessible by other peers in the peer-to-peer blockchain network;
generating, by the multi-tenant server, an exchange object for the peer-to-peer blockchain network, wherein the exchange object includes a set of one or more exchange fields and a set of one or more mappings between each exchange field in the set of exchange fields and a set of one or more fields of a set of a plurality of physical objects, each physical object in the set of physical objects associated with, and stored in the virtual space of, a respective peer in the peer-to-peer blockchain network;
receiving, by the multi-tenant server, a proposed alteration to a first physical object associated with, and stored in a first virtual space of, a first peer in the peer-to-peer blockchain network;
generating, by the multi-tenant server on behalf of the first peer in the peer-to-peer blockchain network, a transaction object based on the exchange object and the proposed alteration, wherein the transaction object includes a set of one or more field values for one or more exchange fields of the set of exchange fields, wherein the set of field values includes one or more field values reflecting the proposed alteration to the first physical object associated with the first peer;
making, by the multi-tenant server on behalf of the first peer, the transaction object available to a second peer in the peer-to-peer blockchain network to attempt to obtain consensus for the proposed alteration to the first physical object according to the one or more field values of the transaction object;
storing, by a service of the virtual space of the first peer on behalf of the first peer, a record in a shadow object, wherein the record in the shadow object describes the proposed alteration to the physical object, wherein the shadow object includes uncommitted data to the physical object of the first peer;
committing, by a service of the virtual space of the first peer on behalf of the first peer, the record in the shadow object to the physical object in response to receiving consensus from the peers in the peer-to-peer blockchain network for the proposed alteration to the physical object; and
adding, by a service of the virtual space of the first peer on behalf of the first peer, a block corresponding to the proposed alteration to ledgers of each peer in the peer-to-peer blockchain network in response to receiving consensus from peers in the peer-to-peer blockchain network for the proposed alteration.