Patent Document ID: 9582536
Application ID: 14183911
Patent Flag: 1

Claim One:
1. A method of refreshing a cache of pre-computed search results in a database, the method comprising: associating, by a re-computation controller, a re-computation indicator with each pre-computed search result i in the database; assigning, by the re-computation controller, a first value to the re-computation indicator of each pre-computed search result i in the database, the first value being based at least partially on a product of a probability P invalid (i) that the respective pre-computed search result i is invalid, an amount of time t i since the respective pre-computed search result i was last computed, and an amount of computation resources c i needed to re-compute the respective pre-computed search result i; re-computing, by a computation platform, a number of the pre-computed search results in order of the first value of each respective re-computation indicator, starting with the re-computation indicator having the first value that is highest; and updating the number of the pre-computed search results in the cache using the re-computed search results, wherein re-computing each pre-computed search result i includes performing one or more sub-tasks, and the amount of computation resources c i needed to re-compute each respective pre-computed search result i is determined by: initializing the amount of computation resources c, needed to re-compute each pre-computed search result i at a second value that assumes each sub-task performed to re-compute the pre-computed search result i will be performed independently from the re-computation of all other pre-computed search results selected for re-computation during the re-computation cycle, selecting a portion of the pre-computed search results for re-computation in accordance with the re-computation indicators based on the second values for the computation resources c i needed to re-compute the portion of the pre-computed search results so that re-computing the selected portion of the pre-computed search results would use a given percentage of the computation platform's overall computation resources available for re-computation within the re-computation cycle, and re-assessing the amount of computation resources c i needed to re-compute each pre-computed search result i based on an actual percentage of the computation platform's overall computation resources that would be used for the previous re-computation taking into account the sub-tasks that would be executed commonly for the other pre-computed search results of the portion of pre-computed search results, and wherein the number of the pre-computed search results that is re-computed is based on an amount of computation resources of the computation platform available for the re-computation within a re-computation cycle.