Method and system of using a local hosted cache and cryptographic hash functions to reduce network traffic
First Claim
Patent Images
1. A method of reducing bandwidth utilization of a network, the method comprising:
- receiving, at a server, a first request message from a client over the network, wherein the first request message contains an indication of a first set of data stored at the server;
determining, at the server, that the first request message is a request for encrypted data and the first request message contains an indication that the client is enabled to use a hosted cache;
generating a set of hashes using the first hash function for the first set of data stored at the server, wherein the set of hashes includes a first plurality of hashes corresponding to a first file, wherein the first file includes a first plurality of data portions, wherein each of the first plurality of hashes has a corresponding data portion of the first plurality of data portions, and wherein each hash of the set of hashes represents a statistically unique fingerprint of each data portion of the set of data;
transmitting, by the server to the client via the network, the set of hashes without the first set of data;
receiving, by the server, a second request message from the client over the network, wherein the second request message contains an indication of a second set of data stored at the server;
determining, at the server, that the second request message is a request for non-encrypted data; and
providing to the client the second set of data.
2 Assignments
0 Petitions
Accused Products
Abstract
The described method and system enables a client at a branch office to retrieve data from a local hosted cache instead of an application server over a WAN to improve latency and reduce overall WAN traffic. A server at the data center may be adapted to provide either a list of hashes or the requested data based on whether a hosted cache system is enabled. A hosted cache at the client side may provide the data to the client based on the hashes. The hashes may be generated to provide a fingerprint of the data which may be used to index the data in an efficient manner.
42 Citations
20 Claims
-
1. A method of reducing bandwidth utilization of a network, the method comprising:
-
receiving, at a server, a first request message from a client over the network, wherein the first request message contains an indication of a first set of data stored at the server; determining, at the server, that the first request message is a request for encrypted data and the first request message contains an indication that the client is enabled to use a hosted cache; generating a set of hashes using the first hash function for the first set of data stored at the server, wherein the set of hashes includes a first plurality of hashes corresponding to a first file, wherein the first file includes a first plurality of data portions, wherein each of the first plurality of hashes has a corresponding data portion of the first plurality of data portions, and wherein each hash of the set of hashes represents a statistically unique fingerprint of each data portion of the set of data; transmitting, by the server to the client via the network, the set of hashes without the first set of data; receiving, by the server, a second request message from the client over the network, wherein the second request message contains an indication of a second set of data stored at the server; determining, at the server, that the second request message is a request for non-encrypted data; and providing to the client the second set of data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for reducing bandwidth utilization of a network comprising:
-
one or more processors; and a memory coupled to the one or more processors, the memory storing instructions that when executed by the one or more processors cause the one or more processors to; receive, at a server, a first request message from a client over the network, wherein the first request message contains an indication of a first set of data stored at the server; determine, at the server, that the first request message is a request for encrypted data and the first request message contains an indication that the client is enabled to use a hosted cache; generate a set of hashes using a first hash function for the first set of data stored at the server, wherein the set of hashes includes a first plurality of hashes corresponding to a first file, wherein the first file includes a first plurality of data portions, wherein each of the first plurality of hashes has a corresponding data portion of the first plurality of data portions, and wherein each hash of the set of hashes represents a statistically unique fingerprint of each data portion of the set of data; transmit, by the server to the client via the network, the set of hashes without the first set of data; receive, by the server, a second request message from the client over the network, wherein the second request message contains an indication of a second set of data stored at the server; determine, at the server, that the second request message is a request for non-encrypted data; and provide to the client the second set of data. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer memory comprising instructions that when executed perform a method for reducing bandwidth utilization of a network comprising:
- receiving, at a server, a first request message from a client over the network, wherein the first request message contains an indication of a first set of data stored at the server;
determining, at the server, that the first request message is a request for encrypted data and the first request message contains an indication that the client is enabled to use a hosted cache;
generating a set of hashes using a first hash function for the first set of data stored at the server, wherein the set of hashes includes a first plurality of hashes corresponding to a first file, wherein the first file includes a first plurality of data portions, wherein each of the first plurality of hashes has a corresponding data portion of the first plurality of data portions, and wherein each hash of the set of hashes represents a statistically unique fingerprint of each data portion of the set of data;
transmitting, by the server to the client via the network, the set of hashes without the first set of data;
receiving, by the server, a second request message from the client over the network, wherein the second request message contains an indication of a second set of data stored at the server;
determining, at the server, that the second request message is a request for non-encrypted data; and
providing to the client the second set of data. - View Dependent Claims (17, 18, 19, 20)
- receiving, at a server, a first request message from a client over the network, wherein the first request message contains an indication of a first set of data stored at the server;
Specification