Meta-data based method for local cache utilization
First Claim
Patent Images
1. A system for caching data using a client-server model, the system comprising:
- a client proxy in communication with a client, and a server proxy in communication with a server hosting response data, wherein the client proxy and the server proxy are in communication with each other;
a server computer comprising a processor configured to generate server proxy meta-data from a server proxy cache of response data to identify a server response data version, wherein the server proxy meta-data is distinct from the server response data; and
,a client computer comprising a processor configured to generate client proxy meta-data from a client proxy cache of response data to identify a client response data version, wherein the client proxy meta-data is computed independently of the server proxy meta-data and the client proxy meta-data is distinct from the client response data, and further configured to transmit the client proxy meta-data from the client proxy to the server proxy;
wherein the server computer is further configured to compare the client proxy meta-data to the server proxy meta-data to determine if the response data version associated with the client proxy meta-data is valid.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for caching data and verifying cached data using a client-server model and meta-data. In particular, a client proxy and a server proxy are in communication with each other and with the client and the server, respectively; client proxy meta-data and server proxy meta-data related to the data cached by the client proxy and server proxy, respectively, are calculated and communicated between the client proxy and the server proxy; and the client proxy meta-data and the server proxy meta-data are compared to determine a cache hit or miss.
-
Citations
13 Claims
-
1. A system for caching data using a client-server model, the system comprising:
-
a client proxy in communication with a client, and a server proxy in communication with a server hosting response data, wherein the client proxy and the server proxy are in communication with each other; a server computer comprising a processor configured to generate server proxy meta-data from a server proxy cache of response data to identify a server response data version, wherein the server proxy meta-data is distinct from the server response data; and
,a client computer comprising a processor configured to generate client proxy meta-data from a client proxy cache of response data to identify a client response data version, wherein the client proxy meta-data is computed independently of the server proxy meta-data and the client proxy meta-data is distinct from the client response data, and further configured to transmit the client proxy meta-data from the client proxy to the server proxy; wherein the server computer is further configured to compare the client proxy meta-data to the server proxy meta-data to determine if the response data version associated with the client proxy meta-data is valid. - View Dependent Claims (2)
-
-
3. A method for optimizing the transmission of data from a server located on a server computer to a client located on a client computer the method comprising steps for:
-
a) upon a client request for response data hosted by the server located on the server computer to a client proxy, determining if a prior version of said response data exists in a client proxy cache, if so forwarding a request containing client proxy meta-data computed from said prior version of said response data to a server proxy to identify said prior version; b) if at step a) said prior version of said response data does not exist in said client proxy cache, sending a request for said response data to said server proxy; c) upon receipt of a request from step a), said server proxy determining if said prior version of said response data is current based on comparing said client proxy meta-data with server proxy meta-data computed from the response data requested;
if said prior version of said response data is current, informing said client proxy of this; and
if not, then fetching the current response data from the said server, returning current response data and computing new server proxy meta-data from said current response data, to identify a current server version;d) upon receipt of a request from step b), fetching current response data from said server, computing server proxy meta-data from said current response data, to identify the current server version, and sending said current response data to said client proxy; e) computing said client proxy meta-data, from said current response data, to identify a current client version when said client proxy receives said current response data from said server proxy; and f) based on the preceding steps, forwarding said prior version of said response data or said current response data from said client proxy to said client located on the client computer. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. A method for ascertaining the validity of cached response data on a HTTP client located on a client computer for a given URL, the method comprising steps for:
-
a) receiving at a client proxy a client request for response data hosted by an HTTP server located on a server computer; b) determining if a client proxy version of the response data exists in a client proxy cache; c) sending a request comprising client proxy meta-data, computed from the client proxy version of the response data, to a server proxy if it is determined in step b) that the client proxy version of the response data exists in the client proxy cache; d) forwarding the client request for the response data to the server proxy if it is determined at step b) that the client proxy version of the response data does not exist in the client proxy cache; e) if a server proxy version of the requested response data is not found, receiving at the server proxy current response data retrieved from the HTTP server and computing server proxy meta-data from the retrieved current response data; f) receiving at the client proxy a notification from the server proxy that the client proxy version of the response data is current if a comparison is made of the client proxy meta-data and the server proxy meta-data, computed from the server proxy version of the response data, and it is determined that the client proxy version of the response data is current; and
if it is determined that the client proxy version of the response data is not current, receiving at the client proxy the retrieved current response data from the server proxy;g) computing client proxy meta-data from the received current response data independently of the server proxy meta-data; and h) forwarding the prior version of the data or the retrieved current response data from the client proxy to the client located on the client computer. - View Dependent Claims (10, 11)
-
-
12. A non-transitory computer-readable medium upon which a lurality of instructions are stored for instructing a client computer to execute a method comprising
a) upon a client request, from a client located on the client computer, for response data, hosted by a server located on a server computer, to a client proxy, determining if a prior version of said response data exists in a client proxy cache, and if so, forwarding a request containing client proxy meta-data, computed from said prior version of said response data, to a server proxy to identify said prior version; -
b) if at step a) said prior version of said response data does not exist in said client proxy cache, sending a request for said response data to said server proxy; c) upon receipt of a request from step a), said server proxy determining if said prior version of said response data is current, based on comparing said client proxy meta-data with server proxy meta-data computed from the response data requested;
if said prior version of said response data is current, informing said client proxy of this;
if not, then fetching the current response data from the said server, returning current response data and computing new server proxy meta-data from said current response data, to identify a current server version;d) upon receipt of a request from step b), fetching current response data from said server, computing server proxy meta-data from said current response data, to identify the current server version, and sending said current response data to said client proxy; e) computing said client proxy meta-data from said current response data to identify a current client version when said client proxy receives said current response data from said server proxy; and f) based on the preceding steps, forwarding said prior version of said response data or said current response data from said client proxy to said client.
-
-
13. A non-transitory computer-readable medium upon which a plurality of instructions are stored for instructing a computer to execute a method comprising steps for
a) receiving at a client proxy a client request from a client for response data hosted by an HTTP server located on a server computer; -
b) determining if a client proxy version of the response data exists in a client proxy cache; c) sending a request comprising client proxy meta-data computed from the client proxy version of the response data to a server proxy if it is determined in step b) that the client proxy version of the response data exists in the client proxy cache; d) forwarding the client request for the response data to the server proxy if it is determined at step b) that the client proxy version of the response data does not exist in the client proxy cache; e) if a server proxy version of the requested response data is not found, receiving at the server proxy current response data retrieved from the HTTP server and computing server proxy meta-data from the retrieved current response data; f) receiving at the client proxy a notification from the server proxy that the client proxy version of the response data is current if a comparison is made of the client proxy meta-data and the server proxy meta-data, computed from the server proxy version of the response data, and it is determined that the client proxy version of the response data is current; and
if it is determined that the client proxy version of the response data is not current, receiving at the client proxy the retrieved current response data from the server proxy;g) computing client proxy meta-data from the received current response data independently of the server proxy meta-data; and h) forwarding the prior version of the data or the retrieved current response data from the client proxy to the client.
-
Specification