IP Library Granted Patent US 8,738,691
Granted Patent B2
US 8,738,691 · App. 13/747,302 · Granted May 27, 2014

Systems and methods for caching and serving dynamic content

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 8,738,691
App. No.
13/747,302
Granted
May 27, 2014
Kind
B2
Abstract

A web server and a shared caching server are described for serving dynamic content to users of at least two different types, where the different types of users receive different versions of the dynamic content. A version of the dynamic content includes a validation header, such as an ETag, that stores information indicative of the currency of the dynamic content and information indicative of a user type for which the version of the dynamic content is intended. In response to a user request for the dynamic content, the shared caching server sends a validation request to the web server with the validation header information. The web server determines, based on the user type of the requestor and/or on the currency of the cached dynamic content whether to instruct the shared caching server to send the cached content or to send updated content for serving to the user.

Claims (54)

1. A computer-implemented method, comprising:

receiving, from a client, a request for content;

determining, with at least one processor, whether a cached version of the requested content is stored in a memory device, the cached version of the requested content reflecting a version of the requested content as of a particular time or date;

sending a validation request to an origin server when the cached version of the requested content exists, the validation request including at least information indicating whether the client is associated with at least one of a plurality of different categories of clients and header information based on the cached version of the requested content; and

receiving a validation response from the origin server if the client is associated with at least one of the plurality of different categories of clients, the validation response including:

an instruction to provide the cached version of the requested content to the client if the requested content has not been modified since the particular time or date of the cached version of the requested content; and

an instruction to provide a current version of the requested content to the client if the requested content has been modified since the particular time or date of the cached version of the requested content.

2. The method of claim 1 , further comprising:

providing the cached version of the requested content or the current version of the requested content to the client according to the validation response.

3. The method of claim 1 , wherein the client is associated with at least one of a first category of clients or a second category of clients.

4. The method of claim 3 , wherein:

the first category of clients comprises clients with ownership rights to the requested content; and

the second category of clients comprises clients without ownership rights to the requested content.

5. The method of claim 1 , wherein the requested content comprises content associated with a web page.

6. The method of claim 1 , further comprising:

storing the current version as the cached version in the memory device responsive to receiving the instruction to provide the current version of the requested content to the client.

7. A computer-implemented method, comprising:

receiving, from a cache server, a validation request including at least information indicating whether a client requesting content is associated with at least one of a plurality of different categories of clients and header information based on a cached version of the requested content in the cache server, the cached version of the requested content reflecting a version of the requested content as of a particular time or date;

determining, with at least one processor, if the client is associated with at least one of the plurality of different categories of clients;

generating a validation response if the client is associated with at least one of the plurality of different categories of clients, the validation response including:

an instruction to provide the cached version of the requested content to the client if the requested content has not been modified since the particular time or date of the cached version of the requested content; and

an instruction to provide a current version of the requested content to the client if the requested content has been modified since the particular time or date of the cached version of the requested content.

8. The method of claim 7 , further comprising:

transmitting the validation response to the cache server.

9. The method of claim 7 , wherein the requested content comprises content associated with a web page.

10. A cache server, comprising:

a processing system comprising one or more processors; and

a memory system comprising one or more computer-readable media containing instructions that, when executed by the processing system, cause the cache server to perform operations comprising:

receiving, from a client, a request for content;

determining whether a cached version of the requested content is stored in memory, the cached version of the requested content reflecting a version of the requested content as of a particular time or date;

sending a validation request to an origin server when the cached version of the requested content exists, the validation request including at least information indicating whether the client is associated with at least one of a plurality of different categories of clients and header information based on the cached version of the requested content; and

receiving a validation response from the origin server if the client is associated with at least one of the plurality of different categories of clients, the validation response including:

an instruction to provide the cached version of the requested content to the client if the requested content has not been modified since the particular time or date of the cached version of the requested content; and

an instruction to provide a current version of the requested content to the client if the requested content has been modified since the particular time or date of the cached version of the requested content.

11. The cache server of claim 10 , wherein the memory system further includes instructions for causing the cache server to perform additional operations, including:

providing the cached version of the requested content or the current version of the requested content to the client according to the validation response.

12. The cache server of claim 10 , wherein the client is associated with at least one of a first category of clients or a second category of clients.

13. The cache server of claim 12 , wherein:

the first category of clients comprises clients with ownership rights to the requested content; and

the second category of clients comprises clients without ownership rights to the requested content.

14. The cache server of claim 10 , wherein the requested content comprises content associated with a web page.

15. The cache server of claim 10 , wherein the memory system further includes instructions for causing the cache server to perform additional operations, including:

storing the current version as the cached version in the memory responsive to receiving the instruction to provide the current version of the requested content to the client.

16. An origin server, comprising:

a processing system comprising one or more processors; and

a memory system comprising one or more computer-readable media containing instructions that, when executed by the processing system, cause the origin server to perform operations comprising:

receiving, from a cache server, a validation request including at least information indicating whether a client requesting content is associated with at least one of a plurality of different categories of clients and header information based on a cached version of the requested content in the cache server, the cached version of the requested content reflecting a version of the requested content as of a particular time or date;

determining if the client is associated with at least one of a plurality of different categories of clients;

generating a validation response if the client is associated with at least one of the plurality of different categories of clients, the validation response including:

an instruction to provide the cached version of the requested content to the client if the requested content has not been modified since the particular date or time of the cached version of the requested content; and

an instruction to provide a current version of the requested content to the client if the requested content has been modified since the particular date or time of the cached version of the requested content.

17. The origin server of claim 16 , wherein the memory system further includes instructions for causing the origin server to perform additional operations, including:

transmitting the validation response to the cache server.

18. The origin server of claim 16 , wherein the requested content comprises content associated with a web page.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
CHANGE OF NAME Recorded Aug 24, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 043672/0369 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936/0011 Recorded Jul 1, 2015
From: JPMORGAN CHASE BANK, N.A.
To: AOL ADVERTISING INC.; AOL INC.; BUYSIGHT, INC.; MAPQUEST, INC.; PICTELA, INC.
Reel/Frame 036042/0053 →
SECURITY AGREEMENT Recorded Aug 2, 2013
From: AOL INC.; AOL ADVERTISING INC.; BUYSIGHT, INC.; MAPQUEST, INC.; PICTELA, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030936/0011 →