US 11,860,942 B1
Predictive loading and unloading of customer data in memory
Omer Baluch, Seattle, WA (US); Julio Delgado Mangas, Redmond, WA (US); Kiran-Kumar Muniswamy Reddy, Sammamish, WA (US); Ajay Gopalakrishnan, Bellevue, WA (US); Antoun Joubran Kanawati, Seattle, WA (US); Si Yin, Seattle, WA (US); Mukul Vijay Karnik, Redmond, WA (US); Vishal Parakh, Seattle, WA (US); Timothy Andrew Rath, Des Moines, WA (US); Bhupinder Singh Sidana, Kenmore, WA (US); and Jared Scott Lundell, Mercer Island, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on May 15, 2017, as Appl. No. 15/595,688.
Int. Cl. G06F 16/9032 (2019.01); G06N 20/00 (2019.01); G06F 16/33 (2019.01); G06F 16/48 (2019.01); G06F 16/35 (2019.01); G06F 16/955 (2019.01); G06N 5/01 (2023.01)
CPC G06F 16/90324 (2019.01) [G06F 16/33 (2019.01); G06F 16/355 (2019.01); G06F 16/48 (2019.01); G06F 16/955 (2019.01); G06N 5/01 (2023.01); G06N 20/00 (2019.01)] 13 Claims
OG exemplary drawing
 
1. A method comprising:
analyzing previous data usage activities of a plurality of customer processes running on respective host machines with respect to a plurality of replicas of a first data set stored on the respective host machines to generate a first prediction indicating that a customer process, running on a host machine, will request the first data set at a first time, the first prediction having an associated first probability that the customer process will request the first data set at the first time;
comparing the associated first probability that the customer process will request the first data set at the first time to a first threshold, wherein the first threshold is variable according to one or more load conditions on the host machine, a timing of the comparing, and a priority level of the first data set;
responsive to the associated first probability that the customer process will request the first data set at the first time being greater than the first threshold, retrieving the first data set from long-term storage;
loading the first data set into memory on the host machine in advance of the first time at which the customer process is predicted to request the first data set;
providing the customer process with access to the first data set in the memory during a period between the first time and a second time;
generating a second prediction indicating that the customer process will not access the first data set for a threshold period of time after the second time, the second prediction having an associated second probability that the customer process will not access the first data set for the threshold period of time after the second time;
comparing the associated second probability that the customer process will not access the first data set for the threshold period of time after the second time to a second threshold, wherein the second threshold is different than the first threshold; and
responsive to the associated second probability that the customer process will not access the first data set for the threshold period of time after the second time being greater than the second threshold, storing the first data set in the long-term storage at the second time.