IP Library Granted Patent US 10,810,632
Granted Patent B1
US 10,810,632 · App. 15/974,912 · Granted Oct 20, 2020

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 10,810,632
App. No.
15/974,912
Granted
Oct 20, 2020
Kind
B1
Abstract

An adaptive bidder 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, an exchange reported timeout and a bid response buffer. The network latency measurement may be required to meet a freshness standard. The bid response buffer represents the time allotted for the adaptive bidding system to generate a response based on one or more partial results. The exchange reported timeout value can be included in the bid request, and can vary from bid request to bid request. The execution of one or more tasks is initiated by the adaptive bidding system, and each task can make a partial result available. In some cases, a partial result is a cumulative result. A response is determined from one or more partial results which are available before the processing time limit expires. The response is provided to the exchange.

Claims (78)

1. A method for adaptive bidding on an advertising exchange under variable conditions, the method comprising:

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

receiving an exchange-reported timeout value from the exchange;

measuring network latency;

calculating, by a computer, a processing time limit for submitting a response from an adaptive bidding system to the bid request, based at least in part on the measured network latency, the exchange-reported timeout value, and a bid response buffer comprising time allotted to generate a response based on one or more partial results;

assembling, within the processing time limit, a list of tasks applicable to analyzing for a campaign the received bid request, each task having an estimated time required for completion and a priority;

selecting, by the computer, tasks from the list of tasks for the campaign responsive to the processing time limit, wherein the selected tasks have an estimated time required for completion within the processing time limit for submitting a response to the bid request;

queuing, by the computer, for execution, the selected tasks according to priority;

receiving partial results from the execution of some of the selected tasks within the processing time limit, the partial results not including results from at least one of the selected tasks, wherein actual time required for completion of the at least one of the selected tasks exceeded the estimated time required for completion;

generating a response from the partial results during the bid response buffer;

providing the response to the exchange over the network before the processing time limit expires; and

terminating, by the computer, any selected tasks still queued for execution when the processing time limit expires.

2. The method of claim 1 wherein:

the measured network latency comprises measurements taken with respect to at least two different network addresses on the same subnet.

3. The method of claim 1 further wherein:

calculating a processing time limit comprises:

accessing the measured network latency; and

accessing an updated network latency measurement if the measured network latency does not meet a freshness standard.

4. The method of claim 3 wherein:

the freshness standard requires that at least some portion of the measured network latency has been updated within the last minute.

5. The method of claim 1 wherein:

at least one task of the selected one or more tasks updates a partial result.

6. The method of claim 1 wherein:

a partial result of at least one selected task comprises a bid price.

7. The method of claim 1 wherein:

a partial result of at least one selected task comprises an advertising creative selection.

8. The method of claim 1 wherein:

at least two of the selected tasks have different priorities.

9. The method of claim 1 wherein:

at least two of the selected tasks may be executed in parallel.

10. A system comprising:

a processor;

a computer readable storage medium storing processor-executable computer program instructions for adaptive bidding on an advertising exchange under variable conditions, the instructions comprising instructions for:

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

receiving an exchange-reported timeout value from the exchange;

measuring network latency;

calculating, by a processor, a processing time limit for submitting a response from an adaptive bidding system to the bid request, based at least in part on the measured network latency, the exchange-reported timeout value, and a bid response buffer comprising time allotted to generate a response based on one or more partial results;

assembling, within the processing time limit, a list of tasks applicable to analyzing for a campaign the received bid request, each task having an estimated time required for completion and a priority;

selecting, by the processor, tasks from the list of tasks for the campaign responsive to the processing time limit, wherein the selected tasks have an estimated time required for completion within the processing time limit for submitting a response to the bid request;

queuing, by the processor, for execution, the selected tasks according to priority;

receiving partial results from the execution of some of the selected tasks within the processing time limit, the partial results not including results from at least one of the selected tasks, wherein actual time required for completion of the at least one of the selected tasks exceeded the estimated time required for completion;

generating a response from the partial results during the bid response buffer;

providing the response to the exchange over the network before the processing time limit expires; and

terminating, by the processor, any selected tasks still queued for execution when the processing time limit expires.

11. The system of claim 10 wherein:

calculating a processing time limit comprises:

accessing the measured network latency; and

accessing an updated network latency measurement if the measured network latency does not meet a freshness standard.

12. The system of claim 10 wherein:

at least one task of the selected one or more tasks updates a partial result.

13. The system of claim 10 wherein:

a partial result of at least one selected task comprises a bid price.

14. The system of claim 10 wherein:

a partial result of at least one selected task comprises an advertising creative selection.

15. The system of claim 10 wherein:

at least two of the selected tasks have different priorities.

16. A non-transitory computer readable storage medium executing computer program instructions for adaptive bidding on an advertising exchange under variable conditions, the computer program instructions comprising instructions for:

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

receiving an exchange-reported timeout value from the exchange;

measuring network latency;

calculating, by a computer, a processing time limit for submitting a response from an adaptive bidding system to the bid request, based at least in part on the measured network latency, the exchange-reported timeout value, and a bid response buffer comprising time allotted to generate a response based on one or more partial results;

assembling, within the processing time limit, a list of tasks applicable to analyzing for a campaign the received bid request, each task having an estimated time required for completion and a priority;

selecting, by the computer, tasks from the list of tasks for the campaign responsive to the processing time limit, wherein the selected tasks have an estimated time required for completion within the processing time limit for submitting a response to the bid request;

queuing, by the computer, for execution, the selected tasks according to priority;

receiving partial results from the execution of some of the selected tasks within the processing time limit, the partial results not including results from at least one of the selected tasks, wherein actual time required for completion of the at least one of the selected tasks exceeded the estimated time required for completion;

generating a response from the partial results during the bid response buffer;

providing the response to the exchange over the network before the processing time limit expires; and

terminating, by the computer, any selected tasks still queued for execution when the processing time limit expires.

17. The medium of claim 16 wherein:

at least two of the selected tasks have different priorities.

18. The medium of claim 16 wherein:

the measured network latency comprises measurements taken with respect to at least two different network addresses on the same subnet.

19. The medium of claim 16 wherein:

calculating a processing time limit comprises:

accessing the measured network latency; and

accessing an updated network latency measurement if the measured network latency does not meet a freshness standard.

20. The medium of claim 16 wherein:

a partial result of at least one selected task comprises an advertising creative selection.

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 Jun 6, 2018
From: FLOWERDAY, CRISPIN EDWARD HAROLD; SARESHWALA, FARAAZ AEJAZ; REEVES, DAMIAN JOHN
To: QUANTCAST CORP.
Reel/Frame 046007/0223 →
Continuity (1)
Continuation 13669157 · Nov 5, 2012