US10346304B2ActiveUtilityA1

Cache management for multi-node databases

75
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Jul 25, 2017Filed: Jul 25, 2017Granted: Jul 9, 2019
Est. expiryJul 25, 2037(~11 yrs left)· nominal 20-yr term from priority
G06F 11/3438G06F 2201/80G06F 11/073G06F 12/0815G06F 16/24552G06F 16/273G06F 16/2358
75
PatentIndex Score
2
Cited by
16
References
18
Claims

Abstract

Techniques related to cache management for multi-node databases are disclosed. In some embodiments, a system comprises one or more computing devices including a training component, data store, cache, filtering component, and listening component. The training component produces a plurality of models based on user interaction data. The plurality of models are stored in the data store, which responds to requests from the cache when the cache experiences cache misses. The cache stores a first subset of the plurality of models. The filtering component selects a second subset of the plurality of models based on one or more criteria. Furthermore, the filtering component sends the second subset of the plurality of models to a messaging service. The listening component retrieves the second subset of the plurality of models from the messaging service. Furthermore, the listening component causes the second subset of the plurality of models to be stored in the cache.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system comprising:
 a training component that produces a plurality of models based on user interaction data; 
 a cache that stores a first subset of the plurality of models 
 a filtering component that:
 computes a difference value representing one or more value changes between one or more values in an old version of a model in the first subset and one or more values in a new version of the model, 
 determines whether the difference value exceeds a threshold value, 
 selects a second subset of the plurality of models that includes the new version of the model if the difference value exceeds the threshold value, and 
 sends the second subset of the plurality of models to a messaging service; 
 
 a listening component that retrieves, from the messaging service, the second subset of the plurality of models and causes the second subset of the plurality of models to be stored in the cache. 
 
     
     
       2. The system of  claim 1 , wherein selection of the second subset is based on one or more criteria that are used to determine which models of the plurality of models are most likely to be requested. 
     
     
       3. The system of  claim 1 , wherein the second subset of the plurality of models comprise models to be stored in the cache prior to the cache receiving any requests for the models. 
     
     
       4. The system of  claim 1 , wherein the old version and the new version are each represented as a set of coefficients that are used to predict a click-through rate for a content item. 
     
     
       5. The system of  claim 4 , wherein the filtering component, in computing the difference value for the model:
 determines a set of absolute differences between the set of coefficients for the old version and the set of coefficients for the new version; 
 adds the set of absolute differences to compute the difference value between the old version and the new version. 
 
     
     
       6. The system of  claim 1 , wherein a number of the second subset of the plurality of models is based on a size of the cache. 
     
     
       7. The system of  claim 1 , wherein when the cache is empty, the cache is populated with models selected by the filtering component prior to retrieving, into the cache, any models from a data store. 
     
     
       8. The system of  claim 1 , wherein selection of the second subset is based on one or more criteria that comprise a number of times that a particular model has been requested in a particular time period. 
     
     
       9. The system of  claim 1 , wherein selection of the second subset is based on one or more criteria that comprise whether a particular model corresponds to a new content item. 
     
     
       10. A method comprising:
 producing a plurality of models based on user interaction data; 
 causing a first subset of the plurality of models to be stored in a cache; 
 computing a difference value representing one or more value changes between one or more values in an old version of a model in the first subset and one or more values in a new version of the model; 
 determining whether the difference value exceeds a threshold value; 
 selecting a second subset of the plurality of models that includes the new version of the model if the difference value exceeds the threshold value; 
 sending the second subset of the plurality of models to a messaging service; 
 retrieving, from the messaging service, the second subset of the plurality of models; 
 causing the second subset of the plurality of models to be stored in the cache; 
 wherein the method is performed by one or more computing devices. 
 
     
     
       11. The method of  claim 10 , wherein selecting the second subset of the plurality of models further comprises using one or more criteria to determine which models of the plurality of models are most likely to be requested. 
     
     
       12. The method of  claim 10 , wherein the second subset of the plurality of models comprise models to be stored in the cache prior to the cache receiving any request for the models. 
     
     
       13. The method of  claim 10 , wherein the old version and the new version are each represented as a set of coefficients that are used to predict a click-through rate for a content item. 
     
     
       14. The method of  claim 13 , wherein computing the difference value for the model comprises:
 determining a set of absolute differences between the set of coefficients for the old version and the set of coefficients for the new version; 
 adding the set of absolute differences to compute the difference value between the old version and the new version. 
 
     
     
       15. The method of  claim 10 , wherein a number of the second subset of the plurality of models is based on a size of the cache. 
     
     
       16. The method of  claim 10 , wherein when the cache is empty, the cache is populated with models selected based on one or more criteria prior to retrieving, into the cache, any models from a data store. 
     
     
       17. The method of  claim 10 , wherein selecting the second subset of the plurality of models further comprises using one or more criteria comprising a number of times that a particular model has been requested in a particular time period. 
     
     
       18. The method of  claim 10 , wherein selecting the second subset of the plurality of models further comprises using one or more criteria comprising whether a particular model corresponds to a new content item.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.