US2018004748A1PendingUtilityA1

Method and system of using a local hosted cache and cryptographic hash functions to reduce network traffic

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Jun 19, 2008Filed: Aug 11, 2017Published: Jan 4, 2018
Est. expiryJun 19, 2028(~1.9 yrs left)· nominal 20-yr term from priority
G06F 16/137G06F 16/9014G06F 16/24552G06F 16/172G06F 16/2255G06F 16/183G06F 16/27G06F 17/3033G06F 17/3048G06F 17/30132G06F 17/30949H04L 9/00G06F 16/00H04L 65/00H04L 9/40H04L 9/32
51
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 - 20 . (canceled) 
     
     
         21 . A method, comprising:
 receiving, at a server, a first request message from a client over a network, wherein the first request message comprises 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;   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.   
     
     
         22 . The method of  claim 21 , further comprising providing the client a second hash function that corresponds to the first hash function used to produce the set of hashes for the first set of data. 
     
     
         23 . The method of  claim 21 , further comprising receiving from the hosted cache a request for the first set of data when the hosted cache does not contain the requested first set of data. 
     
     
         24 . The method of  claim 21 , further comprising pre-populating the hosted cache with a set of data known to have a high access rate. 
     
     
         25 . The method of  claim 21 , wherein the server maintains state and stores information indicating whether the first set of data has been previously requested and sent to a peer node accessible by the client. 
     
     
         26 . The method of  claim 25 , further comprising, upon determining that the first set of data has been previously requested and sent to a peer node accessible by the client, sending hashes of the first set of data to the client in any subsequent requests for the first set of data. 
     
     
         27 . The method of  claim 21 , wherein the indication that the client is enabled to use the hosted cache comprises an indication of the client's identity, and wherein the method further comprises determining that the client is enabled to use the hosted cache by looking up the client identity in a store. 
     
     
         28 . A server system, comprising:
 at least one processor;   memory, operatively connected to the at least one processor and storing instructions that, when executed by the at least one processor, cause the system to perform a method, the method comprising:
 receiving, at the server system, a first request message from a client over a network, wherein the first request message comprises an indication of a first set of data stored at the server system; 
 determining, at the server system, 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 system; 
 transmitting, by the server system to the client via the network, the set of hashes without the first set of data; 
 receiving, by the server system, 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 system; 
 determining, at the server system, that the second request message is a request for non-encrypted data; and 
 providing to the client the second set of data. 
   
     
     
         29 . The server system of  claim 28 , the method further comprising providing the client a second hash function that corresponds to the first hash function used to produce the set of hashes for the first set of data. 
     
     
         30 . The server system of  claim 28 , the method further comprising receiving from the hosted cache a request for the first set of data when the hosted cache does not contain the requested first set of data. 
     
     
         31 . The server system of  claim 28 , the method further comprising pre-populating the hosted cache with a set of data known to have a high access rate. 
     
     
         32 . The server system of  claim 28 , wherein the server system maintains state and stores information indicating whether the first set of data has been previously requested and sent to a peer node accessible by the client. 
     
     
         33 . The server system of  claim 32 , the method further comprising, upon determining that the first set of data has been previously requested and sent to a peer node accessible by the client, sending hashes of the first set of data to the client in any subsequent requests for the first set of data. 
     
     
         34 . The server system of  claim 28 , wherein the indication that the client is enabled to use the hosted cache comprises an indication of the client's identity, and wherein the method further comprises determining that the client is enabled to use the hosted cache by looking up the client identity in a store. 
     
     
         35 . A computer memory storing instructions that, when executed by at least one processor, perform a method, the method comprising:
 receiving, at a server, a first request message from a client over a network, wherein the first request message comprises 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;   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.   
     
     
         36 . The computer memory of  claim 35 , the method further comprising providing the client a second hash function that corresponds to the first hash function used to produce the set of hashes for the first set of data. 
     
     
         37 . The computer memory of  claim 35 , the method further comprising receiving from the hosted cache a request for the first set of data when the hosted cache does not contain the requested first set of data. 
     
     
         38 . The computer memory of  claim 35 , the method further comprising pre-populating the hosted cache with a set of data known to have a high access rate. 
     
     
         39 . The computer memory of  claim 35 , wherein the server maintains state and stores information indicating whether the first set of data has been previously requested and sent to a peer node accessible by the client. 
     
     
         40 . The computer memory of  claim 35 , wherein the indication that the client is enabled to use the hosted cache comprises an indication of the client's identity, and wherein the method further comprises determining that the client is enabled to use the hosted cache by looking up the client identity in a store.

Join the waitlist — get patent alerts

Track US2018004748A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.