IP Library Granted Patent US 10,554,739
Granted Patent B2
US 10,554,739 · App. 16/516,872 · Granted Feb 4, 2020

Individualized connectivity based request handling

Inventors: Louis Clayton Ashner (New York, NY); Michael Adam Grosinger (New York, NY); John Patrick Roach (New York, NY); Mickey Alexander Schwab (Chicago, IL); Michael Zacharski (Pawling, NY)
Assignee: ENGINE MEDIA, LLC
H04L67/101H04L43/0852H04L67/14H04L41/50H04L43/0882H04L67/2814H04L67/32
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,554,739
App. No.
16/516,872
Granted
Feb 4, 2020
Kind
B2
Abstract

Individualized connectivity based request handling is disclosed. For example, a content source is accessed by a client device and a load balancer executes on a processor to receive a first request based on the client device accessing the content source. A first session variable is set to a first value in a first session and a first latency to the client device is measured. A first plurality of target nodes is selected based on the first session variable. A first plurality of messages is sent to the first plurality of target nodes. A second request is received from the client device after the first session expires, starting a second session. The first session variable is set to a different second value in the second session. A second plurality of messages is sent to a second plurality of target nodes different from the first plurality of target nodes.

Claims (90)

1. A system, comprising:

a content source, wherein a client device accesses the content source; and

an advertising auction service executing on one or more processors to:

responsive to the client device accessing the content source, receive a first ad impression request;

set a first timeout value;

select a first plurality of advertiser target nodes;

send a first plurality of messages requesting bids for the first ad impression request to the first plurality of advertiser target nodes;

receiving bid responses from at least a subset of the first plurality of advertiser target nodes in response to the first plurality of messages;

after a time period based on the first timeout value has elapsed, cut off additional bid responses from the first plurality of advertiser target nodes for the first ad impression request;

responsive to receiving the first advertisement request, estimate a first latency to the client device;

update the first timeout value to a second timeout value based, at least in part, on the estimated first latency;

responsive to the client device accessing a second content source, receive a second ad impression request;

select a second plurality of advertiser target nodes;

send a second plurality of messages requesting bids for the second ad impression request to the second plurality of advertiser target nodes;

receive bid responses from at least a subset of the second plurality of advertiser target nodes in response to the second plurality of messages; and

after a time period based on the second timeout value has elapsed, cut off additional bid responses for the second ad impression request from the second plurality of advertiser target nodes.

2. The system of claim 1 , wherein a first connection session for the client device is initiated by receipt of the first ad impression request by the advertising auction service, and wherein the client device accesses the second content source after the first connection session expires.

3. The system of claim 1 , a first connection session for the client device is initiated by receipt of the first ad impression request by the advertising auction service, and wherein the client device accesses the second content source during the first connection session.

4. The system of claim 3 , wherein the advertising auction service is further configured to after receiving the second ad impression request and during the first session, estimate a second latency to the client device;

update the second timeout value to a third timeout value based, at least in part, on the estimated second latency;

receive a third ad impression request from the client device;

select a third plurality of advertiser target nodes;

send a third plurality of messages requesting bids for the third ad impression request to a third plurality of target nodes;

receive bid responses from at least a subset of the third plurality of advertiser target nodes in response to the third plurality of messages;

after a time period based on the third timeout value has elapsed, cut off additional bid responses for the third ad impression request from the third plurality of advertiser target nodes based on the third timeout value.

5. The system of claim 4 , wherein the third ad impression request is received after the first session expires.

6. The system of claim 1 , wherein the first plurality of advertiser target nodes is different than the second plurality of advertiser target nodes.

7. The system of claim 1 , wherein the second set of advertiser target nodes are selected based, at least in part, on the estimated first latency.

8. The system of claim 1 , wherein the first and second requests for an ad impression are header bidding requests.

9. The system of claim 1 , wherein the first latency is estimated, at least in part, from an elapsed time between at least one of (i) the client device accessing the content source and the advertising auction service receiving the first request, (ii) the content source responding to the client device and the advertising auction service receiving the first request, and (iii) the client device sending the first request and the advertising auction service receiving the first request.

10. The system of claim 1 , wherein second plurality of target nodes is selected based, at least in part, on a respective estimated response time for each of the second plurality of advertiser target nodes.

11. The system of claim 2 , wherein the advertising auction service is further configured to store results of a probe sent by one of the client device and the advertising auction service as a session variable.

12. The system of claim 11 , wherein the first latency is estimated based, at least in part by the results of the probe.

13. The system of claim 11 , wherein the probe measures a round trip latency between the advertising auction service and the client device.

14. The system of claim 11 , wherein the probe estimates a network bandwidth of the client device.

15. The system of claim 11 , wherein the probe is triggered based on the client device accessing the first content source.

16. The system of claim 11 , wherein the probe is triggered based on a timing discrepancy between the advertising auction service and the client device.

17. The system of claim 11 , wherein the probe is triggered by the advertising auction service receiving the first ad impression request.

18. The system of claim 1 , wherein the advertising auction service is further configured to

determine a timeout threshold, based at least in part on the first latency,

exclude advertisers the second plurality of advertisers whose response time is too slow based on the timeout threshold.

