IP Library Granted Patent US 11,514,479
Granted Patent B1
US 11,514,479 · App. 17/073,604 · Granted Nov 29, 2022

Adaptive bidding for networked advertising

Inventors: Crispin Edward Harold Flowerday (San Francisco, CA); Faraaz Aejaz Sareshwala (Pleasanton, CA); Damian John Reeves (Menlo Park, CA)
Assignee: Quantcast Corporation
G06Q30/0275G06Q30/02G06Q30/0255
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 11,514,479
App. No.
17/073,604
Granted
Nov 29, 2022
Kind
B1
Abstract

An adaptive bidding system for networked advertising. A bid request is received from an exchange over a network. Each bid request represents the opportunity to bid on an advertising opportunity. A processing time limit is determined based at least in part on a network latency measurement and an exchange reported timeout. The execution of one or more tasks is initiated by the adaptive bidding system. A response is determined from one or more results which are available before the processing time limit expires. The execution of any tasks that have not completed execution before the processing time limit expires are terminated. The response is provided to the exchange.

Claims (67)

1. A method comprising:

determining, by an adaptive bidding system, a processing time limit for submitting a response to a bid request, comprising:

receiving the bid request, from an exchange over a network, wherein the bid request comprises a request to bid on an advertising opportunity;

receiving an exchange-reported timeout value;

determining a network latency; and

determining the processing time limit for submitting the response to the bid request based at least in part on the network latency and the exchange-reported timeout value; and

responding to the bid request, by the adaptive bidding system, before the processing time limit expires, comprising:

identifying a plurality of tasks applicable to analyzing the received bid request for at least one of a plurality of campaigns, each task having an estimated time required for completion;

determining a priority corresponding to each of the plurality of tasks according to the estimated time required for completion for each of the plurality of tasks;

initiating execution of one or more of the plurality of tasks based the determined priorities;

receiving results from the execution of at least one of the plurality of tasks;

generating a response based the received results;

providing the response to the exchange over the network; and

terminating execution of any of the plurality of tasks which have not completed execution when the processing time limit expires.

2. The method of claim 1 , wherein determining the priority corresponding to each of the plurality of tasks is further according to dependencies between each task and one or more of the remaining plurality of tasks.

3. The method of claim 1 , wherein determining the priority is further according to a feature of the bid request.

4. The method of claim 3 , wherein the feature of the bid request is one of a topic and the media consumption history of an entity representing an intended recipient of the advertising opportunity.

5. The method of claim 1 , wherein determining the priority further comprises preferentially weighting each task of the plurality of tasks that are associated with an advertising campaign which is under-served.

6. The method of claim 1 , wherein:

receiving results comprises receiving a partial result from the execution of at least one of the plurality of tasks; and

generating the response comprises generating the response based on the received partial result.

7. The method of claim 1 , wherein the response comprises a bid price.

8. The method of claim 1 , wherein terminating execution of any of the plurality of tasks which have not completed execution when the processing time limit expires further comprises preventing initiation of execution of any of the plurality of tasks which have not initiated execution when the processing time limit expires.

9. A non-transitory computer-readable storage medium storing processor-executable computer program instructions that, when executed, cause a computer processor to perform a method, the method comprising:

determining, by an adaptive bidding system, a processing time limit for submitting a response to a bid request, comprising:

receiving the bid request, from an exchange over a network, wherein the bid request comprises a request to bid on an advertising opportunity;

receiving an exchange-reported timeout value;

determining a network latency; and

determining the processing time limit for submitting the response to the bid request based at least in part on the network latency and the exchange-reported timeout value; and

responding to the bid request, by the adaptive bidding system, before the processing time limit expires, comprising:

identifying a plurality of tasks applicable to analyzing the received bid request for at least one of a plurality of campaigns, each task having an estimated time required for completion;

determining a priority corresponding to each of the plurality of tasks according to the estimated time required for completion for each of the plurality of tasks;

initiating execution of one or more of the plurality of tasks based the determined priorities;

