IP Library Granted Patent US 12,430,469
Granted Patent B2
US 12,430,469 · App. 18/388,374 · Granted Sep 30, 2025

Secure workflows for generating and applying digital component distribution directives

Inventors: Gang Wang (Frederick, MD); Jacob Mark Hallberg (Sunnyvale, CA); Rishav Anand (Mountain View, CA); Raghava Hassan Nanjunda Swamy (Mountain View, CA); Mengjie Xia (Sunnyvale, CA)
Assignee: Google LLC
G06F21/6263G06F21/6281
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 12,430,469
App. No.
18/388,374
Granted
Sep 30, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for securely executing customized computing workflows for selecting digital components are described. In one aspect, a method includes receiving a request for a digital component for presentation by a client device. In response to receiving the request, a pool of candidate digital components is retrieved from a repository of digital components, and each stage of a multi-stage workflow for selecting a digital component from the pool of digital components is executed in a sequence defined by the multi-stage workflow, including a filtering stage, a selection stage, and a rendering stage. After the rendering stage has been executed, a selected and packaged digital component is transmitted for receipt by the client device.

Claims (46)

1. A computer-implemented method for securely executing customized computing workflows for selecting digital components, the method comprising:

receiving, from a client device, a request for a digital component for presentation by the client device;

in response to receiving the request for the digital component, retrieving, from a repository of digital components, a pool of candidate digital components;

executing each stage of a multi-stage workflow for selecting a digital component from the pool of candidate digital components in a sequence defined by the multi-stage workflow, the executing comprising:

during a filtering stage, for each candidate digital component of the pool of candidate digital components, executing computer code for a filtering stage customization that has previously been received from a content platform that corresponds to the candidate digital component, wherein the computer code for the filtering stage customization is configured to perform filtering of digital components based at least in part on distribution directives of a provider of the candidate digital component;

after the filtering stage, during a selection stage, for each remaining candidate digital component of the pool of candidate digital components, executing computer code for a selection stage customization that has previously been received from a content platform that corresponds to the remaining candidate digital component, wherein the computer code for the selection stage customization is configured to perform generating or modifying of selection values for digital components based at least in part on distribution directives of a provider of the remaining candidate digital component;

selecting one of the remaining candidate digital components, based on the selection values; and

after the selection stage, during a rendering stage, for the selected digital component, executing computer code for a rendering stage customization that has previously been received from a content platform that corresponds to the selected digital component, wherein the computer code for the rendering stage is configured to perform packaging of the selected digital component for presentation by the client device; and

after the rendering stage, transmitting the selected and packaged digital component for receipt by the client device.

2. The computer-implemented method of claim 1 , wherein the computer code for the filtering stage customization, the computer code for the selection stage customization, and the computer code for the rendering stage customization are each executed in separate virtual machines.

3. The computer-implemented method of claim 1 , wherein the computer code for the filtering stage customization, the computer code for the selection stage customization, and the computer code for the rendering stage customization for a first content platform is executed in a first virtual machine, and the computer code for the filtering stage customization, the computer code for the selection stage customization, and the computer code for the rendering stage customization for a second, different content platform is executed in a second, different virtual machine.

4. The computer-implemented method of claim 1 , wherein the filtering of digital components comprises (i) accessing the distribution directives of the provider of the candidate digital component, wherein the distribution directives include a target value for digital component deliveries and an actual delivery value, (ii) comparing the target value for digital component deliveries to the actual delivery value, and (iii) filtering a given digital component when the actual delivery value meets the target value for digital component deliveries.

5. The computer-implemented method of claim 1 , wherein the modifying of selection values for digital components comprises (i) accessing the distribution directives of the provider of the candidate digital component, wherein the distribution directives include a target value for digital component deliveries and an actual delivery value, (ii) determining a current delivery ratio, wherein the current delivery ratio is the actual delivery value relative to the target value, (iii) determining a current time period ratio, wherein the current time period ratio is an amount of time that has elapsed in a current time period relative to a length of the current time period, and (iv) increasing the selection value of a given digital component when the current delivery ratio is less than the current time period ratio.

