# US 11,122,139 B2 · Systems and methods for reducing download requirements

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

- Number: US 11,122,139 B2
- Document ID: US11122139B2
- Status: Granted
- Kind: B2
- Application number: 16/346,835
- Filed: 2016-11-02
- Published: 2020-02-20
- Granted: 2021-09-14
- Earliest claimed: 2016-11-02
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: William Coster; Anurag Agrawal
- Web page: https://patentgrep.com/patent/US11122139B2

## CPC

- G06F 9/44521: {Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading}
- G06F 8/61: Installation
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04L 67/5681: Pre-fetching or pre-delivering data based on network characteristics
- 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

A method of reducing download requirements for display of content includes transmitting, by a client device to a content server, a content request, the request including an identifier for each of one or more pre-cached media files stored on the client device, the transmission being carried out whilst the client device is connected to a first network. The method further includes receiving, by the client device from the content server, a response comprising instructions to display a selected one of the pre-cached media files, the response including additional display instructions for display of the selected pre-cached media file, and displaying, by the client device, the pre-cached media file according to the additional display instructions.

## Claims

### Claim 1

A method, comprising:
determining, by a client device at a first time, that the client device is connected to a first network having a first network type;
downloading, by the client device responsive to the first network type satisfying a first network type condition, while connected to the first network, a plurality of media files;
determining, by the client device at a second time after the first time, that the client device is connected to a second network different from the first network, the second network having a second network type different from the first network type;
generating, by the client device, responsive to the second network type satisfying a second network type condition, a request for content that includes identifiers of the plurality of media files downloaded by and stored on the client device;
transmitting, by the client device to a content server, responsive to generating the request for content, the request for content including the identifiers of the plurality of media files downloaded and stored on the client device, the transmission being carried out whilst the client device is connected to the second network having the second network type;
receiving, by the client device from the content server, an identifier of a pre-cached media file downloaded by and stored on the client device, the identifier of the pre-cached media file selected by the content server based on a weight assigned to the identifier of the pre-cached media file based on (i) a presence of the identifier of the pre-cached media file in the request for content and (ii) the pre-cached media file satisfying additional content selection criteria; and
displaying, by the client device, a media file of the plurality of media files downloaded by and stored on the client device that corresponds to the identifier of the pre-cached media file selected by the content server.

### Claim 2 (depends on 1)

The method of claim 1, wherein the second network is a cellular network and the second first network is a Wi-Fi network.

### Claim 3 (depends on 1)

The method of claim 1, wherein downloading the plurality of media files is performed responsive to the client device determining that fewer than a predetermined number of media files are pre-cached on the client device.

### Claim 4 (depends on 1)

The method of claim 1, wherein downloading the plurality of media files is performed responsive to the client device determining that less than a predetermined amount of storage memory is used by pre-cached media files on the client device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the identifier of the pre-cached media file is received in a response message from the content server, the response message further comprising additional display instructions that cause the client device to automatically play the pre-cached media file on a display.

### Claim 6 (depends on 5)

The method of claim 5, wherein the additional display instructions comprise instructions that specify a frame or window in which the pre-cached media file is to be shown, and instructions to transmit media playback statistics to a measurement server.

### Claim 7 (depends on 6)

The method of claim 6, wherein the instructions to transmit media playback statistics comprises instructions to transmit information identifying at least one of: a number of times the pre-cached media file was displayed, a device type on which the pre-cached media file was displayed, or a playback time during display of the pre-cached media file at which a remainder of the display of the pre-cached media file was skipped.

### Claim 8

A method, comprising:
receiving, by a content server from a client device connected to a first network, responsive to the client device determining that the client device is connected to the first network having a first network type that satisfies a network type condition, a request for content including a first plurality of candidate identifiers of pre-cached media files stored on the client device;
transmitting, by the content server to a content provider, a request for candidate identifiers of candidate media files based on the request for content;
receiving, by the content server from the content provider responsive to the request for the candidate identifiers, a second plurality of candidate identifiers identifying media files;
identifying, by the content server, a matching identifier included in both the first plurality of candidate identifiers and the second plurality of candidate identifiers;
assigning, by the content server, a first weight to the matching identifier based on the matching identifier being included in both the first plurality of candidate identifiers and the second plurality of candidate identifiers, and based on a pre-cached media file corresponding to the matching identifier satisfying additional content selection criteria;
selecting, by the content server, based on the first network type satisfying the network type condition, from the second plurality of candidate identifiers, the matching identifier based on the first weight; and
transmitting, by the content server to the client device, a response comprising the matching identifier to cause the client device to display a media file identified by the matching identifier.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
receiving, by the content server from the client device while the client device is connected to a second network different from the first network, at a first time prior to receiving the request for content, an initial request for an initial media file; and
transmitting, by the content server to the client device responsive to receiving the initial request for the initial media file, the initial media file to be stored as a pre-cached media file.

