# US 11,907,360 B2 · Systems and methods for deploying countermeasures against unauthorized scripts interfering with the rendering of content elements on information resources

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,360 B2
- Document ID: US11907360B2
- Status: Granted
- Kind: B2
- Application number: 17/377,991
- Filed: 2021-07-16
- Published: 2021-11-04
- Granted: 2024-02-20
- Earliest claimed: 2016-02-01
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Matthew Burriesci; Rebecca Illowsky
- Web page: https://patentgrep.com/patent/US11907360B2

## CPC

- G06F 21/51: at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 21/128: {involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java}
- G06F 21/645: {using a third party}
- G06F 40/106: Display of layout of documents; Previewing
- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- H04L 63/168: {above the transport layer}
- G06F 2221/032: Protect output to user by software means
- G06F 2221/2119: Authenticating web pages, e.g. with suspicious links
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 1)

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.

### Claim 9 (depends on 1)

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.

### Claim 10 (depends on 1)

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.

### Claim 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.

### Claim 12 (depends on 11)

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.

### Claim 13 (depends on 11)

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.

### Claim 14 (depends on 11)

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.

### Claim 15 (depends on 11)

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.

### Claim 16 (depends on 11)

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.

### Claim 17 (depends on 11)

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.

### Claim 18 (depends on 11)

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.

### Claim 19 (depends on 11)

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.

### Claim 20 (depends on 11)

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.