6. The computer-implemented method of claim 1 , wherein selecting one of the remaining candidate digital components comprises selecting a given candidate digital component that has a highest selection value relative to other candidate digital components.

7. The computer-implemented method of claim 1 , wherein packaging of the selected digital component comprises packaging the selected digital component with one or more code elements that facilitate presentation of the selected digital component by the client device, and with one or more code elements that facilitate a transmission of notification data for the selected digital component.

8. The computer-implemented method of claim 1 , further comprising (i) receiving, from the client device, notification data associated with presentation of the selected and packaged digital component by the client device, and (ii) using the notification data to update the distribution directives of the provider of the selected and packaged digital component.

9. A system comprising:

one or more processors; 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, from a client device, a request for a digital component for presentation by the client device;

in response to receiving the request for the digital component, retrieving, from a repository of digital components, a pool of candidate digital components;

executing each stage of a multi-stage workflow for selecting a digital component from the pool of candidate digital components in a sequence defined by the multi-stage workflow, the executing comprising:

during a filtering stage, for each candidate digital component of the pool of candidate digital components, executing computer code for a filtering stage customization that has previously been received from a content platform that corresponds to the candidate digital component, wherein the computer code for the filtering stage customization is configured to perform filtering of digital components based at least in part on distribution directives of a provider of the candidate digital component;

after the filtering stage, during a selection stage, for each remaining candidate digital component of the pool of candidate digital components, executing computer code for a selection stage customization that has previously been received from a content platform that corresponds to the remaining candidate digital component, wherein the computer code for the selection stage customization is configured to perform generating or modifying of selection values for digital components based at least in part on distribution directives of a provider of the remaining candidate digital component;

selecting one of the remaining candidate digital components, based on the selection values; and

after the selection stage, during a rendering stage, for the selected digital component, executing computer code for a rendering stage customization that has previously been received from a content platform that corresponds to the selected digital component, wherein the computer code for the rendering stage is configured to perform packaging of the selected digital component for presentation by the client device; and

after the rendering stage, transmitting the selected and packaged digital component for receipt by the client device.

10. The system of claim 9 , wherein the computer code for the filtering stage customization, the computer code for the selection stage customization, and the computer code for the rendering stage customization are each executed in separate virtual machines.

11. The system of claim 9 , wherein the computer code for the filtering stage customization, the computer code for the selection stage customization, and the computer code for the rendering stage customization for a first content platform is executed in a first virtual machine, and the computer code for the filtering stage customization, the computer code for the selection stage customization, and the computer code for the rendering stage customization for a second, different content platform is executed in a second, different virtual machine.

12. The system of claim 9 , wherein the filtering of digital components comprises (i) accessing the distribution directives of the provider of the candidate digital component, wherein the distribution directives include a target value for digital component deliveries and an actual delivery value, (ii) comparing the target value for digital component deliveries to the actual delivery value, and (iii) filtering a given digital component when the actual delivery value meets the target value for digital component deliveries.

13. The system of claim 9 , wherein the modifying of selection values for digital components comprises (i) accessing the distribution directives of the provider of the candidate digital component, wherein the distribution directives include a target value for digital component deliveries and an actual delivery value, (ii) determining a current delivery ratio, wherein the current delivery ratio is the actual delivery value relative to the target value, (iii) determining a current time period ratio, wherein the current time period ratio is an amount of time that has elapsed in a current time period relative to a length of the current time period, and (iv) increasing the selection value of a given digital component when the current delivery ratio is less than the current time period ratio.

14. The system of claim 9 , wherein selecting one of the remaining candidate digital components comprises selecting a given candidate digital component that has a highest selection value relative to other candidate digital components.

15. The system of claim 9 , wherein packaging of the selected digital component comprises packaging the selected digital component with one or more code elements that facilitate presentation of the selected digital component by the client device, and with one or more code elements that facilitate a transmission of notification data for the selected digital component.

16. The system of claim 9 , wherein the operations comprise (i) receiving, from the client device, notification data associated with presentation of the selected and packaged digital component by the client device, and (ii) using the notification data to update the distribution directives of the provider of the selected and packaged digital component.

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

