Cache validation using smart source selection in a data network
First Claim
Patent Images
1. A method of processing a request for content in a cache server comprising:
- receiving, by the cache server, the request for the content from a client;
determining, by the cache server, if a stale copy of the content is in the cache server;
estimating, by the cache server, a freshness metric and an estimate of a fetching time for each one of a group of servers;
selecting, by the cache server, a source server from the group of servers, based on a comparison of an expected remaining freshness of a copy of the content stored at each one of the group of servers computed based on the estimating, when the stale copy of the content is in the cache server, wherein the group of servers comprises a high level cache server and an origin server, wherein the high level cache server comprises a reverse proxy for the origin server, wherein the high level cache server performs a pre-term refresh from the origin server in accordance with a scheduled process to check for content that has a respective freshness metric below a threshold, wherein the content comprises popular content defined as content that has a number of requests above a request threshold per an interval, and wherein the origin server has a copy of the content with a zero age;
sending, by the cache server, a validation request to the source server; and
updating the freshness of the content based on a response from the source server where the copy of the content stored at the source server has not been modified.
3 Assignments
0 Petitions
Accused Products
Abstract
In accordance with aspects of the invention, “low-level” caches can utilize source selection while non-authoritative sources can take advantage of rejuvenation to alleviate what the inventor refers to as “age penalty” and thereby reduce validation traffic.
24 Citations
12 Claims
-
1. A method of processing a request for content in a cache server comprising:
-
receiving, by the cache server, the request for the content from a client; determining, by the cache server, if a stale copy of the content is in the cache server; estimating, by the cache server, a freshness metric and an estimate of a fetching time for each one of a group of servers; selecting, by the cache server, a source server from the group of servers, based on a comparison of an expected remaining freshness of a copy of the content stored at each one of the group of servers computed based on the estimating, when the stale copy of the content is in the cache server, wherein the group of servers comprises a high level cache server and an origin server, wherein the high level cache server comprises a reverse proxy for the origin server, wherein the high level cache server performs a pre-term refresh from the origin server in accordance with a scheduled process to check for content that has a respective freshness metric below a threshold, wherein the content comprises popular content defined as content that has a number of requests above a request threshold per an interval, and wherein the origin server has a copy of the content with a zero age; sending, by the cache server, a validation request to the source server; and updating the freshness of the content based on a response from the source server where the copy of the content stored at the source server has not been modified. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A memory unit storing program instructions which, when executed by a cache server, cause the cache server to perform operations of processing a request for in the cache server, the operations comprising:
-
receiving the request for the content from a client; determining if a stale copy of the content is in the cache server; estimating a freshness metric and an estimate of a fetching time for each one of a group of servers; selecting a source server from the group of servers, based on a comparison of an expected remaining freshness of a copy of the content stored at each one of the group of servers computed based on the estimating, when the stale copy of the content is in the cache server, wherein the group of servers comprises a high level cache server and an origin server, wherein the high level cache server comprises a reverse proxy for the origin server, wherein the high level cache server performs a pre-term refresh from the origin server in accordance with a scheduled process to check for content that has a respective freshness metric below a threshold, wherein the content comprises popular content defined as content that has a number of requests above a request threshold per an interval, and wherein the origin server has a copy of the content with a zero age; sending a validation request to the source server; and updating the freshness of the content based on a response from the source server where the copy of the content stored at the source server has not been modified. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification