# US 11,307,897 B2 · Resource pre-fetch using age threshold

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

- Number: US 11,307,897 B2
- Document ID: US11307897B2
- Status: Granted
- Kind: B2
- Application number: 16/545,354
- Filed: 2019-08-20
- Published: 2020-02-20
- Granted: 2022-04-19
- Earliest claimed: 2018-08-20
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Dani Suleman
- Web page: https://patentgrep.com/patent/US11307897B2

## CPC

- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 16/9574: {of access to content, e.g. by caching}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/5022: {Mechanisms to release resources}
- G06F 16/951: Indexing; Web crawling techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for identifying a set of resources in response to crawling multiple webpages that use at least one resource in the set. For each resource in the set, a system determines an age of the resource using a timestamp for the resource. The system determines a pre-fetch measure of the resource based on the age of the resource and usage information that describes use of the resource at a webpage. The system selects a first resource from the set based on the pre-fetch measure and determines whether a respective age of the selected first resource exceeds a threshold age. The system generates an index entry for a pre-fetch index. The index entry includes a command to pre-fetch the first resource based on a determination that the respective age of the first resource exceeds the threshold age.

## Claims

### Claim 1

A computer-implemented method, comprising:
identifying a set of resources in response to crawling a plurality of webpages, each resource in the set of resources being a component of a webpage in the plurality of webpages, and wherein each of the webpages uses at least one of the resources in the set of resources to present content;
for each resource in the set of resources:
determining an age of the resource using a timestamp for the resource that indicates a time that the webpage was previously crawled to identify the resource as a component of the webpage; and
determining a pre-fetch measure of the resource based on the age of the resource and usage information that describes use of the resource by one or more webpages;
for each respective resource that is determined to have a pre-fetch measure that exceeds a threshold measure, determining whether an age of the respective resource exceeds a threshold age; and
for each respective resource that is determined to have an age that exceeds the threshold age, generating an index entry at a pre-fetch index, the index entry including a command to pre-fetch the respective resource based on the determination that the age of the respective resource exceeds the threshold age,
wherein at least one index entry is generated at the pre-fetch index.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining the pre-fetch measure of the resource comprises:
obtaining the usage information that describes the use of the resource by the one or more webpages; and
determining a position of the resource at a webpage using the obtained usage information, wherein the webpage is not included in the plurality of webpages that are crawled to identify the set of resources.

### Claim 3 (depends on 2)

The method of claim 2, wherein determining the position of the resource comprises:
providing, to a rendering system, program code for rendering a first webpage from among the plurality of webpages that are crawled to identify the set of resources;
obtaining usage information that describes use of the resource by a second webpage that is rendered using the rendering system; and
determining the position of the resource relative to at least one element that is viewable at the second webpage.

### Claim 4 (depends on 3)

The method of claim 3, wherein:
the rendering system is external to a domain server that hosts the first webpage; and
the second webpage is a duplicate of the first webpage based on the program code being a copy of the actual program code used to render the first webpage.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the pre-fetch measure of the resource comprises:
determining a measure of stability of the resource based on a rate at which an attribute of the resource changes during a predefined time period; and
determining the pre-fetch measure of the resource based on the determined measure of stability of the resource.

### Claim 6 (depends on 1)

The method of claim 1, wherein the pre-fetch measure indicates whether the resource is a candidate for pre-fetching and the method further comprises:
using the command included in the index entry at the pre-fetch index to pre-fetch a first resource when a client device submits a request to a webpage that uses the first resource that is determined to have an age that exceeds the threshold age.

### Claim 7 (depends on 6)

The method of claim 6, wherein determining a pre-fetch measure of the first resource comprises:
determining a percentage of webpages from among the plurality of webpages that use the first resource to render a digital component at a web browser that loads the webpage; and
determining whether the percentage of webpages exceeds a threshold percentage.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
determining whether the age of the first resource exceeds the threshold age in response to determining that the percentage of webpages exceeds the threshold percentage.

### Claim 9 (depends on 1)

The method of claim 1, wherein determining the age of the resource comprises:
obtaining a first timestamp for the resource based on a first instance of crawling the plurality of webpages to identify the set of resources;
obtaining a second timestamp for the resource based on a second instance of crawling the plurality of webpages to identify the set of resources; and
determining the age of the resource by determining a delta between the first and second timestamps.

### Claim 10

A system, comprising:
one or more processing devices; and
one or more non-transitory machine-readable storage devices storing instructions that are executable by the one or more processing devices to cause performance of operations comprising:
identifying a set of resources in response to crawling a plurality of webpages, each resource in the set of resources being a component of a webpage in the plurality of webpages, and wherein each of the webpages uses at least one of the resources in the set of resources to present content;
for each resource in the set of resources:
determining an age of the resource using a timestamp for the resource that indicates a time that the webpage was previously crawled to identify the resource as a component of the webpage; and
determining a pre-fetch measure of the resource based on the age of the resource and usage information that describes use of the resource by one or more webpages;
for each respective resource that is determined to have a pre-fetch measure that exceeds a threshold measure, determining whether an age of the respective resource exceeds a threshold age; and
for each respective resource that is determined to have an age that exceeds the threshold age, generating an index entry at a pre-fetch index, the index entry including a command to pre-fetch the respective resource based on the determination that the age of the respective resource exceeds the threshold age,
wherein at least one index entry is generated at the pre-fetch index.

### Claim 11 (depends on 10)

The system of claim 10, wherein determining the pre-fetch measure of the resource comprises:
obtaining the usage information that describes the use of the resource by the one or more webpages; and
determining a position of the resource at a webpage using the obtained usage information, wherein the webpage is not included in the plurality of webpages that are crawled to identify the set of resources.

### Claim 12 (depends on 11)

The system of claim 11, wherein determining the position of the resource comprises:
providing, to a rendering system, program code for rendering a first webpage from among the plurality of webpages that are crawled to identify the set of resources;
obtaining usage information that describes use of the resource by a second webpage that is rendered using the rendering system; and
determining the position of the resource relative to at least one element that is viewable at the second webpage.

### Claim 13 (depends on 12)

The system of claim 12, wherein:
the rendering system is external to a domain server that hosts the first webpage; and
the second webpage is a duplicate of the first webpage based on the program code being a copy of the actual program code used to render the first webpage.

### Claim 14 (depends on 10)

The system of claim 10, wherein determining the pre-fetch measure of the resource comprises:
determining a measure of stability of the resource based on a rate at which an attribute of the resource changes during a predefined time period; and
determining the pre-fetch measure of the resource based on the determined measure of stability of the resource.

### Claim 15 (depends on 10)

The system of claim 10, wherein the pre-fetch measure indicates whether the resource is a candidate for pre-fetching and the operations further comprise:
using the command included in the index entry at the pre-fetch index to pre-fetch a first resource when a client device submits a request to a webpage that uses the first resource that is determined to have an age that exceeds the threshold age.

### Claim 16 (depends on 15)

The system of claim 15, wherein determining a pre-fetch measure of the first resource comprises:
determining a percentage of webpages from among the plurality of webpages that use the first resource to render a digital component at a web browser that loads the webpage; and
determining whether the percentage of webpages exceeds a threshold percentage.

### Claim 17 (depends on 16)

The system of claim 16, wherein the operations further comprise:
determining whether the age of the first resource exceeds the threshold age in response to determining that the percentage of webpages exceeds the threshold percentage.

### Claim 18 (depends on 10)

The system of claim 10, wherein determining the age of the resource comprises:
obtaining a first timestamp for the resource based on a first instance of crawling the plurality of webpages to identify the set of resources;
obtaining a second timestamp for the resource based on a second instance of crawling the plurality of webpages to identify the set of resources; and
determining the age of the resource by determining a delta between the first and second timestamps.

### Claim 19

One or more non-transitory machine-readable storage devices storing instructions that are executable by one or more processing devices to cause performance of operations comprising:
identifying a set of resources in response to crawling a plurality of webpages, each resource in the set of resources being a component of a webpage in the plurality of webpages, and wherein each of the webpages uses at least one of the resources in the set of resources to present content;
for each resource in the set of resources:
determining an age of the resource using a timestamp for the resource that indicates a time that the webpage was previously crawled to identify the resource as a component of the webpage; and
determining a pre-fetch measure of the resource based on the age of the resource and usage information that describes use of the resource by one or more webpages;
for each respective resource that is determined to have a pre-fetch measure that exceeds a threshold measure, determining whether an age of the respective resource exceeds a threshold age; and
for each respective resource that is determined to have an age that exceeds the threshold age, generating an index entry at a pre-fetch index, the index entry including a command to pre-fetch the respective resource based on the determination that the age of the respective resource exceeds the threshold age,
wherein at least one index entry is generated at the pre-fetch index.
