IP Library Granted Patent US 12670280
Granted Patent B2
US 12670280 · App. 18/285,297 · Granted Jun 30, 2026

Efficient, flexible, and secure dynamic digital content creation

Inventors: Gang Wang (Frederick, MD); Wenchao Tong (San Jose, CA)
Assignee: Google LLC
G06F21/6263G06F21/53G06F40/14G06F40/143G06Q30/0271
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 12670280
App. No.
18/285,297
Filed
Oct 2, 2023
Granted
Jun 30, 2026
Kind
B2
Art Unit
2171
USPC
715/234
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for generating dynamic digital content in privacy preserving ways are described. In one aspect, a method includes receiving, by a trusted server and from multiple content platforms, digital component data for digital components. The server received, from each content platform, dynamic content selection logic for selecting discrete content elements for digital components of the content platform. The server selects, from digital components for which digital component data is stored in a digital component repository, candidate digital components based at least on user data included in a digital component request. For each candidate digital component, the server executes the dynamic content selection logic of the content platform that provided the digital component data for the candidate digital component, the executing resulting in selection of a particular layout and a particular subset of content elements for the digital component.

Claims (49)

1 . A computer-implemented method comprising:

receiving, by a trusted server and from multiple content platforms, digital component data for digital components, wherein the digital component data for each digital component comprises one or more layouts and a set of discrete content elements for creating dynamic versions of the digital component;

receiving, by the trusted server and from each of the multiple content platforms, dynamic content selection logic for selecting discrete content elements for digital components of the content platform based at least on information included in digital component requests;

receiving, by the trusted server and from a client device of a user, a digital component request that requests a digital component for presentation at the client device, the digital component request comprising user data related to the user and context data describing an environment in which a returned digital component will be presented;

sending, by the trusted server, a context-based digital component request to one or more of the multiple content platforms, the context-based digital component request comprising the context data;

receiving, by the trusted server and from each content platform of the one or more content platforms, additional distribution parameters for context-based digital components selected based on the context data;

selecting, by the trusted server and from a set of digital components comprising (i) a plurality of digital components for which digital component data is stored in a digital component repository and (ii) the context-based digital components, a set of candidate digital components based at least on the user data;

executing, by the trusted server and for each candidate digital component, the dynamic content selection logic of the content platform that provided the digital component data for the candidate digital component, the executing resulting in selection of a particular layout and a particular subset of the discrete content elements for the candidate digital component, wherein the executing comprises executing the dynamic content selection logic of each content provider in a separate isolated environment;

selecting, from among the set of candidate digital components, a given digital component to provide to the client device of the user;

generating a dynamic digital component using the particular layout and the particular subset of the discrete content elements for the given digital component; and

sending the dynamic digital component to the client device of the user.

2 . The computer-implemented method of claim 1 , wherein generating the dynamic digital component comprises generating a web bundle that includes a set of resources that enable a browser running on the client device of the user to display the dynamic digital component.

3 . The computer-implemented method of claim 1 , wherein each isolated environment comprises an isolated virtual machine.

4 . The computer-implemented method of claim 1 , wherein the dynamic content selection logic of at least one content platform is defined in a different programming language than the dynamic content selection logic of one or more other content platforms.

5 . The computer-implemented method of claim 1 , wherein the dynamic content selection logic of at least one content platform comprises a trained machine learning model that selects layouts and discrete content elements for digital components of the content platform based on input user data of digital component requests.

6 . The computer-implemented method of claim 5 , wherein the trained machine learning model is trained to select the layouts and discrete content elements to increase a likelihood of users corresponding to the user data interacting with dynamic digital components generated and provided to the users.

7 . The computer implemented method of claim 1 , further comprising executing, for each candidate digital component, the dynamic content selection logic of the content platform that provided the digital component data for the candidate digital component in the separate isolated environment to determine a selection factor for the candidate digital component, wherein selecting, from among the set of candidate digital components, the given digital component comprises selecting the given digital component based on the selection factor for each candidate digital component.

8 . A system comprising:

one or more processors of a trusted server; and

one or more storage devices storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving, by the trusted server and from multiple content platforms, digital component data for digital components, wherein the digital component data for each digital component comprises one or more layouts and a set of discrete content elements for creating dynamic versions of the digital component;

receiving, by the trusted server and from each of the multiple content platforms, dynamic content selection logic for selecting discrete content elements for digital components of the content platform based at least on information included in digital component requests;

receiving, by the trusted server and from a client device of a user, a digital component request that requests a digital component for presentation at the client device, the digital component request comprising user data related to the user and context data describing an environment in which a returned digital component will be presented;

sending, by the trusted server, a context-based digital component request to one or more of the multiple content platforms, the context-based digital component request comprising the context data;

receiving, by the trusted server and from each content platform of the one or more content platforms, additional distribution parameters for context-based digital components selected based on the context data;

selecting, by the trusted server and from a set of digital components comprising a plurality of digital components for which digital component data is stored in a digital component repository and (ii) the context-based digital components, a set of candidate digital components based at least on the user data;

executing, by the trusted server and for each candidate digital component, the dynamic content selection logic of the content platform that provided the digital component data for the candidate digital component, the executing resulting in selection of a particular layout and a particular subset of the discrete content elements for the candidate digital component, wherein the executing comprises executing the dynamic content selection logic of each content provider in a separate isolated environment;

selecting, from among the set of candidate digital components, a given digital component to provide to the client device of the user;

generating a dynamic digital component using the particular layout and the particular subset of the discrete content elements for the given digital component; and

sending the dynamic digital component to the client device of the user.

9 . The system of claim 8 , wherein generating the dynamic digital component comprises generating a web bundle that includes a set of resources that enable a browser running on the client device of the user to display the dynamic digital component.

10 . The system of claim 8 , wherein each isolated environment comprises an isolated virtual machine.

11 . The system of claim 8 , wherein the dynamic content selection logic of at least one content platform is defined in a different programming language than the dynamic content selection logic of one or more other content platforms.

12 . The system of claim 8 , wherein the dynamic content selection logic of at least one content platform comprises a trained machine learning model that selects layouts and discrete content elements for digital components of the content platform based on input user data of digital component requests.

13 . The system of claim 12 , wherein the trained machine learning model is trained to select the layouts and discrete content elements to increase a likelihood of users corresponding to the user data interacting with dynamic digital components generated and provided to the users.

14 . The system of claim 8 , wherein the operations comprise executing, for each candidate digital component, the dynamic content selection logic of the content platform that provided the digital component data for the candidate digital component in the separate isolated environment to determine a selection factor for the candidate digital component, wherein selecting, from among the set of candidate digital components, the given digital component comprises selecting the given digital component based on the selection factor for each candidate digital component.

15 . A non-transitory computer readable medium carrying instructions that, when executed by one or more processors of a trusted server, cause the one or more processors to perform operations comprising:

receiving, by the trusted server and from multiple content platforms, digital component data for digital components, wherein the digital component data for each digital component comprises one or more layouts and a set of discrete content elements for creating dynamic versions of the digital component;

receiving, by the trusted server and from each of the multiple content platforms, dynamic content selection logic for selecting discrete content elements for digital components of the content platform based at least on information included in digital component requests;

receiving, by the trusted server and from a client device of a user, a digital component request that requests a digital component for presentation at the client device, the digital component request comprising user data related to the user and context data describing an environment in which a returned digital component will be presented;

sending, by the trusted server, a context-based digital component request to one or more of the multiple content platforms, the context-based digital component request comprising the context data;

receiving, by the trusted server and from each content platform of the one or more content platforms, additional distribution parameters for context-based digital components selected based on the context data;

selecting, by the trusted server and from a set of digital components comprising (i) a plurality of digital components for which digital component data is stored in a digital component repository and (ii) the context-based digital components, a set of candidate digital components based at least on the user data;

executing, by the trusted server and for each candidate digital component, the dynamic content selection logic of the content platform that provided the digital component data for the candidate digital component, the executing resulting in selection of a particular layout and a particular subset of the discrete content elements for the candidate digital component, wherein the executing comprises executing the dynamic content selection logic of each content provider in a separate isolated environment;

selecting, from among the set of candidate digital components, a given digital component to provide to the client device of the user;

generating a dynamic digital component using the particular layout and the particular subset of the discrete content elements for the given digital component; and

sending the dynamic digital component to the client device of the user.

16 . The non-transitory computer readable medium of claim 15 , wherein generating the dynamic digital component comprises generating a web bundle that includes a set of resources that enable a browser running on the client device of the user to display the dynamic digital component.

17 . The non-transitory computer readable medium of claim 15 , wherein each isolated environment comprises an isolated virtual machine.