IP Library Granted Patent US 11,907,360
Granted Patent B2
US 11,907,360 · App. 17/377,991 · Granted Feb 20, 2024

Systems and methods for deploying countermeasures against unauthorized scripts interfering with the rendering of content elements on information resources

Inventors: Matthew Burriesci (Mountain View, CA); Rebecca Illowsky (Mountain View, CA)
Assignee: GOOGLE LLC
G06F21/51G06F16/9577G06F21/128G06F21/645H04L63/168G06F2221/032G06F2221/2119
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,907,360
App. No.
17/377,991
Granted
Feb 20, 2024
Kind
B2
Abstract

Systems and methods for deploying countermeasures against unauthorized scripts interfering with the rendering of content elements on information resources are provided herein. A computing device can receive an information resource including a content rendering verification script and a first content element. The computing device can execute the script. The computing device can render the first content element for display on the information resource in a first format. The computing device can determine that the first content element is not successfully displayed in the first format. The computing device can render the first content element for display on the information resource in a second format, responsive to the determination. The computing device can determine that the first content element is successfully displayed in the second format. The computing device can display a second content element of the information resource responsive to the determination.

Claims (71)

1. A method of preventing interference with the rendering of content elements on information resources, comprising:

receiving, by a data processing system having one or more processors, from a client device, a request for content to render on an application running on the client device, the request including an application profile corresponding to the application;

identifying, by the data processing system, from the request, the application profile corresponding to the application running on the client device for rendering content;

selecting, by the data processing system, a plurality of formats for a content element to insert into an information resource rendered on the application based on the application profile, each format of the plurality of formats having a corresponding graphical properties for the content element; and

transmitting, by the data processing system, a content rendering verification script to the client device, the content rendering verification script configured to cause the application to attempt to render the content element according to a first format of the plurality of formats on the information resource in response to determining that the content element is not successfully rendered in a second format of the plurality of formats.

2. The method of claim 1 , further comprising:

receiving, by the data processing system, a pingback from the client device, the pingback indicating that the content element in the first format is successfully rendered on the information resource by the application running on the client device; and

updating, by the data processing system, responsive to receiving the pingback, a database maintaining the plurality of formats for the content element to indicate that the first format is successfully rendered by the application.

3. The method of claim 1 , further comprising:

receiving, by the data processing system, a pingback from the client device, the pingback indicating that the content element in the first format is successfully rendered on the information resource by the application running on the client device; and

selecting, by the data processing system, responsive to receiving the pingback, a second plurality of formats for a second content element to insert the information resource rendered on the application based on the application profile; and

transmitting, by the data processing system, to the client device, the second content element and the second plurality of formats for the second content element for rendering on the information resource.

4. The method of claim 1 , further comprising:

receiving, by the data processing system, a pingback from the client device, the pingback indicating that the content element in the first format failed to render on the information resource by the application running on the client device; and

updating, by the data processing system, responsive to receiving the pingback, a database maintaining the plurality of formats for the content element to indicate that the first format is not successfully rendered by the application.

5. The method of claim 1 , further comprising:

receiving, by the data processing system, a pingback from the client device, the pingback indicating that the content element in all of the plurality of formats failed to render on the information resource by the application running on the client device;

incrementing, by the data processing system, an attempt count for rendering content on the information resource responsive to receiving the pingback;

selecting, by the data processing system, responsive to determining that the attempt count is less than a threshold count, a second plurality of formats for the content element to insert into the information resource rendered on the application based on the application profile and the plurality of formats indicated as failing to render on the information resource; and

transmitting, by the data processing system, to the client device, the second plurality of formats for the content element for rendering on the information resource.

6. The method of claim 1 , further comprising:

receiving, by the data processing system, a pingback from the client device, the pingback indicating that the content element in all of the plurality of formats failed to render on the information resource by the application running on the client device;

incrementing, by the data processing system, an attempt count for rendering content on the information resource responsive to receiving the pingback; and

terminating, by the data processing system, responsive to determining that the attempt count on the information resource is greater than or equal to a threshold count, communications with the client device.

7. The method of claim 1 , wherein receiving the request further comprises receiving the request including a device identifier for the client device;

identifying, by the data processing system, from the request, the device identifier corresponding to the client device running the application; and

wherein selecting the plurality of formats further comprises selecting the plurality of formats based on the device identifier corresponding to the client device.

8. The method of claim 1 , wherein selecting the plurality of formats further comprises:

calculating, for each format of the plurality of formats, a likelihood of success that the content element in the format is rendered on the information resource based on the application profile, a previous number of successes for the format, and a previous number of failures for the format; and

