Patent ID: 8244741

Claim:
A computer-implemented method for retrieving information from a database, said method comprising: performing a first main calculation (P 1 ) which operates a first selection item (S 1 ) on a data set (R 0 ) representing the database to produce an intermediate result (R 1 ); performing a second main calculation (P 2 ) which operates a second selection item (S 2 ) on the intermediate result (R 1 ) to produce a final result (R 2 ); caching the intermediate and final results (R 1 , R 2 ) by: calculating a first selection identifier value (ID 1 ) as a digital fingerprint generated by a hash function of the first selection item (S 1 ), calculating a second selection identifier value (ID 3 ) as a digital fingerprint generated by a hash function of the second selection item (S 2 ) and the intermediate result (R 1 ); and storing the first selection identifier value (ID 1 ) and the intermediate result (R 1 ) as associated objects in a cache data structure, and storing the second selection identifier value (ID 3 ) and the final result (R 2 ) as associated objects in the cache data structure; retrieving the cached final result (R 2 ) the first selection item (S 1 ) and the second selection item (S 2 ), by: (a) calculating the first selection identifier value (ID 1 ) as a digital fingerprint generated by a hash function of the first selection item (S 1 ); (b) searching the objects of the cache data structure for the first selection identifier value (ID 1 ) to locate and retrieve the associated intermediate result (R 1 ); and (c) calculating the second selection identifier value (ID 3 ) as a digital fingerprint generated by a hash function of the second selection item (S 2 ) and the retrieved intermediate result (R 1 ) and searching the objects of the cache data structure for the second selection. identifier value (ID 3 ) to locate and retrieve the associated final result (R 2 ).