Patent ID: 8074206
Filing Date: 2011-12-06
Classification: G06F

Abstract:
1. A method comprising: calculating a first threshold value for a first parameter and a second threshold value for a second parameter, the first parameter and the second parameter influencing the performance of a software application with regards to a specific task, the first threshold value separating a first value range of the first parameter into two intervals of a first dimension and the second threshold value separating a second value range of the second parameter into at least two intervals of a second dimension; comparing the first threshold value to a corresponding current value of the first parameter and the second threshold value to a corresponding current value of the second parameter; selecting, using one or more processors, an algorithm from a plurality of algorithms for performing the task in accordance with the result of the comparing step, the selected algorithm assigned to an intersection of the interval of the first dimension that includes the corresponding current parameter value of the first dimension and the interval of the second dimension that includes the corresponding current parameter value of the second dimension; determining a number of hits in response to a Boolean expression; comparing the number of hits with the first threshold value of the first dimension and comparing the complexity of the Boolean expression with a second threshold value of the second dimension; retrieving the data using a first data retriever in case the number of hits is below the first threshold value of the first dimension and the complexity of the Boolean expression is above the second threshold value of the second dimension; retrieving the data using a second data retriever in case the number of hits is above the first threshold value of the first dimension and the complexity of the Boolean expression is above the second threshold value of the second dimension; retrieving the data using a third data retriever in case the number of hits is below the first threshold value of the first dimension and the complexity of the Boolean expression is below the second threshold value of the second dimension; retrieving the data using a fourth data retriever in case the number of hits is above the first threshold value of the first dimension and the complexity of the Boolean expression is below the second threshold value of the second dimension; measuring the time that is consumed by a selected data retriever for various numbers of hits; and dynamically determining the first threshold value and the second threshold value on the basis of results of the measuring, the first data retriever, the second data retriever, the third data retriever, or the fourth data retriever being at least one of general data retrieval algorithm using result flag instances, a general data retrieval algorithm using bit maps, a lean AND data retrieval algorithm using result flag instances, and a lean AND data retrieval algorithm using bit maps.