IP Library Granted Patent US 10,887,406
Granted Patent B2
US 10,887,406 · App. 16/612,823 · Granted Jan 5, 2021

Dynamic content loading selection

Inventors: Thomas Graham Price (San Francisco, CA); Justin Lewis (South San Francisco, CA)
Assignee: Google LLC
H04L67/20G06F16/9577G06N5/04G06N20/00H04L67/02H04L67/42
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,887,406
App. No.
16/612,823
Granted
Jan 5, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for dynamically selecting a content loading technique are disclosed. In one aspect, a method includes the actions of receiving a request for third-party content. The actions further include generating a first loading score that reflects a likelihood that a third-party content item that is selected using the first third-party content loading technique will render on a display of the client device. The actions further include generating a second loading score that reflects a likelihood that a third-party content item that is selected using the second third-party content loading technique will render on the display. The actions further include comparing the first and second loading scores. The actions further include selecting the first third-party content loading technique. The actions further include selecting and providing a given third-party content item.

Claims (100)

1. A computer-implemented method comprising:

receiving, by a computing device, a request for third-party content, the request including data identifying characteristics of the client device onto which the third-party content will load;

based on the data identifying the characteristics of the client device, generating, for a first third-party content loading technique, a first loading score that reflects a likelihood that a third-party content item that is selected using the first third-party content loading technique will render on a display of the client device;

based on the data identifying the characteristics of the client device, generating, for a second third-party content loading technique, a second loading score that reflects a likelihood that a third-party content item that is selected using the second third-party content loading technique will render on the display of the client device;

comparing the first loading score to the second loading score;

based on comparing the first loading score to the second loading score, selecting the first third-party content loading technique;

selecting, using the first third-party content loading technique, a given third-party content item;

providing, for output, the given third-party content item;

receiving, by the computing device, an additional request for third-party content, the additional request including different data identifying the characteristics of the client device onto which the third-party content will load;

based on the different data identifying the characteristics of the client device, generating, for the first third-party content loading technique, an additional first loading score that reflects an additional likelihood that an additional third-party content item that is selected using the first third-party content loading technique will render on the display of the client device;

based on the different data identifying the characteristics of the client device, generating, for the second third-party content loading technique, an additional second loading score that reflects an additional likelihood that an additional third-party content item that is selected using the second third-party content loading technique will render on the display of the client device;

comparing the additional first loading score to the additional second loading score;

based on comparing the additional first loading score to the additional second loading score, selecting the second third-party content loading technique;

selecting, using the second third-party content loading technique, an additional given third-party content item; and

providing, for output, the additional given third-party content item.

2. The method of claim 1 , wherein the characteristics of the client device comprise a browser version, a model of the client device, and a network connection type.

3. The method of claim 1 , wherein:

the first loading score further reflects a likelihood that a user will select the third-party content item that is selected using the first third-party content loading technique, and

the second loading score further reflects a likelihood that a user will select the third-party content item that is selected using the second third-party content loading technique.

4. The method of claim 1 , comprising:

receiving data identifying characteristics of a plurality of client devices, third-party loading techniques used to load a plurality of third-party content items on the plurality of client devices, data indicating whether each third-party content item rendered on a display of a respective client device, and data indicating whether a user selected each third-party content item; and

using the data identifying characteristics of the plurality of client devices, the third-party loading techniques used to load the plurality of third-party content items on the plurality of client devices, the data indicating whether each third-party content item rendered on the respective client device, and the data indicating whether a user selected each third-party content item, training a model that is configured to generate a loading score that reflects a likelihood that a third-party content item that is selected using a given third-party content loading technique will render on a display of a given client device and that a user will select the third-party content item,

wherein the first loading score and the second loading score are generated using the model.

5. The method of claim 4 , comprising:

receiving data indicating that the third-party content item rendered on the display of the client device;

receiving data indicating that a user selected the third-party content item; and

based on the data indicating that the third-party content item rendered on the display of the client device and based on the data indicating that the user selected the third-party content item, updating the model.

6. The method of claim 1 , wherein the client device displays the given third-party content item in a first-party document and loads the first-party document using a loading technique that is different than the first third-party content loading technique and the second third-party content loading technique.

7. The method of claim 1 , comprising:

before receiving the request for third-party content, storing, by the computing device and on the client device, a plurality of third-party content items that correspond to a plurality of third-party content display requests,

wherein selecting, using the first third-party content loading technique, the given third-party content item comprises:

analyzing the plurality of third-party content display requests; and

based on analyzing the plurality of third-party content display requests, selecting, from among the plurality of third-party content items, a third-party content item as the given third-party content item.

8. The method of claim 1 , wherein selecting, using the first third-party content loading technique, the given third-party content item comprises:

accessing, from one or more servers, a plurality of third-party content display requests and corresponding third-party content items;

analyzing the plurality of third-party content display requests; and

based on analyzing the plurality of third-party content display requests, selecting a third-party content item as the given third-party content item.

9. The method of claim 1 , wherein selecting, using the first third-party content loading technique, the given third-party content item comprises:

accessing a plurality of third-party content display requests and corresponding third-party content items;

analyzing the plurality of third-party content display requests;

based on analyzing the plurality of third-party content display requests, selecting a third-party display request; and

providing, to the client device, the third-party display request,

wherein the client device (i) selects, from among the third-party display request and other third-party display requests received from other servers, a given third-party display request that corresponds to the given third-party content item based on analyzing the third-party display request and the other third-party display requests and (ii) requests the given third-party content item.

10. A system comprising:

one or more computers; and

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

receiving a request for third-party content, the request including data identifying characteristics of the client device onto which the third-party content will load;

based on the data identifying the characteristics of the client device, generating, for a first third-party content loading technique, a first loading score that reflects a likelihood that a third-party content item that is selected using the first third-party content loading technique will render on a display of the client device;

based on the data identifying the characteristics of the client device, generating, for a second third-party content loading technique, a second loading score that reflects a likelihood that a third-party content item that is selected using the second third-party content loading technique will render on the display of the client device;

comparing the first loading score to the second loading score;

based on comparing the first loading score to the second loading score, selecting the first third-party content loading technique;

selecting, using the first third-party content loading technique, a given third-party content item;

providing, for output, the given third-party content item;

receiving an additional request for third-party content, the additional request including different data identifying the characteristics of the client device onto which the third-party content will load;

based on the different data identifying the characteristics of the client device, generating, for the first third-party content loading technique, an additional first loading score that reflects an additional likelihood that an additional third-party content item that is selected using the first third-party content loading technique will render on the display of the client device;

based on the different data identifying the characteristics of the client device, generating, for the second third-party content loading technique, an additional second loading score that reflects an additional likelihood that an additional third-party content item that is selected using the second third-party content loading technique will render on the display of the client device;

comparing the additional first loading score to the additional second loading score;

based on comparing the additional first loading score to the additional second loading score, selecting the second third-party content loading technique;

selecting, using the second third-party content loading technique, an additional given third-party content item;

providing, for output, the additional given third-party content item.

11. The system of claim 10 , wherein the characteristics of the client device comprise a browser version, a model of the client device, and a network connection type.

12. The system of claim 10 , wherein:

the first loading score further reflects a likelihood that a user will select the third-party content item that is selected using the first third-party content loading technique, and

the second loading score further reflects a likelihood that a user will select the third-party content item that is selected using the second third-party content loading technique.

13. The system of claim 10 , wherein the instructions cause the one or more computers to perform operations comprising:

receiving data identifying characteristics of a plurality of client devices, third-party loading techniques used to load a plurality of third-party content items on the plurality of client devices, data indicating whether each third-party content item rendered on a display of a respective client device, and data indicating whether a user selected each third-party content item; and

using the data identifying characteristics of the plurality of client devices, the third-party loading techniques used to load the plurality of third-party content items on the plurality of client devices, the data indicating whether each third-party content item rendered on the respective client device, and the data indicating whether a user selected each third-party content item, training a model that is configured to generate a loading score that reflects a likelihood that a third-party content item that is selected using a given third-party content loading technique will render on a display of a given client device and that a user will select the third-party content item,

