# US 8,788,528 B2 · Filtering cached content based on embedded URLs

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

- Number: US 8,788,528 B2
- Document ID: US8788528B2
- Status: Granted
- Kind: B2
- Application number: 10/890,893
- Filed: 2004-07-13
- Published: 2006-01-19
- Granted: 2014-07-22
- Earliest claimed: 2004-07-13
- Assignees: Blue Coat Systems, Inc.
- Applicants: John Lyman Ahlander; Mikko Valimaki
- Inventors: John Lyman Ahlander; Mikko Valimaki
- Web page: https://patentgrep.com/patent/US8788528B2

## CPC

- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- G06F 16/9574: {of access to content, e.g. by caching}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present invention extends to methods, systems, computer program products, and data structures for filtering cached content based on embedded URLs. A computer system accesses a URL that corresponds to cached content. The computer system identifies an embedded URL included in the accessed URL. The embedded URL corresponds to a site that was accessed to retrieve the cached content. The computer system extracts the embedded URL from the accessed URL. The computer system determines whether or not access to the cached content is to be allowed based on the embedded URL.

## Claims

### Claim 1

A method, comprising:
receiving, at a filtering computer system, a request to access cached content corresponding to a first Hypertext Transfer Protocol (HTTP) Universal Resource Locator (URL), wherein the first HTTP URL comprises a string that resolves into a location where the cached content is cached, and wherein the first HTTP URL includes a first host portion corresponding to a caching site;
identifying, at the filtering computer system, an embedded HTTP URL within the string of the first HTTP URL, wherein the embedded HTTP URL includes a second host portion, and wherein the second host portion corresponds to a site that was accessed by a content caching module to retrieve the cached content;
extracting, at the filtering computer system, the embedded HTTP URL from the first HTTP URL, wherein the embedded HTTP URL extracted from the first HTTP URL includes the second host portion;
determining, at the filtering computer system, whether or not access to the cached content corresponding to the first HTTP URL is permitted based on the embedded HTTP URL extracted from the first HTTP URL; and
if access to the cached content corresponding to the first HTTP URL is permitted, permitting access to the cached content, otherwise, not permitting access to the cached content,
wherein the embedded HTTP URL is embedded in one of a path portion and searchpart portion of the first HTTP URL, and wherein identifying the embedded HTTP URL comprises parsing one or more of the path portion and searchpart portion of the first HTTP URL to identify text resembling the embedded HTTP URL.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein the first host portion corresponds to a Web site that is not blocked by content filtering rules.

### Claim 3 (depends on 1)

The method as recited in claim 1, wherein the first HTTP URL corresponds to a search engine, archive site, or language translation site.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein the first HTTP URL is accessed from an HTTP message body.

### Claim 5 (depends on 1)

The method as recited in claim 1, wherein the first HTTP URL corresponds to search engine cached content.

### Claim 6 (depends on 1)

The method as recited in claim 1, wherein the first HTTP URL corresponds to archive site cached content.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein the first HTTP URL corresponds to language translated cached content.

### Claim 8 (depends on 1)

The method as recited in claim 1, wherein identifying the embedded HTTP URL comprises identifying the second host portion corresponding to a Web site that is blocked by content filtering rules.

### Claim 9 (depends on 1)

The method as recited in claim 1, wherein determining whether or not access to the cached content corresponding to the first HTTP URL is permitted comprises determining access rights to the cached content based on filtering inputs.

### Claim 10 (depends on 1)

The method as recited in claim 1, wherein access to the cached content is blocked, even though access to a Web site corresponding to the first host portion of the first HTTP URL is permitted.

### Claim 11 (depends on 1)

The method as recited in claim 1, further comprising:
prior to accessing the cached content corresponding to the first HTTP URL, sending a search request to a search engine; and
receiving search results that include the first HTTP URL.

### Claim 12 (depends on 1)

The method as recited in claim 1, further comprising requesting the cached content.

### Claim 13 (depends on 12)

The method as recited in claim 12, wherein requesting the cached content comprises sending an HTTP GET to the first HTTP URL.

### Claim 14 (depends on 12)

The method as recited in claim 12, wherein requesting the cached content comprises requesting content from the first HTTP URL having the first host portion that is the same as a third host portion of a second HTTP URL for a search engine that previously returned search results.