19. The system of claim 1 , wherein the second timeout value based, at least in part on an estimate of the network bandwidth of the client device.

20. The system of claim 1 , wherein the second timeout value is based, at least in part on the connection type for the client device.

21. A method of managing auctions for online advertising impressions, comprising:

responsive to a client device accessing the content source, receiving a first ad impression request;

setting a first timeout value;

selecting a first plurality of advertiser target nodes;

sending a first plurality of messages requesting bids for the first ad impression request to the first plurality of advertiser target nodes;

receiving bid responses from at least a subset of the first plurality of advertiser target nodes in response to the first plurality of messages;

after a time period based on the first timeout value has elapsed, cutting off additional bid responses from the first plurality of advertiser target nodes for the first ad impression request;

responsive to receiving the first advertisement request, estimating a first latency to the client device;

updating the first timeout value to a second timeout value based, at least in part, on the estimated first latency;

responsive to the client device accessing a second content source, receiving a second ad impression request;

selecting a second plurality of advertiser target nodes;

sending a second plurality of messages requesting bids for the second ad impression request to the second plurality of advertiser target nodes;

receiving bid responses from at least a subset of the second plurality of advertiser target nodes in response to the second plurality of messages; and

after a time period based on the second timeout value has elapsed, cutting off additional bid responses for the second ad impression request from the second plurality of advertiser target nodes.

22. The method of claim 21 , further comprising:

responsive to receiving the first ad impression request, initiating a first connection session for the client device, wherein the client device accesses the second content source after the first connection session expires.

23. The method of claim 21 , further comprising:

responsive to receiving the first ad impression request, initiating a first connection session for the client device, wherein the client device accesses the second content source during the first connection session.

24. The method of claim 23 , further comprising:

after receiving the second ad impression request and during the first session, estimating a second latency to the client device;

updating the second timeout value to a third timeout value based, at least in part, on the estimated second latency;

receiving a third ad impression request from the client device;

selecting a third plurality of advertiser target nodes;

sending a third plurality of messages requesting bids for the third ad impression request to the third plurality of target nodes;

receiving bid responses from at least a subset of the third plurality of advertiser target nodes in response to the third plurality of messages;

after a time period based on the third timeout value has elapsed, cutting off additional bid responses for the third ad impression request from the third plurality of advertiser target nodes based on the third timeout value.

25. The method of claim 21 , wherein second plurality of target nodes is selected based, at least in part, on a respective estimated response time for each of the second plurality of advertiser target nodes.

26. A computer-readable non-transitory storage medium storing executable instructions for managing online advertisement auctions, which when executed by a computer system, cause the computer system to:

responsive to a client device accessing the content source, receive a first ad impression request;

set a first timeout value;

select a first plurality of advertiser target nodes;

send a first plurality of messages requesting bids for the first ad impression request to the first plurality of advertiser target nodes;

receive bid responses from at least a subset of the first plurality of advertiser target nodes in response to the first plurality of messages;

after a time period based on the first timeout value has elapsed, cut off additional bid responses from the first plurality of advertiser target nodes for the first ad impression request;

responsive to receiving the first advertisement request, estimate a first latency to the client device;

update the first timeout value to a second timeout value based, at least in part, on the estimated first latency;

responsive to the client device accessing a second content source, receive a second ad impression request;

select a second plurality of advertiser target nodes;

send a second plurality of messages requesting bids for the second ad impression request to the second plurality of advertiser target nodes;

receive bid responses from at least a subset of the second plurality of advertiser target nodes in response to the second plurality of messages; and

after a time period based on the second timeout value has elapsed, cut off additional bid responses for the second ad impression request from the second plurality of advertiser target nodes.

27. The storage medium of claim 26 , wherein the instructions, when executed by the computer system, further cause the computer system to:

determine a timeout threshold, based at least in part on the first latency,

exclude advertisers the second plurality of advertisers whose response time is too slow based on the timeout threshold.

28. The storage medium of claim 26 , wherein the second timeout value is based at least in part on an estimate of the network bandwidth of the client device.

29. The storage medium of claim 26 , wherein the second timeout value is based, at least in part on the connection type for the client device.

30. The storage medium of claim 26 , wherein the first and second requests for an ad impression are header bidding requests.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2023
From: BIG VILLAGE MEDIA, LLC
To: CADENT, LLC
Reel/Frame 063450/0344 →
CHANGE OF NAME Recorded Apr 24, 2023
From: ENGINE MEDIA, LLC
To: BIG VILLAGE MEDIA LLC
Reel/Frame 063424/0199 →
SECURITY INTEREST Recorded Nov 19, 2020
From: ENGINE MEDIA, LLC
To: BNP PARIBAS, AS COLLATERAL AGENT FOR THE SECURED PARTIES
Reel/Frame 054416/0019 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2019
From: ASHNER, LOUIS CLAYTON; GROSINGER, MICHAEL ADAM; SCHWAB, MICKEY ALEXANDER; ZACHARSKI, MICHAEL; ROACH, JOHN PATRICK
To: ENGINE MEDIA, LLC
Reel/Frame 049941/0541 →