# US 8,788,703 B1 · Content caching

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

- Number: US 8,788,703 B1
- Document ID: US8788703B1
- Status: Granted
- Kind: B1
- Application number: 13/959,561
- Filed: 2013-08-05
- Granted: 2014-07-22
- Earliest claimed: 2013-08-05
- Assignees: iboss, Inc.
- Applicants: Phantom Technologies, Inc.
- Inventors: Paul Michael Martini
- Web page: https://patentgrep.com/patent/US8788703B1

## CPC

- H04L 67/5683: Storage of data provided by user terminals, i.e. reverse caching
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

At a gateway within a network, a message containing content is received. The message conforms to a protocol that specifies a format of the content, the message having been sent from a server outside the network to a client within the network. The message is routed from the gateway to the client. The message is analyzed to determine whether the content is static. Depending on a result of the analyzing, the content is selectively caused to be stored in the format specified by the protocol in a cache within the network.

## Claims

### Claim 1

A method performed by data processing apparatus, the method comprising:
routing, from a gateway within a network, a request by a client within the network, for a webpage;
routing, from the gateway to the client, a document associated with the webpage that identifies content to be embedded in the webpage;
receiving, at the gateway within the network, a message containing the content to be embedded in the webpage, the message conforming to a protocol that specifies a format of the content, the message having been sent from a server outside the network to the client within the network;
routing the message from the gateway to the client;
analyzing the message to determine whether the content is static by determining if the content has at least a threshold similarity to stored content previously returned from an address, wherein the content and the stored content share the address; and
depending on a result of the analyzing, selectively causing the content to be stored in the format specified by the protocol in a cache within the network.

### Claim 2 (depends on 1)

The method of claim 1 wherein, when the result of the analysis comprises a determination that the content is static, said selectively causing the content to be stored comprises sending a message to the cache within the network instructing the cache to store the content in a format specified by the protocol.

### Claim 3 (depends on 1)

The method of claim 1 wherein the message is a Hypertext Transfer Protocol (HTTP) message, the content is a single HTTP resource, and the cache indexes stored content by HTTP resource name.

### Claim 4 (depends on 1)

The method of claim 1 wherein analyzing the message to determine that the content is static comprises analyzing a file extension of the content.

### Claim 5 (depends on 1)

The method of claim 1 wherein analyzing the message to determine that the content is static comprises analyzing a header of the message.

### Claim 6 (depends on 1)

The method of claim 1 wherein sending a message to a cache on the network to store the content in the format specified by the protocol comprises sending the content to the cache.

### Claim 7 (depends on 1)

The method of claim 1 wherein sending a message to a cache on the network to store the content in the format specified by the protocol comprises sending a publicly available address of the contents to the cache.

### Claim 8 (depends on 7)

The method of claim 7 the method further comprising requesting, by the cache, the content from the publicly available address.

### Claim 9 (depends on 8)

The method of claim 8 the method further comprising storing, by the cache, the content in the format specified by the protocol and indexed according to the publicly available address.

### Claim 10

A non-transitory computer storage media encoded with computer program instructions that, when executed by one or more processors, cause a computer device to perform operations comprising:
routing, from a gateway within a network, a request by a client within the network, for a webpage;
routing, from the gateway to the client, a document associated with the webpage that identifies content to be embedded in the webpage;
receiving, at the gateway within the network, a message containing the content to be embedded in the webpage, the message conforming to a protocol that specifies a format of the content, the message having been sent from a server outside the network to the client within the network;
routing the message from the gateway to the client;
analyzing the message to determine whether the content is static by determining if the content has at least a threshold similarity to stored content previously returned from an address, wherein the content and the stored content share the address; and
depending on a result of the analyzing, selectively causing the content to be stored in the format specified by the protocol in a cache within the network.

### Claim 11 (depends on 10)

The computer storage media of claim 10 wherein, when the result of the analysis comprises a determination that the content is static, said selectively causing the content to be stored comprises sending a message to the cache within the network instructing the cache to store the content in a format specified by the protocol.

### Claim 12 (depends on 10)

The computer storage media of claim 10 wherein the message is a Hypertext Transfer Protocol (HTTP) message, the content is a single HTTP resource, and the cache indexes stored content by HTTP resource name.

### Claim 13 (depends on 10)

The computer storage media of claim 10 wherein analyzing the message to determine that the content is static comprises analyzing a file extension of the content.

### Claim 14 (depends on 10)

The computer storage media of claim 10 wherein analyzing the message to determine that the content is static comprises analyzing a header of the message.

### Claim 15 (depends on 10)

The computer storage media of claim 10 wherein sending a message to a cache on the network to store the content in the format specified by the protocol comprises sending the content to the cache.

### Claim 16 (depends on 10)

The computer storage media of claim 10 wherein sending a message to a cache on the network to store the content in the format specified by the protocol comprises sending a publicly available address of the contents to the cache.

### Claim 17 (depends on 16)

The computer storage media of claim 16 the operations further comprising requesting, by the cache, the content from the publicly available address.

### Claim 18 (depends on 17)

The computer storage media of claim 17 the operations further comprising storing, by the cache, the content in the format specified by the protocol and indexed according to the publicly available address.

### Claim 19

A system comprising:
one or more processors configured to execute computer program instructions;
and computer storage media encoded with computer program instructions that, when executed by one or more processors, cause a computer device to perform operations comprising:
routing, from a gateway within a network, a request by a client within the network, for a webpage;
routing, from the gateway to the client, a document associated with the webpage that identifies content to be embedded in the webpage;
receiving, at the gateway within the network, a message containing the content to be embedded in the webpage, the message conforming to a protocol that specifies a format of the content, the message having been sent from a server outside the network to the client within the network;
routing the message from the gateway to the client;
analyzing the message to determine whether the content is static by determining if the content has at least a threshold similarity to stored content previously returned from an address, wherein the content and the stored content share the address; and
depending on a result of the analyzing, selectively causing the content to be stored in the format specified by the protocol in a cache within the network.

### Claim 20 (depends on 19)

The system of claim 19 wherein, when the result of the analysis comprises a determination that the content is static, said selectively causing the content to be stored comprises sending a message to the cache within the network instructing the cache to store the content in a format specified by the protocol.

### Claim 21 (depends on 19)

The system of claim 19 wherein the message is a Hypertext Transfer Protocol (HTTP) message, the content is a single HTTP resource, and the cache indexes stored content by HTTP resource name.

### Claim 22 (depends on 19)

The system of claim 19 wherein analyzing the message to determine that the content is static comprises analyzing a file extension of the content or analyzing a header of the message.

### Claim 23 (depends on 19)

The system of claim 19 wherein sending a message to a cache on the network to store the content in the format specified by the protocol comprises sending the content to the cache.

### Claim 24 (depends on 19)

The system of claim 19 wherein sending a message to a cache on the network to store the content in the format specified by the protocol comprises sending a publicly available address of the contents to the cache.

### Claim 25 (depends on 24)

The system of claim 24 the operations further comprising:
requesting, by the cache, the content from the publicly available address; and
storing, by the cache, the content in the format specified by the protocol and indexed according to the publicly available address.