### Claim 15 (depends on 12)

The method as recited in claim 12, wherein requesting the cached content comprises requesting content from the first HTTP URL having the first host portion that differs from a third host portion of a second HTTP URL for a search engine that previously returned search results.

### Claim 16

A non-transitory storage medium having stored thereon executable instructions that when executed by a processor of a content filter computer system, cause a content filter to:
receive, at the content filter computer system, a request to access cached content corresponding to a first Hypertext Transfer Protocol (HTTP) Universal Resource Locator (URL), wherein the first HTTP URL comprises a string that resolves into a location where the cached content is cached, and wherein the first HTTP URL includes a first host portion corresponding to a caching site;
identify, at the content filter computer system, an embedded HTTP URL within the string of the first HTTP URL, wherein the embedded HTTP URL includes a second host portion, and wherein the second host portion corresponds to a site that was accessed by a content caching module to retrieve the cached content;
extract, at the content filter computer system, the embedded HTTP URL from the first HTTP URL, wherein the embedded HTTP URL extracted from the first HTTP URL includes the second host portion;
determine, at the content filter computer system, whether or not access to the cached content corresponding to the first HTTP URL is permitted based on the embedded HTTP URL extracted from the first HTTP URL; and
if access to the cached content corresponding to the first HTTP URL is permitted, permit access to the cached content, otherwise, not permit access to the cached content,
wherein the embedded HTTP URL is embedded in one of a path portion and searchpart portion of the first HTTP URL, and wherein identifying the embedded HTTP URL comprises parsing one or more of the path portion and searchpart portion of the first HTTP URL to identify text resembling the embedded HTTP URL.

### Claim 17 (depends on 16)

The non-transitory storage medium as recited in claim 16, wherein the executable instructions include instructions that, when executed by the processor, cause the content filter to identify the second host portion corresponding to a Web site that is blocked by content filtering rules.

### Claim 18 (depends on 16)

The non-transitory storage medium as recited in claim 16, wherein the executable instructions include instructions that, when executed by the processor, cause the content filter to determine that access to the cached content corresponding to the first HTTP URL is to be blocked, even though access to a Web site corresponding to the first host portion of the first HTTP URL is permitted.

### Claim 19

A computer system for filtering electronic content based on an embedded URL, the computer system comprising one or more processing units and memory, the memory containing instructions that when executed by the one or more processing units, cause a content filter to:
receive a request from one of the processing units to access cached content corresponding to a first a Hypertext Transfer Protocol (HTTP) Universal Resource Locator (URL), wherein the first HTTP URL comprises a string that resolves into a location where the cached content is cached, and wherein the first HTTP URL includes a first host portion corresponding to a caching site;
identify an embedded HTTP URL within the string of the first HTTP URL, wherein the embedded HTTP URL includes a second host portion, and wherein the second host portion corresponds to a site that was accessed by a content caching module to retrieve the cached content;
extract the embedded HTTP URL from the first HTTP URL, wherein the embedded HTTP URL extracted from the first HTTP URL includes the second host portion;
determine whether or not access to the cached content corresponding to the first HTTP URL is permitted based on the embedded HTTP URL extracted from the first HTTP URL; and
if access to the cached content corresponding to the first HTTP URL is permitted, permit access to the cached content, otherwise, not permit access to the cached content,
wherein the embedded HTTP URL is embedded in one of a path portion and searchpart portion of the first HTTP URL, and wherein identifying the embedded HTTP URL comprises parsing one or more of the path portion and searchpart portion of the first HTTP URL to identify text resembling the embedded HTTP URL.

### Claim 20 (depends on 19)

The computer system as recited in claim 19, wherein the first HTTP URL comprises one of: a search engine URL, an archive site URL, or a language translation site URL.

### Claim 21 (depends on 19)

The computer system as recited in claim 19, wherein the content filter is further configured to identify the second host portion corresponding to a Web site that is blocked by the content filter.

### Claim 22 (depends on 19)

The computer system as recited in claim 19, wherein the content filter is further configured to determine that access to the cached content is to be blocked, even though access to a Web site corresponding to the first host portion of the first HTTP URL is permitted.