### Claim 10 (depends on 9)

The method of claim 9, wherein the first network is a cellular network and the second network is a Wi-Fi network.

### Claim 11 (depends on 8)

The method of claim 8, wherein the response further comprises additional display instructions that specify a frame or window in which the media file identified by the matching identifier is to be shown, and instructions to transmit media playback statistics to a measurement server.

### Claim 12 (depends on 11)

The method of claim 11, wherein the instructions to transmit the media playback statistics to the measurement server comprises instructions to transmit information identifying at least one of: a number of times the media file was displayed, a device type on which the media file was displayed, or a playback time during display of the media file at which a remainder of the display of the media file was skipped.

### Claim 13 (depends on 8)

The method of claim 8, wherein selecting, by the content server, the matching identifier further comprises:
assigning, by the content server, respective selection weight points to each of a plurality of monetary agreements each associated with media files, at least one monetary agreement associated with the media file identified by the matching identifier, including assigning at least one selection weight point to the monetary agreement associated with the media file identified by the matching identifier based on the media file identified by the matching identifier being pre-cached at the client device; and
selecting, by the content server, the monetary agreement associated with the media file identified by the matching identifier based on the monetary agreement having a highest selection weight of the plurality of monetary agreements.

### Claim 14 (depends on 13)

The method of claim 13, wherein assigning the at least one selection weight point to the monetary agreement associated with the media file based on the media file identified by the matching identifier being pre-cached at the client device comprises:
determining, by the content server, that an auto-play protocol permits the media file to be displayed automatically; and
assigning the at least one selection weight point to the monetary agreement based on the auto-play protocol permitting the media file identified by the matching identifier to be displayed automatically.

### Claim 15 (depends on 8)

The method of claim 8, further comprising:
retrieving, by the content server, additional display instructions corresponding to the media file identified by the matching identifier; and generating, by the content server, HTML, or CSS data in the additional display instructions that defines a context in which the media file is to be displayed according to a protocol stored on the content server,
wherein the response further comprises the additional display instructions.

### Claim 16 (depends on 15)

The method of claim 15, wherein the additional display instructions comprise instructions to automatically display selected pre-cached the media file on a display.

### Claim 17

A system, comprising:
a processor of a client device configured to execute non-transitory processor-executable instructions; and
a data store storing non-transitory processor-executable instructions which, when executed by the processor, cause the processor to:
determine that the client device is connected, at a first time, to a first network having a first network type;
download, responsive to the first network type satisfying a first network type condition, while connected to the first network, a plurality of media files;
store the plurality of media files as a plurality of pre-cached media files;
determine, at a second time after the first time, that the client device is connected to a second network different from the first network, the second network having a second network type different from the first network type;
generate, responsive to the second network type satisfying a network type condition, a request for content that includes identifiers of the plurality of pre-cached media files stored on the client device;
transmit, to a content server, responsive to generating the request for content, the request for content including the identifiers of the plurality of pre-cached media files stored on the client device, the transmission being carried out whilst the client device is connected to the second network having the second network type;
receive, from the content server, an identifier of a pre-cached media file of the plurality of pre-cached media files, the identifier of the pre-cached media file selected by the content server based on a weight assigned to the identifier of the pre-cached media file based on (i) a presence of the identifier of the pre-cached media file in the request for content and (ii) the pre-cached media file satisfying additional content selection criteria; and
display the pre-cached media file of the plurality of pre-cached media files that corresponds to the identifier of the pre-cached media file selected by the content server.

### Claim 18 (depends on 17)

The system of claim 17, wherein the identifier of the pre-cached media file is received in a response message from the content server, the response message further comprising additional display instructions that specify a frame or window in which the pre-cached media file selected by the content server is to be shown, and instructions to transmit media playback statistics to a measurement server.

### Claim 19 (depends on 18)

The system of claim 18, wherein the instructions to transmit media playback statistics comprises instructions to transmit information identifying at least one of: a number of times the pre-cached media file selected by the content server was displayed, a device type on which the pre-cached media file selected by the content server was displayed, or a playback time during display of the pre-cached media file selected by the content server at which a remainder of the display of the pre-cached media file was skipped.
