# US 12,111,945 B2 · Secured management of data distribution restrictions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,111,945 B2
- Document ID: US12111945B2
- Status: Granted
- Kind: B2
- Application number: 17/760,881
- Filed: 2020-12-04
- Published: 2022-12-29
- Granted: 2024-10-08
- Earliest claimed: 2020-12-04
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Gang Wang; Kevin Wei Li Yeo
- Web page: https://patentgrep.com/patent/US12111945B2

## CPC

- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 21/6254: {by anonymising data, e.g. decorrelating personal data from the owner's identification}
- G06F 21/6263: {during internet communication, e.g. revealing personal data from cookies}
- G06Q 30/0251: Targeted advertisements
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 63/0407: {wherein the identity of one or more communicating identities is hidden (cryptographic mechanisms or cryptographic arrangements for anonymous credentials or for identity based cryptographic systems H04L9/00)}
- G06Q 2220/00: Business processing using cryptography
- H04L 2209/46: Secure multiparty computation, e.g. millionaire problem
- H04L 2209/60: Digital content management, e.g. content distribution
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for allowing suitable digital components to be automatically selected and provided to a client device. Methods can include generating a universal identifier for a digital component that is presented in the application. The application updates a set of universal identifiers that has been created for digital components presented by the application over a specified time period. The application identifies digital components and the corresponding universal identifiers that are blocked and generates a probabilistic data structure representing the set of blocked universal identifiers. The application creates multiple shares of the probabilistic data structure and transmits different shares to different servers. The application receives a separate response generated by each of the different servers based on the multiple shares and identifies a digital component to present in the application based on a combination of the separate responses.

## Claims

### Claim 1

A computer-implemented method, comprising:
generating, by an application and for a digital component presented in the application, a universal identifier that is an encrypted version of a combination of (i) a campaign identifier for a content source that provides the digital component and (ii) a domain of the content source;
updating, by the application, a set of universal identifiers that have been created for digital components presented by the application over a specified time period based on the generated universal identifier;
identifying, by the application, a set of blocked universal identifiers corresponding to universal identifiers that have been (i) generated by the application, and (ii) blocked from being used to present future digital components in the application;
generating, by the application, a probabilistic data structure representing the set of blocked universal identifiers;
creating, by the application, multiple shares of the probabilistic data structure;
transmitting, by the application, different ones of the multiple shares to different servers;
receiving, by the application, a separate response generated by each of the different servers based on the different ones of the multiple shares transmitted to the different servers; and
identifying, by the application and based on a combination of the separate responses, a digital component to present in the application.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
detecting, by the application, interaction with a mute element corresponding to a given digital component presented in the application; and
updating the set of blocked universal identifiers to include the universal identifier of the given digital component in response to detecting the interaction with the mute element in a most recent timeframe.

### Claim 3 (depends on 1)

The method of claim 1, wherein updating the set of universal identifiers comprises incrementing a presentation counter indicative of a frequency of presentation of digital components having a particular universal identifier in response to presentation of a digital component associated with the particular universal identifier by the application.

### Claim 4 (depends on 3)

The method of claim 3, further comprising adding the particular universal identifier to the set of blocked universal identifiers when the presentation counter exceeds a specified value.

### Claim 5 (depends on 1)

The method of claim 1, wherein generating the probabilistic data structure comprises generating the probabilistic data structure representing (i) the set of blocked universal identifiers and (ii) a set of user group identifiers corresponding to user groups assigned to a user of the application.

### Claim 6 (depends on 5)

The method of claim 5, wherein generating the probabilistic data structure further comprises using a pseudo random function that is parameterized by two or more random variables.

### Claim 7 (depends on 1)

The method of claim 1, wherein an entity providing the digital component can generate the universal identifier for the digital component.

### Claim 8 (depends on 1)

The method of claim 1, wherein the probabilistic data structure is a cuckoo filter.

### Claim 9

A system, comprising:
a memory device; and
one or more processors configured to access the memory device and execute instructions that, upon execution, cause the one or more processors to perform operations comprising:
generating, by an application and for a digital component presented in the application, a universal identifier that is an encrypted version of a combination of (i) a campaign identifier for a content source that provides the digital component and (ii) a domain of the content source;
updating, by the application, a set of universal identifiers that have been created for digital components presented by the application over a specified time period based on the generated universal identifier;
identifying, by the application, a set of blocked universal identifiers corresponding to universal identifiers that have been (i) generated by the application, and (ii) blocked from being used to present future digital components in the application;
generating, by the application, a probabilistic data structure representing the set of blocked universal identifiers;
creating, by the application, multiple shares of the probabilistic data structure;
transmitting, by the application, different ones of the multiple shares to different servers;
receiving, by the application, a separate response generated by each of the different servers based on the different ones of the multiple shares transmitted to the different servers; and
identifying, by the application and based on a combination of the separate responses, a digital component to present in the application.

### Claim 10 (depends on 9)

The system of claim 9, wherein the instructions cause the one or more processors to perform operations further comprising:
detecting, by the application, interaction with a mute element corresponding to a given digital component presented in the application; and
updating the set of blocked universal identifiers to include the universal identifier of the given digital component in response to detecting the interaction with the mute element in a most recent timeframe.

### Claim 11 (depends on 9)

The system of claim 9, wherein updating the set of universal identifiers comprises incrementing a presentation counter indicative of a frequency of presentation of digital components having a particular universal identifier in response to presentation of a digital component associated with the particular universal identifier by the application.

### Claim 12 (depends on 11)

The system of claim 11, wherein the instructions cause the one or more processors to perform operations further comprising.

### Claim 13 (depends on 9)

The system of claim 9, wherein generating the probabilistic data structure comprises generating the probabilistic data structure representing (i) the set of blocked universal identifiers and (ii) a set of user group identifiers corresponding to user groups assigned to a user of the application.

### Claim 14 (depends on 13)

The system of claim 13, wherein generating the probabilistic data structure further comprises using a pseudo random function that is parameterized by two or more random variables.

### Claim 15 (depends on 9)

The system of claim 9, wherein an entity providing the digital component can generate the universal identifier for the digital component.

### Claim 16 (depends on 9)

The system of claim 9, wherein the probabilistic data structure is a cuckoo filter.

### Claim 17

A non-transitory computer readable medium storing instructions that, when executed by one or more data processing apparatus, cause the one or more data processing apparatus to perform operations comprising:
generating, by an application and for a digital component presented in the application, a universal identifier that is an encrypted version of a combination of (i) a campaign identifier for a content source that provides the digital component and (ii) a domain of the content source;
updating, by the application, a set of universal identifiers that have been created for digital components presented by the application over a specified time period based on the generated universal identifier;
identifying, by the application, a set of blocked universal identifiers corresponding to universal identifiers that have been (i) generated by the application, and (ii) blocked from being used to present future digital components in the application;
generating, by the application, a probabilistic data structure representing the set of blocked universal identifiers;
creating, by the application, multiple shares of the probabilistic data structure;
transmitting, by the application, different ones of the multiple shares to different servers;
receiving, by the application, a separate response generated by each of the different servers based on the different ones of the multiple shares transmitted to the different servers; and
identifying, by the application and based on a combination of the separate responses, a digital component to present in the application.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the instructions cause the one or more data processing apparatus to perform operations further comprising:
detecting, by the application, interaction with a mute element corresponding to a given digital component presented in the application; and
updating the set of blocked universal identifiers to include the universal identifier of the given digital component in response to detecting the interaction with the mute element in a most recent timeframe.

### Claim 19 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein generating the probabilistic data structure comprises generating the probabilistic data structure representing (i) the set of blocked universal identifiers and (ii) a set of user group identifiers corresponding to user groups assigned to a user of the application.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, wherein generating the probabilistic data structure further comprises using a pseudo random function that is parameterized by two or more random variables.