receiving, from a client device, a request for a digital component for presentation by the client device;

in response to receiving the request for the digital component, retrieving, from a repository of digital components, a pool of candidate digital components;

executing each stage of a multi-stage workflow for selecting a digital component from the pool of candidate digital components in a sequence defined by the multi-stage workflow, the executing comprising:

during a filtering stage, for each candidate digital component of the pool of candidate digital components, executing computer code for a filtering stage customization that has previously been received from a content platform that corresponds to the candidate digital component, wherein the computer code for the filtering stage customization is configured to perform filtering of digital components based at least in part on distribution directives of a provider of the candidate digital component;

after the filtering stage, during a selection stage, for each remaining candidate digital component of the pool of candidate digital components, executing computer code for a selection stage customization that has previously been received from a content platform that corresponds to the remaining candidate digital component, wherein the computer code for the selection stage customization is configured to perform generating or modifying of selection values for digital components based at least in part on distribution directives of a provider of the remaining candidate digital component;

selecting one of the remaining candidate digital components, based on the selection values; and

after the selection stage, during a rendering stage, for the selected digital component, executing computer code for a rendering stage customization that has previously been received from a content platform that corresponds to the selected digital component, wherein the computer code for the rendering stage is configured to perform packaging of the selected digital component for presentation by the client device; and

after the rendering stage, transmitting the selected and packaged digital component for receipt by the client device.

18. The non-transitory computer readable medium of claim 17 , wherein the computer code for the filtering stage customization, the computer code for the selection stage customization, and the computer code for the rendering stage customization are each executed in separate virtual machines.

19. The non-transitory computer readable medium of claim 17 , wherein the computer code for the filtering stage customization, the computer code for the selection stage customization, and the computer code for the rendering stage customization for a first content platform is executed in a first virtual machine, and the computer code for the filtering stage customization, the computer code for the selection stage customization, and the computer code for the rendering stage customization for a second, different content platform is executed in a second, different virtual machine.

20. The non-transitory computer readable medium of claim 17 , wherein the filtering of digital components comprises (i) accessing the distribution directives of the provider of the candidate digital component, wherein the distribution directives include a target value for digital component deliveries and an actual delivery value, (ii) comparing the target value for digital component deliveries to the actual delivery value, and (iii) filtering a given digital component when the actual delivery value meets the target value for digital component deliveries.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2023
From: WANG, GANG; HALLBERG, JACOB MARK; ANAND, RISHAV; NANJUNDA SWAMY, RAGHAVA HASSAN; XIA, MENGJIE
To: GOOGLE LLC
Reel/Frame 065683/0220 →
Continuity (2)
Provisional Application 63429842 · Dec 2, 2022
Related Publication 20240184925A1 · Jun 6, 2024
References Cited (19)
US 7483893B2 · McVeigh et al. · 2009 [cited by applicant]
US 7844488B2 · Merriman et al. · 2010 [cited by applicant]
US 8290905B1 · Little · 2012 [cited by examiner]
US 10032191B2 · Harrison · 2018 [cited by applicant]
US 10049391B2 · Buchalter et al. · 2018 [cited by applicant]
US 10354276B2 · Schnobeiri et al. · 2019 [cited by applicant]
US 10445781B2 · Nolet et al. · 2019 [cited by applicant]
US 10997632B2 · Segalov et al. · 2021 [cited by applicant]
US 11276088B1 · Saifee et al. · 2022 [cited by applicant]
US 11354682B2 · Jha et al. · 2022 [cited by applicant]
US 20110321167A1 · Wu et al. · 2011 [cited by applicant]
US 20160357536A1 · Firlik · 2016 [cited by examiner]
US 20180121964A1 · Zhang · 2018 [cited by examiner]
US 20190172090A1 · Fukuda et al. · 2019 [cited by applicant]
US 20220172183A1 · Wong et al. · 2022 [cited by applicant]
US 20220269744A1 · Balasubramanian · 2022 [cited by examiner]
WO WO2022197304 · 2022 [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2023/037081, mailed on Feb. 13, 2024, 17 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2023/037081, mailed on Jun. 12, 2025, 11 pages. [cited by applicant]