Distributed pre-cached query results and refresh method
First Claim
1. A networked system for responding to a query of a user, comprising:
- an application executing on a computer for issuing the query;
software executing on computers of the networked system for unraveling a protocol envelope of the query by stripping from the query protocol-specific codes into a form suitable for pre-caching processing by using a tag-based language translator;
multiple servers on which multiple partitions are distributed and not on one server, each partition including a primary partition and a secondary partition, the second partition being a duplicate of the primary partition, each primary partition being located on one server and each secondary partition being located on another server, each partition containing a subset of a set of pre-cached query results;
a service executing on another computer for responding to the query by providing a corresponding query result, the corresponding query result being found in a set of pre-cached query results, the query being mapped to a query permutation using a hashing function which uses a query search space that describes the layout and the associations of query permutations and queries, each pre-cached query result being generated by executing a corresponding query prior to issuance of the query; and
a refresh component executing on a further computer for refreshing query permutations that are popular with users based on the number of times the users have requested them and then refreshing those whose have oldest dates of access by users.
3 Assignments
0 Petitions
Accused Products
Abstract
Query results are pre-cached for a substantial portion of or all queries that are likely to be issued by users. One query can be entirely different from another query, yet because corresponding query results are pre-cached, the database need not be accessed, improving response performance. Pre-cached queries are also distributed into multiple partitions to apportion work among multiple computing machines to further enhance performance and provide redundancy in case of the failure of any particular partition. Pre-cached query results are selectively refreshed so that users may enjoy up-to-date information by focusing on queries that are popular as well as queries that are old.
56 Citations
68 Claims
-
1. A networked system for responding to a query of a user, comprising:
-
an application executing on a computer for issuing the query; software executing on computers of the networked system for unraveling a protocol envelope of the query by stripping from the query protocol-specific codes into a form suitable for pre-caching processing by using a tag-based language translator; multiple servers on which multiple partitions are distributed and not on one server, each partition including a primary partition and a secondary partition, the second partition being a duplicate of the primary partition, each primary partition being located on one server and each secondary partition being located on another server, each partition containing a subset of a set of pre-cached query results; a service executing on another computer for responding to the query by providing a corresponding query result, the corresponding query result being found in a set of pre-cached query results, the query being mapped to a query permutation using a hashing function which uses a query search space that describes the layout and the associations of query permutations and queries, each pre-cached query result being generated by executing a corresponding query prior to issuance of the query; and a refresh component executing on a further computer for refreshing query permutations that are popular with users based on the number of times the users have requested them and then refreshing those whose have oldest dates of access by users. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system for responding to queries of users, comprising:
-
multiple servers for responding to the queries of the users, a protocol envelope of the queries being unraveled by computers of the multiple servers by stripping from the queries protocol-specific codes into a form suitable for pre-caching processing by using a tag-based language translator, the queries being mapped to query permutations using a hashing function which uses a query search space that describes the layout and the associations of the query permutations and the queries; multiple servers on which multiple partitions are distributed and not on one server, each partition including a primary partition and a secondary partition, the second partition being a duplicate of the primary partition, each primary partition being located on one server and each secondary partition being located on another server, each partition containing a portion of pre-cached query results, each pre-cached query result being generated by executing a corresponding query prior to the time the query is requested by a user; and a refresh component executing on a computer for refreshing the query permutations that are popular with users based on the number of times the users have requested them and then refreshing those whose have oldest dates of access by users. - View Dependent Claims (7, 8)
-
-
9. A computer system for responding to queries of users, comprising:
-
a hashing component executing on the computer system for mapping a query to a partition on a server, the query being mapped to a query permutation using the hashing component which uses a query search space that describes the layout and the associations of query permutations and queries; a lookup component executing on the computer system for mapping the query to a filename of a file in a partition and on the server, the file containing a query result for the query, the query result being pre-cached prior to the issuance of the query by a user; multiple servers on which multiple partitions are distributed and not on one server, each partition including a primary partition and a secondary partition, the second partition being a duplicate of the primary partition, each primary partition being located on one server and each secondary partition being located on another server, each partition containing a portion of pre-cached query results; a refresh component executing on the computer system for refreshing the query permutations that are popular with users based on the number of times the users have requested them and then refreshing those whose have oldest dates of access by users; and software executing on computers of the computer system for unraveling a protocol envelope of the query by stripping from a query protocol-specific codes into a form suitable for pre-caching processing by using a tag-based language translator. - View Dependent Claims (10, 11, 12)
-
-
13. A computer-implemented method for responding to queries, comprising:
-
unraveling a protocol envelope of queries by a computer by stripping from the queries protocol-specific codes into a form suitable for pre-caching processing by using a tag-based language translator; pre-caching query results by another computer by executing the queries prior to any search requests; distributing the pre-cached query results by a further computer into multiple partitions; responding to a query by obtaining a corresponding pre-cached query result using multiple servers on which multiple partitions are distributed and not on one server, each partition including a primary partition and a secondary partition, the second partition being a duplicate of the primary partition, each primary partition being located on one server and each secondary partition being located on another server, each partition containing a portion of pre-cached query results, the query being mapped to a query permutation using a bashing function which uses a query search space that describes the layout and the associations of query permutations and queries; and refreshing the query permutations by a refresh component running on an additional computer that are popular with users based on the number of times the users have requested them and then refreshing those whose have oldest dates of access by users. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A computer-readable medium having computer-readable instructions stored thereon that implement a method for responding to queries, the method comprising:
-
unraveling a protocol envelope of queries by executing software on computers for stripping from the queries protocol-specific codes into a form suitable for pre-caching processing by using a tag-based language translator; pre-caching query results by executing the queries prior to any search requests using software executing on a computer; distributing the pre-cached query results into multiple partitions using software executing on the computer; responding to a query by obtaining a corresponding pre-cached query result using multiple servers on which multiple partitions are distributed and not on one server, each partition including a primary partition and a secondary partition, the second partition being a duplicate of the primary partition, each primary partition being located on one server and each secondary partition being located on another server, each partition containing a portion of pre-cached query results, the query being mapped to a query permutation using a hashing function which uses a query search space that describes the layout and the associations of query permutations and queries; and selectively refreshing pre-cached query results using a refresh component executing on the computer by focusing on the queries that have high frequency of use and the queries that are old. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68)
-
Specification