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;
a communication module configured to provide communication between the client proxy and the server proxy;
a processor module configured togenerate server proxy meta-data from a server proxy cache of response, wherein the server proxy meta-data is distinct from the server response data; and
,generate client proxy meta-data from a client proxy cache of response data, 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;
wherein the processor module is further configured to compare the client proxy meta-data to the server proxy meta-data to determine if the response data 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.
35 Citations
17 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; a communication module configured to provide communication between the client proxy and the server proxy; a processor module configured to generate server proxy meta-data from a server proxy cache of response, wherein the server proxy meta-data is distinct from the server response data; and
,generate client proxy meta-data from a client proxy cache of response data, 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; wherein the processor module is further configured to compare the client proxy meta-data to the server proxy meta-data to determine if the response data associated with the client proxy meta-data is valid. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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 a server computer to a client proxy, determining if a prior version of said response data exists in a client proxy cache, if so computing client proxy meta-data from said prior version of said response data 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 computing client proxy meta-data in step a), determining if said prior version of said response data is current by 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 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 and computing server proxy meta-data from said current response data to identify the current server version; e) after fetching the current response data in step e), computing said client proxy meta-data from said current response data to identify a current client; 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 (8, 9, 10, 11, 12)
-
-
13. A method for ascertaining the validity of cached response data on a HTTP client located on a 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) sending a request to the server proxy for the response data 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 current response data retrieved from the HTTP server at the server proxy and computing server proxy meta-data from the retrieved current response data; f) receiving a notification from processor module that the client proxy version of the response data is current when a comparison is made, by the processor module, of the client proxy meta-data and the server proxy meta-data, computed from the server proxy version of the response data, and the processor module determines that the client proxy version of the response data is current, otherwise, receiving the retrieved current response data from the server proxy at the client 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 (14, 15)
-
-
16. A non-transitory computer-readable medium upon which a plurality 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, if so sending a request containing client proxy meta-data computed from said prior version of said response data to a processor module 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 processor module 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 said server proxy fetching the current response data from the said server, returning current response data and said processor module 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) said server proxy fetching current response data from said server, and said processor module computing server proxy meta-data from said current response data to identify the current server version; e) said processor module 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.
-
-
17. 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 a client request from a client for response data hosted by an HTTP server located on a server computer at a client proxy; -
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 processor module if it is determined in step b) that the client proxy version of the response data exists in the client proxy cache; d) sending a request to the server proxy for the response data 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 current response data retrieved from the HTTP server at the server proxy and said processor module computing server proxy meta-data from the retrieved current response data; f) receiving a notification from the server proxy that the client proxy version of the response data is current when a comparison is made, by said processor module, 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, otherwise, receiving the retrieved current response data from the server proxy at the client proxy; g) said processor module 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