IP Library Granted Patent US 9,237,204
Granted Patent B1
US 9,237,204 · App. 14/497,167 · Granted Jan 12, 2016

Web redirection for caching

Inventors: Paul Michael Martini (San Diego, CA); Peter Anthony Martini (San Diego, CA)
Assignee: iboss, Inc.
H04L67/2842H04L67/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,237,204
App. No.
14/497,167
Granted
Jan 12, 2016
Kind
B1
Abstract

This specification generally relates to using redirect messages to implement caching. One example method includes receiving from a client a first request for a network resource, the first request including an original location of the network resource; determining that a response to the first request is to be cached; sending a redirect response to the client including a cache location for the network resource; receiving a second request for the network resource from the client, the second request including the cache location; in response to receiving the second request for the network resource from the client: determining that the network resource has not been previously cached; retrieving the network resource from the original location; caching the retrieved network resource in a location associated with the cache location for the network resource; and sending the retrieved network resource to the client.

Claims (54)

1. A computer-implemented method executed by one or more processors, the method comprising:

receiving from a client a first request for a network resource, the first request including an original location of the network resource;

determining that a response to the first request is to be cached based at least in part on a resource type associated with the network resource, wherein the resource type associated with the network resource is determined based on a file extension included in the original location;

in response to determining that the response to the first request is to be cached, sending a redirect response to the client including a cache location for the network resource;

receiving from the client a second request for the network resource, the second request including the cache location;

in response to receiving the second request from the client for the network resource:

determining that the network resource has not been previously cached;

in response to determining that the network resource has not been previously cached:

retrieving the network resource from the original location;

caching the retrieved network resource in a storage associated with the cache location for the network resource; and

sending the retrieved network resource to the client.

2. The method of claim 1 , wherein receiving the first request for the network resource includes receiving an Hypertext Transfer Protocol (HTTP) GET request, and the original location for the network resource includes a Uniform Resource Locator (URL) for the network resource.

3. The method of claim 2 , wherein sending the redirect response to the client includes sending an HTTP redirect message to the client, and cache location includes a URL associated with a cache server and the URL for the network resource.

4. The method of claim 1 , wherein determining that the response to the first request is to be cached includes determining that a domain name associated with the network resource is included in a list of domain names to be cached.

5. The method of claim 1 , wherein determining that the response to the first request is to be cached is based at least in part on a domain name included in the original location for the network resource.

6. The method of claim 1 , wherein the resource type is one of a video file, an archive file, an executable file, or an image file.

7. The method of claim 1 , wherein determining that the response to the first request is to be cached is based at least in part on a category associated with the network resource.

8. The method of claim 1 , wherein the client is a first client, the method further comprising:

receiving a third request for the network resource from a second client, the third request including the original location for the network resource;

sending a redirect response to the second client including the cache location for the network resource;

receiving a fourth request for the network resource from the second client, the fourth request including the cache location;

in response to receiving the fourth request for the network resource from the second client:

determining that the network resource has been previously stored; and

sending the stored network resource to the second client.

9. A non-transitory, computer-readable medium storing instructions operable when executed to cause at least one processor to perform operations comprising:

receiving from a client a first request for a network resource, the first request including an original location of the network resource;

determining that a response to the first request is to be cached, based at least in part on a resource type associated with the network resource, wherein the resource type associated with the network resource is determined based on a file extension included in the original location;

in response to determining that the response to the first request is to be cached, sending a redirect response to the client including a cache location for the network resource;

receiving a second request for the network resource from the client, the second request including the cache location;

in response to receiving the second request for the network resource from the client:

determining that the network resource has not been previously cached;

in response to determining that the network resource has not been previously cached:

retrieving the network resource from the original location;

caching the retrieved network resource in a storage associated with the cache location for the network resource; and

sending the retrieved network resource to the client.

10. The non-transitory, computer-readable medium of claim 9 , wherein receiving the first request for the network resource includes receiving an Hypertext Transfer Protocol (HTTP) GET request, and the original location for the network resource includes a Uniform Resource Locator (URL) for the network resource.

11. The non-transitory, computer-readable medium of claim 10 , wherein sending the redirect response to the client includes sending an HTTP redirect message to the client, and cache location includes a URL associated with a cache server and the URL for the network resource.

12. The non-transitory, computer-readable medium of claim 9 , wherein determining that the response to the first request is to be cached includes determining that a domain name associated with the network resource is included in a list of domain names to be cached.

13. The non-transitory, computer-readable medium of claim 9 , wherein determining that the response to the first request is to be cached is based at least in part on a domain name included in the original location for the network resource.

14. The non-transitory, computer-readable medium of claim 9 , wherein the resource type is one of a video file, an archive file, an executable file, or an image file.

15. The non-transitory, computer-readable medium of claim 9 , wherein determining that the response to the first request is to be cached is based at least in part on a category associated with the network resource.

16. A system comprising:

memory for storing data; and

one or more processors operable to perform operations comprising:

receiving from a client a first request for a network resource, the first request including an original location of the network resource;

determining that a response to the first request is to be cached, based at least in part on a resource type associated with the network resource, wherein the resource type associated with the network resource is determined based on a file extension included in the original location;

in response to determining that the response to the first request is to be cached, sending a redirect response to the client including a cache location for the network resource;

receiving a second request for the network resource from the client, the second request including the cache location;

in response to receiving the second request for the network resource from the client:

determining that the network resource has not been previously cached;

in response to determining that the network resource has not been previously cached:

retrieving the network resource from the original location;

caching the retrieved network resource in a storage associated with the cache location for the network resource; and

sending the retrieved network resource to the client.

Assignments (6)
SUPPLEMENTAL INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0266 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 28, 2023
From: IBOSS, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066158/0219 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Dec 12, 2023
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK TRUST COMPANY
To: IBOSS, INC.
Reel/Frame 066140/0480 →
SECURITY INTEREST Recorded Sep 19, 2022
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 061463/0331 →
SECURITY INTEREST Recorded Dec 16, 2020
From: IBOSS, INC.
To: SILICON VALLEY BANK
Reel/Frame 054789/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2014
From: MARTINI, PAUL MICHAEL; MARTINI, PETER ANTHONY
To: IBOSS, INC.
Reel/Frame 034523/0991 →
Continuity (1)
Provisional Application 62031080 · Jul 30, 2014