Using entity tags (ETags) in a hierarchical HTTP proxy cache to reduce network traffic

US9253278B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9253278-B2
Application numberUS-201213360891-A
CountryUS
Kind codeB2
Filing dateJan 30, 2012
Priority dateJan 30, 2012
Publication dateFeb 2, 2016
Grant dateFeb 2, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed is a program for validating a web cache independent of an origin server. A computer in between a client computer and the origin server computer receives a request for a resource and an entity tag (ETag) corresponding to the request. The computer forwards the request to the origin server and subsequently receives the resource. The computer generates an ETag for the received resource and compares the generated ETag to the ETag corresponding to the request. If the ETags match, the computer sends an indication toward the client computer that the resource has not been modified.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for validating a web cache, the method comprising the steps of: an intermediate computer, connectedly disposed between an origin server computer and a client computer, receiving a request for a resource stored on the origin server computer from the client computer; the intermediate computer forwarding the request for the resource to the origin server computer and receiving a first copy of the resource from the origin server computer; the intermediate computer determining that the received first copy of the resource does not have an associated ETag, and in response, generating a first ETag for the first copy of the resource received from the origin server computer, caching at least the generated first ETag, and sending the first copy of the resource to the requesting client computer; the intermediate computer receiving a subsequent request from the client computer, wherein the subsequent request seeks an updated version of the resource stored on the origin server computer and, if no updated version of the resource exists, validation of the client computer's cached version of the resource, the subsequent request including the first ETag, now corresponding to the cached version of the resource on the client computer; responsive to receiving the subsequent request, the intermediate computer requesting and receiving a second copy of the resource from the origin server computer, irrespective of whether the resource on the origin server has been modified since the previous request for the resource; subsequent to receiving the second copy of the resource from the origin server computer, the intermediate computer generating a new ETag for the second copy of the resource; the intermediate computer comparing the new ETag for the second copy of the resource with the first ETag to determine at the intermediate computer whether the resource on the origin server matches the cached version of the resource on the client computer; if the intermediate computer determines that the new ETag and the first ETag match, the intermediate computer sending a response to the client computer indicating that the cached version of the resource on the client computer is up to date; and if the intermediate computer determines that the new ETag does not match the first ETag, the intermediate computer caching at least the new ETag, and sending the second copy of the resource to the requesting client computer. 2. The method of claim 1 , wherein the request for the resource originates at the client computer. 3. The method of claim 1 , wherein the request for the resource originates at another computer and is forwarded by the client computer. 4. The method of claim 3 , wherein the client computer receives the request for the resource from the other computer and inserts the first ETag into a header of the forwarded request. 5. A computer program product for validating a web cache, the computer program product comprising: one or more non-volatile computer-readable tangible storage devices and program instructions stored on at least one of the one or more non-volatile storage device, the program instructions comprising: program instructions to receive, at an intermediate computer, a request for a resource stored on an origin server computer from a client computer; program instructions to forward the request for the resource to the origin server computer and receive a first copy of the resource from the origin server computer; program instructions to determine that the received first copy of the resource does not have an associated ETag, and in response, generate a first ETag for the first copy of the resource received from the origin server computer, cache at least the generated first ETag at the intermediate computer, and send the first copy of the resource to the requesting client computer; program instructions to receive a subsequent request from the client computer, wherein the subsequent request seeks an updated version of the resource stored on the origin server computer and, if no updated version of the resource exists, validation of the client computer's cached version of the resource, the subsequent request including the first ETag, now corresponding to the cached version of the resource on the client computer; program instructions to, responsive to receiving the subsequent request, request and receive a second copy of the resource from the origin server computer, irrespective of whether the resource on the origin server has been modified since the previous request for the resource; program instructions to, subsequent to receiving the second copy of the resource from the origin server computer, generate a new ETag for the second copy of the resource; program instructions to compare the new ETag for the second copy of the resource with the first ETag to determine at the intermediate computer whether the resource on the origin server matches the cached version of the resource on the client computer; program instructions to, in response to determining that the new ETag and the first ETag match, send a response from the intermediate computer to the client computer indicating that the cached version of the resource on the client computer is up to date; and program instructions to, in response to determining that the new ETag and the first ETag do not match, cache at least the new ETag, and send the second copy of the resource to the requesting client computer. 6. The computer program product of claim 5 , wherein the request for the resource originates at the client computer. 7. The computer program product of claim 5 , wherein the request for the resource originates at another computer and is forwarded by the client computer. 8. A computer system for validating a web cache, the computer system comprising: one or more processors, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more storage device for execution by at least one of the one or more processors, the program instructions comprising: program instructions to receive, at an intermediate computer, a request for a resource stored on an origin server computer from a client computer; program instructions to forward the request for the resource to the origin server computer and receive a first copy of the resource from the origin server computer; program instructions to determine that the received first copy of the resource does not have an associated ETag, and in response, generate a first ETag for the first copy of the resource received from the origin server computer, cache at least the generated first ETag at the intermediate computer, and send the first copy of the resource to the requesting client computer; program instructions to receive a subsequent request from the client computer, wherein the subsequent request seeks an updated version of the resource stored on the origin server computer and, if no updated version of the resource exists, validation of the client computer's cached version of the resource, the subsequent request including the first ETag, now corresponding to the cached version of the resource on the client computer; program instructions to, responsive to receiving the subsequent request, request and receive a second copy of the resource from the origin server computer, irrespective of whether the resource on the origin server has been modified since the previous request for the resource; program instructions to, subsequent to receiving the second copy of the resource from the origin server computer, generate a new ETag for the second copy of the resource; program instructions to compare the new ETag for the second copy of the resource with the first ETag to determine at the intermediate computer w

Assignees

Inventors

Classifications

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • Protocols for data compression, e.g. ROHC · CPC title

  • Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title

  • Electricity · mapped topic

  • Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9253278B2 cover?
Disclosed is a program for validating a web cache independent of an origin server. A computer in between a client computer and the origin server computer receives a request for a resource and an entity tag (ETag) corresponding to the request. The computer forwards the request to the origin server and subsequently receives the resource. The computer generates an ETag for the received resource an…
Who is the assignee on this patent?
Hayton Stuart J, Jones David R, Lobo Alwyn R, and 3 more
What technology area does this patent fall under?
Primary CPC classification H04L67/2852. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 02 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).