wherein the first loading score and the second loading score are generated using the model.

14. The system of claim 13 , wherein the instructions cause the one or more computers to perform operations comprising:

receiving data indicating that the third-party content item rendered on the display of the client device;

receiving data indicating that a user selected the third-party content item; and

based on the data indicating that the third-party content item rendered on the display of the client device and based on the data indicating that the user selected the third-party content item, updating the model.

15. The system of claim 10 , wherein the client device displays the given third-party content item in a first-party document and loads the first-party document using a loading technique that is different than the first third-party content loading technique and the second third-party content loading technique.

16. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving a request for third-party content, the request including data identifying characteristics of the client device onto which the third-party content will load;

based on the data identifying the characteristics of the client device, generating, for a first third-party content loading technique, a first loading score that reflects a likelihood that a third-party content item that is selected using the first third-party content loading technique will render on a display of the client device;

based on the data identifying the characteristics of the client device, generating, for a second third-party content loading technique, a second loading score that reflects a likelihood that a third-party content item that is selected using the second third-party content loading technique will render on the display of the client device;

comparing the first loading score to the second loading score;

based on comparing the first loading score to the second loading score, selecting the first third-party content loading technique;

selecting, using the first third-party content loading technique, a given third-party content item;

providing, for output, the given third-party content item;

receiving an additional request for third-party content, the additional request including different data identifying the characteristics of the client device onto which the third-party content will load;

based on the different data identifying the characteristics of the client device, generating, for the first third-party content loading technique, an additional first loading score that reflects an additional likelihood that an additional third-party content item that is selected using the first third-party content loading technique will render on the display of the client device;

based on the different data identifying the characteristics of the client device, generating, for the second third-party content loading technique, an additional second loading score that reflects an additional likelihood that an additional third-party content item that is selected using the second third-party content loading technique will render on the display of the client device;

comparing the additional first loading score to the additional second loading score;

based on comparing the additional first loading score to the additional second loading score, selecting the second third-party content loading technique;

selecting, using the second third-party content loading technique, an additional given third-party content item; and

providing, for output, the additional given third-party content item.

17. The non-transitory computer-readable medium of claim 16 , wherein the characteristics of the client device comprise a browser version, a model of the client device, and a network connection type.

18. The non-transitory computer-readable medium of claim 16 , wherein:

the first loading score further reflects a likelihood that a user will select the third-party content item that is selected using the first third-party content loading technique, and

the second loading score further reflects a likelihood that a user will select the third-party content item that is selected using the second third-party content loading technique.

19. The non-transitory computer-readable medium of claim 16 , wherein the instructions cause the one or more computers to perform operations comprising:

receiving data identifying characteristics of a plurality of client devices, third-party loading techniques used to load a plurality of third-party content items on the plurality of client devices, data indicating whether each third-party content item rendered on a display of a respective client device, and data indicating whether a user selected each third-party content item; and

using the data identifying characteristics of the plurality of client devices, the third-party loading techniques used to load the plurality of third-party content items on the plurality of client devices, the data indicating whether each third-party content item rendered on the respective client device, and the data indicating whether a user selected each third-party content item, training a model that is configured to generate a loading score that reflects a likelihood that a third-party content item that is selected using a given third-party content loading technique will render on a display of a given client device and that a user will select the third-party content item,

wherein the first loading score and the second loading score are generated using the model.

20. The non-transitory computer-readable medium of claim 19 , wherein the instructions cause the one or more computers to perform operations comprising:

receiving data indicating that the third-party content item rendered on the display of the client device;

receiving data indicating that a user selected the third-party content item; and

based on the data indicating that the third-party content item rendered on the display of the client device and based on the data indicating that the user selected the third-party content item, updating the model.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2020
From: PRICE, THOMAS GRAHAM; LEWIS, JUSTIN
To: GOOGLE INC.
Reel/Frame 053412/0024 →
CHANGE OF NAME Recorded Aug 5, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 053414/0509 →
Continuity (1)
Related Publication 20200145504A1 · May 7, 2020