determining an order of display for the plurality formats based on the likelihood of success determined for each format of the plurality of formats; and

wherein transmitting the content rendering verification script further comprises transmitting the content rendering verification script configured to cause the application to select the plurality of format for processing in accordance to the order of display.

9. The method of claim 1 , wherein receiving the request further comprises receiving the request for the information resource, the request including an address referencing the information resource; and

wherein transmitting the content rendering verification script further comprises transmitting the information resource including the content rendering verification script.

10. The method of claim 1 , wherein receiving the request further comprises receiving the request for content from the client device having an interrupter module, the interrupter module configured to change rendering of the content element from the information resource.

11. A system for preventing interference with the rendering of content elements on information resources, comprising:

a data processing system having one or more hardware processors, configured to:

receive, from a client device, a request for content to render on an application running on the client device, the request including an application profile corresponding to the application;

identify, from the request, the application profile corresponding to the application running on the client device for rendering content;

select a plurality of formats for a content element to insert into an information resource rendered on the application based on the application profile, each format of the plurality of formats having a corresponding graphical properties for the content element; and

transmit a content rendering verification script to the client device, the content rendering verification script configured to cause the application to attempt to render the content element according to a first format of the plurality of formats on the information resource in response to determining that the content element is not successfully rendered in a second format of the plurality of formats.

12. The system of claim 11 , wherein the data processing system is further configured to:

receive a pingback from the client device, the pingback indicating that the content element in the first format is successfully rendered on the information resource by the application running on the client device; and

update, responsive to receiving the pingback, a database maintaining the plurality of formats for the content element to indicate that the first format is successfully rendered by the application.

13. The system of claim 11 , wherein the data processing system is further configured to:

receive a pingback from the client device, the pingback indicating that the content element in the first format is successfully rendered on the information resource by the application running on the client device; and

select, responsive to receiving the pingback, a second plurality of formats for a second content element to insert the information resource rendered on the application based on the application profile; and

transmit, to the client device, the second content element and the second plurality of formats for the second content element for rendering on the information resource.

14. The system of claim 11 , wherein the data processing system is further configured to:

receive a pingback from the client device, the pingback indicating that the content element in the first format failed to render on the information resource by the application running on the client device; and

update, responsive to receiving the pingback, a database maintaining the plurality of formats for the content element to indicate that the first format is not successfully rendered by the application.

15. The system of claim 11 , wherein the data processing system is further configured to:

receive a pingback from the client device, the pingback indicating that the content element in all of the plurality of formats failed to render on the information resource by the application running on the client device;

increment an attempt count for rendering content on the information resource responsive to receiving the pingback;

select, responsive to determining that the attempt count is less than a threshold count, a second plurality of formats for the content element to insert into the information resource rendered on the application based on the application profile and the plurality of formats indicated as failing to render on the information resource; and

transmit, to the client device, the second plurality of formats for the content element for rendering on the information resource.

16. The system of claim 11 , wherein the data processing system is further configured to:

receive a pingback from the client device, the pingback indicating that the content element in all of the plurality of formats failed to render on the information resource by the application running on the client device;

increment an attempt count for rendering content on the information resource responsive to receiving the pingback; and

terminate, responsive to determining that the attempt count on the information resource is greater than or equal to a threshold count, communications with the client device.

17. The system of claim 11 , wherein the data processing system is further configured to:

receive the request including a device identifier for the client device;

identify, from the request, the device identifier corresponding to the client device running the application; and

select the plurality of formats based on the device identifier corresponding to the client device.

18. The system of claim 11 , wherein the data processing system is further configured to:

calculate, for each format of the plurality of formats, a likelihood of success that the content element in the format is rendered on the information resource based on the application profile, a previous number of successes for the format, and a previous number of failures for the format;

determine an order of display for the plurality formats based on the likelihood of success determined for each format of the plurality of formats; and

transmit the content rendering verification script configured to cause the application to select the plurality of format for processing in accordance to the order of display.

19. The system of claim 11 , wherein the data processing system is further configured to:

receive the request for the information resource, the request including an address referencing the information resource; and

transmit the information resource including the content rendering verification script.

20. The system of claim 11 , wherein the data processing system is further configured to receive the request for content from the client device having an interrupter module, the interrupter module configured to change rendering of the content element from the information resource.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2021
From: BURRIESCI, MATTHEW; ILLOWSKY, REBECCA
To: GOOGLE INC.
Reel/Frame 057912/0625 →
CHANGE OF NAME Recorded Oct 26, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 057915/0629 →
Continuity (3)
Continuation 16062022
Provisional Application 62289699 · Feb 1, 2016
Related Publication 20210342439A1 · Nov 4, 2021