receiving results from the execution of at least one of the plurality of tasks;

generating a response based the received results;

providing the response to the exchange over the network; and

terminating execution of any of the plurality of tasks which have not completed execution when the processing time limit expires.

10. The medium of claim 9 , wherein determining the priority further comprises preferentially weighting each task of the plurality of tasks that are associated with an advertising campaign which is under-served.

11. The medium of claim 9 , wherein:

receiving results comprises receiving a partial result from the execution of at least one of the plurality of tasks; and

generating the response comprises generating the response based on the received partial result.

12. The medium of claim 9 , wherein terminating execution of any of the plurality of tasks which have not completed execution when the processing time limit expires further comprises preventing initiation of execution of any of the plurality of tasks which have not initiated execution when the processing time limit expires.

13. A system comprising:

a processor; and

a non-transitory computer-readable storage medium storing processor-executable computer program instructions that, when executed, cause a computer processor to perform a method, the method comprising:

determining, by an adaptive bidding system, a processing time limit for submitting a response to a bid request, comprising:

receiving the bid request, from an exchange over a network, wherein the bid request comprises a request to bid on an advertising opportunity;

receiving an exchange-reported timeout value;

determining a network latency; and

determining the processing time limit for submitting the response to the bid request based at least in part on the network latency and the exchange-reported timeout value; and

responding to the bid request, by the adaptive bidding system, before the processing time limit expires, comprising:

identifying a plurality of tasks applicable to analyzing the received bid request for at least one of a plurality of campaigns, each task having an estimated time required for completion;

determining a priority corresponding to each of the plurality of tasks according to the estimated time required for completion for each of the plurality of tasks;

initiating execution of one or more of the plurality of tasks based the determined priorities;

receiving results from the execution of at least one of the plurality of tasks;

generating a response based the received results;

providing the response to the exchange over the network; and

terminating execution of any of the plurality of tasks which have not completed execution when the processing time limit expires.

14. The system of claim 13 , wherein determining the priority corresponding to each of the plurality of tasks is further according to dependencies between each task and one or more of the remaining plurality of tasks.

15. The system of claim 13 , wherein determining the priority is further according to a feature of the bid request.

16. The system of claim 15 , wherein the feature of the bid request is one of a topic and the media consumption history of an entity representing an intended recipient of the advertising opportunity.

17. The system of claim 13 , wherein determining the priority further comprises preferentially weighting each task of the plurality of tasks that are associated with an advertising campaign which is under-served.

18. The system of claim 13 , wherein:

receiving results comprises receiving a partial result from the execution of at least one of the plurality of tasks; and

generating the response comprises generating the response based on the received partial result.

19. The system of claim 13 , wherein the response comprises a bid price.

20. The system of claim 13 , wherein terminating execution of any of the plurality of tasks which have not completed execution when the processing time limit expires further comprises preventing initiation of execution of any of the plurality of tasks which have not initiated execution when the processing time limit expires.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Jun 21, 2024
From: BANK OF AMERICA, N.A.
To: QUANTCAST CORPORATION
Reel/Frame 067807/0017 →
SECURITY INTEREST Recorded Jun 18, 2024
From: QUANTCAST CORPORATION
To: CRYSTAL FINANCIAL LLC D/B/A SLR CREDIT SOLUTIONS
Reel/Frame 067777/0613 →
SECURITY INTEREST Recorded Dec 5, 2022
From: QUANTCAST CORPORATION
To: VENTURE LENDING & LEASING IX, INC.; WTI FUND X, INC.
Reel/Frame 062066/0265 →
SECURITY INTEREST Recorded Sep 30, 2021
From: QUANTCAST CORPORATION
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 057677/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2020
From: FLOWERDAY, CRISPIN EDWARD HAROLD; SARESHWALA, FARAAZ AEJAZ; REEVES, DAMIAN JOHN
To: QUANTCAST CORP.
Reel/Frame 054379/0803 →
Continuity (2)
Continuation 15974912 · May 9, 2018
Continuation 13669157 · Nov 5, 2012