US 12,192,340 B2
Using secure MPC and vector computations to protect access to information in content distribution
Gang Wang, Jersey City, NJ (US); Ardian Poernomo, Santa Clara, CA (US); and Marcel M. Moti Yung, New York, NY (US)
Assigned to Google LLC, Mountain View, CA (US)
Appl. No. 17/793,831
Filed by Google LLC, Mountain View, CA (US)
PCT Filed Jan. 6, 2022, PCT No. PCT/US2022/011372
§ 371(c)(1), (2) Date Jul. 19, 2022,
PCT Pub. No. WO2022/150428, PCT Pub. Date Jul. 14, 2022.
Claims priority of application No. 280056 (IL), filed on Jan. 10, 2021.
Prior Publication US 2023/0076256 A1, Mar. 9, 2023
Int. Cl. H04L 9/08 (2006.01); G06F 21/62 (2013.01); G06Q 10/10 (2023.01); G06Q 30/0241 (2023.01); H04L 9/06 (2006.01)
CPC H04L 9/085 (2013.01) [G06F 21/6245 (2013.01); G06Q 10/10 (2013.01); G06Q 30/0241 (2013.01); H04L 9/0643 (2013.01); H04L 9/0841 (2013.01); G06Q 2220/00 (2013.01); H04L 2209/46 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
receiving, from a client device and by a first computing system of a plurality of multi-party computation (MPC) systems, a digital component request comprising first secret shares of data identifying user groups that include a user of the client device as a member and a set of contextual signals;
transmitting, by the first computing system, a contextual digital component request to a content platform;
receiving, by the first computing system and from the content platform, selection data for a plurality of digital components, wherein the selection data comprises first vector data defining a contextual-based vector of values selected based at least in part on the set of contextual signals;
obtaining, by the first computing system and for each of the plurality of digital components, second vector data defining a user group-based vector of values selected based at least in part on a respective user group corresponding to the digital component;
determining, by the first computing system, a selection value for each digital component based on the first vector data and the second vector data;
determining, for each digital component, a candidate parameter that indicates whether the respective user group identifier corresponding to the digital component matches a user group that includes the user as a member;
generating, based on the selection values and the candidate parameters, a first secret share of a selection result that identifies, from a plurality of candidate digital components, a given digital component having a highest selection value, wherein each candidate digital component is a digital component for which the candidate parameter for the selection value corresponding to the digital component indicates that the respective user group identifier corresponding to the selection value matches a user group that includes the user as a member; and
transmitting, to the client device, the first secret share of a selection result identifying the given digital component.